@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,325 @@
|
|
|
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 badge_exports = {};
|
|
21
|
+
__export(badge_exports, {
|
|
22
|
+
Badge: () => Badge,
|
|
23
|
+
Tag: () => Tag,
|
|
24
|
+
badgeVariants: () => badgeVariants,
|
|
25
|
+
tagVariants: () => tagVariants
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(badge_exports);
|
|
28
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
29
|
+
var import_motion = require("../motion/index");
|
|
30
|
+
var import_cn = require("../utils/cn");
|
|
31
|
+
var import_focus_ring = require("../utils/focus-ring");
|
|
32
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
33
|
+
var import_framer_motion = require("framer-motion");
|
|
34
|
+
var import_react = require("react");
|
|
35
|
+
const badgeVariants = (0, import_class_variance_authority.cva)(
|
|
36
|
+
// Base styles — shared across all variants and sizes
|
|
37
|
+
[
|
|
38
|
+
// Layout
|
|
39
|
+
"inline-flex items-center gap-1.5",
|
|
40
|
+
// Shape — pill by default
|
|
41
|
+
"rounded-full",
|
|
42
|
+
// Typography
|
|
43
|
+
"font-medium leading-none whitespace-nowrap",
|
|
44
|
+
// Transition
|
|
45
|
+
"transition-[color,background-color,border-color,box-shadow,opacity]",
|
|
46
|
+
"duration-fast ease-standard",
|
|
47
|
+
// Prevent text selection
|
|
48
|
+
"select-none",
|
|
49
|
+
// Shrink protection
|
|
50
|
+
"shrink-0"
|
|
51
|
+
],
|
|
52
|
+
{
|
|
53
|
+
variants: {
|
|
54
|
+
// -----------------------------------------------------------------
|
|
55
|
+
// Visual Variants
|
|
56
|
+
// -----------------------------------------------------------------
|
|
57
|
+
variant: {
|
|
58
|
+
/**
|
|
59
|
+
* Default — neutral, muted background.
|
|
60
|
+
* Use for generic labels, tags, and metadata.
|
|
61
|
+
*/
|
|
62
|
+
default: ["bg-muted text-foreground", "border border-transparent"],
|
|
63
|
+
/**
|
|
64
|
+
* Primary — uses brand/primary color.
|
|
65
|
+
* Use for highlighting primary categories or active filters.
|
|
66
|
+
*/
|
|
67
|
+
primary: [
|
|
68
|
+
"bg-primary-muted text-primary-muted-foreground",
|
|
69
|
+
"border border-transparent"
|
|
70
|
+
],
|
|
71
|
+
/**
|
|
72
|
+
* Secondary — subdued variant with visible border.
|
|
73
|
+
* Use for archived items, subtle categorization.
|
|
74
|
+
*/
|
|
75
|
+
secondary: [
|
|
76
|
+
"bg-secondary text-secondary-foreground",
|
|
77
|
+
"border border-border"
|
|
78
|
+
],
|
|
79
|
+
/**
|
|
80
|
+
* Success — positive status indicator.
|
|
81
|
+
* Use for "active", "complete", "approved" states.
|
|
82
|
+
*/
|
|
83
|
+
success: [
|
|
84
|
+
"bg-success-muted text-success-muted-foreground",
|
|
85
|
+
"border border-transparent"
|
|
86
|
+
],
|
|
87
|
+
/**
|
|
88
|
+
* Warning — caution status indicator.
|
|
89
|
+
* Use for "pending", "review", "expiring" states.
|
|
90
|
+
*/
|
|
91
|
+
warning: [
|
|
92
|
+
"bg-warning-muted text-warning-muted-foreground",
|
|
93
|
+
"border border-transparent"
|
|
94
|
+
],
|
|
95
|
+
/**
|
|
96
|
+
* Danger — negative/critical status indicator.
|
|
97
|
+
* Use for "error", "failed", "blocked", "critical" states.
|
|
98
|
+
*/
|
|
99
|
+
danger: [
|
|
100
|
+
"bg-danger-muted text-danger-muted-foreground",
|
|
101
|
+
"border border-transparent"
|
|
102
|
+
],
|
|
103
|
+
/**
|
|
104
|
+
* Info — informational status indicator.
|
|
105
|
+
* Use for "new", "beta", "info", "note" labels.
|
|
106
|
+
*/
|
|
107
|
+
info: [
|
|
108
|
+
"bg-info-muted text-info-muted-foreground",
|
|
109
|
+
"border border-transparent"
|
|
110
|
+
],
|
|
111
|
+
/**
|
|
112
|
+
* Outline — transparent background with visible border.
|
|
113
|
+
* Use for subtle categorization that doesn't compete with content.
|
|
114
|
+
*/
|
|
115
|
+
outline: ["bg-transparent text-foreground", "border border-border"]
|
|
116
|
+
},
|
|
117
|
+
// -----------------------------------------------------------------
|
|
118
|
+
// Size Variants
|
|
119
|
+
// -----------------------------------------------------------------
|
|
120
|
+
size: {
|
|
121
|
+
/**
|
|
122
|
+
* Small — very compact, for inline metadata and dense UIs.
|
|
123
|
+
* Height: ~20px, Font: 11px
|
|
124
|
+
*/
|
|
125
|
+
sm: "px-2 py-0.5 text-[11px] gap-1",
|
|
126
|
+
/**
|
|
127
|
+
* Medium — default badge size, comfortable readability.
|
|
128
|
+
* Height: ~24px, Font: 12px
|
|
129
|
+
*/
|
|
130
|
+
md: "px-2.5 py-1 text-xs gap-1.5",
|
|
131
|
+
/**
|
|
132
|
+
* Large — prominent badge for larger touch targets and filter chips.
|
|
133
|
+
* Height: ~28px, Font: 14px
|
|
134
|
+
*/
|
|
135
|
+
lg: "px-3 py-1.5 text-sm gap-2"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
defaultVariants: {
|
|
139
|
+
variant: "default",
|
|
140
|
+
size: "md"
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
);
|
|
144
|
+
const dotColorMap = {
|
|
145
|
+
default: "bg-muted-foreground",
|
|
146
|
+
primary: "bg-primary",
|
|
147
|
+
secondary: "bg-foreground",
|
|
148
|
+
success: "bg-success",
|
|
149
|
+
warning: "bg-warning",
|
|
150
|
+
danger: "bg-danger",
|
|
151
|
+
info: "bg-info",
|
|
152
|
+
outline: "bg-foreground"
|
|
153
|
+
};
|
|
154
|
+
const dotSizeMap = {
|
|
155
|
+
sm: "size-1.5",
|
|
156
|
+
md: "size-2",
|
|
157
|
+
lg: "size-2"
|
|
158
|
+
};
|
|
159
|
+
function RemoveButton({
|
|
160
|
+
size,
|
|
161
|
+
label,
|
|
162
|
+
disabled,
|
|
163
|
+
onClick
|
|
164
|
+
}) {
|
|
165
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
166
|
+
"button",
|
|
167
|
+
{
|
|
168
|
+
type: "button",
|
|
169
|
+
onClick,
|
|
170
|
+
disabled,
|
|
171
|
+
className: (0, import_cn.cn)(
|
|
172
|
+
"inline-flex items-center justify-center shrink-0",
|
|
173
|
+
"rounded-full",
|
|
174
|
+
"text-current opacity-60",
|
|
175
|
+
"hover:opacity-100",
|
|
176
|
+
"transition-opacity duration-fast",
|
|
177
|
+
"focus-visible:outline-none focus-visible:border-current",
|
|
178
|
+
"disabled:pointer-events-none disabled:opacity-40",
|
|
179
|
+
// Slightly negative margin to visually tuck the button in
|
|
180
|
+
"-mr-0.5 ml-0.5",
|
|
181
|
+
size === "sm" ? "size-3" : size === "lg" ? "size-4" : "size-3.5",
|
|
182
|
+
import_focus_ring.focusRingClasses
|
|
183
|
+
),
|
|
184
|
+
"aria-label": label,
|
|
185
|
+
tabIndex: 0,
|
|
186
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
187
|
+
"svg",
|
|
188
|
+
{
|
|
189
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
190
|
+
viewBox: "0 0 24 24",
|
|
191
|
+
fill: "none",
|
|
192
|
+
stroke: "currentColor",
|
|
193
|
+
strokeWidth: "2.5",
|
|
194
|
+
strokeLinecap: "round",
|
|
195
|
+
strokeLinejoin: "round",
|
|
196
|
+
className: size === "sm" ? "size-2.5" : size === "lg" ? "size-3.5" : "size-3",
|
|
197
|
+
"aria-hidden": "true",
|
|
198
|
+
children: [
|
|
199
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M18 6 6 18" }),
|
|
200
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m6 6 12 12" })
|
|
201
|
+
]
|
|
202
|
+
}
|
|
203
|
+
)
|
|
204
|
+
}
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
function DotIndicator({
|
|
208
|
+
variant,
|
|
209
|
+
size
|
|
210
|
+
}) {
|
|
211
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
212
|
+
"span",
|
|
213
|
+
{
|
|
214
|
+
className: (0, import_cn.cn)(
|
|
215
|
+
"shrink-0 rounded-full",
|
|
216
|
+
dotSizeMap[size],
|
|
217
|
+
dotColorMap[variant]
|
|
218
|
+
),
|
|
219
|
+
"aria-hidden": "true"
|
|
220
|
+
}
|
|
221
|
+
);
|
|
222
|
+
}
|
|
223
|
+
const Badge = (0, import_react.forwardRef)(function Badge2({
|
|
224
|
+
variant = "default",
|
|
225
|
+
size = "md",
|
|
226
|
+
dot = false,
|
|
227
|
+
removable = false,
|
|
228
|
+
dismissible = false,
|
|
229
|
+
onRemove,
|
|
230
|
+
onDismiss,
|
|
231
|
+
removeLabel,
|
|
232
|
+
dismissLabel,
|
|
233
|
+
as: Component = "span",
|
|
234
|
+
icon,
|
|
235
|
+
avatar,
|
|
236
|
+
disabled = false,
|
|
237
|
+
animated = false,
|
|
238
|
+
className,
|
|
239
|
+
children,
|
|
240
|
+
...rest
|
|
241
|
+
}, ref) {
|
|
242
|
+
const shouldReduce = (0, import_framer_motion.useReducedMotion)();
|
|
243
|
+
const showDismiss = removable || dismissible;
|
|
244
|
+
const handleDismissClick = (e) => {
|
|
245
|
+
onRemove?.(e);
|
|
246
|
+
onDismiss?.(e);
|
|
247
|
+
};
|
|
248
|
+
const resolvedLabel = removeLabel ?? dismissLabel ?? "Remove";
|
|
249
|
+
const iconSizeClass = size === "sm" ? "[&>svg]:size-2.5" : size === "lg" ? "[&>svg]:size-3.5" : "[&>svg]:size-3";
|
|
250
|
+
const content = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
251
|
+
avatar && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "shrink-0 -ml-0.5", children: avatar }),
|
|
252
|
+
dot && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DotIndicator, { variant, size }),
|
|
253
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: (0, import_cn.cn)("shrink-0", iconSizeClass), "aria-hidden": "true", children: icon }),
|
|
254
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "truncate", children }),
|
|
255
|
+
showDismiss && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
256
|
+
RemoveButton,
|
|
257
|
+
{
|
|
258
|
+
size,
|
|
259
|
+
label: resolvedLabel,
|
|
260
|
+
disabled,
|
|
261
|
+
onClick: handleDismissClick
|
|
262
|
+
}
|
|
263
|
+
)
|
|
264
|
+
] });
|
|
265
|
+
const classes = (0, import_cn.cn)(
|
|
266
|
+
badgeVariants({ variant, size }),
|
|
267
|
+
disabled && "opacity-50 pointer-events-none",
|
|
268
|
+
className
|
|
269
|
+
);
|
|
270
|
+
const dataAttrs = {
|
|
271
|
+
"data-ds": "",
|
|
272
|
+
"data-ds-component": "badge",
|
|
273
|
+
"data-ds-variant": variant,
|
|
274
|
+
"data-ds-size": size,
|
|
275
|
+
...disabled ? { "data-ds-disabled": "" } : {},
|
|
276
|
+
...animated ? { "data-ds-animated": "" } : {}
|
|
277
|
+
};
|
|
278
|
+
if (animated && !shouldReduce) {
|
|
279
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
280
|
+
import_framer_motion.motion.span,
|
|
281
|
+
{
|
|
282
|
+
ref,
|
|
283
|
+
className: classes,
|
|
284
|
+
variants: import_motion.popSubtle.variants,
|
|
285
|
+
initial: "initial",
|
|
286
|
+
animate: "animate",
|
|
287
|
+
transition: import_motion.popSubtle.transition,
|
|
288
|
+
...dataAttrs,
|
|
289
|
+
children: content
|
|
290
|
+
}
|
|
291
|
+
);
|
|
292
|
+
}
|
|
293
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
294
|
+
Component,
|
|
295
|
+
{
|
|
296
|
+
ref,
|
|
297
|
+
className: classes,
|
|
298
|
+
"aria-disabled": disabled || void 0,
|
|
299
|
+
...dataAttrs,
|
|
300
|
+
...rest,
|
|
301
|
+
children: content
|
|
302
|
+
}
|
|
303
|
+
);
|
|
304
|
+
});
|
|
305
|
+
Badge.displayName = "Badge";
|
|
306
|
+
const Tag = (0, import_react.forwardRef)(function Tag2({ animated = true, dismissLabel = "Remove tag", ...rest }, ref) {
|
|
307
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
308
|
+
Badge,
|
|
309
|
+
{
|
|
310
|
+
ref,
|
|
311
|
+
animated,
|
|
312
|
+
dismissLabel,
|
|
313
|
+
...rest
|
|
314
|
+
}
|
|
315
|
+
);
|
|
316
|
+
});
|
|
317
|
+
Tag.displayName = "Tag";
|
|
318
|
+
const tagVariants = badgeVariants;
|
|
319
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
320
|
+
0 && (module.exports = {
|
|
321
|
+
Badge,
|
|
322
|
+
Tag,
|
|
323
|
+
badgeVariants,
|
|
324
|
+
tagVariants
|
|
325
|
+
});
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ElementType, ReactNode } from 'react';
|
|
3
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
|
|
6
|
+
declare const badgeVariants: (props?: ({
|
|
7
|
+
variant?: "outline" | "info" | "success" | "warning" | "danger" | "default" | "primary" | "secondary" | null | undefined;
|
|
8
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
9
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
10
|
+
type BadgeVariant = "default" | "primary" | "secondary" | "success" | "warning" | "danger" | "info" | "outline";
|
|
11
|
+
type BadgeSize = "sm" | "md" | "lg";
|
|
12
|
+
interface BadgeProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "color">, VariantProps<typeof badgeVariants> {
|
|
13
|
+
/**
|
|
14
|
+
* Visual variant of the badge.
|
|
15
|
+
* @default "default"
|
|
16
|
+
*/
|
|
17
|
+
variant?: BadgeVariant;
|
|
18
|
+
/**
|
|
19
|
+
* Size of the badge.
|
|
20
|
+
* @default "md"
|
|
21
|
+
*/
|
|
22
|
+
size?: BadgeSize;
|
|
23
|
+
/**
|
|
24
|
+
* Whether to show a colored dot indicator before the text.
|
|
25
|
+
* Useful for status indicators (online/offline, active/inactive).
|
|
26
|
+
* The dot color automatically matches the badge variant.
|
|
27
|
+
* @default false
|
|
28
|
+
*/
|
|
29
|
+
dot?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the badge can be dismissed/removed.
|
|
32
|
+
* When true, a small "×" button is rendered after the text.
|
|
33
|
+
* Alias for `dismissible` — both work identically.
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
removable?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Whether the badge can be dismissed/removed.
|
|
39
|
+
* When true, a small "×" button is rendered after the text.
|
|
40
|
+
* Alias for `removable` — both work identically.
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
dismissible?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Callback fired when the remove/dismiss (×) button is clicked.
|
|
46
|
+
* Only relevant when `removable` or `dismissible` is true.
|
|
47
|
+
*/
|
|
48
|
+
onRemove?: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
49
|
+
/**
|
|
50
|
+
* Callback fired when the remove/dismiss (×) button is clicked.
|
|
51
|
+
* Alias for `onRemove` — both work identically.
|
|
52
|
+
* Only relevant when `removable` or `dismissible` is true.
|
|
53
|
+
*/
|
|
54
|
+
onDismiss?: (event?: React.MouseEvent<HTMLButtonElement>) => void;
|
|
55
|
+
/**
|
|
56
|
+
* Accessible label for the remove/dismiss button.
|
|
57
|
+
* Screen readers will announce this when the remove button is focused.
|
|
58
|
+
* @default "Remove"
|
|
59
|
+
*/
|
|
60
|
+
removeLabel?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Accessible label for the remove/dismiss button.
|
|
63
|
+
* Alias for `removeLabel` — both work identically.
|
|
64
|
+
* @default "Remove"
|
|
65
|
+
*/
|
|
66
|
+
dismissLabel?: string;
|
|
67
|
+
/**
|
|
68
|
+
* The HTML element or component to render as.
|
|
69
|
+
* @default "span"
|
|
70
|
+
*/
|
|
71
|
+
as?: ElementType;
|
|
72
|
+
/**
|
|
73
|
+
* Icon to display before the text (after the dot if both are present).
|
|
74
|
+
* Typically a small Lucide icon.
|
|
75
|
+
*/
|
|
76
|
+
icon?: ReactNode;
|
|
77
|
+
/**
|
|
78
|
+
* Avatar element to display before the label.
|
|
79
|
+
* Common for user-mention chips and team tags.
|
|
80
|
+
*/
|
|
81
|
+
avatar?: ReactNode;
|
|
82
|
+
/**
|
|
83
|
+
* Whether the badge is disabled.
|
|
84
|
+
* Reduces opacity and disables pointer events.
|
|
85
|
+
* @default false
|
|
86
|
+
*/
|
|
87
|
+
disabled?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Whether to animate the badge entrance with a subtle pop animation.
|
|
90
|
+
* Uses the `popSubtle` Framer Motion preset.
|
|
91
|
+
* @default false
|
|
92
|
+
*/
|
|
93
|
+
animated?: boolean;
|
|
94
|
+
/** Content to render inside the badge. */
|
|
95
|
+
children?: ReactNode;
|
|
96
|
+
/** Additional CSS classes to merge. */
|
|
97
|
+
className?: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Badge — a compact inline label for categorization, status, and metadata.
|
|
101
|
+
*
|
|
102
|
+
* This is the unified Badge component that merges the former Badge and Tag
|
|
103
|
+
* components into a single API. All features from both are available:
|
|
104
|
+
* - Dot indicators, icons, avatars, removable/dismissible, polymorphic `as`,
|
|
105
|
+
* disabled state, and optional Framer Motion animation.
|
|
106
|
+
*
|
|
107
|
+
* Built on the design system's token layer with CVA for variant composition.
|
|
108
|
+
* All colors, radii, spacing, and transitions come from CSS custom properties
|
|
109
|
+
* defined in design-system.css.
|
|
110
|
+
*
|
|
111
|
+
* Badges are non-interactive by default (rendered as `<span>`). For
|
|
112
|
+
* clickable badges, use `as="button"` or `as="a"` and add appropriate
|
|
113
|
+
* event handlers.
|
|
114
|
+
*
|
|
115
|
+
* Accessibility:
|
|
116
|
+
* - Color is never the sole means of conveying information — use text labels
|
|
117
|
+
* - Dot indicators are decorative (`aria-hidden`)
|
|
118
|
+
* - Remove/dismiss button has a configurable `aria-label` (defaults to "Remove")
|
|
119
|
+
* - Semantic colors meet WCAG AA contrast on their muted backgrounds
|
|
120
|
+
* - Disabled state applies `pointer-events-none` and reduced opacity
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```tsx
|
|
124
|
+
* // Basic variants
|
|
125
|
+
* <Badge>Default</Badge>
|
|
126
|
+
* <Badge variant="primary">Primary</Badge>
|
|
127
|
+
* <Badge variant="secondary">Secondary</Badge>
|
|
128
|
+
* <Badge variant="success">Active</Badge>
|
|
129
|
+
* <Badge variant="warning">Pending</Badge>
|
|
130
|
+
* <Badge variant="danger">Critical</Badge>
|
|
131
|
+
* <Badge variant="info">New</Badge>
|
|
132
|
+
* <Badge variant="outline">Draft</Badge>
|
|
133
|
+
*
|
|
134
|
+
* // Sizes
|
|
135
|
+
* <Badge size="sm">Small</Badge>
|
|
136
|
+
* <Badge size="md">Medium</Badge>
|
|
137
|
+
* <Badge size="lg">Large</Badge>
|
|
138
|
+
*
|
|
139
|
+
* // Dot indicator (status badges)
|
|
140
|
+
* <Badge variant="success" dot>Online</Badge>
|
|
141
|
+
* <Badge variant="danger" dot>Offline</Badge>
|
|
142
|
+
* <Badge variant="warning" dot>Away</Badge>
|
|
143
|
+
*
|
|
144
|
+
* // With icon
|
|
145
|
+
* <Badge variant="info" icon={<StarIcon className="size-3" />}>
|
|
146
|
+
* Featured
|
|
147
|
+
* </Badge>
|
|
148
|
+
*
|
|
149
|
+
* // With avatar (user mention chips)
|
|
150
|
+
* <Badge variant="secondary" avatar={<Avatar name="RK" size="xs" className="size-4" />}>
|
|
151
|
+
* @rjkashyap
|
|
152
|
+
* </Badge>
|
|
153
|
+
*
|
|
154
|
+
* // Removable (Badge-style API)
|
|
155
|
+
* <Badge variant="primary" removable onRemove={handleRemove}>
|
|
156
|
+
* Tag Name
|
|
157
|
+
* </Badge>
|
|
158
|
+
*
|
|
159
|
+
* // Dismissible (Tag-style API — both work identically)
|
|
160
|
+
* <Badge variant="primary" dismissible onDismiss={handleDismiss}>
|
|
161
|
+
* React
|
|
162
|
+
* </Badge>
|
|
163
|
+
*
|
|
164
|
+
* // Animated entrance
|
|
165
|
+
* <Badge variant="success" animated>Live</Badge>
|
|
166
|
+
*
|
|
167
|
+
* // Disabled
|
|
168
|
+
* <Badge variant="primary" disabled>Disabled</Badge>
|
|
169
|
+
*
|
|
170
|
+
* // As a link
|
|
171
|
+
* <Badge as="a" href="/category/react" variant="primary">
|
|
172
|
+
* React
|
|
173
|
+
* </Badge>
|
|
174
|
+
*
|
|
175
|
+
* // As a button
|
|
176
|
+
* <Badge as="button" variant="outline" onClick={handleClick}>
|
|
177
|
+
* Filter
|
|
178
|
+
* </Badge>
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
declare const Badge: react.ForwardRefExoticComponent<BadgeProps & react.RefAttributes<HTMLSpanElement>>;
|
|
182
|
+
type TagVariant = BadgeVariant;
|
|
183
|
+
type TagSize = BadgeSize;
|
|
184
|
+
interface TagProps extends Omit<BadgeProps, "as" | "dot" | "removable" | "onRemove" | "removeLabel"> {
|
|
185
|
+
/**
|
|
186
|
+
* Visual variant of the tag.
|
|
187
|
+
* @default "default"
|
|
188
|
+
*/
|
|
189
|
+
variant?: TagVariant;
|
|
190
|
+
/**
|
|
191
|
+
* Size of the tag.
|
|
192
|
+
* @default "md"
|
|
193
|
+
*/
|
|
194
|
+
size?: TagSize;
|
|
195
|
+
/**
|
|
196
|
+
* Leading avatar or icon slot.
|
|
197
|
+
*/
|
|
198
|
+
avatar?: ReactNode;
|
|
199
|
+
/**
|
|
200
|
+
* Trailing icon (shown before close button).
|
|
201
|
+
*/
|
|
202
|
+
icon?: ReactNode;
|
|
203
|
+
/**
|
|
204
|
+
* Whether the tag can be dismissed.
|
|
205
|
+
*/
|
|
206
|
+
dismissible?: boolean;
|
|
207
|
+
/**
|
|
208
|
+
* Called when the dismiss button is clicked.
|
|
209
|
+
*/
|
|
210
|
+
onDismiss?: () => void;
|
|
211
|
+
/**
|
|
212
|
+
* Accessible label for the dismiss button.
|
|
213
|
+
* @default "Remove tag"
|
|
214
|
+
*/
|
|
215
|
+
dismissLabel?: string;
|
|
216
|
+
/**
|
|
217
|
+
* Whether the tag is disabled.
|
|
218
|
+
*/
|
|
219
|
+
disabled?: boolean;
|
|
220
|
+
/**
|
|
221
|
+
* Whether to animate the badge entrance.
|
|
222
|
+
* Tags default to `true` to preserve original Tag behavior.
|
|
223
|
+
* @default true
|
|
224
|
+
*/
|
|
225
|
+
animated?: boolean;
|
|
226
|
+
/** Additional CSS classes. */
|
|
227
|
+
className?: string;
|
|
228
|
+
children?: ReactNode;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Tag — backward-compatible alias for Badge.
|
|
232
|
+
*
|
|
233
|
+
* Renders an animated Badge by default (`animated={true}`).
|
|
234
|
+
* All Tag-specific props (dismissible, onDismiss, avatar, disabled)
|
|
235
|
+
* map directly to Badge props.
|
|
236
|
+
*
|
|
237
|
+
* @deprecated Use `Badge` directly with `animated` prop if entrance
|
|
238
|
+
* animation is desired. The `Tag` alias will be removed in a future
|
|
239
|
+
* major version.
|
|
240
|
+
*
|
|
241
|
+
* @example
|
|
242
|
+
* ```tsx
|
|
243
|
+
* <Tag variant="primary" dismissible onDismiss={handleDismiss}>
|
|
244
|
+
* React
|
|
245
|
+
* </Tag>
|
|
246
|
+
*
|
|
247
|
+
* // Equivalent Badge usage:
|
|
248
|
+
* <Badge variant="primary" dismissible onDismiss={handleDismiss} animated>
|
|
249
|
+
* React
|
|
250
|
+
* </Badge>
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
declare const Tag: react.ForwardRefExoticComponent<TagProps & react.RefAttributes<HTMLSpanElement>>;
|
|
254
|
+
declare const tagVariants: (props?: ({
|
|
255
|
+
variant?: "outline" | "info" | "success" | "warning" | "danger" | "default" | "primary" | "secondary" | null | undefined;
|
|
256
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
257
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
258
|
+
|
|
259
|
+
export { Badge, type BadgeProps, type BadgeSize, type BadgeVariant, Tag, type TagProps, type TagSize, type TagVariant, badgeVariants, tagVariants };
|