defuss-shadcn 0.8.3 → 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 +121 -51
- package/dist/SKILL.md +254 -86
- package/dist/SKILL_root_tpl.md +119 -0
- package/dist/SKILL_tpl.md +31 -21
- package/dist/components/NOTICE.txt +38 -0
- package/dist/components/accordion/accordion.css +19 -3
- package/dist/components/accordion/accordion.js +30 -57
- package/dist/components/accordion/accordion.js.map +1 -0
- package/dist/components/accordion/accordion.min.css +1 -0
- package/dist/components/accordion/accordion.min.js +2 -0
- package/dist/components/accordion/accordion.min.js.map +1 -0
- package/dist/components/accordion/accordion.schema.json +53 -0
- package/dist/components/accordion/component-skill.md +28 -17
- package/dist/components/alert/alert.css +16 -0
- package/dist/components/alert/alert.min.css +1 -0
- package/dist/components/alert/component-skill.md +14 -2
- package/dist/components/alert-dialog/alert-dialog.css +10 -2
- package/dist/components/alert-dialog/alert-dialog.js +23 -52
- package/dist/components/alert-dialog/alert-dialog.js.map +1 -0
- package/dist/components/alert-dialog/alert-dialog.min.css +1 -0
- package/dist/components/alert-dialog/alert-dialog.min.js +2 -0
- package/dist/components/alert-dialog/alert-dialog.min.js.map +1 -0
- package/dist/components/alert-dialog/alert-dialog.schema.json +47 -0
- package/dist/components/alert-dialog/component-skill.md +24 -12
- package/dist/components/all.css +10898 -0
- package/dist/components/all.js +8762 -0
- package/dist/components/all.js.map +56 -0
- package/dist/components/all.min.css +1 -0
- package/dist/components/all.min.css.map +1 -0
- package/dist/components/all.min.js +26 -0
- package/dist/components/all.min.js.map +1 -0
- 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 +83 -6
- package/dist/components/avatar/avatar.js +19 -53
- package/dist/components/avatar/avatar.js.map +1 -0
- package/dist/components/avatar/avatar.min.css +1 -0
- package/dist/components/avatar/avatar.min.js +2 -0
- package/dist/components/avatar/avatar.min.js.map +1 -0
- package/dist/components/avatar/avatar.schema.json +30 -0
- package/dist/components/avatar/component-skill.md +25 -8
- package/dist/components/badge/badge.css +8 -0
- package/dist/components/badge/badge.min.css +1 -0
- package/dist/components/badge/component-skill.md +20 -5
- package/dist/components/blog/blog.min.css +1 -0
- package/dist/components/blog/component-skill.md +9 -8
- package/dist/components/brand-logos/brand-logos.css +72 -1
- package/dist/components/brand-logos/brand-logos.min.css +1 -0
- package/dist/components/brand-logos/component-skill.md +61 -12
- package/dist/components/breadcrumb/breadcrumb.css +19 -0
- package/dist/components/breadcrumb/breadcrumb.min.css +1 -0
- package/dist/components/breadcrumb/component-skill.md +27 -13
- package/dist/components/button/button.css +22 -1
- package/dist/components/button/button.min.css +1 -0
- package/dist/components/button/component-skill.md +23 -17
- package/dist/components/button-group/button-group.css +14 -13
- package/dist/components/button-group/button-group.min.css +1 -0
- package/dist/components/button-group/component-skill.md +12 -19
- package/dist/components/calendar/calendar.css +324 -1
- package/dist/components/calendar/calendar.js +689 -73
- package/dist/components/calendar/calendar.js.map +1 -0
- package/dist/components/calendar/calendar.min.css +1 -0
- package/dist/components/calendar/calendar.min.js +2 -0
- package/dist/components/calendar/calendar.min.js.map +1 -0
- package/dist/components/calendar/calendar.schema.json +73 -0
- package/dist/components/calendar/component-skill.md +127 -9
- package/dist/components/card/card.css +25 -1
- package/dist/components/card/card.min.css +1 -0
- package/dist/components/card/component-skill.md +18 -7
- package/dist/components/carousel/carousel.js +77 -84
- package/dist/components/carousel/carousel.js.map +1 -0
- package/dist/components/carousel/carousel.min.css +1 -0
- package/dist/components/carousel/carousel.min.js +2 -0
- package/dist/components/carousel/carousel.min.js.map +1 -0
- package/dist/components/carousel/carousel.schema.json +50 -0
- package/dist/components/carousel/component-skill.md +27 -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 -0
- package/dist/components/checkbox/checkbox.schema.json +102 -0
- package/dist/components/checkbox/component-skill.md +52 -13
- package/dist/components/collapsible/collapsible.css +20 -3
- package/dist/components/collapsible/collapsible.min.css +1 -0
- package/dist/components/collapsible/collapsible.schema.json +26 -0
- package/dist/components/collapsible/component-skill.md +18 -6
- package/dist/components/color-picker/color-picker.css +44 -3
- package/dist/components/color-picker/color-picker.js +128 -56
- package/dist/components/color-picker/color-picker.js.map +1 -0
- package/dist/components/color-picker/color-picker.min.css +1 -0
- package/dist/components/color-picker/color-picker.min.js +2 -0
- package/dist/components/color-picker/color-picker.min.js.map +1 -0
- package/dist/components/color-picker/color-picker.schema.json +30 -0
- package/dist/components/color-picker/component-skill.md +47 -6
- package/dist/components/combobox/combobox.css +190 -3
- package/dist/components/combobox/combobox.js +415 -94
- package/dist/components/combobox/combobox.js.map +1 -0
- package/dist/components/combobox/combobox.min.css +1 -0
- package/dist/components/combobox/combobox.min.js +2 -0
- package/dist/components/combobox/combobox.min.js.map +1 -0
- package/dist/components/combobox/combobox.schema.json +30 -0
- package/dist/components/combobox/component-skill.md +79 -10
- package/dist/components/command/command.css +19 -0
- package/dist/components/command/command.js +48 -71
- package/dist/components/command/command.js.map +1 -0
- package/dist/components/command/command.min.css +1 -0
- package/dist/components/command/command.min.js +2 -0
- package/dist/components/command/command.min.js.map +1 -0
- package/dist/components/command/command.schema.json +47 -0
- package/dist/components/command/component-skill.md +25 -14
- package/dist/components/context-menu/component-skill.md +16 -5
- package/dist/components/context-menu/context-menu.css +17 -1
- package/dist/components/context-menu/context-menu.js +22 -56
- package/dist/components/context-menu/context-menu.js.map +1 -0
- package/dist/components/context-menu/context-menu.min.css +1 -0
- package/dist/components/context-menu/context-menu.min.js +2 -0
- package/dist/components/context-menu/context-menu.min.js.map +1 -0
- package/dist/components/context-menu/context-menu.schema.json +31 -0
- package/dist/components/core.css +1439 -0
- 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 +31 -5
- package/dist/components/date-picker/date-picker.css +72 -3
- package/dist/components/date-picker/date-picker.min.css +1 -0
- package/dist/components/date-picker/date-picker.schema.json +83 -0
- package/dist/components/dialog/component-skill.md +21 -8
- package/dist/components/dialog/dialog.css +11 -2
- package/dist/components/dialog/dialog.js +24 -53
- package/dist/components/dialog/dialog.js.map +1 -0
- package/dist/components/dialog/dialog.min.css +1 -0
- package/dist/components/dialog/dialog.min.js +2 -0
- package/dist/components/dialog/dialog.min.js.map +1 -0
- package/dist/components/dialog/dialog.schema.json +47 -0
- package/dist/components/dropdown/component-skill.md +43 -12
- package/dist/components/dropdown/dropdown.css +43 -1
- package/dist/components/dropdown/dropdown.js +19 -53
- package/dist/components/dropdown/dropdown.js.map +1 -0
- package/dist/components/dropdown/dropdown.min.css +1 -0
- package/dist/components/dropdown/dropdown.min.js +2 -0
- package/dist/components/dropdown/dropdown.min.js.map +1 -0
- package/dist/components/dropdown/dropdown.schema.json +30 -0
- package/dist/components/faq/component-skill.md +8 -7
- package/dist/components/faq/faq.css +1 -1
- package/dist/components/faq/faq.min.css +1 -0
- package/dist/components/feature-details/component-skill.md +8 -7
- package/dist/components/feature-details/feature-details.min.css +1 -0
- package/dist/components/file-input/component-skill.md +17 -3
- package/dist/components/file-input/file-input.css +34 -4
- package/dist/components/file-input/file-input.min.css +1 -0
- package/dist/components/file-input/file-input.schema.json +50 -0
- package/dist/components/form/component-skill.md +19 -18
- package/dist/components/form/form.min.css +1 -0
- package/dist/components/get-in-touch/component-skill.md +6 -5
- package/dist/components/get-in-touch/get-in-touch.min.css +1 -0
- package/dist/components/heading-anchor/component-skill.md +73 -0
- package/dist/components/heading-anchor/heading-anchor.css +36 -0
- package/dist/components/heading-anchor/heading-anchor.min.css +1 -0
- package/dist/components/hero/component-skill.md +8 -7
- package/dist/components/hero/hero.css +3 -3
- package/dist/components/hero/hero.min.css +1 -0
- package/dist/components/icon/component-skill.md +11 -10
- package/dist/components/icon/icon.min.css +1 -0
- package/dist/components/image/component-skill.md +40 -62
- package/dist/components/image/image.css +10 -0
- package/dist/components/image/image.js +124 -80
- package/dist/components/image/image.js.map +1 -0
- package/dist/components/image/image.min.css +1 -0
- package/dist/components/image/image.min.js +25 -0
- package/dist/components/image/image.min.js.map +1 -0
- package/dist/components/image/image.schema.json +30 -0
- package/dist/components/input/component-skill.md +82 -22
- package/dist/components/input/input.css +177 -6
- package/dist/components/input/input.min.css +1 -0
- package/dist/components/input/input.schema.json +164 -0
- package/dist/components/label/component-skill.md +21 -19
- package/dist/components/label/label.css +12 -2
- package/dist/components/label/label.min.css +1 -0
- 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 +40 -12
- package/dist/components/navigation-menu/navigation-menu.css +30 -0
- package/dist/components/navigation-menu/navigation-menu.js +20 -54
- package/dist/components/navigation-menu/navigation-menu.js.map +1 -0
- package/dist/components/navigation-menu/navigation-menu.min.css +1 -0
- package/dist/components/navigation-menu/navigation-menu.min.js +2 -0
- package/dist/components/navigation-menu/navigation-menu.min.js.map +1 -0
- package/dist/components/navigation-menu/navigation-menu.schema.json +30 -0
- package/dist/components/newsletter/component-skill.md +10 -9
- package/dist/components/newsletter/newsletter.css +1 -1
- package/dist/components/newsletter/newsletter.min.css +1 -0
- package/dist/components/number-input/component-skill.md +59 -5
- package/dist/components/number-input/number-input.css +92 -3
- package/dist/components/number-input/number-input.js +225 -50
- package/dist/components/number-input/number-input.js.map +1 -0
- package/dist/components/number-input/number-input.min.css +1 -0
- package/dist/components/number-input/number-input.min.js +2 -0
- package/dist/components/number-input/number-input.min.js.map +1 -0
- package/dist/components/number-input/number-input.schema.json +30 -0
- package/dist/components/pagination/component-skill.md +48 -12
- package/dist/components/pagination/pagination.css +34 -0
- package/dist/components/pagination/pagination.js +246 -0
- package/dist/components/pagination/pagination.js.map +1 -0
- package/dist/components/pagination/pagination.min.css +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 +26 -14
- package/dist/components/popover/popover.css +8 -0
- package/dist/components/popover/popover.js +19 -53
- package/dist/components/popover/popover.js.map +1 -0
- package/dist/components/popover/popover.min.css +1 -0
- package/dist/components/popover/popover.min.js +2 -0
- package/dist/components/popover/popover.min.js.map +1 -0
- 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 +10 -9
- package/dist/components/pricing/pricing.css +4 -4
- package/dist/components/pricing/pricing.min.css +1 -0
- package/dist/components/product-showcase/component-skill.md +14 -13
- package/dist/components/product-showcase/product-showcase.css +1 -1
- package/dist/components/product-showcase/product-showcase.js +19 -53
- package/dist/components/product-showcase/product-showcase.js.map +1 -0
- package/dist/components/product-showcase/product-showcase.min.css +1 -0
- package/dist/components/product-showcase/product-showcase.min.js +2 -0
- package/dist/components/product-showcase/product-showcase.min.js.map +1 -0
- package/dist/components/product-showcase/product-showcase.schema.json +30 -0
- package/dist/components/progress/component-skill.md +19 -6
- package/dist/components/progress/progress.css +8 -1
- package/dist/components/progress/progress.min.css +1 -0
- package/dist/components/progress/progress.schema.json +55 -0
- package/dist/components/radio/component-skill.md +24 -11
- package/dist/components/radio/radio.css +55 -5
- package/dist/components/radio/radio.min.css +1 -0
- 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 +20 -8
- package/dist/components/scroll-area/scroll-area.css +14 -2
- package/dist/components/scroll-area/scroll-area.min.css +1 -0
- package/dist/components/scroll-area/scroll-area.schema.json +26 -0
- package/dist/components/select/component-skill.md +47 -8
- package/dist/components/select/select.css +53 -5
- package/dist/components/select/select.min.css +1 -0
- package/dist/components/select/select.schema.json +64 -0
- package/dist/components/separator/component-skill.md +9 -8
- package/dist/components/separator/separator.css +2 -2
- package/dist/components/separator/separator.min.css +1 -0
- package/dist/components/sheet/component-skill.md +20 -8
- package/dist/components/sheet/sheet.css +11 -2
- package/dist/components/sheet/sheet.js +23 -52
- package/dist/components/sheet/sheet.js.map +1 -0
- package/dist/components/sheet/sheet.min.css +1 -0
- package/dist/components/sheet/sheet.min.js +2 -0
- package/dist/components/sheet/sheet.min.js.map +1 -0
- package/dist/components/sheet/sheet.schema.json +47 -0
- package/dist/components/sidebar/component-skill.md +39 -20
- package/dist/components/sidebar/sidebar.css +22 -5
- package/dist/components/sidebar/sidebar.js +74 -61
- package/dist/components/sidebar/sidebar.js.map +1 -0
- package/dist/components/sidebar/sidebar.min.css +1 -0
- package/dist/components/sidebar/sidebar.min.js +2 -0
- package/dist/components/sidebar/sidebar.min.js.map +1 -0
- package/dist/components/sidebar/sidebar.schema.json +30 -0
- package/dist/components/site-footer/component-skill.md +8 -7
- package/dist/components/site-footer/site-footer.min.css +1 -0
- package/dist/components/site-header/component-skill.md +13 -12
- package/dist/components/site-header/site-header.css +1 -1
- package/dist/components/site-header/site-header.min.css +1 -0
- package/dist/components/skeleton/component-skill.md +3 -2
- package/dist/components/skeleton/skeleton.css +1 -1
- package/dist/components/skeleton/skeleton.min.css +1 -0
- package/dist/components/slider/component-skill.md +32 -17
- package/dist/components/slider/slider.css +80 -5
- package/dist/components/slider/slider.js +18 -52
- package/dist/components/slider/slider.js.map +1 -0
- package/dist/components/slider/slider.min.css +1 -0
- package/dist/components/slider/slider.min.js +2 -0
- package/dist/components/slider/slider.min.js.map +1 -0
- package/dist/components/slider/slider.schema.json +52 -0
- package/dist/components/sortable/component-skill.md +67 -19
- package/dist/components/sortable/sortable.css +92 -1
- package/dist/components/sortable/sortable.js +302 -167
- package/dist/components/sortable/sortable.js.map +1 -0
- package/dist/components/sortable/sortable.min.css +1 -0
- package/dist/components/sortable/sortable.min.js +2 -0
- package/dist/components/sortable/sortable.min.js.map +1 -0
- package/dist/components/sortable/sortable.schema.json +29 -0
- package/dist/components/spinner/component-skill.md +6 -3
- package/dist/components/spinner/spinner.css +11 -1
- package/dist/components/spinner/spinner.min.css +1 -0
- package/dist/components/statistic/component-skill.md +4 -3
- package/dist/components/statistic/statistic.min.css +1 -0
- package/dist/components/stats/component-skill.md +6 -5
- package/dist/components/stats/stats.min.css +1 -0
- package/dist/components/steps/component-skill.md +25 -9
- package/dist/components/steps/steps.css +53 -1
- package/dist/components/steps/steps.js +161 -0
- package/dist/components/steps/steps.js.map +1 -0
- package/dist/components/steps/steps.min.css +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 +15 -9
- package/dist/components/switch/switch.css +100 -5
- package/dist/components/switch/switch.min.css +1 -0
- package/dist/components/switch/switch.schema.json +71 -0
- package/dist/components/table/component-skill.md +17 -6
- package/dist/components/table/table.css +20 -1
- package/dist/components/table/table.min.css +1 -0
- package/dist/components/tabs/component-skill.md +28 -11
- package/dist/components/tabs/tabs.css +17 -0
- package/dist/components/tabs/tabs.js +18 -52
- package/dist/components/tabs/tabs.js.map +1 -0
- package/dist/components/tabs/tabs.min.css +1 -0
- package/dist/components/tabs/tabs.min.js +2 -0
- package/dist/components/tabs/tabs.min.js.map +1 -0
- package/dist/components/tabs/tabs.schema.json +30 -0
- package/dist/components/testimonials/component-skill.md +12 -11
- package/dist/components/testimonials/testimonials.css +6 -2
- package/dist/components/testimonials/testimonials.min.css +1 -0
- package/dist/components/textarea/component-skill.md +10 -8
- package/dist/components/textarea/textarea.css +22 -4
- package/dist/components/textarea/textarea.min.css +1 -0
- package/dist/components/textarea/textarea.schema.json +83 -0
- package/dist/components/theme-switcher/component-skill.md +127 -0
- package/dist/components/theme-switcher/theme-switcher.css +152 -0
- package/dist/components/theme-switcher/theme-switcher.js +262 -0
- package/dist/components/theme-switcher/theme-switcher.js.map +1 -0
- package/dist/components/theme-switcher/theme-switcher.min.css +1 -0
- package/dist/components/theme-switcher/theme-switcher.min.js +2 -0
- package/dist/components/theme-switcher/theme-switcher.min.js.map +1 -0
- package/dist/components/theme-switcher/theme-switcher.schema.json +30 -0
- package/dist/components/timeline/component-skill.md +14 -3
- package/dist/components/timeline/timeline.css +19 -0
- package/dist/components/timeline/timeline.min.css +1 -0
- package/dist/components/toast/component-skill.md +37 -11
- package/dist/components/toast/toast.css +18 -5
- package/dist/components/toast/toast.js +60 -78
- package/dist/components/toast/toast.js.map +1 -0
- package/dist/components/toast/toast.min.css +1 -0
- package/dist/components/toast/toast.min.js +2 -0
- package/dist/components/toast/toast.min.js.map +1 -0
- package/dist/components/toast/toast.schema.json +6 -0
- package/dist/components/toc/component-skill.md +77 -0
- package/dist/components/toc/toc.css +57 -0
- package/dist/components/toc/toc.min.css +1 -0
- package/dist/components/toggle/component-skill.md +15 -11
- package/dist/components/toggle/toggle.css +3 -0
- package/dist/components/toggle/toggle.js +19 -53
- package/dist/components/toggle/toggle.js.map +1 -0
- package/dist/components/toggle/toggle.min.css +1 -0
- package/dist/components/toggle/toggle.min.js +2 -0
- package/dist/components/toggle/toggle.min.js.map +1 -0
- package/dist/components/toggle/toggle.schema.json +26 -0
- package/dist/components/toggle-group/component-skill.md +18 -14
- package/dist/components/toggle-group/toggle-group.css +22 -2
- package/dist/components/toggle-group/toggle-group.js +18 -52
- package/dist/components/toggle-group/toggle-group.js.map +1 -0
- package/dist/components/toggle-group/toggle-group.min.css +1 -0
- package/dist/components/toggle-group/toggle-group.min.js +2 -0
- package/dist/components/toggle-group/toggle-group.min.js.map +1 -0
- package/dist/components/toggle-group/toggle-group.schema.json +26 -0
- package/dist/components/toolbar/component-skill.md +21 -7
- package/dist/components/toolbar/toolbar.css +31 -0
- package/dist/components/toolbar/toolbar.js +20 -54
- package/dist/components/toolbar/toolbar.js.map +1 -0
- package/dist/components/toolbar/toolbar.min.css +1 -0
- package/dist/components/toolbar/toolbar.min.js +2 -0
- package/dist/components/toolbar/toolbar.min.js.map +1 -0
- package/dist/components/toolbar/toolbar.schema.json +6 -0
- package/dist/components/tooltip/component-skill.md +10 -9
- package/dist/components/tooltip/tooltip.css +3 -3
- package/dist/components/tooltip/tooltip.js +21 -55
- package/dist/components/tooltip/tooltip.js.map +1 -0
- package/dist/components/tooltip/tooltip.min.css +1 -0
- package/dist/components/tooltip/tooltip.min.js +2 -0
- package/dist/components/tooltip/tooltip.min.js.map +1 -0
- package/dist/components/tooltip/tooltip.schema.json +30 -0
- package/dist/components/tree-view/component-skill.md +48 -6
- package/dist/components/tree-view/tree-view.css +123 -3
- package/dist/components/tree-view/tree-view.js +77 -53
- package/dist/components/tree-view/tree-view.js.map +1 -0
- package/dist/components/tree-view/tree-view.min.css +1 -0
- package/dist/components/tree-view/tree-view.min.js +2 -0
- package/dist/components/tree-view/tree-view.min.js.map +1 -0
- package/dist/components/tree-view/tree-view.schema.json +30 -0
- package/dist/components/type-badge/component-skill.md +62 -0
- package/dist/components/type-badge/type-badge.css +40 -0
- package/dist/components/type-badge/type-badge.min.css +1 -0
- package/dist/components/typography/component-skill.md +20 -19
- package/dist/components/typography/typography.min.css +1 -0
- 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/sitemap.xml +2 -0
- package/dist/stats.json +1035 -0
- package/dist/theme/amber-minimal.css +73 -0
- package/dist/theme/amethyst-haze.css +73 -0
- package/dist/theme/bold-tech.css +73 -0
- package/dist/theme/bubblegum.css +73 -0
- package/dist/theme/caffeine.css +73 -0
- package/dist/theme/candyland.css +73 -0
- package/dist/theme/catppuccin.css +73 -0
- package/dist/theme/claude.css +73 -0
- package/dist/theme/claymorphism.css +73 -0
- package/dist/theme/clean-slate.css +73 -0
- package/dist/theme/cosmic-night.css +73 -0
- package/dist/theme/cyberpunk.css +73 -0
- package/dist/theme/darkmatter.css +73 -0
- package/dist/theme/doom-64.css +73 -0
- package/dist/theme/elegant-luxury.css +73 -0
- package/dist/theme/graphite.css +73 -0
- package/dist/theme/kodama-grove.css +79 -0
- package/dist/theme/kodama-grove.json +41 -0
- package/dist/theme/midnight-bloom.css +73 -0
- package/dist/theme/mocha-mousse.css +73 -0
- package/dist/theme/modern-minimal.css +73 -0
- package/dist/theme/mono.css +73 -0
- package/dist/theme/nature.css +73 -0
- package/dist/theme/neo-brutalism.css +73 -0
- package/dist/theme/northern-lights.css +73 -0
- package/dist/theme/notebook.css +73 -0
- package/dist/theme/ocean-breeze.css +73 -0
- package/dist/theme/openai.css +73 -0
- package/dist/theme/pastel-dreams.css +73 -0
- package/dist/theme/perpetuity.css +73 -0
- package/dist/theme/quantum-rose.css +73 -0
- package/dist/theme/retro-arcade.css +73 -0
- package/dist/theme/sage-garden.css +73 -0
- package/dist/theme/soft-pop.css +73 -0
- package/dist/theme/solar-dusk.css +73 -0
- package/dist/theme/starry-night.css +73 -0
- package/dist/theme/sunset-horizon.css +73 -0
- package/dist/theme/supabase.css +73 -0
- package/dist/theme/t3-chat.css +73 -0
- package/dist/theme/tangerine.css +73 -0
- package/dist/theme/twitter.css +73 -0
- package/dist/theme/utils/accessibility.css +36 -0
- package/dist/theme/utils/default-semantic-tokens.css +139 -0
- package/dist/theme/utils/layout.css +179 -0
- package/dist/theme/utils/shapes.css +900 -0
- package/dist/theme/utils/sizing.css +1078 -0
- package/dist/theme/vercel.css +73 -0
- package/dist/theme/vintage-paper.css +73 -0
- package/dist/theme/violet-bloom.css +73 -0
- package/package.json +31 -4
- package/skills/defuss-shadcn/SKILL.md +698 -0
- package/src/documentation/pages/accessibility.mdx +455 -0
- package/src/documentation/pages/accordion.mdx +186 -0
- package/src/documentation/pages/alert-dialog.mdx +153 -0
- package/src/documentation/pages/alert.mdx +110 -0
- 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 +169 -0
- package/src/documentation/pages/annotated-timeseries.mdx +214 -0
- package/src/documentation/pages/architecture.mdx +17 -0
- package/src/documentation/pages/avatar.mdx +212 -0
- package/src/documentation/pages/badge.mdx +99 -0
- package/src/documentation/pages/bar-race.mdx +250 -0
- package/src/documentation/pages/blog.mdx +104 -0
- package/src/documentation/pages/boxplot.mdx +203 -0
- package/src/documentation/pages/brand-logos.mdx +89 -0
- package/src/documentation/pages/breadcrumb.mdx +96 -0
- package/src/documentation/pages/bump-ranking.mdx +220 -0
- package/src/documentation/pages/button-group.mdx +147 -0
- package/src/documentation/pages/button.mdx +169 -0
- package/src/documentation/pages/calendar-heatmap.mdx +236 -0
- package/src/documentation/pages/calendar.mdx +295 -0
- package/src/documentation/pages/card.mdx +160 -0
- package/src/documentation/pages/carousel.mdx +284 -0
- package/src/documentation/pages/cascade-layers.mdx +176 -0
- package/src/documentation/pages/changelog.mdx +17 -0
- 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 +218 -0
- package/src/documentation/pages/chord.mdx +212 -0
- package/src/documentation/pages/collapsible.mdx +137 -0
- package/src/documentation/pages/color-picker.mdx +182 -0
- package/src/documentation/pages/combobox.mdx +292 -0
- package/src/documentation/pages/command.mdx +135 -0
- package/src/documentation/pages/component-skills.mdx +133 -0
- package/src/documentation/pages/confidence-band.mdx +208 -0
- package/src/documentation/pages/container.mdx +123 -0
- package/src/documentation/pages/context-menu.mdx +97 -0
- package/src/documentation/pages/custom-wind-vectors.mdx +233 -0
- package/src/documentation/pages/dark-mode.mdx +188 -0
- package/src/documentation/pages/data-attribute-api.mdx +533 -0
- package/src/documentation/pages/date-picker.mdx +104 -0
- package/src/documentation/pages/density.mdx +301 -0
- package/src/documentation/pages/dialog.mdx +197 -0
- package/src/documentation/pages/diverging-bars.mdx +225 -0
- package/src/documentation/pages/dom-querying.mdx +56 -0
- package/src/documentation/pages/dropdown.mdx +195 -0
- 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 +184 -0
- package/src/documentation/pages/faq.mdx +81 -0
- package/src/documentation/pages/feature-details.mdx +98 -0
- package/src/documentation/pages/file-input.mdx +95 -0
- package/src/documentation/pages/flex.mdx +307 -0
- package/src/documentation/pages/form.mdx +282 -0
- package/src/documentation/pages/get-in-touch.mdx +52 -0
- package/src/documentation/pages/global-keys.mdx +92 -0
- package/src/documentation/pages/grid.mdx +231 -0
- package/src/documentation/pages/heading-anchor.mdx +68 -0
- package/src/documentation/pages/heatmap-matrix.mdx +220 -0
- package/src/documentation/pages/hero.mdx +52 -0
- package/src/documentation/pages/how-to-use.mdx +54 -0
- package/src/documentation/pages/icon.mdx +124 -0
- package/src/documentation/pages/image-gallery.mdx +122 -0
- package/src/documentation/pages/image.mdx +179 -0
- package/src/documentation/pages/index.mdx +122 -0
- package/src/documentation/pages/input.mdx +331 -0
- package/src/documentation/pages/installation.mdx +150 -0
- package/src/documentation/pages/jittered-distribution.mdx +215 -0
- package/src/documentation/pages/label.mdx +99 -0
- package/src/documentation/pages/layout.mdx +270 -0
- 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 +523 -0
- package/src/documentation/pages/navigation-menu.mdx +176 -0
- package/src/documentation/pages/newsletter.mdx +64 -0
- package/src/documentation/pages/normalized-stack.mdx +221 -0
- package/src/documentation/pages/number-input.mdx +230 -0
- package/src/documentation/pages/pagination.mdx +168 -0
- package/src/documentation/pages/parliament-hemicycle.mdx +236 -0
- package/src/documentation/pages/popover.mdx +205 -0
- package/src/documentation/pages/presentation.mdx +546 -0
- package/src/documentation/pages/presentations.mdx +61 -0
- package/src/documentation/pages/pricing.mdx +140 -0
- package/src/documentation/pages/product-showcase.mdx +74 -0
- package/src/documentation/pages/progress.mdx +127 -0
- package/src/documentation/pages/radio.mdx +246 -0
- 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 +84 -0
- package/src/documentation/pages/select.mdx +184 -0
- package/src/documentation/pages/separator.mdx +129 -0
- package/src/documentation/pages/shapes.mdx +504 -0
- package/src/documentation/pages/sheet.mdx +274 -0
- package/src/documentation/pages/sidebar.mdx +244 -0
- package/src/documentation/pages/site-footer.mdx +105 -0
- package/src/documentation/pages/site-header.mdx +101 -0
- package/src/documentation/pages/sizing.mdx +229 -0
- package/src/documentation/pages/skeleton.mdx +67 -0
- package/src/documentation/pages/slider.mdx +155 -0
- package/src/documentation/pages/slopegraph.mdx +222 -0
- package/src/documentation/pages/small-multiples.mdx +239 -0
- package/src/documentation/pages/sortable.mdx +358 -0
- package/src/documentation/pages/spacing.mdx +316 -0
- package/src/documentation/pages/spinner.mdx +77 -0
- package/src/documentation/pages/state-api.mdx +124 -0
- package/src/documentation/pages/statistic.mdx +86 -0
- package/src/documentation/pages/stats.mdx +83 -0
- package/src/documentation/pages/steps.mdx +321 -0
- package/src/documentation/pages/story-state-machine.mdx +206 -0
- package/src/documentation/pages/sunburst.mdx +242 -0
- package/src/documentation/pages/switch.mdx +134 -0
- package/src/documentation/pages/system-in-numbers.mdx +613 -0
- package/src/documentation/pages/table.mdx +146 -0
- package/src/documentation/pages/tabs.mdx +236 -0
- package/src/documentation/pages/testimonials.mdx +92 -0
- package/src/documentation/pages/textarea.mdx +70 -0
- package/src/documentation/pages/theme-river.mdx +235 -0
- package/src/documentation/pages/theme-switcher.mdx +136 -0
- package/src/documentation/pages/theming.mdx +252 -0
- package/src/documentation/pages/timeline.mdx +134 -0
- package/src/documentation/pages/toast.mdx +123 -0
- package/src/documentation/pages/toc.mdx +144 -0
- package/src/documentation/pages/toggle-group.mdx +284 -0
- package/src/documentation/pages/toggle.mdx +139 -0
- package/src/documentation/pages/toolbar.mdx +157 -0
- package/src/documentation/pages/tooltip.mdx +192 -0
- package/src/documentation/pages/tree-view.mdx +589 -0
- package/src/documentation/pages/treemap.mdx +245 -0
- package/src/documentation/pages/type-badge.mdx +66 -0
- package/src/documentation/pages/typography.mdx +135 -0
- 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 +461 -0
- package/AGENTS.md +0 -1017
- package/ARCH.md +0 -149
- package/Makefile +0 -58
- package/bun.lock +0 -343
- package/dist/architecture_tpl.html +0 -153
- package/dist/documentation/accessibility.html +0 -468
- package/dist/documentation/accordion.html +0 -817
- package/dist/documentation/alert-dialog.html +0 -538
- package/dist/documentation/alert.html +0 -334
- package/dist/documentation/animations.html +0 -412
- package/dist/documentation/architecture.html +0 -210
- package/dist/documentation/avatar.html +0 -558
- package/dist/documentation/badge.html +0 -353
- package/dist/documentation/blog.html +0 -431
- package/dist/documentation/brand-logos.html +0 -296
- package/dist/documentation/breadcrumb.html +0 -325
- package/dist/documentation/button-group.html +0 -448
- package/dist/documentation/button.html +0 -560
- package/dist/documentation/calendar.html +0 -686
- package/dist/documentation/card.html +0 -454
- package/dist/documentation/carousel.html +0 -844
- package/dist/documentation/cascade-layers.html +0 -451
- package/dist/documentation/changelog.html +0 -581
- package/dist/documentation/checkbox.html +0 -487
- package/dist/documentation/collapsible.html +0 -396
- package/dist/documentation/color-picker.html +0 -368
- package/dist/documentation/combobox.html +0 -833
- package/dist/documentation/command.html +0 -517
- package/dist/documentation/component-skills.html +0 -330
- package/dist/documentation/context-menu.html +0 -441
- package/dist/documentation/css/docs-theme.css +0 -41
- package/dist/documentation/css/docs-utilities.css +0 -64
- package/dist/documentation/css/layout.css +0 -861
- package/dist/documentation/dark-mode.html +0 -348
- package/dist/documentation/data-attribute-api.html +0 -517
- package/dist/documentation/date-picker.html +0 -291
- package/dist/documentation/dialog.html +0 -711
- package/dist/documentation/dropdown.html +0 -798
- package/dist/documentation/es-modules.html +0 -410
- package/dist/documentation/faq.html +0 -361
- package/dist/documentation/feature-details.html +0 -430
- package/dist/documentation/file-input.html +0 -295
- 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 -711
- package/dist/documentation/get-in-touch.html +0 -294
- package/dist/documentation/hero.html +0 -283
- package/dist/documentation/icon.html +0 -477
- package/dist/documentation/image.html +0 -763
- 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 -340
- package/dist/documentation/input.html +0 -618
- package/dist/documentation/installation.html +0 -244
- package/dist/documentation/js/layout.js +0 -883
- 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 -283
- package/dist/documentation/js/theme-switcher.js +0 -143
- package/dist/documentation/js/themes.js +0 -1747
- package/dist/documentation/label.html +0 -397
- package/dist/documentation/native-web-apis.html +0 -299
- package/dist/documentation/navigation-menu.html +0 -446
- package/dist/documentation/newsletter.html +0 -305
- package/dist/documentation/number-input.html +0 -415
- package/dist/documentation/pagination.html +0 -405
- package/dist/documentation/popover.html +0 -501
- package/dist/documentation/pricing.html +0 -550
- package/dist/documentation/product-showcase.html +0 -410
- package/dist/documentation/progress.html +0 -345
- package/dist/documentation/radio.html +0 -659
- package/dist/documentation/scroll-area.html +0 -217
- package/dist/documentation/select.html +0 -347
- package/dist/documentation/separator.html +0 -440
- package/dist/documentation/sheet.html +0 -872
- package/dist/documentation/sidebar.html +0 -864
- package/dist/documentation/site-footer.html +0 -422
- package/dist/documentation/site-header.html +0 -382
- package/dist/documentation/skeleton.html +0 -286
- package/dist/documentation/slider.html +0 -587
- package/dist/documentation/sortable.html +0 -787
- package/dist/documentation/spinner.html +0 -294
- package/dist/documentation/statistic.html +0 -384
- package/dist/documentation/stats.html +0 -364
- package/dist/documentation/steps.html +0 -578
- package/dist/documentation/switch.html +0 -474
- package/dist/documentation/table.html +0 -442
- package/dist/documentation/tabs.html +0 -813
- package/dist/documentation/testimonials.html +0 -417
- package/dist/documentation/textarea.html +0 -315
- package/dist/documentation/theming.html +0 -334
- package/dist/documentation/timeline.html +0 -369
- package/dist/documentation/toast.html +0 -781
- package/dist/documentation/toggle-group.html +0 -705
- package/dist/documentation/toggle.html +0 -537
- package/dist/documentation/toolbar.html +0 -432
- package/dist/documentation/tooltip.html +0 -723
- package/dist/documentation/tree-view.html +0 -582
- package/dist/documentation/typography.html +0 -547
- package/dist/documentation/videos/demo.mp4 +0 -0
- package/dist/documentation/videos/demo.webm +0 -0
- package/dist/theme/default-semantic-tokens.css +0 -139
- package/docs/404.html +0 -340
- package/docs/accessibility.html +0 -468
- package/docs/accordion.html +0 -817
- package/docs/alert-dialog.html +0 -538
- package/docs/alert.html +0 -334
- package/docs/animations.html +0 -412
- package/docs/architecture.html +0 -210
- package/docs/avatar.html +0 -558
- package/docs/badge.html +0 -353
- package/docs/blog.html +0 -431
- package/docs/brand-logos.html +0 -296
- package/docs/breadcrumb.html +0 -325
- package/docs/button-group.html +0 -448
- package/docs/button.html +0 -560
- package/docs/calendar.html +0 -686
- package/docs/card.html +0 -454
- package/docs/carousel.html +0 -844
- package/docs/cascade-layers.html +0 -451
- package/docs/changelog.html +0 -581
- package/docs/checkbox.html +0 -487
- package/docs/collapsible.html +0 -396
- package/docs/color-picker.html +0 -368
- package/docs/combobox.html +0 -833
- package/docs/command.html +0 -517
- package/docs/component-skills.html +0 -330
- package/docs/context-menu.html +0 -441
- package/docs/css/docs-theme.css +0 -41
- package/docs/css/docs-utilities.css +0 -64
- package/docs/css/layout.css +0 -861
- package/docs/dark-mode.html +0 -348
- package/docs/data-attribute-api.html +0 -517
- package/docs/date-picker.html +0 -291
- package/docs/dialog.html +0 -711
- package/docs/dropdown.html +0 -798
- package/docs/es-modules.html +0 -410
- package/docs/faq.html +0 -361
- package/docs/feature-details.html +0 -430
- package/docs/file-input.html +0 -295
- 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 -711
- package/docs/get-in-touch.html +0 -294
- package/docs/hero.html +0 -283
- package/docs/icon.html +0 -477
- package/docs/image.html +0 -763
- 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 -340
- package/docs/input.html +0 -618
- package/docs/installation.html +0 -244
- package/docs/js/layout.js +0 -883
- package/docs/js/search-index.js +0 -8
- package/docs/js/shiki-highlight.js +0 -69
- package/docs/js/site.js +0 -283
- package/docs/js/theme-switcher.js +0 -143
- package/docs/js/themes.js +0 -1747
- package/docs/label.html +0 -397
- package/docs/native-web-apis.html +0 -299
- package/docs/navigation-menu.html +0 -446
- package/docs/newsletter.html +0 -305
- package/docs/number-input.html +0 -415
- package/docs/pagination.html +0 -405
- package/docs/popover.html +0 -501
- package/docs/pricing.html +0 -550
- package/docs/product-showcase.html +0 -410
- package/docs/progress.html +0 -345
- package/docs/radio.html +0 -659
- package/docs/robots.txt +0 -4
- package/docs/scroll-area.html +0 -217
- package/docs/select.html +0 -347
- package/docs/separator.html +0 -440
- package/docs/sheet.html +0 -872
- package/docs/sidebar.html +0 -864
- package/docs/site-footer.html +0 -422
- package/docs/site-header.html +0 -382
- package/docs/sitemap.xml +0 -73
- package/docs/skeleton.html +0 -286
- package/docs/slider.html +0 -587
- package/docs/sortable.html +0 -787
- package/docs/spinner.html +0 -294
- package/docs/statistic.html +0 -384
- package/docs/stats.html +0 -364
- package/docs/steps.html +0 -578
- package/docs/switch.html +0 -474
- package/docs/table.html +0 -442
- package/docs/tabs.html +0 -813
- package/docs/testimonials.html +0 -417
- package/docs/textarea.html +0 -315
- package/docs/theming.html +0 -334
- package/docs/timeline.html +0 -369
- package/docs/toast.html +0 -781
- package/docs/toggle-group.html +0 -705
- package/docs/toggle.html +0 -537
- package/docs/toolbar.html +0 -432
- package/docs/tooltip.html +0 -723
- package/docs/tree-view.html +0 -582
- package/docs/typography.html +0 -547
- package/docs/videos/demo.mp4 +0 -0
- package/docs/videos/demo.webm +0 -0
- package/scripts/build.ts +0 -80
- package/scripts/create-screenshots.ts +0 -226
- package/scripts/deploy.sh +0 -198
- package/scripts/lib/arch-page.ts +0 -153
- package/scripts/lib/audit.ts +0 -127
- package/scripts/lib/changelog.ts +0 -176
- package/scripts/lib/contrast.ts +0 -227
- package/scripts/lib/inputs.ts +0 -76
- package/scripts/lib/mirror.ts +0 -76
- package/scripts/lib/readme.ts +0 -33
- package/scripts/lib/search-index.ts +0 -99
- package/scripts/lib/skill-files.ts +0 -45
- package/scripts/lib/skill.ts +0 -83
- package/scripts/lib/snippets.ts +0 -57
- package/scripts/purge-cdn.ts +0 -76
- package/scripts/push.sh +0 -34
- package/scripts/sync-css-snippets.ts +0 -54
- package/scripts/sync-docs.ts +0 -37
- package/scripts/sync-js-snippets.ts +0 -47
- package/scripts/verify.ts +0 -949
- package/src/SKILL.md +0 -676
- package/src/SKILL_tpl.md +0 -66
- package/src/architecture_tpl.html +0 -153
- package/src/components/accordion/accordion.css +0 -89
- package/src/components/accordion/accordion.ts +0 -107
- package/src/components/accordion/component-skill.md +0 -174
- package/src/components/alert/alert.css +0 -67
- package/src/components/alert/component-skill.md +0 -64
- package/src/components/alert-dialog/alert-dialog.css +0 -144
- package/src/components/alert-dialog/alert-dialog.ts +0 -92
- package/src/components/alert-dialog/component-skill.md +0 -65
- package/src/components/avatar/avatar.css +0 -97
- package/src/components/avatar/avatar.ts +0 -84
- package/src/components/avatar/component-skill.md +0 -80
- package/src/components/badge/badge.css +0 -30
- package/src/components/badge/component-skill.md +0 -48
- package/src/components/blog/blog.css +0 -122
- package/src/components/blog/component-skill.md +0 -85
- package/src/components/brand-logos/brand-logos.css +0 -74
- package/src/components/brand-logos/component-skill.md +0 -58
- package/src/components/breadcrumb/breadcrumb.css +0 -50
- package/src/components/breadcrumb/component-skill.md +0 -119
- package/src/components/button/button.css +0 -141
- package/src/components/button/component-skill.md +0 -90
- package/src/components/button-group/button-group.css +0 -97
- package/src/components/button-group/component-skill.md +0 -75
- package/src/components/calendar/calendar.css +0 -187
- package/src/components/calendar/calendar.ts +0 -219
- package/src/components/calendar/component-skill.md +0 -83
- package/src/components/card/card.css +0 -61
- package/src/components/card/component-skill.md +0 -129
- package/src/components/carousel/carousel.css +0 -153
- package/src/components/carousel/carousel.ts +0 -236
- package/src/components/carousel/component-skill.md +0 -175
- package/src/components/checkbox/checkbox.css +0 -130
- package/src/components/checkbox/component-skill.md +0 -108
- package/src/components/collapsible/collapsible.css +0 -117
- package/src/components/collapsible/component-skill.md +0 -40
- package/src/components/color-picker/color-picker.css +0 -42
- package/src/components/color-picker/color-picker.ts +0 -72
- package/src/components/color-picker/component-skill.md +0 -51
- package/src/components/combobox/combobox.css +0 -230
- package/src/components/combobox/combobox.ts +0 -174
- package/src/components/combobox/component-skill.md +0 -178
- package/src/components/command/command.css +0 -84
- package/src/components/command/command.ts +0 -163
- package/src/components/command/component-skill.md +0 -112
- package/src/components/context-menu/component-skill.md +0 -43
- package/src/components/context-menu/context-menu.css +0 -75
- package/src/components/context-menu/context-menu.ts +0 -138
- package/src/components/date-picker/component-skill.md +0 -48
- package/src/components/date-picker/date-picker.css +0 -60
- package/src/components/dialog/component-skill.md +0 -119
- package/src/components/dialog/dialog.css +0 -85
- package/src/components/dialog/dialog.ts +0 -84
- package/src/components/dropdown/component-skill.md +0 -170
- package/src/components/dropdown/dropdown.css +0 -156
- package/src/components/dropdown/dropdown.ts +0 -132
- package/src/components/faq/component-skill.md +0 -67
- package/src/components/faq/faq.css +0 -88
- package/src/components/feature-details/component-skill.md +0 -83
- package/src/components/feature-details/feature-details.css +0 -130
- package/src/components/file-input/component-skill.md +0 -45
- package/src/components/file-input/file-input.css +0 -66
- package/src/components/form/component-skill.md +0 -142
- package/src/components/form/form.css +0 -135
- package/src/components/get-in-touch/component-skill.md +0 -63
- package/src/components/get-in-touch/get-in-touch.css +0 -74
- package/src/components/hero/component-skill.md +0 -55
- package/src/components/hero/hero.css +0 -63
- package/src/components/icon/component-skill.md +0 -167
- package/src/components/icon/icon.css +0 -53
- package/src/components/image/component-skill.md +0 -193
- package/src/components/image/image.css +0 -182
- package/src/components/image/image.ts +0 -181
- package/src/components/input/component-skill.md +0 -145
- package/src/components/input/input.css +0 -153
- package/src/components/label/component-skill.md +0 -111
- package/src/components/label/label.css +0 -56
- package/src/components/navigation-menu/component-skill.md +0 -96
- package/src/components/navigation-menu/navigation-menu.css +0 -59
- package/src/components/navigation-menu/navigation-menu.ts +0 -80
- package/src/components/newsletter/component-skill.md +0 -62
- package/src/components/newsletter/newsletter.css +0 -65
- package/src/components/number-input/component-skill.md +0 -49
- package/src/components/number-input/number-input.css +0 -86
- package/src/components/number-input/number-input.ts +0 -81
- package/src/components/pagination/component-skill.md +0 -117
- package/src/components/pagination/pagination.css +0 -51
- package/src/components/popover/component-skill.md +0 -98
- package/src/components/popover/popover.css +0 -87
- package/src/components/popover/popover.ts +0 -78
- package/src/components/pricing/component-skill.md +0 -107
- package/src/components/pricing/pricing.css +0 -171
- package/src/components/product-showcase/component-skill.md +0 -89
- 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 -36
- package/src/components/progress/progress.css +0 -76
- package/src/components/radio/component-skill.md +0 -148
- package/src/components/radio/radio.css +0 -210
- package/src/components/scroll-area/component-skill.md +0 -52
- package/src/components/scroll-area/scroll-area.css +0 -21
- package/src/components/select/component-skill.md +0 -86
- package/src/components/select/select.css +0 -79
- package/src/components/separator/component-skill.md +0 -101
- package/src/components/separator/separator.css +0 -65
- package/src/components/sheet/component-skill.md +0 -130
- package/src/components/sheet/sheet.css +0 -241
- package/src/components/sheet/sheet.ts +0 -81
- package/src/components/sidebar/component-skill.md +0 -196
- package/src/components/sidebar/sidebar.css +0 -376
- package/src/components/sidebar/sidebar.ts +0 -109
- package/src/components/site-footer/component-skill.md +0 -80
- package/src/components/site-footer/site-footer.css +0 -104
- package/src/components/site-header/component-skill.md +0 -96
- package/src/components/site-header/site-header.css +0 -73
- package/src/components/skeleton/component-skill.md +0 -42
- package/src/components/skeleton/skeleton.css +0 -43
- package/src/components/slider/component-skill.md +0 -130
- package/src/components/slider/slider.css +0 -178
- package/src/components/slider/slider.ts +0 -79
- package/src/components/sortable/component-skill.md +0 -146
- package/src/components/sortable/sortable.css +0 -131
- package/src/components/sortable/sortable.ts +0 -269
- package/src/components/spinner/component-skill.md +0 -42
- package/src/components/spinner/spinner.css +0 -48
- package/src/components/statistic/component-skill.md +0 -53
- package/src/components/statistic/statistic.css +0 -53
- package/src/components/stats/component-skill.md +0 -68
- package/src/components/stats/stats.css +0 -88
- package/src/components/steps/component-skill.md +0 -191
- package/src/components/steps/steps.css +0 -95
- package/src/components/switch/component-skill.md +0 -85
- package/src/components/switch/switch.css +0 -153
- package/src/components/table/component-skill.md +0 -59
- package/src/components/table/table.css +0 -135
- package/src/components/tabs/component-skill.md +0 -174
- package/src/components/tabs/tabs.css +0 -123
- package/src/components/tabs/tabs.ts +0 -129
- package/src/components/testimonials/component-skill.md +0 -79
- package/src/components/testimonials/testimonials.css +0 -129
- package/src/components/textarea/component-skill.md +0 -49
- package/src/components/textarea/textarea.css +0 -82
- package/src/components/timeline/component-skill.md +0 -53
- package/src/components/timeline/timeline.css +0 -78
- package/src/components/toast/component-skill.md +0 -151
- package/src/components/toast/toast.css +0 -235
- package/src/components/toast/toast.ts +0 -173
- package/src/components/toggle/component-skill.md +0 -108
- package/src/components/toggle/toggle.css +0 -116
- package/src/components/toggle/toggle.ts +0 -73
- package/src/components/toggle-group/component-skill.md +0 -172
- package/src/components/toggle-group/toggle-group.css +0 -129
- package/src/components/toggle-group/toggle-group.ts +0 -131
- package/src/components/toolbar/component-skill.md +0 -91
- package/src/components/toolbar/toolbar.css +0 -39
- package/src/components/toolbar/toolbar.ts +0 -109
- package/src/components/tooltip/component-skill.md +0 -116
- 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 -71
- package/src/components/tree-view/tree-view.css +0 -164
- package/src/components/tree-view/tree-view.ts +0 -118
- package/src/components/typography/component-skill.md +0 -119
- package/src/components/typography/typography.css +0 -152
- package/src/documentation/accessibility.html +0 -468
- package/src/documentation/accordion.html +0 -817
- package/src/documentation/alert-dialog.html +0 -538
- package/src/documentation/alert.html +0 -334
- package/src/documentation/animations.html +0 -412
- package/src/documentation/architecture.html +0 -210
- package/src/documentation/avatar.html +0 -558
- package/src/documentation/badge.html +0 -353
- package/src/documentation/blog.html +0 -431
- package/src/documentation/brand-logos.html +0 -296
- package/src/documentation/breadcrumb.html +0 -325
- package/src/documentation/button-group.html +0 -448
- package/src/documentation/button.html +0 -560
- package/src/documentation/calendar.html +0 -686
- package/src/documentation/card.html +0 -454
- package/src/documentation/carousel.html +0 -844
- package/src/documentation/cascade-layers.html +0 -451
- package/src/documentation/changelog.html +0 -581
- package/src/documentation/checkbox.html +0 -487
- package/src/documentation/collapsible.html +0 -396
- package/src/documentation/color-picker.html +0 -368
- package/src/documentation/combobox.html +0 -833
- package/src/documentation/command.html +0 -517
- package/src/documentation/component-skills.html +0 -330
- package/src/documentation/context-menu.html +0 -441
- package/src/documentation/css/docs-theme.css +0 -41
- package/src/documentation/css/docs-utilities.css +0 -64
- package/src/documentation/css/layout.css +0 -861
- package/src/documentation/dark-mode.html +0 -348
- package/src/documentation/data-attribute-api.html +0 -517
- package/src/documentation/date-picker.html +0 -291
- package/src/documentation/dialog.html +0 -711
- package/src/documentation/dropdown.html +0 -798
- package/src/documentation/es-modules.html +0 -410
- package/src/documentation/faq.html +0 -361
- package/src/documentation/feature-details.html +0 -430
- package/src/documentation/file-input.html +0 -295
- package/src/documentation/fonts/fraunces-300.woff2 +0 -0
- package/src/documentation/fonts/fraunces-300i.woff2 +0 -0
- package/src/documentation/fonts/fraunces-400.woff2 +0 -0
- package/src/documentation/fonts/fraunces-400i.woff2 +0 -0
- package/src/documentation/fonts/fraunces-500.woff2 +0 -0
- package/src/documentation/fonts/geist-300.woff2 +0 -0
- package/src/documentation/fonts/geist-400.woff2 +0 -0
- package/src/documentation/fonts/geist-500.woff2 +0 -0
- package/src/documentation/fonts/geist-600.woff2 +0 -0
- package/src/documentation/fonts/geist-mono-400.woff2 +0 -0
- package/src/documentation/fonts/geist-mono-500.woff2 +0 -0
- package/src/documentation/form.html +0 -711
- package/src/documentation/get-in-touch.html +0 -294
- package/src/documentation/hero.html +0 -283
- package/src/documentation/icon.html +0 -477
- package/src/documentation/image.html +0 -763
- package/src/documentation/images/favicon.webp +0 -0
- package/src/documentation/images/mk-portrait.png +0 -0
- package/src/documentation/images/mk-portrait2.png +0 -0
- package/src/documentation/images/mk-square.png +0 -0
- package/src/documentation/images/mk-wide.png +0 -0
- package/src/documentation/images/mk-wide2.png +0 -0
- package/src/documentation/images/mk-wide3.png +0 -0
- package/src/documentation/index.html +0 -340
- package/src/documentation/input.html +0 -618
- package/src/documentation/installation.html +0 -244
- package/src/documentation/js/layout.ts +0 -886
- package/src/documentation/js/search-index.js +0 -8
- package/src/documentation/js/shiki-highlight.ts +0 -83
- package/src/documentation/js/site.ts +0 -291
- package/src/documentation/js/theme-switcher.ts +0 -158
- package/src/documentation/js/themes.ts +0 -1748
- package/src/documentation/label.html +0 -397
- package/src/documentation/native-web-apis.html +0 -299
- package/src/documentation/navigation-menu.html +0 -446
- package/src/documentation/newsletter.html +0 -305
- package/src/documentation/number-input.html +0 -415
- package/src/documentation/pagination.html +0 -405
- package/src/documentation/popover.html +0 -501
- package/src/documentation/pricing.html +0 -550
- package/src/documentation/product-showcase.html +0 -410
- package/src/documentation/progress.html +0 -345
- package/src/documentation/radio.html +0 -659
- package/src/documentation/scroll-area.html +0 -217
- package/src/documentation/select.html +0 -347
- package/src/documentation/separator.html +0 -440
- package/src/documentation/sheet.html +0 -872
- package/src/documentation/sidebar.html +0 -864
- package/src/documentation/site-footer.html +0 -422
- package/src/documentation/site-header.html +0 -382
- package/src/documentation/skeleton.html +0 -286
- package/src/documentation/slider.html +0 -587
- package/src/documentation/sortable.html +0 -787
- package/src/documentation/spinner.html +0 -294
- package/src/documentation/statistic.html +0 -384
- package/src/documentation/stats.html +0 -364
- package/src/documentation/steps.html +0 -578
- package/src/documentation/switch.html +0 -474
- package/src/documentation/table.html +0 -442
- package/src/documentation/tabs.html +0 -813
- package/src/documentation/testimonials.html +0 -417
- package/src/documentation/textarea.html +0 -315
- package/src/documentation/theming.html +0 -334
- package/src/documentation/timeline.html +0 -369
- package/src/documentation/toast.html +0 -781
- package/src/documentation/toggle-group.html +0 -705
- package/src/documentation/toggle.html +0 -537
- package/src/documentation/toolbar.html +0 -432
- package/src/documentation/tooltip.html +0 -723
- package/src/documentation/tree-view.html +0 -582
- package/src/documentation/typography.html +0 -547
- package/src/documentation/videos/demo.mp4 +0 -0
- package/src/documentation/videos/demo.webm +0 -0
- package/src/robots.txt +0 -4
- package/src/shared/state-api.ts +0 -43
- package/src/sitemap.xml +0 -73
- package/src/theme/default-semantic-tokens.css +0 -139
- package/src/types/defuss-shadcn.d.ts +0 -86
- package/src/types/raw-import.d.ts +0 -11
- package/tests/changelog.test.ts +0 -184
- package/tests/contrast.test.ts +0 -217
- package/tests/e2e/accordion.e2e-fixture.html +0 -152
- package/tests/e2e/accordion.e2e.ts +0 -230
- package/tests/e2e/alert-dialog.e2e-fixture.html +0 -33
- package/tests/e2e/alert-dialog.e2e.ts +0 -159
- package/tests/e2e/alert.e2e-fixture.html +0 -27
- package/tests/e2e/alert.e2e.ts +0 -37
- package/tests/e2e/avatar.e2e-fixture.html +0 -38
- package/tests/e2e/avatar.e2e.ts +0 -149
- package/tests/e2e/badge.e2e-fixture.html +0 -17
- package/tests/e2e/badge.e2e.ts +0 -35
- 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 -29
- package/tests/e2e/breadcrumb.e2e.ts +0 -51
- package/tests/e2e/button-group.e2e-fixture.html +0 -29
- package/tests/e2e/button-group.e2e.ts +0 -73
- package/tests/e2e/button.e2e-fixture.html +0 -29
- package/tests/e2e/button.e2e.ts +0 -80
- package/tests/e2e/calendar.e2e-fixture.html +0 -22
- package/tests/e2e/calendar.e2e.ts +0 -193
- package/tests/e2e/card.e2e-fixture.html +0 -28
- package/tests/e2e/card.e2e.ts +0 -50
- 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 -27
- package/tests/e2e/collapsible.e2e.ts +0 -36
- package/tests/e2e/color-picker.e2e-fixture.html +0 -24
- package/tests/e2e/color-picker.e2e.ts +0 -113
- package/tests/e2e/combobox.e2e-fixture.html +0 -58
- package/tests/e2e/combobox.e2e.ts +0 -299
- package/tests/e2e/command.e2e-fixture.html +0 -42
- package/tests/e2e/command.e2e.ts +0 -166
- package/tests/e2e/context-menu.e2e-fixture.html +0 -22
- package/tests/e2e/context-menu.e2e.ts +0 -158
- package/tests/e2e/date-picker.e2e-fixture.html +0 -14
- package/tests/e2e/date-picker.e2e.ts +0 -19
- package/tests/e2e/dialog.e2e-fixture.html +0 -44
- package/tests/e2e/dialog.e2e.ts +0 -166
- package/tests/e2e/documentation.e2e.ts +0 -333
- package/tests/e2e/dropdown.e2e-fixture.html +0 -42
- package/tests/e2e/dropdown.e2e.ts +0 -227
- 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 -14
- package/tests/e2e/file-input.e2e.ts +0 -33
- package/tests/e2e/form.e2e-fixture.html +0 -35
- package/tests/e2e/form.e2e.ts +0 -41
- package/tests/e2e/get-in-touch.e2e-fixture.html +0 -30
- package/tests/e2e/get-in-touch.e2e.ts +0 -42
- 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 -18
- package/tests/e2e/input.e2e.ts +0 -61
- 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 -91
- package/tests/e2e/navigation-menu.e2e-fixture.html +0 -37
- package/tests/e2e/navigation-menu.e2e.ts +0 -133
- 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 -25
- package/tests/e2e/number-input.e2e.ts +0 -139
- package/tests/e2e/pagination.e2e-fixture.html +0 -22
- package/tests/e2e/pagination.e2e.ts +0 -46
- package/tests/e2e/popover.e2e-fixture.html +0 -45
- package/tests/e2e/popover.e2e.ts +0 -141
- 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 -15
- package/tests/e2e/progress.e2e.ts +0 -39
- package/tests/e2e/radio.e2e-fixture.html +0 -43
- package/tests/e2e/radio.e2e.ts +0 -75
- package/tests/e2e/run.ts +0 -32
- package/tests/e2e/scroll-area.e2e-fixture.html +0 -15
- package/tests/e2e/scroll-area.e2e.ts +0 -29
- package/tests/e2e/select.e2e-fixture.html +0 -30
- 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 -67
- package/tests/e2e/sheet.e2e.ts +0 -265
- package/tests/e2e/sidebar.e2e-fixture.html +0 -65
- package/tests/e2e/sidebar.e2e.ts +0 -211
- 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/skeleton.e2e-fixture.html +0 -14
- package/tests/e2e/skeleton.e2e.ts +0 -30
- package/tests/e2e/slider.e2e-fixture.html +0 -23
- package/tests/e2e/slider.e2e.ts +0 -158
- package/tests/e2e/sortable.e2e-fixture.html +0 -25
- package/tests/e2e/sortable.e2e.ts +0 -191
- package/tests/e2e/spinner.e2e-fixture.html +0 -16
- 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 -40
- package/tests/e2e/steps.e2e.ts +0 -56
- package/tests/e2e/switch.e2e-fixture.html +0 -17
- package/tests/e2e/switch.e2e.ts +0 -68
- package/tests/e2e/table.e2e-fixture.html +0 -35
- package/tests/e2e/table.e2e.ts +0 -44
- package/tests/e2e/tabs.e2e-fixture.html +0 -34
- package/tests/e2e/tabs.e2e.ts +0 -147
- 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/timeline.e2e-fixture.html +0 -27
- package/tests/e2e/timeline.e2e.ts +0 -39
- package/tests/e2e/toast.e2e-fixture.html +0 -29
- package/tests/e2e/toast.e2e.ts +0 -221
- package/tests/e2e/toggle-group.e2e-fixture.html +0 -55
- package/tests/e2e/toggle-group.e2e.ts +0 -190
- package/tests/e2e/toggle.e2e-fixture.html +0 -20
- package/tests/e2e/toggle.e2e.ts +0 -136
- package/tests/e2e/toolbar.e2e-fixture.html +0 -42
- package/tests/e2e/toolbar.e2e.ts +0 -161
- 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 -45
- package/tests/e2e/tree-view.e2e.ts +0 -206
- package/tests/e2e/typography.e2e-fixture.html +0 -24
- package/tests/e2e/typography.e2e.ts +0 -70
- package/tests/helpers.ts +0 -68
- package/tests/readme.test.ts +0 -42
- package/tests/skill.test.ts +0 -117
- package/tests/ui.test.ts +0 -225
- package/tsconfig.json +0 -25
- 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,45 +9,93 @@
|
|
|
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
|
-
|
|
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 -->
|
|
17
|
+
The footprint is measured from the shipped `dist/` files on every build and published as
|
|
18
|
+
[`dist/stats.json`](dist/stats.json); `verify` fails the build if this sentence and that file disagree.
|
|
15
19
|
|
|
16
|
-
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.
|
|
17
21
|
|
|
18
|
-
**[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.
|
|
25
|
+
|
|
26
|
+
Why this system exists, from the agents who built it: [ARCH.md](ARCH.md).
|
|
19
27
|
|
|
20
28
|
## What this is
|
|
21
29
|
|
|
22
30
|
A portable UI component system built on the [shadcn/ui](https://ui.shadcn.com) token model.
|
|
23
31
|
|
|
24
|
-
- **Themeable**
|
|
25
|
-
- **Component Skills**
|
|
26
|
-
- **Observable state**
|
|
27
|
-
- **Accessible**
|
|
28
|
-
- **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
|
|
29
37
|
|
|
30
38
|
## Quick start
|
|
31
39
|
|
|
32
40
|
### Via CDN
|
|
33
41
|
|
|
34
42
|
```html
|
|
35
|
-
<!-- 1. Add a theme -->
|
|
36
|
-
<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">
|
|
37
45
|
|
|
38
46
|
<!-- 2. Add the icons -->
|
|
39
47
|
<script src="https://unpkg.com/lucide@1.8.0"></script>
|
|
40
48
|
<script>lucide.createIcons();</script>
|
|
41
49
|
|
|
42
|
-
<!--
|
|
50
|
+
<!-- 3a. Everything at once: the bundle (embeds the core runtime) -->
|
|
51
|
+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kyr0/defuss-shadcn@latest/dist/components/all.css">
|
|
52
|
+
<script type="module" src="https://cdn.jsdelivr.net/gh/kyr0/defuss-shadcn@latest/dist/components/all.js"></script>
|
|
53
|
+
|
|
54
|
+
<!-- 3b. …or only the components you use: their CSS, then core.js + their JS -->
|
|
43
55
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kyr0/defuss-shadcn@latest/dist/components/button/button.css">
|
|
44
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>
|
|
45
58
|
<script type="module" src="https://cdn.jsdelivr.net/gh/kyr0/defuss-shadcn@latest/dist/components/dialog/dialog.js"></script>
|
|
46
59
|
```
|
|
47
60
|
|
|
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).
|
|
95
|
+
|
|
48
96
|
### Self-hosting
|
|
49
97
|
|
|
50
|
-
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.
|
|
51
99
|
|
|
52
100
|
**[Download latest (.zip)](https://github.com/kyr0/defuss-shadcn/archive/refs/heads/main.zip)**
|
|
53
101
|
|
|
@@ -57,27 +105,45 @@ Each component is a self-contained folder with up to five layers:
|
|
|
57
105
|
|
|
58
106
|
```
|
|
59
107
|
components/
|
|
108
|
+
├── core.css ← the theme base: tokens + sizing + layout + accessibility
|
|
109
|
+
├── core.js ← the runtime: defuss-morph + defuss-query + shared layer
|
|
110
|
+
├── all.css ← generated bundle: every component stylesheet
|
|
111
|
+
├── all.js ← generated bundle: core runtime + every component's behavior
|
|
60
112
|
└── dialog/
|
|
61
113
|
├── component-skill.md ← structured skill: HTML structure, attributes, ARIA
|
|
62
114
|
├── dialog.css ← stylesheet (uses design tokens)
|
|
63
|
-
└── dialog.js ← interaction behavior (when needed)
|
|
115
|
+
└── dialog.js ← interaction behavior (binds to core, when needed)
|
|
64
116
|
```
|
|
65
117
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
118
|
+
The `all.*` bundle files (with `.min` twins and source maps) are what the
|
|
119
|
+
documentation site itself loads - one `<link>`, one `<script>`, everything included.
|
|
120
|
+
|
|
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.
|
|
71
126
|
|
|
72
|
-
Some components
|
|
127
|
+
Some components - like Button and Badge - are CSS-only. No JavaScript needed.
|
|
73
128
|
|
|
74
129
|
## Theming
|
|
75
130
|
|
|
76
|
-
Tokens are compatible with [tweakcn.com](https://tweakcn.com) theme exports.
|
|
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.
|
|
132
|
+
|
|
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).
|
|
136
|
+
|
|
137
|
+
## Optional modules
|
|
138
|
+
|
|
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:
|
|
140
|
+
|
|
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)
|
|
77
145
|
|
|
78
|
-
|
|
79
|
-
2. Replace the `:root` and `.dark` blocks in `dist/theme/default-semantic-tokens.css`
|
|
80
|
-
3. Everything updates automatically — all components, the doc site, dark mode
|
|
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)
|
|
81
147
|
|
|
82
148
|
## Components
|
|
83
149
|
|
|
@@ -102,13 +168,13 @@ Every component starts from a native HTML element or browser API. If the browser
|
|
|
102
168
|
|
|
103
169
|
### Other principles
|
|
104
170
|
|
|
105
|
-
- **Token-driven**
|
|
106
|
-
- **Dark mode automatic**
|
|
107
|
-
- **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`
|
|
108
174
|
|
|
109
175
|
## Development
|
|
110
176
|
|
|
111
|
-
The repo now has a build step
|
|
177
|
+
The repo now has a build step - but it is for **maintainers and coding agents only**.
|
|
112
178
|
`dist/` is committed, dependency-free, and usable at any time without building anything:
|
|
113
179
|
CDN, self-hosting, and copy-paste all work exactly as before. Just drop `dist/` into a
|
|
114
180
|
project, or download the `.zip`.
|
|
@@ -116,71 +182,75 @@ project, or download the `.zip`.
|
|
|
116
182
|
The toolchain exists so coding agents can **verify correctness of the implementation**,
|
|
117
183
|
not to produce it:
|
|
118
184
|
|
|
119
|
-
- **TypeScript**
|
|
185
|
+
- **TypeScript** - component sources live in `src/` as `.ts`, and the entire test tree
|
|
120
186
|
(Vitest suite, e2e runner, helpers) is TypeScript too, giving agents type-checkable
|
|
121
187
|
contracts; the build strips types to plain JS (`noCheck`, see [`tsconfig.json`](tsconfig.json))
|
|
122
188
|
so what ships is still zero-dependency vanilla JS. `bun run typecheck` (also part of
|
|
123
189
|
`verify`) keeps both tooling trees strict.
|
|
124
|
-
- **State API**
|
|
190
|
+
- **State API** - interactive components declare their states (`const dialogStates = ['default', 'open']`)
|
|
125
191
|
and expose them per element (`el.api.setState(...)` / `el.api.getState()`), plus registry
|
|
126
|
-
globals for tooling. Every declared state must be covered by four artifacts
|
|
127
|
-
(light + dark), doc page, component skill, and e2e assertion
|
|
128
|
-
- **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
|
|
129
195
|
named state) to `screenshots/{light,dark}/` so an agent can *look* at what it changed;
|
|
130
196
|
a content-hash manifest makes re-capture incremental.
|
|
131
|
-
- **E2E tests**
|
|
197
|
+
- **E2E tests** - components are exercised in a real browser against the shipped files
|
|
132
198
|
(see [Testing](#testing)); an agent can prove a change works instead of guessing
|
|
133
|
-
- **oxlint**
|
|
199
|
+
- **oxlint** - `make lint` catches dead code and mistakes instantly, in milliseconds
|
|
134
200
|
|
|
135
201
|
```bash
|
|
136
202
|
bun install # install dev dependencies
|
|
137
|
-
bun run build # compile src/ → dist/ (TypeScript → JS
|
|
203
|
+
bun run build # compile src/ → dist/ (TypeScript → JS, 1:1 copy, all.css/all.js bundle)
|
|
138
204
|
bun run dev # doc site at http://localhost:3000/
|
|
139
205
|
bun run test:run # run the UI test suite (headless Chromium)
|
|
140
206
|
```
|
|
141
207
|
|
|
142
|
-
`src/` is the authoring tree (`.ts
|
|
143
|
-
|
|
208
|
+
`src/` is the authoring tree (component `.ts`/css/md, plus the docs' MDX pages + TSX
|
|
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
|
|
211
|
+
machine-readable `dist/stats.json` (component counts per type, the JS/CSS-only split, and
|
|
212
|
+
byte sizes raw/minified/gzipped via `make stats`). `docs/` is the generated **documentation
|
|
144
213
|
site** (only `dist/documentation/` + the SEO files + a `404.html` copy of `index.html` so
|
|
145
|
-
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
|
|
146
215
|
pages' `../components/…` / `../theme/…` references are rewritten to the jsDelivr GitHub
|
|
147
216
|
CDN by the mirror ([scripts/lib/mirror.ts](scripts/lib/mirror.ts)), so docs/ carries no
|
|
148
217
|
copies of the component assets. Refresh with `bun run docs`, never edit it directly.
|
|
149
218
|
|
|
150
219
|
A `Makefile` wraps the common tasks: `make setup` (install deps + Playwright browsers),
|
|
151
220
|
`make dev`, `make test-run`, `make coverage`, `make e2e`, `make lint` (oxlint),
|
|
152
|
-
`make typecheck`, `make verify`, `make screenshots`, `make docs`. **`make build`** runs
|
|
153
|
-
the whole pipeline
|
|
221
|
+
`make typecheck`, `make verify`, `make screenshots`, `make stats`, `make docs`. **`make build`** runs
|
|
222
|
+
the whole pipeline - lint → compile → bundle → minify → stats → docs SSG (defuss-ssg) → screenshots → docs-mirror → verify → tests → e2e —
|
|
154
223
|
the same loop CI runs.
|
|
155
224
|
|
|
156
225
|
`bun run verify` is the static consistency gate (~0.3 s, runs automatically at the end
|
|
157
226
|
of every build) and the contract every coding agent must satisfy. It checks, among others:
|
|
158
227
|
|
|
159
|
-
- **structure**
|
|
228
|
+
- **structure** - component skills, doc pages, the all.css/all.js bundle includes on every page, sidebar links,
|
|
160
229
|
`.preview` blocks, `dist/` freshness (1:1 with `src/`), `docs/` mirror current (CDN-rewritten)
|
|
161
|
-
- **consistency**
|
|
230
|
+
- **consistency** - inline source snippets match the real files (and are properly escaped),
|
|
162
231
|
skill ↔ docs ↔ CSS variant parity, State API contract + per-state coverage across
|
|
163
232
|
screenshots/docs/skill/e2e, changelog & version markers, doc command references
|
|
164
|
-
(every `bun run`/`make` quoted in the docs must exist)
|
|
165
|
-
|
|
233
|
+
(every `bun run`/`make` quoted in the docs must exist), `dist/stats.json` freshness and
|
|
234
|
+
the stats claims in README/index matching the measured numbers exactly
|
|
235
|
+
- **quality** - token boundary rule (only tweakcn-defined `var(--*)`), undefined utility
|
|
166
236
|
classes, `prefers-reduced-motion` coverage, init idempotency (double-binding guard),
|
|
167
237
|
dead links (parsed with linkedom), portable paths (no machine-absolute paths),
|
|
168
238
|
strict typecheck, render drift (screenshot pixels changed without input changes),
|
|
169
239
|
theme sidebar contrast (every preset's nav text reaches WCAG AA on its real background)
|
|
170
|
-
- **hygiene**
|
|
240
|
+
- **hygiene** - working tree committed, so a green build is a committed build
|
|
171
241
|
|
|
172
|
-
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
|
|
173
243
|
the loop's authority (AGENTS.md defers to its output), so a coding agent can iterate
|
|
174
244
|
`edit → build → do what it says` until the goal is reached. The warn-ratchets for legacy
|
|
175
245
|
rollouts (State API, e2e, reduced motion) are now empty and kept as hard gates against
|
|
176
|
-
regressions. How this all scales without human review
|
|
246
|
+
regressions. How this all scales without human review - and the proof-loop diagram —
|
|
177
247
|
are documented in [ARCH.md](ARCH.md).
|
|
178
248
|
|
|
179
249
|
## Testing
|
|
180
250
|
|
|
181
251
|
Tests exist so agents (and humans) can verify the implementation end-to-end instead of trusting it.
|
|
182
252
|
|
|
183
|
-
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.
|
|
184
254
|
|
|
185
255
|
```bash
|
|
186
256
|
bun run test # watch mode
|
|
@@ -194,7 +264,7 @@ Each component also gets an E2E smoke test in [`tests/e2e/`](tests/e2e/): a stat
|
|
|
194
264
|
fixture page using the component in **all** of its documented configurations (every
|
|
195
265
|
variant, size, and State API state), driven by plain Playwright against the unmodified
|
|
196
266
|
files in `dist/` (`bun run e2e`). This is the verification loop a coding agent runs
|
|
197
|
-
after touching any component
|
|
267
|
+
after touching any component - the shipped files themselves are asserted, so "it
|
|
198
268
|
compiles" is never mistaken for "it works". Every component ships one (the gate is
|
|
199
269
|
hard), and its parity rule keeps fixture, docs and code in lockstep as they change.
|
|
200
270
|
The documentation site itself is covered too ([`tests/e2e/documentation.e2e.ts`](tests/e2e/documentation.e2e.ts)):
|
|
@@ -206,7 +276,7 @@ This project began as a fork of **[shadcn-html](https://github.com/codylindley/s
|
|
|
206
276
|
credit to [Cody Lindley](https://github.com/codylindley) for the original idea and first
|
|
207
277
|
implementation.
|
|
208
278
|
|
|
209
|
-
Maintained by [Aron Homberg](https://aron-homberg.de)
|
|
279
|
+
Maintained by [Aron Homberg](https://aron-homberg.de) - the TypeScript build chain,
|
|
210
280
|
State API, and the verifier-driven quality loop ([ARCH.md](ARCH.md)) described above.
|
|
211
281
|
|
|
212
282
|
## License
|