@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,210 @@
|
|
|
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 skeleton_exports = {};
|
|
21
|
+
__export(skeleton_exports, {
|
|
22
|
+
Skeleton: () => Skeleton,
|
|
23
|
+
SkeletonCircle: () => SkeletonCircle,
|
|
24
|
+
SkeletonRect: () => SkeletonRect,
|
|
25
|
+
SkeletonText: () => SkeletonText,
|
|
26
|
+
skeletonVariants: () => skeletonVariants
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(skeleton_exports);
|
|
29
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
30
|
+
var import_cn = require("../utils/cn");
|
|
31
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
32
|
+
var import_react = require("react");
|
|
33
|
+
const skeletonVariants = (0, import_class_variance_authority.cva)(
|
|
34
|
+
// Base styles — shared across all shapes
|
|
35
|
+
[
|
|
36
|
+
// Background
|
|
37
|
+
"bg-muted",
|
|
38
|
+
// Animation — gentle pulse
|
|
39
|
+
"animate-pulse",
|
|
40
|
+
// Ensure it doesn't collapse
|
|
41
|
+
"shrink-0"
|
|
42
|
+
],
|
|
43
|
+
{
|
|
44
|
+
variants: {
|
|
45
|
+
// -----------------------------------------------------------------
|
|
46
|
+
// Shape Variants
|
|
47
|
+
// -----------------------------------------------------------------
|
|
48
|
+
shape: {
|
|
49
|
+
/**
|
|
50
|
+
* Text — a horizontal line placeholder for text content.
|
|
51
|
+
* Default height matches body text line-height.
|
|
52
|
+
* Rounded for a softer appearance.
|
|
53
|
+
*/
|
|
54
|
+
text: "h-4 w-full rounded-sm",
|
|
55
|
+
/**
|
|
56
|
+
* Circle — a circular placeholder for avatars, icons.
|
|
57
|
+
* Uses border-radius: 9999px (full circle).
|
|
58
|
+
*/
|
|
59
|
+
circle: "rounded-full aspect-square",
|
|
60
|
+
/**
|
|
61
|
+
* Rect — a rectangular placeholder for images, cards, media.
|
|
62
|
+
* Uses standard border-radius.
|
|
63
|
+
*/
|
|
64
|
+
rect: "rounded-md"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
defaultVariants: {
|
|
68
|
+
shape: "text"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
const circleSizeMap = {
|
|
73
|
+
xs: "size-6",
|
|
74
|
+
sm: "size-8",
|
|
75
|
+
md: "size-10",
|
|
76
|
+
lg: "size-12",
|
|
77
|
+
xl: "size-16"
|
|
78
|
+
};
|
|
79
|
+
const textHeightMap = {
|
|
80
|
+
xs: "h-3",
|
|
81
|
+
sm: "h-3.5",
|
|
82
|
+
md: "h-4",
|
|
83
|
+
lg: "h-5"
|
|
84
|
+
};
|
|
85
|
+
function resolveDimension(value) {
|
|
86
|
+
if (value === void 0) return void 0;
|
|
87
|
+
if (typeof value === "number") return `${value}px`;
|
|
88
|
+
return value;
|
|
89
|
+
}
|
|
90
|
+
const Skeleton = (0, import_react.forwardRef)(
|
|
91
|
+
function Skeleton2({
|
|
92
|
+
shape = "text",
|
|
93
|
+
width,
|
|
94
|
+
height,
|
|
95
|
+
size = "md",
|
|
96
|
+
textSize = "md",
|
|
97
|
+
animate = true,
|
|
98
|
+
className,
|
|
99
|
+
style,
|
|
100
|
+
...rest
|
|
101
|
+
}, ref) {
|
|
102
|
+
const dimensionStyles = {
|
|
103
|
+
...style,
|
|
104
|
+
width: resolveDimension(width),
|
|
105
|
+
height: resolveDimension(height)
|
|
106
|
+
};
|
|
107
|
+
if (dimensionStyles.width === void 0) delete dimensionStyles.width;
|
|
108
|
+
if (dimensionStyles.height === void 0) delete dimensionStyles.height;
|
|
109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
110
|
+
"div",
|
|
111
|
+
{
|
|
112
|
+
ref,
|
|
113
|
+
role: "presentation",
|
|
114
|
+
"aria-hidden": "true",
|
|
115
|
+
className: (0, import_cn.cn)(
|
|
116
|
+
skeletonVariants({ shape }),
|
|
117
|
+
// Circle: apply size class
|
|
118
|
+
shape === "circle" && !width && !height && circleSizeMap[size],
|
|
119
|
+
// Text: apply text height class (unless custom height provided)
|
|
120
|
+
shape === "text" && !height && textHeightMap[textSize],
|
|
121
|
+
// Disable animation
|
|
122
|
+
!animate && "animate-none",
|
|
123
|
+
className
|
|
124
|
+
),
|
|
125
|
+
style: Object.keys(dimensionStyles).length > 0 ? dimensionStyles : void 0,
|
|
126
|
+
"data-ds": "",
|
|
127
|
+
"data-ds-component": "skeleton",
|
|
128
|
+
"data-ds-shape": shape,
|
|
129
|
+
...rest
|
|
130
|
+
}
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
);
|
|
134
|
+
Skeleton.displayName = "Skeleton";
|
|
135
|
+
const SkeletonText = (0, import_react.forwardRef)(
|
|
136
|
+
function SkeletonText2({
|
|
137
|
+
lines = 3,
|
|
138
|
+
textSize = "md",
|
|
139
|
+
lastLineWidth = "60%",
|
|
140
|
+
gap = "gap-2.5",
|
|
141
|
+
animate = true,
|
|
142
|
+
className,
|
|
143
|
+
...rest
|
|
144
|
+
}, ref) {
|
|
145
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
146
|
+
"div",
|
|
147
|
+
{
|
|
148
|
+
ref,
|
|
149
|
+
role: "presentation",
|
|
150
|
+
"aria-hidden": "true",
|
|
151
|
+
className: (0, import_cn.cn)("flex flex-col w-full", gap, className),
|
|
152
|
+
"data-ds": "",
|
|
153
|
+
"data-ds-component": "skeleton-text",
|
|
154
|
+
...rest,
|
|
155
|
+
children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
156
|
+
Skeleton,
|
|
157
|
+
{
|
|
158
|
+
shape: "text",
|
|
159
|
+
textSize,
|
|
160
|
+
width: i === lines - 1 && lines > 1 ? lastLineWidth : void 0,
|
|
161
|
+
animate
|
|
162
|
+
},
|
|
163
|
+
i
|
|
164
|
+
))
|
|
165
|
+
}
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
SkeletonText.displayName = "SkeletonText";
|
|
170
|
+
const SkeletonCircle = (0, import_react.forwardRef)(
|
|
171
|
+
function SkeletonCircle2({ size = "md", animate = true, className, ...rest }, ref) {
|
|
172
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
173
|
+
Skeleton,
|
|
174
|
+
{
|
|
175
|
+
ref,
|
|
176
|
+
shape: "circle",
|
|
177
|
+
size,
|
|
178
|
+
animate,
|
|
179
|
+
className,
|
|
180
|
+
...rest
|
|
181
|
+
}
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
);
|
|
185
|
+
SkeletonCircle.displayName = "SkeletonCircle";
|
|
186
|
+
const SkeletonRect = (0, import_react.forwardRef)(
|
|
187
|
+
function SkeletonRect2({ width = "100%", height = 120, animate = true, className, ...rest }, ref) {
|
|
188
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
189
|
+
Skeleton,
|
|
190
|
+
{
|
|
191
|
+
ref,
|
|
192
|
+
shape: "rect",
|
|
193
|
+
width,
|
|
194
|
+
height,
|
|
195
|
+
animate,
|
|
196
|
+
className,
|
|
197
|
+
...rest
|
|
198
|
+
}
|
|
199
|
+
);
|
|
200
|
+
}
|
|
201
|
+
);
|
|
202
|
+
SkeletonRect.displayName = "SkeletonRect";
|
|
203
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
204
|
+
0 && (module.exports = {
|
|
205
|
+
Skeleton,
|
|
206
|
+
SkeletonCircle,
|
|
207
|
+
SkeletonRect,
|
|
208
|
+
SkeletonText,
|
|
209
|
+
skeletonVariants
|
|
210
|
+
});
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
declare const skeletonVariants: (props?: ({
|
|
6
|
+
shape?: "circle" | "rect" | "text" | null | undefined;
|
|
7
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
8
|
+
type SkeletonSize = "xs" | "sm" | "md" | "lg" | "xl";
|
|
9
|
+
type SkeletonTextSize = "xs" | "sm" | "md" | "lg";
|
|
10
|
+
interface SkeletonProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children">, VariantProps<typeof skeletonVariants> {
|
|
11
|
+
/**
|
|
12
|
+
* Shape of the skeleton placeholder.
|
|
13
|
+
* @default "text"
|
|
14
|
+
*/
|
|
15
|
+
shape?: "text" | "circle" | "rect";
|
|
16
|
+
/**
|
|
17
|
+
* Width of the skeleton. Accepts CSS values (number → px, string → raw).
|
|
18
|
+
* For `circle` shape, use `size` prop instead.
|
|
19
|
+
* @default "100%" for text/rect shapes
|
|
20
|
+
*/
|
|
21
|
+
width?: number | string;
|
|
22
|
+
/**
|
|
23
|
+
* Height of the skeleton. Accepts CSS values (number → px, string → raw).
|
|
24
|
+
* For `circle` shape, use `size` prop instead.
|
|
25
|
+
* For `text` shape, defaults to the text height based on `textSize`.
|
|
26
|
+
*/
|
|
27
|
+
height?: number | string;
|
|
28
|
+
/**
|
|
29
|
+
* Predefined size for circle shapes. Maps to standard avatar sizes.
|
|
30
|
+
* Only applies when `shape="circle"`.
|
|
31
|
+
* @default "md"
|
|
32
|
+
*/
|
|
33
|
+
size?: SkeletonSize;
|
|
34
|
+
/**
|
|
35
|
+
* Text height preset for text shapes. Matches typography size scale.
|
|
36
|
+
* Only applies when `shape="text"`.
|
|
37
|
+
* @default "md"
|
|
38
|
+
*/
|
|
39
|
+
textSize?: SkeletonTextSize;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the pulse animation is active.
|
|
42
|
+
* Set to false to show a static skeleton (e.g., when paused).
|
|
43
|
+
* @default true
|
|
44
|
+
*/
|
|
45
|
+
animate?: boolean;
|
|
46
|
+
/** Additional CSS classes to merge. */
|
|
47
|
+
className?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Skeleton — a loading placeholder that mimics the shape of content.
|
|
51
|
+
*
|
|
52
|
+
* Built on the design system's token layer. Uses the muted background
|
|
53
|
+
* color and a CSS `animate-pulse` animation to indicate loading state.
|
|
54
|
+
* The animation is automatically disabled when the user prefers reduced
|
|
55
|
+
* motion.
|
|
56
|
+
*
|
|
57
|
+
* Accessibility:
|
|
58
|
+
* - `aria-hidden="true"` — skeletons are decorative, not content
|
|
59
|
+
* - `role="presentation"` — excluded from accessibility tree
|
|
60
|
+
* - Reduced motion respected via global CSS in design-system.css
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```tsx
|
|
64
|
+
* // Text line placeholder
|
|
65
|
+
* <Skeleton shape="text" />
|
|
66
|
+
* <Skeleton shape="text" width="60%" />
|
|
67
|
+
* <Skeleton shape="text" textSize="lg" />
|
|
68
|
+
*
|
|
69
|
+
* // Circle placeholder (avatars)
|
|
70
|
+
* <Skeleton shape="circle" size="md" />
|
|
71
|
+
* <Skeleton shape="circle" size="lg" />
|
|
72
|
+
*
|
|
73
|
+
* // Rectangle placeholder (images, cards)
|
|
74
|
+
* <Skeleton shape="rect" width={300} height={200} />
|
|
75
|
+
* <Skeleton shape="rect" width="100%" height={160} />
|
|
76
|
+
*
|
|
77
|
+
* // Static (no animation)
|
|
78
|
+
* <Skeleton shape="text" animate={false} />
|
|
79
|
+
*
|
|
80
|
+
* // Custom dimensions
|
|
81
|
+
* <Skeleton shape="rect" width="100%" height="8rem" className="rounded-lg" />
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
declare const Skeleton: react.ForwardRefExoticComponent<SkeletonProps & react.RefAttributes<HTMLDivElement>>;
|
|
85
|
+
interface SkeletonTextProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
86
|
+
/**
|
|
87
|
+
* Number of text lines to render.
|
|
88
|
+
* @default 3
|
|
89
|
+
*/
|
|
90
|
+
lines?: number;
|
|
91
|
+
/**
|
|
92
|
+
* Text height preset for each line.
|
|
93
|
+
* @default "md"
|
|
94
|
+
*/
|
|
95
|
+
textSize?: SkeletonTextSize;
|
|
96
|
+
/**
|
|
97
|
+
* Width of the last line (as CSS value).
|
|
98
|
+
* Creates a more natural appearance since real text rarely fills
|
|
99
|
+
* the full width on the last line.
|
|
100
|
+
* @default "60%"
|
|
101
|
+
*/
|
|
102
|
+
lastLineWidth?: number | string;
|
|
103
|
+
/**
|
|
104
|
+
* Gap between lines.
|
|
105
|
+
* @default "gap-2.5"
|
|
106
|
+
*/
|
|
107
|
+
gap?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Whether the pulse animation is active.
|
|
110
|
+
* @default true
|
|
111
|
+
*/
|
|
112
|
+
animate?: boolean;
|
|
113
|
+
/** Additional CSS classes to merge on the wrapper. */
|
|
114
|
+
className?: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* SkeletonText — renders multiple skeleton text lines.
|
|
118
|
+
*
|
|
119
|
+
* A convenience wrapper around `Skeleton` that renders multiple text-shaped
|
|
120
|
+
* lines with automatic width variation on the last line.
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```tsx
|
|
124
|
+
* // Default (3 lines)
|
|
125
|
+
* <SkeletonText />
|
|
126
|
+
*
|
|
127
|
+
* // Custom line count
|
|
128
|
+
* <SkeletonText lines={5} />
|
|
129
|
+
*
|
|
130
|
+
* // Custom last line width
|
|
131
|
+
* <SkeletonText lines={4} lastLineWidth="40%" />
|
|
132
|
+
*
|
|
133
|
+
* // Larger text size
|
|
134
|
+
* <SkeletonText textSize="lg" lines={2} />
|
|
135
|
+
*
|
|
136
|
+
* // With custom gap
|
|
137
|
+
* <SkeletonText lines={3} gap="gap-3" />
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
declare const SkeletonText: react.ForwardRefExoticComponent<SkeletonTextProps & react.RefAttributes<HTMLDivElement>>;
|
|
141
|
+
interface SkeletonCircleProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
142
|
+
/**
|
|
143
|
+
* Predefined size. Maps to standard avatar sizes.
|
|
144
|
+
* @default "md"
|
|
145
|
+
*/
|
|
146
|
+
size?: SkeletonSize;
|
|
147
|
+
/**
|
|
148
|
+
* Whether the pulse animation is active.
|
|
149
|
+
* @default true
|
|
150
|
+
*/
|
|
151
|
+
animate?: boolean;
|
|
152
|
+
/** Additional CSS classes to merge. */
|
|
153
|
+
className?: string;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* SkeletonCircle — a circle-shaped skeleton placeholder.
|
|
157
|
+
*
|
|
158
|
+
* Shorthand for `<Skeleton shape="circle" />` with a cleaner API.
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```tsx
|
|
162
|
+
* <SkeletonCircle size="sm" />
|
|
163
|
+
* <SkeletonCircle size="md" />
|
|
164
|
+
* <SkeletonCircle size="lg" />
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
declare const SkeletonCircle: react.ForwardRefExoticComponent<SkeletonCircleProps & react.RefAttributes<HTMLDivElement>>;
|
|
168
|
+
interface SkeletonRectProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
169
|
+
/**
|
|
170
|
+
* Width of the rectangle. Accepts CSS values.
|
|
171
|
+
* @default "100%"
|
|
172
|
+
*/
|
|
173
|
+
width?: number | string;
|
|
174
|
+
/**
|
|
175
|
+
* Height of the rectangle. Accepts CSS values.
|
|
176
|
+
* @default 120
|
|
177
|
+
*/
|
|
178
|
+
height?: number | string;
|
|
179
|
+
/**
|
|
180
|
+
* Whether the pulse animation is active.
|
|
181
|
+
* @default true
|
|
182
|
+
*/
|
|
183
|
+
animate?: boolean;
|
|
184
|
+
/** Additional CSS classes to merge. */
|
|
185
|
+
className?: string;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* SkeletonRect — a rectangle-shaped skeleton placeholder.
|
|
189
|
+
*
|
|
190
|
+
* Shorthand for `<Skeleton shape="rect" />` with sensible defaults.
|
|
191
|
+
* Useful for image placeholders, card thumbnails, and media areas.
|
|
192
|
+
*
|
|
193
|
+
* @example
|
|
194
|
+
* ```tsx
|
|
195
|
+
* <SkeletonRect width={300} height={200} />
|
|
196
|
+
* <SkeletonRect width="100%" height={160} />
|
|
197
|
+
* <SkeletonRect height="12rem" />
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
declare const SkeletonRect: react.ForwardRefExoticComponent<SkeletonRectProps & react.RefAttributes<HTMLDivElement>>;
|
|
201
|
+
|
|
202
|
+
export { Skeleton, SkeletonCircle, type SkeletonCircleProps, type SkeletonProps, SkeletonRect, type SkeletonRectProps, type SkeletonSize, SkeletonText, type SkeletonTextProps, type SkeletonTextSize, skeletonVariants };
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
declare const skeletonVariants: (props?: ({
|
|
6
|
+
shape?: "circle" | "rect" | "text" | null | undefined;
|
|
7
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
8
|
+
type SkeletonSize = "xs" | "sm" | "md" | "lg" | "xl";
|
|
9
|
+
type SkeletonTextSize = "xs" | "sm" | "md" | "lg";
|
|
10
|
+
interface SkeletonProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children">, VariantProps<typeof skeletonVariants> {
|
|
11
|
+
/**
|
|
12
|
+
* Shape of the skeleton placeholder.
|
|
13
|
+
* @default "text"
|
|
14
|
+
*/
|
|
15
|
+
shape?: "text" | "circle" | "rect";
|
|
16
|
+
/**
|
|
17
|
+
* Width of the skeleton. Accepts CSS values (number → px, string → raw).
|
|
18
|
+
* For `circle` shape, use `size` prop instead.
|
|
19
|
+
* @default "100%" for text/rect shapes
|
|
20
|
+
*/
|
|
21
|
+
width?: number | string;
|
|
22
|
+
/**
|
|
23
|
+
* Height of the skeleton. Accepts CSS values (number → px, string → raw).
|
|
24
|
+
* For `circle` shape, use `size` prop instead.
|
|
25
|
+
* For `text` shape, defaults to the text height based on `textSize`.
|
|
26
|
+
*/
|
|
27
|
+
height?: number | string;
|
|
28
|
+
/**
|
|
29
|
+
* Predefined size for circle shapes. Maps to standard avatar sizes.
|
|
30
|
+
* Only applies when `shape="circle"`.
|
|
31
|
+
* @default "md"
|
|
32
|
+
*/
|
|
33
|
+
size?: SkeletonSize;
|
|
34
|
+
/**
|
|
35
|
+
* Text height preset for text shapes. Matches typography size scale.
|
|
36
|
+
* Only applies when `shape="text"`.
|
|
37
|
+
* @default "md"
|
|
38
|
+
*/
|
|
39
|
+
textSize?: SkeletonTextSize;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the pulse animation is active.
|
|
42
|
+
* Set to false to show a static skeleton (e.g., when paused).
|
|
43
|
+
* @default true
|
|
44
|
+
*/
|
|
45
|
+
animate?: boolean;
|
|
46
|
+
/** Additional CSS classes to merge. */
|
|
47
|
+
className?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Skeleton — a loading placeholder that mimics the shape of content.
|
|
51
|
+
*
|
|
52
|
+
* Built on the design system's token layer. Uses the muted background
|
|
53
|
+
* color and a CSS `animate-pulse` animation to indicate loading state.
|
|
54
|
+
* The animation is automatically disabled when the user prefers reduced
|
|
55
|
+
* motion.
|
|
56
|
+
*
|
|
57
|
+
* Accessibility:
|
|
58
|
+
* - `aria-hidden="true"` — skeletons are decorative, not content
|
|
59
|
+
* - `role="presentation"` — excluded from accessibility tree
|
|
60
|
+
* - Reduced motion respected via global CSS in design-system.css
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```tsx
|
|
64
|
+
* // Text line placeholder
|
|
65
|
+
* <Skeleton shape="text" />
|
|
66
|
+
* <Skeleton shape="text" width="60%" />
|
|
67
|
+
* <Skeleton shape="text" textSize="lg" />
|
|
68
|
+
*
|
|
69
|
+
* // Circle placeholder (avatars)
|
|
70
|
+
* <Skeleton shape="circle" size="md" />
|
|
71
|
+
* <Skeleton shape="circle" size="lg" />
|
|
72
|
+
*
|
|
73
|
+
* // Rectangle placeholder (images, cards)
|
|
74
|
+
* <Skeleton shape="rect" width={300} height={200} />
|
|
75
|
+
* <Skeleton shape="rect" width="100%" height={160} />
|
|
76
|
+
*
|
|
77
|
+
* // Static (no animation)
|
|
78
|
+
* <Skeleton shape="text" animate={false} />
|
|
79
|
+
*
|
|
80
|
+
* // Custom dimensions
|
|
81
|
+
* <Skeleton shape="rect" width="100%" height="8rem" className="rounded-lg" />
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
declare const Skeleton: react.ForwardRefExoticComponent<SkeletonProps & react.RefAttributes<HTMLDivElement>>;
|
|
85
|
+
interface SkeletonTextProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
86
|
+
/**
|
|
87
|
+
* Number of text lines to render.
|
|
88
|
+
* @default 3
|
|
89
|
+
*/
|
|
90
|
+
lines?: number;
|
|
91
|
+
/**
|
|
92
|
+
* Text height preset for each line.
|
|
93
|
+
* @default "md"
|
|
94
|
+
*/
|
|
95
|
+
textSize?: SkeletonTextSize;
|
|
96
|
+
/**
|
|
97
|
+
* Width of the last line (as CSS value).
|
|
98
|
+
* Creates a more natural appearance since real text rarely fills
|
|
99
|
+
* the full width on the last line.
|
|
100
|
+
* @default "60%"
|
|
101
|
+
*/
|
|
102
|
+
lastLineWidth?: number | string;
|
|
103
|
+
/**
|
|
104
|
+
* Gap between lines.
|
|
105
|
+
* @default "gap-2.5"
|
|
106
|
+
*/
|
|
107
|
+
gap?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Whether the pulse animation is active.
|
|
110
|
+
* @default true
|
|
111
|
+
*/
|
|
112
|
+
animate?: boolean;
|
|
113
|
+
/** Additional CSS classes to merge on the wrapper. */
|
|
114
|
+
className?: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* SkeletonText — renders multiple skeleton text lines.
|
|
118
|
+
*
|
|
119
|
+
* A convenience wrapper around `Skeleton` that renders multiple text-shaped
|
|
120
|
+
* lines with automatic width variation on the last line.
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```tsx
|
|
124
|
+
* // Default (3 lines)
|
|
125
|
+
* <SkeletonText />
|
|
126
|
+
*
|
|
127
|
+
* // Custom line count
|
|
128
|
+
* <SkeletonText lines={5} />
|
|
129
|
+
*
|
|
130
|
+
* // Custom last line width
|
|
131
|
+
* <SkeletonText lines={4} lastLineWidth="40%" />
|
|
132
|
+
*
|
|
133
|
+
* // Larger text size
|
|
134
|
+
* <SkeletonText textSize="lg" lines={2} />
|
|
135
|
+
*
|
|
136
|
+
* // With custom gap
|
|
137
|
+
* <SkeletonText lines={3} gap="gap-3" />
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
declare const SkeletonText: react.ForwardRefExoticComponent<SkeletonTextProps & react.RefAttributes<HTMLDivElement>>;
|
|
141
|
+
interface SkeletonCircleProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
142
|
+
/**
|
|
143
|
+
* Predefined size. Maps to standard avatar sizes.
|
|
144
|
+
* @default "md"
|
|
145
|
+
*/
|
|
146
|
+
size?: SkeletonSize;
|
|
147
|
+
/**
|
|
148
|
+
* Whether the pulse animation is active.
|
|
149
|
+
* @default true
|
|
150
|
+
*/
|
|
151
|
+
animate?: boolean;
|
|
152
|
+
/** Additional CSS classes to merge. */
|
|
153
|
+
className?: string;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* SkeletonCircle — a circle-shaped skeleton placeholder.
|
|
157
|
+
*
|
|
158
|
+
* Shorthand for `<Skeleton shape="circle" />` with a cleaner API.
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```tsx
|
|
162
|
+
* <SkeletonCircle size="sm" />
|
|
163
|
+
* <SkeletonCircle size="md" />
|
|
164
|
+
* <SkeletonCircle size="lg" />
|
|
165
|
+
* ```
|
|
166
|
+
*/
|
|
167
|
+
declare const SkeletonCircle: react.ForwardRefExoticComponent<SkeletonCircleProps & react.RefAttributes<HTMLDivElement>>;
|
|
168
|
+
interface SkeletonRectProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
169
|
+
/**
|
|
170
|
+
* Width of the rectangle. Accepts CSS values.
|
|
171
|
+
* @default "100%"
|
|
172
|
+
*/
|
|
173
|
+
width?: number | string;
|
|
174
|
+
/**
|
|
175
|
+
* Height of the rectangle. Accepts CSS values.
|
|
176
|
+
* @default 120
|
|
177
|
+
*/
|
|
178
|
+
height?: number | string;
|
|
179
|
+
/**
|
|
180
|
+
* Whether the pulse animation is active.
|
|
181
|
+
* @default true
|
|
182
|
+
*/
|
|
183
|
+
animate?: boolean;
|
|
184
|
+
/** Additional CSS classes to merge. */
|
|
185
|
+
className?: string;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* SkeletonRect — a rectangle-shaped skeleton placeholder.
|
|
189
|
+
*
|
|
190
|
+
* Shorthand for `<Skeleton shape="rect" />` with sensible defaults.
|
|
191
|
+
* Useful for image placeholders, card thumbnails, and media areas.
|
|
192
|
+
*
|
|
193
|
+
* @example
|
|
194
|
+
* ```tsx
|
|
195
|
+
* <SkeletonRect width={300} height={200} />
|
|
196
|
+
* <SkeletonRect width="100%" height={160} />
|
|
197
|
+
* <SkeletonRect height="12rem" />
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
declare const SkeletonRect: react.ForwardRefExoticComponent<SkeletonRectProps & react.RefAttributes<HTMLDivElement>>;
|
|
201
|
+
|
|
202
|
+
export { Skeleton, SkeletonCircle, type SkeletonCircleProps, type SkeletonProps, SkeletonRect, type SkeletonRectProps, type SkeletonSize, SkeletonText, type SkeletonTextProps, type SkeletonTextSize, skeletonVariants };
|