@work-rjkashyap/unified-ui 0.3.3 → 0.3.5
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 -1933
- 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-IVZAB7BV.mjs → tokens/colors.cjs} +212 -86
- package/dist/{z-index-Dd8IllRx.d.cts → tokens/colors.d.cts} +235 -72
- package/dist/{z-index-Dd8IllRx.d.ts → tokens/colors.d.ts} +235 -72
- package/dist/{chunk-ZBGR7MUW.cjs → tokens/colors.mjs} +165 -104
- 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-5TP7J7T4.cjs +0 -1766
- package/dist/chunk-A2DGHQL2.cjs +0 -21808
- package/dist/chunk-EQWESXRH.mjs +0 -1735
- 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-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 -131
- package/dist/theme.d.cts +0 -414
- package/dist/theme.d.ts +0 -414
- 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,31 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
4
|
+
|
|
5
|
+
declare const bannerVariants: (props?: ({
|
|
6
|
+
variant?: "info" | "success" | "warning" | "danger" | "default" | "primary" | null | undefined;
|
|
7
|
+
position?: "inline" | "bottom" | "top" | null | undefined;
|
|
8
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
|
+
type BannerVariant = "default" | "info" | "success" | "warning" | "danger" | "primary";
|
|
10
|
+
type BannerPosition = "top" | "bottom" | "inline";
|
|
11
|
+
interface BannerProps {
|
|
12
|
+
variant?: BannerVariant;
|
|
13
|
+
position?: BannerPosition;
|
|
14
|
+
dismissible?: boolean;
|
|
15
|
+
onDismiss?: () => void;
|
|
16
|
+
dismissLabel?: string;
|
|
17
|
+
icon?: ReactNode;
|
|
18
|
+
action?: ReactNode;
|
|
19
|
+
visible?: boolean;
|
|
20
|
+
defaultVisible?: boolean;
|
|
21
|
+
className?: string;
|
|
22
|
+
children?: ReactNode;
|
|
23
|
+
id?: string;
|
|
24
|
+
style?: React.CSSProperties;
|
|
25
|
+
role?: string;
|
|
26
|
+
"aria-label"?: string;
|
|
27
|
+
"aria-live"?: "off" | "assertive" | "polite";
|
|
28
|
+
}
|
|
29
|
+
declare const Banner: react.ForwardRefExoticComponent<BannerProps & react.RefAttributes<HTMLDivElement>>;
|
|
30
|
+
|
|
31
|
+
export { Banner, type BannerPosition, type BannerProps, type BannerVariant, bannerVariants };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
4
|
+
|
|
5
|
+
declare const bannerVariants: (props?: ({
|
|
6
|
+
variant?: "info" | "success" | "warning" | "danger" | "default" | "primary" | null | undefined;
|
|
7
|
+
position?: "inline" | "bottom" | "top" | null | undefined;
|
|
8
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
|
+
type BannerVariant = "default" | "info" | "success" | "warning" | "danger" | "primary";
|
|
10
|
+
type BannerPosition = "top" | "bottom" | "inline";
|
|
11
|
+
interface BannerProps {
|
|
12
|
+
variant?: BannerVariant;
|
|
13
|
+
position?: BannerPosition;
|
|
14
|
+
dismissible?: boolean;
|
|
15
|
+
onDismiss?: () => void;
|
|
16
|
+
dismissLabel?: string;
|
|
17
|
+
icon?: ReactNode;
|
|
18
|
+
action?: ReactNode;
|
|
19
|
+
visible?: boolean;
|
|
20
|
+
defaultVisible?: boolean;
|
|
21
|
+
className?: string;
|
|
22
|
+
children?: ReactNode;
|
|
23
|
+
id?: string;
|
|
24
|
+
style?: React.CSSProperties;
|
|
25
|
+
role?: string;
|
|
26
|
+
"aria-label"?: string;
|
|
27
|
+
"aria-live"?: "off" | "assertive" | "polite";
|
|
28
|
+
}
|
|
29
|
+
declare const Banner: react.ForwardRefExoticComponent<BannerProps & react.RefAttributes<HTMLDivElement>>;
|
|
30
|
+
|
|
31
|
+
export { Banner, type BannerPosition, type BannerProps, type BannerVariant, bannerVariants };
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { slideDown, slideUp } from "../motion/index";
|
|
4
|
+
import { cn } from "../utils/cn";
|
|
5
|
+
import { focusRingClasses } from "../utils/focus-ring";
|
|
6
|
+
import { cva } from "class-variance-authority";
|
|
7
|
+
import { AnimatePresence, motion, useReducedMotion } from "framer-motion";
|
|
8
|
+
import { forwardRef, useState } from "react";
|
|
9
|
+
const bannerVariants = cva(
|
|
10
|
+
["w-full flex items-center gap-3 px-4 py-3 text-sm font-medium"],
|
|
11
|
+
{
|
|
12
|
+
variants: {
|
|
13
|
+
variant: {
|
|
14
|
+
default: "bg-foreground text-background",
|
|
15
|
+
info: "bg-info text-info-foreground",
|
|
16
|
+
success: "bg-success text-success-foreground",
|
|
17
|
+
warning: "bg-warning text-warning-foreground",
|
|
18
|
+
danger: "bg-danger text-danger-foreground",
|
|
19
|
+
primary: "bg-primary text-primary-foreground"
|
|
20
|
+
},
|
|
21
|
+
position: {
|
|
22
|
+
top: "sticky top-0 left-0 right-0 z-banner",
|
|
23
|
+
bottom: "sticky bottom-0 left-0 right-0 z-banner",
|
|
24
|
+
inline: "rounded-md"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
defaultVariants: { variant: "default", position: "inline" }
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
function XIcon({ className }) {
|
|
31
|
+
return /* @__PURE__ */ jsxs(
|
|
32
|
+
"svg",
|
|
33
|
+
{
|
|
34
|
+
className,
|
|
35
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
36
|
+
viewBox: "0 0 24 24",
|
|
37
|
+
fill: "none",
|
|
38
|
+
stroke: "currentColor",
|
|
39
|
+
strokeWidth: "2",
|
|
40
|
+
strokeLinecap: "round",
|
|
41
|
+
strokeLinejoin: "round",
|
|
42
|
+
"aria-hidden": "true",
|
|
43
|
+
children: [
|
|
44
|
+
/* @__PURE__ */ jsx("path", { d: "M18 6 6 18" }),
|
|
45
|
+
/* @__PURE__ */ jsx("path", { d: "m6 6 12 12" })
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
const Banner = forwardRef(function Banner2({
|
|
51
|
+
variant = "default",
|
|
52
|
+
position = "inline",
|
|
53
|
+
dismissible = false,
|
|
54
|
+
onDismiss,
|
|
55
|
+
dismissLabel = "Dismiss",
|
|
56
|
+
icon,
|
|
57
|
+
action,
|
|
58
|
+
visible: controlledVisible,
|
|
59
|
+
defaultVisible = true,
|
|
60
|
+
className,
|
|
61
|
+
children,
|
|
62
|
+
id,
|
|
63
|
+
style,
|
|
64
|
+
role,
|
|
65
|
+
"aria-label": ariaLabel,
|
|
66
|
+
"aria-live": ariaLive
|
|
67
|
+
}, ref) {
|
|
68
|
+
const shouldReduce = useReducedMotion();
|
|
69
|
+
const [internalVisible, setInternalVisible] = useState(defaultVisible);
|
|
70
|
+
const isVisible = controlledVisible !== void 0 ? controlledVisible : internalVisible;
|
|
71
|
+
const handleDismiss = () => {
|
|
72
|
+
if (controlledVisible === void 0) setInternalVisible(false);
|
|
73
|
+
onDismiss?.();
|
|
74
|
+
};
|
|
75
|
+
const slidePreset = position === "bottom" ? slideUp : slideDown;
|
|
76
|
+
return /* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: isVisible && /* @__PURE__ */ jsxs(
|
|
77
|
+
motion.div,
|
|
78
|
+
{
|
|
79
|
+
ref,
|
|
80
|
+
className: cn(bannerVariants({ variant, position }), className),
|
|
81
|
+
variants: shouldReduce ? void 0 : slidePreset.variants,
|
|
82
|
+
initial: shouldReduce ? { opacity: 0 } : "initial",
|
|
83
|
+
animate: shouldReduce ? { opacity: 1 } : "animate",
|
|
84
|
+
exit: shouldReduce ? { opacity: 0 } : "exit",
|
|
85
|
+
transition: shouldReduce ? { duration: 0.2 } : slidePreset.transition,
|
|
86
|
+
"data-ds": "",
|
|
87
|
+
"data-ds-component": "banner",
|
|
88
|
+
"data-ds-variant": variant,
|
|
89
|
+
"data-ds-position": position,
|
|
90
|
+
"data-ds-animated": "",
|
|
91
|
+
id,
|
|
92
|
+
style,
|
|
93
|
+
role,
|
|
94
|
+
"aria-label": ariaLabel,
|
|
95
|
+
"aria-live": ariaLive,
|
|
96
|
+
children: [
|
|
97
|
+
icon && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: icon }),
|
|
98
|
+
/* @__PURE__ */ jsx("span", { className: "flex-1 min-w-0", children }),
|
|
99
|
+
action && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: action }),
|
|
100
|
+
dismissible && /* @__PURE__ */ jsx(
|
|
101
|
+
"button",
|
|
102
|
+
{
|
|
103
|
+
type: "button",
|
|
104
|
+
onClick: handleDismiss,
|
|
105
|
+
className: cn(
|
|
106
|
+
"shrink-0 inline-flex items-center justify-center size-6 rounded-sm",
|
|
107
|
+
"opacity-70 hover:opacity-100 transition-opacity duration-fast",
|
|
108
|
+
focusRingClasses
|
|
109
|
+
),
|
|
110
|
+
"aria-label": dismissLabel,
|
|
111
|
+
children: /* @__PURE__ */ jsx(XIcon, { className: "size-4" })
|
|
112
|
+
}
|
|
113
|
+
)
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
) });
|
|
117
|
+
});
|
|
118
|
+
Banner.displayName = "Banner";
|
|
119
|
+
export {
|
|
120
|
+
Banner,
|
|
121
|
+
bannerVariants
|
|
122
|
+
};
|
|
@@ -0,0 +1,266 @@
|
|
|
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 breadcrumb_exports = {};
|
|
21
|
+
__export(breadcrumb_exports, {
|
|
22
|
+
Breadcrumb: () => Breadcrumb,
|
|
23
|
+
BreadcrumbEllipsis: () => BreadcrumbEllipsis,
|
|
24
|
+
BreadcrumbItem: () => BreadcrumbItem,
|
|
25
|
+
BreadcrumbLink: () => BreadcrumbLink,
|
|
26
|
+
BreadcrumbList: () => BreadcrumbList,
|
|
27
|
+
BreadcrumbNav: () => BreadcrumbNav,
|
|
28
|
+
BreadcrumbPage: () => BreadcrumbPage,
|
|
29
|
+
BreadcrumbSeparator: () => BreadcrumbSeparator
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(breadcrumb_exports);
|
|
32
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
33
|
+
var import_cn = require("../utils/cn");
|
|
34
|
+
var import_focus_ring = require("../utils/focus-ring");
|
|
35
|
+
var import_react = require("react");
|
|
36
|
+
function ChevronRightIcon({ className }) {
|
|
37
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
38
|
+
"svg",
|
|
39
|
+
{
|
|
40
|
+
className,
|
|
41
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
42
|
+
viewBox: "0 0 24 24",
|
|
43
|
+
fill: "none",
|
|
44
|
+
stroke: "currentColor",
|
|
45
|
+
strokeWidth: "2",
|
|
46
|
+
strokeLinecap: "round",
|
|
47
|
+
strokeLinejoin: "round",
|
|
48
|
+
"aria-hidden": "true",
|
|
49
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m9 18 6-6-6-6" })
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
function MoreHorizontalIcon({ className }) {
|
|
54
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
55
|
+
"svg",
|
|
56
|
+
{
|
|
57
|
+
className,
|
|
58
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
59
|
+
viewBox: "0 0 24 24",
|
|
60
|
+
fill: "none",
|
|
61
|
+
stroke: "currentColor",
|
|
62
|
+
strokeWidth: "2",
|
|
63
|
+
strokeLinecap: "round",
|
|
64
|
+
strokeLinejoin: "round",
|
|
65
|
+
"aria-hidden": "true",
|
|
66
|
+
children: [
|
|
67
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "12", r: "1" }),
|
|
68
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "19", cy: "12", r: "1" }),
|
|
69
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "5", cy: "12", r: "1" })
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
const Breadcrumb = (0, import_react.forwardRef)(
|
|
75
|
+
function Breadcrumb2({ "aria-label": ariaLabel = "Breadcrumb", className, children, ...rest }, ref) {
|
|
76
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
77
|
+
"nav",
|
|
78
|
+
{
|
|
79
|
+
ref,
|
|
80
|
+
"aria-label": ariaLabel,
|
|
81
|
+
className: (0, import_cn.cn)("not-prose", className),
|
|
82
|
+
"data-ds": "",
|
|
83
|
+
"data-ds-component": "breadcrumb",
|
|
84
|
+
...rest,
|
|
85
|
+
children
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
Breadcrumb.displayName = "Breadcrumb";
|
|
91
|
+
const BreadcrumbList = (0, import_react.forwardRef)(
|
|
92
|
+
function BreadcrumbList2({ className, children, ...rest }, ref) {
|
|
93
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
94
|
+
"ol",
|
|
95
|
+
{
|
|
96
|
+
ref,
|
|
97
|
+
className: (0, import_cn.cn)(
|
|
98
|
+
"flex flex-wrap items-center gap-1.5",
|
|
99
|
+
"text-xs leading-4 tracking-wide",
|
|
100
|
+
"text-muted-foreground",
|
|
101
|
+
className
|
|
102
|
+
),
|
|
103
|
+
"data-ds": "",
|
|
104
|
+
"data-ds-component": "breadcrumb-list",
|
|
105
|
+
...rest,
|
|
106
|
+
children
|
|
107
|
+
}
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
BreadcrumbList.displayName = "BreadcrumbList";
|
|
112
|
+
const BreadcrumbItem = (0, import_react.forwardRef)(
|
|
113
|
+
function BreadcrumbItem2({ className, children, ...rest }, ref) {
|
|
114
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
115
|
+
"li",
|
|
116
|
+
{
|
|
117
|
+
ref,
|
|
118
|
+
className: (0, import_cn.cn)("inline-flex items-center gap-1.5", className),
|
|
119
|
+
"data-ds": "",
|
|
120
|
+
"data-ds-component": "breadcrumb-item",
|
|
121
|
+
...rest,
|
|
122
|
+
children
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
BreadcrumbItem.displayName = "BreadcrumbItem";
|
|
128
|
+
const BreadcrumbLink = (0, import_react.forwardRef)(function BreadcrumbLink2({ className, children, ...rest }, ref) {
|
|
129
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
130
|
+
"a",
|
|
131
|
+
{
|
|
132
|
+
ref,
|
|
133
|
+
className: (0, import_cn.cn)(
|
|
134
|
+
"no-underline",
|
|
135
|
+
"text-muted-foreground",
|
|
136
|
+
"transition-colors duration-fast",
|
|
137
|
+
"hover:text-foreground",
|
|
138
|
+
import_focus_ring.focusRingCompactClasses,
|
|
139
|
+
"rounded-sm",
|
|
140
|
+
className
|
|
141
|
+
),
|
|
142
|
+
"data-ds": "",
|
|
143
|
+
"data-ds-component": "breadcrumb-link",
|
|
144
|
+
...rest,
|
|
145
|
+
children
|
|
146
|
+
}
|
|
147
|
+
);
|
|
148
|
+
});
|
|
149
|
+
BreadcrumbLink.displayName = "BreadcrumbLink";
|
|
150
|
+
const BreadcrumbPage = (0, import_react.forwardRef)(
|
|
151
|
+
function BreadcrumbPage2({ className, children, ...rest }, ref) {
|
|
152
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
153
|
+
"span",
|
|
154
|
+
{
|
|
155
|
+
ref,
|
|
156
|
+
"aria-current": "page",
|
|
157
|
+
className: (0, import_cn.cn)("font-medium", "text-foreground", className),
|
|
158
|
+
"data-ds": "",
|
|
159
|
+
"data-ds-component": "breadcrumb-page",
|
|
160
|
+
...rest,
|
|
161
|
+
children
|
|
162
|
+
}
|
|
163
|
+
);
|
|
164
|
+
}
|
|
165
|
+
);
|
|
166
|
+
BreadcrumbPage.displayName = "BreadcrumbPage";
|
|
167
|
+
const BreadcrumbSeparator = (0, import_react.forwardRef)(function BreadcrumbSeparator2({ className, children, ...rest }, ref) {
|
|
168
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
169
|
+
"li",
|
|
170
|
+
{
|
|
171
|
+
ref,
|
|
172
|
+
role: "presentation",
|
|
173
|
+
"aria-hidden": "true",
|
|
174
|
+
className: (0, import_cn.cn)(
|
|
175
|
+
"inline-flex items-center",
|
|
176
|
+
"text-muted-foreground/60",
|
|
177
|
+
"[&>svg]:size-3",
|
|
178
|
+
className
|
|
179
|
+
),
|
|
180
|
+
"data-ds": "",
|
|
181
|
+
"data-ds-component": "breadcrumb-separator",
|
|
182
|
+
...rest,
|
|
183
|
+
children: children ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChevronRightIcon, {})
|
|
184
|
+
}
|
|
185
|
+
);
|
|
186
|
+
});
|
|
187
|
+
BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
|
|
188
|
+
const BreadcrumbEllipsis = (0, import_react.forwardRef)(function BreadcrumbEllipsis2({ className, ...rest }, ref) {
|
|
189
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
190
|
+
"span",
|
|
191
|
+
{
|
|
192
|
+
ref,
|
|
193
|
+
role: "presentation",
|
|
194
|
+
"aria-hidden": "true",
|
|
195
|
+
className: (0, import_cn.cn)(
|
|
196
|
+
"inline-flex items-center justify-center size-5",
|
|
197
|
+
"text-muted-foreground",
|
|
198
|
+
className
|
|
199
|
+
),
|
|
200
|
+
"data-ds": "",
|
|
201
|
+
"data-ds-component": "breadcrumb-ellipsis",
|
|
202
|
+
...rest,
|
|
203
|
+
children: [
|
|
204
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(MoreHorizontalIcon, { className: "size-4" }),
|
|
205
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "sr-only", children: "More pages" })
|
|
206
|
+
]
|
|
207
|
+
}
|
|
208
|
+
);
|
|
209
|
+
});
|
|
210
|
+
BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
|
|
211
|
+
const BreadcrumbNav = (0, import_react.forwardRef)(
|
|
212
|
+
function BreadcrumbNav2({
|
|
213
|
+
items,
|
|
214
|
+
maxItems = Number.POSITIVE_INFINITY,
|
|
215
|
+
separator,
|
|
216
|
+
className,
|
|
217
|
+
...rest
|
|
218
|
+
}, ref) {
|
|
219
|
+
const visibleItems = (0, import_react.useMemo)(() => {
|
|
220
|
+
if (items.length <= maxItems || maxItems < 2 || !Number.isFinite(maxItems)) {
|
|
221
|
+
return { items, truncated: false };
|
|
222
|
+
}
|
|
223
|
+
const tailCount = maxItems - 2;
|
|
224
|
+
const first = items[0];
|
|
225
|
+
const tail = items.slice(items.length - Math.max(tailCount, 1));
|
|
226
|
+
return {
|
|
227
|
+
items: [first, ...tail],
|
|
228
|
+
truncated: true
|
|
229
|
+
};
|
|
230
|
+
}, [items, maxItems]);
|
|
231
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Breadcrumb, { ref, className, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbList, { children: visibleItems.items.flatMap((item, index) => {
|
|
232
|
+
const itemKey = item.href ?? `page-${index}`;
|
|
233
|
+
const isLast = index === visibleItems.items.length - 1;
|
|
234
|
+
const isFirst = index === 0;
|
|
235
|
+
const showEllipsis = visibleItems.truncated && isFirst;
|
|
236
|
+
const elements = [];
|
|
237
|
+
elements.push(
|
|
238
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbItem, { children: isLast && !item.href ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbLink, { href: item.href, children: item.label }) }, `item-${itemKey}`)
|
|
239
|
+
);
|
|
240
|
+
if (showEllipsis) {
|
|
241
|
+
elements.push(
|
|
242
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbSeparator, { children: separator }, "sep-ellipsis-before"),
|
|
243
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbItem, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbEllipsis, {}) }, "ellipsis")
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
if (!isLast) {
|
|
247
|
+
elements.push(
|
|
248
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbSeparator, { children: separator }, `sep-${itemKey}`)
|
|
249
|
+
);
|
|
250
|
+
}
|
|
251
|
+
return elements;
|
|
252
|
+
}) }) });
|
|
253
|
+
}
|
|
254
|
+
);
|
|
255
|
+
BreadcrumbNav.displayName = "BreadcrumbNav";
|
|
256
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
257
|
+
0 && (module.exports = {
|
|
258
|
+
Breadcrumb,
|
|
259
|
+
BreadcrumbEllipsis,
|
|
260
|
+
BreadcrumbItem,
|
|
261
|
+
BreadcrumbLink,
|
|
262
|
+
BreadcrumbList,
|
|
263
|
+
BreadcrumbNav,
|
|
264
|
+
BreadcrumbPage,
|
|
265
|
+
BreadcrumbSeparator
|
|
266
|
+
});
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
interface BreadcrumbProps extends React.HTMLAttributes<HTMLElement> {
|
|
5
|
+
/**
|
|
6
|
+
* Custom separator to render between items.
|
|
7
|
+
* Defaults to a chevron-right icon.
|
|
8
|
+
*/
|
|
9
|
+
separator?: ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* Accessible label for the breadcrumb navigation landmark.
|
|
12
|
+
* @default "Breadcrumb"
|
|
13
|
+
*/
|
|
14
|
+
"aria-label"?: string;
|
|
15
|
+
/** Additional CSS classes. */
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Breadcrumb — the root `<nav>` container for breadcrumb navigation.
|
|
20
|
+
*
|
|
21
|
+
* Wraps children in a semantic navigation landmark. Use with
|
|
22
|
+
* `BreadcrumbList`, `BreadcrumbItem`, `BreadcrumbLink`, etc.
|
|
23
|
+
*/
|
|
24
|
+
declare const Breadcrumb: react.ForwardRefExoticComponent<BreadcrumbProps & react.RefAttributes<HTMLElement>>;
|
|
25
|
+
interface BreadcrumbListProps extends React.HTMLAttributes<HTMLOListElement> {
|
|
26
|
+
/** Additional CSS classes. */
|
|
27
|
+
className?: string;
|
|
28
|
+
/** List children. */
|
|
29
|
+
children?: ReactNode;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* BreadcrumbList — an ordered list containing breadcrumb items.
|
|
33
|
+
*/
|
|
34
|
+
declare const BreadcrumbList: react.ForwardRefExoticComponent<BreadcrumbListProps & react.RefAttributes<HTMLOListElement>>;
|
|
35
|
+
interface BreadcrumbItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
|
|
36
|
+
/** Additional CSS classes. */
|
|
37
|
+
className?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* BreadcrumbItem — a single item in the breadcrumb trail.
|
|
41
|
+
*/
|
|
42
|
+
declare const BreadcrumbItem: react.ForwardRefExoticComponent<BreadcrumbItemProps & react.RefAttributes<HTMLLIElement>>;
|
|
43
|
+
interface BreadcrumbLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
44
|
+
/** Additional CSS classes. */
|
|
45
|
+
className?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* BreadcrumbLink — a navigable link within a breadcrumb item.
|
|
49
|
+
*
|
|
50
|
+
* Renders as an `<a>` element. For framework-specific link components
|
|
51
|
+
* (e.g. Next.js `Link`), wrap the framework component or pass it via
|
|
52
|
+
* composition:
|
|
53
|
+
*
|
|
54
|
+
* ```tsx
|
|
55
|
+
* <BreadcrumbItem>
|
|
56
|
+
* <Link href="/docs" className="...breadcrumb link styles...">Docs</Link>
|
|
57
|
+
* </BreadcrumbItem>
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
declare const BreadcrumbLink: react.ForwardRefExoticComponent<BreadcrumbLinkProps & react.RefAttributes<HTMLAnchorElement>>;
|
|
61
|
+
interface BreadcrumbPageProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
62
|
+
/** Additional CSS classes. */
|
|
63
|
+
className?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* BreadcrumbPage — the current (non-linked) page in the breadcrumb trail.
|
|
67
|
+
*
|
|
68
|
+
* Rendered with `aria-current="page"` and a distinct foreground color
|
|
69
|
+
* to indicate the user's current location.
|
|
70
|
+
*/
|
|
71
|
+
declare const BreadcrumbPage: react.ForwardRefExoticComponent<BreadcrumbPageProps & react.RefAttributes<HTMLSpanElement>>;
|
|
72
|
+
interface BreadcrumbSeparatorProps extends React.LiHTMLAttributes<HTMLLIElement> {
|
|
73
|
+
/** Custom separator content. Defaults to a chevron-right icon. */
|
|
74
|
+
children?: ReactNode;
|
|
75
|
+
/** Additional CSS classes. */
|
|
76
|
+
className?: string;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* BreadcrumbSeparator — visual divider between breadcrumb items.
|
|
80
|
+
*
|
|
81
|
+
* Defaults to a chevron-right icon. Pass custom children (string or
|
|
82
|
+
* ReactNode) to use a different separator.
|
|
83
|
+
*/
|
|
84
|
+
declare const BreadcrumbSeparator: react.ForwardRefExoticComponent<BreadcrumbSeparatorProps & react.RefAttributes<HTMLLIElement>>;
|
|
85
|
+
interface BreadcrumbEllipsisProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
86
|
+
/** Additional CSS classes. */
|
|
87
|
+
className?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* BreadcrumbEllipsis — a "…" placeholder indicating truncated items.
|
|
91
|
+
*
|
|
92
|
+
* Used by `BreadcrumbNav` when items exceed `maxItems`. Can also be
|
|
93
|
+
* used manually in the composable API.
|
|
94
|
+
*/
|
|
95
|
+
declare const BreadcrumbEllipsis: react.ForwardRefExoticComponent<BreadcrumbEllipsisProps & react.RefAttributes<HTMLSpanElement>>;
|
|
96
|
+
interface BreadcrumbNavItem {
|
|
97
|
+
/** Display label for the breadcrumb segment. */
|
|
98
|
+
label: ReactNode;
|
|
99
|
+
/**
|
|
100
|
+
* URL to navigate to. When omitted, the item is rendered as the
|
|
101
|
+
* current page (non-linked, last item).
|
|
102
|
+
*/
|
|
103
|
+
href?: string;
|
|
104
|
+
}
|
|
105
|
+
interface BreadcrumbNavProps extends Omit<BreadcrumbProps, "children"> {
|
|
106
|
+
/** Breadcrumb items in order from root to current page. */
|
|
107
|
+
items: BreadcrumbNavItem[];
|
|
108
|
+
/**
|
|
109
|
+
* Maximum number of items to show before collapsing middle items
|
|
110
|
+
* into an ellipsis. Set to 0 or Infinity to disable truncation.
|
|
111
|
+
*
|
|
112
|
+
* When truncating, the first item and the last `maxItems - 2` items
|
|
113
|
+
* are always visible, with an ellipsis in between.
|
|
114
|
+
*
|
|
115
|
+
* @default Infinity (no truncation)
|
|
116
|
+
*/
|
|
117
|
+
maxItems?: number;
|
|
118
|
+
/**
|
|
119
|
+
* Custom separator to use between items.
|
|
120
|
+
* @default <ChevronRightIcon /> (via BreadcrumbSeparator)
|
|
121
|
+
*/
|
|
122
|
+
separator?: ReactNode;
|
|
123
|
+
/** Additional CSS classes on the root nav. */
|
|
124
|
+
className?: string;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* BreadcrumbNav — a composed breadcrumb component that renders a full
|
|
128
|
+
* breadcrumb trail from an array of items.
|
|
129
|
+
*
|
|
130
|
+
* Handles separator insertion, truncation with ellipsis, and
|
|
131
|
+
* current-page detection automatically.
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```tsx
|
|
135
|
+
* <BreadcrumbNav
|
|
136
|
+
* items={[
|
|
137
|
+
* { label: "Home", href: "/" },
|
|
138
|
+
* { label: "Products", href: "/products" },
|
|
139
|
+
* { label: "Electronics", href: "/products/electronics" },
|
|
140
|
+
* { label: "Laptops", href: "/products/electronics/laptops" },
|
|
141
|
+
* { label: "MacBook Pro" },
|
|
142
|
+
* ]}
|
|
143
|
+
* maxItems={4}
|
|
144
|
+
* />
|
|
145
|
+
* // Renders: Home > … > Laptops > MacBook Pro
|
|
146
|
+
*
|
|
147
|
+
* <BreadcrumbNav
|
|
148
|
+
* items={[
|
|
149
|
+
* { label: "Home", href: "/" },
|
|
150
|
+
* { label: "Docs", href: "/docs" },
|
|
151
|
+
* { label: "Getting Started" },
|
|
152
|
+
* ]}
|
|
153
|
+
* />
|
|
154
|
+
* // Renders: Home > Docs > Getting Started
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
declare const BreadcrumbNav: react.ForwardRefExoticComponent<BreadcrumbNavProps & react.RefAttributes<HTMLElement>>;
|
|
158
|
+
|
|
159
|
+
export { Breadcrumb, BreadcrumbEllipsis, type BreadcrumbEllipsisProps, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, type BreadcrumbListProps, BreadcrumbNav, type BreadcrumbNavItem, type BreadcrumbNavProps, BreadcrumbPage, type BreadcrumbPageProps, type BreadcrumbProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps };
|