11 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
17fe357837 Wire up all Phase 2 exports
VirtualList, Calendar, DatePicker, CommandPalette, Form, Wizard,
DataTable + createVirtualizer primitive. 445 tests passing, build clean.
2026-03-29 21:21:16 +07:00
Mats Bosson
5f425f445e Wire up Card, Avatar, NavigationMenu
Phase 1 complete — 32 component exports + 6 utility exports, 353 tests
passing, build clean.
2026-03-29 20:55:25 +07:00
Mats Bosson
01286d8b07 Trim unused exports
Fix systemic index.ts re-export bugs (accordion, alert-dialog, breadcrumbs, tabs)
where types were claimed from wrong source files, causing DTS build failures.
2026-03-29 20:49:28 +07:00
Mats Bosson
f197c58296 Add Zod v4 and ComponentMeta type 2026-03-29 20:32:18 +07:00
Mats Bosson
8f075f1792 feat: add 12 components — Tooltip, Popover, HoverCard, Alert, Badge,
Skeleton, Breadcrumbs, Link, Button, Image, Meter, NumberField
Floating components: Tooltip (hover/focus), Popover (click, with focus
trap and dismiss), HoverCard (hover with safe area).
Simple components: Alert (role=alert), Badge (role=status), Skeleton
(loading placeholder with data attributes).
Navigation: Breadcrumbs (nav>ol>li with separators), Link (accessible
anchor with disabled), Button (with disabled click suppression).
Data/Form: Image (Img+Fallback with loading status), Meter (like
Progress for known ranges), NumberField (spinbutton with inc/dec).
302 tests across 46 files, typecheck clean, build produces 176 files.
2026-03-29 19:34:13 +07:00
Mats Bosson
2a07d9ceaa Wire up Wave 2 exports
Adds listbox, select, combobox, dropdown-menu, context-menu, and toast
to package.json exports and tsdown build config.
2026-03-29 19:24:43 +07:00
Mats Bosson
295dd1388c Switch to sub-path exports
Consumers use sub-path imports (e.g. "pettyui/slider") for tree-shaking.
Adds Drawer component + 15 sub-path entries to package.json exports.
2026-03-29 09:15:53 +07:00
Mats Bosson
db906fd85a Fix linting config and package fields
- Replace .eslintrc.cjs with eslint.config.mjs (ESLint 9 flat config)
  using direct eslint-plugin-solid + @typescript-eslint/parser approach
- Add @typescript-eslint/parser to root devDependencies
- Add main/module/types top-level fields to packages/core/package.json
- Add resolve.conditions to packages/core/vite.config.ts
- Create packages/core/tsconfig.test.json for test type-checking
- Remove empty paths:{} from packages/core/tsconfig.json
2026-03-29 02:35:57 +07:00
Mats Bosson
405ce15933 Initial monorepo setup 2026-03-29 02:30:05 +07:00