@spark-ui/components 13.1.3 → 13.1.4
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/dist/Input-N8AWWSmt.d.mts +41 -0
- package/dist/Input-N8AWWSmt.d.ts +41 -0
- package/dist/InputTrailingIcon-BBp7sE6D.d.mts +20 -0
- package/dist/InputTrailingIcon-ZZx8PoJy.d.ts +20 -0
- package/dist/LabelRequiredIndicator-DRnCzHMU.d.mts +19 -0
- package/dist/LabelRequiredIndicator-DRnCzHMU.d.ts +19 -0
- package/dist/accordion/index.d.mts +73 -0
- package/dist/accordion/index.d.ts +68 -10
- package/dist/accordion/index.js +325 -2
- package/dist/accordion/index.js.map +1 -1
- package/dist/accordion/index.mjs +154 -632
- package/dist/accordion/index.mjs.map +1 -1
- package/dist/alert-dialog/index.d.mts +159 -0
- package/dist/alert-dialog/index.d.ts +147 -26
- package/dist/alert-dialog/index.js +405 -35
- package/dist/alert-dialog/index.js.map +1 -1
- package/dist/alert-dialog/index.mjs +258 -2513
- package/dist/alert-dialog/index.mjs.map +1 -1
- package/dist/avatar/index.d.mts +66 -0
- package/dist/avatar/index.d.ts +59 -8
- package/dist/avatar/index.js +1323 -2
- package/dist/avatar/index.js.map +1 -1
- package/dist/avatar/index.mjs +207 -149
- package/dist/avatar/index.mjs.map +1 -1
- package/dist/badge/index.d.mts +47 -0
- package/dist/badge/index.d.ts +47 -1
- package/dist/badge/index.js +122 -2
- package/dist/badge/index.js.map +1 -1
- package/dist/badge/index.mjs +44 -32
- package/dist/badge/index.mjs.map +1 -1
- package/dist/breadcrumb/index.d.mts +64 -0
- package/dist/breadcrumb/index.d.ts +59 -7
- package/dist/breadcrumb/index.js +327 -2
- package/dist/breadcrumb/index.js.map +1 -1
- package/dist/breadcrumb/index.mjs +146 -106
- package/dist/breadcrumb/index.mjs.map +1 -1
- package/dist/button/index.d.mts +41 -0
- package/dist/button/index.d.ts +41 -1
- package/dist/button/index.js +935 -2
- package/dist/button/index.js.map +1 -1
- package/dist/button/index.mjs +8 -3
- package/dist/button/index.mjs.map +1 -1
- package/dist/card/index.d.mts +61 -0
- package/dist/card/index.d.ts +58 -5
- package/dist/card/index.js +502 -2
- package/dist/card/index.js.map +1 -1
- package/dist/card/index.mjs +178 -125
- package/dist/card/index.mjs.map +1 -1
- package/dist/carousel/{types.d.ts → index.d.mts} +112 -13
- package/dist/carousel/index.d.ts +263 -18
- package/dist/carousel/index.js +1882 -2
- package/dist/carousel/index.js.map +1 -1
- package/dist/carousel/index.mjs +650 -428
- package/dist/carousel/index.mjs.map +1 -1
- package/dist/checkbox/index.d.mts +120 -0
- package/dist/checkbox/index.d.ts +120 -2
- package/dist/checkbox/index.js +511 -2
- package/dist/checkbox/index.js.map +1 -1
- package/dist/checkbox/index.mjs +226 -371
- package/dist/checkbox/index.mjs.map +1 -1
- package/dist/chip/index.d.mts +97 -0
- package/dist/chip/index.d.ts +92 -10
- package/dist/chip/index.js +908 -2
- package/dist/chip/index.js.map +1 -1
- package/dist/chip/index.mjs +322 -390
- package/dist/chip/index.mjs.map +1 -1
- package/dist/{Button-D32Avk2j.mjs → chunk-2YM6GKWW.mjs} +173 -130
- package/dist/chunk-2YM6GKWW.mjs.map +1 -0
- package/dist/chunk-6QCEPQ3U.mjs +26 -0
- package/dist/chunk-6QCEPQ3U.mjs.map +1 -0
- package/dist/chunk-7EWSMIZU.mjs +214 -0
- package/dist/chunk-7EWSMIZU.mjs.map +1 -0
- package/dist/chunk-DCXWGQVZ.mjs +53 -0
- package/dist/chunk-DCXWGQVZ.mjs.map +1 -0
- package/dist/{Spinner-CYL5kyzM.mjs → chunk-GAK4SC2F.mjs} +40 -29
- package/dist/chunk-GAK4SC2F.mjs.map +1 -0
- package/dist/chunk-GPJMLIHC.mjs +308 -0
- package/dist/chunk-GPJMLIHC.mjs.map +1 -0
- package/dist/chunk-HLXYG643.mjs +52 -0
- package/dist/chunk-HLXYG643.mjs.map +1 -0
- package/dist/chunk-KEGAAGJW.mjs +36 -0
- package/dist/chunk-KEGAAGJW.mjs.map +1 -0
- package/dist/{TextLink-3MEVs3No.mjs → chunk-RKPP7ZOK.mjs} +36 -27
- package/dist/chunk-RKPP7ZOK.mjs.map +1 -0
- package/dist/chunk-UMUMFMFB.mjs +68 -0
- package/dist/chunk-UMUMFMFB.mjs.map +1 -0
- package/dist/chunk-VBX7BTNU.mjs +614 -0
- package/dist/chunk-VBX7BTNU.mjs.map +1 -0
- package/dist/{DialogContent.styles-WGWJS9dj.mjs → chunk-XZ47F6TP.mjs} +8 -6
- package/dist/chunk-XZ47F6TP.mjs.map +1 -0
- package/dist/collapsible/index.d.mts +43 -0
- package/dist/collapsible/index.d.ts +40 -4
- package/dist/collapsible/index.js +109 -2
- package/dist/collapsible/index.js.map +1 -1
- package/dist/collapsible/index.mjs +58 -214
- package/dist/collapsible/index.mjs.map +1 -1
- package/dist/combobox/index.d.mts +287 -0
- package/dist/combobox/index.d.ts +271 -19
- package/dist/combobox/index.js +2588 -2
- package/dist/combobox/index.js.map +1 -1
- package/dist/combobox/index.mjs +1017 -623
- package/dist/combobox/index.mjs.map +1 -1
- package/dist/dialog/index.d.mts +166 -0
- package/dist/dialog/index.d.ts +154 -25
- package/dist/dialog/index.js +1389 -2
- package/dist/dialog/index.js.map +1 -1
- package/dist/dialog/index.mjs +258 -163
- package/dist/dialog/index.mjs.map +1 -1
- package/dist/divider/index.d.mts +61 -0
- package/dist/divider/index.d.ts +59 -4
- package/dist/divider/index.js +224 -2
- package/dist/divider/index.js.map +1 -1
- package/dist/divider/index.mjs +100 -97
- package/dist/divider/index.mjs.map +1 -1
- package/dist/drawer/index.d.mts +152 -0
- package/dist/drawer/index.d.ts +141 -24
- package/dist/drawer/index.js +1400 -2
- package/dist/drawer/index.js.map +1 -1
- package/dist/drawer/index.mjs +230 -141
- package/dist/drawer/index.mjs.map +1 -1
- package/dist/dropdown/index.d.mts +233 -0
- package/dist/dropdown/index.d.ts +220 -16
- package/dist/dropdown/index.js +2051 -2
- package/dist/dropdown/index.js.map +1 -1
- package/dist/dropdown/index.mjs +584 -352
- package/dist/dropdown/index.mjs.map +1 -1
- package/dist/file-upload/index.d.mts +270 -0
- package/dist/file-upload/index.d.ts +262 -14
- package/dist/file-upload/index.js +2255 -2
- package/dist/file-upload/index.js.map +1 -1
- package/dist/file-upload/index.mjs +834 -506
- package/dist/file-upload/index.mjs.map +1 -1
- package/dist/form-field/index.d.mts +186 -0
- package/dist/form-field/index.d.ts +176 -21
- package/dist/form-field/index.js +553 -2
- package/dist/form-field/index.js.map +1 -1
- package/dist/form-field/index.mjs +349 -246
- package/dist/form-field/index.mjs.map +1 -1
- package/dist/icon/index.d.mts +28 -0
- package/dist/icon/index.d.ts +28 -1
- package/dist/icon/index.js +127 -2
- package/dist/icon/index.js.map +1 -1
- package/dist/icon/index.mjs +7 -3
- package/dist/icon/index.mjs.map +1 -1
- package/dist/icon-button/index.d.mts +16 -0
- package/dist/icon-button/index.d.ts +16 -1
- package/dist/icon-button/index.js +980 -2
- package/dist/icon-button/index.js.map +1 -1
- package/dist/icon-button/index.mjs +9 -3
- package/dist/icon-button/index.mjs.map +1 -1
- package/dist/index-Cno_GFuW.d.mts +93 -0
- package/dist/index-Cno_GFuW.d.ts +93 -0
- package/dist/input/index.d.mts +78 -0
- package/dist/input/index.d.ts +72 -15
- package/dist/input/index.js +724 -2
- package/dist/input/index.js.map +1 -1
- package/dist/input/index.mjs +12 -453
- package/dist/input/index.mjs.map +1 -1
- package/dist/input-otp/{InputOTP.d.ts → index.d.mts} +50 -3
- package/dist/input-otp/index.d.ts +128 -10
- package/dist/input-otp/index.js +668 -2
- package/dist/input-otp/index.js.map +1 -1
- package/dist/input-otp/index.mjs +463 -294
- package/dist/input-otp/index.mjs.map +1 -1
- package/dist/kbd/index.d.mts +9 -0
- package/dist/kbd/index.d.ts +9 -1
- package/dist/kbd/index.js +47 -2
- package/dist/kbd/index.js.map +1 -1
- package/dist/kbd/index.mjs +18 -15
- package/dist/kbd/index.mjs.map +1 -1
- package/dist/label/index.d.mts +11 -0
- package/dist/label/index.d.ts +9 -5
- package/dist/label/index.js +78 -2
- package/dist/label/index.js.map +1 -1
- package/dist/label/index.mjs +5 -3
- package/dist/label/index.mjs.map +1 -1
- package/dist/link-box/index.d.mts +34 -0
- package/dist/link-box/index.d.ts +31 -6
- package/dist/link-box/index.js +92 -2
- package/dist/link-box/index.js.map +1 -1
- package/dist/link-box/index.mjs +56 -34
- package/dist/link-box/index.mjs.map +1 -1
- package/dist/pagination/index.d.mts +143 -0
- package/dist/pagination/index.d.ts +135 -10
- package/dist/pagination/index.js +1353 -2
- package/dist/pagination/index.js.map +1 -1
- package/dist/pagination/index.mjs +268 -833
- package/dist/pagination/index.mjs.map +1 -1
- package/dist/popover/index.d.mts +6 -0
- package/dist/popover/index.d.ts +6 -17
- package/dist/popover/index.js +1339 -2
- package/dist/popover/index.js.map +1 -1
- package/dist/popover/index.mjs +11 -1868
- package/dist/popover/index.mjs.map +1 -1
- package/dist/portal/{Portal.d.ts → index.d.mts} +5 -2
- package/dist/portal/index.d.ts +13 -1
- package/dist/portal/index.js +37 -2
- package/dist/portal/index.js.map +1 -1
- package/dist/portal/index.mjs +8 -5
- package/dist/portal/index.mjs.map +1 -1
- package/dist/progress/index.d.mts +52 -0
- package/dist/progress/index.d.ts +48 -9
- package/dist/progress/index.js +239 -6
- package/dist/progress/index.js.map +1 -1
- package/dist/progress/index.mjs +5 -241
- package/dist/progress/index.mjs.map +1 -1
- package/dist/progress-tracker/index.d.mts +80 -0
- package/dist/progress-tracker/index.d.ts +80 -10
- package/dist/progress-tracker/index.js +571 -2
- package/dist/progress-tracker/index.js.map +1 -1
- package/dist/progress-tracker/index.mjs +183 -115
- package/dist/progress-tracker/index.mjs.map +1 -1
- package/dist/radio-group/index.d.mts +100 -0
- package/dist/radio-group/index.d.ts +98 -5
- package/dist/radio-group/index.js +318 -2
- package/dist/radio-group/index.js.map +1 -1
- package/dist/radio-group/index.mjs +174 -332
- package/dist/radio-group/index.mjs.map +1 -1
- package/dist/rating/index.d.mts +78 -0
- package/dist/rating/index.d.ts +78 -1
- package/dist/rating/index.js +363 -2
- package/dist/rating/index.js.map +1 -1
- package/dist/rating/index.mjs +170 -125
- package/dist/rating/index.mjs.map +1 -1
- package/dist/scrolling-list/index.d.mts +118 -0
- package/dist/scrolling-list/index.d.ts +117 -14
- package/dist/scrolling-list/index.js +1428 -2
- package/dist/scrolling-list/index.js.map +1 -1
- package/dist/scrolling-list/index.mjs +325 -358
- package/dist/scrolling-list/index.mjs.map +1 -1
- package/dist/segmented-gauge/{SegmentedGauge.d.ts → index.d.mts} +43 -4
- package/dist/segmented-gauge/index.d.ts +101 -9
- package/dist/segmented-gauge/index.js +274 -2
- package/dist/segmented-gauge/index.js.map +1 -1
- package/dist/segmented-gauge/index.mjs +178 -132
- package/dist/segmented-gauge/index.mjs.map +1 -1
- package/dist/select/index.d.mts +167 -0
- package/dist/select/index.d.ts +158 -12
- package/dist/select/index.js +581 -2
- package/dist/select/index.js.map +1 -1
- package/dist/select/index.mjs +339 -207
- package/dist/select/index.mjs.map +1 -1
- package/dist/skeleton/index.d.mts +67 -0
- package/dist/skeleton/index.d.ts +67 -8
- package/dist/skeleton/index.js +206 -2
- package/dist/skeleton/index.js.map +1 -1
- package/dist/skeleton/index.mjs +96 -64
- package/dist/skeleton/index.mjs.map +1 -1
- package/dist/slider/index.d.mts +97 -0
- package/dist/slider/index.d.ts +97 -8
- package/dist/slider/index.js +220 -2
- package/dist/slider/index.js.map +1 -1
- package/dist/slider/index.mjs +107 -490
- package/dist/slider/index.mjs.map +1 -1
- package/dist/slot/index.d.mts +16 -0
- package/dist/slot/index.d.ts +16 -1
- package/dist/slot/index.js +51 -2
- package/dist/slot/index.js.map +1 -1
- package/dist/slot/index.mjs +9 -5
- package/dist/slot/index.mjs.map +1 -1
- package/dist/snackbar/index.d.mts +158 -0
- package/dist/snackbar/index.d.ts +158 -13
- package/dist/snackbar/index.js +1756 -2
- package/dist/snackbar/index.js.map +1 -1
- package/dist/snackbar/index.mjs +429 -1153
- package/dist/snackbar/index.mjs.map +1 -1
- package/dist/spinner/index.d.mts +21 -0
- package/dist/spinner/index.d.ts +21 -1
- package/dist/spinner/index.js +139 -2
- package/dist/spinner/index.js.map +1 -1
- package/dist/spinner/index.mjs +7 -3
- package/dist/spinner/index.mjs.map +1 -1
- package/dist/stepper/index.d.mts +81 -0
- package/dist/stepper/index.d.ts +81 -9
- package/dist/stepper/index.js +1847 -8
- package/dist/stepper/index.js.map +1 -1
- package/dist/stepper/index.mjs +197 -2325
- package/dist/stepper/index.mjs.map +1 -1
- package/dist/switch/{SwitchInput.d.ts → index.d.mts} +17 -4
- package/dist/switch/index.d.ts +64 -1
- package/dist/switch/index.js +327 -2
- package/dist/switch/index.js.map +1 -1
- package/dist/switch/index.mjs +130 -213
- package/dist/switch/index.mjs.map +1 -1
- package/dist/tabs/index.d.mts +137 -0
- package/dist/tabs/index.d.ts +137 -13
- package/dist/tabs/index.js +1830 -2
- package/dist/tabs/index.js.map +1 -1
- package/dist/tabs/index.mjs +350 -374
- package/dist/tabs/index.mjs.map +1 -1
- package/dist/tag/index.d.mts +29 -0
- package/dist/tag/index.d.ts +29 -1
- package/dist/tag/index.js +283 -2
- package/dist/tag/index.js.map +1 -1
- package/dist/tag/index.mjs +90 -66
- package/dist/tag/index.mjs.map +1 -1
- package/dist/text-link/index.d.mts +20 -0
- package/dist/text-link/index.d.ts +20 -1
- package/dist/text-link/index.js +100 -2
- package/dist/text-link/index.js.map +1 -1
- package/dist/text-link/index.mjs +6 -3
- package/dist/text-link/index.mjs.map +1 -1
- package/dist/textarea/index.d.mts +57 -0
- package/dist/textarea/index.d.ts +53 -10
- package/dist/textarea/index.js +797 -2
- package/dist/textarea/index.js.map +1 -1
- package/dist/textarea/index.mjs +83 -50
- package/dist/textarea/index.mjs.map +1 -1
- package/dist/toast/index.d.mts +63 -0
- package/dist/toast/index.d.ts +53 -10
- package/dist/toast/index.js +1454 -2
- package/dist/toast/index.js.map +1 -1
- package/dist/toast/index.mjs +208 -1016
- package/dist/toast/index.mjs.map +1 -1
- package/dist/visually-hidden/index.d.mts +16 -0
- package/dist/visually-hidden/index.d.ts +16 -1
- package/dist/visually-hidden/index.js +67 -2
- package/dist/visually-hidden/index.js.map +1 -1
- package/dist/visually-hidden/index.mjs +6 -3
- package/dist/visually-hidden/index.mjs.map +1 -1
- package/package.json +6 -5
- package/dist/Button-C3xHNaGl.js +0 -2
- package/dist/Button-C3xHNaGl.js.map +0 -1
- package/dist/Button-D32Avk2j.mjs.map +0 -1
- package/dist/DialogContent.styles-BrhKaHc_.js +0 -2
- package/dist/DialogContent.styles-BrhKaHc_.js.map +0 -1
- package/dist/DialogContent.styles-WGWJS9dj.mjs.map +0 -1
- package/dist/Icon-Bf0XrmiR.js +0 -2
- package/dist/Icon-Bf0XrmiR.js.map +0 -1
- package/dist/Icon-D1RueiPY.mjs +0 -58
- package/dist/Icon-D1RueiPY.mjs.map +0 -1
- package/dist/IconButton-BY3gYXtU.mjs +0 -43
- package/dist/IconButton-BY3gYXtU.mjs.map +0 -1
- package/dist/IconButton-Bf-EDzpI.js +0 -2
- package/dist/IconButton-Bf-EDzpI.js.map +0 -1
- package/dist/Slot-C98rL4yy.mjs +0 -14
- package/dist/Slot-C98rL4yy.mjs.map +0 -1
- package/dist/Slot-ghrohQLA.js +0 -2
- package/dist/Slot-ghrohQLA.js.map +0 -1
- package/dist/Spinner-CYL5kyzM.mjs.map +0 -1
- package/dist/Spinner-DK8VEsaR.js +0 -2
- package/dist/Spinner-DK8VEsaR.js.map +0 -1
- package/dist/TextLink-3MEVs3No.mjs.map +0 -1
- package/dist/TextLink-DD0VO37q.js +0 -2
- package/dist/TextLink-DD0VO37q.js.map +0 -1
- package/dist/VisuallyHidden-AoRh4WRK.js +0 -2
- package/dist/VisuallyHidden-AoRh4WRK.js.map +0 -1
- package/dist/VisuallyHidden-ByNP7ZUI.mjs +0 -28
- package/dist/VisuallyHidden-ByNP7ZUI.mjs.map +0 -1
- package/dist/accordion/Accordion.d.ts +0 -27
- package/dist/accordion/AccordionItem.d.ts +0 -12
- package/dist/accordion/AccordionItemContent.d.ts +0 -12
- package/dist/accordion/AccordionItemHeader.d.ts +0 -9
- package/dist/accordion/AccordionItemTrigger.d.ts +0 -12
- package/dist/accordion/useRenderSlot.d.ts +0 -3
- package/dist/alert-dialog/AlertDialog.d.ts +0 -29
- package/dist/alert-dialog/AlertDialogAction.d.ts +0 -13
- package/dist/alert-dialog/AlertDialogBody.d.ts +0 -12
- package/dist/alert-dialog/AlertDialogCancel.d.ts +0 -13
- package/dist/alert-dialog/AlertDialogContent.d.ts +0 -9
- package/dist/alert-dialog/AlertDialogContext.d.ts +0 -12
- package/dist/alert-dialog/AlertDialogDescription.d.ts +0 -9
- package/dist/alert-dialog/AlertDialogFooter.d.ts +0 -10
- package/dist/alert-dialog/AlertDialogHeader.d.ts +0 -10
- package/dist/alert-dialog/AlertDialogOverlay.d.ts +0 -9
- package/dist/alert-dialog/AlertDialogPortal.d.ts +0 -7
- package/dist/alert-dialog/AlertDialogTitle.d.ts +0 -9
- package/dist/alert-dialog/AlertDialogTrigger.d.ts +0 -13
- package/dist/alert-dialog/useRenderSlot.d.ts +0 -3
- package/dist/avatar/Avatar.d.ts +0 -3
- package/dist/avatar/AvatarAction.d.ts +0 -9
- package/dist/avatar/AvatarImage.d.ts +0 -7
- package/dist/avatar/AvatarOnlineBadge.d.ts +0 -9
- package/dist/avatar/AvatarPlaceholder.d.ts +0 -8
- package/dist/avatar/AvatarUser.d.ts +0 -7
- package/dist/avatar/context.d.ts +0 -5
- package/dist/avatar/types.d.ts +0 -24
- package/dist/badge/Badge.d.ts +0 -9
- package/dist/badge/BadgeItem.d.ts +0 -31
- package/dist/badge/BadgeItem.styles.d.ts +0 -7
- package/dist/breadcrumb/Breadcrumb.d.ts +0 -10
- package/dist/breadcrumb/Breadcrumb.styles.d.ts +0 -0
- package/dist/breadcrumb/BreadcrumbCurrentPage.d.ts +0 -11
- package/dist/breadcrumb/BreadcrumbItem.d.ts +0 -9
- package/dist/breadcrumb/BreadcrumbLink.d.ts +0 -12
- package/dist/breadcrumb/BreadcrumbSeparator.d.ts +0 -10
- package/dist/button/Button.d.ts +0 -26
- package/dist/button/Button.styles.d.ts +0 -10
- package/dist/button/variants/contrast.d.ts +0 -45
- package/dist/button/variants/filled.d.ts +0 -45
- package/dist/button/variants/ghost.d.ts +0 -45
- package/dist/button/variants/index.d.ts +0 -5
- package/dist/button/variants/outlined.d.ts +0 -45
- package/dist/button/variants/tinted.d.ts +0 -45
- package/dist/card/Backdrop.d.ts +0 -14
- package/dist/card/Card.d.ts +0 -16
- package/dist/card/Card.styles.d.ts +0 -7
- package/dist/card/Content.d.ts +0 -15
- package/dist/card/Content.styles.d.ts +0 -8
- package/dist/card/context.d.ts +0 -11
- package/dist/card/utils.d.ts +0 -3
- package/dist/carousel/Carousel.d.ts +0 -12
- package/dist/carousel/CarouselControls.d.ts +0 -9
- package/dist/carousel/CarouselNextButton.d.ts +0 -5
- package/dist/carousel/CarouselPageIndicator.d.ts +0 -14
- package/dist/carousel/CarouselPagePicker.d.ts +0 -14
- package/dist/carousel/CarouselPrevButton.d.ts +0 -5
- package/dist/carousel/CarouselSlide.d.ts +0 -12
- package/dist/carousel/CarouselSlides.d.ts +0 -10
- package/dist/carousel/CarouselViewport.d.ts +0 -9
- package/dist/carousel/useCarousel.d.ts +0 -2
- package/dist/carousel/useCarouselVisibility.d.ts +0 -13
- package/dist/carousel/useEvent.d.ts +0 -7
- package/dist/carousel/useIsMounted.d.ts +0 -1
- package/dist/carousel/useIsVisible.d.ts +0 -6
- package/dist/carousel/useResizeObserver.d.ts +0 -2
- package/dist/carousel/useScrollEnd.d.ts +0 -3
- package/dist/carousel/useSnapPoints.d.ts +0 -10
- package/dist/carousel/utils.d.ts +0 -24
- package/dist/checkbox/Checkbox.d.ts +0 -10
- package/dist/checkbox/CheckboxGroup.d.ts +0 -18
- package/dist/checkbox/CheckboxGroup.styles.d.ts +0 -5
- package/dist/checkbox/CheckboxGroupContext.d.ts +0 -41
- package/dist/checkbox/CheckboxIndicator.d.ts +0 -9
- package/dist/checkbox/CheckboxInput.d.ts +0 -47
- package/dist/checkbox/CheckboxInput.styles.d.ts +0 -5
- package/dist/checkbox/CheckboxLabel.d.ts +0 -12
- package/dist/checkbox/CheckboxLabel.styles.d.ts +0 -5
- package/dist/chip/Chip.d.ts +0 -34
- package/dist/chip/Chip.styles.d.ts +0 -8
- package/dist/chip/ChipClearButton.d.ts +0 -10
- package/dist/chip/ChipClearButton.styles.d.ts +0 -10
- package/dist/chip/ChipContent.d.ts +0 -8
- package/dist/chip/ChipIcon.d.ts +0 -8
- package/dist/chip/ChipLeadingIcon.d.ts +0 -9
- package/dist/chip/ChipTrailingIcon.d.ts +0 -9
- package/dist/chip/useChipContext.d.ts +0 -4
- package/dist/chip/useChipElement.d.ts +0 -41
- package/dist/chip/variants/dashed.d.ts +0 -49
- package/dist/chip/variants/index.d.ts +0 -3
- package/dist/chip/variants/outlined.d.ts +0 -49
- package/dist/chip/variants/tinted.d.ts +0 -49
- package/dist/collapsible/Content.d.ts +0 -12
- package/dist/collapsible/Root.d.ts +0 -12
- package/dist/collapsible/Trigger.d.ts +0 -11
- package/dist/collapsible/useRenderSlot.d.ts +0 -3
- package/dist/combobox/Combobox.d.ts +0 -6
- package/dist/combobox/ComboboxClearButton.d.ts +0 -9
- package/dist/combobox/ComboboxContext.d.ts +0 -108
- package/dist/combobox/ComboboxDisclosure.d.ts +0 -13
- package/dist/combobox/ComboboxEmpty.d.ts +0 -11
- package/dist/combobox/ComboboxGroup.d.ts +0 -11
- package/dist/combobox/ComboboxInput.d.ts +0 -15
- package/dist/combobox/ComboboxItem.d.ts +0 -12
- package/dist/combobox/ComboboxItemContext.d.ts +0 -17
- package/dist/combobox/ComboboxItemIndicator.d.ts +0 -11
- package/dist/combobox/ComboboxItemText.d.ts +0 -10
- package/dist/combobox/ComboboxItems.d.ts +0 -11
- package/dist/combobox/ComboboxItemsGroupContext.d.ts +0 -8
- package/dist/combobox/ComboboxLabel.d.ts +0 -11
- package/dist/combobox/ComboboxLeadingIcon.d.ts +0 -7
- package/dist/combobox/ComboboxPopover.d.ts +0 -10
- package/dist/combobox/ComboboxPortal.d.ts +0 -2
- package/dist/combobox/ComboboxSelectedItems.d.ts +0 -4
- package/dist/combobox/ComboboxTrigger.d.ts +0 -11
- package/dist/combobox/ComboboxTrigger.styles.d.ts +0 -6
- package/dist/combobox/tests/test-utils.d.ts +0 -8
- package/dist/combobox/types.d.ts +0 -8
- package/dist/combobox/useCombobox/multipleSelectionReducer.d.ts +0 -13
- package/dist/combobox/useCombobox/singleSelectionReducer.d.ts +0 -8
- package/dist/combobox/utils/index.d.ts +0 -14
- package/dist/combobox/utils/useWidthIncreaseCallback.d.ts +0 -2
- package/dist/composite-Br3kM5N9.mjs +0 -40
- package/dist/composite-Br3kM5N9.mjs.map +0 -1
- package/dist/composite-fJD9R7R0.js +0 -2
- package/dist/composite-fJD9R7R0.js.map +0 -1
- package/dist/detectBrowser-Bc7rk5fI.mjs +0 -44
- package/dist/detectBrowser-Bc7rk5fI.mjs.map +0 -1
- package/dist/detectBrowser-DTbs_30X.js +0 -2
- package/dist/detectBrowser-DTbs_30X.js.map +0 -1
- package/dist/dialog/Dialog.d.ts +0 -32
- package/dist/dialog/DialogBody.d.ts +0 -12
- package/dist/dialog/DialogClose.d.ts +0 -9
- package/dist/dialog/DialogCloseButton.d.ts +0 -9
- package/dist/dialog/DialogContent.d.ts +0 -14
- package/dist/dialog/DialogContent.styles.d.ts +0 -6
- package/dist/dialog/DialogContext.d.ts +0 -11
- package/dist/dialog/DialogDescription.d.ts +0 -9
- package/dist/dialog/DialogFooter.d.ts +0 -10
- package/dist/dialog/DialogHeader.d.ts +0 -10
- package/dist/dialog/DialogOverlay.d.ts +0 -9
- package/dist/dialog/DialogPortal.d.ts +0 -7
- package/dist/dialog/DialogTitle.d.ts +0 -9
- package/dist/dialog/DialogTrigger.d.ts +0 -17
- package/dist/divider/Divider.d.ts +0 -30
- package/dist/divider/Divider.styles.d.ts +0 -9
- package/dist/divider/DividerContent.d.ts +0 -13
- package/dist/divider/variants/intents.d.ts +0 -17
- package/dist/downshift.esm-Ncwetv0s.mjs +0 -3038
- package/dist/downshift.esm-Ncwetv0s.mjs.map +0 -1
- package/dist/downshift.esm-PfCOUbxq.js +0 -37
- package/dist/downshift.esm-PfCOUbxq.js.map +0 -1
- package/dist/drawer/Drawer.d.ts +0 -39
- package/dist/drawer/DrawerBody.d.ts +0 -11
- package/dist/drawer/DrawerBody.styles.d.ts +0 -5
- package/dist/drawer/DrawerClose.d.ts +0 -9
- package/dist/drawer/DrawerCloseButton.d.ts +0 -7
- package/dist/drawer/DrawerContent.d.ts +0 -10
- package/dist/drawer/DrawerContent.styles.d.ts +0 -6
- package/dist/drawer/DrawerContext.d.ts +0 -9
- package/dist/drawer/DrawerDescription.d.ts +0 -9
- package/dist/drawer/DrawerFooter.d.ts +0 -8
- package/dist/drawer/DrawerHeader.d.ts +0 -10
- package/dist/drawer/DrawerOverlay.d.ts +0 -9
- package/dist/drawer/DrawerPortal.d.ts +0 -7
- package/dist/drawer/DrawerTitle.d.ts +0 -9
- package/dist/drawer/DrawerTrigger.d.ts +0 -13
- package/dist/dropdown/Dropdown.d.ts +0 -6
- package/dist/dropdown/DropdownContext.d.ts +0 -81
- package/dist/dropdown/DropdownDivider.d.ts +0 -10
- package/dist/dropdown/DropdownGroup.d.ts +0 -11
- package/dist/dropdown/DropdownItem.d.ts +0 -12
- package/dist/dropdown/DropdownItemContext.d.ts +0 -17
- package/dist/dropdown/DropdownItemIndicator.d.ts +0 -11
- package/dist/dropdown/DropdownItemText.d.ts +0 -9
- package/dist/dropdown/DropdownItems.d.ts +0 -21
- package/dist/dropdown/DropdownItemsGroupContext.d.ts +0 -8
- package/dist/dropdown/DropdownLabel.d.ts +0 -11
- package/dist/dropdown/DropdownLeadingIcon.d.ts +0 -7
- package/dist/dropdown/DropdownPopover.d.ts +0 -6
- package/dist/dropdown/DropdownPortal.d.ts +0 -2
- package/dist/dropdown/DropdownTrigger.d.ts +0 -12
- package/dist/dropdown/DropdownTrigger.styles.d.ts +0 -5
- package/dist/dropdown/DropdownValue.d.ts +0 -11
- package/dist/dropdown/types.d.ts +0 -8
- package/dist/dropdown/useDropdown.d.ts +0 -41
- package/dist/dropdown/utils.d.ts +0 -13
- package/dist/file-upload/FileUpload.d.ts +0 -130
- package/dist/file-upload/FileUploadAcceptedFile.d.ts +0 -25
- package/dist/file-upload/FileUploadContext.d.ts +0 -17
- package/dist/file-upload/FileUploadDropzone.d.ts +0 -10
- package/dist/file-upload/FileUploadItemDeleteTrigger.d.ts +0 -11
- package/dist/file-upload/FileUploadPreviewImage.d.ts +0 -17
- package/dist/file-upload/FileUploadRejectedFile.d.ts +0 -24
- package/dist/file-upload/FileUploadRejectedFileDeleteTrigger.d.ts +0 -12
- package/dist/file-upload/FileUploadTrigger.d.ts +0 -12
- package/dist/file-upload/constants.d.ts +0 -29
- package/dist/file-upload/test-utils.d.ts +0 -9
- package/dist/file-upload/useFileUploadState.d.ts +0 -88
- package/dist/file-upload/utils.d.ts +0 -40
- package/dist/floating-ui.utils.dom-CCN4I08l.js +0 -2
- package/dist/floating-ui.utils.dom-CCN4I08l.js.map +0 -1
- package/dist/floating-ui.utils.dom-uiDUZc_y.mjs +0 -136
- package/dist/floating-ui.utils.dom-uiDUZc_y.mjs.map +0 -1
- package/dist/form-field/FormField.d.ts +0 -21
- package/dist/form-field/FormFieldAlertMessage.d.ts +0 -9
- package/dist/form-field/FormFieldCharactersCount.d.ts +0 -26
- package/dist/form-field/FormFieldContext.d.ts +0 -49
- package/dist/form-field/FormFieldControl.d.ts +0 -12
- package/dist/form-field/FormFieldErrorMessage.d.ts +0 -9
- package/dist/form-field/FormFieldHelperMessage.d.ts +0 -9
- package/dist/form-field/FormFieldLabel.d.ts +0 -13
- package/dist/form-field/FormFieldMessage.d.ts +0 -8
- package/dist/form-field/FormFieldProvider.d.ts +0 -9
- package/dist/form-field/FormFieldRequiredIndicator.d.ts +0 -9
- package/dist/form-field/FormFieldStateMessage.d.ts +0 -10
- package/dist/form-field/FormFieldSuccessMessage.d.ts +0 -9
- package/dist/icon/Icon.d.ts +0 -17
- package/dist/icon/Icon.styles.d.ts +0 -6
- package/dist/icon-button/IconButton.d.ts +0 -10
- package/dist/icon-button/IconButton.styles.d.ts +0 -5
- package/dist/index-0KYGKeVg.js +0 -2
- package/dist/index-0KYGKeVg.js.map +0 -1
- package/dist/index-1WIgmEZh.js +0 -2
- package/dist/index-1WIgmEZh.js.map +0 -1
- package/dist/index-BRi38DTc.mjs +0 -21
- package/dist/index-BRi38DTc.mjs.map +0 -1
- package/dist/index-BZAtNKwE.mjs +0 -71
- package/dist/index-BZAtNKwE.mjs.map +0 -1
- package/dist/index-BZPx6jYI.mjs +0 -9
- package/dist/index-BZPx6jYI.mjs.map +0 -1
- package/dist/index-BlkdpEIe.mjs +0 -55
- package/dist/index-BlkdpEIe.mjs.map +0 -1
- package/dist/index-BmAFn37q.mjs +0 -49
- package/dist/index-BmAFn37q.mjs.map +0 -1
- package/dist/index-C-J_tHdS.js +0 -6
- package/dist/index-C-J_tHdS.js.map +0 -1
- package/dist/index-C1qb0595.mjs +0 -28
- package/dist/index-C1qb0595.mjs.map +0 -1
- package/dist/index-C34GgsKQ.mjs +0 -54
- package/dist/index-C34GgsKQ.mjs.map +0 -1
- package/dist/index-CCKe-Mpx.mjs +0 -7
- package/dist/index-CCKe-Mpx.mjs.map +0 -1
- package/dist/index-CDBBjNXc.js +0 -2
- package/dist/index-CDBBjNXc.js.map +0 -1
- package/dist/index-CYjGhVvU.mjs +0 -243
- package/dist/index-CYjGhVvU.mjs.map +0 -1
- package/dist/index-ChLwd62c.js +0 -2
- package/dist/index-ChLwd62c.js.map +0 -1
- package/dist/index-Cjj_rUPu.js +0 -2
- package/dist/index-Cjj_rUPu.js.map +0 -1
- package/dist/index-CyMbLkj0.js +0 -2
- package/dist/index-CyMbLkj0.js.map +0 -1
- package/dist/index-DFZozV_h.mjs +0 -69
- package/dist/index-DFZozV_h.mjs.map +0 -1
- package/dist/index-DKuHkHFX.js +0 -2
- package/dist/index-DKuHkHFX.js.map +0 -1
- package/dist/index-DLHLIYPI.mjs +0 -16
- package/dist/index-DLHLIYPI.mjs.map +0 -1
- package/dist/index-DO-atGp-.js +0 -2
- package/dist/index-DO-atGp-.js.map +0 -1
- package/dist/index-DWlg8lkk.mjs +0 -179
- package/dist/index-DWlg8lkk.mjs.map +0 -1
- package/dist/index-DYxWvftI.js +0 -2
- package/dist/index-DYxWvftI.js.map +0 -1
- package/dist/index-D_lWkK39.mjs +0 -803
- package/dist/index-D_lWkK39.mjs.map +0 -1
- package/dist/index-DdkVj7D0.js +0 -18
- package/dist/index-DdkVj7D0.js.map +0 -1
- package/dist/index-De-6atSi.js +0 -2
- package/dist/index-De-6atSi.js.map +0 -1
- package/dist/index-DhGWNzsz.mjs +0 -83
- package/dist/index-DhGWNzsz.mjs.map +0 -1
- package/dist/index-Dkj4QRX8.js +0 -2
- package/dist/index-Dkj4QRX8.js.map +0 -1
- package/dist/index-DlIFg0Eu.mjs +0 -60
- package/dist/index-DlIFg0Eu.mjs.map +0 -1
- package/dist/index-DnaHaH_0.js +0 -2
- package/dist/index-DnaHaH_0.js.map +0 -1
- package/dist/index-MHF2-CYX.js +0 -2
- package/dist/index-MHF2-CYX.js.map +0 -1
- package/dist/index-MQ0c3ZX_.js +0 -2
- package/dist/index-MQ0c3ZX_.js.map +0 -1
- package/dist/index-MSR-vgWR.mjs +0 -37
- package/dist/index-MSR-vgWR.mjs.map +0 -1
- package/dist/index-VL0YEmOW.mjs +0 -125
- package/dist/index-VL0YEmOW.mjs.map +0 -1
- package/dist/index-tXqxYME3.js +0 -42
- package/dist/index-tXqxYME3.js.map +0 -1
- package/dist/inertValue-Bif5Sqs6.mjs +0 -522
- package/dist/inertValue-Bif5Sqs6.mjs.map +0 -1
- package/dist/inertValue-ShwihJSN.js +0 -5
- package/dist/inertValue-ShwihJSN.js.map +0 -1
- package/dist/input/Input.d.ts +0 -14
- package/dist/input/Input.styles.d.ts +0 -11
- package/dist/input/InputAddon.d.ts +0 -9
- package/dist/input/InputAddon.styles.d.ts +0 -9
- package/dist/input/InputClearButton.d.ts +0 -12
- package/dist/input/InputGroup.d.ts +0 -17
- package/dist/input/InputGroup.styles.d.ts +0 -6
- package/dist/input/InputGroupContext.d.ts +0 -14
- package/dist/input/InputIcon.d.ts +0 -6
- package/dist/input/InputLeadingAddon.d.ts +0 -11
- package/dist/input/InputLeadingIcon.d.ts +0 -7
- package/dist/input/InputTrailingAddon.d.ts +0 -11
- package/dist/input/InputTrailingIcon.d.ts +0 -7
- package/dist/input-otp/InputOTP.styles.d.ts +0 -10
- package/dist/input-otp/InputOTPContext.d.ts +0 -16
- package/dist/input-otp/InputOTPGroup.d.ts +0 -7
- package/dist/input-otp/InputOTPSeparator.d.ts +0 -7
- package/dist/input-otp/InputOTPSlot.d.ts +0 -12
- package/dist/input-otp/useInputOTP.d.ts +0 -45
- package/dist/kbd/Kbd.d.ts +0 -5
- package/dist/label/Label.d.ts +0 -9
- package/dist/label/LabelRequiredIndicator.d.ts +0 -6
- package/dist/link-box/LinkBox.d.ts +0 -8
- package/dist/link-box/LinkBoxLink.d.ts +0 -8
- package/dist/link-box/LinkBoxRaised.d.ts +0 -9
- package/dist/pagination/Pagination.d.ts +0 -8
- package/dist/pagination/PaginationContext.d.ts +0 -43
- package/dist/pagination/PaginationEllipsis.d.ts +0 -9
- package/dist/pagination/PaginationFirstPageTrigger.d.ts +0 -16
- package/dist/pagination/PaginationItem.d.ts +0 -17
- package/dist/pagination/PaginationLastPageTrigger.d.ts +0 -16
- package/dist/pagination/PaginationNextTrigger.d.ts +0 -16
- package/dist/pagination/PaginationPages.d.ts +0 -16
- package/dist/pagination/PaginationPrevTrigger.d.ts +0 -16
- package/dist/pagination/utils.d.ts +0 -1
- package/dist/popover/Popover.d.ts +0 -9
- package/dist/popover/PopoverAnchor.d.ts +0 -9
- package/dist/popover/PopoverArrow.d.ts +0 -9
- package/dist/popover/PopoverCloseButton.d.ts +0 -10
- package/dist/popover/PopoverContent.d.ts +0 -10
- package/dist/popover/PopoverContent.styles.d.ts +0 -9
- package/dist/popover/PopoverContext.d.ts +0 -15
- package/dist/popover/PopoverHeader.d.ts +0 -10
- package/dist/popover/PopoverPortal.d.ts +0 -7
- package/dist/popover/PopoverTrigger.d.ts +0 -9
- package/dist/progress/Progress.d.ts +0 -16
- package/dist/progress/ProgressBar.d.ts +0 -6
- package/dist/progress/ProgressBar.styles.d.ts +0 -5
- package/dist/progress/ProgressContext.d.ts +0 -13
- package/dist/progress/ProgressIndicator.d.ts +0 -6
- package/dist/progress/ProgressIndicator.styles.d.ts +0 -7
- package/dist/progress/ProgressLabel.d.ts +0 -6
- package/dist/progress-tracker/ProgressTracker.d.ts +0 -27
- package/dist/progress-tracker/ProgressTracker.styles.d.ts +0 -1
- package/dist/progress-tracker/ProgressTrackerContext.d.ts +0 -15
- package/dist/progress-tracker/ProgressTrackerStep.d.ts +0 -12
- package/dist/progress-tracker/ProgressTrackerStep.styles.d.ts +0 -10
- package/dist/progress-tracker/ProgressTrackerStepIndicator.d.ts +0 -15
- package/dist/progress-tracker/ProgressTrackerStepIndicator.styles.d.ts +0 -7
- package/dist/progress-tracker/ProgressTrackerStepLabel.d.ts +0 -9
- package/dist/radio-group/Radio.d.ts +0 -9
- package/dist/radio-group/RadioGroup.d.ts +0 -54
- package/dist/radio-group/RadioGroup.styles.d.ts +0 -5
- package/dist/radio-group/RadioGroupContext.d.ts +0 -5
- package/dist/radio-group/RadioGroupProvider.d.ts +0 -7
- package/dist/radio-group/RadioIndicator.d.ts +0 -18
- package/dist/radio-group/RadioIndicator.styles.d.ts +0 -5
- package/dist/radio-group/RadioInput.d.ts +0 -25
- package/dist/radio-group/RadioInput.styles.d.ts +0 -5
- package/dist/radio-group/RadioLabel.d.ts +0 -20
- package/dist/radio-group/RadioLabel.styles.d.ts +0 -5
- package/dist/rating/Rating.d.ts +0 -52
- package/dist/rating/RatingStar.d.ts +0 -10
- package/dist/rating/RatingStar.styles.d.ts +0 -14
- package/dist/rating/types.d.ts +0 -1
- package/dist/rating/utils.d.ts +0 -8
- package/dist/scrolling-list/ScrollingList.d.ts +0 -57
- package/dist/scrolling-list/ScrollingListControls.d.ts +0 -18
- package/dist/scrolling-list/ScrollingListItem.d.ts +0 -17
- package/dist/scrolling-list/ScrollingListItems.d.ts +0 -11
- package/dist/scrolling-list/ScrollingListNextButton.d.ts +0 -5
- package/dist/scrolling-list/ScrollingListPrevButton.d.ts +0 -5
- package/dist/scrolling-list/ScrollingListSkipButton.d.ts +0 -9
- package/dist/scrolling-list/useFocusWithinScroll.d.ts +0 -3
- package/dist/segmented-gauge/SegmentedGaugeContext.d.ts +0 -14
- package/dist/segmented-gauge/SegmentedGaugeLabel.d.ts +0 -9
- package/dist/segmented-gauge/SegmentedGaugeSegment.d.ts +0 -12
- package/dist/segmented-gauge/SegmentedGaugeTrack.d.ts +0 -8
- package/dist/select/Select.d.ts +0 -6
- package/dist/select/SelectContext.d.ts +0 -59
- package/dist/select/SelectGroup.d.ts +0 -11
- package/dist/select/SelectItem.d.ts +0 -11
- package/dist/select/SelectItems.d.ts +0 -10
- package/dist/select/SelectItemsGroupContext.d.ts +0 -9
- package/dist/select/SelectLabel.d.ts +0 -8
- package/dist/select/SelectLeadingIcon.d.ts +0 -7
- package/dist/select/SelectPlaceholder.d.ts +0 -10
- package/dist/select/SelectTrigger.d.ts +0 -16
- package/dist/select/SelectTrigger.styles.d.ts +0 -5
- package/dist/select/SelectValue.d.ts +0 -15
- package/dist/select/types.d.ts +0 -6
- package/dist/select/utils.d.ts +0 -4
- package/dist/skeleton/Skeleton.d.ts +0 -17
- package/dist/skeleton/Skeleton.styles.d.ts +0 -5
- package/dist/skeleton/SkeletonItem.d.ts +0 -31
- package/dist/skeleton/SkeletonItem.styles.d.ts +0 -8
- package/dist/slider/Slider.d.ts +0 -55
- package/dist/slider/Slider.styles.d.ts +0 -1
- package/dist/slider/SliderContext.d.ts +0 -4
- package/dist/slider/SliderThumb.d.ts +0 -14
- package/dist/slider/SliderThumb.styles.d.ts +0 -5
- package/dist/slider/SliderTrack.d.ts +0 -14
- package/dist/slider/SliderTrack.styles.d.ts +0 -9
- package/dist/slot/Slot.d.ts +0 -12
- package/dist/snackbar/Snackbar.d.ts +0 -29
- package/dist/snackbar/SnackbarItem.d.ts +0 -49
- package/dist/snackbar/SnackbarItem.styles.d.ts +0 -10
- package/dist/snackbar/SnackbarItemAction.d.ts +0 -10
- package/dist/snackbar/SnackbarItemClose.d.ts +0 -9
- package/dist/snackbar/SnackbarItemContext.d.ts +0 -8
- package/dist/snackbar/SnackbarItemIcon.d.ts +0 -7
- package/dist/snackbar/SnackbarRegion.d.ts +0 -30
- package/dist/snackbar/SnackbarRegion.styles.d.ts +0 -5
- package/dist/snackbar/snackbarVariants.d.ts +0 -82
- package/dist/snackbar/useSnackbarGlobalStore.d.ts +0 -18
- package/dist/snackbar/useSwipe.d.ts +0 -15
- package/dist/spinner/Spinner.d.ts +0 -9
- package/dist/spinner/Spinner.styles.d.ts +0 -7
- package/dist/stepper/Stepper.d.ts +0 -9
- package/dist/stepper/StepperButton.d.ts +0 -14
- package/dist/stepper/StepperInput.d.ts +0 -7
- package/dist/stepper/types.d.ts +0 -46
- package/dist/stepper/useStepper.d.ts +0 -2
- package/dist/switch/Switch.d.ts +0 -6
- package/dist/switch/SwitchInput.styles.d.ts +0 -16
- package/dist/switch/SwitchLabel.d.ts +0 -17
- package/dist/switch/SwitchLabel.styles.d.ts +0 -5
- package/dist/tabs/Tabs.d.ts +0 -24
- package/dist/tabs/TabsContent.d.ts +0 -22
- package/dist/tabs/TabsContent.styles.d.ts +0 -3
- package/dist/tabs/TabsContext.d.ts +0 -7
- package/dist/tabs/TabsList.d.ts +0 -20
- package/dist/tabs/TabsList.styles.d.ts +0 -3
- package/dist/tabs/TabsPopover.d.ts +0 -29
- package/dist/tabs/TabsPopoverAbstraction.d.ts +0 -27
- package/dist/tabs/TabsRoot.styles.d.ts +0 -1
- package/dist/tabs/TabsTrigger.d.ts +0 -41
- package/dist/tabs/TabsTrigger.styles.d.ts +0 -8
- package/dist/tabs/useResizeObserver.d.ts +0 -8
- package/dist/tag/Tag.d.ts +0 -17
- package/dist/tag/Tag.styles.d.ts +0 -8
- package/dist/tag/variants/filled.d.ts +0 -41
- package/dist/tag/variants/index.d.ts +0 -3
- package/dist/tag/variants/outlined.d.ts +0 -37
- package/dist/tag/variants/tinted.d.ts +0 -37
- package/dist/text-link/TextLink.d.ts +0 -16
- package/dist/textarea/Textarea.d.ts +0 -14
- package/dist/textarea/TextareaClearButton.d.ts +0 -10
- package/dist/textarea/TextareaGroup.d.ts +0 -6
- package/dist/textarea/TextareaLeadingIcon.d.ts +0 -7
- package/dist/textarea/TextareaTrailingIcon.d.ts +0 -7
- package/dist/toast/Toast.d.ts +0 -4
- package/dist/toast/Toast.styles.d.ts +0 -10
- package/dist/toast/types.d.ts +0 -41
- package/dist/toast/useRenderSlot.d.ts +0 -3
- package/dist/toast/useToastManager.d.ts +0 -2
- package/dist/useCollapsiblePanel-D1dCo0lf.js +0 -4
- package/dist/useCollapsiblePanel-D1dCo0lf.js.map +0 -1
- package/dist/useCollapsiblePanel-kbMNl4Z4.mjs +0 -287
- package/dist/useCollapsiblePanel-kbMNl4Z4.mjs.map +0 -1
- package/dist/useFocusWithin-CFNEka2I.js +0 -2
- package/dist/useFocusWithin-CFNEka2I.js.map +0 -1
- package/dist/useFocusWithin-CoL4390f.mjs +0 -796
- package/dist/useFocusWithin-CoL4390f.mjs.map +0 -1
- package/dist/useOpenChangeComplete-Dk-u_f2y.js +0 -2
- package/dist/useOpenChangeComplete-Dk-u_f2y.js.map +0 -1
- package/dist/useOpenChangeComplete-RUbg6RBw.mjs +0 -582
- package/dist/useOpenChangeComplete-RUbg6RBw.mjs.map +0 -1
- package/dist/useTransitionStatus-CktVVKxz.mjs +0 -46
- package/dist/useTransitionStatus-CktVVKxz.mjs.map +0 -1
- package/dist/useTransitionStatus-CqbEyvIj.js +0 -2
- package/dist/useTransitionStatus-CqbEyvIj.js.map +0 -1
- package/dist/visually-hidden/VisuallyHidden.d.ts +0 -12
package/dist/avatar/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/avatar/context.ts","../../src/avatar/Avatar.tsx","../../src/avatar/AvatarImage.tsx","../../src/avatar/AvatarAction.tsx","../../src/avatar/AvatarOnlineBadge.tsx","../../src/avatar/AvatarUser.tsx","../../src/avatar/AvatarPlaceholder.tsx","../../src/avatar/index.ts"],"sourcesContent":["import * as React from 'react'\nimport type { AvatarContextValue } from './types'\n\nconst AvatarContext = React.createContext<AvatarContextValue | undefined>(undefined)\n\nexport const useAvatarContext = () => {\n const context = React.useContext(AvatarContext)\n if (!context) {\n throw new Error('useAvatarContext must be used within an Avatar component')\n }\n return context\n}\n\nexport { AvatarContext }\n","import { cx } from 'class-variance-authority'\nimport * as React from 'react'\n\nimport { Slot } from '../slot'\nimport { AvatarContext } from './context'\nimport type { AvatarProps } from './types'\n\nconst sizeMap = {\n xs: 24,\n sm: 32,\n md: 40,\n lg: 56,\n xl: 64, // default\n '2xl': 96,\n}\n\nexport const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(\n (\n {\n className,\n size = 'xl',\n isOnline = false,\n onlineText,\n username,\n asChild,\n children,\n shape = 'circle',\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : 'div'\n const contextValue = React.useMemo(\n () => ({\n size,\n isOnline,\n onlineText,\n username,\n shape,\n pixelSize: sizeMap[size],\n }),\n [size, isOnline, username, shape, onlineText]\n )\n\n return (\n <AvatarContext.Provider value={contextValue}>\n <Comp\n ref={ref}\n style={{\n width: sizeMap[size],\n height: sizeMap[size],\n }}\n data-spark-component=\"avatar\"\n className={cx('relative inline-flex items-center justify-center', className)}\n {...props}\n >\n {children}\n </Comp>\n </AvatarContext.Provider>\n )\n }\n)\n\nAvatar.displayName = 'Avatar'\n","import { cx } from 'class-variance-authority'\nimport { useEffect, useState } from 'react'\n\nimport { Slot } from '../slot'\nimport { useAvatarContext } from './context'\n\nexport interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n asChild?: boolean\n}\n\nexport const AvatarImage = ({\n className,\n asChild,\n src,\n onLoad,\n onError,\n ...props\n}: AvatarImageProps) => {\n const { username, isOnline, onlineText } = useAvatarContext()\n const Comp = asChild ? Slot : 'img'\n\n const [isVisible, setIsVisible] = useState(false)\n\n const accessibleName = isOnline && onlineText ? `${username} (${onlineText})` : username\n\n // Reset visibility when src changes\n useEffect(() => {\n setIsVisible(false)\n }, [src])\n\n // Don't render the image if src is undefined or null\n if (!src) {\n return null\n }\n\n const handleLoad = (event: React.SyntheticEvent<HTMLImageElement, Event>) => {\n setIsVisible(true)\n onLoad?.(event)\n }\n\n const handleError = (event: React.SyntheticEvent<HTMLImageElement, Event>) => {\n setIsVisible(false)\n onError?.(event)\n }\n\n return (\n <Comp\n aria-hidden\n className={cx(\n 'absolute inset-0 size-full',\n 'object-cover',\n { 'transition-all duration-300 group-hover:scale-120': props.onClick },\n 'focus-visible:u-outline',\n isVisible ? 'block' : 'hidden',\n className\n )}\n alt={accessibleName}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n {...props}\n />\n )\n}\n\nAvatarImage.displayName = 'AvatarImage'\n","import { PenOutline } from '@spark-ui/icons/PenOutline'\nimport { cx } from 'class-variance-authority'\n\nimport { Icon } from '../icon'\nimport { IconButton } from '../icon-button'\nimport { Slot } from '../slot'\nimport { useAvatarContext } from './context'\n\nexport interface AvatarActionProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n asChild?: boolean\n angle?: number\n ariaLabel: string\n}\n\nexport const AvatarAction = ({\n className,\n children,\n asChild,\n angle = 135,\n ariaLabel,\n ...props\n}: AvatarActionProps) => {\n const Comp = asChild ? Slot : IconButton\n const { pixelSize, shape } = useAvatarContext()\n\n function getBadgePosition(circleSize: number) {\n const angleRad = ((90 - angle) * Math.PI) / 180\n const circleRadius = circleSize / 2\n\n return {\n x: circleRadius + circleRadius * Math.cos(angleRad),\n y: circleRadius - circleRadius * Math.sin(angleRad),\n }\n }\n\n const position = getBadgePosition(pixelSize)\n\n const isCustomElement = asChild\n\n return (\n <Comp\n data-spark-component=\"avatar-action\"\n style={{\n position: 'absolute',\n ...(shape === 'circle' ? { left: `${position.x}px`, top: `${position.y}px` } : {}),\n ...(shape === 'square' ? { right: '0px', bottom: '0px' } : {}),\n }}\n className={cx(\n 'z-raised',\n shape === 'circle'\n ? '-translate-x-1/2 -translate-y-1/2'\n : 'translate-x-1/4 translate-y-1/4',\n { 'shadow-sm': !isCustomElement },\n className\n )}\n aria-label={ariaLabel}\n title={ariaLabel}\n {...(!isCustomElement ? { size: 'sm', intent: 'support', design: 'contrast' } : {})}\n {...props}\n >\n {children || (\n <Icon size=\"sm\">\n <PenOutline />\n </Icon>\n )}\n </Comp>\n )\n}\n\nAvatarAction.displayName = 'AvatarAction'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef } from 'react'\n\nimport { useAvatarContext } from './context'\n\ninterface AvatarOnlineBadgeProps extends ComponentPropsWithoutRef<'div'> {\n angle?: number\n}\n\nexport const AvatarOnlineBadge = ({ angle = 135, ...props }: AvatarOnlineBadgeProps) => {\n const { isOnline, pixelSize, shape, onlineText, size } = useAvatarContext()\n\n if (!isOnline) return null\n\n function getBadgePosition(circleSize: number) {\n const angleRad = ((90 - angle) * Math.PI) / 180\n const circleRadius = circleSize / 2\n\n return {\n x: circleRadius + circleRadius * Math.cos(angleRad),\n y: circleRadius - circleRadius * Math.sin(angleRad),\n }\n }\n\n const badgePosition = getBadgePosition(pixelSize)\n\n return (\n <div\n data-spark-component=\"avatar-online-badge\"\n role=\"status\"\n aria-label={onlineText}\n style={{\n ...(shape === 'circle'\n ? { left: `${badgePosition.x}px`, top: `${badgePosition.y}px` }\n : { right: '0px', bottom: '0px' }),\n }}\n className={cx(\n 'bg-success outline-surface absolute rounded-full',\n shape === 'circle'\n ? '-translate-x-1/2 -translate-y-1/2'\n : 'translate-x-1/4 translate-y-1/4',\n ['lg', 'xl', '2xl'].includes(size) ? cx('size-sz-12 outline-4') : cx('size-sz-8 outline-2')\n )}\n {...props}\n />\n )\n}\n\nAvatarOnlineBadge.displayName = 'AvatarOnlineBadge'\n","import { cx } from 'class-variance-authority'\n\nimport { Slot } from '../slot'\nimport { useAvatarContext } from './context'\n\nexport interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLDivElement> {\n asChild?: boolean\n}\n\nexport const AvatarUser = ({ asChild, children, className, ...props }: AvatarImageProps) => {\n const { shape, isOnline, onlineText, username } = useAvatarContext()\n const Comp = asChild ? Slot : 'div'\n\n const accessibleName = isOnline && onlineText ? `${username} (${onlineText})` : username\n\n return (\n <Comp\n {...(!asChild && { role: 'img' })}\n aria-label={accessibleName}\n title={accessibleName}\n className={cx(\n 'group default:border-outline relative size-full overflow-hidden',\n 'focus-visible:u-outline',\n {\n 'default:rounded-full': shape === 'circle',\n 'default:rounded-md': shape === 'square',\n 'hover:opacity-dim-1 cursor-pointer': asChild || props.onClick,\n },\n className\n )}\n {...props}\n >\n {children}\n </Comp>\n )\n}\n\nAvatarUser.displayName = 'AvatarUser'\n","import { cx } from 'class-variance-authority'\n\nimport { useAvatarContext } from './context'\n\nexport interface AvatarPlaceholderProps extends React.ImgHTMLAttributes<HTMLDivElement> {\n className?: string\n children?: React.ReactNode\n}\n\nexport const AvatarPlaceholder = ({ className, children, ...props }: AvatarPlaceholderProps) => {\n const { size, username } = useAvatarContext()\n\n const firstLetter = username?.charAt(0)\n\n return (\n <div\n aria-hidden\n className={cx(\n 'absolute inset-0 flex size-full items-center justify-center',\n 'default:bg-neutral default:text-on-neutral',\n {\n 'text-display-1': size === '2xl',\n 'text-display-2': ['xl', 'lg'].includes(size),\n 'text-display-3': size === 'md',\n 'text-headline-2': size === 'sm',\n 'text-body-2 font-bold': size === 'xs',\n },\n className\n )}\n {...props}\n >\n {children || firstLetter}\n </div>\n )\n}\n\nAvatarPlaceholder.displayName = 'AvatarPlaceholder'\n","import { Avatar } from './Avatar'\nimport { AvatarImage } from './AvatarImage'\nimport { AvatarAction } from './AvatarAction'\nimport { AvatarOnlineBadge } from './AvatarOnlineBadge'\nimport { AvatarUser } from './AvatarUser'\nimport { AvatarPlaceholder } from './AvatarPlaceholder'\nimport type { AvatarProps } from './types'\n\nexport interface AvatarComponent\n extends React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>> {\n Image: typeof AvatarImage\n Action: typeof AvatarAction\n OnlineBadge: typeof AvatarOnlineBadge\n User: typeof AvatarUser\n Placeholder: typeof AvatarPlaceholder\n}\n\nconst AvatarComponent = Avatar as AvatarComponent\n\nAvatarComponent.Image = AvatarImage\nAvatarComponent.Action = AvatarAction\nAvatarComponent.OnlineBadge = AvatarOnlineBadge\nAvatarComponent.User = AvatarUser\nAvatarComponent.Placeholder = AvatarPlaceholder\nexport { AvatarComponent as Avatar }\n"],"names":["AvatarContext","React","useAvatarContext","context","sizeMap","Avatar","className","size","isOnline","onlineText","username","asChild","children","shape","props","ref","Comp","Slot","contextValue","jsx","cx","AvatarImage","src","onLoad","onError","isVisible","setIsVisible","useState","accessibleName","useEffect","handleLoad","event","handleError","AvatarAction","angle","ariaLabel","IconButton","pixelSize","getBadgePosition","circleSize","angleRad","circleRadius","position","isCustomElement","Icon","PenOutline","AvatarOnlineBadge","badgePosition","AvatarUser","AvatarPlaceholder","firstLetter","AvatarComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/avatar/index.ts","../../src/avatar/Avatar.tsx","../../src/slot/Slot.tsx","../../src/avatar/context.ts","../../src/avatar/AvatarImage.tsx","../../src/avatar/AvatarAction.tsx","../../src/icon/Icon.tsx","../../src/visually-hidden/VisuallyHidden.tsx","../../src/icon/Icon.styles.tsx","../../src/button/Button.tsx","../../src/spinner/Spinner.styles.tsx","../../src/spinner/Spinner.tsx","../../src/button/Button.styles.tsx","../../src/button/variants/filled.ts","../../src/button/variants/ghost.ts","../../src/button/variants/outlined.ts","../../src/button/variants/tinted.ts","../../src/button/variants/contrast.ts","../../src/icon-button/IconButton.styles.tsx","../../src/icon-button/IconButton.tsx","../../src/avatar/AvatarOnlineBadge.tsx","../../src/avatar/AvatarUser.tsx","../../src/avatar/AvatarPlaceholder.tsx"],"sourcesContent":["import { Avatar } from './Avatar'\nimport { AvatarImage } from './AvatarImage'\nimport { AvatarAction } from './AvatarAction'\nimport { AvatarOnlineBadge } from './AvatarOnlineBadge'\nimport { AvatarUser } from './AvatarUser'\nimport { AvatarPlaceholder } from './AvatarPlaceholder'\nimport type { AvatarProps } from './types'\n\nexport interface AvatarComponent\n extends React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>> {\n Image: typeof AvatarImage\n Action: typeof AvatarAction\n OnlineBadge: typeof AvatarOnlineBadge\n User: typeof AvatarUser\n Placeholder: typeof AvatarPlaceholder\n}\n\nconst AvatarComponent = Avatar as AvatarComponent\n\nAvatarComponent.Image = AvatarImage\nAvatarComponent.Action = AvatarAction\nAvatarComponent.OnlineBadge = AvatarOnlineBadge\nAvatarComponent.User = AvatarUser\nAvatarComponent.Placeholder = AvatarPlaceholder\nexport { AvatarComponent as Avatar }\n","import { cx } from 'class-variance-authority'\nimport * as React from 'react'\n\nimport { Slot } from '../slot'\nimport { AvatarContext } from './context'\nimport type { AvatarProps } from './types'\n\nconst sizeMap = {\n xs: 24,\n sm: 32,\n md: 40,\n lg: 56,\n xl: 64, // default\n '2xl': 96,\n}\n\nexport const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(\n (\n {\n className,\n size = 'xl',\n isOnline = false,\n onlineText,\n username,\n asChild,\n children,\n shape = 'circle',\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : 'div'\n const contextValue = React.useMemo(\n () => ({\n size,\n isOnline,\n onlineText,\n username,\n shape,\n pixelSize: sizeMap[size],\n }),\n [size, isOnline, username, shape, onlineText]\n )\n\n return (\n <AvatarContext.Provider value={contextValue}>\n <Comp\n ref={ref}\n style={{\n width: sizeMap[size],\n height: sizeMap[size],\n }}\n data-spark-component=\"avatar\"\n className={cx('relative inline-flex items-center justify-center', className)}\n {...props}\n >\n {children}\n </Comp>\n </AvatarContext.Provider>\n )\n }\n)\n\nAvatar.displayName = 'Avatar'\n","import { Slot as RadixSlot } from 'radix-ui'\nimport {\n cloneElement,\n HTMLAttributes,\n isValidElement,\n PropsWithChildren,\n ReactNode,\n Ref,\n} from 'react'\n\nexport const Slottable: typeof RadixSlot.Slottable = RadixSlot.Slottable\n\nexport type SlotProps = PropsWithChildren<HTMLAttributes<HTMLElement>> & {\n ref?: Ref<HTMLElement>\n}\n\nexport const Slot = ({ ref, ...props }: SlotProps) => {\n return <RadixSlot.Root ref={ref} {...props} />\n}\n\n/**\n * When using Radix `Slot` component, it will consider its first child to merge its props with.\n * In some cases, you might need to wrap the top child with additional markup without breaking this behaviour.\n */\nexport const wrapPolymorphicSlot = (\n asChild: boolean | undefined,\n children: ReactNode,\n callback: (children: ReactNode) => ReactNode\n) => {\n if (!asChild) return callback(children) // If polymorphic behaviour is not used, we keep the original children\n\n return isValidElement(children)\n ? cloneElement(\n children,\n undefined,\n callback((children.props as { children: ReactNode }).children)\n )\n : null\n}\n","import * as React from 'react'\nimport type { AvatarContextValue } from './types'\n\nconst AvatarContext = React.createContext<AvatarContextValue | undefined>(undefined)\n\nexport const useAvatarContext = () => {\n const context = React.useContext(AvatarContext)\n if (!context) {\n throw new Error('useAvatarContext must be used within an Avatar component')\n }\n return context\n}\n\nexport { AvatarContext }\n","import { cx } from 'class-variance-authority'\nimport { useEffect, useState } from 'react'\n\nimport { Slot } from '../slot'\nimport { useAvatarContext } from './context'\n\nexport interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n asChild?: boolean\n}\n\nexport const AvatarImage = ({\n className,\n asChild,\n src,\n onLoad,\n onError,\n ...props\n}: AvatarImageProps) => {\n const { username, isOnline, onlineText } = useAvatarContext()\n const Comp = asChild ? Slot : 'img'\n\n const [isVisible, setIsVisible] = useState(false)\n\n const accessibleName = isOnline && onlineText ? `${username} (${onlineText})` : username\n\n // Reset visibility when src changes\n useEffect(() => {\n setIsVisible(false)\n }, [src])\n\n // Don't render the image if src is undefined or null\n if (!src) {\n return null\n }\n\n const handleLoad = (event: React.SyntheticEvent<HTMLImageElement, Event>) => {\n setIsVisible(true)\n onLoad?.(event)\n }\n\n const handleError = (event: React.SyntheticEvent<HTMLImageElement, Event>) => {\n setIsVisible(false)\n onError?.(event)\n }\n\n return (\n <Comp\n aria-hidden\n className={cx(\n 'absolute inset-0 size-full',\n 'object-cover',\n { 'transition-all duration-300 group-hover:scale-120': props.onClick },\n 'focus-visible:u-outline',\n isVisible ? 'block' : 'hidden',\n className\n )}\n alt={accessibleName}\n src={src}\n onLoad={handleLoad}\n onError={handleError}\n {...props}\n />\n )\n}\n\nAvatarImage.displayName = 'AvatarImage'\n","import { PenOutline } from '@spark-ui/icons/PenOutline'\nimport { cx } from 'class-variance-authority'\n\nimport { Icon } from '../icon'\nimport { IconButton } from '../icon-button'\nimport { Slot } from '../slot'\nimport { useAvatarContext } from './context'\n\nexport interface AvatarActionProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n asChild?: boolean\n angle?: number\n ariaLabel: string\n}\n\nexport const AvatarAction = ({\n className,\n children,\n asChild,\n angle = 135,\n ariaLabel,\n ...props\n}: AvatarActionProps) => {\n const Comp = asChild ? Slot : IconButton\n const { pixelSize, shape } = useAvatarContext()\n\n function getBadgePosition(circleSize: number) {\n const angleRad = ((90 - angle) * Math.PI) / 180\n const circleRadius = circleSize / 2\n\n return {\n x: circleRadius + circleRadius * Math.cos(angleRad),\n y: circleRadius - circleRadius * Math.sin(angleRad),\n }\n }\n\n const position = getBadgePosition(pixelSize)\n\n const isCustomElement = asChild\n\n return (\n <Comp\n data-spark-component=\"avatar-action\"\n style={{\n position: 'absolute',\n ...(shape === 'circle' ? { left: `${position.x}px`, top: `${position.y}px` } : {}),\n ...(shape === 'square' ? { right: '0px', bottom: '0px' } : {}),\n }}\n className={cx(\n 'z-raised',\n shape === 'circle'\n ? '-translate-x-1/2 -translate-y-1/2'\n : 'translate-x-1/4 translate-y-1/4',\n { 'shadow-sm': !isCustomElement },\n className\n )}\n aria-label={ariaLabel}\n title={ariaLabel}\n {...(!isCustomElement ? { size: 'sm', intent: 'support', design: 'contrast' } : {})}\n {...props}\n >\n {children || (\n <Icon size=\"sm\">\n <PenOutline />\n </Icon>\n )}\n </Comp>\n )\n}\n\nAvatarAction.displayName = 'AvatarAction'\n","import { Children, cloneElement, ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react'\n\nimport { VisuallyHidden } from '../visually-hidden'\nimport { iconStyles, IconVariantsProps } from './Icon.styles'\n\nexport interface IconProps extends IconVariantsProps, ComponentPropsWithoutRef<'svg'> {\n /**\n * The svg icon that will be wrapped\n */\n children: ReactNode\n /**\n * The accessible label for the icon. This label will be visually hidden but announced to screen\n * reader users, similar to `alt` text for `img` tags.\n */\n label?: string\n}\n\nexport const Icon = ({\n label,\n className,\n size = 'current',\n intent = 'current',\n children,\n ...others\n}: IconProps) => {\n const child = Children.only(children)\n\n return (\n <>\n {cloneElement(child as ReactElement<Record<string, any>>, {\n className: iconStyles({ className, size, intent }),\n 'data-spark-component': 'icon',\n 'aria-hidden': 'true',\n focusable: 'false',\n ...others,\n })}\n\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n </>\n )\n}\n\nIcon.displayName = 'Icon'\n","import { HTMLAttributes, PropsWithChildren, Ref } from 'react'\n\nimport { Slot } from '../slot'\n\nexport type VisuallyHiddenProps = PropsWithChildren<HTMLAttributes<HTMLElement>> & {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n ref?: Ref<HTMLElement>\n}\n\nexport const VisuallyHidden = ({ asChild = false, ref, ...props }: VisuallyHiddenProps) => {\n const Component = asChild ? Slot : 'span'\n\n return (\n <Component\n {...props}\n ref={ref}\n style={{\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: 'absolute',\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n wordWrap: 'normal',\n ...props.style,\n }}\n />\n )\n}\n\nVisuallyHidden.displayName = 'VisuallyHidden'\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const iconStyles = cva(['fill-current shrink-0'], {\n variants: {\n /**\n * Color scheme of the icon.\n */\n intent: makeVariants<\n 'intent',\n [\n 'current',\n 'main',\n 'support',\n 'accent',\n 'basic',\n 'success',\n 'alert',\n 'error',\n 'info',\n 'neutral',\n ]\n >({\n current: ['text-current'],\n main: ['text-main'],\n support: ['text-support'],\n accent: ['text-accent'],\n basic: ['text-basic'],\n success: ['text-success'],\n alert: ['text-alert'],\n error: ['text-error'],\n info: ['text-info'],\n neutral: ['text-neutral'],\n }),\n /**\n * Sets the size of the icon.\n */\n size: makeVariants<'size', ['current', 'sm', 'md', 'lg', 'xl']>({\n current: ['u-current-font-size'],\n sm: ['w-sz-16', 'h-sz-16'],\n md: ['w-sz-24', 'h-sz-24'],\n lg: ['w-sz-32', 'h-sz-32'],\n xl: ['w-sz-40', 'h-sz-40'],\n }),\n },\n})\n\nexport type IconVariantsProps = VariantProps<typeof iconStyles>\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, type DOMAttributes, Ref, useMemo } from 'react'\n\nimport { Slot, wrapPolymorphicSlot } from '../slot'\nimport { Spinner, type SpinnerProps } from '../spinner'\nimport { buttonStyles, type ButtonStylesProps } from './Button.styles'\n\nexport interface ButtonProps\n extends Omit<ComponentPropsWithoutRef<'button'>, 'disabled'>,\n ButtonStylesProps {\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n /**\n * Display a spinner to indicate to the user that the button is loading something after they interacted with it.\n */\n isLoading?: boolean\n /**\n * If your loading state should only display a spinner, it's better to specify a label for it (a11y).\n */\n loadingLabel?: string\n /**\n * If your loading state should also display a label, you can use this prop instead of `loadingLabel`.\n * **Please note that using this can result in layout shifting when the Button goes from loading state to normal state.**\n */\n loadingText?: string\n ref?: Ref<HTMLButtonElement>\n}\n\ntype DOMAttributesEventHandler = keyof Omit<\n DOMAttributes<HTMLButtonElement>,\n 'children' | 'dangerouslySetInnerHTML'\n>\n\nconst blockedEventHandlers: DOMAttributesEventHandler[] = [\n 'onClick',\n 'onMouseDown',\n 'onMouseUp',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseOver',\n 'onMouseOut',\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n 'onSubmit',\n]\n\nexport const Button = ({\n children,\n design = 'filled',\n disabled = false,\n intent = 'main',\n isLoading = false,\n loadingLabel,\n loadingText,\n shape = 'rounded',\n size = 'md',\n asChild,\n className,\n underline = false,\n ref,\n ...others\n}: ButtonProps) => {\n const Component = asChild ? Slot : 'button'\n\n const shouldNotInteract = !!disabled || isLoading\n\n const disabledEventHandlers = useMemo(() => {\n const result: Partial<Record<DOMAttributesEventHandler, () => void>> = {}\n\n if (shouldNotInteract) {\n blockedEventHandlers.forEach(eventHandler => (result[eventHandler] = undefined))\n }\n\n return result\n }, [shouldNotInteract])\n\n const spinnerProps = {\n size: 'current' as SpinnerProps['size'],\n className: loadingText ? 'inline-block' : 'absolute',\n ...(loadingLabel && { 'aria-label': loadingLabel }),\n }\n\n return (\n <Component\n data-spark-component=\"button\"\n {...(Component === 'button' && { type: 'button' })}\n ref={ref}\n className={buttonStyles({\n className,\n design,\n disabled: shouldNotInteract,\n intent,\n shape,\n size,\n underline,\n })}\n disabled={!!disabled}\n aria-busy={isLoading}\n aria-live={isLoading ? 'assertive' : 'off'}\n {...others}\n {...disabledEventHandlers}\n >\n {wrapPolymorphicSlot(asChild, children, slotted =>\n isLoading ? (\n <>\n <Spinner {...spinnerProps} />\n {loadingText && loadingText}\n\n <div\n aria-hidden\n className={cx('gap-md', loadingText ? 'hidden' : 'inline-flex opacity-0')}\n >\n {slotted}\n </div>\n </>\n ) : (\n slotted\n )\n )}\n </Component>\n )\n}\n\nButton.displayName = 'Button'\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nconst defaultVariants = {\n intent: 'current',\n size: 'current',\n isBackgroundVisible: false,\n} as const\n\nexport const spinnerStyles = cva(\n ['inline-block', 'border-solid', 'rounded-full', 'border-md', 'animate-spin'],\n {\n variants: {\n /**\n * Use `size` prop to set the size of the spinner. If you want to set the full size for the spinner, don't forget to add a wrapping container with its own size.\n */\n size: {\n current: ['u-current-font-size'],\n sm: ['w-sz-20', 'h-sz-20'],\n md: ['w-sz-28', 'h-sz-28'],\n full: ['w-full', 'h-full'],\n },\n /**\n * Color scheme of the spinner.\n */\n intent: makeVariants<\n 'intent',\n [\n 'current',\n 'main',\n 'support',\n 'accent',\n 'basic',\n 'success',\n 'alert',\n 'error',\n 'info',\n 'neutral',\n ]\n >({\n current: ['border-current'],\n main: ['border-main'],\n support: ['border-support'],\n accent: ['border-accent'],\n basic: ['border-basic'],\n success: ['border-success'],\n alert: ['border-alert'],\n error: ['border-error'],\n info: ['border-info'],\n neutral: ['border-neutral'],\n }),\n /**\n * Size of the button.\n */\n isBackgroundVisible: {\n true: ['border-b-neutral-container', 'border-l-neutral-container'],\n false: ['border-b-transparent', 'border-l-transparent'],\n },\n },\n defaultVariants,\n }\n)\n\nexport type SpinnerStylesProps = VariantProps<typeof spinnerStyles>\n","import { ComponentPropsWithRef, PropsWithChildren } from 'react'\n\nimport { VisuallyHidden } from '../visually-hidden'\nimport { spinnerStyles, SpinnerStylesProps } from './Spinner.styles'\n\nexport interface SpinnerProps extends ComponentPropsWithRef<'div'>, SpinnerStylesProps {\n /**\n * Use `label` prop for accessibility, it is important to add a fallback loading text. This text will be visible to screen readers.\n */\n label?: string\n}\n\nexport const Spinner = ({\n className,\n size = 'current',\n intent = 'current',\n label,\n isBackgroundVisible,\n ref,\n ...others\n}: PropsWithChildren<SpinnerProps>) => {\n return (\n <span\n role=\"status\"\n data-spark-component=\"spinner\"\n ref={ref}\n className={spinnerStyles({ className, size, intent, isBackgroundVisible })}\n {...others}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n </span>\n )\n}\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nimport {\n contrastVariants,\n filledVariants,\n ghostVariants,\n outlinedVariants,\n tintedVariants,\n} from './variants'\n\nexport const buttonStyles = cva(\n [\n 'u-shadow-border-transition',\n 'box-border inline-flex items-center justify-center gap-md whitespace-nowrap',\n 'default:px-lg',\n 'text-body-1 font-bold',\n 'focus-visible:u-outline',\n ],\n {\n variants: {\n /**\n * Main style of the button.\n *\n * - `filled`: Button will be plain.\n *\n * - `outlined`: Button will be transparent with an outline.\n *\n * - `tinted`: Button will be filled but using a lighter color scheme.\n *\n * - `ghost`: Button will look like a link. No borders, plain text.\n *\n * - `contrast`: Button will be surface filled. No borders, plain text.\n *\n */\n design: makeVariants<'design', ['filled', 'outlined', 'tinted', 'ghost', 'contrast']>({\n filled: [],\n outlined: ['bg-transparent', 'border-sm', 'border-current'],\n tinted: [],\n ghost: ['default:-mx-md px-md hover:bg-main/dim-5'],\n contrast: [],\n }),\n underline: {\n true: ['underline'],\n },\n /**\n * Color scheme of the button.\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'accent',\n 'basic',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n 'surfaceInverse',\n ]\n >({\n main: [],\n support: [],\n accent: [],\n basic: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n surfaceInverse: [],\n }),\n /**\n * Size of the button.\n */\n size: makeVariants<'size', ['sm', 'md', 'lg']>({\n sm: ['min-w-sz-32', 'h-sz-32'],\n md: ['min-w-sz-44', 'h-sz-44'],\n lg: ['min-w-sz-56', 'h-sz-56'],\n }),\n /**\n * Shape of the button.\n */\n shape: makeVariants<'shape', ['rounded', 'square', 'pill']>({\n rounded: ['rounded-lg'],\n square: ['rounded-0'],\n pill: ['rounded-full'],\n }),\n /**\n * Disable the button, preventing user interaction and adding opacity.\n */\n disabled: {\n true: ['cursor-not-allowed', 'opacity-dim-3'],\n false: ['cursor-pointer'],\n },\n },\n compoundVariants: [\n ...filledVariants,\n ...outlinedVariants,\n ...tintedVariants,\n ...ghostVariants,\n ...contrastVariants,\n ],\n defaultVariants: {\n design: 'filled',\n intent: 'main',\n size: 'md',\n shape: 'rounded',\n },\n }\n)\n\nexport type ButtonStylesProps = VariantProps<typeof buttonStyles>\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const filledVariants = [\n // Main\n {\n intent: 'main',\n design: 'filled',\n class: tw([\n 'bg-main',\n 'text-on-main',\n 'hover:bg-main-hovered',\n 'enabled:active:bg-main-hovered',\n 'focus-visible:bg-main-hovered',\n ]),\n },\n // Support\n {\n intent: 'support',\n design: 'filled',\n class: tw([\n 'bg-support',\n 'text-on-support',\n 'hover:bg-support-hovered',\n 'enabled:active:bg-support-hovered',\n 'focus-visible:bg-support-hovered',\n ]),\n },\n // Accent\n {\n intent: 'accent',\n design: 'filled',\n class: tw([\n 'bg-accent',\n 'text-on-accent',\n 'hover:bg-accent-hovered',\n 'enabled:active:bg-accent-hovered',\n 'focus-visible:bg-accent-hovered',\n ]),\n },\n // Basic\n {\n intent: 'basic',\n design: 'filled',\n class: tw([\n 'bg-basic',\n 'text-on-basic',\n 'hover:bg-basic-hovered',\n 'enabled:active:bg-basic-hovered',\n 'focus-visible:bg-basic-hovered',\n ]),\n },\n // Success\n {\n intent: 'success',\n design: 'filled',\n class: tw([\n 'bg-success',\n 'text-on-success',\n 'hover:bg-success-hovered',\n 'enabled:active:bg-success-hovered',\n 'focus-visible:bg-success-hovered',\n ]),\n },\n // Alert\n {\n intent: 'alert',\n design: 'filled',\n class: tw([\n 'bg-alert',\n 'text-on-alert',\n 'hover:bg-alert-hovered',\n 'enabled:active:bg-alert-hovered',\n 'focus-visible:bg-alert-hovered',\n ]),\n },\n // Danger\n {\n intent: 'danger',\n design: 'filled',\n class: tw([\n 'text-on-error bg-error',\n 'hover:bg-error-hovered enabled:active:bg-error-hovered',\n 'focus-visible:bg-error-hovered',\n ]),\n },\n // Info\n {\n intent: 'info',\n design: 'filled',\n class: tw([\n 'text-on-error bg-info',\n 'hover:bg-info-hovered enabled:active:bg-info-hovered',\n 'focus-visible:bg-info-hovered',\n ]),\n },\n // Neutral\n {\n intent: 'neutral',\n design: 'filled',\n class: tw([\n 'bg-neutral',\n 'text-on-neutral',\n 'hover:bg-neutral-hovered',\n 'enabled:active:bg-neutral-hovered',\n 'focus-visible:bg-neutral-hovered',\n ]),\n },\n // Surface\n {\n intent: 'surface',\n design: 'filled',\n class: tw([\n 'bg-surface',\n 'text-on-surface',\n 'hover:bg-surface-hovered',\n 'enabled:active:bg-surface-hovered',\n 'focus-visible:bg-surface-hovered',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'filled',\n class: tw([\n 'bg-surface-inverse',\n 'text-on-surface-inverse',\n 'hover:bg-surface-inverse-hovered',\n 'enabled:active:bg-surface-inverse-hovered',\n 'focus-visible:bg-surface-inverse-hovered',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const ghostVariants = [\n {\n intent: 'main',\n design: 'ghost',\n class: tw([\n 'text-on-main-container',\n 'hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n ]),\n },\n {\n intent: 'support',\n design: 'ghost',\n class: tw([\n 'text-on-support-container',\n 'hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n ]),\n },\n {\n intent: 'accent',\n design: 'ghost',\n class: tw([\n 'text-on-accent-container',\n 'hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n ]),\n },\n {\n intent: 'basic',\n design: 'ghost',\n class: tw([\n 'text-on-basic-container',\n 'hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n ]),\n },\n {\n intent: 'success',\n design: 'ghost',\n class: tw([\n 'text-on-success-container',\n 'hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n ]),\n },\n {\n intent: 'alert',\n design: 'ghost',\n class: tw([\n 'text-on-alert-container',\n 'hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n ]),\n },\n {\n intent: 'danger',\n design: 'ghost',\n class: tw([\n 'text-on-error-container',\n 'hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n ]),\n },\n {\n intent: 'info',\n design: 'ghost',\n class: tw([\n 'text-on-info-container',\n 'hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n ]),\n },\n {\n intent: 'neutral',\n design: 'ghost',\n class: tw([\n 'text-on-neutral-container',\n 'hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n ]),\n },\n {\n intent: 'surface',\n design: 'ghost',\n class: tw([\n 'text-surface',\n 'hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'ghost',\n class: tw([\n 'text-surface-inverse',\n 'hover:bg-surface-inverse/dim-5',\n 'enabled:active:bg-surface-inverse/dim-5',\n 'focus-visible:bg-surface-inverse/dim-5',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const outlinedVariants = [\n {\n intent: 'main',\n design: 'outlined',\n class: tw([\n 'hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'text-main',\n ]),\n },\n {\n intent: 'support',\n design: 'outlined',\n class: tw([\n 'hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'text-support',\n ]),\n },\n {\n intent: 'accent',\n design: 'outlined',\n class: tw([\n 'hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'text-accent',\n ]),\n },\n {\n intent: 'basic',\n design: 'outlined',\n class: tw([\n 'hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'text-basic',\n ]),\n },\n {\n intent: 'success',\n design: 'outlined',\n class: tw([\n 'hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'outlined',\n class: tw([\n 'hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'text-alert',\n ]),\n },\n {\n intent: 'danger',\n design: 'outlined',\n class: tw([\n 'hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'text-error',\n ]),\n },\n {\n intent: 'info',\n design: 'outlined',\n class: tw([\n 'hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'text-info',\n ]),\n },\n {\n intent: 'neutral',\n design: 'outlined',\n class: tw([\n 'hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'text-neutral',\n ]),\n },\n {\n intent: 'surface',\n design: 'outlined',\n class: tw([\n 'hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'text-surface',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'outlined',\n class: tw([\n 'hover:bg-surface-inverse/dim-5',\n 'enabled:active:bg-surface-inverse/dim-5',\n 'focus-visible:bg-surface-inverse/dim-5',\n 'text-surface-inverse',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const tintedVariants = [\n {\n intent: 'main',\n design: 'tinted',\n class: tw([\n 'bg-main-container',\n 'text-on-main-container',\n 'hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n ]),\n },\n {\n intent: 'support',\n design: 'tinted',\n class: tw([\n 'bg-support-container',\n 'text-on-support-container',\n 'hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n ]),\n },\n {\n intent: 'accent',\n design: 'tinted',\n class: tw([\n 'bg-accent-container',\n 'text-on-accent-container',\n 'hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n ]),\n },\n {\n intent: 'basic',\n design: 'tinted',\n class: tw([\n 'bg-basic-container',\n 'text-on-basic-container',\n 'hover:bg-basic-container-hovered',\n 'enabled:active:bg-basic-container-hovered',\n 'focus-visible:bg-basic-container-hovered',\n ]),\n },\n {\n intent: 'success',\n design: 'tinted',\n class: tw([\n 'bg-success-container',\n 'text-on-success-container',\n 'hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n ]),\n },\n {\n intent: 'alert',\n design: 'tinted',\n class: tw([\n 'bg-alert-container',\n 'text-on-alert-container',\n 'hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n ]),\n },\n {\n intent: 'danger',\n design: 'tinted',\n class: tw([\n 'bg-error-container',\n 'text-on-error-container',\n 'hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n ]),\n },\n {\n intent: 'info',\n design: 'tinted',\n class: tw([\n 'bg-info-container',\n 'text-on-info-container',\n 'hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n ]),\n },\n {\n intent: 'neutral',\n design: 'tinted',\n class: tw([\n 'bg-neutral-container',\n 'text-on-neutral-container',\n 'hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n ]),\n },\n {\n intent: 'surface',\n design: 'tinted',\n class: tw([\n 'bg-surface',\n 'text-on-surface',\n 'hover:bg-surface-hovered',\n 'enabled:active:bg-surface-hovered',\n 'focus-visible:bg-surface-hovered',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'tinted',\n class: tw([\n 'bg-surface-inverse',\n 'text-on-surface-inverse',\n 'hover:bg-surface-inverse-hovered',\n 'enabled:active:bg-surface-inverse-hovered',\n 'focus-visible:bg-surface-inverse-hovered',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const contrastVariants = [\n {\n intent: 'main',\n design: 'contrast',\n class: tw([\n 'text-on-main-contaier bg-surface',\n 'hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n ]),\n },\n {\n intent: 'support',\n design: 'contrast',\n class: tw([\n 'text-on-support-container bg-surface',\n 'hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n ]),\n },\n {\n intent: 'accent',\n design: 'contrast',\n class: tw([\n 'text-on-accent-container bg-surface',\n 'hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n ]),\n },\n {\n intent: 'basic',\n design: 'contrast',\n class: tw([\n 'text-on-basic-container bg-surface',\n 'hover:bg-basic-container-hovered',\n 'enabled:active:bg-basic-container-hovered',\n 'focus-visible:bg-basic-container-hovered',\n ]),\n },\n {\n intent: 'success',\n design: 'contrast',\n class: tw([\n 'text-on-success-container bg-surface',\n 'hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n ]),\n },\n {\n intent: 'alert',\n design: 'contrast',\n class: tw([\n 'text-on-alert-container bg-surface',\n 'hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n ]),\n },\n {\n intent: 'danger',\n design: 'contrast',\n class: tw([\n 'text-on-error-container bg-surface',\n 'hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n ]),\n },\n {\n intent: 'info',\n design: 'contrast',\n class: tw([\n 'text-on-info-container bg-surface',\n 'hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n ]),\n },\n {\n intent: 'neutral',\n design: 'contrast',\n class: tw([\n 'text-on-neutral-container bg-surface',\n 'hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n ]),\n },\n {\n intent: 'surface',\n design: 'contrast',\n class: tw([\n 'text-on-surface bg-surface',\n 'hover:bg-surface-hovered',\n 'enabled:active:bg-surface-hovered',\n 'focus-visible:bg-surface-hovered',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'contrast',\n class: tw([\n 'text-on-surface-inverse bg-surface-inverse',\n 'hover:bg-surface-inverse-hovered',\n 'enabled:active:bg-surface-inverse-hovered',\n 'focus-visible:bg-surface-inverse-hovered',\n ]),\n },\n] as const\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\n// override the Button component's px-lg padding by using a more specific class selector (pl-0 pr-0)\nexport const iconButtonStyles = cva(['pl-0 pr-0'], {\n variants: {\n /**\n * Sets the size of the icon.\n */\n size: makeVariants<'size', ['sm', 'md', 'lg']>({\n sm: ['text-body-1'],\n md: ['text-body-1'],\n lg: ['text-display-3'],\n }),\n },\n})\n\nexport type IconButtonStylesProps = VariantProps<typeof iconButtonStyles>\n","import { Ref } from 'react'\n\nimport { Button, ButtonProps } from '../button'\nimport { iconButtonStyles } from './IconButton.styles'\n\nexport interface IconButtonProps extends Omit<ButtonProps, 'loadingText'> {\n 'aria-label': string\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const IconButton = ({\n design = 'filled',\n disabled = false,\n intent = 'main',\n shape = 'rounded',\n size = 'md',\n className,\n ref,\n ...others\n}: IconButtonProps) => {\n return (\n <Button\n data-spark-component=\"icon-button\"\n ref={ref}\n className={iconButtonStyles({ size, className })}\n design={design}\n disabled={disabled}\n intent={intent}\n shape={shape}\n size={size}\n {...others}\n />\n )\n}\n\nIconButton.displayName = 'IconButton'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef } from 'react'\n\nimport { useAvatarContext } from './context'\n\ninterface AvatarOnlineBadgeProps extends ComponentPropsWithoutRef<'div'> {\n angle?: number\n}\n\nexport const AvatarOnlineBadge = ({ angle = 135, ...props }: AvatarOnlineBadgeProps) => {\n const { isOnline, pixelSize, shape, onlineText, size } = useAvatarContext()\n\n if (!isOnline) return null\n\n function getBadgePosition(circleSize: number) {\n const angleRad = ((90 - angle) * Math.PI) / 180\n const circleRadius = circleSize / 2\n\n return {\n x: circleRadius + circleRadius * Math.cos(angleRad),\n y: circleRadius - circleRadius * Math.sin(angleRad),\n }\n }\n\n const badgePosition = getBadgePosition(pixelSize)\n\n return (\n <div\n data-spark-component=\"avatar-online-badge\"\n role=\"status\"\n aria-label={onlineText}\n style={{\n ...(shape === 'circle'\n ? { left: `${badgePosition.x}px`, top: `${badgePosition.y}px` }\n : { right: '0px', bottom: '0px' }),\n }}\n className={cx(\n 'bg-success outline-surface absolute rounded-full',\n shape === 'circle'\n ? '-translate-x-1/2 -translate-y-1/2'\n : 'translate-x-1/4 translate-y-1/4',\n ['lg', 'xl', '2xl'].includes(size) ? cx('size-sz-12 outline-4') : cx('size-sz-8 outline-2')\n )}\n {...props}\n />\n )\n}\n\nAvatarOnlineBadge.displayName = 'AvatarOnlineBadge'\n","import { cx } from 'class-variance-authority'\n\nimport { Slot } from '../slot'\nimport { useAvatarContext } from './context'\n\nexport interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLDivElement> {\n asChild?: boolean\n}\n\nexport const AvatarUser = ({ asChild, children, className, ...props }: AvatarImageProps) => {\n const { shape, isOnline, onlineText, username } = useAvatarContext()\n const Comp = asChild ? Slot : 'div'\n\n const accessibleName = isOnline && onlineText ? `${username} (${onlineText})` : username\n\n return (\n <Comp\n {...(!asChild && { role: 'img' })}\n aria-label={accessibleName}\n title={accessibleName}\n className={cx(\n 'group default:border-outline relative size-full overflow-hidden',\n 'focus-visible:u-outline',\n {\n 'default:rounded-full': shape === 'circle',\n 'default:rounded-md': shape === 'square',\n 'hover:opacity-dim-1 cursor-pointer': asChild || props.onClick,\n },\n className\n )}\n {...props}\n >\n {children}\n </Comp>\n )\n}\n\nAvatarUser.displayName = 'AvatarUser'\n","import { cx } from 'class-variance-authority'\n\nimport { useAvatarContext } from './context'\n\nexport interface AvatarPlaceholderProps extends React.ImgHTMLAttributes<HTMLDivElement> {\n className?: string\n children?: React.ReactNode\n}\n\nexport const AvatarPlaceholder = ({ className, children, ...props }: AvatarPlaceholderProps) => {\n const { size, username } = useAvatarContext()\n\n const firstLetter = username?.charAt(0)\n\n return (\n <div\n aria-hidden\n className={cx(\n 'absolute inset-0 flex size-full items-center justify-center',\n 'default:bg-neutral default:text-on-neutral',\n {\n 'text-display-1': size === '2xl',\n 'text-display-2': ['xl', 'lg'].includes(size),\n 'text-display-3': size === 'md',\n 'text-headline-2': size === 'sm',\n 'text-body-2 font-bold': size === 'xs',\n },\n className\n )}\n {...props}\n >\n {children || firstLetter}\n </div>\n )\n}\n\nAvatarPlaceholder.displayName = 'AvatarPlaceholder'\n"],"mappings":"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","names":["React","RadixSlot","import_jsx_runtime","import_class_variance_authority","import_react","import_jsx_runtime","import_class_variance_authority","import_react","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","import_class_variance_authority","import_react","import_internal_utils","import_class_variance_authority","import_jsx_runtime","import_internal_utils","import_class_variance_authority","import_internal_utils","import_internal_utils","import_internal_utils","import_internal_utils","import_internal_utils","import_jsx_runtime","import_internal_utils","import_class_variance_authority","import_jsx_runtime","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime","import_class_variance_authority","import_jsx_runtime"]}
|
package/dist/avatar/index.mjs
CHANGED
|
@@ -1,17 +1,34 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import {
|
|
2
|
+
IconButton
|
|
3
|
+
} from "../chunk-DCXWGQVZ.mjs";
|
|
4
|
+
import {
|
|
5
|
+
Icon
|
|
6
|
+
} from "../chunk-UMUMFMFB.mjs";
|
|
7
|
+
import "../chunk-2YM6GKWW.mjs";
|
|
8
|
+
import "../chunk-GAK4SC2F.mjs";
|
|
9
|
+
import "../chunk-KEGAAGJW.mjs";
|
|
10
|
+
import {
|
|
11
|
+
Slot
|
|
12
|
+
} from "../chunk-6QCEPQ3U.mjs";
|
|
13
|
+
|
|
14
|
+
// src/avatar/Avatar.tsx
|
|
15
|
+
import { cx } from "class-variance-authority";
|
|
16
|
+
import * as React2 from "react";
|
|
17
|
+
|
|
18
|
+
// src/avatar/context.ts
|
|
19
|
+
import * as React from "react";
|
|
20
|
+
var AvatarContext = React.createContext(void 0);
|
|
21
|
+
var useAvatarContext = () => {
|
|
22
|
+
const context = React.useContext(AvatarContext);
|
|
23
|
+
if (!context) {
|
|
12
24
|
throw new Error("useAvatarContext must be used within an Avatar component");
|
|
13
|
-
|
|
14
|
-
|
|
25
|
+
}
|
|
26
|
+
return context;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// src/avatar/Avatar.tsx
|
|
30
|
+
import { jsx } from "react/jsx-runtime";
|
|
31
|
+
var sizeMap = {
|
|
15
32
|
xs: 24,
|
|
16
33
|
sm: 32,
|
|
17
34
|
md: 40,
|
|
@@ -19,211 +36,252 @@ const z = g.createContext(void 0), f = () => {
|
|
|
19
36
|
xl: 64,
|
|
20
37
|
// default
|
|
21
38
|
"2xl": 96
|
|
22
|
-
}
|
|
39
|
+
};
|
|
40
|
+
var Avatar = React2.forwardRef(
|
|
23
41
|
({
|
|
24
|
-
className
|
|
25
|
-
size
|
|
26
|
-
isOnline
|
|
27
|
-
onlineText
|
|
28
|
-
username
|
|
29
|
-
asChild
|
|
30
|
-
children
|
|
31
|
-
shape
|
|
32
|
-
...
|
|
33
|
-
},
|
|
34
|
-
const
|
|
42
|
+
className,
|
|
43
|
+
size = "xl",
|
|
44
|
+
isOnline = false,
|
|
45
|
+
onlineText,
|
|
46
|
+
username,
|
|
47
|
+
asChild,
|
|
48
|
+
children,
|
|
49
|
+
shape = "circle",
|
|
50
|
+
...props
|
|
51
|
+
}, ref) => {
|
|
52
|
+
const Comp = asChild ? Slot : "div";
|
|
53
|
+
const contextValue = React2.useMemo(
|
|
35
54
|
() => ({
|
|
36
|
-
size
|
|
37
|
-
isOnline
|
|
38
|
-
onlineText
|
|
39
|
-
username
|
|
40
|
-
shape
|
|
41
|
-
pixelSize:
|
|
55
|
+
size,
|
|
56
|
+
isOnline,
|
|
57
|
+
onlineText,
|
|
58
|
+
username,
|
|
59
|
+
shape,
|
|
60
|
+
pixelSize: sizeMap[size]
|
|
42
61
|
}),
|
|
43
|
-
[
|
|
62
|
+
[size, isOnline, username, shape, onlineText]
|
|
44
63
|
);
|
|
45
|
-
return /* @__PURE__ */
|
|
46
|
-
|
|
64
|
+
return /* @__PURE__ */ jsx(AvatarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
|
|
65
|
+
Comp,
|
|
47
66
|
{
|
|
48
|
-
ref
|
|
67
|
+
ref,
|
|
49
68
|
style: {
|
|
50
|
-
width:
|
|
51
|
-
height:
|
|
69
|
+
width: sizeMap[size],
|
|
70
|
+
height: sizeMap[size]
|
|
52
71
|
},
|
|
53
72
|
"data-spark-component": "avatar",
|
|
54
|
-
className:
|
|
55
|
-
...
|
|
56
|
-
children
|
|
73
|
+
className: cx("relative inline-flex items-center justify-center", className),
|
|
74
|
+
...props,
|
|
75
|
+
children
|
|
57
76
|
}
|
|
58
77
|
) });
|
|
59
78
|
}
|
|
60
79
|
);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
80
|
+
Avatar.displayName = "Avatar";
|
|
81
|
+
|
|
82
|
+
// src/avatar/AvatarImage.tsx
|
|
83
|
+
import { cx as cx2 } from "class-variance-authority";
|
|
84
|
+
import { useEffect, useState } from "react";
|
|
85
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
86
|
+
var AvatarImage = ({
|
|
87
|
+
className,
|
|
88
|
+
asChild,
|
|
89
|
+
src,
|
|
90
|
+
onLoad,
|
|
91
|
+
onError,
|
|
92
|
+
...props
|
|
69
93
|
}) => {
|
|
70
|
-
const { username
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
94
|
+
const { username, isOnline, onlineText } = useAvatarContext();
|
|
95
|
+
const Comp = asChild ? Slot : "img";
|
|
96
|
+
const [isVisible, setIsVisible] = useState(false);
|
|
97
|
+
const accessibleName = isOnline && onlineText ? `${username} (${onlineText})` : username;
|
|
98
|
+
useEffect(() => {
|
|
99
|
+
setIsVisible(false);
|
|
100
|
+
}, [src]);
|
|
101
|
+
if (!src) {
|
|
74
102
|
return null;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
103
|
+
}
|
|
104
|
+
const handleLoad = (event) => {
|
|
105
|
+
setIsVisible(true);
|
|
106
|
+
onLoad?.(event);
|
|
107
|
+
};
|
|
108
|
+
const handleError = (event) => {
|
|
109
|
+
setIsVisible(false);
|
|
110
|
+
onError?.(event);
|
|
79
111
|
};
|
|
80
|
-
return /* @__PURE__ */
|
|
81
|
-
|
|
112
|
+
return /* @__PURE__ */ jsx2(
|
|
113
|
+
Comp,
|
|
82
114
|
{
|
|
83
|
-
"aria-hidden":
|
|
84
|
-
className:
|
|
115
|
+
"aria-hidden": true,
|
|
116
|
+
className: cx2(
|
|
85
117
|
"absolute inset-0 size-full",
|
|
86
118
|
"object-cover",
|
|
87
|
-
{ "transition-all duration-300 group-hover:scale-120":
|
|
119
|
+
{ "transition-all duration-300 group-hover:scale-120": props.onClick },
|
|
88
120
|
"focus-visible:u-outline",
|
|
89
|
-
|
|
90
|
-
|
|
121
|
+
isVisible ? "block" : "hidden",
|
|
122
|
+
className
|
|
91
123
|
),
|
|
92
|
-
alt:
|
|
93
|
-
src
|
|
94
|
-
onLoad:
|
|
95
|
-
onError:
|
|
96
|
-
...
|
|
124
|
+
alt: accessibleName,
|
|
125
|
+
src,
|
|
126
|
+
onLoad: handleLoad,
|
|
127
|
+
onError: handleError,
|
|
128
|
+
...props
|
|
97
129
|
}
|
|
98
130
|
);
|
|
99
131
|
};
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
132
|
+
AvatarImage.displayName = "AvatarImage";
|
|
133
|
+
|
|
134
|
+
// src/avatar/AvatarAction.tsx
|
|
135
|
+
import { PenOutline } from "@spark-ui/icons/PenOutline";
|
|
136
|
+
import { cx as cx3 } from "class-variance-authority";
|
|
137
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
138
|
+
var AvatarAction = ({
|
|
139
|
+
className,
|
|
140
|
+
children,
|
|
141
|
+
asChild,
|
|
142
|
+
angle = 135,
|
|
143
|
+
ariaLabel,
|
|
144
|
+
...props
|
|
108
145
|
}) => {
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
146
|
+
const Comp = asChild ? Slot : IconButton;
|
|
147
|
+
const { pixelSize, shape } = useAvatarContext();
|
|
148
|
+
function getBadgePosition(circleSize) {
|
|
149
|
+
const angleRad = (90 - angle) * Math.PI / 180;
|
|
150
|
+
const circleRadius = circleSize / 2;
|
|
112
151
|
return {
|
|
113
|
-
x:
|
|
114
|
-
y:
|
|
152
|
+
x: circleRadius + circleRadius * Math.cos(angleRad),
|
|
153
|
+
y: circleRadius - circleRadius * Math.sin(angleRad)
|
|
115
154
|
};
|
|
116
155
|
}
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
|
|
156
|
+
const position = getBadgePosition(pixelSize);
|
|
157
|
+
const isCustomElement = asChild;
|
|
158
|
+
return /* @__PURE__ */ jsx3(
|
|
159
|
+
Comp,
|
|
120
160
|
{
|
|
121
161
|
"data-spark-component": "avatar-action",
|
|
122
162
|
style: {
|
|
123
163
|
position: "absolute",
|
|
124
|
-
...
|
|
125
|
-
...
|
|
164
|
+
...shape === "circle" ? { left: `${position.x}px`, top: `${position.y}px` } : {},
|
|
165
|
+
...shape === "square" ? { right: "0px", bottom: "0px" } : {}
|
|
126
166
|
},
|
|
127
|
-
className:
|
|
167
|
+
className: cx3(
|
|
128
168
|
"z-raised",
|
|
129
|
-
|
|
130
|
-
{ "shadow-sm": !
|
|
131
|
-
|
|
169
|
+
shape === "circle" ? "-translate-x-1/2 -translate-y-1/2" : "translate-x-1/4 translate-y-1/4",
|
|
170
|
+
{ "shadow-sm": !isCustomElement },
|
|
171
|
+
className
|
|
132
172
|
),
|
|
133
|
-
"aria-label":
|
|
134
|
-
title:
|
|
135
|
-
|
|
136
|
-
...
|
|
137
|
-
children:
|
|
173
|
+
"aria-label": ariaLabel,
|
|
174
|
+
title: ariaLabel,
|
|
175
|
+
...!isCustomElement ? { size: "sm", intent: "support", design: "contrast" } : {},
|
|
176
|
+
...props,
|
|
177
|
+
children: children || /* @__PURE__ */ jsx3(Icon, { size: "sm", children: /* @__PURE__ */ jsx3(PenOutline, {}) })
|
|
138
178
|
}
|
|
139
179
|
);
|
|
140
180
|
};
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
181
|
+
AvatarAction.displayName = "AvatarAction";
|
|
182
|
+
|
|
183
|
+
// src/avatar/AvatarOnlineBadge.tsx
|
|
184
|
+
import { cx as cx4 } from "class-variance-authority";
|
|
185
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
186
|
+
var AvatarOnlineBadge = ({ angle = 135, ...props }) => {
|
|
187
|
+
const { isOnline, pixelSize, shape, onlineText, size } = useAvatarContext();
|
|
188
|
+
if (!isOnline) return null;
|
|
189
|
+
function getBadgePosition(circleSize) {
|
|
190
|
+
const angleRad = (90 - angle) * Math.PI / 180;
|
|
191
|
+
const circleRadius = circleSize / 2;
|
|
147
192
|
return {
|
|
148
|
-
x:
|
|
149
|
-
y:
|
|
193
|
+
x: circleRadius + circleRadius * Math.cos(angleRad),
|
|
194
|
+
y: circleRadius - circleRadius * Math.sin(angleRad)
|
|
150
195
|
};
|
|
151
196
|
}
|
|
152
|
-
const
|
|
153
|
-
return /* @__PURE__ */
|
|
197
|
+
const badgePosition = getBadgePosition(pixelSize);
|
|
198
|
+
return /* @__PURE__ */ jsx4(
|
|
154
199
|
"div",
|
|
155
200
|
{
|
|
156
201
|
"data-spark-component": "avatar-online-badge",
|
|
157
202
|
role: "status",
|
|
158
|
-
"aria-label":
|
|
203
|
+
"aria-label": onlineText,
|
|
159
204
|
style: {
|
|
160
|
-
...
|
|
205
|
+
...shape === "circle" ? { left: `${badgePosition.x}px`, top: `${badgePosition.y}px` } : { right: "0px", bottom: "0px" }
|
|
161
206
|
},
|
|
162
|
-
className:
|
|
207
|
+
className: cx4(
|
|
163
208
|
"bg-success outline-surface absolute rounded-full",
|
|
164
|
-
|
|
165
|
-
["lg", "xl", "2xl"].includes(
|
|
209
|
+
shape === "circle" ? "-translate-x-1/2 -translate-y-1/2" : "translate-x-1/4 translate-y-1/4",
|
|
210
|
+
["lg", "xl", "2xl"].includes(size) ? cx4("size-sz-12 outline-4") : cx4("size-sz-8 outline-2")
|
|
166
211
|
),
|
|
167
|
-
...
|
|
212
|
+
...props
|
|
168
213
|
}
|
|
169
214
|
);
|
|
170
215
|
};
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
216
|
+
AvatarOnlineBadge.displayName = "AvatarOnlineBadge";
|
|
217
|
+
|
|
218
|
+
// src/avatar/AvatarUser.tsx
|
|
219
|
+
import { cx as cx5 } from "class-variance-authority";
|
|
220
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
221
|
+
var AvatarUser = ({ asChild, children, className, ...props }) => {
|
|
222
|
+
const { shape, isOnline, onlineText, username } = useAvatarContext();
|
|
223
|
+
const Comp = asChild ? Slot : "div";
|
|
224
|
+
const accessibleName = isOnline && onlineText ? `${username} (${onlineText})` : username;
|
|
225
|
+
return /* @__PURE__ */ jsx5(
|
|
226
|
+
Comp,
|
|
176
227
|
{
|
|
177
|
-
...!
|
|
178
|
-
"aria-label":
|
|
179
|
-
title:
|
|
180
|
-
className:
|
|
228
|
+
...!asChild && { role: "img" },
|
|
229
|
+
"aria-label": accessibleName,
|
|
230
|
+
title: accessibleName,
|
|
231
|
+
className: cx5(
|
|
181
232
|
"group default:border-outline relative size-full overflow-hidden",
|
|
182
233
|
"focus-visible:u-outline",
|
|
183
234
|
{
|
|
184
|
-
"default:rounded-full":
|
|
185
|
-
"default:rounded-md":
|
|
186
|
-
"hover:opacity-dim-1 cursor-pointer":
|
|
235
|
+
"default:rounded-full": shape === "circle",
|
|
236
|
+
"default:rounded-md": shape === "square",
|
|
237
|
+
"hover:opacity-dim-1 cursor-pointer": asChild || props.onClick
|
|
187
238
|
},
|
|
188
|
-
|
|
239
|
+
className
|
|
189
240
|
),
|
|
190
|
-
...
|
|
191
|
-
children
|
|
241
|
+
...props,
|
|
242
|
+
children
|
|
192
243
|
}
|
|
193
244
|
);
|
|
194
245
|
};
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
246
|
+
AvatarUser.displayName = "AvatarUser";
|
|
247
|
+
|
|
248
|
+
// src/avatar/AvatarPlaceholder.tsx
|
|
249
|
+
import { cx as cx6 } from "class-variance-authority";
|
|
250
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
251
|
+
var AvatarPlaceholder = ({ className, children, ...props }) => {
|
|
252
|
+
const { size, username } = useAvatarContext();
|
|
253
|
+
const firstLetter = username?.charAt(0);
|
|
254
|
+
return /* @__PURE__ */ jsx6(
|
|
199
255
|
"div",
|
|
200
256
|
{
|
|
201
|
-
"aria-hidden":
|
|
202
|
-
className:
|
|
257
|
+
"aria-hidden": true,
|
|
258
|
+
className: cx6(
|
|
203
259
|
"absolute inset-0 flex size-full items-center justify-center",
|
|
204
260
|
"default:bg-neutral default:text-on-neutral",
|
|
205
261
|
{
|
|
206
|
-
"text-display-1":
|
|
207
|
-
"text-display-2": ["xl", "lg"].includes(
|
|
208
|
-
"text-display-3":
|
|
209
|
-
"text-headline-2":
|
|
210
|
-
"text-body-2 font-bold":
|
|
262
|
+
"text-display-1": size === "2xl",
|
|
263
|
+
"text-display-2": ["xl", "lg"].includes(size),
|
|
264
|
+
"text-display-3": size === "md",
|
|
265
|
+
"text-headline-2": size === "sm",
|
|
266
|
+
"text-body-2 font-bold": size === "xs"
|
|
211
267
|
},
|
|
212
|
-
|
|
268
|
+
className
|
|
213
269
|
),
|
|
214
|
-
...
|
|
215
|
-
children:
|
|
270
|
+
...props,
|
|
271
|
+
children: children || firstLetter
|
|
216
272
|
}
|
|
217
273
|
);
|
|
218
274
|
};
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
275
|
+
AvatarPlaceholder.displayName = "AvatarPlaceholder";
|
|
276
|
+
|
|
277
|
+
// src/avatar/index.ts
|
|
278
|
+
var AvatarComponent = Avatar;
|
|
279
|
+
AvatarComponent.Image = AvatarImage;
|
|
280
|
+
AvatarComponent.Action = AvatarAction;
|
|
281
|
+
AvatarComponent.OnlineBadge = AvatarOnlineBadge;
|
|
282
|
+
AvatarComponent.User = AvatarUser;
|
|
283
|
+
AvatarComponent.Placeholder = AvatarPlaceholder;
|
|
226
284
|
export {
|
|
227
|
-
|
|
285
|
+
AvatarComponent as Avatar
|
|
228
286
|
};
|
|
229
|
-
//# sourceMappingURL=index.mjs.map
|
|
287
|
+
//# sourceMappingURL=index.mjs.map
|