@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,163 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
type FormFieldSize = "sm" | "md" | "lg";
|
|
5
|
+
type FormFieldOrientation = "vertical" | "horizontal";
|
|
6
|
+
interface FormFieldProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
7
|
+
/**
|
|
8
|
+
* Label text for the form field.
|
|
9
|
+
* Rendered as a `<label>` element linked to the control via `htmlFor`.
|
|
10
|
+
*/
|
|
11
|
+
label?: ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* Description / helper text displayed below the label (or below the
|
|
14
|
+
* control in vertical orientation).
|
|
15
|
+
* Linked to the control via `aria-describedby`.
|
|
16
|
+
*/
|
|
17
|
+
description?: ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Error message displayed below the control.
|
|
20
|
+
* When provided, the field is treated as invalid and the error
|
|
21
|
+
* replaces the description.
|
|
22
|
+
* Linked to the control via `aria-describedby`.
|
|
23
|
+
*/
|
|
24
|
+
error?: ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* Size of the form field. Controls label text size, spacing, and
|
|
27
|
+
* provides the correct sizing context for child controls.
|
|
28
|
+
* @default "md"
|
|
29
|
+
*/
|
|
30
|
+
size?: FormFieldSize;
|
|
31
|
+
/**
|
|
32
|
+
* Layout orientation for the label + control pair.
|
|
33
|
+
* - `"vertical"` — label stacked above control (default)
|
|
34
|
+
* - `"horizontal"` — label to the left, control to the right
|
|
35
|
+
* @default "vertical"
|
|
36
|
+
*/
|
|
37
|
+
orientation?: FormFieldOrientation;
|
|
38
|
+
/**
|
|
39
|
+
* Whether the field is required.
|
|
40
|
+
* Displays a red asterisk (*) after the label text.
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
required?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Whether the field is disabled.
|
|
46
|
+
* Reduces opacity on all elements (label, description, error).
|
|
47
|
+
* @default false
|
|
48
|
+
*/
|
|
49
|
+
disabled?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* The HTML `id` attribute for the form control.
|
|
52
|
+
* When provided, the label's `htmlFor` will point to this id, and
|
|
53
|
+
* `aria-describedby` / `aria-errormessage` ids are derived from it.
|
|
54
|
+
* When omitted, a unique id is auto-generated.
|
|
55
|
+
*/
|
|
56
|
+
htmlFor?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Additional CSS classes for the label element.
|
|
59
|
+
*/
|
|
60
|
+
labelClassName?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Additional CSS classes for the description element.
|
|
63
|
+
*/
|
|
64
|
+
descriptionClassName?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Additional CSS classes for the error message element.
|
|
67
|
+
*/
|
|
68
|
+
errorClassName?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Additional CSS classes for the control wrapper element
|
|
71
|
+
* (the container around the children).
|
|
72
|
+
*/
|
|
73
|
+
controlClassName?: string;
|
|
74
|
+
/**
|
|
75
|
+
* The form control(s) to render inside the field.
|
|
76
|
+
* Can be a single element or a render function that receives
|
|
77
|
+
* accessibility props to spread on the control.
|
|
78
|
+
*/
|
|
79
|
+
children: ReactNode | ((props: FormFieldControlProps) => ReactNode);
|
|
80
|
+
/** Additional CSS classes to merge on the root element. */
|
|
81
|
+
className?: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Props passed to the render-function form of `children`.
|
|
85
|
+
* Spread these on your form control for full accessibility.
|
|
86
|
+
*/
|
|
87
|
+
interface FormFieldControlProps {
|
|
88
|
+
/** The id to set on the control element. */
|
|
89
|
+
id: string;
|
|
90
|
+
/** Space-separated ids of description and/or error elements. */
|
|
91
|
+
"aria-describedby"?: string;
|
|
92
|
+
/** Whether the control is in an invalid state. */
|
|
93
|
+
"aria-invalid"?: boolean;
|
|
94
|
+
/** Whether the control is required. */
|
|
95
|
+
"aria-required"?: boolean;
|
|
96
|
+
/** Whether the control is disabled. */
|
|
97
|
+
disabled?: boolean;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* FormField — a composable form field wrapper that handles label,
|
|
101
|
+
* description, error message, and accessibility attributes.
|
|
102
|
+
*
|
|
103
|
+
* Wraps any form control (Input, Textarea, Select, Checkbox, etc.) with
|
|
104
|
+
* consistent layout, labeling, and error display. Automatically generates
|
|
105
|
+
* and wires up `htmlFor`, `aria-describedby`, and `aria-invalid` attributes.
|
|
106
|
+
*
|
|
107
|
+
* For maximum accessibility, use the render-function form of `children`
|
|
108
|
+
* to receive and spread the control props:
|
|
109
|
+
*
|
|
110
|
+
* ```tsx
|
|
111
|
+
* <FormField label="Email" error={errors.email}>
|
|
112
|
+
* {(controlProps) => <Input {...controlProps} type="email" />}
|
|
113
|
+
* </FormField>
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* Alternatively, pass a single child element and manually set its `id`
|
|
117
|
+
* to match the `htmlFor` prop (or rely on auto-generated ids and the
|
|
118
|
+
* native label click behavior).
|
|
119
|
+
*
|
|
120
|
+
* Accessibility:
|
|
121
|
+
* - Label is linked to the control via `htmlFor` / `id`
|
|
122
|
+
* - Description is linked via `aria-describedby`
|
|
123
|
+
* - Error message is linked via `aria-describedby` (replaces description)
|
|
124
|
+
* - Error state sets `aria-invalid="true"` on the control (via render fn)
|
|
125
|
+
* - Required state adds visual indicator and `aria-required` (via render fn)
|
|
126
|
+
* - Disabled state is propagated to all visual elements
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```tsx
|
|
130
|
+
* // Basic vertical layout
|
|
131
|
+
* <FormField label="Email" description="We'll never share your email.">
|
|
132
|
+
* <Input id="email" type="email" />
|
|
133
|
+
* </FormField>
|
|
134
|
+
*
|
|
135
|
+
* // With error
|
|
136
|
+
* <FormField label="Password" required error="Password is required.">
|
|
137
|
+
* <Input id="password" type="password" variant="error" />
|
|
138
|
+
* </FormField>
|
|
139
|
+
*
|
|
140
|
+
* // Render function for auto-wired accessibility
|
|
141
|
+
* <FormField label="Name" required error={errors.name}>
|
|
142
|
+
* {(props) => <Input {...props} placeholder="Enter your name" />}
|
|
143
|
+
* </FormField>
|
|
144
|
+
*
|
|
145
|
+
* // Horizontal layout
|
|
146
|
+
* <FormField label="Username" orientation="horizontal">
|
|
147
|
+
* <Input id="username" />
|
|
148
|
+
* </FormField>
|
|
149
|
+
*
|
|
150
|
+
* // Small size
|
|
151
|
+
* <FormField label="Code" size="sm" description="6-digit code">
|
|
152
|
+
* <Input id="code" size="sm" />
|
|
153
|
+
* </FormField>
|
|
154
|
+
*
|
|
155
|
+
* // Disabled
|
|
156
|
+
* <FormField label="Locked" disabled>
|
|
157
|
+
* <Input id="locked" disabled value="Cannot edit" />
|
|
158
|
+
* </FormField>
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
declare const FormField: react.ForwardRefExoticComponent<FormFieldProps & react.RefAttributes<HTMLDivElement>>;
|
|
162
|
+
|
|
163
|
+
export { FormField, type FormFieldControlProps, type FormFieldOrientation, type FormFieldProps, type FormFieldSize };
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
type FormFieldSize = "sm" | "md" | "lg";
|
|
5
|
+
type FormFieldOrientation = "vertical" | "horizontal";
|
|
6
|
+
interface FormFieldProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
7
|
+
/**
|
|
8
|
+
* Label text for the form field.
|
|
9
|
+
* Rendered as a `<label>` element linked to the control via `htmlFor`.
|
|
10
|
+
*/
|
|
11
|
+
label?: ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* Description / helper text displayed below the label (or below the
|
|
14
|
+
* control in vertical orientation).
|
|
15
|
+
* Linked to the control via `aria-describedby`.
|
|
16
|
+
*/
|
|
17
|
+
description?: ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Error message displayed below the control.
|
|
20
|
+
* When provided, the field is treated as invalid and the error
|
|
21
|
+
* replaces the description.
|
|
22
|
+
* Linked to the control via `aria-describedby`.
|
|
23
|
+
*/
|
|
24
|
+
error?: ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* Size of the form field. Controls label text size, spacing, and
|
|
27
|
+
* provides the correct sizing context for child controls.
|
|
28
|
+
* @default "md"
|
|
29
|
+
*/
|
|
30
|
+
size?: FormFieldSize;
|
|
31
|
+
/**
|
|
32
|
+
* Layout orientation for the label + control pair.
|
|
33
|
+
* - `"vertical"` — label stacked above control (default)
|
|
34
|
+
* - `"horizontal"` — label to the left, control to the right
|
|
35
|
+
* @default "vertical"
|
|
36
|
+
*/
|
|
37
|
+
orientation?: FormFieldOrientation;
|
|
38
|
+
/**
|
|
39
|
+
* Whether the field is required.
|
|
40
|
+
* Displays a red asterisk (*) after the label text.
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
required?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Whether the field is disabled.
|
|
46
|
+
* Reduces opacity on all elements (label, description, error).
|
|
47
|
+
* @default false
|
|
48
|
+
*/
|
|
49
|
+
disabled?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* The HTML `id` attribute for the form control.
|
|
52
|
+
* When provided, the label's `htmlFor` will point to this id, and
|
|
53
|
+
* `aria-describedby` / `aria-errormessage` ids are derived from it.
|
|
54
|
+
* When omitted, a unique id is auto-generated.
|
|
55
|
+
*/
|
|
56
|
+
htmlFor?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Additional CSS classes for the label element.
|
|
59
|
+
*/
|
|
60
|
+
labelClassName?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Additional CSS classes for the description element.
|
|
63
|
+
*/
|
|
64
|
+
descriptionClassName?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Additional CSS classes for the error message element.
|
|
67
|
+
*/
|
|
68
|
+
errorClassName?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Additional CSS classes for the control wrapper element
|
|
71
|
+
* (the container around the children).
|
|
72
|
+
*/
|
|
73
|
+
controlClassName?: string;
|
|
74
|
+
/**
|
|
75
|
+
* The form control(s) to render inside the field.
|
|
76
|
+
* Can be a single element or a render function that receives
|
|
77
|
+
* accessibility props to spread on the control.
|
|
78
|
+
*/
|
|
79
|
+
children: ReactNode | ((props: FormFieldControlProps) => ReactNode);
|
|
80
|
+
/** Additional CSS classes to merge on the root element. */
|
|
81
|
+
className?: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Props passed to the render-function form of `children`.
|
|
85
|
+
* Spread these on your form control for full accessibility.
|
|
86
|
+
*/
|
|
87
|
+
interface FormFieldControlProps {
|
|
88
|
+
/** The id to set on the control element. */
|
|
89
|
+
id: string;
|
|
90
|
+
/** Space-separated ids of description and/or error elements. */
|
|
91
|
+
"aria-describedby"?: string;
|
|
92
|
+
/** Whether the control is in an invalid state. */
|
|
93
|
+
"aria-invalid"?: boolean;
|
|
94
|
+
/** Whether the control is required. */
|
|
95
|
+
"aria-required"?: boolean;
|
|
96
|
+
/** Whether the control is disabled. */
|
|
97
|
+
disabled?: boolean;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* FormField — a composable form field wrapper that handles label,
|
|
101
|
+
* description, error message, and accessibility attributes.
|
|
102
|
+
*
|
|
103
|
+
* Wraps any form control (Input, Textarea, Select, Checkbox, etc.) with
|
|
104
|
+
* consistent layout, labeling, and error display. Automatically generates
|
|
105
|
+
* and wires up `htmlFor`, `aria-describedby`, and `aria-invalid` attributes.
|
|
106
|
+
*
|
|
107
|
+
* For maximum accessibility, use the render-function form of `children`
|
|
108
|
+
* to receive and spread the control props:
|
|
109
|
+
*
|
|
110
|
+
* ```tsx
|
|
111
|
+
* <FormField label="Email" error={errors.email}>
|
|
112
|
+
* {(controlProps) => <Input {...controlProps} type="email" />}
|
|
113
|
+
* </FormField>
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* Alternatively, pass a single child element and manually set its `id`
|
|
117
|
+
* to match the `htmlFor` prop (or rely on auto-generated ids and the
|
|
118
|
+
* native label click behavior).
|
|
119
|
+
*
|
|
120
|
+
* Accessibility:
|
|
121
|
+
* - Label is linked to the control via `htmlFor` / `id`
|
|
122
|
+
* - Description is linked via `aria-describedby`
|
|
123
|
+
* - Error message is linked via `aria-describedby` (replaces description)
|
|
124
|
+
* - Error state sets `aria-invalid="true"` on the control (via render fn)
|
|
125
|
+
* - Required state adds visual indicator and `aria-required` (via render fn)
|
|
126
|
+
* - Disabled state is propagated to all visual elements
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```tsx
|
|
130
|
+
* // Basic vertical layout
|
|
131
|
+
* <FormField label="Email" description="We'll never share your email.">
|
|
132
|
+
* <Input id="email" type="email" />
|
|
133
|
+
* </FormField>
|
|
134
|
+
*
|
|
135
|
+
* // With error
|
|
136
|
+
* <FormField label="Password" required error="Password is required.">
|
|
137
|
+
* <Input id="password" type="password" variant="error" />
|
|
138
|
+
* </FormField>
|
|
139
|
+
*
|
|
140
|
+
* // Render function for auto-wired accessibility
|
|
141
|
+
* <FormField label="Name" required error={errors.name}>
|
|
142
|
+
* {(props) => <Input {...props} placeholder="Enter your name" />}
|
|
143
|
+
* </FormField>
|
|
144
|
+
*
|
|
145
|
+
* // Horizontal layout
|
|
146
|
+
* <FormField label="Username" orientation="horizontal">
|
|
147
|
+
* <Input id="username" />
|
|
148
|
+
* </FormField>
|
|
149
|
+
*
|
|
150
|
+
* // Small size
|
|
151
|
+
* <FormField label="Code" size="sm" description="6-digit code">
|
|
152
|
+
* <Input id="code" size="sm" />
|
|
153
|
+
* </FormField>
|
|
154
|
+
*
|
|
155
|
+
* // Disabled
|
|
156
|
+
* <FormField label="Locked" disabled>
|
|
157
|
+
* <Input id="locked" disabled value="Cannot edit" />
|
|
158
|
+
* </FormField>
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
declare const FormField: react.ForwardRefExoticComponent<FormFieldProps & react.RefAttributes<HTMLDivElement>>;
|
|
162
|
+
|
|
163
|
+
export { FormField, type FormFieldControlProps, type FormFieldOrientation, type FormFieldProps, type FormFieldSize };
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "../utils/cn.mjs";
|
|
4
|
+
import { forwardRef, useId } from "react";
|
|
5
|
+
const labelSizeMap = {
|
|
6
|
+
sm: "text-xs leading-4 font-medium",
|
|
7
|
+
md: "text-sm leading-5 font-medium",
|
|
8
|
+
lg: "text-sm leading-5 font-semibold"
|
|
9
|
+
};
|
|
10
|
+
const descriptionSizeMap = {
|
|
11
|
+
sm: "text-[11px] leading-4",
|
|
12
|
+
md: "text-xs leading-4",
|
|
13
|
+
lg: "text-xs leading-4"
|
|
14
|
+
};
|
|
15
|
+
const errorSizeMap = {
|
|
16
|
+
sm: "text-[11px] leading-4",
|
|
17
|
+
md: "text-xs leading-4",
|
|
18
|
+
lg: "text-xs leading-4"
|
|
19
|
+
};
|
|
20
|
+
const gapSizeMap = {
|
|
21
|
+
sm: "gap-1",
|
|
22
|
+
md: "gap-1.5",
|
|
23
|
+
lg: "gap-2"
|
|
24
|
+
};
|
|
25
|
+
const horizontalLabelWidthMap = {
|
|
26
|
+
sm: "w-24 shrink-0",
|
|
27
|
+
md: "w-32 shrink-0",
|
|
28
|
+
lg: "w-40 shrink-0"
|
|
29
|
+
};
|
|
30
|
+
function RequiredIndicator() {
|
|
31
|
+
return /* @__PURE__ */ jsx("span", { className: "text-danger ml-0.5", "aria-hidden": "true", children: "*" });
|
|
32
|
+
}
|
|
33
|
+
const FormField = forwardRef(
|
|
34
|
+
function FormField2({
|
|
35
|
+
label,
|
|
36
|
+
description,
|
|
37
|
+
error,
|
|
38
|
+
size = "md",
|
|
39
|
+
orientation = "vertical",
|
|
40
|
+
required = false,
|
|
41
|
+
disabled = false,
|
|
42
|
+
htmlFor: htmlForProp,
|
|
43
|
+
labelClassName,
|
|
44
|
+
descriptionClassName,
|
|
45
|
+
errorClassName,
|
|
46
|
+
controlClassName,
|
|
47
|
+
children,
|
|
48
|
+
className,
|
|
49
|
+
...rest
|
|
50
|
+
}, ref) {
|
|
51
|
+
const autoId = useId();
|
|
52
|
+
const fieldId = htmlForProp ?? autoId;
|
|
53
|
+
const descriptionId = description ? `${fieldId}-description` : void 0;
|
|
54
|
+
const errorId = error ? `${fieldId}-error` : void 0;
|
|
55
|
+
const hasError = !!error;
|
|
56
|
+
const ariaDescribedBy = hasError ? errorId : descriptionId ? descriptionId : void 0;
|
|
57
|
+
const controlProps = {
|
|
58
|
+
id: fieldId,
|
|
59
|
+
...ariaDescribedBy ? { "aria-describedby": ariaDescribedBy } : {},
|
|
60
|
+
...hasError ? { "aria-invalid": true } : {},
|
|
61
|
+
...required ? { "aria-required": true } : {},
|
|
62
|
+
...disabled ? { disabled: true } : {}
|
|
63
|
+
};
|
|
64
|
+
const renderedChildren = typeof children === "function" ? children(controlProps) : children;
|
|
65
|
+
const isHorizontal = orientation === "horizontal";
|
|
66
|
+
const labelElement = label ? /* @__PURE__ */ jsxs(
|
|
67
|
+
"label",
|
|
68
|
+
{
|
|
69
|
+
htmlFor: fieldId,
|
|
70
|
+
className: cn(
|
|
71
|
+
labelSizeMap[size],
|
|
72
|
+
"text-foreground",
|
|
73
|
+
"select-none",
|
|
74
|
+
disabled && "opacity-50 cursor-not-allowed",
|
|
75
|
+
!disabled && "cursor-pointer",
|
|
76
|
+
isHorizontal && horizontalLabelWidthMap[size],
|
|
77
|
+
isHorizontal && "pt-2",
|
|
78
|
+
// Align with control baseline
|
|
79
|
+
labelClassName
|
|
80
|
+
),
|
|
81
|
+
children: [
|
|
82
|
+
label,
|
|
83
|
+
required && /* @__PURE__ */ jsx(RequiredIndicator, {})
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
) : null;
|
|
87
|
+
const descriptionElement = description && !hasError ? /* @__PURE__ */ jsx(
|
|
88
|
+
"span",
|
|
89
|
+
{
|
|
90
|
+
id: descriptionId,
|
|
91
|
+
className: cn(
|
|
92
|
+
descriptionSizeMap[size],
|
|
93
|
+
"text-muted-foreground",
|
|
94
|
+
disabled && "opacity-50",
|
|
95
|
+
descriptionClassName
|
|
96
|
+
),
|
|
97
|
+
children: description
|
|
98
|
+
}
|
|
99
|
+
) : null;
|
|
100
|
+
const errorElement = hasError ? /* @__PURE__ */ jsx(
|
|
101
|
+
"span",
|
|
102
|
+
{
|
|
103
|
+
id: errorId,
|
|
104
|
+
role: "alert",
|
|
105
|
+
className: cn(
|
|
106
|
+
errorSizeMap[size],
|
|
107
|
+
"text-danger",
|
|
108
|
+
disabled && "opacity-50",
|
|
109
|
+
errorClassName
|
|
110
|
+
),
|
|
111
|
+
children: error
|
|
112
|
+
}
|
|
113
|
+
) : null;
|
|
114
|
+
if (!isHorizontal) {
|
|
115
|
+
return /* @__PURE__ */ jsxs(
|
|
116
|
+
"div",
|
|
117
|
+
{
|
|
118
|
+
ref,
|
|
119
|
+
className: cn("flex flex-col", gapSizeMap[size], className),
|
|
120
|
+
"data-ds": "",
|
|
121
|
+
"data-ds-component": "form-field",
|
|
122
|
+
"data-ds-size": size,
|
|
123
|
+
"data-ds-orientation": orientation,
|
|
124
|
+
...hasError ? { "data-ds-error": "" } : {},
|
|
125
|
+
...disabled ? { "data-ds-disabled": "" } : {},
|
|
126
|
+
...required ? { "data-ds-required": "" } : {},
|
|
127
|
+
...rest,
|
|
128
|
+
children: [
|
|
129
|
+
(labelElement || descriptionElement) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
|
|
130
|
+
labelElement,
|
|
131
|
+
descriptionElement
|
|
132
|
+
] }),
|
|
133
|
+
/* @__PURE__ */ jsx("div", { className: cn(controlClassName), children: renderedChildren }),
|
|
134
|
+
errorElement
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
return /* @__PURE__ */ jsxs(
|
|
140
|
+
"div",
|
|
141
|
+
{
|
|
142
|
+
ref,
|
|
143
|
+
className: cn("flex flex-row items-start", gapSizeMap[size], className),
|
|
144
|
+
"data-ds": "",
|
|
145
|
+
"data-ds-component": "form-field",
|
|
146
|
+
"data-ds-size": size,
|
|
147
|
+
"data-ds-orientation": orientation,
|
|
148
|
+
...hasError ? { "data-ds-error": "" } : {},
|
|
149
|
+
...disabled ? { "data-ds-disabled": "" } : {},
|
|
150
|
+
...required ? { "data-ds-required": "" } : {},
|
|
151
|
+
...rest,
|
|
152
|
+
children: [
|
|
153
|
+
labelElement,
|
|
154
|
+
/* @__PURE__ */ jsxs("div", { className: cn("flex flex-1 flex-col", gapSizeMap[size]), children: [
|
|
155
|
+
/* @__PURE__ */ jsx("div", { className: cn(controlClassName), children: renderedChildren }),
|
|
156
|
+
descriptionElement,
|
|
157
|
+
errorElement
|
|
158
|
+
] })
|
|
159
|
+
]
|
|
160
|
+
}
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
);
|
|
164
|
+
FormField.displayName = "FormField";
|
|
165
|
+
export {
|
|
166
|
+
FormField
|
|
167
|
+
};
|
|
@@ -0,0 +1,99 @@
|
|
|
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 hover_card_exports = {};
|
|
21
|
+
__export(hover_card_exports, {
|
|
22
|
+
HoverCard: () => HoverCard,
|
|
23
|
+
HoverCardContent: () => HoverCardContent,
|
|
24
|
+
HoverCardTrigger: () => HoverCardTrigger
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(hover_card_exports);
|
|
27
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
28
|
+
var import_motion = require("../motion/index.cjs");
|
|
29
|
+
var import_cn = require("../utils/cn.cjs");
|
|
30
|
+
var import_framer_motion = require("framer-motion");
|
|
31
|
+
var import_radix_ui = require("radix-ui");
|
|
32
|
+
var import_react = require("react");
|
|
33
|
+
function HoverCard({
|
|
34
|
+
openDelay = 200,
|
|
35
|
+
closeDelay = 150,
|
|
36
|
+
...props
|
|
37
|
+
}) {
|
|
38
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
39
|
+
import_radix_ui.HoverCard.Root,
|
|
40
|
+
{
|
|
41
|
+
openDelay,
|
|
42
|
+
closeDelay,
|
|
43
|
+
...props
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
HoverCard.displayName = "HoverCard";
|
|
48
|
+
const HoverCardTrigger = import_radix_ui.HoverCard.Trigger;
|
|
49
|
+
HoverCardTrigger.displayName = "HoverCardTrigger";
|
|
50
|
+
const HoverCardContent = (0, import_react.forwardRef)(function HoverCardContent2({
|
|
51
|
+
side = "bottom",
|
|
52
|
+
align = "center",
|
|
53
|
+
sideOffset = 8,
|
|
54
|
+
className,
|
|
55
|
+
children,
|
|
56
|
+
...rest
|
|
57
|
+
}, ref) {
|
|
58
|
+
const shouldReduce = (0, import_framer_motion.useReducedMotion)();
|
|
59
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_radix_ui.HoverCard.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
60
|
+
import_radix_ui.HoverCard.Content,
|
|
61
|
+
{
|
|
62
|
+
ref,
|
|
63
|
+
side,
|
|
64
|
+
align,
|
|
65
|
+
sideOffset,
|
|
66
|
+
asChild: true,
|
|
67
|
+
...rest,
|
|
68
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
69
|
+
import_framer_motion.motion.div,
|
|
70
|
+
{
|
|
71
|
+
className: (0, import_cn.cn)(
|
|
72
|
+
"z-popover w-64 rounded-lg border border-border bg-popover p-4 shadow-lg outline-none",
|
|
73
|
+
"text-sm text-popover-foreground",
|
|
74
|
+
className
|
|
75
|
+
),
|
|
76
|
+
variants: shouldReduce ? void 0 : import_motion.scaleIn.variants,
|
|
77
|
+
initial: shouldReduce ? { opacity: 0 } : "initial",
|
|
78
|
+
animate: shouldReduce ? { opacity: 1 } : "animate",
|
|
79
|
+
exit: shouldReduce ? { opacity: 0 } : "exit",
|
|
80
|
+
transition: shouldReduce ? { duration: 0.12 } : import_motion.scaleIn.transition,
|
|
81
|
+
"data-ds": "",
|
|
82
|
+
"data-ds-component": "hover-card-content",
|
|
83
|
+
"data-ds-animated": "",
|
|
84
|
+
children: [
|
|
85
|
+
children,
|
|
86
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_radix_ui.HoverCard.Arrow, { className: "fill-border" })
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
)
|
|
90
|
+
}
|
|
91
|
+
) });
|
|
92
|
+
});
|
|
93
|
+
HoverCardContent.displayName = "HoverCardContent";
|
|
94
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
95
|
+
0 && (module.exports = {
|
|
96
|
+
HoverCard,
|
|
97
|
+
HoverCardContent,
|
|
98
|
+
HoverCardTrigger
|
|
99
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
3
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
+
import { HoverCard as HoverCard$1 } from 'radix-ui';
|
|
5
|
+
|
|
6
|
+
type HoverCardSide = "top" | "right" | "bottom" | "left";
|
|
7
|
+
type HoverCardAlign = "start" | "center" | "end";
|
|
8
|
+
interface HoverCardProps extends ComponentPropsWithoutRef<typeof HoverCard$1.Root> {
|
|
9
|
+
openDelay?: number;
|
|
10
|
+
closeDelay?: number;
|
|
11
|
+
}
|
|
12
|
+
interface HoverCardTriggerProps extends ComponentPropsWithoutRef<typeof HoverCard$1.Trigger> {
|
|
13
|
+
}
|
|
14
|
+
interface HoverCardContentProps extends ComponentPropsWithoutRef<typeof HoverCard$1.Content> {
|
|
15
|
+
side?: HoverCardSide;
|
|
16
|
+
align?: HoverCardAlign;
|
|
17
|
+
sideOffset?: number;
|
|
18
|
+
className?: string;
|
|
19
|
+
children?: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
declare function HoverCard({ openDelay, closeDelay, ...props }: HoverCardProps): react_jsx_runtime.JSX.Element;
|
|
22
|
+
declare namespace HoverCard {
|
|
23
|
+
var displayName: string;
|
|
24
|
+
}
|
|
25
|
+
declare const HoverCardTrigger: react.ForwardRefExoticComponent<HoverCard$1.HoverCardTriggerProps & react.RefAttributes<HTMLAnchorElement>>;
|
|
26
|
+
declare const HoverCardContent: react.ForwardRefExoticComponent<HoverCardContentProps & react.RefAttributes<HTMLDivElement>>;
|
|
27
|
+
|
|
28
|
+
export { HoverCard, type HoverCardAlign, HoverCardContent, type HoverCardContentProps, type HoverCardProps, type HoverCardSide, HoverCardTrigger, type HoverCardTriggerProps };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
3
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
+
import { HoverCard as HoverCard$1 } from 'radix-ui';
|
|
5
|
+
|
|
6
|
+
type HoverCardSide = "top" | "right" | "bottom" | "left";
|
|
7
|
+
type HoverCardAlign = "start" | "center" | "end";
|
|
8
|
+
interface HoverCardProps extends ComponentPropsWithoutRef<typeof HoverCard$1.Root> {
|
|
9
|
+
openDelay?: number;
|
|
10
|
+
closeDelay?: number;
|
|
11
|
+
}
|
|
12
|
+
interface HoverCardTriggerProps extends ComponentPropsWithoutRef<typeof HoverCard$1.Trigger> {
|
|
13
|
+
}
|
|
14
|
+
interface HoverCardContentProps extends ComponentPropsWithoutRef<typeof HoverCard$1.Content> {
|
|
15
|
+
side?: HoverCardSide;
|
|
16
|
+
align?: HoverCardAlign;
|
|
17
|
+
sideOffset?: number;
|
|
18
|
+
className?: string;
|
|
19
|
+
children?: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
declare function HoverCard({ openDelay, closeDelay, ...props }: HoverCardProps): react_jsx_runtime.JSX.Element;
|
|
22
|
+
declare namespace HoverCard {
|
|
23
|
+
var displayName: string;
|
|
24
|
+
}
|
|
25
|
+
declare const HoverCardTrigger: react.ForwardRefExoticComponent<HoverCard$1.HoverCardTriggerProps & react.RefAttributes<HTMLAnchorElement>>;
|
|
26
|
+
declare const HoverCardContent: react.ForwardRefExoticComponent<HoverCardContentProps & react.RefAttributes<HTMLDivElement>>;
|
|
27
|
+
|
|
28
|
+
export { HoverCard, type HoverCardAlign, HoverCardContent, type HoverCardContentProps, type HoverCardProps, type HoverCardSide, HoverCardTrigger, type HoverCardTriggerProps };
|