@work-rjkashyap/unified-ui 0.3.4 → 0.3.6
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/CHANGELOG.md +105 -0
- package/LICENSE +21 -0
- package/dist/components/accordion.cjs +225 -0
- package/dist/components/accordion.d.cts +157 -0
- package/dist/components/accordion.d.ts +157 -0
- package/dist/components/accordion.mjs +199 -0
- package/dist/components/alert-dialog.cjs +246 -0
- package/dist/components/alert-dialog.d.cts +61 -0
- package/dist/components/alert-dialog.d.ts +61 -0
- package/dist/components/alert-dialog.mjs +218 -0
- package/dist/components/alert.cjs +401 -0
- package/dist/components/alert.d.cts +217 -0
- package/dist/components/alert.d.ts +217 -0
- package/dist/components/alert.mjs +374 -0
- package/dist/components/aspect-ratio.cjs +45 -0
- package/dist/components/aspect-ratio.d.cts +10 -0
- package/dist/components/aspect-ratio.d.ts +10 -0
- package/dist/components/aspect-ratio.mjs +23 -0
- package/dist/components/avatar.cjs +348 -0
- package/dist/components/avatar.d.cts +198 -0
- package/dist/components/avatar.d.ts +198 -0
- package/dist/components/avatar.mjs +329 -0
- package/dist/components/badge.cjs +325 -0
- package/dist/components/badge.d.cts +259 -0
- package/dist/components/badge.d.ts +259 -0
- package/dist/components/badge.mjs +298 -0
- package/dist/components/banner.cjs +147 -0
- package/dist/components/banner.d.cts +31 -0
- package/dist/components/banner.d.ts +31 -0
- package/dist/components/banner.mjs +122 -0
- package/dist/components/breadcrumb.cjs +266 -0
- package/dist/components/breadcrumb.d.cts +159 -0
- package/dist/components/breadcrumb.d.ts +159 -0
- package/dist/components/breadcrumb.mjs +235 -0
- package/dist/components/button.cjs +254 -0
- package/dist/components/button.d.cts +126 -0
- package/dist/components/button.d.ts +126 -0
- package/dist/components/button.mjs +229 -0
- package/dist/components/calendar.cjs +511 -0
- package/dist/components/calendar.d.cts +94 -0
- package/dist/components/calendar.d.ts +94 -0
- package/dist/components/calendar.mjs +492 -0
- package/dist/components/card.cjs +234 -0
- package/dist/components/card.d.cts +190 -0
- package/dist/components/card.d.ts +190 -0
- package/dist/components/card.mjs +210 -0
- package/dist/components/carousel.cjs +234 -0
- package/dist/components/carousel.d.cts +30 -0
- package/dist/components/carousel.d.ts +30 -0
- package/dist/components/carousel.mjs +217 -0
- package/dist/components/chart.cjs +122 -0
- package/dist/components/chart.d.cts +103 -0
- package/dist/components/chart.d.ts +103 -0
- package/dist/components/chart.mjs +96 -0
- package/dist/components/checkbox.cjs +318 -0
- package/dist/components/checkbox.d.cts +182 -0
- package/dist/components/checkbox.d.ts +182 -0
- package/dist/components/checkbox.mjs +296 -0
- package/dist/components/code-highlight.cjs +335 -0
- package/dist/components/code-highlight.d.cts +18 -0
- package/dist/components/code-highlight.d.ts +18 -0
- package/dist/components/code-highlight.mjs +308 -0
- package/dist/components/code.cjs +265 -0
- package/dist/components/code.d.cts +40 -0
- package/dist/components/code.d.ts +40 -0
- package/dist/components/code.mjs +243 -0
- package/dist/components/collapsible.cjs +143 -0
- package/dist/components/collapsible.d.cts +159 -0
- package/dist/components/collapsible.d.ts +159 -0
- package/dist/components/collapsible.mjs +123 -0
- package/dist/components/color-picker.cjs +348 -0
- package/dist/components/color-picker.d.cts +35 -0
- package/dist/components/color-picker.d.ts +35 -0
- package/dist/components/color-picker.mjs +331 -0
- package/dist/components/combobox.cjs +584 -0
- package/dist/components/combobox.d.cts +183 -0
- package/dist/components/combobox.d.ts +183 -0
- package/dist/components/combobox.mjs +571 -0
- package/dist/components/command.cjs +329 -0
- package/dist/components/command.d.cts +97 -0
- package/dist/components/command.d.ts +97 -0
- package/dist/components/command.mjs +311 -0
- package/dist/components/confirm-dialog.cjs +100 -0
- package/dist/components/confirm-dialog.d.cts +25 -0
- package/dist/components/confirm-dialog.d.ts +25 -0
- package/dist/components/confirm-dialog.mjs +86 -0
- package/dist/components/context-menu.cjs +325 -0
- package/dist/components/context-menu.d.cts +259 -0
- package/dist/components/context-menu.d.ts +259 -0
- package/dist/components/context-menu.mjs +290 -0
- package/dist/components/copy-button.cjs +203 -0
- package/dist/components/copy-button.d.cts +22 -0
- package/dist/components/copy-button.d.ts +22 -0
- package/dist/components/copy-button.mjs +178 -0
- package/dist/components/data-list.cjs +140 -0
- package/dist/components/data-list.d.cts +36 -0
- package/dist/components/data-list.d.ts +36 -0
- package/dist/components/data-list.mjs +113 -0
- package/dist/components/data-table-toolbar.cjs +338 -0
- package/dist/components/data-table-toolbar.d.cts +84 -0
- package/dist/components/data-table-toolbar.d.ts +84 -0
- package/dist/components/data-table-toolbar.mjs +320 -0
- package/dist/components/data-table.cjs +1324 -0
- package/dist/components/data-table.d.cts +349 -0
- package/dist/components/data-table.d.ts +349 -0
- package/dist/components/data-table.mjs +1323 -0
- package/dist/components/date-picker.cjs +282 -0
- package/dist/components/date-picker.d.cts +97 -0
- package/dist/components/date-picker.d.ts +97 -0
- package/dist/components/date-picker.mjs +258 -0
- package/dist/components/dialog.cjs +319 -0
- package/dist/components/dialog.d.cts +74 -0
- package/dist/components/dialog.d.ts +74 -0
- package/dist/components/dialog.mjs +292 -0
- package/dist/components/drawer.cjs +262 -0
- package/dist/components/drawer.d.cts +113 -0
- package/dist/components/drawer.d.ts +113 -0
- package/dist/components/drawer.mjs +230 -0
- package/dist/components/dropdown-menu.cjs +328 -0
- package/dist/components/dropdown-menu.d.cts +95 -0
- package/dist/components/dropdown-menu.d.ts +95 -0
- package/dist/components/dropdown-menu.mjs +293 -0
- package/dist/components/empty-state.cjs +123 -0
- package/dist/components/empty-state.d.cts +15 -0
- package/dist/components/empty-state.d.ts +15 -0
- package/dist/components/empty-state.mjs +99 -0
- package/dist/components/file-upload.cjs +442 -0
- package/dist/components/file-upload.d.cts +35 -0
- package/dist/components/file-upload.d.ts +35 -0
- package/dist/components/file-upload.mjs +423 -0
- package/dist/components/form-field.cjs +191 -0
- package/dist/components/form-field.d.cts +163 -0
- package/dist/components/form-field.d.ts +163 -0
- package/dist/components/form-field.mjs +167 -0
- package/dist/components/hover-card.cjs +99 -0
- package/dist/components/hover-card.d.cts +28 -0
- package/dist/components/hover-card.d.ts +28 -0
- package/dist/components/hover-card.mjs +75 -0
- package/dist/components/image-gallery.cjs +359 -0
- package/dist/components/image-gallery.d.cts +46 -0
- package/dist/components/image-gallery.d.ts +46 -0
- package/dist/components/image-gallery.mjs +340 -0
- package/dist/components/index.cjs +719 -0
- package/dist/components/index.d.cts +84 -0
- package/dist/components/index.d.ts +84 -0
- package/dist/components/index.mjs +771 -0
- package/dist/components/infinite-scroll.cjs +95 -0
- package/dist/components/infinite-scroll.d.cts +54 -0
- package/dist/components/infinite-scroll.d.ts +54 -0
- package/dist/components/infinite-scroll.mjs +71 -0
- package/dist/components/input-group.cjs +202 -0
- package/dist/components/input-group.d.cts +22 -0
- package/dist/components/input-group.d.ts +22 -0
- package/dist/components/input-group.mjs +178 -0
- package/dist/components/input.cjs +318 -0
- package/dist/components/input.d.cts +99 -0
- package/dist/components/input.d.ts +99 -0
- package/dist/components/input.mjs +296 -0
- package/dist/components/kbd.cjs +69 -0
- package/dist/components/kbd.d.cts +25 -0
- package/dist/components/kbd.d.ts +25 -0
- package/dist/components/kbd.mjs +44 -0
- package/dist/components/label.cjs +138 -0
- package/dist/components/label.d.cts +91 -0
- package/dist/components/label.d.ts +91 -0
- package/dist/components/label.mjs +113 -0
- package/dist/components/markdown.cjs +179 -0
- package/dist/components/markdown.d.cts +41 -0
- package/dist/components/markdown.d.ts +41 -0
- package/dist/components/markdown.mjs +155 -0
- package/dist/components/menubar.cjs +365 -0
- package/dist/components/menubar.d.cts +88 -0
- package/dist/components/menubar.d.ts +88 -0
- package/dist/components/menubar.mjs +329 -0
- package/dist/components/navigation-menu.cjs +280 -0
- package/dist/components/navigation-menu.d.cts +123 -0
- package/dist/components/navigation-menu.d.ts +123 -0
- package/dist/components/navigation-menu.mjs +250 -0
- package/dist/components/number-input.cjs +419 -0
- package/dist/components/number-input.d.cts +111 -0
- package/dist/components/number-input.d.ts +111 -0
- package/dist/components/number-input.mjs +400 -0
- package/dist/components/pagination.cjs +322 -0
- package/dist/components/pagination.d.cts +119 -0
- package/dist/components/pagination.d.ts +119 -0
- package/dist/components/pagination.mjs +297 -0
- package/dist/components/pin-input.cjs +321 -0
- package/dist/components/pin-input.d.cts +112 -0
- package/dist/components/pin-input.d.ts +112 -0
- package/dist/components/pin-input.mjs +303 -0
- package/dist/components/popover.cjs +194 -0
- package/dist/components/popover.d.cts +108 -0
- package/dist/components/popover.d.ts +108 -0
- package/dist/components/popover.mjs +168 -0
- package/dist/components/progress.cjs +237 -0
- package/dist/components/progress.d.cts +137 -0
- package/dist/components/progress.d.ts +137 -0
- package/dist/components/progress.mjs +211 -0
- package/dist/components/radio.cjs +344 -0
- package/dist/components/radio.d.cts +145 -0
- package/dist/components/radio.d.ts +145 -0
- package/dist/components/radio.mjs +320 -0
- package/dist/components/resizable.cjs +121 -0
- package/dist/components/resizable.d.cts +23 -0
- package/dist/components/resizable.d.ts +23 -0
- package/dist/components/resizable.mjs +99 -0
- package/dist/components/scroll-area.cjs +168 -0
- package/dist/components/scroll-area.d.cts +131 -0
- package/dist/components/scroll-area.d.ts +131 -0
- package/dist/components/scroll-area.mjs +143 -0
- package/dist/components/search-input.cjs +261 -0
- package/dist/components/search-input.d.cts +26 -0
- package/dist/components/search-input.d.ts +26 -0
- package/dist/components/search-input.mjs +243 -0
- package/dist/components/select.cjs +320 -0
- package/dist/components/select.d.cts +55 -0
- package/dist/components/select.d.ts +55 -0
- package/dist/components/select.mjs +288 -0
- package/dist/components/separator.cjs +193 -0
- package/dist/components/separator.d.cts +92 -0
- package/dist/components/separator.d.ts +92 -0
- package/dist/components/separator.mjs +170 -0
- package/dist/components/sheet.cjs +399 -0
- package/dist/components/sheet.d.cts +219 -0
- package/dist/components/sheet.d.ts +219 -0
- package/dist/components/sheet.mjs +379 -0
- package/dist/components/sidebar.cjs +1077 -0
- package/dist/components/sidebar.d.cts +733 -0
- package/dist/components/sidebar.d.ts +733 -0
- package/dist/components/sidebar.mjs +1033 -0
- package/dist/components/skeleton.cjs +210 -0
- package/dist/components/skeleton.d.cts +202 -0
- package/dist/components/skeleton.d.ts +202 -0
- package/dist/components/skeleton.mjs +182 -0
- package/dist/components/slider.cjs +319 -0
- package/dist/components/slider.d.cts +82 -0
- package/dist/components/slider.d.ts +82 -0
- package/dist/components/slider.mjs +296 -0
- package/dist/components/sonner.cjs +119 -0
- package/dist/components/sonner.d.cts +60 -0
- package/dist/components/sonner.d.ts +60 -0
- package/dist/components/sonner.mjs +94 -0
- package/dist/components/spinner.cjs +238 -0
- package/dist/components/spinner.d.cts +101 -0
- package/dist/components/spinner.d.ts +101 -0
- package/dist/components/spinner.mjs +213 -0
- package/dist/components/stat.cjs +180 -0
- package/dist/components/stat.d.cts +21 -0
- package/dist/components/stat.d.ts +21 -0
- package/dist/components/stat.mjs +161 -0
- package/dist/components/steps.cjs +228 -0
- package/dist/components/steps.d.cts +76 -0
- package/dist/components/steps.d.ts +76 -0
- package/dist/components/steps.mjs +207 -0
- package/dist/components/switch.cjs +243 -0
- package/dist/components/switch.d.cts +90 -0
- package/dist/components/switch.d.ts +90 -0
- package/dist/components/switch.mjs +228 -0
- package/dist/components/table.cjs +381 -0
- package/dist/components/table.d.cts +181 -0
- package/dist/components/table.d.ts +181 -0
- package/dist/components/table.mjs +349 -0
- package/dist/components/tabs.cjs +326 -0
- package/dist/components/tabs.d.cts +154 -0
- package/dist/components/tabs.d.ts +154 -0
- package/dist/components/tabs.mjs +304 -0
- package/dist/components/textarea.cjs +258 -0
- package/dist/components/textarea.d.cts +112 -0
- package/dist/components/textarea.d.ts +112 -0
- package/dist/components/textarea.mjs +233 -0
- package/dist/components/theme-toggle.cjs +282 -0
- package/dist/components/theme-toggle.d.cts +58 -0
- package/dist/components/theme-toggle.d.ts +58 -0
- package/dist/components/theme-toggle.mjs +258 -0
- package/dist/components/timeline.cjs +178 -0
- package/dist/components/timeline.d.cts +41 -0
- package/dist/components/timeline.d.ts +41 -0
- package/dist/components/timeline.mjs +157 -0
- package/dist/components/toast.cjs +546 -0
- package/dist/components/toast.d.cts +169 -0
- package/dist/components/toast.d.ts +169 -0
- package/dist/components/toast.mjs +528 -0
- package/dist/components/toggle-group.cjs +204 -0
- package/dist/components/toggle-group.d.cts +215 -0
- package/dist/components/toggle-group.d.ts +215 -0
- package/dist/components/toggle-group.mjs +180 -0
- package/dist/components/toggle.cjs +155 -0
- package/dist/components/toggle.d.cts +100 -0
- package/dist/components/toggle.d.ts +100 -0
- package/dist/components/toggle.mjs +130 -0
- package/dist/components/tooltip.cjs +155 -0
- package/dist/components/tooltip.d.cts +129 -0
- package/dist/components/tooltip.d.ts +129 -0
- package/dist/components/tooltip.mjs +132 -0
- package/dist/components/tree-view.cjs +450 -0
- package/dist/components/tree-view.d.cts +67 -0
- package/dist/components/tree-view.d.ts +67 -0
- package/dist/components/tree-view.mjs +433 -0
- package/dist/components/video-player.cjs +344 -0
- package/dist/components/video-player.d.cts +34 -0
- package/dist/components/video-player.d.ts +34 -0
- package/dist/components/video-player.mjs +320 -0
- package/dist/components/virtual-list.cjs +153 -0
- package/dist/components/virtual-list.d.cts +53 -0
- package/dist/components/virtual-list.d.ts +53 -0
- package/dist/components/virtual-list.mjs +136 -0
- package/dist/components/visually-hidden.cjs +43 -0
- package/dist/components/visually-hidden.d.cts +9 -0
- package/dist/components/visually-hidden.d.ts +9 -0
- package/dist/components/visually-hidden.mjs +21 -0
- package/dist/index.cjs +1081 -1957
- package/dist/index.d.cts +99 -11
- package/dist/index.d.ts +99 -11
- package/dist/index.mjs +1138 -16
- package/dist/motion/hooks.cjs +98 -0
- package/dist/motion/hooks.d.cts +32 -0
- package/dist/motion/hooks.d.ts +32 -0
- package/dist/motion/hooks.mjs +70 -0
- package/dist/motion/index.cjs +157 -0
- package/dist/motion/index.d.cts +5 -0
- package/dist/motion/index.d.ts +5 -0
- package/dist/motion/index.mjs +137 -0
- package/dist/motion/presets.cjs +609 -0
- package/dist/{motion.d.ts → motion/presets.d.cts} +1 -30
- package/dist/{motion.d.cts → motion/presets.d.ts} +1 -30
- package/dist/{chunk-PLRSH37T.mjs → motion/presets.mjs} +119 -126
- package/dist/primitives/container.cjs +88 -0
- package/dist/primitives/container.d.cts +82 -0
- package/dist/primitives/container.d.ts +82 -0
- package/dist/primitives/container.mjs +64 -0
- package/dist/primitives/divider.cjs +74 -0
- package/dist/primitives/divider.d.cts +30 -0
- package/dist/primitives/divider.d.ts +30 -0
- package/dist/primitives/divider.mjs +50 -0
- package/dist/primitives/index.cjs +54 -0
- package/dist/primitives/index.d.cts +6 -0
- package/dist/primitives/index.d.ts +6 -0
- package/dist/primitives/index.mjs +33 -0
- package/dist/primitives/stack.cjs +167 -0
- package/dist/primitives/stack.d.cts +132 -0
- package/dist/primitives/stack.d.ts +132 -0
- package/dist/primitives/stack.mjs +142 -0
- package/dist/primitives/typography.cjs +260 -0
- package/dist/primitives/typography.d.cts +157 -0
- package/dist/primitives/typography.d.ts +157 -0
- package/dist/primitives/typography.mjs +229 -0
- package/dist/theme/contract.cjs +246 -0
- package/dist/theme/contract.d.cts +76 -0
- package/dist/theme/contract.d.ts +76 -0
- package/dist/theme/contract.mjs +221 -0
- package/dist/theme/customizer-store.cjs +266 -0
- package/dist/theme/customizer-store.d.cts +76 -0
- package/dist/theme/customizer-store.d.ts +76 -0
- package/dist/theme/customizer-store.mjs +261 -0
- package/dist/theme/customizer.cjs +812 -0
- package/dist/theme/customizer.d.cts +13 -0
- package/dist/theme/customizer.d.ts +13 -0
- package/dist/theme/customizer.mjs +803 -0
- package/dist/theme/index.cjs +105 -0
- package/dist/theme/index.d.cts +13 -0
- package/dist/theme/index.d.ts +13 -0
- package/dist/theme/index.mjs +87 -0
- package/dist/theme/presets.cjs +1205 -0
- package/dist/theme/presets.d.cts +232 -0
- package/dist/theme/presets.d.ts +232 -0
- package/dist/theme/presets.mjs +1175 -0
- package/dist/theme/provider.cjs +122 -0
- package/dist/theme/provider.d.cts +57 -0
- package/dist/theme/provider.d.ts +57 -0
- package/dist/theme/provider.mjs +104 -0
- package/dist/{chunk-AAEWG5VR.mjs → tokens/colors.cjs} +94 -94
- package/dist/{z-index-DmLl6FUD.d.ts → tokens/colors.d.cts} +118 -72
- package/dist/{z-index-DmLl6FUD.d.cts → tokens/colors.d.ts} +118 -72
- package/dist/{chunk-6ZZZBOCH.cjs → tokens/colors.mjs} +47 -121
- package/dist/tokens/index.cjs +96 -0
- package/dist/tokens/index.d.cts +7 -0
- package/dist/tokens/index.d.ts +7 -0
- package/dist/tokens/index.mjs +71 -0
- package/dist/{chunk-XCKK6P46.cjs → tokens/motion.cjs} +46 -18
- package/dist/{motion-D9wQbcKL.d.cts → tokens/motion.d.cts} +1 -1
- package/dist/{motion-D9wQbcKL.d.ts → tokens/motion.d.ts} +1 -1
- package/dist/{chunk-EZ2L3XPS.mjs → tokens/motion.mjs} +16 -10
- package/dist/tokens/radius.cjs +41 -0
- package/dist/tokens/radius.d.cts +18 -0
- package/dist/tokens/radius.d.ts +18 -0
- package/dist/tokens/radius.mjs +17 -0
- package/dist/tokens/shadows.cjs +57 -0
- package/dist/tokens/shadows.d.cts +32 -0
- package/dist/tokens/shadows.d.ts +32 -0
- package/dist/tokens/shadows.mjs +32 -0
- package/dist/tokens/spacing.cjs +51 -0
- package/dist/tokens/spacing.d.cts +26 -0
- package/dist/tokens/spacing.d.ts +26 -0
- package/dist/{chunk-NMPHV6ZD.mjs → tokens/spacing.mjs} +4 -4
- package/dist/{chunk-ECIGDEAH.cjs → tokens/typography.cjs} +43 -16
- package/dist/{typography-DlvVjEdE.d.ts → tokens/typography.d.cts} +1 -1
- package/dist/{typography-DlvVjEdE.d.cts → tokens/typography.d.ts} +1 -1
- package/dist/{chunk-ITBG42M5.mjs → tokens/typography.mjs} +14 -9
- package/dist/tokens/z-index.cjs +47 -0
- package/dist/tokens/z-index.d.cts +24 -0
- package/dist/tokens/z-index.d.ts +24 -0
- package/dist/tokens/z-index.mjs +23 -0
- package/dist/utils/cn.cjs +102 -0
- package/dist/utils/cn.d.cts +84 -0
- package/dist/utils/cn.d.ts +84 -0
- package/dist/{chunk-ZT3PCXDF.mjs → utils/cn.mjs} +14 -7
- package/dist/{chunk-33QEKXRQ.cjs → utils/contrast.cjs} +68 -38
- package/dist/utils/contrast.d.cts +209 -0
- package/dist/utils/contrast.d.ts +209 -0
- package/dist/{chunk-5NZDQWRV.mjs → utils/contrast.mjs} +27 -18
- package/dist/utils/focus-ring.cjs +81 -0
- package/dist/utils/focus-ring.d.cts +80 -0
- package/dist/utils/focus-ring.d.ts +80 -0
- package/dist/utils/focus-ring.mjs +47 -0
- package/dist/utils/index.cjs +107 -0
- package/dist/utils/index.d.cts +6 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.mjs +88 -0
- package/dist/utils/types.cjs +38 -0
- package/dist/utils/types.d.cts +187 -0
- package/dist/utils/types.d.ts +187 -0
- package/dist/utils/types.mjs +13 -0
- package/package.json +191 -191
- package/dist/chunk-2JFREULQ.cjs +0 -29
- package/dist/chunk-3EHT6IOA.cjs +0 -49
- package/dist/chunk-4ON3M3OM.cjs +0 -73
- package/dist/chunk-A2DGHQL2.cjs +0 -21808
- package/dist/chunk-BJ55D5IK.mjs +0 -2433
- package/dist/chunk-F4JJFWWU.cjs +0 -604
- package/dist/chunk-FUWXGHWQ.cjs +0 -468
- package/dist/chunk-MBYCK2JJ.mjs +0 -37
- package/dist/chunk-OHEH57BV.mjs +0 -455
- package/dist/chunk-RUG3BW2B.cjs +0 -2471
- package/dist/chunk-XAIUX2YS.mjs +0 -21477
- package/dist/components.cjs +0 -1247
- package/dist/components.d.cts +0 -7881
- package/dist/components.d.ts +0 -7881
- package/dist/components.mjs +0 -6
- package/dist/motion.cjs +0 -264
- package/dist/motion.mjs +0 -3
- package/dist/primitives.cjs +0 -57
- package/dist/primitives.d.cts +0 -390
- package/dist/primitives.d.ts +0 -390
- package/dist/primitives.mjs +0 -4
- package/dist/theme.cjs +0 -159
- package/dist/theme.d.cts +0 -440
- package/dist/theme.d.ts +0 -440
- package/dist/theme.mjs +0 -6
- package/dist/tokens.cjs +0 -137
- package/dist/tokens.d.cts +0 -30
- package/dist/tokens.d.ts +0 -30
- package/dist/tokens.mjs +0 -4
- package/dist/utils.cjs +0 -164
- package/dist/utils.d.cts +0 -525
- package/dist/utils.d.ts +0 -525
- package/dist/utils.mjs +0 -3
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var checkbox_exports = {};
|
|
21
|
+
__export(checkbox_exports, {
|
|
22
|
+
Checkbox: () => Checkbox,
|
|
23
|
+
CheckboxGroup: () => CheckboxGroup,
|
|
24
|
+
checkboxVariants: () => checkboxVariants,
|
|
25
|
+
useCheckboxGroupContext: () => useCheckboxGroupContext
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(checkbox_exports);
|
|
28
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
29
|
+
var import_cn = require("../utils/cn.cjs");
|
|
30
|
+
var import_focus_ring = require("../utils/focus-ring.cjs");
|
|
31
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
32
|
+
var import_radix_ui = require("radix-ui");
|
|
33
|
+
var import_react = require("react");
|
|
34
|
+
const checkboxVariants = (0, import_class_variance_authority.cva)(
|
|
35
|
+
// Base styles — shared across all variants and sizes
|
|
36
|
+
[
|
|
37
|
+
// Layout
|
|
38
|
+
"inline-flex shrink-0 items-center justify-center",
|
|
39
|
+
// Shape
|
|
40
|
+
"rounded-sm",
|
|
41
|
+
// Border
|
|
42
|
+
"border",
|
|
43
|
+
// Colors — unchecked state
|
|
44
|
+
"border-input bg-background",
|
|
45
|
+
// Transition
|
|
46
|
+
"transition-[color,background-color,border-color,box-shadow,opacity]",
|
|
47
|
+
"duration-fast ease-standard",
|
|
48
|
+
// Focus ring — WCAG AA compliant
|
|
49
|
+
import_focus_ring.focusRingClasses,
|
|
50
|
+
// Hover
|
|
51
|
+
"hover:border-border-strong",
|
|
52
|
+
// Checked state
|
|
53
|
+
"data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-primary-foreground",
|
|
54
|
+
"data-[state=checked]:hover:bg-primary-hover data-[state=checked]:hover:border-primary-hover",
|
|
55
|
+
// Indeterminate state
|
|
56
|
+
"data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-primary-foreground",
|
|
57
|
+
"data-[state=indeterminate]:hover:bg-primary-hover data-[state=indeterminate]:hover:border-primary-hover",
|
|
58
|
+
// Disabled
|
|
59
|
+
"disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed",
|
|
60
|
+
// Cursor
|
|
61
|
+
"cursor-pointer disabled:cursor-not-allowed",
|
|
62
|
+
// Peer for label styling
|
|
63
|
+
"peer"
|
|
64
|
+
],
|
|
65
|
+
{
|
|
66
|
+
variants: {
|
|
67
|
+
// -----------------------------------------------------------------
|
|
68
|
+
// Size Variants
|
|
69
|
+
// -----------------------------------------------------------------
|
|
70
|
+
size: {
|
|
71
|
+
/**
|
|
72
|
+
* Small — compact for dense UIs, tables, settings panels.
|
|
73
|
+
* Box: 16px (size-4)
|
|
74
|
+
*/
|
|
75
|
+
sm: "size-4",
|
|
76
|
+
/**
|
|
77
|
+
* Medium — default size for most forms.
|
|
78
|
+
* Box: 18px (size-[18px])
|
|
79
|
+
*/
|
|
80
|
+
md: "size-[18px]"
|
|
81
|
+
},
|
|
82
|
+
// -----------------------------------------------------------------
|
|
83
|
+
// Error Variant
|
|
84
|
+
// -----------------------------------------------------------------
|
|
85
|
+
error: {
|
|
86
|
+
true: [
|
|
87
|
+
"border-danger",
|
|
88
|
+
"data-[state=unchecked]:border-danger",
|
|
89
|
+
"focus-visible:border-danger"
|
|
90
|
+
],
|
|
91
|
+
false: ""
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
defaultVariants: {
|
|
95
|
+
size: "md",
|
|
96
|
+
error: false
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
);
|
|
100
|
+
const iconSizeMap = {
|
|
101
|
+
sm: "size-3",
|
|
102
|
+
md: "size-3.5"
|
|
103
|
+
};
|
|
104
|
+
function CheckIcon({ className }) {
|
|
105
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
106
|
+
"svg",
|
|
107
|
+
{
|
|
108
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
109
|
+
viewBox: "0 0 24 24",
|
|
110
|
+
fill: "none",
|
|
111
|
+
stroke: "currentColor",
|
|
112
|
+
strokeWidth: "3",
|
|
113
|
+
strokeLinecap: "round",
|
|
114
|
+
strokeLinejoin: "round",
|
|
115
|
+
className,
|
|
116
|
+
"aria-hidden": "true",
|
|
117
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M20 6 9 17l-5-5" })
|
|
118
|
+
}
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
function IndeterminateIcon({ className }) {
|
|
122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
123
|
+
"svg",
|
|
124
|
+
{
|
|
125
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
126
|
+
viewBox: "0 0 24 24",
|
|
127
|
+
fill: "none",
|
|
128
|
+
stroke: "currentColor",
|
|
129
|
+
strokeWidth: "3",
|
|
130
|
+
strokeLinecap: "round",
|
|
131
|
+
strokeLinejoin: "round",
|
|
132
|
+
className,
|
|
133
|
+
"aria-hidden": "true",
|
|
134
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M5 12h14" })
|
|
135
|
+
}
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
const Checkbox = (0, import_react.forwardRef)(function Checkbox2({
|
|
139
|
+
size = "md",
|
|
140
|
+
error = false,
|
|
141
|
+
label,
|
|
142
|
+
description,
|
|
143
|
+
wrapperClassName,
|
|
144
|
+
labelClassName,
|
|
145
|
+
className,
|
|
146
|
+
id: idProp,
|
|
147
|
+
disabled,
|
|
148
|
+
checked,
|
|
149
|
+
"aria-invalid": ariaInvalid,
|
|
150
|
+
...rest
|
|
151
|
+
}, ref) {
|
|
152
|
+
const generatedId = (0, import_react.useId)();
|
|
153
|
+
const id = idProp ?? generatedId;
|
|
154
|
+
const descriptionId = description ? `${id}-description` : void 0;
|
|
155
|
+
const resolvedAriaInvalid = ariaInvalid !== void 0 ? ariaInvalid : error ? true : void 0;
|
|
156
|
+
const labelTextClass = size === "sm" ? "text-xs" : "text-sm";
|
|
157
|
+
const descriptionTextClass = "text-xs";
|
|
158
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
159
|
+
"div",
|
|
160
|
+
{
|
|
161
|
+
className: (0, import_cn.cn)(
|
|
162
|
+
"flex items-start gap-2",
|
|
163
|
+
disabled && "cursor-not-allowed opacity-50",
|
|
164
|
+
wrapperClassName
|
|
165
|
+
),
|
|
166
|
+
"data-ds": "",
|
|
167
|
+
"data-ds-component": "checkbox",
|
|
168
|
+
"data-ds-size": size,
|
|
169
|
+
children: [
|
|
170
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
171
|
+
import_radix_ui.Checkbox.Root,
|
|
172
|
+
{
|
|
173
|
+
ref,
|
|
174
|
+
id,
|
|
175
|
+
checked,
|
|
176
|
+
disabled,
|
|
177
|
+
"aria-invalid": resolvedAriaInvalid,
|
|
178
|
+
"aria-describedby": descriptionId,
|
|
179
|
+
className: (0, import_cn.cn)(
|
|
180
|
+
checkboxVariants({ size, error }),
|
|
181
|
+
// Slight top offset to align with label text baseline
|
|
182
|
+
label && "mt-0.5",
|
|
183
|
+
className
|
|
184
|
+
),
|
|
185
|
+
...rest,
|
|
186
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
187
|
+
import_radix_ui.Checkbox.Indicator,
|
|
188
|
+
{
|
|
189
|
+
className: (0, import_cn.cn)(
|
|
190
|
+
"flex items-center justify-center",
|
|
191
|
+
// Animate the indicator
|
|
192
|
+
"data-[state=checked]:animate-in data-[state=checked]:zoom-in-75",
|
|
193
|
+
"data-[state=unchecked]:animate-out data-[state=unchecked]:zoom-out-75"
|
|
194
|
+
),
|
|
195
|
+
children: checked === "indeterminate" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IndeterminateIcon, { className: iconSizeMap[size] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CheckIcon, { className: iconSizeMap[size] })
|
|
196
|
+
}
|
|
197
|
+
)
|
|
198
|
+
}
|
|
199
|
+
),
|
|
200
|
+
(label || description) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-col gap-0.5 flex-1 min-w-0", children: [
|
|
201
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
202
|
+
"label",
|
|
203
|
+
{
|
|
204
|
+
htmlFor: id,
|
|
205
|
+
className: (0, import_cn.cn)(
|
|
206
|
+
labelTextClass,
|
|
207
|
+
"leading-5 font-medium",
|
|
208
|
+
"text-foreground",
|
|
209
|
+
"cursor-pointer select-none",
|
|
210
|
+
"peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
|
|
211
|
+
error && "text-danger",
|
|
212
|
+
labelClassName
|
|
213
|
+
),
|
|
214
|
+
children: label
|
|
215
|
+
}
|
|
216
|
+
),
|
|
217
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
218
|
+
"span",
|
|
219
|
+
{
|
|
220
|
+
id: descriptionId,
|
|
221
|
+
className: (0, import_cn.cn)(
|
|
222
|
+
descriptionTextClass,
|
|
223
|
+
"leading-4 text-muted-foreground"
|
|
224
|
+
),
|
|
225
|
+
children: description
|
|
226
|
+
}
|
|
227
|
+
)
|
|
228
|
+
] })
|
|
229
|
+
]
|
|
230
|
+
}
|
|
231
|
+
);
|
|
232
|
+
});
|
|
233
|
+
Checkbox.displayName = "Checkbox";
|
|
234
|
+
const CheckboxGroupContext = (0, import_react.createContext)({});
|
|
235
|
+
function useCheckboxGroupContext() {
|
|
236
|
+
return (0, import_react.useContext)(CheckboxGroupContext);
|
|
237
|
+
}
|
|
238
|
+
function CheckboxGroup({
|
|
239
|
+
label,
|
|
240
|
+
description,
|
|
241
|
+
orientation = "vertical",
|
|
242
|
+
size,
|
|
243
|
+
disabled = false,
|
|
244
|
+
error = false,
|
|
245
|
+
errorMessage,
|
|
246
|
+
children,
|
|
247
|
+
className
|
|
248
|
+
}) {
|
|
249
|
+
const groupId = (0, import_react.useId)();
|
|
250
|
+
const labelId = label ? `${groupId}-label` : void 0;
|
|
251
|
+
const descriptionId = description ? `${groupId}-description` : void 0;
|
|
252
|
+
const errorId = errorMessage ? `${groupId}-error` : void 0;
|
|
253
|
+
const contextValue = {
|
|
254
|
+
size,
|
|
255
|
+
disabled,
|
|
256
|
+
error
|
|
257
|
+
};
|
|
258
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CheckboxGroupContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
259
|
+
"fieldset",
|
|
260
|
+
{
|
|
261
|
+
"aria-labelledby": labelId,
|
|
262
|
+
"aria-describedby": (0, import_cn.cn)(descriptionId ?? "", errorId ?? "").trim() || void 0,
|
|
263
|
+
"aria-invalid": error || void 0,
|
|
264
|
+
disabled,
|
|
265
|
+
className: (0, import_cn.cn)("flex flex-col gap-2", className),
|
|
266
|
+
"data-ds": "",
|
|
267
|
+
"data-ds-component": "checkbox-group",
|
|
268
|
+
children: [
|
|
269
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
270
|
+
"legend",
|
|
271
|
+
{
|
|
272
|
+
id: labelId,
|
|
273
|
+
className: (0, import_cn.cn)(
|
|
274
|
+
"text-sm font-medium leading-5 text-foreground",
|
|
275
|
+
error && "text-danger"
|
|
276
|
+
),
|
|
277
|
+
children: label
|
|
278
|
+
}
|
|
279
|
+
),
|
|
280
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
281
|
+
"span",
|
|
282
|
+
{
|
|
283
|
+
id: descriptionId,
|
|
284
|
+
className: "text-xs leading-4 text-muted-foreground",
|
|
285
|
+
children: description
|
|
286
|
+
}
|
|
287
|
+
),
|
|
288
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
289
|
+
"div",
|
|
290
|
+
{
|
|
291
|
+
className: (0, import_cn.cn)(
|
|
292
|
+
"flex",
|
|
293
|
+
orientation === "vertical" ? "flex-col gap-2" : "flex-row gap-4"
|
|
294
|
+
),
|
|
295
|
+
children
|
|
296
|
+
}
|
|
297
|
+
),
|
|
298
|
+
error && errorMessage && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
299
|
+
"span",
|
|
300
|
+
{
|
|
301
|
+
id: errorId,
|
|
302
|
+
className: "text-xs leading-4 text-danger",
|
|
303
|
+
role: "alert",
|
|
304
|
+
children: errorMessage
|
|
305
|
+
}
|
|
306
|
+
)
|
|
307
|
+
]
|
|
308
|
+
}
|
|
309
|
+
) });
|
|
310
|
+
}
|
|
311
|
+
CheckboxGroup.displayName = "CheckboxGroup";
|
|
312
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
313
|
+
0 && (module.exports = {
|
|
314
|
+
Checkbox,
|
|
315
|
+
CheckboxGroup,
|
|
316
|
+
checkboxVariants,
|
|
317
|
+
useCheckboxGroupContext
|
|
318
|
+
});
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
5
|
+
import { VariantProps } from 'class-variance-authority';
|
|
6
|
+
import { Checkbox as Checkbox$1 } from 'radix-ui';
|
|
7
|
+
|
|
8
|
+
declare const checkboxVariants: (props?: ({
|
|
9
|
+
size?: "sm" | "md" | null | undefined;
|
|
10
|
+
error?: boolean | null | undefined;
|
|
11
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
12
|
+
type CheckboxSize = "sm" | "md";
|
|
13
|
+
interface CheckboxProps extends Omit<Checkbox$1.CheckboxProps, "children" | "asChild" | "defaultChecked">, VariantProps<typeof checkboxVariants> {
|
|
14
|
+
/**
|
|
15
|
+
* Size of the checkbox.
|
|
16
|
+
* @default "md"
|
|
17
|
+
*/
|
|
18
|
+
size?: CheckboxSize;
|
|
19
|
+
/**
|
|
20
|
+
* Whether the checkbox is in an error state.
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
error?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Label text displayed next to the checkbox.
|
|
26
|
+
* Clicking the label toggles the checkbox.
|
|
27
|
+
*/
|
|
28
|
+
label?: ReactNode;
|
|
29
|
+
/**
|
|
30
|
+
* Optional description text displayed below the label.
|
|
31
|
+
* Useful for providing additional context about the option.
|
|
32
|
+
*/
|
|
33
|
+
description?: ReactNode;
|
|
34
|
+
/**
|
|
35
|
+
* Additional CSS classes for the root wrapper element.
|
|
36
|
+
*/
|
|
37
|
+
wrapperClassName?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Additional CSS classes for the label element.
|
|
40
|
+
*/
|
|
41
|
+
labelClassName?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Additional CSS classes for the checkbox element.
|
|
44
|
+
*/
|
|
45
|
+
className?: string;
|
|
46
|
+
/**
|
|
47
|
+
* The value of the checkbox when used within a CheckboxGroup.
|
|
48
|
+
*/
|
|
49
|
+
value?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Checkbox — a toggle control for binary or indeterminate selections.
|
|
53
|
+
*
|
|
54
|
+
* Built on Radix UI's checkbox primitive for full accessibility support,
|
|
55
|
+
* including keyboard navigation (Space to toggle), focus management,
|
|
56
|
+
* and proper ARIA attributes.
|
|
57
|
+
*
|
|
58
|
+
* Accessibility:
|
|
59
|
+
* - Focus ring visible on keyboard navigation (focus-visible)
|
|
60
|
+
* - Disabled state uses both native disabled and visual cues
|
|
61
|
+
* - Error state applies `aria-invalid="true"`
|
|
62
|
+
* - Label is properly associated via `htmlFor`/`id`
|
|
63
|
+
* - Supports indeterminate state with proper ARIA
|
|
64
|
+
* - Space key toggles the checkbox
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```tsx
|
|
68
|
+
* // Basic usage
|
|
69
|
+
* <Checkbox label="Accept terms and conditions" />
|
|
70
|
+
*
|
|
71
|
+
* // Controlled
|
|
72
|
+
* <Checkbox
|
|
73
|
+
* checked={isChecked}
|
|
74
|
+
* onCheckedChange={setIsChecked}
|
|
75
|
+
* label="Enable notifications"
|
|
76
|
+
* />
|
|
77
|
+
*
|
|
78
|
+
* // Indeterminate
|
|
79
|
+
* <Checkbox checked="indeterminate" label="Select all" />
|
|
80
|
+
*
|
|
81
|
+
* // With description
|
|
82
|
+
* <Checkbox
|
|
83
|
+
* label="Marketing emails"
|
|
84
|
+
* description="Receive emails about new products and features."
|
|
85
|
+
* />
|
|
86
|
+
*
|
|
87
|
+
* // Sizes
|
|
88
|
+
* <Checkbox size="sm" label="Small checkbox" />
|
|
89
|
+
* <Checkbox size="md" label="Medium checkbox" />
|
|
90
|
+
*
|
|
91
|
+
* // Error state
|
|
92
|
+
* <Checkbox error label="You must accept the terms" />
|
|
93
|
+
*
|
|
94
|
+
* // Disabled
|
|
95
|
+
* <Checkbox disabled label="Cannot change this" />
|
|
96
|
+
* <Checkbox disabled checked label="Locked selection" />
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLButtonElement>>;
|
|
100
|
+
interface CheckboxGroupContextValue {
|
|
101
|
+
/** Size to apply to all child checkboxes. */
|
|
102
|
+
size?: CheckboxSize;
|
|
103
|
+
/** Whether all children are disabled. */
|
|
104
|
+
disabled?: boolean;
|
|
105
|
+
/** Whether all children are in error state. */
|
|
106
|
+
error?: boolean;
|
|
107
|
+
}
|
|
108
|
+
/** Hook to access CheckboxGroup context from child Checkbox components. */
|
|
109
|
+
declare function useCheckboxGroupContext(): CheckboxGroupContextValue;
|
|
110
|
+
type CheckboxGroupOrientation = "horizontal" | "vertical";
|
|
111
|
+
interface CheckboxGroupProps {
|
|
112
|
+
/**
|
|
113
|
+
* Group label displayed above the checkboxes.
|
|
114
|
+
* Required for accessibility.
|
|
115
|
+
*/
|
|
116
|
+
label?: ReactNode;
|
|
117
|
+
/**
|
|
118
|
+
* Optional description below the group label.
|
|
119
|
+
*/
|
|
120
|
+
description?: ReactNode;
|
|
121
|
+
/**
|
|
122
|
+
* Layout orientation of the checkboxes.
|
|
123
|
+
* @default "vertical"
|
|
124
|
+
*/
|
|
125
|
+
orientation?: CheckboxGroupOrientation;
|
|
126
|
+
/**
|
|
127
|
+
* Size to apply to all child checkboxes.
|
|
128
|
+
* Individual checkbox size props will override this.
|
|
129
|
+
*/
|
|
130
|
+
size?: CheckboxSize;
|
|
131
|
+
/**
|
|
132
|
+
* Whether all checkboxes in the group are disabled.
|
|
133
|
+
* @default false
|
|
134
|
+
*/
|
|
135
|
+
disabled?: boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Whether the group is in an error state.
|
|
138
|
+
* @default false
|
|
139
|
+
*/
|
|
140
|
+
error?: boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Error message displayed below the group.
|
|
143
|
+
*/
|
|
144
|
+
errorMessage?: ReactNode;
|
|
145
|
+
/** Checkbox children. */
|
|
146
|
+
children: ReactNode;
|
|
147
|
+
/** Additional CSS classes for the group container. */
|
|
148
|
+
className?: string;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* CheckboxGroup — groups related checkboxes with accessible semantics.
|
|
152
|
+
*
|
|
153
|
+
* Uses `role="group"` with `aria-labelledby` for proper screen reader
|
|
154
|
+
* announcement. Provides consistent spacing and optional orientation.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```tsx
|
|
158
|
+
* <CheckboxGroup label="Notification preferences" orientation="vertical">
|
|
159
|
+
* <Checkbox value="email" label="Email notifications" />
|
|
160
|
+
* <Checkbox value="sms" label="SMS notifications" />
|
|
161
|
+
* <Checkbox value="push" label="Push notifications" />
|
|
162
|
+
* </CheckboxGroup>
|
|
163
|
+
*
|
|
164
|
+
* // Horizontal layout
|
|
165
|
+
* <CheckboxGroup label="Options" orientation="horizontal">
|
|
166
|
+
* <Checkbox value="a" label="Option A" />
|
|
167
|
+
* <Checkbox value="b" label="Option B" />
|
|
168
|
+
* </CheckboxGroup>
|
|
169
|
+
*
|
|
170
|
+
* // With error
|
|
171
|
+
* <CheckboxGroup label="Required" error errorMessage="Please select at least one.">
|
|
172
|
+
* <Checkbox value="a" label="Option A" />
|
|
173
|
+
* <Checkbox value="b" label="Option B" />
|
|
174
|
+
* </CheckboxGroup>
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
declare function CheckboxGroup({ label, description, orientation, size, disabled, error, errorMessage, children, className, }: CheckboxGroupProps): react_jsx_runtime.JSX.Element;
|
|
178
|
+
declare namespace CheckboxGroup {
|
|
179
|
+
var displayName: string;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export { Checkbox, CheckboxGroup, type CheckboxGroupOrientation, type CheckboxGroupProps, type CheckboxProps, type CheckboxSize, checkboxVariants, useCheckboxGroupContext };
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
5
|
+
import { VariantProps } from 'class-variance-authority';
|
|
6
|
+
import { Checkbox as Checkbox$1 } from 'radix-ui';
|
|
7
|
+
|
|
8
|
+
declare const checkboxVariants: (props?: ({
|
|
9
|
+
size?: "sm" | "md" | null | undefined;
|
|
10
|
+
error?: boolean | null | undefined;
|
|
11
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
12
|
+
type CheckboxSize = "sm" | "md";
|
|
13
|
+
interface CheckboxProps extends Omit<Checkbox$1.CheckboxProps, "children" | "asChild" | "defaultChecked">, VariantProps<typeof checkboxVariants> {
|
|
14
|
+
/**
|
|
15
|
+
* Size of the checkbox.
|
|
16
|
+
* @default "md"
|
|
17
|
+
*/
|
|
18
|
+
size?: CheckboxSize;
|
|
19
|
+
/**
|
|
20
|
+
* Whether the checkbox is in an error state.
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
error?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Label text displayed next to the checkbox.
|
|
26
|
+
* Clicking the label toggles the checkbox.
|
|
27
|
+
*/
|
|
28
|
+
label?: ReactNode;
|
|
29
|
+
/**
|
|
30
|
+
* Optional description text displayed below the label.
|
|
31
|
+
* Useful for providing additional context about the option.
|
|
32
|
+
*/
|
|
33
|
+
description?: ReactNode;
|
|
34
|
+
/**
|
|
35
|
+
* Additional CSS classes for the root wrapper element.
|
|
36
|
+
*/
|
|
37
|
+
wrapperClassName?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Additional CSS classes for the label element.
|
|
40
|
+
*/
|
|
41
|
+
labelClassName?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Additional CSS classes for the checkbox element.
|
|
44
|
+
*/
|
|
45
|
+
className?: string;
|
|
46
|
+
/**
|
|
47
|
+
* The value of the checkbox when used within a CheckboxGroup.
|
|
48
|
+
*/
|
|
49
|
+
value?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Checkbox — a toggle control for binary or indeterminate selections.
|
|
53
|
+
*
|
|
54
|
+
* Built on Radix UI's checkbox primitive for full accessibility support,
|
|
55
|
+
* including keyboard navigation (Space to toggle), focus management,
|
|
56
|
+
* and proper ARIA attributes.
|
|
57
|
+
*
|
|
58
|
+
* Accessibility:
|
|
59
|
+
* - Focus ring visible on keyboard navigation (focus-visible)
|
|
60
|
+
* - Disabled state uses both native disabled and visual cues
|
|
61
|
+
* - Error state applies `aria-invalid="true"`
|
|
62
|
+
* - Label is properly associated via `htmlFor`/`id`
|
|
63
|
+
* - Supports indeterminate state with proper ARIA
|
|
64
|
+
* - Space key toggles the checkbox
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```tsx
|
|
68
|
+
* // Basic usage
|
|
69
|
+
* <Checkbox label="Accept terms and conditions" />
|
|
70
|
+
*
|
|
71
|
+
* // Controlled
|
|
72
|
+
* <Checkbox
|
|
73
|
+
* checked={isChecked}
|
|
74
|
+
* onCheckedChange={setIsChecked}
|
|
75
|
+
* label="Enable notifications"
|
|
76
|
+
* />
|
|
77
|
+
*
|
|
78
|
+
* // Indeterminate
|
|
79
|
+
* <Checkbox checked="indeterminate" label="Select all" />
|
|
80
|
+
*
|
|
81
|
+
* // With description
|
|
82
|
+
* <Checkbox
|
|
83
|
+
* label="Marketing emails"
|
|
84
|
+
* description="Receive emails about new products and features."
|
|
85
|
+
* />
|
|
86
|
+
*
|
|
87
|
+
* // Sizes
|
|
88
|
+
* <Checkbox size="sm" label="Small checkbox" />
|
|
89
|
+
* <Checkbox size="md" label="Medium checkbox" />
|
|
90
|
+
*
|
|
91
|
+
* // Error state
|
|
92
|
+
* <Checkbox error label="You must accept the terms" />
|
|
93
|
+
*
|
|
94
|
+
* // Disabled
|
|
95
|
+
* <Checkbox disabled label="Cannot change this" />
|
|
96
|
+
* <Checkbox disabled checked label="Locked selection" />
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLButtonElement>>;
|
|
100
|
+
interface CheckboxGroupContextValue {
|
|
101
|
+
/** Size to apply to all child checkboxes. */
|
|
102
|
+
size?: CheckboxSize;
|
|
103
|
+
/** Whether all children are disabled. */
|
|
104
|
+
disabled?: boolean;
|
|
105
|
+
/** Whether all children are in error state. */
|
|
106
|
+
error?: boolean;
|
|
107
|
+
}
|
|
108
|
+
/** Hook to access CheckboxGroup context from child Checkbox components. */
|
|
109
|
+
declare function useCheckboxGroupContext(): CheckboxGroupContextValue;
|
|
110
|
+
type CheckboxGroupOrientation = "horizontal" | "vertical";
|
|
111
|
+
interface CheckboxGroupProps {
|
|
112
|
+
/**
|
|
113
|
+
* Group label displayed above the checkboxes.
|
|
114
|
+
* Required for accessibility.
|
|
115
|
+
*/
|
|
116
|
+
label?: ReactNode;
|
|
117
|
+
/**
|
|
118
|
+
* Optional description below the group label.
|
|
119
|
+
*/
|
|
120
|
+
description?: ReactNode;
|
|
121
|
+
/**
|
|
122
|
+
* Layout orientation of the checkboxes.
|
|
123
|
+
* @default "vertical"
|
|
124
|
+
*/
|
|
125
|
+
orientation?: CheckboxGroupOrientation;
|
|
126
|
+
/**
|
|
127
|
+
* Size to apply to all child checkboxes.
|
|
128
|
+
* Individual checkbox size props will override this.
|
|
129
|
+
*/
|
|
130
|
+
size?: CheckboxSize;
|
|
131
|
+
/**
|
|
132
|
+
* Whether all checkboxes in the group are disabled.
|
|
133
|
+
* @default false
|
|
134
|
+
*/
|
|
135
|
+
disabled?: boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Whether the group is in an error state.
|
|
138
|
+
* @default false
|
|
139
|
+
*/
|
|
140
|
+
error?: boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Error message displayed below the group.
|
|
143
|
+
*/
|
|
144
|
+
errorMessage?: ReactNode;
|
|
145
|
+
/** Checkbox children. */
|
|
146
|
+
children: ReactNode;
|
|
147
|
+
/** Additional CSS classes for the group container. */
|
|
148
|
+
className?: string;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* CheckboxGroup — groups related checkboxes with accessible semantics.
|
|
152
|
+
*
|
|
153
|
+
* Uses `role="group"` with `aria-labelledby` for proper screen reader
|
|
154
|
+
* announcement. Provides consistent spacing and optional orientation.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```tsx
|
|
158
|
+
* <CheckboxGroup label="Notification preferences" orientation="vertical">
|
|
159
|
+
* <Checkbox value="email" label="Email notifications" />
|
|
160
|
+
* <Checkbox value="sms" label="SMS notifications" />
|
|
161
|
+
* <Checkbox value="push" label="Push notifications" />
|
|
162
|
+
* </CheckboxGroup>
|
|
163
|
+
*
|
|
164
|
+
* // Horizontal layout
|
|
165
|
+
* <CheckboxGroup label="Options" orientation="horizontal">
|
|
166
|
+
* <Checkbox value="a" label="Option A" />
|
|
167
|
+
* <Checkbox value="b" label="Option B" />
|
|
168
|
+
* </CheckboxGroup>
|
|
169
|
+
*
|
|
170
|
+
* // With error
|
|
171
|
+
* <CheckboxGroup label="Required" error errorMessage="Please select at least one.">
|
|
172
|
+
* <Checkbox value="a" label="Option A" />
|
|
173
|
+
* <Checkbox value="b" label="Option B" />
|
|
174
|
+
* </CheckboxGroup>
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
declare function CheckboxGroup({ label, description, orientation, size, disabled, error, errorMessage, children, className, }: CheckboxGroupProps): react_jsx_runtime.JSX.Element;
|
|
178
|
+
declare namespace CheckboxGroup {
|
|
179
|
+
var displayName: string;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export { Checkbox, CheckboxGroup, type CheckboxGroupOrientation, type CheckboxGroupProps, type CheckboxProps, type CheckboxSize, checkboxVariants, useCheckboxGroupContext };
|