@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,326 @@
|
|
|
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 tabs_exports = {};
|
|
21
|
+
__export(tabs_exports, {
|
|
22
|
+
Tabs: () => Tabs,
|
|
23
|
+
TabsContent: () => TabsContent,
|
|
24
|
+
TabsList: () => TabsList,
|
|
25
|
+
TabsTrigger: () => TabsTrigger,
|
|
26
|
+
tabsListVariants: () => tabsListVariants,
|
|
27
|
+
tabsTriggerVariants: () => tabsTriggerVariants
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(tabs_exports);
|
|
30
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
31
|
+
var import_cn = require("../utils/cn.cjs");
|
|
32
|
+
var import_focus_ring = require("../utils/focus-ring.cjs");
|
|
33
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
34
|
+
var import_framer_motion = require("framer-motion");
|
|
35
|
+
var import_radix_ui = require("radix-ui");
|
|
36
|
+
var import_react = require("react");
|
|
37
|
+
const TabsContext = (0, import_react.createContext)({
|
|
38
|
+
variant: "underline",
|
|
39
|
+
size: "md",
|
|
40
|
+
orientation: "horizontal",
|
|
41
|
+
layoutId: "",
|
|
42
|
+
activeValue: ""
|
|
43
|
+
});
|
|
44
|
+
function useTabsContext() {
|
|
45
|
+
return (0, import_react.useContext)(TabsContext);
|
|
46
|
+
}
|
|
47
|
+
const tabsListVariants = (0, import_class_variance_authority.cva)(["inline-flex items-center", "shrink-0"], {
|
|
48
|
+
variants: {
|
|
49
|
+
variant: {
|
|
50
|
+
underline: ["border-b border-border", "gap-0"],
|
|
51
|
+
pills: ["gap-1", "rounded-md", "bg-muted", "p-1"],
|
|
52
|
+
enclosed: ["border-b border-border", "gap-0"]
|
|
53
|
+
},
|
|
54
|
+
orientation: {
|
|
55
|
+
horizontal: "flex-row w-full",
|
|
56
|
+
vertical: "flex-col w-auto border-b-0"
|
|
57
|
+
},
|
|
58
|
+
fullWidth: {
|
|
59
|
+
true: "",
|
|
60
|
+
false: ""
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
compoundVariants: [
|
|
64
|
+
// Vertical orientation adjustments
|
|
65
|
+
{
|
|
66
|
+
variant: "underline",
|
|
67
|
+
orientation: "vertical",
|
|
68
|
+
className: "border-b-0 border-r border-border"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
variant: "enclosed",
|
|
72
|
+
orientation: "vertical",
|
|
73
|
+
className: "border-b-0 border-r border-border"
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
defaultVariants: {
|
|
77
|
+
variant: "underline",
|
|
78
|
+
orientation: "horizontal",
|
|
79
|
+
fullWidth: false
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
const tabsTriggerVariants = (0, import_class_variance_authority.cva)(
|
|
83
|
+
[
|
|
84
|
+
// Layout
|
|
85
|
+
"relative inline-flex items-center justify-center gap-1.5",
|
|
86
|
+
// Typography
|
|
87
|
+
"font-medium leading-5 whitespace-nowrap",
|
|
88
|
+
// Transition
|
|
89
|
+
"transition-[color,background-color,border-color,box-shadow,opacity]",
|
|
90
|
+
"duration-fast ease-standard",
|
|
91
|
+
// Focus ring
|
|
92
|
+
import_focus_ring.focusRingClasses,
|
|
93
|
+
// Disabled
|
|
94
|
+
"disabled:pointer-events-none disabled:opacity-50",
|
|
95
|
+
// Cursor
|
|
96
|
+
"cursor-pointer select-none"
|
|
97
|
+
],
|
|
98
|
+
{
|
|
99
|
+
variants: {
|
|
100
|
+
variant: {
|
|
101
|
+
underline: [
|
|
102
|
+
"bg-transparent",
|
|
103
|
+
"text-muted-foreground",
|
|
104
|
+
"hover:text-foreground",
|
|
105
|
+
"data-[state=active]:text-foreground",
|
|
106
|
+
// Bottom border space for the active indicator
|
|
107
|
+
"border-b-2 border-transparent -mb-px"
|
|
108
|
+
],
|
|
109
|
+
pills: [
|
|
110
|
+
"rounded-sm",
|
|
111
|
+
"text-muted-foreground",
|
|
112
|
+
"hover:text-foreground hover:bg-background/60",
|
|
113
|
+
"data-[state=active]:text-foreground"
|
|
114
|
+
],
|
|
115
|
+
enclosed: [
|
|
116
|
+
"bg-transparent",
|
|
117
|
+
"text-muted-foreground",
|
|
118
|
+
"border border-transparent",
|
|
119
|
+
"hover:text-foreground",
|
|
120
|
+
"data-[state=active]:text-foreground",
|
|
121
|
+
"data-[state=active]:bg-background",
|
|
122
|
+
"data-[state=active]:border-border",
|
|
123
|
+
"data-[state=active]:border-b-transparent",
|
|
124
|
+
"-mb-px"
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
size: {
|
|
128
|
+
sm: "text-xs px-3 py-1.5",
|
|
129
|
+
md: "text-sm px-4 py-2"
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
defaultVariants: {
|
|
133
|
+
variant: "underline",
|
|
134
|
+
size: "md"
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
);
|
|
138
|
+
const tabsContentVariants = (0, import_class_variance_authority.cva)(["mt-2", import_focus_ring.focusRingClasses, "rounded-sm"], {
|
|
139
|
+
variants: {
|
|
140
|
+
orientation: {
|
|
141
|
+
horizontal: "mt-2",
|
|
142
|
+
vertical: "mt-0 ml-4"
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
defaultVariants: {
|
|
146
|
+
orientation: "horizontal"
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
const MotionSpan = import_framer_motion.motion.create("span");
|
|
150
|
+
const indicatorSpringConfig = {
|
|
151
|
+
type: "spring",
|
|
152
|
+
stiffness: 500,
|
|
153
|
+
damping: 35,
|
|
154
|
+
mass: 0.5
|
|
155
|
+
};
|
|
156
|
+
const indicatorInstantConfig = {
|
|
157
|
+
type: "tween",
|
|
158
|
+
duration: 0
|
|
159
|
+
};
|
|
160
|
+
function ActiveIndicator({
|
|
161
|
+
variant,
|
|
162
|
+
layoutId
|
|
163
|
+
}) {
|
|
164
|
+
const prefersReduced = (0, import_framer_motion.useReducedMotion)();
|
|
165
|
+
const transition = prefersReduced ? indicatorInstantConfig : indicatorSpringConfig;
|
|
166
|
+
if (variant === "enclosed") {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
if (variant === "underline") {
|
|
170
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
171
|
+
MotionSpan,
|
|
172
|
+
{
|
|
173
|
+
layoutId,
|
|
174
|
+
className: (0, import_cn.cn)(
|
|
175
|
+
"absolute bottom-0 left-0 right-0 h-0.5",
|
|
176
|
+
"bg-primary",
|
|
177
|
+
"rounded-full"
|
|
178
|
+
),
|
|
179
|
+
transition
|
|
180
|
+
}
|
|
181
|
+
);
|
|
182
|
+
}
|
|
183
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
184
|
+
MotionSpan,
|
|
185
|
+
{
|
|
186
|
+
layoutId,
|
|
187
|
+
className: (0, import_cn.cn)(
|
|
188
|
+
"absolute inset-0",
|
|
189
|
+
"bg-background",
|
|
190
|
+
"rounded-sm",
|
|
191
|
+
"shadow-sm"
|
|
192
|
+
),
|
|
193
|
+
transition
|
|
194
|
+
}
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
const Tabs = (0, import_react.forwardRef)(function Tabs2({
|
|
198
|
+
variant = "underline",
|
|
199
|
+
size = "md",
|
|
200
|
+
orientation = "horizontal",
|
|
201
|
+
className,
|
|
202
|
+
children,
|
|
203
|
+
value: controlledValue,
|
|
204
|
+
defaultValue,
|
|
205
|
+
onValueChange,
|
|
206
|
+
...rest
|
|
207
|
+
}, ref) {
|
|
208
|
+
const autoId = (0, import_react.useId)();
|
|
209
|
+
const layoutId = `tabs-indicator-${autoId}`;
|
|
210
|
+
const [internalValue, setInternalValue] = (0, import_react.useState)(
|
|
211
|
+
controlledValue ?? defaultValue ?? ""
|
|
212
|
+
);
|
|
213
|
+
const activeValue = controlledValue !== void 0 ? controlledValue : internalValue;
|
|
214
|
+
const handleValueChange = (0, import_react.useCallback)(
|
|
215
|
+
(newValue) => {
|
|
216
|
+
if (controlledValue === void 0) {
|
|
217
|
+
setInternalValue(newValue);
|
|
218
|
+
}
|
|
219
|
+
onValueChange?.(newValue);
|
|
220
|
+
},
|
|
221
|
+
[controlledValue, onValueChange]
|
|
222
|
+
);
|
|
223
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
224
|
+
TabsContext.Provider,
|
|
225
|
+
{
|
|
226
|
+
value: { variant, size, orientation, layoutId, activeValue },
|
|
227
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
228
|
+
import_radix_ui.Tabs.Root,
|
|
229
|
+
{
|
|
230
|
+
ref,
|
|
231
|
+
orientation,
|
|
232
|
+
value: controlledValue,
|
|
233
|
+
defaultValue: controlledValue !== void 0 ? void 0 : defaultValue,
|
|
234
|
+
onValueChange: handleValueChange,
|
|
235
|
+
className: (0, import_cn.cn)(
|
|
236
|
+
"not-prose",
|
|
237
|
+
orientation === "vertical" && "flex flex-row",
|
|
238
|
+
className
|
|
239
|
+
),
|
|
240
|
+
"data-ds": "",
|
|
241
|
+
"data-ds-component": "tabs",
|
|
242
|
+
"data-ds-variant": variant,
|
|
243
|
+
"data-ds-size": size,
|
|
244
|
+
"data-ds-orientation": orientation,
|
|
245
|
+
...rest,
|
|
246
|
+
children
|
|
247
|
+
}
|
|
248
|
+
)
|
|
249
|
+
}
|
|
250
|
+
);
|
|
251
|
+
});
|
|
252
|
+
Tabs.displayName = "Tabs";
|
|
253
|
+
const TabsList = (0, import_react.forwardRef)(function TabsList2({ fullWidth = false, className, children, ...rest }, ref) {
|
|
254
|
+
const { variant, orientation } = useTabsContext();
|
|
255
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
256
|
+
import_radix_ui.Tabs.List,
|
|
257
|
+
{
|
|
258
|
+
ref,
|
|
259
|
+
className: (0, import_cn.cn)(
|
|
260
|
+
tabsListVariants({ variant, orientation, fullWidth }),
|
|
261
|
+
fullWidth && orientation === "horizontal" && "[&>*]:flex-1",
|
|
262
|
+
className
|
|
263
|
+
),
|
|
264
|
+
"data-ds": "",
|
|
265
|
+
"data-ds-component": "tabs-list",
|
|
266
|
+
...rest,
|
|
267
|
+
children
|
|
268
|
+
}
|
|
269
|
+
);
|
|
270
|
+
});
|
|
271
|
+
TabsList.displayName = "TabsList";
|
|
272
|
+
const TabsTrigger = (0, import_react.forwardRef)(function TabsTrigger2({ className, icon, children, disabled, value, ...rest }, ref) {
|
|
273
|
+
const { variant, size, layoutId, activeValue } = useTabsContext();
|
|
274
|
+
const iconSizeClass = size === "sm" ? "[&>svg]:size-3.5" : "[&>svg]:size-4";
|
|
275
|
+
const isActive = value === activeValue;
|
|
276
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
277
|
+
import_radix_ui.Tabs.Trigger,
|
|
278
|
+
{
|
|
279
|
+
ref,
|
|
280
|
+
value,
|
|
281
|
+
disabled,
|
|
282
|
+
className: (0, import_cn.cn)(
|
|
283
|
+
tabsTriggerVariants({ variant, size }),
|
|
284
|
+
iconSizeClass,
|
|
285
|
+
// For underline variant, make border transparent — the motion indicator handles the active line
|
|
286
|
+
variant === "underline" && "data-[state=active]:border-transparent",
|
|
287
|
+
className
|
|
288
|
+
),
|
|
289
|
+
"data-ds": "",
|
|
290
|
+
"data-ds-component": "tabs-trigger",
|
|
291
|
+
...rest,
|
|
292
|
+
children: [
|
|
293
|
+
variant !== "enclosed" && isActive && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "absolute inset-0 pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ActiveIndicator, { variant, layoutId }) }),
|
|
294
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: (0, import_cn.cn)("relative z-[1] inline-flex items-center gap-1.5"), children: [
|
|
295
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "shrink-0", "aria-hidden": "true", children: icon }),
|
|
296
|
+
children
|
|
297
|
+
] })
|
|
298
|
+
]
|
|
299
|
+
}
|
|
300
|
+
);
|
|
301
|
+
});
|
|
302
|
+
TabsTrigger.displayName = "TabsTrigger";
|
|
303
|
+
const TabsContent = (0, import_react.forwardRef)(function TabsContent2({ className, children, ...rest }, ref) {
|
|
304
|
+
const { orientation } = useTabsContext();
|
|
305
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
306
|
+
import_radix_ui.Tabs.Content,
|
|
307
|
+
{
|
|
308
|
+
ref,
|
|
309
|
+
className: (0, import_cn.cn)(tabsContentVariants({ orientation }), className),
|
|
310
|
+
"data-ds": "",
|
|
311
|
+
"data-ds-component": "tabs-content",
|
|
312
|
+
...rest,
|
|
313
|
+
children
|
|
314
|
+
}
|
|
315
|
+
);
|
|
316
|
+
});
|
|
317
|
+
TabsContent.displayName = "TabsContent";
|
|
318
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
319
|
+
0 && (module.exports = {
|
|
320
|
+
Tabs,
|
|
321
|
+
TabsContent,
|
|
322
|
+
TabsList,
|
|
323
|
+
TabsTrigger,
|
|
324
|
+
tabsListVariants,
|
|
325
|
+
tabsTriggerVariants
|
|
326
|
+
});
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
3
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
4
|
+
import { Tabs as Tabs$1 } from 'radix-ui';
|
|
5
|
+
|
|
6
|
+
declare const tabsListVariants: (props?: ({
|
|
7
|
+
variant?: "underline" | "pills" | "enclosed" | null | undefined;
|
|
8
|
+
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
9
|
+
fullWidth?: boolean | null | undefined;
|
|
10
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
11
|
+
declare const tabsTriggerVariants: (props?: ({
|
|
12
|
+
variant?: "underline" | "pills" | "enclosed" | null | undefined;
|
|
13
|
+
size?: "sm" | "md" | null | undefined;
|
|
14
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
15
|
+
type TabsVariant = "underline" | "pills" | "enclosed";
|
|
16
|
+
type TabsSize = "sm" | "md";
|
|
17
|
+
type TabsOrientation = "horizontal" | "vertical";
|
|
18
|
+
interface TabsProps extends Omit<ComponentPropsWithoutRef<typeof Tabs$1.Root>, "orientation"> {
|
|
19
|
+
/** Visual variant of the tab list. @default "underline" */
|
|
20
|
+
variant?: TabsVariant;
|
|
21
|
+
/** Size of the tab triggers. @default "md" */
|
|
22
|
+
size?: TabsSize;
|
|
23
|
+
/** Layout orientation. @default "horizontal" */
|
|
24
|
+
orientation?: TabsOrientation;
|
|
25
|
+
/** Additional CSS classes. */
|
|
26
|
+
className?: string;
|
|
27
|
+
/** Tab content. */
|
|
28
|
+
children?: ReactNode;
|
|
29
|
+
}
|
|
30
|
+
interface TabsListProps extends ComponentPropsWithoutRef<typeof Tabs$1.List> {
|
|
31
|
+
/** Whether tabs stretch to fill the available width. @default false */
|
|
32
|
+
fullWidth?: boolean;
|
|
33
|
+
/** Additional CSS classes. */
|
|
34
|
+
className?: string;
|
|
35
|
+
/** Tab triggers. */
|
|
36
|
+
children?: ReactNode;
|
|
37
|
+
}
|
|
38
|
+
interface TabsTriggerProps extends ComponentPropsWithoutRef<typeof Tabs$1.Trigger> {
|
|
39
|
+
/** Additional CSS classes. */
|
|
40
|
+
className?: string;
|
|
41
|
+
/** Optional icon to display before the label. */
|
|
42
|
+
icon?: ReactNode;
|
|
43
|
+
/** The trigger label. */
|
|
44
|
+
children?: ReactNode;
|
|
45
|
+
}
|
|
46
|
+
interface TabsContentProps extends ComponentPropsWithoutRef<typeof Tabs$1.Content> {
|
|
47
|
+
/** Additional CSS classes. */
|
|
48
|
+
className?: string;
|
|
49
|
+
/** The panel content. */
|
|
50
|
+
children?: ReactNode;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Tabs — a tabbed interface for organizing content into panels.
|
|
54
|
+
*
|
|
55
|
+
* Built on Radix UI's Tabs primitive for full keyboard navigation
|
|
56
|
+
* and ARIA compliance. Supports three visual variants with an animated
|
|
57
|
+
* active indicator powered by Framer Motion layoutId.
|
|
58
|
+
*
|
|
59
|
+
* Accessibility:
|
|
60
|
+
* - Radix provides `role="tablist"`, `role="tab"`, `role="tabpanel"`
|
|
61
|
+
* - Arrow key navigation between triggers
|
|
62
|
+
* - Automatic `aria-selected`, `aria-controls`, `aria-labelledby`
|
|
63
|
+
* - Focus management follows WAI-ARIA Tabs pattern
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```tsx
|
|
67
|
+
* // Basic underline tabs
|
|
68
|
+
* <Tabs defaultValue="overview">
|
|
69
|
+
* <TabsList>
|
|
70
|
+
* <TabsTrigger value="overview">Overview</TabsTrigger>
|
|
71
|
+
* <TabsTrigger value="analytics">Analytics</TabsTrigger>
|
|
72
|
+
* <TabsTrigger value="settings">Settings</TabsTrigger>
|
|
73
|
+
* </TabsList>
|
|
74
|
+
* <TabsContent value="overview">Overview content</TabsContent>
|
|
75
|
+
* <TabsContent value="analytics">Analytics content</TabsContent>
|
|
76
|
+
* <TabsContent value="settings">Settings content</TabsContent>
|
|
77
|
+
* </Tabs>
|
|
78
|
+
*
|
|
79
|
+
* // Pills variant, small size
|
|
80
|
+
* <Tabs variant="pills" size="sm" defaultValue="tab1">
|
|
81
|
+
* <TabsList>
|
|
82
|
+
* <TabsTrigger value="tab1">Tab 1</TabsTrigger>
|
|
83
|
+
* <TabsTrigger value="tab2">Tab 2</TabsTrigger>
|
|
84
|
+
* </TabsList>
|
|
85
|
+
* ...
|
|
86
|
+
* </Tabs>
|
|
87
|
+
*
|
|
88
|
+
* // Full-width tabs
|
|
89
|
+
* <Tabs defaultValue="tab1">
|
|
90
|
+
* <TabsList fullWidth>
|
|
91
|
+
* <TabsTrigger value="tab1">Tab 1</TabsTrigger>
|
|
92
|
+
* <TabsTrigger value="tab2">Tab 2</TabsTrigger>
|
|
93
|
+
* </TabsList>
|
|
94
|
+
* ...
|
|
95
|
+
* </Tabs>
|
|
96
|
+
*
|
|
97
|
+
* // Vertical orientation
|
|
98
|
+
* <Tabs orientation="vertical" defaultValue="tab1">
|
|
99
|
+
* <TabsList>
|
|
100
|
+
* <TabsTrigger value="tab1">Tab 1</TabsTrigger>
|
|
101
|
+
* <TabsTrigger value="tab2">Tab 2</TabsTrigger>
|
|
102
|
+
* </TabsList>
|
|
103
|
+
* <TabsContent value="tab1">Content 1</TabsContent>
|
|
104
|
+
* </Tabs>
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
declare const Tabs: react.ForwardRefExoticComponent<TabsProps & react.RefAttributes<HTMLDivElement>>;
|
|
108
|
+
/**
|
|
109
|
+
* TabsList — the container for tab triggers (the tab bar).
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```tsx
|
|
113
|
+
* <TabsList>
|
|
114
|
+
* <TabsTrigger value="tab1">Tab 1</TabsTrigger>
|
|
115
|
+
* <TabsTrigger value="tab2">Tab 2</TabsTrigger>
|
|
116
|
+
* </TabsList>
|
|
117
|
+
*
|
|
118
|
+
* // Full-width stretch
|
|
119
|
+
* <TabsList fullWidth>
|
|
120
|
+
* <TabsTrigger value="tab1">Tab 1</TabsTrigger>
|
|
121
|
+
* <TabsTrigger value="tab2">Tab 2</TabsTrigger>
|
|
122
|
+
* </TabsList>
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
declare const TabsList: react.ForwardRefExoticComponent<TabsListProps & react.RefAttributes<HTMLDivElement>>;
|
|
126
|
+
/**
|
|
127
|
+
* TabsTrigger — an individual tab button within the TabsList.
|
|
128
|
+
*
|
|
129
|
+
* Renders a Framer Motion active indicator when the tab is selected,
|
|
130
|
+
* creating a smooth sliding animation between active tabs. The indicator
|
|
131
|
+
* is only mounted on the currently active trigger so that Framer Motion's
|
|
132
|
+
* layoutId animation works correctly (only one element per layoutId).
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```tsx
|
|
136
|
+
* <TabsTrigger value="overview">Overview</TabsTrigger>
|
|
137
|
+
* <TabsTrigger value="analytics" icon={<BarChartIcon />}>Analytics</TabsTrigger>
|
|
138
|
+
* <TabsTrigger value="locked" disabled>Locked</TabsTrigger>
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
declare const TabsTrigger: react.ForwardRefExoticComponent<TabsTriggerProps & react.RefAttributes<HTMLButtonElement>>;
|
|
142
|
+
/**
|
|
143
|
+
* TabsContent — the content panel associated with a tab trigger.
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```tsx
|
|
147
|
+
* <TabsContent value="overview">
|
|
148
|
+
* <p>Overview content goes here.</p>
|
|
149
|
+
* </TabsContent>
|
|
150
|
+
* ```
|
|
151
|
+
*/
|
|
152
|
+
declare const TabsContent: react.ForwardRefExoticComponent<TabsContentProps & react.RefAttributes<HTMLDivElement>>;
|
|
153
|
+
|
|
154
|
+
export { Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsOrientation, type TabsProps, type TabsSize, TabsTrigger, type TabsTriggerProps, type TabsVariant, tabsListVariants, tabsTriggerVariants };
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
3
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
4
|
+
import { Tabs as Tabs$1 } from 'radix-ui';
|
|
5
|
+
|
|
6
|
+
declare const tabsListVariants: (props?: ({
|
|
7
|
+
variant?: "underline" | "pills" | "enclosed" | null | undefined;
|
|
8
|
+
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
9
|
+
fullWidth?: boolean | null | undefined;
|
|
10
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
11
|
+
declare const tabsTriggerVariants: (props?: ({
|
|
12
|
+
variant?: "underline" | "pills" | "enclosed" | null | undefined;
|
|
13
|
+
size?: "sm" | "md" | null | undefined;
|
|
14
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
15
|
+
type TabsVariant = "underline" | "pills" | "enclosed";
|
|
16
|
+
type TabsSize = "sm" | "md";
|
|
17
|
+
type TabsOrientation = "horizontal" | "vertical";
|
|
18
|
+
interface TabsProps extends Omit<ComponentPropsWithoutRef<typeof Tabs$1.Root>, "orientation"> {
|
|
19
|
+
/** Visual variant of the tab list. @default "underline" */
|
|
20
|
+
variant?: TabsVariant;
|
|
21
|
+
/** Size of the tab triggers. @default "md" */
|
|
22
|
+
size?: TabsSize;
|
|
23
|
+
/** Layout orientation. @default "horizontal" */
|
|
24
|
+
orientation?: TabsOrientation;
|
|
25
|
+
/** Additional CSS classes. */
|
|
26
|
+
className?: string;
|
|
27
|
+
/** Tab content. */
|
|
28
|
+
children?: ReactNode;
|
|
29
|
+
}
|
|
30
|
+
interface TabsListProps extends ComponentPropsWithoutRef<typeof Tabs$1.List> {
|
|
31
|
+
/** Whether tabs stretch to fill the available width. @default false */
|
|
32
|
+
fullWidth?: boolean;
|
|
33
|
+
/** Additional CSS classes. */
|
|
34
|
+
className?: string;
|
|
35
|
+
/** Tab triggers. */
|
|
36
|
+
children?: ReactNode;
|
|
37
|
+
}
|
|
38
|
+
interface TabsTriggerProps extends ComponentPropsWithoutRef<typeof Tabs$1.Trigger> {
|
|
39
|
+
/** Additional CSS classes. */
|
|
40
|
+
className?: string;
|
|
41
|
+
/** Optional icon to display before the label. */
|
|
42
|
+
icon?: ReactNode;
|
|
43
|
+
/** The trigger label. */
|
|
44
|
+
children?: ReactNode;
|
|
45
|
+
}
|
|
46
|
+
interface TabsContentProps extends ComponentPropsWithoutRef<typeof Tabs$1.Content> {
|
|
47
|
+
/** Additional CSS classes. */
|
|
48
|
+
className?: string;
|
|
49
|
+
/** The panel content. */
|
|
50
|
+
children?: ReactNode;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Tabs — a tabbed interface for organizing content into panels.
|
|
54
|
+
*
|
|
55
|
+
* Built on Radix UI's Tabs primitive for full keyboard navigation
|
|
56
|
+
* and ARIA compliance. Supports three visual variants with an animated
|
|
57
|
+
* active indicator powered by Framer Motion layoutId.
|
|
58
|
+
*
|
|
59
|
+
* Accessibility:
|
|
60
|
+
* - Radix provides `role="tablist"`, `role="tab"`, `role="tabpanel"`
|
|
61
|
+
* - Arrow key navigation between triggers
|
|
62
|
+
* - Automatic `aria-selected`, `aria-controls`, `aria-labelledby`
|
|
63
|
+
* - Focus management follows WAI-ARIA Tabs pattern
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```tsx
|
|
67
|
+
* // Basic underline tabs
|
|
68
|
+
* <Tabs defaultValue="overview">
|
|
69
|
+
* <TabsList>
|
|
70
|
+
* <TabsTrigger value="overview">Overview</TabsTrigger>
|
|
71
|
+
* <TabsTrigger value="analytics">Analytics</TabsTrigger>
|
|
72
|
+
* <TabsTrigger value="settings">Settings</TabsTrigger>
|
|
73
|
+
* </TabsList>
|
|
74
|
+
* <TabsContent value="overview">Overview content</TabsContent>
|
|
75
|
+
* <TabsContent value="analytics">Analytics content</TabsContent>
|
|
76
|
+
* <TabsContent value="settings">Settings content</TabsContent>
|
|
77
|
+
* </Tabs>
|
|
78
|
+
*
|
|
79
|
+
* // Pills variant, small size
|
|
80
|
+
* <Tabs variant="pills" size="sm" defaultValue="tab1">
|
|
81
|
+
* <TabsList>
|
|
82
|
+
* <TabsTrigger value="tab1">Tab 1</TabsTrigger>
|
|
83
|
+
* <TabsTrigger value="tab2">Tab 2</TabsTrigger>
|
|
84
|
+
* </TabsList>
|
|
85
|
+
* ...
|
|
86
|
+
* </Tabs>
|
|
87
|
+
*
|
|
88
|
+
* // Full-width tabs
|
|
89
|
+
* <Tabs defaultValue="tab1">
|
|
90
|
+
* <TabsList fullWidth>
|
|
91
|
+
* <TabsTrigger value="tab1">Tab 1</TabsTrigger>
|
|
92
|
+
* <TabsTrigger value="tab2">Tab 2</TabsTrigger>
|
|
93
|
+
* </TabsList>
|
|
94
|
+
* ...
|
|
95
|
+
* </Tabs>
|
|
96
|
+
*
|
|
97
|
+
* // Vertical orientation
|
|
98
|
+
* <Tabs orientation="vertical" defaultValue="tab1">
|
|
99
|
+
* <TabsList>
|
|
100
|
+
* <TabsTrigger value="tab1">Tab 1</TabsTrigger>
|
|
101
|
+
* <TabsTrigger value="tab2">Tab 2</TabsTrigger>
|
|
102
|
+
* </TabsList>
|
|
103
|
+
* <TabsContent value="tab1">Content 1</TabsContent>
|
|
104
|
+
* </Tabs>
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
declare const Tabs: react.ForwardRefExoticComponent<TabsProps & react.RefAttributes<HTMLDivElement>>;
|
|
108
|
+
/**
|
|
109
|
+
* TabsList — the container for tab triggers (the tab bar).
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```tsx
|
|
113
|
+
* <TabsList>
|
|
114
|
+
* <TabsTrigger value="tab1">Tab 1</TabsTrigger>
|
|
115
|
+
* <TabsTrigger value="tab2">Tab 2</TabsTrigger>
|
|
116
|
+
* </TabsList>
|
|
117
|
+
*
|
|
118
|
+
* // Full-width stretch
|
|
119
|
+
* <TabsList fullWidth>
|
|
120
|
+
* <TabsTrigger value="tab1">Tab 1</TabsTrigger>
|
|
121
|
+
* <TabsTrigger value="tab2">Tab 2</TabsTrigger>
|
|
122
|
+
* </TabsList>
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
declare const TabsList: react.ForwardRefExoticComponent<TabsListProps & react.RefAttributes<HTMLDivElement>>;
|
|
126
|
+
/**
|
|
127
|
+
* TabsTrigger — an individual tab button within the TabsList.
|
|
128
|
+
*
|
|
129
|
+
* Renders a Framer Motion active indicator when the tab is selected,
|
|
130
|
+
* creating a smooth sliding animation between active tabs. The indicator
|
|
131
|
+
* is only mounted on the currently active trigger so that Framer Motion's
|
|
132
|
+
* layoutId animation works correctly (only one element per layoutId).
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```tsx
|
|
136
|
+
* <TabsTrigger value="overview">Overview</TabsTrigger>
|
|
137
|
+
* <TabsTrigger value="analytics" icon={<BarChartIcon />}>Analytics</TabsTrigger>
|
|
138
|
+
* <TabsTrigger value="locked" disabled>Locked</TabsTrigger>
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
declare const TabsTrigger: react.ForwardRefExoticComponent<TabsTriggerProps & react.RefAttributes<HTMLButtonElement>>;
|
|
142
|
+
/**
|
|
143
|
+
* TabsContent — the content panel associated with a tab trigger.
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```tsx
|
|
147
|
+
* <TabsContent value="overview">
|
|
148
|
+
* <p>Overview content goes here.</p>
|
|
149
|
+
* </TabsContent>
|
|
150
|
+
* ```
|
|
151
|
+
*/
|
|
152
|
+
declare const TabsContent: react.ForwardRefExoticComponent<TabsContentProps & react.RefAttributes<HTMLDivElement>>;
|
|
153
|
+
|
|
154
|
+
export { Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsOrientation, type TabsProps, type TabsSize, TabsTrigger, type TabsTriggerProps, type TabsVariant, tabsListVariants, tabsTriggerVariants };
|