@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,126 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode, ElementType } 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 buttonVariants: (props?: ({
|
|
7
|
+
variant?: "danger" | "primary" | "secondary" | "ghost" | null | undefined;
|
|
8
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
9
|
+
fullWidth?: boolean | null | undefined;
|
|
10
|
+
iconOnly?: boolean | null | undefined;
|
|
11
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
12
|
+
type ButtonVariant = "primary" | "secondary" | "ghost" | "danger";
|
|
13
|
+
type ButtonSize = "sm" | "md" | "lg";
|
|
14
|
+
interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "disabled">, VariantProps<typeof buttonVariants> {
|
|
15
|
+
/**
|
|
16
|
+
* Visual variant of the button.
|
|
17
|
+
* @default "primary"
|
|
18
|
+
*/
|
|
19
|
+
variant?: ButtonVariant;
|
|
20
|
+
/**
|
|
21
|
+
* Size of the button.
|
|
22
|
+
* @default "md"
|
|
23
|
+
*/
|
|
24
|
+
size?: ButtonSize;
|
|
25
|
+
/**
|
|
26
|
+
* Whether the button stretches to fill its container.
|
|
27
|
+
* @default false
|
|
28
|
+
*/
|
|
29
|
+
fullWidth?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the button is in a loading state.
|
|
32
|
+
* When true, the button is disabled and shows a spinner.
|
|
33
|
+
* @default false
|
|
34
|
+
*/
|
|
35
|
+
loading?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Text to display alongside the spinner during loading.
|
|
38
|
+
* If not provided, the original children are hidden and only
|
|
39
|
+
* the spinner is shown.
|
|
40
|
+
*/
|
|
41
|
+
loadingText?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Icon to display before the button label.
|
|
44
|
+
*/
|
|
45
|
+
iconLeft?: ReactNode;
|
|
46
|
+
/**
|
|
47
|
+
* Icon to display after the button label.
|
|
48
|
+
*/
|
|
49
|
+
iconRight?: ReactNode;
|
|
50
|
+
/**
|
|
51
|
+
* Whether this is an icon-only button (no text label).
|
|
52
|
+
* Ensures the button is square and properly sized.
|
|
53
|
+
* When true, you MUST provide an `aria-label` for accessibility.
|
|
54
|
+
* @default false
|
|
55
|
+
*/
|
|
56
|
+
iconOnly?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Whether the button is disabled.
|
|
59
|
+
* @default false
|
|
60
|
+
*/
|
|
61
|
+
disabled?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* The HTML element or component to render as.
|
|
64
|
+
* Useful for rendering as an anchor (<a>) or Next.js <Link>.
|
|
65
|
+
* @default "button"
|
|
66
|
+
*/
|
|
67
|
+
as?: ElementType;
|
|
68
|
+
/** Content to render inside the button. */
|
|
69
|
+
children?: ReactNode;
|
|
70
|
+
/** Additional CSS classes to merge. */
|
|
71
|
+
className?: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Button — the primary interactive element for triggering actions.
|
|
75
|
+
*
|
|
76
|
+
* Built on the design system's token layer with CVA for variant composition.
|
|
77
|
+
* All colors, radii, spacing, and transitions come from CSS custom properties
|
|
78
|
+
* defined in design-system.css.
|
|
79
|
+
*
|
|
80
|
+
* Accessibility:
|
|
81
|
+
* - Focus ring visible on keyboard navigation (focus-visible)
|
|
82
|
+
* - Disabled state uses both `disabled` attribute and `aria-disabled`
|
|
83
|
+
* - Loading state sets `aria-busy="true"` and disables interaction
|
|
84
|
+
* - Icon-only buttons require `aria-label`
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```tsx
|
|
88
|
+
* // Primary action
|
|
89
|
+
* <Button variant="primary" onClick={handleSave}>
|
|
90
|
+
* Save Changes
|
|
91
|
+
* </Button>
|
|
92
|
+
*
|
|
93
|
+
* // Secondary with icon
|
|
94
|
+
* <Button variant="secondary" iconLeft={<PlusIcon className="size-4" />}>
|
|
95
|
+
* Add Item
|
|
96
|
+
* </Button>
|
|
97
|
+
*
|
|
98
|
+
* // Loading state
|
|
99
|
+
* <Button variant="primary" loading loadingText="Saving...">
|
|
100
|
+
* Save
|
|
101
|
+
* </Button>
|
|
102
|
+
*
|
|
103
|
+
* // Icon-only
|
|
104
|
+
* <Button variant="ghost" iconOnly aria-label="Close">
|
|
105
|
+
* <XIcon className="size-4" />
|
|
106
|
+
* </Button>
|
|
107
|
+
*
|
|
108
|
+
* // Danger / destructive
|
|
109
|
+
* <Button variant="danger" onClick={handleDelete}>
|
|
110
|
+
* Delete Account
|
|
111
|
+
* </Button>
|
|
112
|
+
*
|
|
113
|
+
* // Rendered as anchor
|
|
114
|
+
* <Button as="a" href="/login" variant="secondary">
|
|
115
|
+
* Log In
|
|
116
|
+
* </Button>
|
|
117
|
+
*
|
|
118
|
+
* // Full-width
|
|
119
|
+
* <Button variant="primary" fullWidth>
|
|
120
|
+
* Continue
|
|
121
|
+
* </Button>
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
|
|
125
|
+
|
|
126
|
+
export { Button, type ButtonProps, type ButtonSize, type ButtonVariant, buttonVariants };
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode, ElementType } 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 buttonVariants: (props?: ({
|
|
7
|
+
variant?: "danger" | "primary" | "secondary" | "ghost" | null | undefined;
|
|
8
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
9
|
+
fullWidth?: boolean | null | undefined;
|
|
10
|
+
iconOnly?: boolean | null | undefined;
|
|
11
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
12
|
+
type ButtonVariant = "primary" | "secondary" | "ghost" | "danger";
|
|
13
|
+
type ButtonSize = "sm" | "md" | "lg";
|
|
14
|
+
interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "disabled">, VariantProps<typeof buttonVariants> {
|
|
15
|
+
/**
|
|
16
|
+
* Visual variant of the button.
|
|
17
|
+
* @default "primary"
|
|
18
|
+
*/
|
|
19
|
+
variant?: ButtonVariant;
|
|
20
|
+
/**
|
|
21
|
+
* Size of the button.
|
|
22
|
+
* @default "md"
|
|
23
|
+
*/
|
|
24
|
+
size?: ButtonSize;
|
|
25
|
+
/**
|
|
26
|
+
* Whether the button stretches to fill its container.
|
|
27
|
+
* @default false
|
|
28
|
+
*/
|
|
29
|
+
fullWidth?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the button is in a loading state.
|
|
32
|
+
* When true, the button is disabled and shows a spinner.
|
|
33
|
+
* @default false
|
|
34
|
+
*/
|
|
35
|
+
loading?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Text to display alongside the spinner during loading.
|
|
38
|
+
* If not provided, the original children are hidden and only
|
|
39
|
+
* the spinner is shown.
|
|
40
|
+
*/
|
|
41
|
+
loadingText?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Icon to display before the button label.
|
|
44
|
+
*/
|
|
45
|
+
iconLeft?: ReactNode;
|
|
46
|
+
/**
|
|
47
|
+
* Icon to display after the button label.
|
|
48
|
+
*/
|
|
49
|
+
iconRight?: ReactNode;
|
|
50
|
+
/**
|
|
51
|
+
* Whether this is an icon-only button (no text label).
|
|
52
|
+
* Ensures the button is square and properly sized.
|
|
53
|
+
* When true, you MUST provide an `aria-label` for accessibility.
|
|
54
|
+
* @default false
|
|
55
|
+
*/
|
|
56
|
+
iconOnly?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Whether the button is disabled.
|
|
59
|
+
* @default false
|
|
60
|
+
*/
|
|
61
|
+
disabled?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* The HTML element or component to render as.
|
|
64
|
+
* Useful for rendering as an anchor (<a>) or Next.js <Link>.
|
|
65
|
+
* @default "button"
|
|
66
|
+
*/
|
|
67
|
+
as?: ElementType;
|
|
68
|
+
/** Content to render inside the button. */
|
|
69
|
+
children?: ReactNode;
|
|
70
|
+
/** Additional CSS classes to merge. */
|
|
71
|
+
className?: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Button — the primary interactive element for triggering actions.
|
|
75
|
+
*
|
|
76
|
+
* Built on the design system's token layer with CVA for variant composition.
|
|
77
|
+
* All colors, radii, spacing, and transitions come from CSS custom properties
|
|
78
|
+
* defined in design-system.css.
|
|
79
|
+
*
|
|
80
|
+
* Accessibility:
|
|
81
|
+
* - Focus ring visible on keyboard navigation (focus-visible)
|
|
82
|
+
* - Disabled state uses both `disabled` attribute and `aria-disabled`
|
|
83
|
+
* - Loading state sets `aria-busy="true"` and disables interaction
|
|
84
|
+
* - Icon-only buttons require `aria-label`
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```tsx
|
|
88
|
+
* // Primary action
|
|
89
|
+
* <Button variant="primary" onClick={handleSave}>
|
|
90
|
+
* Save Changes
|
|
91
|
+
* </Button>
|
|
92
|
+
*
|
|
93
|
+
* // Secondary with icon
|
|
94
|
+
* <Button variant="secondary" iconLeft={<PlusIcon className="size-4" />}>
|
|
95
|
+
* Add Item
|
|
96
|
+
* </Button>
|
|
97
|
+
*
|
|
98
|
+
* // Loading state
|
|
99
|
+
* <Button variant="primary" loading loadingText="Saving...">
|
|
100
|
+
* Save
|
|
101
|
+
* </Button>
|
|
102
|
+
*
|
|
103
|
+
* // Icon-only
|
|
104
|
+
* <Button variant="ghost" iconOnly aria-label="Close">
|
|
105
|
+
* <XIcon className="size-4" />
|
|
106
|
+
* </Button>
|
|
107
|
+
*
|
|
108
|
+
* // Danger / destructive
|
|
109
|
+
* <Button variant="danger" onClick={handleDelete}>
|
|
110
|
+
* Delete Account
|
|
111
|
+
* </Button>
|
|
112
|
+
*
|
|
113
|
+
* // Rendered as anchor
|
|
114
|
+
* <Button as="a" href="/login" variant="secondary">
|
|
115
|
+
* Log In
|
|
116
|
+
* </Button>
|
|
117
|
+
*
|
|
118
|
+
* // Full-width
|
|
119
|
+
* <Button variant="primary" fullWidth>
|
|
120
|
+
* Continue
|
|
121
|
+
* </Button>
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
|
|
125
|
+
|
|
126
|
+
export { Button, type ButtonProps, type ButtonSize, type ButtonVariant, buttonVariants };
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "../utils/cn";
|
|
4
|
+
import { focusRingClasses } from "../utils/focus-ring";
|
|
5
|
+
import { cva } from "class-variance-authority";
|
|
6
|
+
import { forwardRef } from "react";
|
|
7
|
+
const buttonVariants = cva(
|
|
8
|
+
// Base styles — shared across all variants and sizes
|
|
9
|
+
[
|
|
10
|
+
// Opt out of prose typography overrides (prevents underline on <a> buttons)
|
|
11
|
+
"not-prose no-underline",
|
|
12
|
+
// Layout
|
|
13
|
+
"inline-flex items-center justify-center gap-2",
|
|
14
|
+
// Typography
|
|
15
|
+
"text-sm font-medium leading-5",
|
|
16
|
+
// Shape
|
|
17
|
+
"rounded-md",
|
|
18
|
+
// Transition (uses design system motion tokens)
|
|
19
|
+
"transition-[color,background-color,border-color,box-shadow,opacity,transform]",
|
|
20
|
+
"duration-fast ease-standard",
|
|
21
|
+
// Focus ring — WCAG AA compliant, visible on keyboard navigation only
|
|
22
|
+
focusRingClasses,
|
|
23
|
+
// Disabled — consistent across all variants
|
|
24
|
+
"disabled:pointer-events-none disabled:opacity-50",
|
|
25
|
+
// Cursor
|
|
26
|
+
"cursor-pointer disabled:cursor-not-allowed",
|
|
27
|
+
// Prevent text selection on rapid clicks
|
|
28
|
+
"select-none",
|
|
29
|
+
// Smooth press feedback
|
|
30
|
+
"active:scale-[0.98] disabled:active:scale-100"
|
|
31
|
+
],
|
|
32
|
+
{
|
|
33
|
+
variants: {
|
|
34
|
+
// -----------------------------------------------------------------
|
|
35
|
+
// Visual Variants
|
|
36
|
+
// -----------------------------------------------------------------
|
|
37
|
+
variant: {
|
|
38
|
+
/**
|
|
39
|
+
* Primary — the main call-to-action. Uses brand color.
|
|
40
|
+
* High visual prominence. Use sparingly (1–2 per view).
|
|
41
|
+
*/
|
|
42
|
+
primary: [
|
|
43
|
+
"bg-primary text-primary-foreground",
|
|
44
|
+
"hover:bg-primary-hover",
|
|
45
|
+
"active:bg-primary-active"
|
|
46
|
+
],
|
|
47
|
+
/**
|
|
48
|
+
* Secondary — for secondary actions. Uses muted surface color.
|
|
49
|
+
* Medium visual prominence. Pairs with primary buttons.
|
|
50
|
+
*/
|
|
51
|
+
secondary: [
|
|
52
|
+
"bg-secondary text-secondary-foreground",
|
|
53
|
+
"border border-border",
|
|
54
|
+
"hover:bg-secondary-hover",
|
|
55
|
+
"active:bg-secondary-active"
|
|
56
|
+
],
|
|
57
|
+
/**
|
|
58
|
+
* Ghost — minimal visual weight. No background until hover.
|
|
59
|
+
* Low visual prominence. Use for tertiary actions, toolbars, nav.
|
|
60
|
+
*/
|
|
61
|
+
ghost: [
|
|
62
|
+
"bg-transparent text-foreground",
|
|
63
|
+
"hover:bg-muted hover:text-foreground",
|
|
64
|
+
"active:bg-secondary-active"
|
|
65
|
+
],
|
|
66
|
+
/**
|
|
67
|
+
* Danger — destructive actions. Uses danger (red) color.
|
|
68
|
+
* High visual prominence. Use for delete, remove, revoke actions.
|
|
69
|
+
*/
|
|
70
|
+
danger: [
|
|
71
|
+
"bg-danger text-danger-foreground",
|
|
72
|
+
"hover:bg-danger-hover",
|
|
73
|
+
"active:bg-danger-active"
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
// -----------------------------------------------------------------
|
|
77
|
+
// Size Variants
|
|
78
|
+
// -----------------------------------------------------------------
|
|
79
|
+
size: {
|
|
80
|
+
/**
|
|
81
|
+
* Small — compact buttons for dense UIs, tables, toolbars.
|
|
82
|
+
* Height: 32px (h-8), Padding: 12px horizontal, Font: 12px
|
|
83
|
+
*/
|
|
84
|
+
sm: "h-8 px-3 text-xs gap-1.5",
|
|
85
|
+
/**
|
|
86
|
+
* Medium — default size for most buttons.
|
|
87
|
+
* Height: var(--ds-control-height), Padding: var(--ds-padding-button-x), Font: 14px
|
|
88
|
+
*/
|
|
89
|
+
md: "h-(--ds-control-height) px-(--ds-padding-button-x) text-sm gap-2",
|
|
90
|
+
/**
|
|
91
|
+
* Large — prominent buttons for hero sections, forms.
|
|
92
|
+
* Height: 40px (h-10), Padding: 20px horizontal, Font: 14px
|
|
93
|
+
*/
|
|
94
|
+
lg: "h-10 px-5 text-sm gap-2"
|
|
95
|
+
},
|
|
96
|
+
// -----------------------------------------------------------------
|
|
97
|
+
// Width Variants
|
|
98
|
+
// -----------------------------------------------------------------
|
|
99
|
+
fullWidth: {
|
|
100
|
+
true: "w-full",
|
|
101
|
+
false: ""
|
|
102
|
+
},
|
|
103
|
+
// -----------------------------------------------------------------
|
|
104
|
+
// Icon-Only Variant
|
|
105
|
+
// -----------------------------------------------------------------
|
|
106
|
+
iconOnly: {
|
|
107
|
+
true: "!px-0",
|
|
108
|
+
false: ""
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
// -------------------------------------------------------------------
|
|
112
|
+
// Compound Variants
|
|
113
|
+
// -------------------------------------------------------------------
|
|
114
|
+
// Handle special combinations that can't be expressed as individual
|
|
115
|
+
// variant values.
|
|
116
|
+
// -------------------------------------------------------------------
|
|
117
|
+
compoundVariants: [
|
|
118
|
+
// Icon-only buttons are square (width = height)
|
|
119
|
+
{ iconOnly: true, size: "sm", className: "w-8" },
|
|
120
|
+
{ iconOnly: true, size: "md", className: "w-9" },
|
|
121
|
+
{ iconOnly: true, size: "lg", className: "w-10" }
|
|
122
|
+
],
|
|
123
|
+
// -------------------------------------------------------------------
|
|
124
|
+
// Default Variants
|
|
125
|
+
// -------------------------------------------------------------------
|
|
126
|
+
defaultVariants: {
|
|
127
|
+
variant: "primary",
|
|
128
|
+
size: "md",
|
|
129
|
+
fullWidth: false,
|
|
130
|
+
iconOnly: false
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
);
|
|
134
|
+
function ButtonSpinner({ className }) {
|
|
135
|
+
return /* @__PURE__ */ jsxs(
|
|
136
|
+
"svg",
|
|
137
|
+
{
|
|
138
|
+
className: cn("animate-spin size-4", className),
|
|
139
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
140
|
+
fill: "none",
|
|
141
|
+
viewBox: "0 0 24 24",
|
|
142
|
+
"aria-hidden": "true",
|
|
143
|
+
children: [
|
|
144
|
+
/* @__PURE__ */ jsx(
|
|
145
|
+
"circle",
|
|
146
|
+
{
|
|
147
|
+
className: "opacity-25",
|
|
148
|
+
cx: "12",
|
|
149
|
+
cy: "12",
|
|
150
|
+
r: "10",
|
|
151
|
+
stroke: "currentColor",
|
|
152
|
+
strokeWidth: "4"
|
|
153
|
+
}
|
|
154
|
+
),
|
|
155
|
+
/* @__PURE__ */ jsx(
|
|
156
|
+
"path",
|
|
157
|
+
{
|
|
158
|
+
className: "opacity-75",
|
|
159
|
+
fill: "currentColor",
|
|
160
|
+
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
161
|
+
}
|
|
162
|
+
)
|
|
163
|
+
]
|
|
164
|
+
}
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
const Button = forwardRef(
|
|
168
|
+
function Button2({
|
|
169
|
+
variant = "primary",
|
|
170
|
+
size = "md",
|
|
171
|
+
fullWidth = false,
|
|
172
|
+
loading = false,
|
|
173
|
+
loadingText,
|
|
174
|
+
iconLeft,
|
|
175
|
+
iconRight,
|
|
176
|
+
iconOnly = false,
|
|
177
|
+
disabled = false,
|
|
178
|
+
as: Component = "button",
|
|
179
|
+
className,
|
|
180
|
+
children,
|
|
181
|
+
...rest
|
|
182
|
+
}, ref) {
|
|
183
|
+
const isDisabled = disabled || loading;
|
|
184
|
+
const iconSizeClass = size === "sm" ? "[&>svg]:size-3.5" : "[&>svg]:size-4";
|
|
185
|
+
return /* @__PURE__ */ jsxs(
|
|
186
|
+
Component,
|
|
187
|
+
{
|
|
188
|
+
ref,
|
|
189
|
+
type: Component === "button" ? "button" : void 0,
|
|
190
|
+
disabled: isDisabled,
|
|
191
|
+
"aria-disabled": isDisabled || void 0,
|
|
192
|
+
"aria-busy": loading || void 0,
|
|
193
|
+
className: cn(
|
|
194
|
+
buttonVariants({ variant, size, fullWidth, iconOnly }),
|
|
195
|
+
iconSizeClass,
|
|
196
|
+
className
|
|
197
|
+
),
|
|
198
|
+
"data-ds": "",
|
|
199
|
+
"data-ds-component": "button",
|
|
200
|
+
"data-ds-variant": variant,
|
|
201
|
+
"data-ds-size": size,
|
|
202
|
+
...loading ? { "data-ds-loading": "" } : {},
|
|
203
|
+
...rest,
|
|
204
|
+
children: [
|
|
205
|
+
loading && /* @__PURE__ */ jsx(ButtonSpinner, { className: size === "sm" ? "size-3.5" : "size-4" }),
|
|
206
|
+
loading && loadingText ? /* @__PURE__ */ jsx("span", { children: loadingText }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
207
|
+
!loading && iconLeft && /* @__PURE__ */ jsx("span", { className: "shrink-0", "aria-hidden": "true", children: iconLeft }),
|
|
208
|
+
children && /* @__PURE__ */ jsx(
|
|
209
|
+
"span",
|
|
210
|
+
{
|
|
211
|
+
className: cn(
|
|
212
|
+
"inline-flex items-center gap-[inherit]",
|
|
213
|
+
loading && !loadingText && "invisible"
|
|
214
|
+
),
|
|
215
|
+
children
|
|
216
|
+
}
|
|
217
|
+
),
|
|
218
|
+
!loading && iconRight && /* @__PURE__ */ jsx("span", { className: "shrink-0", "aria-hidden": "true", children: iconRight })
|
|
219
|
+
] })
|
|
220
|
+
]
|
|
221
|
+
}
|
|
222
|
+
);
|
|
223
|
+
}
|
|
224
|
+
);
|
|
225
|
+
Button.displayName = "Button";
|
|
226
|
+
export {
|
|
227
|
+
Button,
|
|
228
|
+
buttonVariants
|
|
229
|
+
};
|