12 Commits

Author SHA1 Message Date
Mats Bosson
bf576905a7 All components, schemas, tests, MCP, and showcase
Some checks are pending
CI / check (push) Waiting to run
- 51 headless Web Components (45 core + 6 animation)
- Shared helpers: emit(), part(), listen(), wireLabel(), initialValue()
- Zero `new CustomEvent` or `static #counter` — all use shared utils
- Zod schemas for all 44 core components
- MCP package with discover, inspect, compose, validate tools
- Showcase with Aperture Science theme, M3 Expressive motion
- 81 tests passing, TypeScript strict mode clean
- Signals (~500B), SPA router (~400B), zero dependencies
2026-03-31 20:21:41 +07:00
Mats Bosson
0116447bf2 Rewrite to vanilla Web Components
Complete rewrite from SolidJS to browser-native Custom Elements.
8 components: Dialog, Select, Tabs, Accordion, Form, Toast, DropdownMenu, Popover
Infrastructure: signals (~30 lines), router (Navigation API + View Transitions)
Theme: optional default CSS with custom properties
Zero framework deps. No Shadow DOM. Built on Popover API, <dialog>,
Invoker Commands, Navigation API, View Transitions.
2026-03-30 14:41:25 +07:00
Mats Bosson
81f6be6a00 Fix showcase Pagination 2026-03-30 04:09:18 +07:00
Mats Bosson
eea201cd12 Fix showcase dependencies
- Add resolve.dedupe for solid-js to prevent duplicate context instances
- Rewrite Pagination with correct page/totalPages/onPageChange API + children
- Add Calendar inside DatePicker.Content so dates actually render
2026-03-30 04:07:54 +07:00
Mats Bosson
d8ac5e4cb6 Fix showcase API mismatches
- Select/Combobox: options → items
- Listbox: add missing items prop
- Slider: onChange → onValueChange
- TextField: validationState="invalid" → invalid (boolean)
- ToggleGroup: add required type="single"
- Pagination: rewrite with page/totalPages/onPageChange + children
- CommandPalette: wrap in Show instead of non-existent open prop
- Toggle/ToggleGroup.Item: data-[pressed] → data-[state=on]
- Tabs.Tab: data-[selected] → data-[state=active]
- Wizard.StepTrigger: data-[active/completed] → data-[state=active/completed]
- Listbox.Item: data-[selected] → aria-selected
2026-03-30 04:03:37 +07:00
Mats Bosson
b76755de76 Fix showcase DataTable columns 2026-03-30 03:49:41 +07:00
Mats Bosson
ac1306edd9 Fix showcase Wizard nesting
StepContent requires WizardStepContext provided by Wizard.Step.
2026-03-30 03:48:47 +07:00
Mats Bosson
48d047e5d5 Fix showcase Form rendering
Form.Control uses render-prop children(ariaProps). Also moved navLinks
creation inside App() to avoid SolidJS createRoot warning.
2026-03-30 03:47:43 +07:00
Mats Bosson
8f4eb77bdc Fix showcase state attributes
These components use children?: JSX.Element, not render-prop callbacks.
State is exposed via data-state="checked|unchecked" attributes.
2026-03-30 03:45:41 +07:00
Mats Bosson
8761d317ae All 44 component demos
Layout & Display, Inputs Basic, Inputs Selection, Inputs Advanced,
Navigation, Overlays, Feedback & Status, and Data sections with
live interactive demos for every PettyUI component.
2026-03-30 03:36:22 +07:00
Mats Bosson
3d2257ae3c Showcase layout and navigation 2026-03-30 03:15:24 +07:00
Mats Bosson
144565afb5 Showcase app scaffold 2026-03-30 03:12:57 +07:00