@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,296 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn, composeRefs } from "../utils/cn.mjs";
|
|
4
|
+
import {
|
|
5
|
+
focusRingClasses,
|
|
6
|
+
focusRingInsetClasses
|
|
7
|
+
} from "../utils/focus-ring.mjs";
|
|
8
|
+
import { cva } from "class-variance-authority";
|
|
9
|
+
import { forwardRef, useCallback, useRef } from "react";
|
|
10
|
+
const inputVariants = cva(
|
|
11
|
+
// Base styles — shared across all variants and sizes
|
|
12
|
+
[
|
|
13
|
+
// Layout
|
|
14
|
+
"flex w-full",
|
|
15
|
+
// Typography
|
|
16
|
+
"text-sm leading-5",
|
|
17
|
+
// Shape
|
|
18
|
+
"rounded-md",
|
|
19
|
+
// Border
|
|
20
|
+
"border",
|
|
21
|
+
// Colors
|
|
22
|
+
"bg-background text-input-foreground",
|
|
23
|
+
"placeholder:text-input-placeholder",
|
|
24
|
+
// Transition
|
|
25
|
+
"transition-[color,background-color,border-color,box-shadow,opacity]",
|
|
26
|
+
"duration-fast ease-standard",
|
|
27
|
+
// Focus ring — WCAG AA compliant, visible on keyboard navigation only
|
|
28
|
+
focusRingClasses,
|
|
29
|
+
// Disabled
|
|
30
|
+
"disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-disabled disabled:text-disabled-foreground",
|
|
31
|
+
// Read-only
|
|
32
|
+
"read-only:bg-muted read-only:cursor-default",
|
|
33
|
+
// File input styling
|
|
34
|
+
"file:border-0 file:bg-transparent file:text-sm file:font-medium"
|
|
35
|
+
],
|
|
36
|
+
{
|
|
37
|
+
variants: {
|
|
38
|
+
// -----------------------------------------------------------------
|
|
39
|
+
// Visual Variants
|
|
40
|
+
// -----------------------------------------------------------------
|
|
41
|
+
variant: {
|
|
42
|
+
/**
|
|
43
|
+
* Default — standard input with muted border.
|
|
44
|
+
*/
|
|
45
|
+
default: [
|
|
46
|
+
"border-input",
|
|
47
|
+
"hover:border-border-strong",
|
|
48
|
+
"focus-visible:border-border-strong"
|
|
49
|
+
],
|
|
50
|
+
/**
|
|
51
|
+
* Error — validation failed. Uses danger color.
|
|
52
|
+
*/
|
|
53
|
+
error: [
|
|
54
|
+
"border-danger",
|
|
55
|
+
"text-foreground",
|
|
56
|
+
"focus-visible:border-danger",
|
|
57
|
+
"placeholder:text-input-placeholder"
|
|
58
|
+
],
|
|
59
|
+
/**
|
|
60
|
+
* Success — validation passed. Uses success color.
|
|
61
|
+
*/
|
|
62
|
+
success: [
|
|
63
|
+
"border-success",
|
|
64
|
+
"text-foreground",
|
|
65
|
+
"focus-visible:border-success",
|
|
66
|
+
"placeholder:text-input-placeholder"
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
// -----------------------------------------------------------------
|
|
70
|
+
// Size Variants
|
|
71
|
+
// -----------------------------------------------------------------
|
|
72
|
+
size: {
|
|
73
|
+
/**
|
|
74
|
+
* Small — compact for dense UIs, tables, toolbars.
|
|
75
|
+
* Height: 32px (h-8)
|
|
76
|
+
*/
|
|
77
|
+
sm: "h-8 px-2.5 text-xs",
|
|
78
|
+
/**
|
|
79
|
+
* Medium — default size for most inputs.
|
|
80
|
+
* Height: var(--ds-control-height)
|
|
81
|
+
*/
|
|
82
|
+
md: "h-(--ds-control-height) px-3 text-sm",
|
|
83
|
+
/**
|
|
84
|
+
* Large — prominent inputs for hero sections, forms.
|
|
85
|
+
* Height: 40px (h-10)
|
|
86
|
+
*/
|
|
87
|
+
lg: "h-10 px-3.5 text-sm"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
defaultVariants: {
|
|
91
|
+
variant: "default",
|
|
92
|
+
size: "md"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
const inputWrapperVariants = cva(["relative flex items-center w-full"], {
|
|
97
|
+
variants: {
|
|
98
|
+
size: {
|
|
99
|
+
sm: "",
|
|
100
|
+
md: "",
|
|
101
|
+
lg: ""
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
defaultVariants: {
|
|
105
|
+
size: "md"
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
const iconSizeMap = {
|
|
109
|
+
sm: "[&>svg]:size-3.5",
|
|
110
|
+
md: "[&>svg]:size-4",
|
|
111
|
+
lg: "[&>svg]:size-4"
|
|
112
|
+
};
|
|
113
|
+
const iconPaddingLeftMap = {
|
|
114
|
+
sm: "pl-7",
|
|
115
|
+
md: "pl-9",
|
|
116
|
+
lg: "pl-10"
|
|
117
|
+
};
|
|
118
|
+
const iconPaddingRightMap = {
|
|
119
|
+
sm: "pr-7",
|
|
120
|
+
md: "pr-9",
|
|
121
|
+
lg: "pr-10"
|
|
122
|
+
};
|
|
123
|
+
const iconLeftPositionMap = {
|
|
124
|
+
sm: "left-2",
|
|
125
|
+
md: "left-3",
|
|
126
|
+
lg: "left-3.5"
|
|
127
|
+
};
|
|
128
|
+
const iconRightPositionMap = {
|
|
129
|
+
sm: "right-2",
|
|
130
|
+
md: "right-3",
|
|
131
|
+
lg: "right-3.5"
|
|
132
|
+
};
|
|
133
|
+
function ClearButton({
|
|
134
|
+
size,
|
|
135
|
+
onClick
|
|
136
|
+
}) {
|
|
137
|
+
return /* @__PURE__ */ jsx(
|
|
138
|
+
"button",
|
|
139
|
+
{
|
|
140
|
+
type: "button",
|
|
141
|
+
onClick,
|
|
142
|
+
className: cn(
|
|
143
|
+
"absolute flex items-center justify-center",
|
|
144
|
+
"text-muted-foreground hover:text-foreground",
|
|
145
|
+
"transition-colors duration-fast",
|
|
146
|
+
focusRingInsetClasses,
|
|
147
|
+
"rounded-sm",
|
|
148
|
+
iconRightPositionMap[size],
|
|
149
|
+
iconSizeMap[size]
|
|
150
|
+
),
|
|
151
|
+
"aria-label": "Clear input",
|
|
152
|
+
tabIndex: -1,
|
|
153
|
+
children: /* @__PURE__ */ jsxs(
|
|
154
|
+
"svg",
|
|
155
|
+
{
|
|
156
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
157
|
+
viewBox: "0 0 24 24",
|
|
158
|
+
fill: "none",
|
|
159
|
+
stroke: "currentColor",
|
|
160
|
+
strokeWidth: "2",
|
|
161
|
+
strokeLinecap: "round",
|
|
162
|
+
strokeLinejoin: "round",
|
|
163
|
+
className: size === "sm" ? "size-3.5" : "size-4",
|
|
164
|
+
"aria-hidden": "true",
|
|
165
|
+
children: [
|
|
166
|
+
/* @__PURE__ */ jsx("path", { d: "M18 6 6 18" }),
|
|
167
|
+
/* @__PURE__ */ jsx("path", { d: "m6 6 12 12" })
|
|
168
|
+
]
|
|
169
|
+
}
|
|
170
|
+
)
|
|
171
|
+
}
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
const Input = forwardRef(function Input2({
|
|
175
|
+
variant = "default",
|
|
176
|
+
size = "md",
|
|
177
|
+
iconLeft,
|
|
178
|
+
iconRight,
|
|
179
|
+
clearable = false,
|
|
180
|
+
onClear,
|
|
181
|
+
wrapperClassName,
|
|
182
|
+
className,
|
|
183
|
+
disabled,
|
|
184
|
+
readOnly,
|
|
185
|
+
value,
|
|
186
|
+
defaultValue,
|
|
187
|
+
"aria-invalid": ariaInvalid,
|
|
188
|
+
...rest
|
|
189
|
+
}, ref) {
|
|
190
|
+
const internalRef = useRef(null);
|
|
191
|
+
const hasIcons = !!iconLeft || !!iconRight || clearable;
|
|
192
|
+
const showClear = clearable && !disabled && !readOnly && (value !== void 0 ? String(value).length > 0 : false);
|
|
193
|
+
const handleClear = useCallback(() => {
|
|
194
|
+
if (onClear) {
|
|
195
|
+
onClear();
|
|
196
|
+
} else if (internalRef.current) {
|
|
197
|
+
const nativeInputValueSetter = Object.getOwnPropertyDescriptor(
|
|
198
|
+
window.HTMLInputElement.prototype,
|
|
199
|
+
"value"
|
|
200
|
+
)?.set;
|
|
201
|
+
if (nativeInputValueSetter) {
|
|
202
|
+
nativeInputValueSetter.call(internalRef.current, "");
|
|
203
|
+
internalRef.current.dispatchEvent(
|
|
204
|
+
new Event("input", { bubbles: true })
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
internalRef.current?.focus();
|
|
209
|
+
}, [onClear]);
|
|
210
|
+
const resolvedAriaInvalid = ariaInvalid !== void 0 ? ariaInvalid : variant === "error" ? true : void 0;
|
|
211
|
+
const inputClasses = cn(
|
|
212
|
+
inputVariants({ variant, size }),
|
|
213
|
+
iconLeft && iconPaddingLeftMap[size],
|
|
214
|
+
(iconRight || showClear) && iconPaddingRightMap[size],
|
|
215
|
+
className
|
|
216
|
+
);
|
|
217
|
+
if (!hasIcons) {
|
|
218
|
+
return /* @__PURE__ */ jsx(
|
|
219
|
+
"input",
|
|
220
|
+
{
|
|
221
|
+
ref: composeRefs(internalRef, ref),
|
|
222
|
+
disabled,
|
|
223
|
+
readOnly,
|
|
224
|
+
value,
|
|
225
|
+
defaultValue,
|
|
226
|
+
"aria-invalid": resolvedAriaInvalid,
|
|
227
|
+
"aria-disabled": disabled || void 0,
|
|
228
|
+
className: inputClasses,
|
|
229
|
+
"data-ds": "",
|
|
230
|
+
"data-ds-component": "input",
|
|
231
|
+
"data-ds-variant": variant,
|
|
232
|
+
"data-ds-size": size,
|
|
233
|
+
...rest
|
|
234
|
+
}
|
|
235
|
+
);
|
|
236
|
+
}
|
|
237
|
+
return /* @__PURE__ */ jsxs(
|
|
238
|
+
"div",
|
|
239
|
+
{
|
|
240
|
+
className: cn(inputWrapperVariants({ size }), wrapperClassName),
|
|
241
|
+
"data-ds": "",
|
|
242
|
+
"data-ds-component": "input-wrapper",
|
|
243
|
+
children: [
|
|
244
|
+
iconLeft && /* @__PURE__ */ jsx(
|
|
245
|
+
"span",
|
|
246
|
+
{
|
|
247
|
+
className: cn(
|
|
248
|
+
"pointer-events-none absolute flex items-center justify-center",
|
|
249
|
+
"text-muted-foreground",
|
|
250
|
+
iconLeftPositionMap[size],
|
|
251
|
+
iconSizeMap[size]
|
|
252
|
+
),
|
|
253
|
+
"aria-hidden": "true",
|
|
254
|
+
children: iconLeft
|
|
255
|
+
}
|
|
256
|
+
),
|
|
257
|
+
/* @__PURE__ */ jsx(
|
|
258
|
+
"input",
|
|
259
|
+
{
|
|
260
|
+
ref: composeRefs(internalRef, ref),
|
|
261
|
+
disabled,
|
|
262
|
+
readOnly,
|
|
263
|
+
value,
|
|
264
|
+
defaultValue,
|
|
265
|
+
"aria-invalid": resolvedAriaInvalid,
|
|
266
|
+
"aria-disabled": disabled || void 0,
|
|
267
|
+
className: inputClasses,
|
|
268
|
+
"data-ds": "",
|
|
269
|
+
"data-ds-component": "input",
|
|
270
|
+
"data-ds-variant": variant,
|
|
271
|
+
"data-ds-size": size,
|
|
272
|
+
...rest
|
|
273
|
+
}
|
|
274
|
+
),
|
|
275
|
+
showClear ? /* @__PURE__ */ jsx(ClearButton, { size, onClick: handleClear }) : iconRight && /* @__PURE__ */ jsx(
|
|
276
|
+
"span",
|
|
277
|
+
{
|
|
278
|
+
className: cn(
|
|
279
|
+
"pointer-events-none absolute flex items-center justify-center",
|
|
280
|
+
"text-muted-foreground",
|
|
281
|
+
iconRightPositionMap[size],
|
|
282
|
+
iconSizeMap[size]
|
|
283
|
+
),
|
|
284
|
+
"aria-hidden": "true",
|
|
285
|
+
children: iconRight
|
|
286
|
+
}
|
|
287
|
+
)
|
|
288
|
+
]
|
|
289
|
+
}
|
|
290
|
+
);
|
|
291
|
+
});
|
|
292
|
+
Input.displayName = "Input";
|
|
293
|
+
export {
|
|
294
|
+
Input,
|
|
295
|
+
inputVariants
|
|
296
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
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 kbd_exports = {};
|
|
21
|
+
__export(kbd_exports, {
|
|
22
|
+
Kbd: () => Kbd,
|
|
23
|
+
kbdVariants: () => kbdVariants
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(kbd_exports);
|
|
26
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
27
|
+
var import_cn = require("../utils/cn.cjs");
|
|
28
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
29
|
+
var import_react = require("react");
|
|
30
|
+
const kbdVariants = (0, import_class_variance_authority.cva)(
|
|
31
|
+
[
|
|
32
|
+
"inline-flex items-center gap-0.5",
|
|
33
|
+
"font-mono font-medium leading-none",
|
|
34
|
+
"rounded border border-border",
|
|
35
|
+
"bg-muted text-muted-foreground",
|
|
36
|
+
"shadow-[0_1px_0_1px_hsl(var(--border))]",
|
|
37
|
+
"select-none whitespace-nowrap"
|
|
38
|
+
],
|
|
39
|
+
{
|
|
40
|
+
variants: {
|
|
41
|
+
size: {
|
|
42
|
+
sm: "px-1.5 py-0.5 text-[10px]",
|
|
43
|
+
md: "px-2 py-1 text-xs",
|
|
44
|
+
lg: "px-2.5 py-1 text-sm"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
defaultVariants: { size: "md" }
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
const Kbd = (0, import_react.forwardRef)(function Kbd2({ size = "md", className, children, ...rest }, ref) {
|
|
51
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
52
|
+
"kbd",
|
|
53
|
+
{
|
|
54
|
+
ref,
|
|
55
|
+
className: (0, import_cn.cn)(kbdVariants({ size }), className),
|
|
56
|
+
"data-ds": "",
|
|
57
|
+
"data-ds-component": "kbd",
|
|
58
|
+
"data-ds-size": size,
|
|
59
|
+
...rest,
|
|
60
|
+
children
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
});
|
|
64
|
+
Kbd.displayName = "Kbd";
|
|
65
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
66
|
+
0 && (module.exports = {
|
|
67
|
+
Kbd,
|
|
68
|
+
kbdVariants
|
|
69
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
|
|
6
|
+
declare const kbdVariants: (props?: ({
|
|
7
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
8
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
|
+
type KbdSize = "sm" | "md" | "lg";
|
|
10
|
+
interface KbdProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof kbdVariants> {
|
|
11
|
+
size?: KbdSize;
|
|
12
|
+
className?: string;
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Kbd — keyboard shortcut display.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* <Kbd>⌘K</Kbd>
|
|
20
|
+
* <Kbd>Ctrl</Kbd><span>+</span><Kbd>S</Kbd>
|
|
21
|
+
* <Kbd size="sm">Enter</Kbd>
|
|
22
|
+
*/
|
|
23
|
+
declare const Kbd: react.ForwardRefExoticComponent<KbdProps & react.RefAttributes<HTMLElement>>;
|
|
24
|
+
|
|
25
|
+
export { Kbd, type KbdProps, type KbdSize, kbdVariants };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
|
|
6
|
+
declare const kbdVariants: (props?: ({
|
|
7
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
8
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
|
+
type KbdSize = "sm" | "md" | "lg";
|
|
10
|
+
interface KbdProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof kbdVariants> {
|
|
11
|
+
size?: KbdSize;
|
|
12
|
+
className?: string;
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Kbd — keyboard shortcut display.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* <Kbd>⌘K</Kbd>
|
|
20
|
+
* <Kbd>Ctrl</Kbd><span>+</span><Kbd>S</Kbd>
|
|
21
|
+
* <Kbd size="sm">Enter</Kbd>
|
|
22
|
+
*/
|
|
23
|
+
declare const Kbd: react.ForwardRefExoticComponent<KbdProps & react.RefAttributes<HTMLElement>>;
|
|
24
|
+
|
|
25
|
+
export { Kbd, type KbdProps, type KbdSize, kbdVariants };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "../utils/cn.mjs";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { forwardRef } from "react";
|
|
6
|
+
const kbdVariants = cva(
|
|
7
|
+
[
|
|
8
|
+
"inline-flex items-center gap-0.5",
|
|
9
|
+
"font-mono font-medium leading-none",
|
|
10
|
+
"rounded border border-border",
|
|
11
|
+
"bg-muted text-muted-foreground",
|
|
12
|
+
"shadow-[0_1px_0_1px_hsl(var(--border))]",
|
|
13
|
+
"select-none whitespace-nowrap"
|
|
14
|
+
],
|
|
15
|
+
{
|
|
16
|
+
variants: {
|
|
17
|
+
size: {
|
|
18
|
+
sm: "px-1.5 py-0.5 text-[10px]",
|
|
19
|
+
md: "px-2 py-1 text-xs",
|
|
20
|
+
lg: "px-2.5 py-1 text-sm"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
defaultVariants: { size: "md" }
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
const Kbd = forwardRef(function Kbd2({ size = "md", className, children, ...rest }, ref) {
|
|
27
|
+
return /* @__PURE__ */ jsx(
|
|
28
|
+
"kbd",
|
|
29
|
+
{
|
|
30
|
+
ref,
|
|
31
|
+
className: cn(kbdVariants({ size }), className),
|
|
32
|
+
"data-ds": "",
|
|
33
|
+
"data-ds-component": "kbd",
|
|
34
|
+
"data-ds-size": size,
|
|
35
|
+
...rest,
|
|
36
|
+
children
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
});
|
|
40
|
+
Kbd.displayName = "Kbd";
|
|
41
|
+
export {
|
|
42
|
+
Kbd,
|
|
43
|
+
kbdVariants
|
|
44
|
+
};
|
|
@@ -0,0 +1,138 @@
|
|
|
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 label_exports = {};
|
|
21
|
+
__export(label_exports, {
|
|
22
|
+
Label: () => Label,
|
|
23
|
+
labelVariants: () => labelVariants
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(label_exports);
|
|
26
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
27
|
+
var import_cn = require("../utils/cn.cjs");
|
|
28
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
29
|
+
var import_radix_ui = require("radix-ui");
|
|
30
|
+
var import_react = require("react");
|
|
31
|
+
const labelVariants = (0, import_class_variance_authority.cva)(
|
|
32
|
+
// Base styles — shared across all sizes
|
|
33
|
+
[
|
|
34
|
+
// Typography
|
|
35
|
+
"font-medium leading-none text-foreground",
|
|
36
|
+
// Prevent text selection on double-click
|
|
37
|
+
"select-none",
|
|
38
|
+
// Peer-disabled styling (when used with peer inputs)
|
|
39
|
+
"peer-disabled:opacity-50 peer-disabled:cursor-not-allowed"
|
|
40
|
+
],
|
|
41
|
+
{
|
|
42
|
+
variants: {
|
|
43
|
+
// -----------------------------------------------------------------
|
|
44
|
+
// Size Variants
|
|
45
|
+
// -----------------------------------------------------------------
|
|
46
|
+
size: {
|
|
47
|
+
/**
|
|
48
|
+
* Small — for compact forms and dense UIs.
|
|
49
|
+
* Font: 12px
|
|
50
|
+
*/
|
|
51
|
+
sm: "text-xs leading-4",
|
|
52
|
+
/**
|
|
53
|
+
* Medium — default size for most labels.
|
|
54
|
+
* Font: 14px
|
|
55
|
+
*/
|
|
56
|
+
md: "text-sm leading-5",
|
|
57
|
+
/**
|
|
58
|
+
* Large — for prominent form fields.
|
|
59
|
+
* Font: 14px with slightly more weight
|
|
60
|
+
*/
|
|
61
|
+
lg: "text-sm leading-5 font-semibold"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
defaultVariants: {
|
|
65
|
+
size: "md"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
function RequiredIndicator({ className }) {
|
|
70
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: (0, import_cn.cn)("text-danger ml-0.5", className), "aria-hidden": "true", children: "*" });
|
|
71
|
+
}
|
|
72
|
+
const Label = (0, import_react.forwardRef)(function Label2({
|
|
73
|
+
size = "md",
|
|
74
|
+
required = false,
|
|
75
|
+
disabled = false,
|
|
76
|
+
description,
|
|
77
|
+
descriptionClassName,
|
|
78
|
+
wrapperClassName,
|
|
79
|
+
className,
|
|
80
|
+
children,
|
|
81
|
+
...rest
|
|
82
|
+
}, ref) {
|
|
83
|
+
const descriptionSizeClass = size === "sm" ? "text-[11px] leading-4" : "text-xs leading-4";
|
|
84
|
+
const labelElement = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
85
|
+
import_radix_ui.Label.Root,
|
|
86
|
+
{
|
|
87
|
+
ref,
|
|
88
|
+
className: (0, import_cn.cn)(
|
|
89
|
+
labelVariants({ size }),
|
|
90
|
+
disabled && "opacity-50 cursor-not-allowed",
|
|
91
|
+
!disabled && "cursor-pointer",
|
|
92
|
+
className
|
|
93
|
+
),
|
|
94
|
+
"data-ds": "",
|
|
95
|
+
"data-ds-component": "label",
|
|
96
|
+
"data-ds-size": size,
|
|
97
|
+
...disabled ? { "data-ds-disabled": "" } : {},
|
|
98
|
+
...required ? { "data-ds-required": "" } : {},
|
|
99
|
+
...rest,
|
|
100
|
+
children: [
|
|
101
|
+
children,
|
|
102
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RequiredIndicator, {})
|
|
103
|
+
]
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
if (!description) {
|
|
107
|
+
return labelElement;
|
|
108
|
+
}
|
|
109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
110
|
+
"div",
|
|
111
|
+
{
|
|
112
|
+
className: (0, import_cn.cn)("flex flex-col gap-1", wrapperClassName),
|
|
113
|
+
"data-ds": "",
|
|
114
|
+
"data-ds-component": "label-group",
|
|
115
|
+
children: [
|
|
116
|
+
labelElement,
|
|
117
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
118
|
+
"span",
|
|
119
|
+
{
|
|
120
|
+
className: (0, import_cn.cn)(
|
|
121
|
+
descriptionSizeClass,
|
|
122
|
+
"text-muted-foreground",
|
|
123
|
+
disabled && "opacity-50",
|
|
124
|
+
descriptionClassName
|
|
125
|
+
),
|
|
126
|
+
children: description
|
|
127
|
+
}
|
|
128
|
+
)
|
|
129
|
+
]
|
|
130
|
+
}
|
|
131
|
+
);
|
|
132
|
+
});
|
|
133
|
+
Label.displayName = "Label";
|
|
134
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
135
|
+
0 && (module.exports = {
|
|
136
|
+
Label,
|
|
137
|
+
labelVariants
|
|
138
|
+
});
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
import { Label as Label$1 } from 'radix-ui';
|
|
6
|
+
|
|
7
|
+
declare const labelVariants: (props?: ({
|
|
8
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
9
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
10
|
+
type LabelSize = "sm" | "md" | "lg";
|
|
11
|
+
interface LabelProps extends Omit<React.ComponentPropsWithoutRef<typeof Label$1.Root>, "asChild">, VariantProps<typeof labelVariants> {
|
|
12
|
+
/**
|
|
13
|
+
* Size of the label text.
|
|
14
|
+
* @default "md"
|
|
15
|
+
*/
|
|
16
|
+
size?: LabelSize;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the associated field is required.
|
|
19
|
+
* When true, a red asterisk (*) is displayed after the label text.
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
required?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Whether the associated field is disabled.
|
|
25
|
+
* Applies reduced opacity and not-allowed cursor.
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Optional description or helper text displayed below the label.
|
|
31
|
+
* Useful for providing additional context about the field.
|
|
32
|
+
*/
|
|
33
|
+
description?: ReactNode;
|
|
34
|
+
/**
|
|
35
|
+
* Additional CSS classes for the description text.
|
|
36
|
+
*/
|
|
37
|
+
descriptionClassName?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Additional CSS classes for the outer wrapper element.
|
|
40
|
+
* Only applied when `description` is provided (wrapper is needed
|
|
41
|
+
* to stack label + description).
|
|
42
|
+
*/
|
|
43
|
+
wrapperClassName?: string;
|
|
44
|
+
/** Content to render inside the label. */
|
|
45
|
+
children?: ReactNode;
|
|
46
|
+
/** Additional CSS classes to merge on the label element. */
|
|
47
|
+
className?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Label — an accessible label for form controls.
|
|
51
|
+
*
|
|
52
|
+
* Built on Radix UI's Label primitive for proper accessibility semantics
|
|
53
|
+
* and the design system's token layer for consistent styling. When used
|
|
54
|
+
* with Radix form controls, clicking the label will focus the associated
|
|
55
|
+
* input automatically.
|
|
56
|
+
*
|
|
57
|
+
* Accessibility:
|
|
58
|
+
* - Renders as a native `<label>` element for proper semantics
|
|
59
|
+
* - Use `htmlFor` to associate with the corresponding input's `id`
|
|
60
|
+
* - Required indicator is decorative (`aria-hidden`) — use `aria-required`
|
|
61
|
+
* on the input itself for screen reader support
|
|
62
|
+
* - Disabled state is visual only — disable the input for functional disabling
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```tsx
|
|
66
|
+
* // Basic usage
|
|
67
|
+
* <Label htmlFor="email">Email address</Label>
|
|
68
|
+
* <Input id="email" type="email" />
|
|
69
|
+
*
|
|
70
|
+
* // Required field
|
|
71
|
+
* <Label htmlFor="name" required>Full name</Label>
|
|
72
|
+
* <Input id="name" aria-required="true" />
|
|
73
|
+
*
|
|
74
|
+
* // With description
|
|
75
|
+
* <Label htmlFor="bio" description="Keep it under 200 characters.">
|
|
76
|
+
* Bio
|
|
77
|
+
* </Label>
|
|
78
|
+
* <Textarea id="bio" />
|
|
79
|
+
*
|
|
80
|
+
* // Small size for dense UIs
|
|
81
|
+
* <Label htmlFor="code" size="sm">Verification code</Label>
|
|
82
|
+
* <Input id="code" size="sm" />
|
|
83
|
+
*
|
|
84
|
+
* // Disabled
|
|
85
|
+
* <Label htmlFor="locked" disabled>Locked field</Label>
|
|
86
|
+
* <Input id="locked" disabled />
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
declare const Label: react.ForwardRefExoticComponent<LabelProps & react.RefAttributes<HTMLLabelElement>>;
|
|
90
|
+
|
|
91
|
+
export { Label, type LabelProps, type LabelSize, labelVariants };
|