defuss-shadcn 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -58
- package/dist/SKILL.md +145 -92
- package/dist/SKILL_root_tpl.md +119 -0
- package/dist/SKILL_tpl.md +23 -20
- package/dist/components/NOTICE.txt +38 -0
- package/dist/components/accordion/accordion.css +3 -3
- package/dist/components/accordion/accordion.js +29 -57
- package/dist/components/accordion/accordion.js.map +1 -1
- package/dist/components/accordion/accordion.min.js +1 -1
- package/dist/components/accordion/accordion.min.js.map +1 -1
- package/dist/components/accordion/accordion.schema.json +53 -0
- package/dist/components/accordion/component-skill.md +18 -18
- package/dist/components/alert/component-skill.md +3 -3
- package/dist/components/alert-dialog/alert-dialog.css +2 -2
- package/dist/components/alert-dialog/alert-dialog.js +18 -53
- package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
- package/dist/components/alert-dialog/alert-dialog.min.js +1 -1
- package/dist/components/alert-dialog/alert-dialog.min.js.map +1 -1
- package/dist/components/alert-dialog/alert-dialog.schema.json +47 -0
- package/dist/components/alert-dialog/component-skill.md +13 -13
- package/dist/components/all.css +2399 -177
- package/dist/components/all.js +6292 -607
- package/dist/components/all.js.map +50 -32
- package/dist/components/all.min.css +1 -1
- package/dist/components/all.min.css.map +1 -1
- package/dist/components/all.min.js +3 -2
- package/dist/components/all.min.js.map +1 -1
- package/dist/components/anim-canvas/anim-canvas.css +126 -0
- package/dist/components/anim-canvas/anim-canvas.js +607 -0
- package/dist/components/anim-canvas/anim-canvas.js.map +1 -0
- package/dist/components/anim-canvas/anim-canvas.min.css +1 -0
- package/dist/components/anim-canvas/anim-canvas.min.js +2 -0
- package/dist/components/anim-canvas/anim-canvas.min.js.map +1 -0
- package/dist/components/anim-canvas/anim-canvas.schema.json +101 -0
- package/dist/components/anim-canvas/component-skill.md +162 -0
- package/dist/components/avatar/avatar.css +65 -6
- package/dist/components/avatar/avatar.js +18 -53
- package/dist/components/avatar/avatar.js.map +1 -1
- package/dist/components/avatar/avatar.min.css +1 -1
- package/dist/components/avatar/avatar.min.js +1 -1
- package/dist/components/avatar/avatar.min.js.map +1 -1
- package/dist/components/avatar/avatar.schema.json +30 -0
- package/dist/components/avatar/component-skill.md +21 -8
- package/dist/components/badge/component-skill.md +5 -5
- package/dist/components/blog/component-skill.md +8 -8
- package/dist/components/brand-logos/brand-logos.css +72 -1
- package/dist/components/brand-logos/brand-logos.min.css +1 -1
- package/dist/components/brand-logos/component-skill.md +60 -12
- package/dist/components/breadcrumb/breadcrumb.css +7 -0
- package/dist/components/breadcrumb/breadcrumb.min.css +1 -1
- package/dist/components/breadcrumb/component-skill.md +14 -14
- package/dist/components/button/button.css +13 -1
- package/dist/components/button/button.min.css +1 -1
- package/dist/components/button/component-skill.md +14 -14
- package/dist/components/button-group/button-group.css +14 -13
- package/dist/components/button-group/button-group.min.css +1 -1
- package/dist/components/button-group/component-skill.md +10 -8
- package/dist/components/calendar/calendar.css +304 -2
- package/dist/components/calendar/calendar.js +688 -73
- package/dist/components/calendar/calendar.js.map +1 -1
- package/dist/components/calendar/calendar.min.css +1 -1
- package/dist/components/calendar/calendar.min.js +1 -1
- package/dist/components/calendar/calendar.min.js.map +1 -1
- package/dist/components/calendar/calendar.schema.json +73 -0
- package/dist/components/calendar/component-skill.md +116 -10
- package/dist/components/card/card.css +1 -1
- package/dist/components/card/component-skill.md +8 -8
- package/dist/components/carousel/carousel.js +76 -84
- package/dist/components/carousel/carousel.js.map +1 -1
- package/dist/components/carousel/carousel.min.js +1 -1
- package/dist/components/carousel/carousel.min.js.map +1 -1
- package/dist/components/carousel/carousel.schema.json +50 -0
- package/dist/components/carousel/component-skill.md +26 -20
- package/dist/components/chart/chart.css +88 -0
- package/dist/components/chart/chart.js +654 -0
- package/dist/components/chart/chart.js.map +1 -0
- package/dist/components/chart/chart.min.css +1 -0
- package/dist/components/chart/chart.min.js +2 -0
- package/dist/components/chart/chart.min.js.map +1 -0
- package/dist/components/chart/component-skill.md +162 -0
- package/dist/components/checkbox/checkbox.css +38 -7
- package/dist/components/checkbox/checkbox.min.css +1 -1
- package/dist/components/checkbox/checkbox.schema.json +102 -0
- package/dist/components/checkbox/component-skill.md +49 -12
- package/dist/components/collapsible/collapsible.css +3 -3
- package/dist/components/collapsible/collapsible.schema.json +26 -0
- package/dist/components/collapsible/component-skill.md +7 -7
- package/dist/components/color-picker/color-picker.css +31 -7
- package/dist/components/color-picker/color-picker.js +127 -56
- package/dist/components/color-picker/color-picker.js.map +1 -1
- package/dist/components/color-picker/color-picker.min.css +1 -1
- package/dist/components/color-picker/color-picker.min.js +1 -1
- package/dist/components/color-picker/color-picker.min.js.map +1 -1
- package/dist/components/color-picker/color-picker.schema.json +30 -0
- package/dist/components/color-picker/component-skill.md +34 -8
- package/dist/components/combobox/combobox.css +166 -7
- package/dist/components/combobox/combobox.js +414 -94
- package/dist/components/combobox/combobox.js.map +1 -1
- package/dist/components/combobox/combobox.min.css +1 -1
- package/dist/components/combobox/combobox.min.js +1 -1
- package/dist/components/combobox/combobox.min.js.map +1 -1
- package/dist/components/combobox/combobox.schema.json +30 -0
- package/dist/components/combobox/component-skill.md +64 -12
- package/dist/components/command/command.js +42 -72
- package/dist/components/command/command.js.map +1 -1
- package/dist/components/command/command.min.js +1 -1
- package/dist/components/command/command.min.js.map +1 -1
- package/dist/components/command/command.schema.json +47 -0
- package/dist/components/command/component-skill.md +15 -15
- package/dist/components/context-menu/component-skill.md +6 -6
- package/dist/components/context-menu/context-menu.css +1 -1
- package/dist/components/context-menu/context-menu.js +21 -56
- package/dist/components/context-menu/context-menu.js.map +1 -1
- package/dist/components/context-menu/context-menu.min.js +1 -1
- package/dist/components/context-menu/context-menu.min.js.map +1 -1
- package/dist/components/context-menu/context-menu.schema.json +31 -0
- package/{src/theme/utils/sizing.css → dist/components/core.css} +362 -1
- package/dist/components/core.js +2549 -0
- package/dist/components/core.js.map +22 -0
- package/dist/components/core.min.css +1 -0
- package/dist/components/core.min.css.map +1 -0
- package/dist/components/core.min.js +3 -0
- package/dist/components/core.min.js.map +1 -0
- package/dist/components/date-picker/component-skill.md +18 -7
- package/dist/components/date-picker/date-picker.css +62 -4
- package/dist/components/date-picker/date-picker.min.css +1 -1
- package/dist/components/date-picker/date-picker.schema.json +83 -0
- package/dist/components/dialog/component-skill.md +9 -9
- package/dist/components/dialog/dialog.css +3 -3
- package/dist/components/dialog/dialog.js +19 -54
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/dialog/dialog.min.js +1 -1
- package/dist/components/dialog/dialog.min.js.map +1 -1
- package/dist/components/dialog/dialog.schema.json +47 -0
- package/dist/components/dropdown/component-skill.md +27 -13
- package/dist/components/dropdown/dropdown.css +13 -1
- package/dist/components/dropdown/dropdown.js +18 -53
- package/dist/components/dropdown/dropdown.js.map +1 -1
- package/dist/components/dropdown/dropdown.min.css +1 -1
- package/dist/components/dropdown/dropdown.min.js +1 -1
- package/dist/components/dropdown/dropdown.min.js.map +1 -1
- package/dist/components/dropdown/dropdown.schema.json +30 -0
- package/dist/components/faq/component-skill.md +7 -7
- package/dist/components/faq/faq.css +1 -1
- package/dist/components/feature-details/component-skill.md +7 -7
- package/dist/components/file-input/component-skill.md +4 -5
- package/dist/components/file-input/file-input.css +20 -5
- package/dist/components/file-input/file-input.min.css +1 -1
- package/dist/components/file-input/file-input.schema.json +50 -0
- package/dist/components/form/component-skill.md +10 -10
- package/dist/components/get-in-touch/component-skill.md +5 -5
- package/dist/components/heading-anchor/component-skill.md +17 -17
- package/dist/components/hero/component-skill.md +7 -7
- package/dist/components/hero/hero.css +3 -3
- package/dist/components/icon/component-skill.md +10 -10
- package/dist/components/image/component-skill.md +39 -62
- package/dist/components/image/image.css +10 -0
- package/dist/components/image/image.js +123 -80
- package/dist/components/image/image.js.map +1 -1
- package/dist/components/image/image.min.css +1 -1
- package/dist/components/image/image.min.js +2 -2
- package/dist/components/image/image.min.js.map +1 -1
- package/dist/components/image/image.schema.json +30 -0
- package/dist/components/input/component-skill.md +75 -19
- package/dist/components/input/input.css +170 -7
- package/dist/components/input/input.min.css +1 -1
- package/dist/components/input/input.schema.json +164 -0
- package/dist/components/label/component-skill.md +18 -18
- package/dist/components/label/label.css +12 -2
- package/dist/components/label/label.min.css +1 -1
- package/dist/components/motion/component-skill.md +114 -0
- package/dist/components/motion/motion.css +184 -0
- package/dist/components/motion/motion.min.css +1 -0
- package/dist/components/navigation-menu/component-skill.md +13 -13
- package/dist/components/navigation-menu/navigation-menu.css +1 -1
- package/dist/components/navigation-menu/navigation-menu.js +19 -54
- package/dist/components/navigation-menu/navigation-menu.js.map +1 -1
- package/dist/components/navigation-menu/navigation-menu.min.js +1 -1
- package/dist/components/navigation-menu/navigation-menu.min.js.map +1 -1
- package/dist/components/navigation-menu/navigation-menu.schema.json +30 -0
- package/dist/components/newsletter/component-skill.md +9 -9
- package/dist/components/newsletter/newsletter.css +1 -1
- package/dist/components/number-input/component-skill.md +46 -7
- package/dist/components/number-input/number-input.css +51 -4
- package/dist/components/number-input/number-input.js +224 -50
- package/dist/components/number-input/number-input.js.map +1 -1
- package/dist/components/number-input/number-input.min.css +1 -1
- package/dist/components/number-input/number-input.min.js +1 -1
- package/dist/components/number-input/number-input.min.js.map +1 -1
- package/dist/components/number-input/number-input.schema.json +30 -0
- package/dist/components/pagination/component-skill.md +25 -14
- package/dist/components/pagination/pagination.js +246 -0
- package/dist/components/pagination/pagination.js.map +1 -0
- package/dist/components/pagination/pagination.min.js +2 -0
- package/dist/components/pagination/pagination.min.js.map +1 -0
- package/dist/components/pagination/pagination.schema.json +130 -0
- package/dist/components/popover/component-skill.md +15 -15
- package/dist/components/popover/popover.js +18 -53
- package/dist/components/popover/popover.js.map +1 -1
- package/dist/components/popover/popover.min.js +1 -1
- package/dist/components/popover/popover.min.js.map +1 -1
- package/dist/components/popover/popover.schema.json +30 -0
- package/dist/components/presentation/component-skill.md +237 -0
- package/dist/components/presentation/presentation.css +355 -0
- package/dist/components/presentation/presentation.js +541 -0
- package/dist/components/presentation/presentation.js.map +1 -0
- package/dist/components/presentation/presentation.min.css +1 -0
- package/dist/components/presentation/presentation.min.js +2 -0
- package/dist/components/presentation/presentation.min.js.map +1 -0
- package/dist/components/presentation/presentation.schema.json +94 -0
- package/dist/components/pricing/component-skill.md +9 -9
- package/dist/components/pricing/pricing.css +4 -4
- package/dist/components/product-showcase/component-skill.md +13 -13
- package/dist/components/product-showcase/product-showcase.css +1 -1
- package/dist/components/product-showcase/product-showcase.js +18 -53
- package/dist/components/product-showcase/product-showcase.js.map +1 -1
- package/dist/components/product-showcase/product-showcase.min.js +1 -1
- package/dist/components/product-showcase/product-showcase.min.js.map +1 -1
- package/dist/components/product-showcase/product-showcase.schema.json +30 -0
- package/dist/components/progress/component-skill.md +6 -6
- package/dist/components/progress/progress.css +1 -1
- package/dist/components/progress/progress.schema.json +55 -0
- package/dist/components/radio/component-skill.md +13 -12
- package/dist/components/radio/radio.css +36 -6
- package/dist/components/radio/radio.min.css +1 -1
- package/dist/components/radio/radio.schema.json +45 -0
- package/dist/components/resizer/component-skill.md +98 -0
- package/dist/components/resizer/resizer.css +153 -0
- package/dist/components/resizer/resizer.js +397 -0
- package/dist/components/resizer/resizer.js.map +1 -0
- package/dist/components/resizer/resizer.min.css +1 -0
- package/dist/components/resizer/resizer.min.js +2 -0
- package/dist/components/resizer/resizer.min.js.map +1 -0
- package/dist/components/resizer/resizer.schema.json +56 -0
- package/dist/components/scroll-area/component-skill.md +9 -9
- package/dist/components/scroll-area/scroll-area.schema.json +26 -0
- package/dist/components/select/component-skill.md +44 -9
- package/dist/components/select/select.css +50 -5
- package/dist/components/select/select.min.css +1 -1
- package/dist/components/select/select.schema.json +64 -0
- package/dist/components/separator/component-skill.md +8 -8
- package/dist/components/separator/separator.css +2 -2
- package/dist/components/sheet/component-skill.md +9 -9
- package/dist/components/sheet/sheet.css +2 -2
- package/dist/components/sheet/sheet.js +18 -53
- package/dist/components/sheet/sheet.js.map +1 -1
- package/dist/components/sheet/sheet.min.js +1 -1
- package/dist/components/sheet/sheet.min.js.map +1 -1
- package/dist/components/sheet/sheet.schema.json +47 -0
- package/dist/components/sidebar/component-skill.md +29 -22
- package/dist/components/sidebar/sidebar.css +5 -5
- package/dist/components/sidebar/sidebar.js +33 -64
- package/dist/components/sidebar/sidebar.js.map +1 -1
- package/dist/components/sidebar/sidebar.min.js +1 -1
- package/dist/components/sidebar/sidebar.min.js.map +1 -1
- package/dist/components/sidebar/sidebar.schema.json +30 -0
- package/dist/components/site-footer/component-skill.md +7 -7
- package/dist/components/site-header/component-skill.md +12 -12
- package/dist/components/site-header/site-header.css +1 -1
- package/dist/components/skeleton/component-skill.md +2 -2
- package/dist/components/skeleton/skeleton.css +1 -1
- package/dist/components/slider/component-skill.md +17 -17
- package/dist/components/slider/slider.css +5 -5
- package/dist/components/slider/slider.js +17 -52
- package/dist/components/slider/slider.js.map +1 -1
- package/dist/components/slider/slider.min.js +1 -1
- package/dist/components/slider/slider.min.js.map +1 -1
- package/dist/components/slider/slider.schema.json +52 -0
- package/dist/components/sortable/component-skill.md +57 -20
- package/dist/components/sortable/sortable.css +76 -1
- package/dist/components/sortable/sortable.js +301 -167
- package/dist/components/sortable/sortable.js.map +1 -1
- package/dist/components/sortable/sortable.min.css +1 -1
- package/dist/components/sortable/sortable.min.js +1 -1
- package/dist/components/sortable/sortable.min.js.map +1 -1
- package/dist/components/sortable/sortable.schema.json +29 -0
- package/dist/components/spinner/component-skill.md +3 -3
- package/dist/components/spinner/spinner.css +1 -1
- package/dist/components/statistic/component-skill.md +3 -3
- package/dist/components/stats/component-skill.md +5 -5
- package/dist/components/steps/component-skill.md +11 -11
- package/dist/components/steps/steps.css +1 -1
- package/dist/components/steps/steps.js +161 -0
- package/dist/components/steps/steps.js.map +1 -0
- package/dist/components/steps/steps.min.js +2 -0
- package/dist/components/steps/steps.min.js.map +1 -0
- package/dist/components/steps/steps.schema.json +90 -0
- package/dist/components/switch/component-skill.md +10 -9
- package/dist/components/switch/switch.css +55 -6
- package/dist/components/switch/switch.min.css +1 -1
- package/dist/components/switch/switch.schema.json +71 -0
- package/dist/components/table/component-skill.md +8 -8
- package/dist/components/table/table.css +2 -2
- package/dist/components/tabs/component-skill.md +11 -11
- package/dist/components/tabs/tabs.js +17 -52
- package/dist/components/tabs/tabs.js.map +1 -1
- package/dist/components/tabs/tabs.min.js +1 -1
- package/dist/components/tabs/tabs.min.js.map +1 -1
- package/dist/components/tabs/tabs.schema.json +30 -0
- package/dist/components/testimonials/component-skill.md +11 -11
- package/dist/components/testimonials/testimonials.css +6 -2
- package/dist/components/testimonials/testimonials.min.css +1 -1
- package/dist/components/textarea/component-skill.md +9 -8
- package/dist/components/textarea/textarea.css +19 -4
- package/dist/components/textarea/textarea.min.css +1 -1
- package/dist/components/textarea/textarea.schema.json +83 -0
- package/dist/components/theme-switcher/component-skill.md +18 -12
- package/dist/components/theme-switcher/theme-switcher.css +1 -1
- package/dist/components/theme-switcher/theme-switcher.js +63 -81
- package/dist/components/theme-switcher/theme-switcher.js.map +1 -1
- package/dist/components/theme-switcher/theme-switcher.min.js +1 -1
- package/dist/components/theme-switcher/theme-switcher.min.js.map +1 -1
- package/dist/components/theme-switcher/theme-switcher.schema.json +30 -0
- package/dist/components/timeline/component-skill.md +4 -4
- package/dist/components/toast/component-skill.md +18 -14
- package/dist/components/toast/toast.css +6 -6
- package/dist/components/toast/toast.js +52 -77
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/toast/toast.min.css +1 -1
- package/dist/components/toast/toast.min.js +1 -1
- package/dist/components/toast/toast.min.js.map +1 -1
- package/dist/components/toast/toast.schema.json +6 -0
- package/dist/components/toc/component-skill.md +12 -11
- package/dist/components/toc/toc.css +1 -1
- package/dist/components/toggle/component-skill.md +11 -11
- package/dist/components/toggle/toggle.js +18 -53
- package/dist/components/toggle/toggle.js.map +1 -1
- package/dist/components/toggle/toggle.min.js +1 -1
- package/dist/components/toggle/toggle.min.js.map +1 -1
- package/dist/components/toggle/toggle.schema.json +26 -0
- package/dist/components/toggle-group/component-skill.md +8 -8
- package/dist/components/toggle-group/toggle-group.css +2 -2
- package/dist/components/toggle-group/toggle-group.js +17 -52
- package/dist/components/toggle-group/toggle-group.js.map +1 -1
- package/dist/components/toggle-group/toggle-group.min.js +1 -1
- package/dist/components/toggle-group/toggle-group.min.js.map +1 -1
- package/dist/components/toggle-group/toggle-group.schema.json +26 -0
- package/dist/components/toolbar/component-skill.md +9 -9
- package/dist/components/toolbar/toolbar.js +19 -54
- package/dist/components/toolbar/toolbar.js.map +1 -1
- package/dist/components/toolbar/toolbar.min.js +1 -1
- package/dist/components/toolbar/toolbar.min.js.map +1 -1
- package/dist/components/toolbar/toolbar.schema.json +6 -0
- package/dist/components/tooltip/component-skill.md +9 -9
- package/dist/components/tooltip/tooltip.css +3 -3
- package/dist/components/tooltip/tooltip.js +20 -55
- package/dist/components/tooltip/tooltip.js.map +1 -1
- package/dist/components/tooltip/tooltip.min.js +1 -1
- package/dist/components/tooltip/tooltip.min.js.map +1 -1
- package/dist/components/tooltip/tooltip.schema.json +30 -0
- package/dist/components/tree-view/component-skill.md +38 -7
- package/dist/components/tree-view/tree-view.css +111 -4
- package/dist/components/tree-view/tree-view.js +76 -53
- package/dist/components/tree-view/tree-view.js.map +1 -1
- package/dist/components/tree-view/tree-view.min.css +1 -1
- package/dist/components/tree-view/tree-view.min.js +1 -1
- package/dist/components/tree-view/tree-view.min.js.map +1 -1
- package/dist/components/tree-view/tree-view.schema.json +30 -0
- package/dist/components/type-badge/component-skill.md +9 -9
- package/dist/components/typography/component-skill.md +19 -19
- package/dist/schemas/accordion.schema.json +53 -0
- package/dist/schemas/alert-dialog.schema.json +47 -0
- package/dist/schemas/anim-canvas.schema.json +101 -0
- package/dist/schemas/avatar.schema.json +30 -0
- package/dist/schemas/calendar.schema.json +73 -0
- package/dist/schemas/carousel.schema.json +50 -0
- package/dist/schemas/checkbox.schema.json +102 -0
- package/dist/schemas/collapsible.schema.json +26 -0
- package/dist/schemas/color-picker.schema.json +30 -0
- package/dist/schemas/combobox.schema.json +30 -0
- package/dist/schemas/command.schema.json +47 -0
- package/dist/schemas/context-menu.schema.json +31 -0
- package/dist/schemas/date-picker.schema.json +83 -0
- package/dist/schemas/dialog.schema.json +47 -0
- package/dist/schemas/dropdown.schema.json +30 -0
- package/dist/schemas/file-input.schema.json +50 -0
- package/dist/schemas/image.schema.json +30 -0
- package/dist/schemas/input.schema.json +164 -0
- package/dist/schemas/manifest.json +49 -0
- package/dist/schemas/navigation-menu.schema.json +30 -0
- package/dist/schemas/number-input.schema.json +30 -0
- package/dist/schemas/pagination.schema.json +130 -0
- package/dist/schemas/popover.schema.json +30 -0
- package/dist/schemas/presentation.schema.json +94 -0
- package/dist/schemas/product-showcase.schema.json +30 -0
- package/dist/schemas/progress.schema.json +55 -0
- package/dist/schemas/radio.schema.json +45 -0
- package/dist/schemas/resizer.schema.json +56 -0
- package/dist/schemas/scroll-area.schema.json +26 -0
- package/dist/schemas/select.schema.json +64 -0
- package/dist/schemas/sheet.schema.json +47 -0
- package/dist/schemas/sidebar.schema.json +30 -0
- package/dist/schemas/slider.schema.json +52 -0
- package/dist/schemas/sortable.schema.json +29 -0
- package/dist/schemas/steps.schema.json +90 -0
- package/dist/schemas/switch.schema.json +71 -0
- package/dist/schemas/tabs.schema.json +30 -0
- package/dist/schemas/textarea.schema.json +83 -0
- package/dist/schemas/theme-switcher.schema.json +30 -0
- package/dist/schemas/toast.schema.json +6 -0
- package/dist/schemas/toggle-group.schema.json +26 -0
- package/dist/schemas/toggle.schema.json +26 -0
- package/dist/schemas/toolbar.schema.json +6 -0
- package/dist/schemas/tooltip.schema.json +30 -0
- package/dist/schemas/tree-view.schema.json +30 -0
- package/dist/stats.json +428 -355
- package/dist/theme/amber-minimal.css +1 -1
- package/dist/theme/amethyst-haze.css +1 -1
- package/dist/theme/bold-tech.css +1 -1
- package/dist/theme/bubblegum.css +1 -1
- package/dist/theme/caffeine.css +1 -1
- package/dist/theme/candyland.css +1 -1
- package/dist/theme/catppuccin.css +1 -1
- package/dist/theme/claude.css +1 -1
- package/dist/theme/claymorphism.css +1 -1
- package/dist/theme/clean-slate.css +1 -1
- package/dist/theme/cosmic-night.css +1 -1
- package/dist/theme/cyberpunk.css +1 -1
- package/dist/theme/darkmatter.css +1 -1
- package/dist/theme/doom-64.css +1 -1
- package/dist/theme/elegant-luxury.css +1 -1
- package/dist/theme/graphite.css +1 -1
- package/dist/theme/kodama-grove.css +7 -1
- package/dist/theme/kodama-grove.json +41 -0
- package/dist/theme/midnight-bloom.css +1 -1
- package/dist/theme/mocha-mousse.css +1 -1
- package/dist/theme/modern-minimal.css +1 -1
- package/dist/theme/mono.css +1 -1
- package/dist/theme/nature.css +1 -1
- package/dist/theme/neo-brutalism.css +1 -1
- package/dist/theme/northern-lights.css +1 -1
- package/dist/theme/notebook.css +1 -1
- package/dist/theme/ocean-breeze.css +1 -1
- package/dist/theme/openai.css +1 -1
- package/dist/theme/pastel-dreams.css +1 -1
- package/dist/theme/perpetuity.css +1 -1
- package/dist/theme/quantum-rose.css +1 -1
- package/dist/theme/retro-arcade.css +1 -1
- package/dist/theme/sage-garden.css +1 -1
- package/dist/theme/soft-pop.css +1 -1
- package/dist/theme/solar-dusk.css +1 -1
- package/dist/theme/starry-night.css +1 -1
- package/dist/theme/sunset-horizon.css +1 -1
- package/dist/theme/supabase.css +1 -1
- package/dist/theme/t3-chat.css +1 -1
- package/dist/theme/tangerine.css +1 -1
- package/dist/theme/twitter.css +1 -1
- package/dist/theme/utils/accessibility.css +2 -2
- package/dist/theme/utils/default-semantic-tokens.css +3 -3
- package/dist/theme/utils/layout.css +3 -3
- package/dist/theme/utils/shapes.css +900 -0
- package/dist/theme/utils/sizing.css +1 -1
- package/dist/theme/vercel.css +1 -1
- package/dist/theme/vintage-paper.css +1 -1
- package/dist/theme/violet-bloom.css +1 -1
- package/package.json +19 -1
- package/skills/defuss-shadcn/SKILL.md +698 -0
- package/src/documentation/pages/accessibility.mdx +12 -12
- package/src/documentation/pages/accordion.mdx +108 -106
- package/src/documentation/pages/alert-dialog.mdx +75 -75
- package/src/documentation/pages/alert.mdx +53 -75
- package/src/documentation/pages/anim-blur.mdx +107 -0
- package/src/documentation/pages/anim-canvas.mdx +262 -0
- package/src/documentation/pages/anim-down.mdx +145 -0
- package/src/documentation/pages/anim-fade.mdx +125 -0
- package/src/documentation/pages/anim-flip.mdx +117 -0
- package/src/documentation/pages/anim-iris.mdx +126 -0
- package/src/documentation/pages/anim-left.mdx +145 -0
- package/src/documentation/pages/anim-pop.mdx +111 -0
- package/src/documentation/pages/anim-right.mdx +145 -0
- package/src/documentation/pages/anim-skew.mdx +132 -0
- package/src/documentation/pages/anim-spin.mdx +113 -0
- package/src/documentation/pages/anim-up.mdx +145 -0
- package/src/documentation/pages/anim-wipe-up.mdx +130 -0
- package/src/documentation/pages/anim-wipe.mdx +118 -0
- package/src/documentation/pages/anim-zoom-out.mdx +132 -0
- package/src/documentation/pages/anim-zoom.mdx +123 -0
- package/src/documentation/pages/animations.mdx +9 -9
- package/src/documentation/pages/annotated-timeseries.mdx +214 -0
- package/src/documentation/pages/architecture.mdx +1 -1
- package/src/documentation/pages/avatar.mdx +134 -102
- package/src/documentation/pages/badge.mdx +56 -94
- package/src/documentation/pages/bar-race.mdx +250 -0
- package/src/documentation/pages/blog.mdx +45 -87
- package/src/documentation/pages/boxplot.mdx +203 -0
- package/src/documentation/pages/brand-logos.mdx +48 -35
- package/src/documentation/pages/breadcrumb.mdx +46 -106
- package/src/documentation/pages/bump-ranking.mdx +220 -0
- package/src/documentation/pages/button-group.mdx +92 -92
- package/src/documentation/pages/button.mdx +99 -119
- package/src/documentation/pages/calendar-heatmap.mdx +236 -0
- package/src/documentation/pages/calendar.mdx +216 -90
- package/src/documentation/pages/card.mdx +100 -114
- package/src/documentation/pages/carousel.mdx +173 -171
- package/src/documentation/pages/cascade-layers.mdx +17 -17
- package/src/documentation/pages/chart.mdx +70 -0
- package/src/documentation/pages/charts-change.mdx +126 -0
- package/src/documentation/pages/charts-comparison.mdx +183 -0
- package/src/documentation/pages/charts-composition.mdx +177 -0
- package/src/documentation/pages/charts-distribution.mdx +229 -0
- package/src/documentation/pages/charts-election.mdx +186 -0
- package/src/documentation/pages/charts-narrative.mdx +253 -0
- package/src/documentation/pages/checkbox.mdx +156 -88
- package/src/documentation/pages/chord.mdx +212 -0
- package/src/documentation/pages/collapsible.mdx +89 -102
- package/src/documentation/pages/color-picker.mdx +121 -52
- package/src/documentation/pages/combobox.mdx +181 -117
- package/src/documentation/pages/command.mdx +55 -51
- package/src/documentation/pages/component-skills.mdx +15 -15
- package/src/documentation/pages/confidence-band.mdx +208 -0
- package/src/documentation/pages/container.mdx +71 -66
- package/src/documentation/pages/context-menu.mdx +37 -32
- package/src/documentation/pages/custom-wind-vectors.mdx +233 -0
- package/src/documentation/pages/dark-mode.mdx +10 -10
- package/src/documentation/pages/data-attribute-api.mdx +29 -29
- package/src/documentation/pages/date-picker.mdx +62 -55
- package/src/documentation/pages/density.mdx +160 -144
- package/src/documentation/pages/dialog.mdx +113 -97
- package/src/documentation/pages/diverging-bars.mdx +225 -0
- package/src/documentation/pages/dom-querying.mdx +56 -0
- package/src/documentation/pages/dropdown.mdx +108 -110
- package/src/documentation/pages/dumbbell-before-after.mdx +221 -0
- package/src/documentation/pages/editorial-gauge.mdx +232 -0
- package/src/documentation/pages/editorial-highlight-bars.mdx +212 -0
- package/src/documentation/pages/election-hex-cartogram.mdx +223 -0
- package/src/documentation/pages/election-majority-bar.mdx +229 -0
- package/src/documentation/pages/election-shift-arrows.mdx +226 -0
- package/src/documentation/pages/es-modules.mdx +54 -70
- package/src/documentation/pages/faq.mdx +38 -94
- package/src/documentation/pages/feature-details.mdx +43 -50
- package/src/documentation/pages/file-input.mdx +55 -55
- package/src/documentation/pages/flex.mdx +155 -154
- package/src/documentation/pages/form.mdx +188 -286
- package/src/documentation/pages/get-in-touch.mdx +11 -24
- package/src/documentation/pages/global-keys.mdx +92 -0
- package/src/documentation/pages/grid.mdx +130 -134
- package/src/documentation/pages/heading-anchor.mdx +25 -34
- package/src/documentation/pages/heatmap-matrix.mdx +220 -0
- package/src/documentation/pages/hero.mdx +14 -19
- package/src/documentation/pages/how-to-use.mdx +11 -11
- package/src/documentation/pages/icon.mdx +73 -124
- package/src/documentation/pages/image-gallery.mdx +122 -0
- package/src/documentation/pages/image.mdx +115 -116
- package/src/documentation/pages/index.mdx +21 -12
- package/src/documentation/pages/input.mdx +266 -150
- package/src/documentation/pages/installation.mdx +78 -20
- package/src/documentation/pages/jittered-distribution.mdx +215 -0
- package/src/documentation/pages/label.mdx +50 -77
- package/src/documentation/pages/layout.mdx +51 -44
- package/src/documentation/pages/lollipop-ranking.mdx +222 -0
- package/src/documentation/pages/motion.mdx +171 -0
- package/src/documentation/pages/native-web-apis.mdx +3 -3
- package/src/documentation/pages/navigation-menu.mdx +117 -117
- package/src/documentation/pages/newsletter.mdx +20 -23
- package/src/documentation/pages/normalized-stack.mdx +221 -0
- package/src/documentation/pages/number-input.mdx +159 -39
- package/src/documentation/pages/pagination.mdx +121 -173
- package/src/documentation/pages/parliament-hemicycle.mdx +236 -0
- package/src/documentation/pages/popover.mdx +114 -108
- package/src/documentation/pages/presentation.mdx +546 -0
- package/src/documentation/pages/presentations.mdx +61 -0
- package/src/documentation/pages/pricing.mdx +84 -201
- package/src/documentation/pages/product-showcase.mdx +23 -17
- package/src/documentation/pages/progress.mdx +80 -88
- package/src/documentation/pages/radio.mdx +161 -138
- package/src/documentation/pages/resizer.mdx +179 -0
- package/src/documentation/pages/sankey.mdx +251 -0
- package/src/documentation/pages/scatter-quadrants.mdx +218 -0
- package/src/documentation/pages/scroll-area.mdx +38 -41
- package/src/documentation/pages/select.mdx +122 -56
- package/src/documentation/pages/separator.mdx +59 -103
- package/src/documentation/pages/shapes.mdx +504 -0
- package/src/documentation/pages/sheet.mdx +193 -200
- package/src/documentation/pages/sidebar.mdx +154 -123
- package/src/documentation/pages/site-footer.mdx +53 -103
- package/src/documentation/pages/site-header.mdx +44 -78
- package/src/documentation/pages/sizing.mdx +81 -55
- package/src/documentation/pages/skeleton.mdx +23 -42
- package/src/documentation/pages/slider.mdx +83 -92
- package/src/documentation/pages/slopegraph.mdx +222 -0
- package/src/documentation/pages/small-multiples.mdx +239 -0
- package/src/documentation/pages/sortable.mdx +269 -183
- package/src/documentation/pages/spacing.mdx +163 -159
- package/src/documentation/pages/spinner.mdx +23 -39
- package/src/documentation/pages/state-api.mdx +15 -44
- package/src/documentation/pages/statistic.mdx +35 -76
- package/src/documentation/pages/stats.mdx +34 -39
- package/src/documentation/pages/steps.mdx +221 -265
- package/src/documentation/pages/story-state-machine.mdx +206 -0
- package/src/documentation/pages/sunburst.mdx +242 -0
- package/src/documentation/pages/switch.mdx +62 -62
- package/src/documentation/pages/system-in-numbers.mdx +613 -0
- package/src/documentation/pages/table.mdx +92 -124
- package/src/documentation/pages/tabs.mdx +137 -139
- package/src/documentation/pages/testimonials.mdx +39 -133
- package/src/documentation/pages/textarea.mdx +28 -30
- package/src/documentation/pages/theme-river.mdx +235 -0
- package/src/documentation/pages/theme-switcher.mdx +58 -19
- package/src/documentation/pages/theming.mdx +5 -5
- package/src/documentation/pages/timeline.mdx +79 -104
- package/src/documentation/pages/toast.mdx +44 -50
- package/src/documentation/pages/toc.mdx +102 -48
- package/src/documentation/pages/toggle-group.mdx +177 -192
- package/src/documentation/pages/toggle.mdx +66 -72
- package/src/documentation/pages/toolbar.mdx +92 -92
- package/src/documentation/pages/tooltip.mdx +104 -105
- package/src/documentation/pages/tree-view.mdx +509 -98
- package/src/documentation/pages/treemap.mdx +245 -0
- package/src/documentation/pages/type-badge.mdx +19 -33
- package/src/documentation/pages/typography.mdx +67 -114
- package/src/documentation/pages/universal-transition.mdx +212 -0
- package/src/documentation/pages/violin-custom.mdx +232 -0
- package/src/documentation/pages/waffle-dot-matrix.mdx +223 -0
- package/src/documentation/pages/waterfall.mdx +242 -0
- package/src/documentation/pages/width-height.mdx +303 -313
- package/AGENTS.md +0 -1188
- package/ARCH.md +0 -149
- package/Makefile +0 -69
- package/bun.lock +0 -1042
- package/dist/documentation/accessibility.html +0 -78
- package/dist/documentation/accordion.html +0 -368
- package/dist/documentation/alert-dialog.html +0 -301
- package/dist/documentation/alert.html +0 -161
- package/dist/documentation/animations.html +0 -133
- package/dist/documentation/architecture.html +0 -75
- package/dist/documentation/avatar.html +0 -245
- package/dist/documentation/badge.html +0 -68
- package/dist/documentation/blog.html +0 -184
- package/dist/documentation/brand-logos.html +0 -100
- package/dist/documentation/breadcrumb.html +0 -112
- package/dist/documentation/button-group.html +0 -144
- package/dist/documentation/button.html +0 -223
- package/dist/documentation/calendar.html +0 -516
- package/dist/documentation/card.html +0 -225
- package/dist/documentation/carousel.html +0 -450
- package/dist/documentation/cascade-layers.html +0 -82
- package/dist/documentation/changelog.html +0 -18
- package/dist/documentation/checkbox.html +0 -173
- package/dist/documentation/collapsible.html +0 -206
- package/dist/documentation/color-picker.html +0 -189
- package/dist/documentation/combobox.html +0 -635
- package/dist/documentation/command.html +0 -365
- package/dist/documentation/component-skills.html +0 -90
- package/dist/documentation/config.js +0 -24
- package/dist/documentation/config.js.map +0 -1
- package/dist/documentation/container.html +0 -80
- package/dist/documentation/context-menu.html +0 -285
- package/dist/documentation/css/docs-theme.css +0 -41
- package/dist/documentation/css/docs-utilities.css +0 -133
- package/dist/documentation/css/layout.css +0 -970
- package/dist/documentation/dark-mode.html +0 -79
- package/dist/documentation/data-attribute-api.html +0 -77
- package/dist/documentation/date-picker.html +0 -108
- package/dist/documentation/density.html +0 -85
- package/dist/documentation/dialog.html +0 -257
- package/dist/documentation/dropdown.html +0 -526
- package/dist/documentation/es-modules.html +0 -51
- package/dist/documentation/faq.html +0 -137
- package/dist/documentation/feature-details.html +0 -189
- package/dist/documentation/file-input.html +0 -118
- package/dist/documentation/flex.html +0 -87
- package/dist/documentation/fonts/fraunces-300.woff2 +0 -0
- package/dist/documentation/fonts/fraunces-300i.woff2 +0 -0
- package/dist/documentation/fonts/fraunces-400.woff2 +0 -0
- package/dist/documentation/fonts/fraunces-400i.woff2 +0 -0
- package/dist/documentation/fonts/fraunces-500.woff2 +0 -0
- package/dist/documentation/fonts/geist-300.woff2 +0 -0
- package/dist/documentation/fonts/geist-400.woff2 +0 -0
- package/dist/documentation/fonts/geist-500.woff2 +0 -0
- package/dist/documentation/fonts/geist-600.woff2 +0 -0
- package/dist/documentation/fonts/geist-mono-400.woff2 +0 -0
- package/dist/documentation/fonts/geist-mono-500.woff2 +0 -0
- package/dist/documentation/form.html +0 -390
- package/dist/documentation/get-in-touch.html +0 -99
- package/dist/documentation/grid.html +0 -74
- package/dist/documentation/heading-anchor.html +0 -60
- package/dist/documentation/hero.html +0 -88
- package/dist/documentation/how-to-use.html +0 -83
- package/dist/documentation/icon.html +0 -108
- package/dist/documentation/image.html +0 -410
- package/dist/documentation/images/favicon.webp +0 -0
- package/dist/documentation/images/mk-portrait.png +0 -0
- package/dist/documentation/images/mk-portrait2.png +0 -0
- package/dist/documentation/images/mk-square.png +0 -0
- package/dist/documentation/images/mk-wide.png +0 -0
- package/dist/documentation/images/mk-wide2.png +0 -0
- package/dist/documentation/images/mk-wide3.png +0 -0
- package/dist/documentation/index.html +0 -18
- package/dist/documentation/input.html +0 -244
- package/dist/documentation/installation.html +0 -64
- package/dist/documentation/js/layout.js +0 -645
- package/dist/documentation/js/search-index.js +0 -8
- package/dist/documentation/js/shiki-highlight.js +0 -69
- package/dist/documentation/js/site.js +0 -314
- package/dist/documentation/js/theme-switcher.js +0 -137
- package/dist/documentation/js/themes.js +0 -1747
- package/dist/documentation/label.html +0 -92
- package/dist/documentation/layout.html +0 -45
- package/dist/documentation/lib/nav.js +0 -165
- package/dist/documentation/lib/nav.js.map +0 -1
- package/dist/documentation/lib/plugins.js +0 -170
- package/dist/documentation/lib/plugins.js.map +0 -1
- package/dist/documentation/lib/repo.js +0 -79
- package/dist/documentation/lib/repo.js.map +0 -1
- package/dist/documentation/native-web-apis.html +0 -32
- package/dist/documentation/navigation-menu.html +0 -344
- package/dist/documentation/newsletter.html +0 -98
- package/dist/documentation/number-input.html +0 -270
- package/dist/documentation/pagination.html +0 -296
- package/dist/documentation/popover.html +0 -229
- package/dist/documentation/pricing.html +0 -267
- package/dist/documentation/product-showcase.html +0 -194
- package/dist/documentation/progress.html +0 -122
- package/dist/documentation/radio.html +0 -355
- package/dist/documentation/scroll-area.html +0 -57
- package/dist/documentation/select.html +0 -127
- package/dist/documentation/separator.html +0 -108
- package/dist/documentation/sheet.html +0 -504
- package/dist/documentation/sidebar.html +0 -672
- package/dist/documentation/site-footer.html +0 -174
- package/dist/documentation/site-header.html +0 -131
- package/dist/documentation/sizing.html +0 -68
- package/dist/documentation/skeleton.html +0 -68
- package/dist/documentation/slider.html +0 -375
- package/dist/documentation/sortable.html +0 -508
- package/dist/documentation/spacing.html +0 -84
- package/dist/documentation/spinner.html +0 -87
- package/dist/documentation/state-api.html +0 -75
- package/dist/documentation/statistic.html +0 -95
- package/dist/documentation/stats.html +0 -138
- package/dist/documentation/steps.html +0 -449
- package/dist/documentation/switch.html +0 -238
- package/dist/documentation/table.html +0 -259
- package/dist/documentation/tabs.html +0 -517
- package/dist/documentation/testimonials.html +0 -182
- package/dist/documentation/textarea.html +0 -105
- package/dist/documentation/theme-switcher.html +0 -428
- package/dist/documentation/theming.html +0 -26
- package/dist/documentation/timeline.html +0 -188
- package/dist/documentation/toast.html +0 -514
- package/dist/documentation/toc.html +0 -109
- package/dist/documentation/toggle-group.html +0 -330
- package/dist/documentation/toggle.html +0 -246
- package/dist/documentation/toolbar.html +0 -223
- package/dist/documentation/tooltip.html +0 -320
- package/dist/documentation/tree-view.html +0 -413
- package/dist/documentation/type-badge.html +0 -59
- package/dist/documentation/typography.html +0 -194
- package/dist/documentation/videos/demo.mp4 +0 -0
- package/dist/documentation/videos/demo.webm +0 -0
- package/dist/documentation/width-height.html +0 -78
- package/docs/404.html +0 -18
- package/docs/accessibility.html +0 -78
- package/docs/accordion.html +0 -368
- package/docs/alert-dialog.html +0 -301
- package/docs/alert.html +0 -161
- package/docs/animations.html +0 -133
- package/docs/architecture.html +0 -75
- package/docs/avatar.html +0 -245
- package/docs/badge.html +0 -68
- package/docs/blog.html +0 -184
- package/docs/brand-logos.html +0 -100
- package/docs/breadcrumb.html +0 -112
- package/docs/button-group.html +0 -144
- package/docs/button.html +0 -223
- package/docs/calendar.html +0 -516
- package/docs/card.html +0 -225
- package/docs/carousel.html +0 -450
- package/docs/cascade-layers.html +0 -82
- package/docs/changelog.html +0 -18
- package/docs/checkbox.html +0 -173
- package/docs/collapsible.html +0 -206
- package/docs/color-picker.html +0 -189
- package/docs/combobox.html +0 -635
- package/docs/command.html +0 -365
- package/docs/component-skills.html +0 -90
- package/docs/config.js +0 -24
- package/docs/config.js.map +0 -1
- package/docs/container.html +0 -80
- package/docs/context-menu.html +0 -285
- package/docs/css/docs-theme.css +0 -41
- package/docs/css/docs-utilities.css +0 -133
- package/docs/css/layout.css +0 -970
- package/docs/dark-mode.html +0 -79
- package/docs/data-attribute-api.html +0 -77
- package/docs/date-picker.html +0 -108
- package/docs/density.html +0 -85
- package/docs/dialog.html +0 -257
- package/docs/dropdown.html +0 -526
- package/docs/es-modules.html +0 -51
- package/docs/faq.html +0 -137
- package/docs/feature-details.html +0 -189
- package/docs/file-input.html +0 -118
- package/docs/flex.html +0 -87
- package/docs/fonts/fraunces-300.woff2 +0 -0
- package/docs/fonts/fraunces-300i.woff2 +0 -0
- package/docs/fonts/fraunces-400.woff2 +0 -0
- package/docs/fonts/fraunces-400i.woff2 +0 -0
- package/docs/fonts/fraunces-500.woff2 +0 -0
- package/docs/fonts/geist-300.woff2 +0 -0
- package/docs/fonts/geist-400.woff2 +0 -0
- package/docs/fonts/geist-500.woff2 +0 -0
- package/docs/fonts/geist-600.woff2 +0 -0
- package/docs/fonts/geist-mono-400.woff2 +0 -0
- package/docs/fonts/geist-mono-500.woff2 +0 -0
- package/docs/form.html +0 -390
- package/docs/get-in-touch.html +0 -99
- package/docs/grid.html +0 -74
- package/docs/heading-anchor.html +0 -60
- package/docs/hero.html +0 -88
- package/docs/how-to-use.html +0 -83
- package/docs/icon.html +0 -108
- package/docs/image.html +0 -410
- package/docs/images/favicon.webp +0 -0
- package/docs/images/mk-portrait.png +0 -0
- package/docs/images/mk-portrait2.png +0 -0
- package/docs/images/mk-square.png +0 -0
- package/docs/images/mk-wide.png +0 -0
- package/docs/images/mk-wide2.png +0 -0
- package/docs/images/mk-wide3.png +0 -0
- package/docs/index.html +0 -18
- package/docs/input.html +0 -244
- package/docs/installation.html +0 -64
- package/docs/js/layout.js +0 -645
- package/docs/js/search-index.js +0 -8
- package/docs/js/shiki-highlight.js +0 -69
- package/docs/js/site.js +0 -314
- package/docs/js/theme-switcher.js +0 -137
- package/docs/js/themes.js +0 -1747
- package/docs/label.html +0 -92
- package/docs/layout.html +0 -45
- package/docs/lib/nav.js +0 -165
- package/docs/lib/nav.js.map +0 -1
- package/docs/lib/plugins.js +0 -170
- package/docs/lib/plugins.js.map +0 -1
- package/docs/lib/repo.js +0 -79
- package/docs/lib/repo.js.map +0 -1
- package/docs/native-web-apis.html +0 -32
- package/docs/navigation-menu.html +0 -344
- package/docs/newsletter.html +0 -98
- package/docs/number-input.html +0 -270
- package/docs/pagination.html +0 -296
- package/docs/popover.html +0 -229
- package/docs/pricing.html +0 -267
- package/docs/product-showcase.html +0 -194
- package/docs/progress.html +0 -122
- package/docs/radio.html +0 -355
- package/docs/robots.txt +0 -4
- package/docs/scroll-area.html +0 -57
- package/docs/select.html +0 -127
- package/docs/separator.html +0 -108
- package/docs/sheet.html +0 -504
- package/docs/sidebar.html +0 -672
- package/docs/site-footer.html +0 -174
- package/docs/site-header.html +0 -131
- package/docs/sitemap.xml +0 -75
- package/docs/sizing.html +0 -68
- package/docs/skeleton.html +0 -68
- package/docs/slider.html +0 -375
- package/docs/sortable.html +0 -508
- package/docs/spacing.html +0 -84
- package/docs/spinner.html +0 -87
- package/docs/state-api.html +0 -75
- package/docs/statistic.html +0 -95
- package/docs/stats.html +0 -138
- package/docs/steps.html +0 -449
- package/docs/switch.html +0 -238
- package/docs/table.html +0 -259
- package/docs/tabs.html +0 -517
- package/docs/testimonials.html +0 -182
- package/docs/textarea.html +0 -105
- package/docs/theme-switcher.html +0 -428
- package/docs/theming.html +0 -26
- package/docs/timeline.html +0 -188
- package/docs/toast.html +0 -514
- package/docs/toc.html +0 -109
- package/docs/toggle-group.html +0 -330
- package/docs/toggle.html +0 -246
- package/docs/toolbar.html +0 -223
- package/docs/tooltip.html +0 -320
- package/docs/tree-view.html +0 -413
- package/docs/type-badge.html +0 -59
- package/docs/typography.html +0 -194
- package/docs/videos/demo.mp4 +0 -0
- package/docs/videos/demo.webm +0 -0
- package/docs/width-height.html +0 -78
- package/plans/core-bundle.md +0 -149
- package/plans/defuss-morph-integration.md +0 -219
- package/scripts/build-docs.ts +0 -39
- package/scripts/build.ts +0 -104
- package/scripts/bundle.ts +0 -89
- package/scripts/changelog-entry.ts +0 -76
- package/scripts/create-screenshots.ts +0 -226
- package/scripts/deploy.sh +0 -161
- package/scripts/lib/audit.ts +0 -154
- package/scripts/lib/changelog.ts +0 -170
- package/scripts/lib/contrast.ts +0 -227
- package/scripts/lib/docs-ssg.ts +0 -43
- package/scripts/lib/fields.ts +0 -119
- package/scripts/lib/inputs.ts +0 -85
- package/scripts/lib/links.ts +0 -122
- package/scripts/lib/minify.ts +0 -53
- package/scripts/lib/mirror.ts +0 -76
- package/scripts/lib/readme.ts +0 -33
- package/scripts/lib/skill-files.ts +0 -45
- package/scripts/lib/skill.ts +0 -89
- package/scripts/lib/stats-files.ts +0 -93
- package/scripts/lib/stats.ts +0 -174
- package/scripts/lib/taxonomy.ts +0 -61
- package/scripts/lib/theme-css.ts +0 -47
- package/scripts/minify.ts +0 -83
- package/scripts/purge-cdn.ts +0 -116
- package/scripts/push.sh +0 -34
- package/scripts/stats.ts +0 -30
- package/scripts/sync-docs.ts +0 -37
- package/scripts/tsconfig.json +0 -15
- package/scripts/verify.ts +0 -1291
- package/src/SKILL.md +0 -791
- package/src/SKILL_tpl.md +0 -73
- package/src/components/accordion/accordion.css +0 -105
- package/src/components/accordion/accordion.ts +0 -107
- package/src/components/accordion/component-skill.md +0 -185
- package/src/components/alert/alert.css +0 -83
- package/src/components/alert/component-skill.md +0 -76
- package/src/components/alert-dialog/alert-dialog.css +0 -152
- package/src/components/alert-dialog/alert-dialog.ts +0 -96
- package/src/components/alert-dialog/component-skill.md +0 -77
- package/src/components/avatar/avatar.css +0 -115
- package/src/components/avatar/avatar.ts +0 -84
- package/src/components/avatar/component-skill.md +0 -84
- package/src/components/badge/badge.css +0 -38
- package/src/components/badge/component-skill.md +0 -63
- package/src/components/blog/blog.css +0 -122
- package/src/components/blog/component-skill.md +0 -86
- package/src/components/brand-logos/brand-logos.css +0 -74
- package/src/components/brand-logos/component-skill.md +0 -59
- package/src/components/breadcrumb/breadcrumb.css +0 -62
- package/src/components/breadcrumb/component-skill.md +0 -133
- package/src/components/button/button.css +0 -150
- package/src/components/button/component-skill.md +0 -96
- package/src/components/button-group/button-group.css +0 -97
- package/src/components/button-group/component-skill.md +0 -66
- package/src/components/calendar/calendar.css +0 -208
- package/src/components/calendar/calendar.ts +0 -219
- package/src/components/calendar/component-skill.md +0 -95
- package/src/components/card/card.css +0 -85
- package/src/components/card/component-skill.md +0 -140
- package/src/components/carousel/carousel.css +0 -153
- package/src/components/carousel/carousel.ts +0 -236
- package/src/components/carousel/component-skill.md +0 -176
- package/src/components/checkbox/checkbox.css +0 -130
- package/src/components/checkbox/component-skill.md +0 -110
- package/src/components/collapsible/collapsible.css +0 -134
- package/src/components/collapsible/component-skill.md +0 -52
- package/src/components/color-picker/color-picker.css +0 -59
- package/src/components/color-picker/color-picker.ts +0 -72
- package/src/components/color-picker/component-skill.md +0 -66
- package/src/components/combobox/combobox.css +0 -258
- package/src/components/combobox/combobox.ts +0 -174
- package/src/components/combobox/component-skill.md +0 -195
- package/src/components/command/command.css +0 -103
- package/src/components/command/command.ts +0 -168
- package/src/components/command/component-skill.md +0 -123
- package/src/components/context-menu/component-skill.md +0 -54
- package/src/components/context-menu/context-menu.css +0 -91
- package/src/components/context-menu/context-menu.ts +0 -138
- package/src/components/date-picker/component-skill.md +0 -63
- package/src/components/date-picker/date-picker.css +0 -71
- package/src/components/dialog/component-skill.md +0 -132
- package/src/components/dialog/dialog.css +0 -94
- package/src/components/dialog/dialog.ts +0 -88
- package/src/components/dropdown/component-skill.md +0 -187
- package/src/components/dropdown/dropdown.css +0 -186
- package/src/components/dropdown/dropdown.ts +0 -132
- package/src/components/faq/component-skill.md +0 -68
- package/src/components/faq/faq.css +0 -88
- package/src/components/feature-details/component-skill.md +0 -84
- package/src/components/feature-details/feature-details.css +0 -130
- package/src/components/file-input/component-skill.md +0 -60
- package/src/components/file-input/file-input.css +0 -81
- package/src/components/form/component-skill.md +0 -143
- package/src/components/form/form.css +0 -135
- package/src/components/get-in-touch/component-skill.md +0 -64
- package/src/components/get-in-touch/get-in-touch.css +0 -74
- package/src/components/heading-anchor/component-skill.md +0 -73
- package/src/components/heading-anchor/heading-anchor.css +0 -36
- package/src/components/hero/component-skill.md +0 -56
- package/src/components/hero/hero.css +0 -63
- package/src/components/icon/component-skill.md +0 -168
- package/src/components/icon/icon.css +0 -53
- package/src/components/image/component-skill.md +0 -194
- package/src/components/image/image.css +0 -182
- package/src/components/image/image.ts +0 -181
- package/src/components/input/component-skill.md +0 -149
- package/src/components/input/input.css +0 -161
- package/src/components/label/component-skill.md +0 -113
- package/src/components/label/label.css +0 -56
- package/src/components/navigation-menu/component-skill.md +0 -124
- package/src/components/navigation-menu/navigation-menu.css +0 -89
- package/src/components/navigation-menu/navigation-menu.ts +0 -80
- package/src/components/newsletter/component-skill.md +0 -63
- package/src/components/newsletter/newsletter.css +0 -65
- package/src/components/number-input/component-skill.md +0 -64
- package/src/components/number-input/number-input.css +0 -128
- package/src/components/number-input/number-input.ts +0 -81
- package/src/components/pagination/component-skill.md +0 -142
- package/src/components/pagination/pagination.css +0 -85
- package/src/components/popover/component-skill.md +0 -110
- package/src/components/popover/popover.css +0 -95
- package/src/components/popover/popover.ts +0 -78
- package/src/components/pricing/component-skill.md +0 -108
- package/src/components/pricing/pricing.css +0 -171
- package/src/components/product-showcase/component-skill.md +0 -90
- package/src/components/product-showcase/product-showcase.css +0 -79
- package/src/components/product-showcase/product-showcase.ts +0 -89
- package/src/components/progress/component-skill.md +0 -49
- package/src/components/progress/progress.css +0 -83
- package/src/components/radio/component-skill.md +0 -160
- package/src/components/radio/radio.css +0 -230
- package/src/components/scroll-area/component-skill.md +0 -64
- package/src/components/scroll-area/scroll-area.css +0 -33
- package/src/components/select/component-skill.md +0 -90
- package/src/components/select/select.css +0 -82
- package/src/components/separator/component-skill.md +0 -102
- package/src/components/separator/separator.css +0 -65
- package/src/components/sheet/component-skill.md +0 -142
- package/src/components/sheet/sheet.css +0 -250
- package/src/components/sheet/sheet.ts +0 -85
- package/src/components/sidebar/component-skill.md +0 -208
- package/src/components/sidebar/sidebar.css +0 -393
- package/src/components/sidebar/sidebar.ts +0 -153
- package/src/components/site-footer/component-skill.md +0 -81
- package/src/components/site-footer/site-footer.css +0 -104
- package/src/components/site-header/component-skill.md +0 -97
- package/src/components/site-header/site-header.css +0 -73
- package/src/components/skeleton/component-skill.md +0 -43
- package/src/components/skeleton/skeleton.css +0 -43
- package/src/components/slider/component-skill.md +0 -145
- package/src/components/slider/slider.css +0 -253
- package/src/components/slider/slider.ts +0 -79
- package/src/components/sortable/component-skill.md +0 -157
- package/src/components/sortable/sortable.css +0 -147
- package/src/components/sortable/sortable.ts +0 -269
- package/src/components/spinner/component-skill.md +0 -45
- package/src/components/spinner/spinner.css +0 -58
- package/src/components/statistic/component-skill.md +0 -54
- package/src/components/statistic/statistic.css +0 -53
- package/src/components/stats/component-skill.md +0 -69
- package/src/components/stats/stats.css +0 -88
- package/src/components/steps/component-skill.md +0 -207
- package/src/components/steps/steps.css +0 -147
- package/src/components/switch/component-skill.md +0 -90
- package/src/components/switch/switch.css +0 -199
- package/src/components/table/component-skill.md +0 -70
- package/src/components/table/table.css +0 -154
- package/src/components/tabs/component-skill.md +0 -191
- package/src/components/tabs/tabs.css +0 -140
- package/src/components/tabs/tabs.ts +0 -129
- package/src/components/testimonials/component-skill.md +0 -80
- package/src/components/testimonials/testimonials.css +0 -129
- package/src/components/textarea/component-skill.md +0 -50
- package/src/components/textarea/textarea.css +0 -85
- package/src/components/theme-switcher/component-skill.md +0 -121
- package/src/components/theme-switcher/theme-switcher.css +0 -152
- package/src/components/theme-switcher/theme-switcher.ts +0 -231
- package/src/components/timeline/component-skill.md +0 -64
- package/src/components/timeline/timeline.css +0 -97
- package/src/components/toast/component-skill.md +0 -173
- package/src/components/toast/toast.css +0 -248
- package/src/components/toast/toast.ts +0 -177
- package/src/components/toc/component-skill.md +0 -76
- package/src/components/toc/toc.css +0 -57
- package/src/components/toggle/component-skill.md +0 -112
- package/src/components/toggle/toggle.css +0 -119
- package/src/components/toggle/toggle.ts +0 -73
- package/src/components/toggle-group/component-skill.md +0 -176
- package/src/components/toggle-group/toggle-group.css +0 -149
- package/src/components/toggle-group/toggle-group.ts +0 -131
- package/src/components/toolbar/component-skill.md +0 -105
- package/src/components/toolbar/toolbar.css +0 -70
- package/src/components/toolbar/toolbar.ts +0 -109
- package/src/components/tooltip/component-skill.md +0 -117
- package/src/components/tooltip/tooltip.css +0 -123
- package/src/components/tooltip/tooltip.ts +0 -135
- package/src/components/tree-view/component-skill.md +0 -82
- package/src/components/tree-view/tree-view.css +0 -177
- package/src/components/tree-view/tree-view.ts +0 -118
- package/src/components/type-badge/component-skill.md +0 -62
- package/src/components/type-badge/type-badge.css +0 -40
- package/src/components/typography/component-skill.md +0 -120
- package/src/components/typography/typography.css +0 -152
- package/src/documentation/config.ts +0 -25
- package/src/documentation/data/changelog.json +0 -394
- package/src/documentation/lib/arch-md.ts +0 -137
- package/src/documentation/lib/components/arch-body.tsx +0 -14
- package/src/documentation/lib/components/changelog-entries.tsx +0 -54
- package/src/documentation/lib/components/copy-button.tsx +0 -41
- package/src/documentation/lib/components/demo.tsx +0 -57
- package/src/documentation/lib/components/doc-blocks.tsx +0 -130
- package/src/documentation/lib/components/doc-page.tsx +0 -124
- package/src/documentation/lib/components/example.tsx +0 -50
- package/src/documentation/lib/components/index.ts +0 -19
- package/src/documentation/lib/components/markers.tsx +0 -80
- package/src/documentation/lib/components/page-header.tsx +0 -64
- package/src/documentation/lib/components/prev-next.tsx +0 -40
- package/src/documentation/lib/components/site-footer.tsx +0 -15
- package/src/documentation/lib/components/site-header.tsx +0 -127
- package/src/documentation/lib/components/site-nav.tsx +0 -106
- package/src/documentation/lib/components/skill-panel.tsx +0 -24
- package/src/documentation/lib/components/source-files.tsx +0 -87
- package/src/documentation/lib/components/states-section.tsx +0 -18
- package/src/documentation/lib/components/stats-claim.tsx +0 -88
- package/src/documentation/lib/components/theme-switcher-demo.tsx +0 -59
- package/src/documentation/lib/components/type-badge.tsx +0 -33
- package/src/documentation/lib/html-source.ts +0 -79
- package/src/documentation/lib/html.ts +0 -18
- package/src/documentation/lib/nav.ts +0 -180
- package/src/documentation/lib/plugins.ts +0 -189
- package/src/documentation/lib/repo.ts +0 -98
- package/src/documentation/public/css/docs-theme.css +0 -41
- package/src/documentation/public/css/docs-utilities.css +0 -133
- package/src/documentation/public/css/layout.css +0 -970
- package/src/documentation/public/fonts/fraunces-300.woff2 +0 -0
- package/src/documentation/public/fonts/fraunces-300i.woff2 +0 -0
- package/src/documentation/public/fonts/fraunces-400.woff2 +0 -0
- package/src/documentation/public/fonts/fraunces-400i.woff2 +0 -0
- package/src/documentation/public/fonts/fraunces-500.woff2 +0 -0
- package/src/documentation/public/fonts/geist-300.woff2 +0 -0
- package/src/documentation/public/fonts/geist-400.woff2 +0 -0
- package/src/documentation/public/fonts/geist-500.woff2 +0 -0
- package/src/documentation/public/fonts/geist-600.woff2 +0 -0
- package/src/documentation/public/fonts/geist-mono-400.woff2 +0 -0
- package/src/documentation/public/fonts/geist-mono-500.woff2 +0 -0
- package/src/documentation/public/images/favicon.webp +0 -0
- package/src/documentation/public/images/mk-portrait.png +0 -0
- package/src/documentation/public/images/mk-portrait2.png +0 -0
- package/src/documentation/public/images/mk-square.png +0 -0
- package/src/documentation/public/images/mk-wide.png +0 -0
- package/src/documentation/public/images/mk-wide2.png +0 -0
- package/src/documentation/public/images/mk-wide3.png +0 -0
- package/src/documentation/public/videos/demo.mp4 +0 -0
- package/src/documentation/public/videos/demo.webm +0 -0
- package/src/documentation/runtime/layout.ts +0 -633
- package/src/documentation/runtime/shiki-highlight.ts +0 -83
- package/src/documentation/runtime/site.ts +0 -323
- package/src/documentation/runtime/theme-switcher.ts +0 -144
- package/src/documentation/runtime/themes.ts +0 -1748
- package/src/documentation/tsconfig.json +0 -30
- package/src/robots.txt +0 -4
- package/src/shared/state-api.ts +0 -43
- package/src/sitemap.xml +0 -75
- package/src/theme/amber-minimal.css +0 -73
- package/src/theme/amethyst-haze.css +0 -73
- package/src/theme/bold-tech.css +0 -73
- package/src/theme/bubblegum.css +0 -73
- package/src/theme/caffeine.css +0 -73
- package/src/theme/candyland.css +0 -73
- package/src/theme/catppuccin.css +0 -73
- package/src/theme/claude.css +0 -73
- package/src/theme/claymorphism.css +0 -73
- package/src/theme/clean-slate.css +0 -73
- package/src/theme/cosmic-night.css +0 -73
- package/src/theme/cyberpunk.css +0 -73
- package/src/theme/darkmatter.css +0 -73
- package/src/theme/doom-64.css +0 -73
- package/src/theme/elegant-luxury.css +0 -73
- package/src/theme/graphite.css +0 -73
- package/src/theme/kodama-grove.css +0 -73
- package/src/theme/midnight-bloom.css +0 -73
- package/src/theme/mocha-mousse.css +0 -73
- package/src/theme/modern-minimal.css +0 -73
- package/src/theme/mono.css +0 -73
- package/src/theme/nature.css +0 -73
- package/src/theme/neo-brutalism.css +0 -73
- package/src/theme/northern-lights.css +0 -73
- package/src/theme/notebook.css +0 -73
- package/src/theme/ocean-breeze.css +0 -73
- package/src/theme/openai.css +0 -73
- package/src/theme/pastel-dreams.css +0 -73
- package/src/theme/perpetuity.css +0 -73
- package/src/theme/quantum-rose.css +0 -73
- package/src/theme/retro-arcade.css +0 -73
- package/src/theme/sage-garden.css +0 -73
- package/src/theme/soft-pop.css +0 -73
- package/src/theme/solar-dusk.css +0 -73
- package/src/theme/starry-night.css +0 -73
- package/src/theme/sunset-horizon.css +0 -73
- package/src/theme/supabase.css +0 -73
- package/src/theme/t3-chat.css +0 -73
- package/src/theme/tangerine.css +0 -73
- package/src/theme/twitter.css +0 -73
- package/src/theme/utils/accessibility.css +0 -36
- package/src/theme/utils/default-semantic-tokens.css +0 -139
- package/src/theme/utils/layout.css +0 -179
- package/src/theme/vercel.css +0 -73
- package/src/theme/vintage-paper.css +0 -73
- package/src/theme/violet-bloom.css +0 -73
- package/src/types/defuss-shadcn.d.ts +0 -86
- package/src/types/raw-import.d.ts +0 -20
- package/tests/changelog.test.ts +0 -165
- package/tests/contrast.test.ts +0 -217
- package/tests/e2e/accordion.e2e-fixture.html +0 -155
- package/tests/e2e/accordion.e2e.ts +0 -245
- package/tests/e2e/alert-dialog.e2e-fixture.html +0 -38
- package/tests/e2e/alert-dialog.e2e.ts +0 -177
- package/tests/e2e/alert.e2e-fixture.html +0 -38
- package/tests/e2e/alert.e2e.ts +0 -52
- package/tests/e2e/avatar.e2e-fixture.html +0 -50
- package/tests/e2e/avatar.e2e.ts +0 -150
- package/tests/e2e/badge.e2e-fixture.html +0 -22
- package/tests/e2e/badge.e2e.ts +0 -41
- package/tests/e2e/blog.e2e-fixture.html +0 -67
- package/tests/e2e/blog.e2e.ts +0 -45
- package/tests/e2e/brand-logos.e2e-fixture.html +0 -31
- package/tests/e2e/brand-logos.e2e.ts +0 -82
- package/tests/e2e/breadcrumb.e2e-fixture.html +0 -36
- package/tests/e2e/breadcrumb.e2e.ts +0 -64
- package/tests/e2e/bundle.e2e-fixture.html +0 -51
- package/tests/e2e/bundle.e2e.ts +0 -89
- package/tests/e2e/button-group.e2e-fixture.html +0 -36
- package/tests/e2e/button-group.e2e.ts +0 -80
- package/tests/e2e/button.e2e-fixture.html +0 -32
- package/tests/e2e/button.e2e.ts +0 -111
- package/tests/e2e/calendar.e2e-fixture.html +0 -36
- package/tests/e2e/calendar.e2e.ts +0 -207
- package/tests/e2e/card.e2e-fixture.html +0 -31
- package/tests/e2e/card.e2e.ts +0 -53
- package/tests/e2e/carousel.e2e-fixture.html +0 -34
- package/tests/e2e/carousel.e2e.ts +0 -160
- package/tests/e2e/checkbox.e2e-fixture.html +0 -41
- package/tests/e2e/checkbox.e2e.ts +0 -75
- package/tests/e2e/collapsible.e2e-fixture.html +0 -41
- package/tests/e2e/collapsible.e2e.ts +0 -51
- package/tests/e2e/color-picker.e2e-fixture.html +0 -29
- package/tests/e2e/color-picker.e2e.ts +0 -135
- package/tests/e2e/combobox.e2e-fixture.html +0 -63
- package/tests/e2e/combobox.e2e.ts +0 -321
- package/tests/e2e/command.e2e-fixture.html +0 -45
- package/tests/e2e/command.e2e.ts +0 -181
- package/tests/e2e/context-menu.e2e-fixture.html +0 -25
- package/tests/e2e/context-menu.e2e.ts +0 -174
- package/tests/e2e/date-picker.e2e-fixture.html +0 -19
- package/tests/e2e/date-picker.e2e.ts +0 -25
- package/tests/e2e/dialog.e2e-fixture.html +0 -50
- package/tests/e2e/dialog.e2e.ts +0 -180
- package/tests/e2e/documentation.e2e.ts +0 -351
- package/tests/e2e/dropdown.e2e-fixture.html +0 -47
- package/tests/e2e/dropdown.e2e.ts +0 -249
- package/tests/e2e/faq.e2e-fixture.html +0 -54
- package/tests/e2e/faq.e2e.ts +0 -43
- package/tests/e2e/feature-details.e2e-fixture.html +0 -64
- package/tests/e2e/feature-details.e2e.ts +0 -46
- package/tests/e2e/file-input.e2e-fixture.html +0 -19
- package/tests/e2e/file-input.e2e.ts +0 -40
- package/tests/e2e/form.e2e-fixture.html +0 -58
- package/tests/e2e/form.e2e.ts +0 -59
- package/tests/e2e/get-in-touch.e2e-fixture.html +0 -30
- package/tests/e2e/get-in-touch.e2e.ts +0 -42
- package/tests/e2e/heading-anchor.e2e-fixture.html +0 -19
- package/tests/e2e/heading-anchor.e2e.ts +0 -49
- package/tests/e2e/hero.e2e-fixture.html +0 -30
- package/tests/e2e/hero.e2e.ts +0 -34
- package/tests/e2e/icon.e2e-fixture.html +0 -19
- package/tests/e2e/icon.e2e.ts +0 -44
- package/tests/e2e/image.e2e-fixture.html +0 -38
- package/tests/e2e/image.e2e.ts +0 -191
- package/tests/e2e/input.e2e-fixture.html +0 -21
- package/tests/e2e/input.e2e.ts +0 -76
- package/tests/e2e/label.e2e-fixture.html +0 -21
- package/tests/e2e/label.e2e.ts +0 -42
- package/tests/e2e/lib/css-smoke.ts +0 -103
- package/tests/e2e/lib/viewport.ts +0 -25
- package/tests/e2e/navigation-menu.e2e-fixture.html +0 -47
- package/tests/e2e/navigation-menu.e2e.ts +0 -165
- package/tests/e2e/newsletter.e2e-fixture.html +0 -38
- package/tests/e2e/newsletter.e2e.ts +0 -41
- package/tests/e2e/number-input.e2e-fixture.html +0 -30
- package/tests/e2e/number-input.e2e.ts +0 -161
- package/tests/e2e/pagination.e2e-fixture.html +0 -30
- package/tests/e2e/pagination.e2e.ts +0 -55
- package/tests/e2e/popover.e2e-fixture.html +0 -50
- package/tests/e2e/popover.e2e.ts +0 -151
- package/tests/e2e/pricing.e2e-fixture.html +0 -101
- package/tests/e2e/pricing.e2e.ts +0 -68
- package/tests/e2e/product-showcase.e2e-fixture.html +0 -32
- package/tests/e2e/product-showcase.e2e.ts +0 -165
- package/tests/e2e/progress.e2e-fixture.html +0 -20
- package/tests/e2e/progress.e2e.ts +0 -45
- package/tests/e2e/radio.e2e-fixture.html +0 -57
- package/tests/e2e/radio.e2e.ts +0 -82
- package/tests/e2e/run.ts +0 -32
- package/tests/e2e/scroll-area.e2e-fixture.html +0 -26
- package/tests/e2e/scroll-area.e2e.ts +0 -42
- package/tests/e2e/select.e2e-fixture.html +0 -39
- package/tests/e2e/select.e2e.ts +0 -75
- package/tests/e2e/separator.e2e-fixture.html +0 -24
- package/tests/e2e/separator.e2e.ts +0 -37
- package/tests/e2e/server.ts +0 -42
- package/tests/e2e/sheet.e2e-fixture.html +0 -72
- package/tests/e2e/sheet.e2e.ts +0 -281
- package/tests/e2e/sidebar.e2e-fixture.html +0 -78
- package/tests/e2e/sidebar.e2e.ts +0 -260
- package/tests/e2e/site-footer.e2e-fixture.html +0 -75
- package/tests/e2e/site-footer.e2e.ts +0 -60
- package/tests/e2e/site-header.e2e-fixture.html +0 -68
- package/tests/e2e/site-header.e2e.ts +0 -97
- package/tests/e2e/sizing-layout.e2e.ts +0 -158
- package/tests/e2e/skeleton.e2e-fixture.html +0 -14
- package/tests/e2e/skeleton.e2e.ts +0 -30
- package/tests/e2e/slider.e2e-fixture.html +0 -28
- package/tests/e2e/slider.e2e.ts +0 -180
- package/tests/e2e/sortable.e2e-fixture.html +0 -28
- package/tests/e2e/sortable.e2e.ts +0 -225
- package/tests/e2e/spinner.e2e-fixture.html +0 -18
- package/tests/e2e/spinner.e2e.ts +0 -44
- package/tests/e2e/statistic.e2e-fixture.html +0 -25
- package/tests/e2e/statistic.e2e.ts +0 -38
- package/tests/e2e/stats.e2e-fixture.html +0 -55
- package/tests/e2e/stats.e2e.ts +0 -46
- package/tests/e2e/steps.e2e-fixture.html +0 -48
- package/tests/e2e/steps.e2e.ts +0 -65
- package/tests/e2e/switch.e2e-fixture.html +0 -22
- package/tests/e2e/switch.e2e.ts +0 -87
- package/tests/e2e/table.e2e-fixture.html +0 -38
- package/tests/e2e/table.e2e.ts +0 -50
- package/tests/e2e/tabs.e2e-fixture.html +0 -39
- package/tests/e2e/tabs.e2e.ts +0 -169
- package/tests/e2e/testimonials.e2e-fixture.html +0 -58
- package/tests/e2e/testimonials.e2e.ts +0 -58
- package/tests/e2e/textarea.e2e-fixture.html +0 -15
- package/tests/e2e/textarea.e2e.ts +0 -41
- package/tests/e2e/theme-switcher.e2e-fixture.html +0 -60
- package/tests/e2e/theme-switcher.e2e.ts +0 -194
- package/tests/e2e/timeline.e2e-fixture.html +0 -30
- package/tests/e2e/timeline.e2e.ts +0 -45
- package/tests/e2e/toast.e2e-fixture.html +0 -39
- package/tests/e2e/toast.e2e.ts +0 -252
- package/tests/e2e/toc.e2e-fixture.html +0 -30
- package/tests/e2e/toc.e2e.ts +0 -65
- package/tests/e2e/toggle-group.e2e-fixture.html +0 -67
- package/tests/e2e/toggle-group.e2e.ts +0 -191
- package/tests/e2e/toggle.e2e-fixture.html +0 -23
- package/tests/e2e/toggle.e2e.ts +0 -137
- package/tests/e2e/toolbar.e2e-fixture.html +0 -49
- package/tests/e2e/toolbar.e2e.ts +0 -178
- package/tests/e2e/tooltip.e2e-fixture.html +0 -48
- package/tests/e2e/tooltip.e2e.ts +0 -179
- package/tests/e2e/tree-view.e2e-fixture.html +0 -48
- package/tests/e2e/tree-view.e2e.ts +0 -221
- package/tests/e2e/type-badge.e2e-fixture.html +0 -22
- package/tests/e2e/type-badge.e2e.ts +0 -51
- package/tests/e2e/typography.e2e-fixture.html +0 -24
- package/tests/e2e/typography.e2e.ts +0 -70
- package/tests/fields.test.ts +0 -137
- package/tests/helpers.ts +0 -68
- package/tests/links.test.ts +0 -116
- package/tests/minify.test.ts +0 -74
- package/tests/readme.test.ts +0 -42
- package/tests/sizing-layout.test.ts +0 -486
- package/tests/skill.test.ts +0 -126
- package/tests/stats.test.ts +0 -155
- package/tests/taxonomy.test.ts +0 -39
- package/tests/theme-css.test.ts +0 -82
- package/tests/tsconfig.json +0 -9
- package/tests/ui.test.ts +0 -441
- package/tsconfig.docs-runtime.json +0 -19
- package/tsconfig.json +0 -31
- package/tsconfig.scripts.json +0 -18
- package/tsconfig.test.json +0 -14
- package/vite.config.ts +0 -22
- package/vitest.config.ts +0 -23
package/README.md
CHANGED
|
@@ -9,16 +9,19 @@
|
|
|
9
9
|
[](https://www.npmjs.com/package/defuss-shadcn)
|
|
10
10
|
[](https://socket.dev/npm/package/defuss-shadcn)
|
|
11
11
|
|
|
12
|
-
**A UI component system that scales with _local_ AI.** Themeable components built on semantic HTML, modern CSS, and vanilla JavaScript. No framework. No build step for consumers
|
|
12
|
+
**A UI component system that scales with _local_ AI.** Themeable components built on semantic HTML, modern CSS, and vanilla JavaScript. No framework. No build step for consumers - `dist/` is committed and ready to use as-is. The simplest possible foundation for AI-driven prototyping.
|
|
13
13
|
|
|
14
|
-
**
|
|
15
|
-
|
|
14
|
+
**77 components - 34 with JavaScript, 43 CSS-only - 109.8 KiB minified + compressed - 76.2 KiB as the all.css/all.js bundle.**
|
|
15
|
+
43 of 77 components need no JavaScript - native HTML and modern CSS cover them entirely.
|
|
16
|
+
<!-- parity anchor: README ↔ index (AGENTS.md) - the footprint sentence and pillar set must match src/documentation/pages/index.mdx; commit both files together -->
|
|
16
17
|
The footprint is measured from the shipped `dist/` files on every build and published as
|
|
17
18
|
[`dist/stats.json`](dist/stats.json); `verify` fails the build if this sentence and that file disagree.
|
|
18
19
|
|
|
19
|
-
The set includes 13 marketing blocks (Site Header, Hero, Pricing, Testimonials, Blog, Footer, …)
|
|
20
|
+
The set includes 13 marketing blocks (Site Header, Hero, Pricing, Testimonials, Blog, Footer, …) - full-page sections composed from the same tokens and primitives, all CSS-only.
|
|
20
21
|
|
|
21
|
-
**[Documentation & Live Demos →](https://kyr0.github.io/defuss-shadcn/)** · [Architecture (ARCH.md)](ARCH.md) · [Agent
|
|
22
|
+
**[Documentation & Live Demos →](https://kyr0.github.io/defuss-shadcn/)** · [Architecture (ARCH.md)](ARCH.md) · [Agent skill (SKILL.md)](skills/defuss-shadcn/SKILL.md)
|
|
23
|
+
|
|
24
|
+
The docs site dogfoods the CDN install: it loads its `all.css` / `all.js` bundle and theme from the jsDelivr CDN, the same URLs as the CDN quick start above - if it renders, the CDN install works.
|
|
22
25
|
|
|
23
26
|
Why this system exists, from the agents who built it: [ARCH.md](ARCH.md).
|
|
24
27
|
|
|
@@ -26,39 +29,73 @@ Why this system exists, from the agents who built it: [ARCH.md](ARCH.md).
|
|
|
26
29
|
|
|
27
30
|
A portable UI component system built on the [shadcn/ui](https://ui.shadcn.com) token model.
|
|
28
31
|
|
|
29
|
-
- **Themeable**
|
|
30
|
-
- **Component Skills**
|
|
31
|
-
- **Observable state**
|
|
32
|
-
- **Accessible**
|
|
33
|
-
- **Framework Free**
|
|
32
|
+
- **Themeable** - full shadcn semantic token model. 43 [tweakcn](https://tweakcn.com) presets ship as drop-in theme files - swap one and every component updates instantly
|
|
33
|
+
- **Component Skills** - every component includes a structured skill - markup, variants, sizes, density, named states, ARIA, and wiring conventions - grounded in web standards; every interactive component also ships a machine-readable `*.schema.json` contract (states, types, defaults, actions) that drives its docs controls and is verifier-enforced
|
|
34
|
+
- **Observable state** - interactive components expose a State API (`el.api.setState('open')`, `el.api.getState()`), so agents and tests can drive every documented state by name without knowing the implementation
|
|
35
|
+
- **Accessible** - built on native HTML elements and WAI-ARIA patterns. Keyboard navigation, focus management, and screen reader support by default
|
|
36
|
+
- **Framework Free** - runs in any browser, zero dependencies, no build pipeline required
|
|
34
37
|
|
|
35
38
|
## Quick start
|
|
36
39
|
|
|
37
40
|
### Via CDN
|
|
38
41
|
|
|
39
42
|
```html
|
|
40
|
-
<!-- 1. Add a theme -->
|
|
41
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kyr0/defuss-shadcn@latest/dist/
|
|
43
|
+
<!-- 1. Add the base: tokens + sizing/layout/accessibility utilities (a theme preset from dist/theme/ may follow) -->
|
|
44
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kyr0/defuss-shadcn@latest/dist/components/core.css">
|
|
42
45
|
|
|
43
46
|
<!-- 2. Add the icons -->
|
|
44
47
|
<script src="https://unpkg.com/lucide@1.8.0"></script>
|
|
45
48
|
<script>lucide.createIcons();</script>
|
|
46
49
|
|
|
47
|
-
<!--
|
|
50
|
+
<!-- 3a. Everything at once: the bundle (embeds the core runtime) -->
|
|
48
51
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kyr0/defuss-shadcn@latest/dist/components/all.css">
|
|
49
52
|
<script type="module" src="https://cdn.jsdelivr.net/gh/kyr0/defuss-shadcn@latest/dist/components/all.js"></script>
|
|
50
53
|
|
|
51
|
-
<!-- …or
|
|
54
|
+
<!-- 3b. …or only the components you use: their CSS, then core.js + their JS -->
|
|
52
55
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kyr0/defuss-shadcn@latest/dist/components/button/button.css">
|
|
53
56
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kyr0/defuss-shadcn@latest/dist/components/dialog/dialog.css">
|
|
57
|
+
<script type="module" src="https://cdn.jsdelivr.net/gh/kyr0/defuss-shadcn@latest/dist/components/core.js"></script>
|
|
54
58
|
<script type="module" src="https://cdn.jsdelivr.net/gh/kyr0/defuss-shadcn@latest/dist/components/dialog/dialog.js"></script>
|
|
55
59
|
```
|
|
56
60
|
|
|
57
|
-
|
|
61
|
+
Two delivery modes, one implementation: **load core plus the components you use, or load all alone.** The core pair is `core.css` (tokens + sizing + layout + accessibility utilities) + `core.js` (the `df$` runtime: defuss-query + defuss-morph); documentation code is separate. No framework or jQuery dependency.
|
|
62
|
+
|
|
63
|
+
`core.js` installs the callable `df$` runtime (query + morph + the shared component layer at `df$.shadcn.shared`) - every component `.js` requires it, loaded first; a missing or mismatched core fails with one actionable load-order error before anything renders. `all.css` / `all.js` bundle the core runtime plus every component (minified twins: `core.min.js`, `all.min.css` + `all.min.css.map`, `all.min.js` + `all.min.js.map`). Every runtime bundle carries a per-release provenance pointer (bundled upstream versions + license hashes; full notice in `components/NOTICE.txt`). The per-component files stay available - include only what you use; their stylesheets are independent of each other.
|
|
64
|
+
|
|
65
|
+
### Via npm
|
|
66
|
+
|
|
67
|
+
In a project with a package manager and a bundler, install the package and import the same files in the same order from the app entry:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npm install defuss-shadcn # or: bun add / pnpm add / yarn add defuss-shadcn
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
```js
|
|
74
|
+
import 'defuss-shadcn/dist/components/core.css'; // tokens + utilities
|
|
75
|
+
import 'defuss-shadcn/dist/components/all.css'; // every component's styles
|
|
76
|
+
import 'defuss-shadcn/dist/components/all.js'; // df$ runtime + every component's behavior
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### For AI agents: SKILL.md
|
|
80
|
+
|
|
81
|
+
[`skills/defuss-shadcn/SKILL.md`](skills/defuss-shadcn/SKILL.md) (shipped in the npm package) packages the whole project as one Agent Skill: the exact install steps for both paths (npm or jsDelivr, no TypeScript for standalone HTML), the include order, the rules to follow, a map of every documentation page (guides + live examples, linked as MDX sources) and an index of all component skills with why/when - generated from the sources on every build.
|
|
82
|
+
|
|
83
|
+
Install it into your coding agent:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# Claude Code (native plugin marketplace)
|
|
87
|
+
claude plugin marketplace add kyr0/defuss-shadcn
|
|
88
|
+
claude plugin install defuss-shadcn@defuss-shadcn
|
|
89
|
+
|
|
90
|
+
# Codex, Cursor, Gemini CLI, GitHub Copilot, Windsurf, … (and Claude Code)
|
|
91
|
+
npx skills add kyr0/defuss-shadcn --skill defuss-shadcn
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Per-agent flags, global installs and updates: [Installation → Install as an AI Agent Skill](https://kyr0.github.io/defuss-shadcn/installation.html#install-as-an-ai-agent-skill).
|
|
58
95
|
|
|
59
96
|
### Self-hosting
|
|
60
97
|
|
|
61
|
-
Download the full system and drop it into any project. All the files are static
|
|
98
|
+
Download the full system and drop it into any project. All the files are static - no build step, no dependencies. Point an AI at `dist/SKILL.md` and it has everything it needs: the library's integration guide and philosophy, an index of every component skill (type/why/when/where + supported states), CSS to include, JS to wire up, and the entire documentation site with working examples of every component.
|
|
62
99
|
|
|
63
100
|
**[Download latest (.zip)](https://github.com/kyr0/defuss-shadcn/archive/refs/heads/main.zip)**
|
|
64
101
|
|
|
@@ -68,42 +105,45 @@ Each component is a self-contained folder with up to five layers:
|
|
|
68
105
|
|
|
69
106
|
```
|
|
70
107
|
components/
|
|
108
|
+
├── core.css ← the theme base: tokens + sizing + layout + accessibility
|
|
109
|
+
├── core.js ← the runtime: defuss-morph + defuss-query + shared layer
|
|
71
110
|
├── all.css ← generated bundle: every component stylesheet
|
|
72
|
-
├── all.js ← generated bundle: every component's behavior
|
|
111
|
+
├── all.js ← generated bundle: core runtime + every component's behavior
|
|
73
112
|
└── dialog/
|
|
74
113
|
├── component-skill.md ← structured skill: HTML structure, attributes, ARIA
|
|
75
114
|
├── dialog.css ← stylesheet (uses design tokens)
|
|
76
|
-
└── dialog.js ← interaction behavior (when needed)
|
|
115
|
+
└── dialog.js ← interaction behavior (binds to core, when needed)
|
|
77
116
|
```
|
|
78
117
|
|
|
79
118
|
The `all.*` bundle files (with `.min` twins and source maps) are what the
|
|
80
|
-
documentation site itself loads
|
|
119
|
+
documentation site itself loads - one `<link>`, one `<script>`, everything included.
|
|
81
120
|
|
|
82
|
-
1. **Semantic tokens**
|
|
83
|
-
2. **Component CSS**
|
|
84
|
-
3. **Semantic HTML**
|
|
85
|
-
4. **Vanilla JavaScript**
|
|
86
|
-
5. **Component skill**
|
|
121
|
+
1. **Semantic tokens** - `default-semantic-tokens.css` defines every design token for the default light and dark theme. To switch themes, you just switch this file.
|
|
122
|
+
2. **Component CSS** - each component's stylesheet, built entirely on tokens.
|
|
123
|
+
3. **Semantic HTML** - native HTML elements with data attributes for variants and wiring.
|
|
124
|
+
4. **Vanilla JavaScript** - interaction logic, only when HTML and CSS can't express the behavior.
|
|
125
|
+
5. **Component skill** - a structured instruction set that documents how to build the component: markup, variants, ARIA, and wiring conventions.
|
|
87
126
|
|
|
88
|
-
Some components
|
|
127
|
+
Some components - like Button and Badge - are CSS-only. No JavaScript needed.
|
|
89
128
|
|
|
90
129
|
## Theming
|
|
91
130
|
|
|
92
|
-
Tokens are compatible with [tweakcn.com](https://tweakcn.com) theme exports. A theme is one plain stylesheet with `:root` + `.dark` token blocks
|
|
131
|
+
Tokens are compatible with [tweakcn.com](https://tweakcn.com) theme exports. A theme is one plain stylesheet with `:root` + `.dark` token blocks - switching themes means switching that file.
|
|
93
132
|
|
|
94
|
-
1. **Ship it at build time**
|
|
95
|
-
2. **Switch it at runtime**
|
|
96
|
-
3. Everything updates automatically
|
|
133
|
+
1. **Ship it at build time** - link a theme file instead of the token file: every [tweakcn](https://tweakcn.com) preset ships generated in [`dist/theme/`](dist/theme/) (`claude.css`, `vercel.css`, …, 43 presets; regenerate with `bun run build`, gated by `verify`). Or export your own from tweakcn and replace `dist/theme/utils/default-semantic-tokens.css` - components see the same tokens either way.
|
|
134
|
+
2. **Switch it at runtime** - the [Theme Switcher](https://kyr0.github.io/defuss-shadcn/theme-switcher.html) component loads/unloads one `<link id="theme-css">` (the theme rides on top of the token file; no JS token objects). That's exactly what the theme picker on the documentation site does.
|
|
135
|
+
3. Everything updates automatically - all components, the doc site, dark mode (each theme file carries both palettes).
|
|
97
136
|
|
|
98
137
|
## Optional modules
|
|
99
138
|
|
|
100
|
-
|
|
139
|
+
Four standalone stylesheets live beside the token file and are opt-in - no component depends on them, and the token export stays tweakcn-pure:
|
|
101
140
|
|
|
102
|
-
- [`dist/theme/utils/sizing.css`](dist/theme/utils/sizing.css)
|
|
103
|
-
- [`dist/theme/utils/layout.css`](dist/theme/utils/layout.css)
|
|
104
|
-
- [`dist/theme/utils/accessibility.css`](dist/theme/utils/accessibility.css)
|
|
141
|
+
- [`dist/theme/utils/sizing.css`](dist/theme/utils/sizing.css) - one numeric scale (`w-4` = four base units, `--size-*` aliases, density-aware spacing)
|
|
142
|
+
- [`dist/theme/utils/layout.css`](dist/theme/utils/layout.css) - small layout surface (`flex`, `grid`, `stack`, `container`, named `query` boundaries, overflow + text-flow helpers)
|
|
143
|
+
- [`dist/theme/utils/accessibility.css`](dist/theme/utils/accessibility.css) - screen-reader-only content (`.sr-only` / `.not-sr-only`, the clip pattern)
|
|
144
|
+
- [`dist/theme/utils/shapes.css`](dist/theme/utils/shapes.css) - reusable silhouettes to mix a design up (radius scale, organic / cut / notch / scoop corners, clip-path shapes, section edges, shadow scale + stylized shadows, frames, background patterns)
|
|
105
145
|
|
|
106
|
-
Load them after the tokens, before component CSS. Docs: [Sizing](https://kyr0.github.io/defuss-shadcn/sizing.html) · [Layout](https://kyr0.github.io/defuss-shadcn/layout.html) · [Accessibility](https://kyr0.github.io/defuss-shadcn/accessibility.html)
|
|
146
|
+
Load them after the tokens, before component CSS. Docs: [Sizing](https://kyr0.github.io/defuss-shadcn/sizing.html) · [Layout](https://kyr0.github.io/defuss-shadcn/layout.html) · [Shapes](https://kyr0.github.io/defuss-shadcn/shapes.html) · [Accessibility](https://kyr0.github.io/defuss-shadcn/accessibility.html)
|
|
107
147
|
|
|
108
148
|
## Components
|
|
109
149
|
|
|
@@ -128,13 +168,13 @@ Every component starts from a native HTML element or browser API. If the browser
|
|
|
128
168
|
|
|
129
169
|
### Other principles
|
|
130
170
|
|
|
131
|
-
- **Token-driven**
|
|
132
|
-
- **Dark mode automatic**
|
|
133
|
-
- **Variant via data attributes**
|
|
171
|
+
- **Token-driven** - every color, radius, and shadow comes from CSS custom properties
|
|
172
|
+
- **Dark mode automatic** - the token cascade handles it, no overrides needed
|
|
173
|
+
- **Variant via data attributes** - `data-variant="primary"`, not `btn-primary`
|
|
134
174
|
|
|
135
175
|
## Development
|
|
136
176
|
|
|
137
|
-
The repo now has a build step
|
|
177
|
+
The repo now has a build step - but it is for **maintainers and coding agents only**.
|
|
138
178
|
`dist/` is committed, dependency-free, and usable at any time without building anything:
|
|
139
179
|
CDN, self-hosting, and copy-paste all work exactly as before. Just drop `dist/` into a
|
|
140
180
|
project, or download the `.zip`.
|
|
@@ -142,21 +182,21 @@ project, or download the `.zip`.
|
|
|
142
182
|
The toolchain exists so coding agents can **verify correctness of the implementation**,
|
|
143
183
|
not to produce it:
|
|
144
184
|
|
|
145
|
-
- **TypeScript**
|
|
185
|
+
- **TypeScript** - component sources live in `src/` as `.ts`, and the entire test tree
|
|
146
186
|
(Vitest suite, e2e runner, helpers) is TypeScript too, giving agents type-checkable
|
|
147
187
|
contracts; the build strips types to plain JS (`noCheck`, see [`tsconfig.json`](tsconfig.json))
|
|
148
188
|
so what ships is still zero-dependency vanilla JS. `bun run typecheck` (also part of
|
|
149
189
|
`verify`) keeps both tooling trees strict.
|
|
150
|
-
- **State API**
|
|
190
|
+
- **State API** - interactive components declare their states (`const dialogStates = ['default', 'open']`)
|
|
151
191
|
and expose them per element (`el.api.setState(...)` / `el.api.getState()`), plus registry
|
|
152
|
-
globals for tooling. Every declared state must be covered by four artifacts
|
|
153
|
-
(light + dark), doc page, component skill, and e2e assertion
|
|
154
|
-
- **Screenshots for agents**
|
|
192
|
+
globals for tooling. Every declared state must be covered by four artifacts - screenshot
|
|
193
|
+
(light + dark), doc page, component skill, and e2e assertion - enforced by `verify`.
|
|
194
|
+
- **Screenshots for agents** - `bun run screenshots` renders each component (and each
|
|
155
195
|
named state) to `screenshots/{light,dark}/` so an agent can *look* at what it changed;
|
|
156
196
|
a content-hash manifest makes re-capture incremental.
|
|
157
|
-
- **E2E tests**
|
|
197
|
+
- **E2E tests** - components are exercised in a real browser against the shipped files
|
|
158
198
|
(see [Testing](#testing)); an agent can prove a change works instead of guessing
|
|
159
|
-
- **oxlint**
|
|
199
|
+
- **oxlint** - `make lint` catches dead code and mistakes instantly, in milliseconds
|
|
160
200
|
|
|
161
201
|
```bash
|
|
162
202
|
bun install # install dev dependencies
|
|
@@ -166,12 +206,12 @@ bun run test:run # run the UI test suite (headless Chromium)
|
|
|
166
206
|
```
|
|
167
207
|
|
|
168
208
|
`src/` is the authoring tree (component `.ts`/css/md, plus the docs' MDX pages + TSX
|
|
169
|
-
components rendered by [defuss-ssg](https://github.com/kyr0/defuss)); `dist/` is the compiled output
|
|
170
|
-
of the components/theme, plus `dist/documentation/` rendered solely by defuss-ssg, committed and the only thing that ships
|
|
209
|
+
components rendered by [defuss-ssg](https://github.com/kyr0/defuss)); `dist/` is the compiled output - 1:1 build
|
|
210
|
+
of the components/theme, plus `dist/documentation/` rendered solely by defuss-ssg, committed and the only thing that ships - every build also regenerates the
|
|
171
211
|
machine-readable `dist/stats.json` (component counts per type, the JS/CSS-only split, and
|
|
172
212
|
byte sizes raw/minified/gzipped via `make stats`). `docs/` is the generated **documentation
|
|
173
213
|
site** (only `dist/documentation/` + the SEO files + a `404.html` copy of `index.html` so
|
|
174
|
-
GitHub Pages never serves an empty page for dead links) that GitHub Pages publishes
|
|
214
|
+
GitHub Pages never serves an empty page for dead links) that GitHub Pages publishes - the
|
|
175
215
|
pages' `../components/…` / `../theme/…` references are rewritten to the jsDelivr GitHub
|
|
176
216
|
CDN by the mirror ([scripts/lib/mirror.ts](scripts/lib/mirror.ts)), so docs/ carries no
|
|
177
217
|
copies of the component assets. Refresh with `bun run docs`, never edit it directly.
|
|
@@ -179,38 +219,38 @@ copies of the component assets. Refresh with `bun run docs`, never edit it direc
|
|
|
179
219
|
A `Makefile` wraps the common tasks: `make setup` (install deps + Playwright browsers),
|
|
180
220
|
`make dev`, `make test-run`, `make coverage`, `make e2e`, `make lint` (oxlint),
|
|
181
221
|
`make typecheck`, `make verify`, `make screenshots`, `make stats`, `make docs`. **`make build`** runs
|
|
182
|
-
the whole pipeline
|
|
222
|
+
the whole pipeline - lint → compile → bundle → minify → stats → docs SSG (defuss-ssg) → screenshots → docs-mirror → verify → tests → e2e —
|
|
183
223
|
the same loop CI runs.
|
|
184
224
|
|
|
185
225
|
`bun run verify` is the static consistency gate (~0.3 s, runs automatically at the end
|
|
186
226
|
of every build) and the contract every coding agent must satisfy. It checks, among others:
|
|
187
227
|
|
|
188
|
-
- **structure**
|
|
228
|
+
- **structure** - component skills, doc pages, the all.css/all.js bundle includes on every page, sidebar links,
|
|
189
229
|
`.preview` blocks, `dist/` freshness (1:1 with `src/`), `docs/` mirror current (CDN-rewritten)
|
|
190
|
-
- **consistency**
|
|
230
|
+
- **consistency** - inline source snippets match the real files (and are properly escaped),
|
|
191
231
|
skill ↔ docs ↔ CSS variant parity, State API contract + per-state coverage across
|
|
192
232
|
screenshots/docs/skill/e2e, changelog & version markers, doc command references
|
|
193
233
|
(every `bun run`/`make` quoted in the docs must exist), `dist/stats.json` freshness and
|
|
194
234
|
the stats claims in README/index matching the measured numbers exactly
|
|
195
|
-
- **quality**
|
|
235
|
+
- **quality** - token boundary rule (only tweakcn-defined `var(--*)`), undefined utility
|
|
196
236
|
classes, `prefers-reduced-motion` coverage, init idempotency (double-binding guard),
|
|
197
237
|
dead links (parsed with linkedom), portable paths (no machine-absolute paths),
|
|
198
238
|
strict typecheck, render drift (screenshot pixels changed without input changes),
|
|
199
239
|
theme sidebar contrast (every preset's nav text reaches WCAG AA on its real background)
|
|
200
|
-
- **hygiene**
|
|
240
|
+
- **hygiene** - working tree committed, so a green build is a committed build
|
|
201
241
|
|
|
202
|
-
Every failing check prints the offending files **and the exact fix**
|
|
242
|
+
Every failing check prints the offending files **and the exact fix** - the verifier is
|
|
203
243
|
the loop's authority (AGENTS.md defers to its output), so a coding agent can iterate
|
|
204
244
|
`edit → build → do what it says` until the goal is reached. The warn-ratchets for legacy
|
|
205
245
|
rollouts (State API, e2e, reduced motion) are now empty and kept as hard gates against
|
|
206
|
-
regressions. How this all scales without human review
|
|
246
|
+
regressions. How this all scales without human review - and the proof-loop diagram —
|
|
207
247
|
are documented in [ARCH.md](ARCH.md).
|
|
208
248
|
|
|
209
249
|
## Testing
|
|
210
250
|
|
|
211
251
|
Tests exist so agents (and humans) can verify the implementation end-to-end instead of trusting it.
|
|
212
252
|
|
|
213
|
-
UI tests run in a real browser (Chromium via Playwright) with **Vitest browser mode**
|
|
253
|
+
UI tests run in a real browser (Chromium via Playwright) with **Vitest browser mode** - no mocking. The suite in [`tests/ui.test.ts`](tests/ui.test.ts) loads the actual documentation pages from `dist/documentation/` in a same-origin iframe and drives them end-to-end: the statically-rendered chrome shell, the SPA router, dark-mode toggle, dialog open/close/focus-return, and the single-open accordion.
|
|
214
254
|
|
|
215
255
|
```bash
|
|
216
256
|
bun run test # watch mode
|
|
@@ -224,7 +264,7 @@ Each component also gets an E2E smoke test in [`tests/e2e/`](tests/e2e/): a stat
|
|
|
224
264
|
fixture page using the component in **all** of its documented configurations (every
|
|
225
265
|
variant, size, and State API state), driven by plain Playwright against the unmodified
|
|
226
266
|
files in `dist/` (`bun run e2e`). This is the verification loop a coding agent runs
|
|
227
|
-
after touching any component
|
|
267
|
+
after touching any component - the shipped files themselves are asserted, so "it
|
|
228
268
|
compiles" is never mistaken for "it works". Every component ships one (the gate is
|
|
229
269
|
hard), and its parity rule keeps fixture, docs and code in lockstep as they change.
|
|
230
270
|
The documentation site itself is covered too ([`tests/e2e/documentation.e2e.ts`](tests/e2e/documentation.e2e.ts)):
|
|
@@ -236,7 +276,7 @@ This project began as a fork of **[shadcn-html](https://github.com/codylindley/s
|
|
|
236
276
|
credit to [Cody Lindley](https://github.com/codylindley) for the original idea and first
|
|
237
277
|
implementation.
|
|
238
278
|
|
|
239
|
-
Maintained by [Aron Homberg](https://aron-homberg.de)
|
|
279
|
+
Maintained by [Aron Homberg](https://aron-homberg.de) - the TypeScript build chain,
|
|
240
280
|
State API, and the verifier-driven quality loop ([ARCH.md](ARCH.md)) described above.
|
|
241
281
|
|
|
242
282
|
## License
|