v0.5.0 — full shadcn/ui page parity
Every component page on ui.shadcn.com now has a verified PhlexKit counterpart — the page-parity sweep in PARITY.md is 65/65, audited against the shadcn monorepo's current `nova` style with one commit per page.
Highlights
New part families
- Field — the full presentational vocabulary: FieldSet/FieldLegend/FieldGroup/Field (vertical/horizontal/responsive via container query)/FieldContent/FieldLabel/FieldTitle/FieldDescription/FieldSeparator/FieldError. Pure-CSS choice cards via `:has(input:checked)`. Field is layout; FormField remains the live-validation wrapper — they nest.
- Calendar rebuilt — `mode: :single/:range/:multiple`, booked/disabled dates, min/max, ISO week numbers, `caption_layout: :dropdown` (native month/year selects — no JS lib), `--pk-cell-size`/`--pk-cell-radius` sizing. DatePicker composes every mode with zero changes.
- Sidebar icon rail — `collapsible: :icon` (3rem strip, pure-CSS hover tooltips), SidebarRail grab strip, ⌘B, `pk_sidebar_state` cookie with server-side no-flash restore.
- Menu family completed across context-menu and menubar (Checkbox/Radio items, submenus, shortcuts, destructive); popover Header/Title/Description; button-group orientation + Text/Separator; item sizes/media/Header/Footer; avatar Badge + GroupCount; alert Action; command Shortcut/Separator + pill search; input-group block addons + InputGroupButton; pagination Link/Previous/Next; resizable grip handle; drawer/hover-card/tooltip sides.
Respecs to shadcn's current look
- Form-control grammar unified (input, textarea, select, native-select, OTP, input-group, combobox): translucent dark fills, `--pk-ring` focus, aria-invalid rings with light/dark splits.
- Checkbox, radio and switch fully custom-drawn (appearance:none, masked glyphs, extended touch targets) — replacing the native accent-color controls, still zero JS.
- Badge → solid pill; Button gains xs + icon tiers and the tinted destructive; tooltip inverted with arrow + sides; tabs line variant + vertical; toggle/toggle-group, empty, sheet, dialog (incl. a real footer-band bug fix), table, progress, slider, skeleton, kbd, marker, message, breadcrumb, bubble metrics.
- Overlays unified at nova's `black/10 + blur-xs` with a no-backdrop-filter fallback.
Conventions established (see `.claude/skills/shadcn-parity/SKILL.md`): their `asChild` → `href:`, `data-icon="inline-start/end"` adopted verbatim, dark-first theme forks, `light-dark()` example colors.
Docs: ~200 examples recreated with shadcn's own demo content for side-by-side comparison; interactive message-scroller streaming demos; the chart page now walks their build-a-chart tutorial on Chart.js options.
Suite: 215 runs green on Ruby 3.2–4.0. No new dependencies — still just @hotwired/stimulus.