@spark-ui/components 14.0.0-beta.1 → 14.0.0
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/Button-B6rA3-e5.js +2 -0
- package/dist/{Button-C3xHNaGl.js.map → Button-B6rA3-e5.js.map} +1 -1
- package/dist/{Button-D32Avk2j.mjs → Button-C3C0aixy.mjs} +4 -4
- package/dist/{Button-D32Avk2j.mjs.map → Button-C3C0aixy.mjs.map} +1 -1
- package/dist/DialogContent.styles-BSfXHt21.mjs +61 -0
- package/dist/DialogContent.styles-BSfXHt21.mjs.map +1 -0
- package/dist/DialogContent.styles-bBs6l8Cy.js +2 -0
- package/dist/DialogContent.styles-bBs6l8Cy.js.map +1 -0
- package/dist/Icon-CF0W0LKr.js +2 -0
- package/dist/{Icon-Bf0XrmiR.js.map → Icon-CF0W0LKr.js.map} +1 -1
- package/dist/{Icon-D1RueiPY.mjs → Icon-Ck-dhfLd.mjs} +6 -6
- package/dist/{Icon-D1RueiPY.mjs.map → Icon-Ck-dhfLd.mjs.map} +1 -1
- package/dist/{IconButton-BY3gYXtU.mjs → IconButton-C62-axzv.mjs} +6 -6
- package/dist/{IconButton-BY3gYXtU.mjs.map → IconButton-C62-axzv.mjs.map} +1 -1
- package/dist/IconButton-D3g86WpZ.js +2 -0
- package/dist/{IconButton-Bf-EDzpI.js.map → IconButton-D3g86WpZ.js.map} +1 -1
- package/dist/Slot-D2Bbf8Gw.mjs +14 -0
- package/dist/{Slot-C98rL4yy.mjs.map → Slot-D2Bbf8Gw.mjs.map} +1 -1
- package/dist/Slot-DQ8z2zsy.js +2 -0
- package/dist/{Slot-ghrohQLA.js.map → Slot-DQ8z2zsy.js.map} +1 -1
- package/dist/Spinner-_Kffli3B.js +2 -0
- package/dist/{Spinner-DK8VEsaR.js.map → Spinner-_Kffli3B.js.map} +1 -1
- package/dist/{Spinner-CYL5kyzM.mjs → Spinner-jF3-zoh_.mjs} +3 -3
- package/dist/{Spinner-CYL5kyzM.mjs.map → Spinner-jF3-zoh_.mjs.map} +1 -1
- package/dist/{TextLink-3MEVs3No.mjs → TextLink-BuzFRWO6.mjs} +3 -3
- package/dist/{TextLink-3MEVs3No.mjs.map → TextLink-BuzFRWO6.mjs.map} +1 -1
- package/dist/TextLink-C3xDLsbC.js +2 -0
- package/dist/{TextLink-DD0VO37q.js.map → TextLink-C3xDLsbC.js.map} +1 -1
- package/dist/{VisuallyHidden-AoRh4WRK.js → VisuallyHidden-CB6Nx76j.js} +2 -2
- package/dist/{VisuallyHidden-AoRh4WRK.js.map → VisuallyHidden-CB6Nx76j.js.map} +1 -1
- package/dist/{VisuallyHidden-ByNP7ZUI.mjs → VisuallyHidden-KH1biLx-.mjs} +2 -2
- package/dist/{VisuallyHidden-ByNP7ZUI.mjs.map → VisuallyHidden-KH1biLx-.mjs.map} +1 -1
- package/dist/accordion/index.d.mts +15 -0
- package/dist/accordion/index.js +1 -1
- package/dist/accordion/index.js.map +1 -1
- package/dist/accordion/index.mjs +90 -608
- package/dist/accordion/index.mjs.map +1 -1
- package/dist/alert-dialog/AlertDialogPortal.d.ts +1 -1
- package/dist/alert-dialog/index.d.mts +38 -0
- package/dist/alert-dialog/index.js +1 -34
- package/dist/alert-dialog/index.js.map +1 -1
- package/dist/alert-dialog/index.mjs +139 -2475
- package/dist/alert-dialog/index.mjs.map +1 -1
- package/dist/avatar/index.d.mts +15 -0
- package/dist/avatar/index.js +1 -1
- package/dist/avatar/index.js.map +1 -1
- package/dist/avatar/index.mjs +4 -4
- package/dist/badge/index.d.mts +1 -0
- package/dist/badge/index.js +1 -1
- package/dist/badge/index.js.map +1 -1
- package/dist/badge/index.mjs +6 -6
- package/dist/breadcrumb/index.d.mts +12 -0
- package/dist/breadcrumb/index.js +1 -1
- package/dist/breadcrumb/index.js.map +1 -1
- package/dist/breadcrumb/index.mjs +21 -21
- package/dist/button/Button.d.ts +1 -1
- package/dist/button/index.d.mts +1 -0
- package/dist/button/index.js +1 -1
- package/dist/button/index.mjs +1 -1
- package/dist/button/variants/index.d.mts +5 -0
- package/dist/card/index.d.mts +8 -0
- package/dist/card/index.js +1 -1
- package/dist/card/index.js.map +1 -1
- package/dist/card/index.mjs +2 -2
- package/dist/carousel/index.d.mts +19 -0
- package/dist/carousel/index.js +1 -1
- package/dist/carousel/index.js.map +1 -1
- package/dist/carousel/index.mjs +3 -3
- package/dist/checkbox/index.d.mts +2 -0
- package/dist/checkbox/index.js +1 -1
- package/dist/checkbox/index.js.map +1 -1
- package/dist/checkbox/index.mjs +128 -364
- package/dist/checkbox/index.mjs.map +1 -1
- package/dist/chip/index.d.mts +15 -0
- package/dist/chip/index.js +1 -1
- package/dist/chip/index.js.map +1 -1
- package/dist/chip/index.mjs +196 -370
- package/dist/chip/index.mjs.map +1 -1
- package/dist/chip/variants/index.d.mts +3 -0
- package/dist/collapsible/index.d.mts +7 -0
- package/dist/collapsible/index.js +1 -1
- package/dist/collapsible/index.js.map +1 -1
- package/dist/collapsible/index.mjs +38 -213
- package/dist/collapsible/index.mjs.map +1 -1
- package/dist/combobox/index.d.mts +35 -0
- package/dist/combobox/index.js +1 -1
- package/dist/combobox/index.js.map +1 -1
- package/dist/combobox/index.mjs +7 -7
- package/dist/combobox/utils/index.d.mts +14 -0
- package/dist/dialog/Dialog.d.ts +13 -13
- package/dist/dialog/DialogClose.d.ts +9 -8
- package/dist/dialog/DialogContent.d.ts +4 -4
- package/dist/dialog/DialogDescription.d.ts +3 -3
- package/dist/dialog/DialogOverlay.d.ts +5 -5
- package/dist/dialog/DialogPortal.d.ts +4 -4
- package/dist/dialog/DialogTitle.d.ts +3 -3
- package/dist/dialog/DialogTrigger.d.ts +5 -9
- package/dist/dialog/index.d.mts +37 -0
- package/dist/dialog/index.js +1 -1
- package/dist/dialog/index.js.map +1 -1
- package/dist/dialog/index.mjs +149 -159
- package/dist/dialog/index.mjs.map +1 -1
- package/dist/divider/index.d.mts +6 -0
- package/dist/divider/index.js +1 -1
- package/dist/divider/index.js.map +1 -1
- package/dist/divider/index.mjs +58 -76
- package/dist/divider/index.mjs.map +1 -1
- package/dist/drawer/Drawer.d.ts +12 -19
- package/dist/drawer/DrawerClose.d.ts +9 -5
- package/dist/drawer/DrawerContent.d.ts +5 -5
- package/dist/drawer/DrawerDescription.d.ts +4 -4
- package/dist/drawer/DrawerOverlay.d.ts +5 -5
- package/dist/drawer/DrawerPortal.d.ts +4 -4
- package/dist/drawer/DrawerTitle.d.ts +5 -5
- package/dist/drawer/DrawerTrigger.d.ts +5 -5
- package/dist/drawer/index.d.mts +37 -0
- package/dist/drawer/index.d.ts +2 -0
- package/dist/drawer/index.js +1 -1
- package/dist/drawer/index.js.map +1 -1
- package/dist/drawer/index.mjs +143 -114
- package/dist/drawer/index.mjs.map +1 -1
- package/dist/drawer/useRenderSlot.d.ts +3 -0
- package/dist/dropdown/index.d.mts +29 -0
- package/dist/dropdown/index.js +1 -1
- package/dist/dropdown/index.js.map +1 -1
- package/dist/dropdown/index.mjs +5 -5
- package/dist/file-upload/index.d.mts +22 -0
- package/dist/file-upload/index.js +1 -1
- package/dist/file-upload/index.js.map +1 -1
- package/dist/file-upload/index.mjs +6 -6
- package/dist/form-field/index.d.mts +31 -0
- package/dist/form-field/index.js +1 -1
- package/dist/form-field/index.js.map +1 -1
- package/dist/form-field/index.mjs +47 -47
- package/dist/icon/index.d.mts +1 -0
- package/dist/icon/index.js +1 -1
- package/dist/icon/index.mjs +1 -1
- package/dist/icon-button/index.d.mts +1 -0
- package/dist/icon-button/index.js +1 -1
- package/dist/icon-button/index.mjs +1 -1
- package/dist/input/index.d.mts +21 -0
- package/dist/input/index.js +1 -1
- package/dist/input/index.js.map +1 -1
- package/dist/input/index.mjs +4 -4
- package/dist/input-otp/index.d.mts +14 -0
- package/dist/input-otp/index.js +1 -1
- package/dist/input-otp/index.js.map +1 -1
- package/dist/input-otp/index.mjs +139 -137
- package/dist/input-otp/index.mjs.map +1 -1
- package/dist/kbd/index.d.mts +1 -0
- package/dist/label/index.d.mts +7 -0
- package/dist/label/index.js +1 -1
- package/dist/label/index.js.map +1 -1
- package/dist/label/index.mjs +37 -2
- package/dist/label/index.mjs.map +1 -1
- package/dist/link-box/index.d.mts +9 -0
- package/dist/link-box/index.js +1 -1
- package/dist/link-box/index.js.map +1 -1
- package/dist/link-box/index.mjs +7 -7
- package/dist/pagination/index.d.mts +18 -0
- package/dist/pagination/index.js +1 -1
- package/dist/pagination/index.js.map +1 -1
- package/dist/pagination/index.mjs +126 -844
- package/dist/pagination/index.mjs.map +1 -1
- package/dist/popover/index.d.mts +17 -0
- package/dist/popover/index.js +1 -1
- package/dist/popover/index.js.map +1 -1
- package/dist/popover/index.mjs +119 -1748
- package/dist/popover/index.mjs.map +1 -1
- package/dist/portal/index.d.mts +1 -0
- package/dist/portal/index.js +1 -1
- package/dist/portal/index.js.map +1 -1
- package/dist/portal/index.mjs +3 -3
- package/dist/portal/index.mjs.map +1 -1
- package/dist/progress/index.d.mts +13 -0
- package/dist/progress/index.js +1 -6
- package/dist/progress/index.js.map +1 -1
- package/dist/progress/index.mjs +87 -162
- package/dist/progress/index.mjs.map +1 -1
- package/dist/progress-tracker/index.d.mts +10 -0
- package/dist/progress-tracker/index.js +1 -1
- package/dist/progress-tracker/index.js.map +1 -1
- package/dist/progress-tracker/index.mjs +14 -14
- package/dist/radio-group/index.d.mts +7 -0
- package/dist/radio-group/index.js +1 -1
- package/dist/radio-group/index.js.map +1 -1
- package/dist/radio-group/index.mjs +85 -312
- package/dist/radio-group/index.mjs.map +1 -1
- package/dist/rating/index.d.mts +1 -0
- package/dist/rating/index.js +1 -1
- package/dist/rating/index.js.map +1 -1
- package/dist/rating/index.mjs +11 -11
- package/dist/scrolling-list/index.d.mts +15 -0
- package/dist/scrolling-list/index.js +1 -1
- package/dist/scrolling-list/index.js.map +1 -1
- package/dist/scrolling-list/index.mjs +168 -333
- package/dist/scrolling-list/index.mjs.map +1 -1
- package/dist/segmented-gauge/index.d.mts +13 -0
- package/dist/segmented-gauge/index.js +1 -1
- package/dist/segmented-gauge/index.js.map +1 -1
- package/dist/segmented-gauge/index.mjs +1 -1
- package/dist/select/index.d.mts +21 -0
- package/dist/select/index.js +1 -1
- package/dist/select/index.js.map +1 -1
- package/dist/select/index.mjs +21 -21
- package/dist/skeleton/index.d.mts +8 -0
- package/dist/skeleton/index.js +1 -1
- package/dist/skeleton/index.js.map +1 -1
- package/dist/skeleton/index.mjs +2 -2
- package/dist/slider/Slider.d.ts +6 -1
- package/dist/slider/SliderContext.d.ts +4 -1
- package/dist/slider/index.d.mts +8 -0
- package/dist/slider/index.js +1 -1
- package/dist/slider/index.js.map +1 -1
- package/dist/slider/index.mjs +96 -496
- package/dist/slider/index.mjs.map +1 -1
- package/dist/slot/index.d.mts +1 -0
- package/dist/slot/index.js +1 -1
- package/dist/slot/index.mjs +1 -1
- package/dist/snackbar/index.d.mts +13 -0
- package/dist/snackbar/index.js +1 -1
- package/dist/snackbar/index.js.map +1 -1
- package/dist/snackbar/index.mjs +189 -1105
- package/dist/snackbar/index.mjs.map +1 -1
- package/dist/spinner/index.d.mts +1 -0
- package/dist/spinner/index.js +1 -1
- package/dist/spinner/index.mjs +1 -1
- package/dist/stepper/index.d.mts +9 -0
- package/dist/stepper/index.js +1 -7
- package/dist/stepper/index.js.map +1 -1
- package/dist/stepper/index.mjs +137 -2317
- package/dist/stepper/index.mjs.map +1 -1
- package/dist/switch/index.d.mts +1 -0
- package/dist/switch/index.js +1 -1
- package/dist/switch/index.js.map +1 -1
- package/dist/switch/index.mjs +85 -208
- package/dist/switch/index.mjs.map +1 -1
- package/dist/tabs/index.d.mts +13 -0
- package/dist/tabs/index.js +1 -1
- package/dist/tabs/index.js.map +1 -1
- package/dist/tabs/index.mjs +179 -329
- package/dist/tabs/index.mjs.map +1 -1
- package/dist/tag/index.d.mts +1 -0
- package/dist/tag/index.js +1 -1
- package/dist/tag/index.js.map +1 -1
- package/dist/tag/index.mjs +2 -2
- package/dist/tag/variants/index.d.mts +3 -0
- package/dist/text-link/index.d.mts +1 -0
- package/dist/text-link/index.js +1 -1
- package/dist/text-link/index.mjs +1 -1
- package/dist/textarea/index.d.mts +14 -0
- package/dist/textarea/index.js +1 -1
- package/dist/textarea/index.js.map +1 -1
- package/dist/textarea/index.mjs +6 -6
- package/dist/toast/index.d.mts +20 -0
- package/dist/toast/index.js +1 -1
- package/dist/toast/index.js.map +1 -1
- package/dist/toast/index.mjs +146 -1008
- package/dist/toast/index.mjs.map +1 -1
- package/dist/useRenderSlot-DATwjgpo.js +2 -0
- package/dist/useRenderSlot-DATwjgpo.js.map +1 -0
- package/dist/useRenderSlot-LwWj8QbC.mjs +10 -0
- package/dist/useRenderSlot-LwWj8QbC.mjs.map +1 -0
- package/dist/visually-hidden/index.d.mts +1 -0
- package/dist/visually-hidden/index.js +1 -1
- package/dist/visually-hidden/index.mjs +1 -1
- package/package.json +7 -6
- package/dist/Button-C3xHNaGl.js +0 -2
- package/dist/DialogContent.styles-BrhKaHc_.js +0 -2
- package/dist/DialogContent.styles-BrhKaHc_.js.map +0 -1
- package/dist/DialogContent.styles-WGWJS9dj.mjs +0 -48
- package/dist/DialogContent.styles-WGWJS9dj.mjs.map +0 -1
- package/dist/Icon-Bf0XrmiR.js +0 -2
- package/dist/IconButton-Bf-EDzpI.js +0 -2
- package/dist/Slot-C98rL4yy.mjs +0 -14
- package/dist/Slot-ghrohQLA.js +0 -2
- package/dist/Spinner-DK8VEsaR.js +0 -2
- package/dist/TextLink-DD0VO37q.js +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/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/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/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/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/chip/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/chip/variants/outlined.ts","../../src/chip/variants/tinted.ts","../../src/chip/variants/dashed.ts","../../src/chip/Chip.styles.tsx","../../src/chip/useChipContext.tsx","../../../../node_modules/emulate-tab/dist/emulate-tab.js","../../src/chip/useChipElement.tsx","../../src/chip/Chip.tsx","../../src/chip/ChipClearButton.styles.tsx","../../src/chip/ChipClearButton.tsx","../../src/chip/ChipContent.tsx","../../src/chip/ChipIcon.tsx","../../src/chip/ChipLeadingIcon.tsx","../../src/chip/ChipTrailingIcon.tsx","../../src/chip/index.ts"],"sourcesContent":["import { tw } from '@spark-ui/internal-utils'\n\nexport const outlinedVariants = [\n /** Intents **/\n {\n design: 'outlined',\n intent: 'main',\n class: tw([\n 'enabled:hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'aria-pressed:bg-main-container aria-pressed:text-on-main-container aria-pressed:enabled:hover:bg-main-container/dim-1',\n 'text-main',\n ]),\n },\n {\n design: 'outlined',\n intent: 'support',\n class: tw([\n 'enabled:hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'aria-pressed:bg-support-container aria-pressed:text-on-support-container aria-pressed:enabled:hover:bg-support-container/dim-1',\n 'text-support',\n ]),\n },\n {\n design: 'outlined',\n intent: 'basic',\n class: tw([\n 'enabled:hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'aria-pressed:bg-basic-container aria-pressed:text-on-basic-container aria-pressed:enabled:hover:bg-basic-container/dim-1',\n 'text-basic',\n ]),\n },\n {\n intent: 'accent',\n design: 'outlined',\n class: tw([\n 'enabled:hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'aria-pressed:bg-accent-container',\n 'aria-pressed:bg-accent-container aria-pressed:text-on-accent-container aria-pressed:enabled:hover:bg-accent-container/dim-1',\n 'text-accent',\n ]),\n },\n {\n design: 'outlined',\n intent: 'success',\n class: tw([\n 'enabled:hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'aria-pressed:bg-success-container aria-pressed:text-on-success-container aria-pressed:enabled:hover:bg-success-container/dim-1',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'outlined',\n class: tw([\n 'enabled:hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'aria-pressed:bg-alert-container aria-pressed:text-on-alert-container aria-pressed:enabled:hover:bg-alert-container/dim-1',\n 'text-alert',\n ]),\n },\n {\n design: 'outlined',\n intent: 'danger',\n class: tw([\n 'enabled:hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'aria-pressed:bg-error-container aria-pressed:text-on-error-container aria-pressed:enabled:hover:bg-error-container/dim-1',\n 'text-error',\n ]),\n },\n {\n design: 'outlined',\n intent: 'info',\n class: tw([\n 'enabled:hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'aria-pressed:bg-info-container aria-pressed:text-on-info-container aria-pressed:enabled:hover:bg-info-container/dim-1',\n 'text-info',\n ]),\n },\n {\n design: 'outlined',\n intent: 'neutral',\n class: tw([\n 'enabled:hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'aria-pressed:bg-neutral-container aria-pressed:text-on-neutral-container aria-pressed:enabled:hover:bg-neutral-container/dim-1',\n 'text-neutral',\n ]),\n },\n {\n design: 'outlined',\n intent: 'surface',\n class: tw([\n 'enabled:hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-surface',\n ]),\n },\n /** Spacings **/\n {\n design: 'outlined',\n hasClearButton: false,\n class: tw(['px-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n {\n design: 'outlined',\n hasClearButton: true,\n class: tw(['pl-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const tintedVariants = [\n /** Intents **/\n {\n intent: 'main',\n design: 'tinted',\n class: tw([\n 'bg-main-container',\n 'enabled:hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n 'aria-pressed:bg-main aria-pressed:text-on-main aria-pressed:enabled:hover:bg-main/dim-1',\n 'text-on-main-container',\n ]),\n },\n {\n intent: 'support',\n design: 'tinted',\n class: tw([\n 'bg-support-container',\n 'enabled:hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n 'aria-pressed:bg-support aria-pressed:text-on-support aria-pressed:enabled:hover:bg-support/dim-1',\n 'text-on-support-container',\n ]),\n },\n {\n intent: 'basic',\n design: 'tinted',\n class: tw([\n 'bg-basic-container',\n 'enabled:hover:bg-basic-container-hovered',\n 'enabled:active:bg-basic-container-hovered',\n 'focus-visible:bg-basic-container-hovered',\n 'aria-pressed:bg-basic aria-pressed:text-on-basic aria-pressed:enabled:hover:bg-basic/dim-1',\n 'text-on-basic-container',\n ]),\n },\n {\n intent: 'accent',\n design: 'tinted',\n class: tw([\n 'bg-accent-container',\n 'enabled:hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n 'aria-pressed:bg-accent aria-pressed:text-on-accent aria-pressed:enabled:hover:bg-accent/dim-1',\n 'text-on-accent-container',\n ]),\n },\n {\n intent: 'success',\n design: 'tinted',\n class: tw([\n 'bg-success-container',\n 'enabled:hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n 'aria-pressed:bg-success aria-pressed:text-on-success aria-pressed:enabled:hover:bg-success/dim-1',\n 'text-on-success-container',\n ]),\n },\n {\n intent: 'alert',\n design: 'tinted',\n class: tw([\n 'bg-alert-container',\n 'enabled:hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n 'aria-pressed:bg-alert aria-pressed:text-on-alert aria-pressed:enabled:hover:bg-alert/dim-1',\n 'text-on-alert-container',\n ]),\n },\n {\n intent: 'danger',\n design: 'tinted',\n class: tw([\n 'bg-error-container',\n 'enabled:hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n 'aria-pressed:bg-error aria-pressed:text-on-error aria-pressed:enabled:hover:bg-error/dim-1',\n 'text-on-error-container',\n ]),\n },\n {\n intent: 'info',\n design: 'tinted',\n class: tw([\n 'bg-info-container',\n 'enabled:hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n 'aria-pressed:bg-info aria-pressed:text-on-info aria-pressed:enabled:hover:bg-info/dim-1',\n 'text-on-info-container',\n ]),\n },\n {\n intent: 'neutral',\n design: 'tinted',\n class: tw([\n 'bg-neutral-container',\n 'enabled:hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n 'aria-pressed:bg-neutral aria-pressed:text-on-neutral aria-pressed:enabled:hover:bg-neutral/dim-1',\n 'text-on-neutral-container',\n ]),\n },\n {\n intent: 'surface',\n design: 'tinted',\n class: tw([\n 'bg-surface/dim-1',\n 'enabled:hover:bg-surface-hovered/dim-1',\n 'enabled:active:bg-surface-hovered/dim-1',\n 'focus-visible:bg-surface-hovered/dim-1',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-on-surface/dim-1',\n ]),\n },\n /** Spacings **/\n {\n design: 'tinted',\n hasClearButton: false,\n class: tw(['px-md']),\n },\n {\n design: 'tinted',\n hasClearButton: true,\n class: tw(['pl-md']),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const dashedVariants = [\n /** Intents **/\n {\n intent: 'main',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'aria-pressed:bg-main-container aria-pressed:text-on-main-container aria-pressed:enabled:hover:bg-main-container/dim-1',\n 'text-main',\n ]),\n },\n {\n intent: 'support',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'aria-pressed:bg-support-container aria-pressed:text-on-support-container aria-pressed:enabled:hover:bg-support-container/dim-1',\n 'text-support',\n ]),\n },\n {\n intent: 'basic',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'aria-pressed:bg-basic-container aria-pressed:text-on-basic-container aria-pressed:enabled:hover:bg-basic-container/dim-1',\n 'text-basic',\n ]),\n },\n {\n intent: 'accent',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'aria-pressed:bg-accent-container aria-pressed:text-on-accent-container aria-pressed:enabled:hover:bg-accent-container/dim-1',\n 'text-accent',\n ]),\n },\n {\n intent: 'success',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'aria-pressed:bg-success-container aria-pressed:text-on-success-container aria-pressed:enabled:hover:bg-success-container/dim-1',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'aria-pressed:bg-alert-container aria-pressed:text-on-alert-container aria-pressed:enabled:hover:bg-alert-container/dim-1',\n 'text-alert',\n ]),\n },\n {\n intent: 'danger',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'aria-pressed:bg-error-container aria-pressed:text-on-error-container aria-pressed:enabled:hover:bg-error-container/dim-1',\n 'text-error',\n ]),\n },\n {\n intent: 'info',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'aria-pressed:bg-info-container aria-pressed:text-on-info-container aria-pressed:enabled:hover:bg-info-container/dim-1',\n 'text-info',\n ]),\n },\n {\n intent: 'neutral',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'aria-pressed:bg-neutral-container aria-pressed:text-on-neutral-container aria-pressed:enabled:hover:bg-neutral-container/dim-1',\n 'text-neutral',\n ]),\n },\n {\n intent: 'surface',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-surface',\n ]),\n },\n /** Spacings **/\n {\n design: 'dashed',\n hasClearButton: false,\n class: tw(['px-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n {\n design: 'dashed',\n hasClearButton: true,\n class: tw(['pl-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n] as const\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nimport { dashedVariants, outlinedVariants, tintedVariants } from './variants'\n\nexport const chipStyles = cva(\n [\n 'box-border inline-flex h-sz-32 flex-nowrap items-center justify-center rounded-md text-body-1 font-regular',\n 'focus-visible:u-outline',\n 'ease-out duration-150',\n ],\n {\n variants: {\n /**\n * Main style of the chip.\n *\n * - `filled`: Chip will be plain.\n *\n * - `outlined`: Chip will be transparent with an outline.\n *\n * - `tinted`: Chip will be filled but using a lighter color scheme.\n *\n * - `dashed`: Chip will be transparent with an outline dashed.\n */\n design: makeVariants<'design', ['outlined', 'tinted', 'dashed']>({\n outlined: ['bg-transparent border-sm border-solid border-current'],\n tinted: [''],\n dashed: [\n 'bg-transparent border-sm border-dashed shadow-none focus-visible:border-outline-high',\n ],\n }),\n /**\n * Color scheme of the chip.\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'basic',\n 'accent',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n ]\n >({\n main: [],\n support: [],\n basic: [],\n accent: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n }),\n /**\n * Disable the chip, preventing user interaction and adding opacity.\n */\n disabled: {\n true: ['cursor-not-allowed', 'opacity-dim-3'],\n },\n hasClearButton: {\n true: [],\n false: [],\n },\n // 'pl-[calc(var(--spacing-md)-(var(--border-width-sm)))]'\n },\n compoundVariants: [...outlinedVariants, ...tintedVariants, ...dashedVariants],\n defaultVariants: {\n design: 'outlined',\n intent: 'basic',\n },\n }\n)\n\nexport type ChipStylesProps = VariantProps<typeof chipStyles>\n","import { createContext, useContext } from 'react'\n\nimport { type ChipProps } from './Chip'\n\nexport type ChipsContextType = Pick<ChipProps, 'disabled' | 'design' | 'intent' | 'onClear'>\n\nexport const ChipContext = createContext<ChipsContextType>({} as ChipsContextType)\nexport const useChipContext = () => useContext(ChipContext) || {}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.emulateTab = void 0;\nvar possibleSizeAttributeKeys = new Array('offsetHeight', 'scrollHeight', 'clientHeight');\nvar shiftModifier = true;\nvar selectableTypes = /text|password|search|tel|url/;\n/**\n * emulate tab keyboard events and default action (switch to next element)\n *\n * fist:\n * - dispatch tab keydown event at active element\n *\n * then emulate default action (if not prevented):\n * - blur on active element\n * - skip keypress action (it's between element switch so there is no target)\n * - find next element in selectable elemetns\n * - focus on next element\n * - tab keyup on next element\n *\n * or (if default action is prevented):\n * - tab keypress on active element\n * - tab keyup on active elment\n *\n * @returns true if switched elemenet and false if default action had been prevented\n */\nfunction emulateTab() {\n var source = activeElement() || document.body;\n var target = getNextElement(source);\n return emulateTabFromSourceToTarget(source, target);\n}\nexports.emulateTab = emulateTab;\n(function (emulateTab) {\n /**\n * emulate tab from a given element (default is active element)\n *\n * @returns methods to select tab target\n */\n emulateTab.from = emulateTabFrom;\n /**\n * emulate tab from active element to a given target\n *\n * @param target element to switch to\n * @param sendKeyEventsWithShiftModifier like shift tab would do\n * @returns true if switched elemenet and false if default action had been prevented\n */\n emulateTab.to = function (target, sendKeyEventsWithShiftModifier) {\n if (sendKeyEventsWithShiftModifier === void 0) { sendKeyEventsWithShiftModifier = false; }\n return emulateTabFrom(activeElement()).to(target, sendKeyEventsWithShiftModifier);\n };\n /**\n * emulate tab to previous element\n *\n * @returns true if switched elemenet and false if default action had been prevented\n */\n emulateTab.backwards = function () { return emulateTab.to(getPreviousElement(activeElement()), shiftModifier); };\n /**\n * alias for emulateTab() that is more precise about it's direction\n *\n * @returns true if switched elemenet and false if default action had been prevented\n */\n emulateTab.forwards = function () { return emulateTab(); };\n /**\n * find all elements that are selectable by tab\n */\n emulateTab.findSelectableElements = findAllElementsSelectableByTab;\n})(emulateTab = exports.emulateTab || (exports.emulateTab = {}));\nfunction emulateTabFrom(source) {\n if (source === void 0) { source = document.body; }\n return {\n /**\n * emulate tab to the element before the starting element (which is the active element by default)\n *\n * @returns true if switched elemenet and false if default action had been prevented\n */\n toPreviousElement: function () { return emulateTabFromSourceToTarget(source, getPreviousElement(), shiftModifier); },\n /**\n * emulate tab to the element after the starting element (which is the active element by default)\n *\n * @returns true if switched elemenet and false if default action had been prevented\n */\n toNextElement: function () { return emulateTabFromSourceToTarget(source, getNextElement(source)); },\n /**\n * emulate tab to a custom given element\n *\n * @param target element after tab\n * @param sendKeyEventsWithShiftModifier like shift tab would do\n * @returns true if switched elemenet and false if default action had been prevented\n */\n to: function (target, sendKeyEventsWithShiftModifier) {\n if (sendKeyEventsWithShiftModifier === void 0) { sendKeyEventsWithShiftModifier = false; }\n return emulateTabFromSourceToTarget(source, target, sendKeyEventsWithShiftModifier);\n },\n };\n}\nfunction emulateTabFromSourceToTarget(source, target, sendKeyEventsWithShiftModifier) {\n if (sendKeyEventsWithShiftModifier === void 0) { sendKeyEventsWithShiftModifier = false; }\n var executeDefaultAction = source.dispatchEvent(createTabEvent('keydown', sendKeyEventsWithShiftModifier));\n if (executeDefaultAction) {\n source.blur();\n target.focus();\n if (document.activeElement !== target) {\n try {\n document.activeElement = target;\n }\n catch (e) {\n console.warn('could not switch active element');\n }\n }\n if (target instanceof HTMLInputElement && selectableTypes.test(target.type)) {\n target.selectionStart = 0;\n }\n var tabKeyup = createTabEvent('keyup', sendKeyEventsWithShiftModifier);\n target.dispatchEvent(tabKeyup);\n return true;\n }\n else {\n source.dispatchEvent(createTabEvent('keypress', sendKeyEventsWithShiftModifier));\n source.dispatchEvent(createTabEvent('keyup', sendKeyEventsWithShiftModifier));\n return false;\n }\n}\nfunction createTabEvent(type, sendKeyEventsWithShiftModifier) {\n if (sendKeyEventsWithShiftModifier === void 0) { sendKeyEventsWithShiftModifier = false; }\n return new KeyboardEvent(type, {\n code: 'Tab',\n key: 'Tab',\n cancelable: true,\n bubbles: true,\n shiftKey: sendKeyEventsWithShiftModifier,\n });\n}\nfunction activeElement() {\n var element = document.activeElement;\n return element instanceof HTMLElement ? element : undefined;\n}\nfunction getPreviousElement(lastElement) {\n if (lastElement === void 0) { lastElement = document.body; }\n var selectableElements = findAllElementsSelectableByTab();\n if (selectableElements.length < 1) {\n throw new Error('no selectable elements found');\n }\n var currentIndex = selectableElements.indexOf(lastElement);\n var previousIndex = (currentIndex > 0 ? currentIndex : selectableElements.length) - 1;\n var previousElement = selectableElements[previousIndex];\n return previousElement;\n}\nfunction getNextElement(lastElement) {\n if (lastElement === void 0) { lastElement = document.body; }\n var selectableElements = findAllElementsSelectableByTab();\n if (selectableElements.length < 1) {\n throw new Error('no selectable elements found');\n }\n var currentIndex = selectableElements.indexOf(lastElement);\n var nextIndex = currentIndex + 1 < selectableElements.length ? currentIndex + 1 : 0;\n var nextElement = selectableElements[nextIndex];\n return nextElement;\n}\nfunction findAllElementsSelectableByTab() {\n var allElements = Array.from(document.querySelectorAll('*')).filter(isHtmlElement);\n initIsVisibleOnce();\n var tabGroups = allElements\n .filter(testAll(hasValidTabIndex, isVisible, isNotDisabledInput, isNotSkippableAnchor, isNotCollapsed))\n .reduce(function (grouped, element) {\n var tabIndex = element.tabIndex;\n var tabGroup = grouped['' + tabIndex] || { tabIndex: tabIndex, elements: [] };\n tabGroup.elements.push(element);\n grouped[tabIndex] = tabGroup;\n return grouped;\n }, {});\n var selectableElements = Object.values(tabGroups)\n .sort(byComparingTabIndex)\n .reduce(function (all, more) { return all.concat(more.elements); }, new Array());\n return selectableElements;\n}\nvar isHtmlElement = function (element) { return element instanceof HTMLElement; };\nvar isVisible;\nvar initIsVisibleOnce = function () {\n var sizeAttributeKey = findSizeAttributeKey();\n if (sizeAttributeKey) {\n // console.log('use isVisible by size attribute: ' + sizeAttributeKey);\n isVisible = isVisibleBySize(sizeAttributeKey);\n }\n else {\n // console.log('use isVisible by parents');\n isVisible = isVisibleByParents;\n }\n initIsVisibleOnce = function () { };\n};\nvar isVisibleBySize = function (sizeAttribute) { return function (element) {\n var size = element[sizeAttribute];\n return !!size && typeof size === 'number' && size > 0;\n}; };\nfunction findSizeAttributeKey(element) {\n if (element === void 0) { element = document.body; }\n var htmlElement = element;\n var sizeAttributeKey = possibleSizeAttributeKeys\n .find(function (key) {\n var value = htmlElement[key];\n return value && typeof value === 'number' && value > 0;\n });\n if (sizeAttributeKey) {\n return sizeAttributeKey;\n }\n var childNodes = element.children;\n for (var _i = 0, _a = Array.from(childNodes); _i < _a.length; _i++) {\n var childNode = _a[_i];\n var childAttribute = findSizeAttributeKey(childNode);\n if (childAttribute) {\n return childAttribute;\n }\n }\n return undefined;\n}\nvar isVisibleByParents = function (element) {\n if (!element.isConnected) {\n return false;\n }\n if (element.tagName === 'BODY') {\n return true;\n }\n var style = getComputedStyle(element);\n if (style.display === 'none') {\n return false;\n }\n if (style.visibility === 'collapse') {\n return false;\n }\n var parent = element.parentElement;\n if (!parent) {\n return false;\n }\n return isVisibleByParents(parent);\n};\nfunction testAll() {\n var elementFilter = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n elementFilter[_i] = arguments[_i];\n }\n return function (element) { return !elementFilter.some(function (f) { return !f(element); }); };\n}\nfunction hasValidTabIndex(element) {\n return typeof element.tabIndex === 'number' && element.tabIndex >= 0;\n}\nvar isNotDisabledInput = function (element) { return !element.disabled; };\nfunction isNotSkippableAnchor(element) {\n return !(element instanceof HTMLAnchorElement)\n || !!element.href\n || element.getAttribute('tabIndex') !== null;\n}\nvar isNotCollapsed = function (element) {\n return getComputedStyle(element).visibility !== 'collapse';\n};\nfunction byComparingTabIndex(a, b) {\n if (a.tabIndex > 0 && b.tabIndex > 0) {\n return a.tabIndex - b.tabIndex;\n }\n if (a.tabIndex > 0) {\n return -a.tabIndex;\n }\n if (b.tabIndex > 0) {\n return b.tabIndex;\n }\n throw new Error('same tab index for two groups');\n}\n","import { useCombinedState } from '@spark-ui/hooks/use-combined-state'\nimport { emulateTab } from 'emulate-tab'\nimport {\n Children,\n ElementType,\n FC,\n ForwardRefExoticComponent,\n HTMLAttributes,\n isValidElement,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from 'react'\n\nimport { Slot } from '../slot'\n\ninterface ReturnedValue {\n Element:\n | ForwardRefExoticComponent<\n HTMLAttributes<HTMLElement> & {\n children?: ReactNode\n } & RefAttributes<HTMLElement>\n >\n | ElementType\n chipProps:\n | {\n type: 'button'\n 'aria-pressed'?: boolean\n 'data-state'?: 'on' | 'off'\n onClick: (event: MouseEvent<HTMLButtonElement>) => void\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n disabled?: boolean\n children: ReactNode\n }\n | {\n 'aria-disabled'?: boolean\n children: ReactNode\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n }\n compoundElements: {\n leadingIcon: ReactNode\n trailingIcon: ReactNode\n content: ReactNode\n clearButton: ReactNode\n }\n}\n\nconst getDisplayName = (element?: ReactElement) => {\n return element ? (element.type as FC).displayName : ''\n}\n\nconst findElement =\n (children: ReactNode) =>\n (...values: string[]) => {\n const validChildren = Children.toArray(children).filter(isValidElement)\n\n return validChildren.find(child => {\n const displayName = getDisplayName(child)\n\n return values.includes(displayName || '')\n })\n }\n\nexport const useChipElement = ({\n onClick,\n asChild,\n pressed,\n defaultPressed,\n disabled,\n value,\n defaultValue,\n children,\n onClear,\n}: {\n onClick?: (\n event: MouseEvent<HTMLButtonElement>,\n args: { pressed: boolean; value?: string | number | readonly string[] }\n ) => void\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n asChild?: boolean\n pressed?: boolean\n defaultPressed?: boolean\n value?: string | number | readonly string[]\n defaultValue?: string | number | readonly string[]\n disabled?: boolean\n children?: ReactNode\n onClear?: (event?: MouseEvent<HTMLButtonElement>) => void\n}): ReturnedValue => {\n const [isPressed, setIsPressed] = useCombinedState<boolean | undefined>(pressed, defaultPressed)\n const [innerValue] = useCombinedState<string | number | readonly string[] | undefined>(\n value,\n defaultValue\n )\n\n const findChipElement = findElement(children)\n\n const leadingIcon = findChipElement('Chip.LeadingIcon')\n const trailingIcon = findChipElement('Chip.TrailingIcon')\n const content = findChipElement('Chip.Content')\n const clearButton = findChipElement('Chip.ClearButton')\n\n const isButton = (onClick || isPressed) !== undefined\n\n const formattedChildren = [leadingIcon, content, clearButton].every(\n element => element === undefined\n ) ? (\n <span className=\"inline-block grow truncate\">{children}</span>\n ) : (\n <>\n {leadingIcon}\n {content}\n {leadingIcon === undefined ? trailingIcon : null}\n {clearButton}\n </>\n )\n\n const onKeyDown = (event: KeyboardEvent<HTMLButtonElement>): void => {\n if (!!clearButton && !disabled && ['Delete', 'Backspace'].includes(event.key)) {\n if (onClear) {\n onClear()\n event.key === 'Delete' && emulateTab()\n event.key === 'Backspace' && emulateTab.backwards()\n }\n }\n }\n\n if (isButton) {\n return {\n Element: asChild ? Slot : 'button',\n chipProps: {\n type: 'button',\n ...(isPressed !== undefined && {\n 'aria-pressed': isPressed,\n 'data-state': isPressed ? 'on' : 'off',\n }),\n onClick: (event: MouseEvent<HTMLButtonElement>): void => {\n isPressed !== undefined && setIsPressed(!isPressed)\n onClick && onClick(event, { pressed: isPressed as boolean, value: innerValue })\n },\n onKeyDown,\n disabled,\n children: formattedChildren,\n },\n compoundElements: {\n leadingIcon,\n trailingIcon,\n content,\n clearButton,\n },\n }\n }\n\n return {\n Element: asChild ? Slot : 'div',\n chipProps: {\n 'aria-disabled': disabled,\n children: formattedChildren,\n onKeyDown,\n },\n compoundElements: {\n leadingIcon,\n trailingIcon,\n content,\n clearButton,\n },\n }\n}\n","import { ComponentPropsWithoutRef, MouseEvent, Ref } from 'react'\n\nimport { chipStyles, type ChipStylesProps } from './Chip.styles'\nimport { ChipContext } from './useChipContext'\nimport { useChipElement } from './useChipElement'\n\ntype ChipPrimitiveProps = Omit<ComponentPropsWithoutRef<'button'>, 'onClick' | 'disabled' | 'type'>\n\nexport interface ChipProps extends ChipPrimitiveProps, Omit<ChipStylesProps, 'hasClearButton'> {\n /**\n * Configures a toggleButton aria-pressed initial value\n */\n defaultPressed?: boolean\n /**\n * Configures a toggleButton aria-pressed value\n */\n pressed?: boolean\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n /**\n * Event handler fired each clicking event\n */\n onClick?: (\n event: MouseEvent<HTMLButtonElement>,\n args: { pressed: boolean; value?: number | string | readonly string[] }\n ) => void\n /**\n * Clear chip handler\n */\n onClear?: (event?: MouseEvent<HTMLButtonElement>) => void\n ref?: Ref<HTMLButtonElement | HTMLDivElement>\n}\n\nexport const Chip = ({\n design = 'outlined',\n disabled,\n children,\n intent = 'basic',\n defaultPressed,\n pressed,\n asChild,\n className,\n onClick,\n onClear,\n ref: forwardedRef,\n ...otherProps\n}: ChipProps) => {\n const {\n Element: ChipElement,\n chipProps: { children: formattedChildren, ...chipProps },\n compoundElements,\n } = useChipElement({\n asChild,\n pressed,\n defaultPressed,\n onClick,\n disabled: !!disabled,\n value: otherProps.value,\n defaultValue: otherProps.defaultValue,\n children,\n onClear,\n })\n\n const { clearButton } = compoundElements\n\n return (\n <ChipContext.Provider value={{ disabled, design, intent, onClear }}>\n <ChipElement\n ref={forwardedRef}\n className={chipStyles({\n className,\n design,\n disabled,\n intent,\n hasClearButton: !!clearButton,\n })}\n {...{\n ...chipProps,\n ...otherProps,\n }}\n data-spark-component=\"chip\"\n >\n {formattedChildren}\n </ChipElement>\n </ChipContext.Provider>\n )\n}\n\nChip.displayName = 'Chip'\n","import { tw } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const chipClearButtonWrapperStyles = cva(\n ['ml-md flex h-full items-center justify-center focus-visible:outline-hidden'],\n {\n variants: {\n disabled: {\n false: ['cursor-pointer'],\n true: ['cursor-not-allowed'],\n },\n isBordered: {\n false: ['pr-md'],\n true: ['pr-[7px]'],\n },\n design: {\n outlined: [],\n tinted: [],\n dashed: [],\n },\n },\n compoundVariants: [\n {\n design: 'outlined',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'outlined',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n {\n design: 'tinted',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'tinted',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n {\n design: 'dashed',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'dashed',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n ],\n }\n)\n\nexport const chipClearButtonStyles = cva(\n ['rounded-full p-sz-2 [font-size:var(--spacing-sz-8)] border-sm', 'focus-visible:u-outline'],\n {\n variants: {\n disabled: {\n true: ['cursor-not-allowed'],\n false: ['cursor-pointer'],\n },\n },\n defaultVariants: {\n disabled: false,\n },\n }\n)\n\nexport type ChipClearButtonStylesProps = VariantProps<typeof chipClearButtonWrapperStyles>\n","import { Close } from '@spark-ui/icons/Close'\nimport {\n cloneElement,\n ComponentPropsWithoutRef,\n MouseEvent,\n ReactElement,\n Ref,\n useCallback,\n} from 'react'\n\nimport { Icon } from '../icon'\nimport {\n chipClearButtonStyles,\n type ChipClearButtonStylesProps,\n chipClearButtonWrapperStyles,\n} from './ChipClearButton.styles'\nimport { useChipContext } from './useChipContext'\n\nexport interface ChipClearButtonProps\n extends ComponentPropsWithoutRef<'span'>,\n ChipClearButtonStylesProps {\n label: string\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipClearButton = ({\n children = (\n <Icon>\n <Close />\n </Icon>\n ),\n tabIndex = 0,\n label,\n ref: forwardedRef,\n}: ChipClearButtonProps) => {\n const { design, disabled, onClear } = useChipContext()\n\n const onClearHandler = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation()\n !disabled && onClear && onClear(event)\n },\n [disabled, onClear]\n )\n\n return (\n <span\n className={chipClearButtonWrapperStyles({\n isBordered: ['outline', 'dashed'].includes(`${design}`),\n disabled: !!disabled,\n design,\n })}\n onClick={onClearHandler}\n ref={forwardedRef}\n >\n <button\n tabIndex={tabIndex}\n type=\"button\"\n disabled={!!disabled}\n className={chipClearButtonStyles({ disabled })}\n aria-label={label}\n >\n {children && cloneElement(children as ReactElement<HTMLElement>, { ariaLabel: label })}\n </button>\n </span>\n )\n}\n\nChipClearButton.displayName = 'Chip.ClearButton'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport type ChipContentProps = ComponentPropsWithoutRef<'span'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipContent = ({ children, className, ref: forwardedRef }: ChipContentProps) => {\n return (\n <span className={cx('inline-block grow truncate', className)} ref={forwardedRef}>\n {children}\n </span>\n )\n}\n\nChipContent.displayName = 'Chip.Content'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport type ChipIconProps = ComponentPropsWithoutRef<'span'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipIcon = ({ children, className, ref: forwardedRef }: ChipIconProps) => {\n return (\n <span className={cx('flex h-full items-center justify-center', className)} ref={forwardedRef}>\n {children}\n </span>\n )\n}\n\nChipIcon.displayName = 'Chip.Icon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { ChipIcon, type ChipIconProps } from './ChipIcon'\n\nexport type ChipLeadingIconProps = ChipIconProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipLeadingIcon = ({\n className,\n ref: forwardedRef,\n ...props\n}: ChipLeadingIconProps) => (\n <ChipIcon className={cx('mr-sm', className)} ref={forwardedRef} {...props} />\n)\n\nChipLeadingIcon.displayName = 'Chip.LeadingIcon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { ChipIcon, type ChipIconProps } from './ChipIcon'\n\nexport type ChipTrailingIconProps = ChipIconProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipTrailingIcon = ({\n className,\n ref: forwardedRef,\n ...props\n}: ChipTrailingIconProps) => (\n <ChipIcon className={cx('ml-md', className)} ref={forwardedRef} {...props} />\n)\n\nChipTrailingIcon.displayName = 'Chip.TrailingIcon'\n","import { Chip as Root } from './Chip'\nimport { ChipClearButton } from './ChipClearButton'\nimport { ChipContent } from './ChipContent'\nimport { ChipLeadingIcon } from './ChipLeadingIcon'\nimport { ChipTrailingIcon } from './ChipTrailingIcon'\n\nexport const Chip: typeof Root & {\n Content: typeof ChipContent\n LeadingIcon: typeof ChipLeadingIcon\n TrailingIcon: typeof ChipTrailingIcon\n ClearButton: typeof ChipClearButton\n} = Object.assign(Root, {\n Content: ChipContent,\n LeadingIcon: ChipLeadingIcon,\n TrailingIcon: ChipTrailingIcon,\n ClearButton: ChipClearButton,\n})\n\nChip.displayName = 'Chip'\nChip.ClearButton.displayName = 'Chip.ClearButton'\nChip.Content.displayName = 'Chip.Content'\nChip.LeadingIcon.displayName = 'Chip.LeadingIcon'\nChip.TrailingIcon.displayName = 'Chip.TrailingIcon'\n\nexport { type ChipClearButtonProps } from './ChipClearButton'\nexport { type ChipContentProps } from './ChipContent'\nexport { type ChipLeadingIconProps } from './ChipLeadingIcon'\nexport { type ChipTrailingIconProps } from './ChipTrailingIcon'\n"],"names":["outlinedVariants","tw","tintedVariants","dashedVariants","chipStyles","cva","makeVariants","ChipContext","createContext","useChipContext","useContext","exports","possibleSizeAttributeKeys","shiftModifier","selectableTypes","emulateTab","source","activeElement","target","getNextElement","emulateTabFromSourceToTarget","emulateTabFrom","sendKeyEventsWithShiftModifier","getPreviousElement","findAllElementsSelectableByTab","executeDefaultAction","createTabEvent","tabKeyup","type","element","lastElement","selectableElements","currentIndex","previousIndex","previousElement","nextIndex","nextElement","allElements","isHtmlElement","initIsVisibleOnce","tabGroups","testAll","hasValidTabIndex","isVisible","isNotDisabledInput","isNotSkippableAnchor","isNotCollapsed","grouped","tabIndex","tabGroup","byComparingTabIndex","all","more","sizeAttributeKey","findSizeAttributeKey","isVisibleBySize","isVisibleByParents","sizeAttribute","size","htmlElement","key","value","childNodes","_i","_a","childNode","childAttribute","style","parent","elementFilter","f","a","b","getDisplayName","findElement","children","values","Children","isValidElement","child","displayName","useChipElement","onClick","asChild","pressed","defaultPressed","disabled","defaultValue","onClear","isPressed","setIsPressed","useCombinedState","innerValue","findChipElement","leadingIcon","trailingIcon","content","clearButton","isButton","formattedChildren","jsx","jsxs","Fragment","onKeyDown","event","Slot","Chip","design","intent","className","forwardedRef","otherProps","ChipElement","chipProps","compoundElements","chipClearButtonWrapperStyles","chipClearButtonStyles","ChipClearButton","Icon","Close","label","onClearHandler","useCallback","cloneElement","ChipContent","cx","ChipIcon","ChipLeadingIcon","props","ChipTrailingIcon","Root"],"mappings":"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","x_google_ignoreList":[5]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/chip/variants/outlined.ts","../../src/chip/variants/tinted.ts","../../src/chip/variants/dashed.ts","../../src/chip/Chip.styles.tsx","../../src/chip/useChipContext.tsx","../../src/chip/useChipElement.tsx","../../src/chip/Chip.tsx","../../src/chip/ChipClearButton.styles.tsx","../../src/chip/ChipClearButton.tsx","../../src/chip/ChipContent.tsx","../../src/chip/ChipIcon.tsx","../../src/chip/ChipLeadingIcon.tsx","../../src/chip/ChipTrailingIcon.tsx","../../src/chip/index.ts"],"sourcesContent":["import { tw } from '@spark-ui/internal-utils'\n\nexport const outlinedVariants = [\n /** Intents **/\n {\n design: 'outlined',\n intent: 'main',\n class: tw([\n 'enabled:hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'aria-pressed:bg-main-container aria-pressed:text-on-main-container aria-pressed:enabled:hover:bg-main-container/dim-1',\n 'text-main',\n ]),\n },\n {\n design: 'outlined',\n intent: 'support',\n class: tw([\n 'enabled:hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'aria-pressed:bg-support-container aria-pressed:text-on-support-container aria-pressed:enabled:hover:bg-support-container/dim-1',\n 'text-support',\n ]),\n },\n {\n design: 'outlined',\n intent: 'basic',\n class: tw([\n 'enabled:hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'aria-pressed:bg-basic-container aria-pressed:text-on-basic-container aria-pressed:enabled:hover:bg-basic-container/dim-1',\n 'text-basic',\n ]),\n },\n {\n intent: 'accent',\n design: 'outlined',\n class: tw([\n 'enabled:hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'aria-pressed:bg-accent-container',\n 'aria-pressed:bg-accent-container aria-pressed:text-on-accent-container aria-pressed:enabled:hover:bg-accent-container/dim-1',\n 'text-accent',\n ]),\n },\n {\n design: 'outlined',\n intent: 'success',\n class: tw([\n 'enabled:hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'aria-pressed:bg-success-container aria-pressed:text-on-success-container aria-pressed:enabled:hover:bg-success-container/dim-1',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'outlined',\n class: tw([\n 'enabled:hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'aria-pressed:bg-alert-container aria-pressed:text-on-alert-container aria-pressed:enabled:hover:bg-alert-container/dim-1',\n 'text-alert',\n ]),\n },\n {\n design: 'outlined',\n intent: 'danger',\n class: tw([\n 'enabled:hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'aria-pressed:bg-error-container aria-pressed:text-on-error-container aria-pressed:enabled:hover:bg-error-container/dim-1',\n 'text-error',\n ]),\n },\n {\n design: 'outlined',\n intent: 'info',\n class: tw([\n 'enabled:hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'aria-pressed:bg-info-container aria-pressed:text-on-info-container aria-pressed:enabled:hover:bg-info-container/dim-1',\n 'text-info',\n ]),\n },\n {\n design: 'outlined',\n intent: 'neutral',\n class: tw([\n 'enabled:hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'aria-pressed:bg-neutral-container aria-pressed:text-on-neutral-container aria-pressed:enabled:hover:bg-neutral-container/dim-1',\n 'text-neutral',\n ]),\n },\n {\n design: 'outlined',\n intent: 'surface',\n class: tw([\n 'enabled:hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-surface',\n ]),\n },\n /** Spacings **/\n {\n design: 'outlined',\n hasClearButton: false,\n class: tw(['px-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n {\n design: 'outlined',\n hasClearButton: true,\n class: tw(['pl-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const tintedVariants = [\n /** Intents **/\n {\n intent: 'main',\n design: 'tinted',\n class: tw([\n 'bg-main-container',\n 'enabled:hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n 'aria-pressed:bg-main aria-pressed:text-on-main aria-pressed:enabled:hover:bg-main/dim-1',\n 'text-on-main-container',\n ]),\n },\n {\n intent: 'support',\n design: 'tinted',\n class: tw([\n 'bg-support-container',\n 'enabled:hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n 'aria-pressed:bg-support aria-pressed:text-on-support aria-pressed:enabled:hover:bg-support/dim-1',\n 'text-on-support-container',\n ]),\n },\n {\n intent: 'basic',\n design: 'tinted',\n class: tw([\n 'bg-basic-container',\n 'enabled:hover:bg-basic-container-hovered',\n 'enabled:active:bg-basic-container-hovered',\n 'focus-visible:bg-basic-container-hovered',\n 'aria-pressed:bg-basic aria-pressed:text-on-basic aria-pressed:enabled:hover:bg-basic/dim-1',\n 'text-on-basic-container',\n ]),\n },\n {\n intent: 'accent',\n design: 'tinted',\n class: tw([\n 'bg-accent-container',\n 'enabled:hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n 'aria-pressed:bg-accent aria-pressed:text-on-accent aria-pressed:enabled:hover:bg-accent/dim-1',\n 'text-on-accent-container',\n ]),\n },\n {\n intent: 'success',\n design: 'tinted',\n class: tw([\n 'bg-success-container',\n 'enabled:hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n 'aria-pressed:bg-success aria-pressed:text-on-success aria-pressed:enabled:hover:bg-success/dim-1',\n 'text-on-success-container',\n ]),\n },\n {\n intent: 'alert',\n design: 'tinted',\n class: tw([\n 'bg-alert-container',\n 'enabled:hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n 'aria-pressed:bg-alert aria-pressed:text-on-alert aria-pressed:enabled:hover:bg-alert/dim-1',\n 'text-on-alert-container',\n ]),\n },\n {\n intent: 'danger',\n design: 'tinted',\n class: tw([\n 'bg-error-container',\n 'enabled:hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n 'aria-pressed:bg-error aria-pressed:text-on-error aria-pressed:enabled:hover:bg-error/dim-1',\n 'text-on-error-container',\n ]),\n },\n {\n intent: 'info',\n design: 'tinted',\n class: tw([\n 'bg-info-container',\n 'enabled:hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n 'aria-pressed:bg-info aria-pressed:text-on-info aria-pressed:enabled:hover:bg-info/dim-1',\n 'text-on-info-container',\n ]),\n },\n {\n intent: 'neutral',\n design: 'tinted',\n class: tw([\n 'bg-neutral-container',\n 'enabled:hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n 'aria-pressed:bg-neutral aria-pressed:text-on-neutral aria-pressed:enabled:hover:bg-neutral/dim-1',\n 'text-on-neutral-container',\n ]),\n },\n {\n intent: 'surface',\n design: 'tinted',\n class: tw([\n 'bg-surface/dim-1',\n 'enabled:hover:bg-surface-hovered/dim-1',\n 'enabled:active:bg-surface-hovered/dim-1',\n 'focus-visible:bg-surface-hovered/dim-1',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-on-surface/dim-1',\n ]),\n },\n /** Spacings **/\n {\n design: 'tinted',\n hasClearButton: false,\n class: tw(['px-md']),\n },\n {\n design: 'tinted',\n hasClearButton: true,\n class: tw(['pl-md']),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const dashedVariants = [\n /** Intents **/\n {\n intent: 'main',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'aria-pressed:bg-main-container aria-pressed:text-on-main-container aria-pressed:enabled:hover:bg-main-container/dim-1',\n 'text-main',\n ]),\n },\n {\n intent: 'support',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'aria-pressed:bg-support-container aria-pressed:text-on-support-container aria-pressed:enabled:hover:bg-support-container/dim-1',\n 'text-support',\n ]),\n },\n {\n intent: 'basic',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-basic/dim-5',\n 'enabled:active:bg-basic/dim-5',\n 'focus-visible:bg-basic/dim-5',\n 'aria-pressed:bg-basic-container aria-pressed:text-on-basic-container aria-pressed:enabled:hover:bg-basic-container/dim-1',\n 'text-basic',\n ]),\n },\n {\n intent: 'accent',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'aria-pressed:bg-accent-container aria-pressed:text-on-accent-container aria-pressed:enabled:hover:bg-accent-container/dim-1',\n 'text-accent',\n ]),\n },\n {\n intent: 'success',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'aria-pressed:bg-success-container aria-pressed:text-on-success-container aria-pressed:enabled:hover:bg-success-container/dim-1',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'aria-pressed:bg-alert-container aria-pressed:text-on-alert-container aria-pressed:enabled:hover:bg-alert-container/dim-1',\n 'text-alert',\n ]),\n },\n {\n intent: 'danger',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'aria-pressed:bg-error-container aria-pressed:text-on-error-container aria-pressed:enabled:hover:bg-error-container/dim-1',\n 'text-error',\n ]),\n },\n {\n intent: 'info',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'aria-pressed:bg-info-container aria-pressed:text-on-info-container aria-pressed:enabled:hover:bg-info-container/dim-1',\n 'text-info',\n ]),\n },\n {\n intent: 'neutral',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'aria-pressed:bg-neutral-container aria-pressed:text-on-neutral-container aria-pressed:enabled:hover:bg-neutral-container/dim-1',\n 'text-neutral',\n ]),\n },\n {\n intent: 'surface',\n design: 'dashed',\n class: tw([\n 'enabled:hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'aria-pressed:bg-surface aria-pressed:text-on-surface aria-pressed:enabled:hover:bg-surface-hovered',\n 'text-surface',\n ]),\n },\n /** Spacings **/\n {\n design: 'dashed',\n hasClearButton: false,\n class: tw(['px-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n {\n design: 'dashed',\n hasClearButton: true,\n class: tw(['pl-[calc(var(--spacing-md)-var(--border-width-sm))]']),\n },\n] as const\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nimport { dashedVariants, outlinedVariants, tintedVariants } from './variants'\n\nexport const chipStyles = cva(\n [\n 'box-border inline-flex h-sz-32 flex-nowrap items-center justify-center rounded-md text-body-1 font-regular',\n 'focus-visible:u-outline',\n 'ease-out duration-150',\n ],\n {\n variants: {\n /**\n * Main style of the chip.\n *\n * - `filled`: Chip will be plain.\n *\n * - `outlined`: Chip will be transparent with an outline.\n *\n * - `tinted`: Chip will be filled but using a lighter color scheme.\n *\n * - `dashed`: Chip will be transparent with an outline dashed.\n */\n design: makeVariants<'design', ['outlined', 'tinted', 'dashed']>({\n outlined: ['bg-transparent border-sm border-solid border-current'],\n tinted: [''],\n dashed: [\n 'bg-transparent border-sm border-dashed shadow-none focus-visible:border-outline-high',\n ],\n }),\n /**\n * Color scheme of the chip.\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'basic',\n 'accent',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n ]\n >({\n main: [],\n support: [],\n basic: [],\n accent: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n }),\n /**\n * Disable the chip, preventing user interaction and adding opacity.\n */\n disabled: {\n true: ['cursor-not-allowed', 'opacity-dim-3'],\n },\n hasClearButton: {\n true: [],\n false: [],\n },\n // 'pl-[calc(var(--spacing-md)-(var(--border-width-sm)))]'\n },\n compoundVariants: [...outlinedVariants, ...tintedVariants, ...dashedVariants],\n defaultVariants: {\n design: 'outlined',\n intent: 'basic',\n },\n }\n)\n\nexport type ChipStylesProps = VariantProps<typeof chipStyles>\n","import { createContext, useContext } from 'react'\n\nimport { type ChipProps } from './Chip'\n\nexport type ChipsContextType = Pick<ChipProps, 'disabled' | 'design' | 'intent' | 'onClear'>\n\nexport const ChipContext = createContext<ChipsContextType>({} as ChipsContextType)\nexport const useChipContext = () => useContext(ChipContext) || {}\n","import { useCombinedState } from '@spark-ui/hooks/use-combined-state'\nimport { emulateTab } from 'emulate-tab'\nimport {\n Children,\n ElementType,\n FC,\n ForwardRefExoticComponent,\n HTMLAttributes,\n isValidElement,\n KeyboardEvent,\n MouseEvent,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from 'react'\n\nimport { Slot } from '../slot'\n\ninterface ReturnedValue {\n Element:\n | ForwardRefExoticComponent<\n HTMLAttributes<HTMLElement> & {\n children?: ReactNode\n } & RefAttributes<HTMLElement>\n >\n | ElementType\n chipProps:\n | {\n type: 'button'\n 'aria-pressed'?: boolean\n 'data-state'?: 'on' | 'off'\n onClick: (event: MouseEvent<HTMLButtonElement>) => void\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n disabled?: boolean\n children: ReactNode\n }\n | {\n 'aria-disabled'?: boolean\n children: ReactNode\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n }\n compoundElements: {\n leadingIcon: ReactNode\n trailingIcon: ReactNode\n content: ReactNode\n clearButton: ReactNode\n }\n}\n\nconst getDisplayName = (element?: ReactElement) => {\n return element ? (element.type as FC).displayName : ''\n}\n\nconst findElement =\n (children: ReactNode) =>\n (...values: string[]) => {\n const validChildren = Children.toArray(children).filter(isValidElement)\n\n return validChildren.find(child => {\n const displayName = getDisplayName(child)\n\n return values.includes(displayName || '')\n })\n }\n\nexport const useChipElement = ({\n onClick,\n asChild,\n pressed,\n defaultPressed,\n disabled,\n value,\n defaultValue,\n children,\n onClear,\n}: {\n onClick?: (\n event: MouseEvent<HTMLButtonElement>,\n args: { pressed: boolean; value?: string | number | readonly string[] }\n ) => void\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void\n asChild?: boolean\n pressed?: boolean\n defaultPressed?: boolean\n value?: string | number | readonly string[]\n defaultValue?: string | number | readonly string[]\n disabled?: boolean\n children?: ReactNode\n onClear?: (event?: MouseEvent<HTMLButtonElement>) => void\n}): ReturnedValue => {\n const [isPressed, setIsPressed] = useCombinedState<boolean | undefined>(pressed, defaultPressed)\n const [innerValue] = useCombinedState<string | number | readonly string[] | undefined>(\n value,\n defaultValue\n )\n\n const findChipElement = findElement(children)\n\n const leadingIcon = findChipElement('Chip.LeadingIcon')\n const trailingIcon = findChipElement('Chip.TrailingIcon')\n const content = findChipElement('Chip.Content')\n const clearButton = findChipElement('Chip.ClearButton')\n\n const isButton = (onClick || isPressed) !== undefined\n\n const formattedChildren = [leadingIcon, content, clearButton].every(\n element => element === undefined\n ) ? (\n <span className=\"inline-block grow truncate\">{children}</span>\n ) : (\n <>\n {leadingIcon}\n {content}\n {leadingIcon === undefined ? trailingIcon : null}\n {clearButton}\n </>\n )\n\n const onKeyDown = (event: KeyboardEvent<HTMLButtonElement>): void => {\n if (!!clearButton && !disabled && ['Delete', 'Backspace'].includes(event.key)) {\n if (onClear) {\n onClear()\n event.key === 'Delete' && emulateTab()\n event.key === 'Backspace' && emulateTab.backwards()\n }\n }\n }\n\n if (isButton) {\n return {\n Element: asChild ? Slot : 'button',\n chipProps: {\n type: 'button',\n ...(isPressed !== undefined && {\n 'aria-pressed': isPressed,\n 'data-state': isPressed ? 'on' : 'off',\n }),\n onClick: (event: MouseEvent<HTMLButtonElement>): void => {\n isPressed !== undefined && setIsPressed(!isPressed)\n onClick && onClick(event, { pressed: isPressed as boolean, value: innerValue })\n },\n onKeyDown,\n disabled,\n children: formattedChildren,\n },\n compoundElements: {\n leadingIcon,\n trailingIcon,\n content,\n clearButton,\n },\n }\n }\n\n return {\n Element: asChild ? Slot : 'div',\n chipProps: {\n 'aria-disabled': disabled,\n children: formattedChildren,\n onKeyDown,\n },\n compoundElements: {\n leadingIcon,\n trailingIcon,\n content,\n clearButton,\n },\n }\n}\n","import { ComponentPropsWithoutRef, MouseEvent, Ref } from 'react'\n\nimport { chipStyles, type ChipStylesProps } from './Chip.styles'\nimport { ChipContext } from './useChipContext'\nimport { useChipElement } from './useChipElement'\n\ntype ChipPrimitiveProps = Omit<ComponentPropsWithoutRef<'button'>, 'onClick' | 'disabled' | 'type'>\n\nexport interface ChipProps extends ChipPrimitiveProps, Omit<ChipStylesProps, 'hasClearButton'> {\n /**\n * Configures a toggleButton aria-pressed initial value\n */\n defaultPressed?: boolean\n /**\n * Configures a toggleButton aria-pressed value\n */\n pressed?: boolean\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n /**\n * Event handler fired each clicking event\n */\n onClick?: (\n event: MouseEvent<HTMLButtonElement>,\n args: { pressed: boolean; value?: number | string | readonly string[] }\n ) => void\n /**\n * Clear chip handler\n */\n onClear?: (event?: MouseEvent<HTMLButtonElement>) => void\n ref?: Ref<HTMLButtonElement | HTMLDivElement>\n}\n\nexport const Chip = ({\n design = 'outlined',\n disabled,\n children,\n intent = 'basic',\n defaultPressed,\n pressed,\n asChild,\n className,\n onClick,\n onClear,\n ref: forwardedRef,\n ...otherProps\n}: ChipProps) => {\n const {\n Element: ChipElement,\n chipProps: { children: formattedChildren, ...chipProps },\n compoundElements,\n } = useChipElement({\n asChild,\n pressed,\n defaultPressed,\n onClick,\n disabled: !!disabled,\n value: otherProps.value,\n defaultValue: otherProps.defaultValue,\n children,\n onClear,\n })\n\n const { clearButton } = compoundElements\n\n return (\n <ChipContext.Provider value={{ disabled, design, intent, onClear }}>\n <ChipElement\n ref={forwardedRef}\n className={chipStyles({\n className,\n design,\n disabled,\n intent,\n hasClearButton: !!clearButton,\n })}\n {...{\n ...chipProps,\n ...otherProps,\n }}\n data-spark-component=\"chip\"\n >\n {formattedChildren}\n </ChipElement>\n </ChipContext.Provider>\n )\n}\n\nChip.displayName = 'Chip'\n","import { tw } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const chipClearButtonWrapperStyles = cva(\n ['ml-md flex h-full items-center justify-center focus-visible:outline-hidden'],\n {\n variants: {\n disabled: {\n false: ['cursor-pointer'],\n true: ['cursor-not-allowed'],\n },\n isBordered: {\n false: ['pr-md'],\n true: ['pr-[7px]'],\n },\n design: {\n outlined: [],\n tinted: [],\n dashed: [],\n },\n },\n compoundVariants: [\n {\n design: 'outlined',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'outlined',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n {\n design: 'tinted',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'tinted',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n {\n design: 'dashed',\n disabled: false,\n class: tw(['hover:opacity-dim-1']),\n },\n {\n design: 'dashed',\n disabled: true,\n class: tw(['opacity-dim-3']),\n },\n ],\n }\n)\n\nexport const chipClearButtonStyles = cva(\n ['rounded-full p-sz-2 [font-size:var(--spacing-sz-8)] border-sm', 'focus-visible:u-outline'],\n {\n variants: {\n disabled: {\n true: ['cursor-not-allowed'],\n false: ['cursor-pointer'],\n },\n },\n defaultVariants: {\n disabled: false,\n },\n }\n)\n\nexport type ChipClearButtonStylesProps = VariantProps<typeof chipClearButtonWrapperStyles>\n","import { Close } from '@spark-ui/icons/Close'\nimport {\n cloneElement,\n ComponentPropsWithoutRef,\n MouseEvent,\n ReactElement,\n Ref,\n useCallback,\n} from 'react'\n\nimport { Icon } from '../icon'\nimport {\n chipClearButtonStyles,\n type ChipClearButtonStylesProps,\n chipClearButtonWrapperStyles,\n} from './ChipClearButton.styles'\nimport { useChipContext } from './useChipContext'\n\nexport interface ChipClearButtonProps\n extends ComponentPropsWithoutRef<'span'>,\n ChipClearButtonStylesProps {\n label: string\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipClearButton = ({\n children = (\n <Icon>\n <Close />\n </Icon>\n ),\n tabIndex = 0,\n label,\n ref: forwardedRef,\n}: ChipClearButtonProps) => {\n const { design, disabled, onClear } = useChipContext()\n\n const onClearHandler = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation()\n !disabled && onClear && onClear(event)\n },\n [disabled, onClear]\n )\n\n return (\n <span\n className={chipClearButtonWrapperStyles({\n isBordered: ['outline', 'dashed'].includes(`${design}`),\n disabled: !!disabled,\n design,\n })}\n onClick={onClearHandler}\n ref={forwardedRef}\n >\n <button\n tabIndex={tabIndex}\n type=\"button\"\n disabled={!!disabled}\n className={chipClearButtonStyles({ disabled })}\n aria-label={label}\n >\n {children && cloneElement(children as ReactElement<HTMLElement>, { ariaLabel: label })}\n </button>\n </span>\n )\n}\n\nChipClearButton.displayName = 'Chip.ClearButton'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport type ChipContentProps = ComponentPropsWithoutRef<'span'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipContent = ({ children, className, ref: forwardedRef }: ChipContentProps) => {\n return (\n <span className={cx('inline-block grow truncate', className)} ref={forwardedRef}>\n {children}\n </span>\n )\n}\n\nChipContent.displayName = 'Chip.Content'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, Ref } from 'react'\n\nexport type ChipIconProps = ComponentPropsWithoutRef<'span'> & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipIcon = ({ children, className, ref: forwardedRef }: ChipIconProps) => {\n return (\n <span className={cx('flex h-full items-center justify-center', className)} ref={forwardedRef}>\n {children}\n </span>\n )\n}\n\nChipIcon.displayName = 'Chip.Icon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { ChipIcon, type ChipIconProps } from './ChipIcon'\n\nexport type ChipLeadingIconProps = ChipIconProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipLeadingIcon = ({\n className,\n ref: forwardedRef,\n ...props\n}: ChipLeadingIconProps) => (\n <ChipIcon className={cx('mr-sm', className)} ref={forwardedRef} {...props} />\n)\n\nChipLeadingIcon.displayName = 'Chip.LeadingIcon'\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { ChipIcon, type ChipIconProps } from './ChipIcon'\n\nexport type ChipTrailingIconProps = ChipIconProps & {\n ref?: Ref<HTMLSpanElement>\n}\n\nexport const ChipTrailingIcon = ({\n className,\n ref: forwardedRef,\n ...props\n}: ChipTrailingIconProps) => (\n <ChipIcon className={cx('ml-md', className)} ref={forwardedRef} {...props} />\n)\n\nChipTrailingIcon.displayName = 'Chip.TrailingIcon'\n","import { Chip as Root } from './Chip'\nimport { ChipClearButton } from './ChipClearButton'\nimport { ChipContent } from './ChipContent'\nimport { ChipLeadingIcon } from './ChipLeadingIcon'\nimport { ChipTrailingIcon } from './ChipTrailingIcon'\n\nexport const Chip: typeof Root & {\n Content: typeof ChipContent\n LeadingIcon: typeof ChipLeadingIcon\n TrailingIcon: typeof ChipTrailingIcon\n ClearButton: typeof ChipClearButton\n} = Object.assign(Root, {\n Content: ChipContent,\n LeadingIcon: ChipLeadingIcon,\n TrailingIcon: ChipTrailingIcon,\n ClearButton: ChipClearButton,\n})\n\nChip.displayName = 'Chip'\nChip.ClearButton.displayName = 'Chip.ClearButton'\nChip.Content.displayName = 'Chip.Content'\nChip.LeadingIcon.displayName = 'Chip.LeadingIcon'\nChip.TrailingIcon.displayName = 'Chip.TrailingIcon'\n\nexport { type ChipClearButtonProps } from './ChipClearButton'\nexport { type ChipContentProps } from './ChipContent'\nexport { type ChipLeadingIconProps } from './ChipLeadingIcon'\nexport { type ChipTrailingIconProps } from './ChipTrailingIcon'\n"],"names":["outlinedVariants","tw","tintedVariants","dashedVariants","chipStyles","cva","makeVariants","ChipContext","createContext","useChipContext","useContext","getDisplayName","element","findElement","children","values","Children","isValidElement","child","displayName","useChipElement","onClick","asChild","pressed","defaultPressed","disabled","value","defaultValue","onClear","isPressed","setIsPressed","useCombinedState","innerValue","findChipElement","leadingIcon","trailingIcon","content","clearButton","isButton","formattedChildren","jsx","jsxs","Fragment","onKeyDown","event","emulateTab","Slot","Chip","design","intent","className","forwardedRef","otherProps","ChipElement","chipProps","compoundElements","chipClearButtonWrapperStyles","chipClearButtonStyles","ChipClearButton","Icon","Close","tabIndex","label","onClearHandler","useCallback","cloneElement","ChipContent","cx","ChipIcon","ChipLeadingIcon","props","ChipTrailingIcon","Root"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),a=require("@base-ui/react/collapsible"),u=require("class-variance-authority"),g=require("../Slot-DQ8z2zsy.js");function s(e,l){const t=e?g.Slot:l;return e?({...o})=>n.jsx(t,{...o}):void 0}const r=({asChild:e=!1,className:l,children:t,hiddenUntilFound:o=!0,...d})=>{const b=s(e,"div");return n.jsx(a.Collapsible.Panel,{"data-spark-component":"collapsible-content",className:u.cx("overflow-hidden","h-[var(--collapsible-panel-height)]","transition-all duration-200","motion-reduce:transition-none","data-[starting-style]:h-0","data-[ending-style]:h-0",l),render:b,hiddenUntilFound:o,...d,children:t})};r.displayName="Collapsible.Content";const p=({asChild:e=!1,children:l,...t})=>{const o=s(e,"div");return n.jsx(a.Collapsible.Root,{"data-spark-component":"collapsible",render:o,...t,children:l})};p.displayName="Collapsible";const i=({asChild:e=!1,children:l,...t})=>{const o=s(e,"button");return n.jsx(a.Collapsible.Trigger,{"data-spark-component":"collapsible-trigger",render:o,...t,children:l})};i.displayName="Collapsible.Trigger";const c=Object.assign(p,{Trigger:i,Content:r});c.displayName="Collapsible";i.displayName="Collapsible.Trigger";r.displayName="Collapsible.Content";exports.Collapsible=c;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../node_modules/@base-ui/react/esm/collapsible/root/stateAttributesMapping.js","../../../../node_modules/@base-ui/react/esm/collapsible/root/CollapsibleRoot.js","../../../../node_modules/@base-ui/react/esm/collapsible/trigger/CollapsibleTrigger.js","../../../../node_modules/@base-ui/react/esm/collapsible/panel/CollapsiblePanelCssVars.js","../../../../node_modules/@base-ui/react/esm/collapsible/panel/CollapsiblePanel.js","../../src/collapsible/useRenderSlot.tsx","../../src/collapsible/Content.tsx","../../src/collapsible/Root.tsx","../../src/collapsible/Trigger.tsx","../../src/collapsible/index.ts"],"sourcesContent":["import { collapsibleOpenStateMapping as baseMapping } from \"../../utils/collapsibleOpenStateMapping.js\";\nimport { transitionStatusMapping } from \"../../utils/stateAttributesMapping.js\";\nexport const collapsibleStateAttributesMapping = {\n ...baseMapping,\n ...transitionStatusMapping\n};","'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useRenderElement } from \"../../utils/useRenderElement.js\";\nimport { useCollapsibleRoot } from \"./useCollapsibleRoot.js\";\nimport { CollapsibleRootContext } from \"./CollapsibleRootContext.js\";\nimport { collapsibleStateAttributesMapping } from \"./stateAttributesMapping.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Groups all parts of the collapsible.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Collapsible](https://base-ui.com/react/components/collapsible)\n */\nexport const CollapsibleRoot = /*#__PURE__*/React.forwardRef(function CollapsibleRoot(componentProps, forwardedRef) {\n const {\n render,\n className,\n defaultOpen = false,\n disabled = false,\n onOpenChange: onOpenChangeProp,\n open,\n ...elementProps\n } = componentProps;\n const onOpenChange = useStableCallback(onOpenChangeProp);\n const collapsible = useCollapsibleRoot({\n open,\n defaultOpen,\n onOpenChange,\n disabled\n });\n const state = React.useMemo(() => ({\n open: collapsible.open,\n disabled: collapsible.disabled,\n transitionStatus: collapsible.transitionStatus\n }), [collapsible.open, collapsible.disabled, collapsible.transitionStatus]);\n const contextValue = React.useMemo(() => ({\n ...collapsible,\n onOpenChange,\n state\n }), [collapsible, onOpenChange, state]);\n const element = useRenderElement('div', componentProps, {\n state,\n ref: forwardedRef,\n props: elementProps,\n stateAttributesMapping: collapsibleStateAttributesMapping\n });\n return /*#__PURE__*/_jsx(CollapsibleRootContext.Provider, {\n value: contextValue,\n children: element\n });\n});\nif (process.env.NODE_ENV !== \"production\") CollapsibleRoot.displayName = \"CollapsibleRoot\";","'use client';\n\nimport * as React from 'react';\nimport { triggerOpenStateMapping } from \"../../utils/collapsibleOpenStateMapping.js\";\nimport { transitionStatusMapping } from \"../../utils/stateAttributesMapping.js\";\nimport { useRenderElement } from \"../../utils/useRenderElement.js\";\nimport { useButton } from \"../../use-button/index.js\";\nimport { useCollapsibleRootContext } from \"../root/CollapsibleRootContext.js\";\nconst stateAttributesMapping = {\n ...triggerOpenStateMapping,\n ...transitionStatusMapping\n};\n\n/**\n * A button that opens and closes the collapsible panel.\n * Renders a `<button>` element.\n *\n * Documentation: [Base UI Collapsible](https://base-ui.com/react/components/collapsible)\n */\nexport const CollapsibleTrigger = /*#__PURE__*/React.forwardRef(function CollapsibleTrigger(componentProps, forwardedRef) {\n const {\n panelId,\n open,\n handleTrigger,\n state,\n disabled: contextDisabled\n } = useCollapsibleRootContext();\n const {\n className,\n disabled = contextDisabled,\n id,\n render,\n nativeButton = true,\n ...elementProps\n } = componentProps;\n const {\n getButtonProps,\n buttonRef\n } = useButton({\n disabled,\n focusableWhenDisabled: true,\n native: nativeButton\n });\n const props = React.useMemo(() => ({\n 'aria-controls': open ? panelId : undefined,\n 'aria-expanded': open,\n disabled,\n onClick: handleTrigger\n }), [panelId, disabled, open, handleTrigger]);\n const element = useRenderElement('button', componentProps, {\n state,\n ref: [forwardedRef, buttonRef],\n props: [props, elementProps, getButtonProps],\n stateAttributesMapping\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") CollapsibleTrigger.displayName = \"CollapsibleTrigger\";","export let CollapsiblePanelCssVars = /*#__PURE__*/function (CollapsiblePanelCssVars) {\n /**\n * The collapsible panel's height.\n * @type {number}\n */\n CollapsiblePanelCssVars[\"collapsiblePanelHeight\"] = \"--collapsible-panel-height\";\n /**\n * The collapsible panel's width.\n * @type {number}\n */\n CollapsiblePanelCssVars[\"collapsiblePanelWidth\"] = \"--collapsible-panel-width\";\n return CollapsiblePanelCssVars;\n}({});","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { warn } from '@base-ui/utils/warn';\nimport { useRenderElement } from \"../../utils/useRenderElement.js\";\nimport { useCollapsibleRootContext } from \"../root/CollapsibleRootContext.js\";\nimport { collapsibleStateAttributesMapping } from \"../root/stateAttributesMapping.js\";\nimport { useCollapsiblePanel } from \"./useCollapsiblePanel.js\";\nimport { CollapsiblePanelCssVars } from \"./CollapsiblePanelCssVars.js\";\nimport { useOpenChangeComplete } from \"../../utils/useOpenChangeComplete.js\";\n/**\n * A panel with the collapsible contents.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Collapsible](https://base-ui.com/react/components/collapsible)\n */\nexport const CollapsiblePanel = /*#__PURE__*/React.forwardRef(function CollapsiblePanel(componentProps, forwardedRef) {\n const {\n className,\n hiddenUntilFound: hiddenUntilFoundProp,\n keepMounted: keepMountedProp,\n render,\n id: idProp,\n ...elementProps\n } = componentProps;\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useIsoLayoutEffect(() => {\n if (hiddenUntilFoundProp && keepMountedProp === false) {\n warn('The `keepMounted={false}` prop on a Collapsible will be ignored when using `hiddenUntilFound` since it requires the Panel to remain mounted even when closed.');\n }\n }, [hiddenUntilFoundProp, keepMountedProp]);\n }\n const {\n abortControllerRef,\n animationTypeRef,\n height,\n mounted,\n onOpenChange,\n open,\n panelId,\n panelRef,\n runOnceAnimationsFinish,\n setDimensions,\n setHiddenUntilFound,\n setKeepMounted,\n setMounted,\n setPanelIdState,\n setOpen,\n setVisible,\n state,\n transitionDimensionRef,\n visible,\n width,\n transitionStatus\n } = useCollapsibleRootContext();\n const hiddenUntilFound = hiddenUntilFoundProp ?? false;\n const keepMounted = keepMountedProp ?? false;\n useIsoLayoutEffect(() => {\n if (idProp) {\n setPanelIdState(idProp);\n return () => {\n setPanelIdState(undefined);\n };\n }\n return undefined;\n }, [idProp, setPanelIdState]);\n useIsoLayoutEffect(() => {\n setHiddenUntilFound(hiddenUntilFound);\n }, [setHiddenUntilFound, hiddenUntilFound]);\n useIsoLayoutEffect(() => {\n setKeepMounted(keepMounted);\n }, [setKeepMounted, keepMounted]);\n const {\n props\n } = useCollapsiblePanel({\n abortControllerRef,\n animationTypeRef,\n externalRef: forwardedRef,\n height,\n hiddenUntilFound,\n id: panelId,\n keepMounted,\n mounted,\n onOpenChange,\n open,\n panelRef,\n runOnceAnimationsFinish,\n setDimensions,\n setMounted,\n setOpen,\n setVisible,\n transitionDimensionRef,\n visible,\n width\n });\n useOpenChangeComplete({\n open: open && transitionStatus === 'idle',\n ref: panelRef,\n onComplete() {\n if (!open) {\n return;\n }\n setDimensions({\n height: undefined,\n width: undefined\n });\n }\n });\n const panelState = React.useMemo(() => ({\n ...state,\n transitionStatus\n }), [state, transitionStatus]);\n const element = useRenderElement('div', componentProps, {\n state: panelState,\n ref: [forwardedRef, panelRef],\n props: [props, {\n style: {\n [CollapsiblePanelCssVars.collapsiblePanelHeight]: height === undefined ? 'auto' : `${height}px`,\n [CollapsiblePanelCssVars.collapsiblePanelWidth]: width === undefined ? 'auto' : `${width}px`\n }\n }, elementProps],\n stateAttributesMapping: collapsibleStateAttributesMapping\n });\n const shouldRender = keepMounted || hiddenUntilFound || !keepMounted && mounted;\n if (!shouldRender) {\n return null;\n }\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") CollapsiblePanel.displayName = \"CollapsiblePanel\";","import { Slot } from '../slot'\n\nexport function useRenderSlot(asChild: boolean, defaultTag: string) {\n const Component = asChild ? Slot : defaultTag\n\n return asChild ? ({ ...props }) => <Component {...props} /> : undefined\n}\n","import { Collapsible } from '@base-ui/react/collapsible'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentProps } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface ContentProps extends ComponentProps<typeof Collapsible.Panel> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n}\n\nexport const Content = ({\n asChild = false,\n className,\n children,\n hiddenUntilFound = true,\n ...props\n}: ContentProps) => {\n const renderSlot = useRenderSlot(asChild, 'div')\n\n return (\n <Collapsible.Panel\n data-spark-component=\"collapsible-content\"\n className={cx(\n 'overflow-hidden',\n 'h-[var(--collapsible-panel-height)]',\n 'transition-all duration-200',\n 'motion-reduce:transition-none',\n 'data-[starting-style]:h-0',\n 'data-[ending-style]:h-0',\n className\n )}\n render={renderSlot}\n hiddenUntilFound={hiddenUntilFound}\n {...props}\n >\n {children}\n </Collapsible.Panel>\n )\n}\n\nContent.displayName = 'Collapsible.Content'\n","import { Collapsible } from '@base-ui/react/collapsible'\nimport { type ComponentProps } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface RootProps extends ComponentProps<typeof Collapsible.Root> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n}\n\nexport const Root = ({ asChild = false, children, ...props }: RootProps) => {\n const renderSlot = useRenderSlot(asChild, 'div')\n\n return (\n <Collapsible.Root data-spark-component=\"collapsible\" render={renderSlot} {...props}>\n {children}\n </Collapsible.Root>\n )\n}\n\nRoot.displayName = 'Collapsible'\n","import { Collapsible } from '@base-ui/react/collapsible'\nimport { type ComponentProps } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface TriggerProps extends ComponentProps<'button'> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n}\n\nexport const Trigger = ({ asChild = false, children, ...props }: TriggerProps) => {\n const renderSlot = useRenderSlot(asChild, 'button')\n\n return (\n <Collapsible.Trigger data-spark-component=\"collapsible-trigger\" render={renderSlot} {...props}>\n {children}\n </Collapsible.Trigger>\n )\n}\n\nTrigger.displayName = 'Collapsible.Trigger'\n","import { Content } from './Content'\nimport { Root } from './Root'\nimport { Trigger } from './Trigger'\n\nexport const Collapsible: typeof Root & {\n Trigger: typeof Trigger\n Content: typeof Content\n} = Object.assign(Root, {\n Trigger,\n Content,\n})\n\nCollapsible.displayName = 'Collapsible'\nTrigger.displayName = 'Collapsible.Trigger'\nContent.displayName = 'Collapsible.Content'\n"],"names":["collapsibleStateAttributesMapping","baseMapping","transitionStatusMapping","CollapsibleRoot","React","componentProps","forwardedRef","render","className","defaultOpen","disabled","onOpenChangeProp","open","elementProps","onOpenChange","useStableCallback","collapsible","useCollapsibleRoot","state","contextValue","element","useRenderElement","_jsx","CollapsibleRootContext","stateAttributesMapping","triggerOpenStateMapping","CollapsibleTrigger","panelId","handleTrigger","contextDisabled","useCollapsibleRootContext","id","nativeButton","getButtonProps","buttonRef","useButton","props","CollapsiblePanelCssVars","CollapsiblePanel","hiddenUntilFoundProp","keepMountedProp","idProp","useIsoLayoutEffect","warn","abortControllerRef","animationTypeRef","height","mounted","panelRef","runOnceAnimationsFinish","setDimensions","setHiddenUntilFound","setKeepMounted","setMounted","setPanelIdState","setOpen","setVisible","transitionDimensionRef","visible","width","transitionStatus","hiddenUntilFound","keepMounted","useCollapsiblePanel","useOpenChangeComplete","panelState","useRenderSlot","asChild","defaultTag","Component","Slot","jsx","Content","children","renderSlot","Collapsible.Panel","cx","Root","Collapsible.Root","Trigger","Collapsible.Trigger","Collapsible"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/collapsible/useRenderSlot.tsx","../../src/collapsible/Content.tsx","../../src/collapsible/Root.tsx","../../src/collapsible/Trigger.tsx","../../src/collapsible/index.ts"],"sourcesContent":["import { Slot } from '../slot'\n\nexport function useRenderSlot(asChild: boolean, defaultTag: string) {\n const Component = asChild ? Slot : defaultTag\n\n return asChild ? ({ ...props }) => <Component {...props} /> : undefined\n}\n","import { Collapsible } from '@base-ui/react/collapsible'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentProps } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface ContentProps extends ComponentProps<typeof Collapsible.Panel> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n}\n\nexport const Content = ({\n asChild = false,\n className,\n children,\n hiddenUntilFound = true,\n ...props\n}: ContentProps) => {\n const renderSlot = useRenderSlot(asChild, 'div')\n\n return (\n <Collapsible.Panel\n data-spark-component=\"collapsible-content\"\n className={cx(\n 'overflow-hidden',\n 'h-[var(--collapsible-panel-height)]',\n 'transition-all duration-200',\n 'motion-reduce:transition-none',\n 'data-[starting-style]:h-0',\n 'data-[ending-style]:h-0',\n className\n )}\n render={renderSlot}\n hiddenUntilFound={hiddenUntilFound}\n {...props}\n >\n {children}\n </Collapsible.Panel>\n )\n}\n\nContent.displayName = 'Collapsible.Content'\n","import { Collapsible } from '@base-ui/react/collapsible'\nimport { type ComponentProps } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface RootProps extends ComponentProps<typeof Collapsible.Root> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n}\n\nexport const Root = ({ asChild = false, children, ...props }: RootProps) => {\n const renderSlot = useRenderSlot(asChild, 'div')\n\n return (\n <Collapsible.Root data-spark-component=\"collapsible\" render={renderSlot} {...props}>\n {children}\n </Collapsible.Root>\n )\n}\n\nRoot.displayName = 'Collapsible'\n","import { Collapsible } from '@base-ui/react/collapsible'\nimport { type ComponentProps } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface TriggerProps extends ComponentProps<'button'> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n}\n\nexport const Trigger = ({ asChild = false, children, ...props }: TriggerProps) => {\n const renderSlot = useRenderSlot(asChild, 'button')\n\n return (\n <Collapsible.Trigger data-spark-component=\"collapsible-trigger\" render={renderSlot} {...props}>\n {children}\n </Collapsible.Trigger>\n )\n}\n\nTrigger.displayName = 'Collapsible.Trigger'\n","import { Content } from './Content'\nimport { Root } from './Root'\nimport { Trigger } from './Trigger'\n\nexport const Collapsible: typeof Root & {\n Trigger: typeof Trigger\n Content: typeof Content\n} = Object.assign(Root, {\n Trigger,\n Content,\n})\n\nCollapsible.displayName = 'Collapsible'\nTrigger.displayName = 'Collapsible.Trigger'\nContent.displayName = 'Collapsible.Content'\n"],"names":["useRenderSlot","asChild","defaultTag","Component","Slot","props","jsx","Content","className","children","hiddenUntilFound","renderSlot","Collapsible","cx","Root","Trigger"],"mappings":"oOAEO,SAASA,EAAcC,EAAkBC,EAAoB,CAClE,MAAMC,EAAYF,EAAUG,EAAAA,KAAOF,EAEnC,OAAOD,EAAU,CAAC,CAAE,GAAGI,CAAA,IAAYC,MAACH,EAAA,CAAW,GAAGE,CAAA,CAAO,EAAK,MAChE,CCOO,MAAME,EAAU,CAAC,CACtB,QAAAN,EAAU,GACV,UAAAO,EACA,SAAAC,EACA,iBAAAC,EAAmB,GACnB,GAAGL,CACL,IAAoB,CAClB,MAAMM,EAAaX,EAAcC,EAAS,KAAK,EAE/C,OACEK,EAAAA,IAACM,EAAAA,YAAY,MAAZ,CACC,uBAAqB,sBACrB,UAAWC,EAAAA,GACT,kBACA,sCACA,8BACA,gCACA,4BACA,0BACAL,CAAA,EAEF,OAAQG,EACR,iBAAAD,EACC,GAAGL,EAEH,SAAAI,CAAA,CAAA,CAGP,EAEAF,EAAQ,YAAc,sBC/Bf,MAAMO,EAAO,CAAC,CAAE,QAAAb,EAAU,GAAO,SAAAQ,EAAU,GAAGJ,KAAuB,CAC1E,MAAMM,EAAaX,EAAcC,EAAS,KAAK,EAE/C,OACEK,MAACM,EAAAA,YAAY,KAAZ,CAAiB,uBAAqB,cAAc,OAAQD,EAAa,GAAGN,EAC1E,SAAAI,CAAA,CACH,CAEJ,EAEAK,EAAK,YAAc,cCVZ,MAAMC,EAAU,CAAC,CAAE,QAAAd,EAAU,GAAO,SAAAQ,EAAU,GAAGJ,KAA0B,CAChF,MAAMM,EAAaX,EAAcC,EAAS,QAAQ,EAElD,OACEK,MAACM,EAAAA,YAAY,QAAZ,CAAoB,uBAAqB,sBAAsB,OAAQD,EAAa,GAAGN,EACrF,SAAAI,CAAA,CACH,CAEJ,EAEAM,EAAQ,YAAc,sBClBf,MAAMH,EAGT,OAAO,OAAOE,EAAM,CACtB,QAAAC,EACA,QAAAR,CACF,CAAC,EAEDK,EAAY,YAAc,cAC1BG,EAAQ,YAAc,sBACtBR,EAAQ,YAAc"}
|
|
@@ -1,233 +1,58 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
...ne,
|
|
9
|
-
...U
|
|
10
|
-
}, _ = /* @__PURE__ */ u.forwardRef(function(e, t) {
|
|
11
|
-
const {
|
|
12
|
-
render: l,
|
|
13
|
-
className: s,
|
|
14
|
-
defaultOpen: a = !1,
|
|
15
|
-
disabled: h = !1,
|
|
16
|
-
onOpenChange: r,
|
|
17
|
-
open: C,
|
|
18
|
-
...p
|
|
19
|
-
} = e, c = Y(r), o = te({
|
|
20
|
-
open: C,
|
|
21
|
-
defaultOpen: a,
|
|
22
|
-
onOpenChange: c,
|
|
23
|
-
disabled: h
|
|
24
|
-
}), i = u.useMemo(() => ({
|
|
25
|
-
open: o.open,
|
|
26
|
-
disabled: o.disabled,
|
|
27
|
-
transitionStatus: o.transitionStatus
|
|
28
|
-
}), [o.open, o.disabled, o.transitionStatus]), b = u.useMemo(() => ({
|
|
29
|
-
...o,
|
|
30
|
-
onOpenChange: c,
|
|
31
|
-
state: i
|
|
32
|
-
}), [o, c, i]), d = P("div", e, {
|
|
33
|
-
state: i,
|
|
34
|
-
ref: t,
|
|
35
|
-
props: p,
|
|
36
|
-
stateAttributesMapping: I
|
|
37
|
-
});
|
|
38
|
-
return /* @__PURE__ */ g(oe.Provider, {
|
|
39
|
-
value: b,
|
|
40
|
-
children: d
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
process.env.NODE_ENV !== "production" && (_.displayName = "CollapsibleRoot");
|
|
44
|
-
const ie = {
|
|
45
|
-
...le,
|
|
46
|
-
...U
|
|
47
|
-
}, j = /* @__PURE__ */ u.forwardRef(function(e, t) {
|
|
48
|
-
const {
|
|
49
|
-
panelId: l,
|
|
50
|
-
open: s,
|
|
51
|
-
handleTrigger: a,
|
|
52
|
-
state: h,
|
|
53
|
-
disabled: r
|
|
54
|
-
} = V(), {
|
|
55
|
-
className: C,
|
|
56
|
-
disabled: p = r,
|
|
57
|
-
id: c,
|
|
58
|
-
render: o,
|
|
59
|
-
nativeButton: i = !0,
|
|
60
|
-
...b
|
|
61
|
-
} = e, {
|
|
62
|
-
getButtonProps: d,
|
|
63
|
-
buttonRef: v
|
|
64
|
-
} = Z({
|
|
65
|
-
disabled: p,
|
|
66
|
-
focusableWhenDisabled: !0,
|
|
67
|
-
native: i
|
|
68
|
-
}), f = u.useMemo(() => ({
|
|
69
|
-
"aria-controls": s ? l : void 0,
|
|
70
|
-
"aria-expanded": s,
|
|
71
|
-
disabled: p,
|
|
72
|
-
onClick: a
|
|
73
|
-
}), [l, p, s, a]);
|
|
74
|
-
return P("button", e, {
|
|
75
|
-
state: h,
|
|
76
|
-
ref: [t, v],
|
|
77
|
-
props: [f, b, d],
|
|
78
|
-
stateAttributesMapping: ie
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
process.env.NODE_ENV !== "production" && (j.displayName = "CollapsibleTrigger");
|
|
82
|
-
let A = /* @__PURE__ */ (function(n) {
|
|
83
|
-
return n.collapsiblePanelHeight = "--collapsible-panel-height", n.collapsiblePanelWidth = "--collapsible-panel-width", n;
|
|
84
|
-
})({});
|
|
85
|
-
const B = /* @__PURE__ */ u.forwardRef(function(e, t) {
|
|
86
|
-
const {
|
|
87
|
-
className: l,
|
|
88
|
-
hiddenUntilFound: s,
|
|
89
|
-
keepMounted: a,
|
|
90
|
-
render: h,
|
|
91
|
-
id: r,
|
|
92
|
-
...C
|
|
93
|
-
} = e;
|
|
94
|
-
process.env.NODE_ENV !== "production" && R(() => {
|
|
95
|
-
s && a === !1 && se("The `keepMounted={false}` prop on a Collapsible will be ignored when using `hiddenUntilFound` since it requires the Panel to remain mounted even when closed.");
|
|
96
|
-
}, [s, a]);
|
|
97
|
-
const {
|
|
98
|
-
abortControllerRef: p,
|
|
99
|
-
animationTypeRef: c,
|
|
100
|
-
height: o,
|
|
101
|
-
mounted: i,
|
|
102
|
-
onOpenChange: b,
|
|
103
|
-
open: d,
|
|
104
|
-
panelId: v,
|
|
105
|
-
panelRef: f,
|
|
106
|
-
runOnceAnimationsFinish: k,
|
|
107
|
-
setDimensions: E,
|
|
108
|
-
setHiddenUntilFound: T,
|
|
109
|
-
setKeepMounted: D,
|
|
110
|
-
setMounted: W,
|
|
111
|
-
setPanelIdState: M,
|
|
112
|
-
setOpen: $,
|
|
113
|
-
setVisible: q,
|
|
114
|
-
state: F,
|
|
115
|
-
transitionDimensionRef: K,
|
|
116
|
-
visible: L,
|
|
117
|
-
width: S,
|
|
118
|
-
transitionStatus: O
|
|
119
|
-
} = V(), N = s ?? !1, m = a ?? !1;
|
|
120
|
-
R(() => {
|
|
121
|
-
if (r)
|
|
122
|
-
return M(r), () => {
|
|
123
|
-
M(void 0);
|
|
124
|
-
};
|
|
125
|
-
}, [r, M]), R(() => {
|
|
126
|
-
T(N);
|
|
127
|
-
}, [T, N]), R(() => {
|
|
128
|
-
D(m);
|
|
129
|
-
}, [D, m]);
|
|
130
|
-
const {
|
|
131
|
-
props: z
|
|
132
|
-
} = ae({
|
|
133
|
-
abortControllerRef: p,
|
|
134
|
-
animationTypeRef: c,
|
|
135
|
-
externalRef: t,
|
|
136
|
-
height: o,
|
|
137
|
-
hiddenUntilFound: N,
|
|
138
|
-
id: v,
|
|
139
|
-
keepMounted: m,
|
|
140
|
-
mounted: i,
|
|
141
|
-
onOpenChange: b,
|
|
142
|
-
open: d,
|
|
143
|
-
panelRef: f,
|
|
144
|
-
runOnceAnimationsFinish: k,
|
|
145
|
-
setDimensions: E,
|
|
146
|
-
setMounted: W,
|
|
147
|
-
setOpen: $,
|
|
148
|
-
setVisible: q,
|
|
149
|
-
transitionDimensionRef: K,
|
|
150
|
-
visible: L,
|
|
151
|
-
width: S
|
|
152
|
-
});
|
|
153
|
-
ee({
|
|
154
|
-
open: d && O === "idle",
|
|
155
|
-
ref: f,
|
|
156
|
-
onComplete() {
|
|
157
|
-
d && E({
|
|
158
|
-
height: void 0,
|
|
159
|
-
width: void 0
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
const G = u.useMemo(() => ({
|
|
164
|
-
...F,
|
|
165
|
-
transitionStatus: O
|
|
166
|
-
}), [F, O]), J = P("div", e, {
|
|
167
|
-
state: G,
|
|
168
|
-
ref: [t, f],
|
|
169
|
-
props: [z, {
|
|
170
|
-
style: {
|
|
171
|
-
[A.collapsiblePanelHeight]: o === void 0 ? "auto" : `${o}px`,
|
|
172
|
-
[A.collapsiblePanelWidth]: S === void 0 ? "auto" : `${S}px`
|
|
173
|
-
}
|
|
174
|
-
}, C],
|
|
175
|
-
stateAttributesMapping: I
|
|
176
|
-
});
|
|
177
|
-
return m || N || !m && i ? J : null;
|
|
178
|
-
});
|
|
179
|
-
process.env.NODE_ENV !== "production" && (B.displayName = "CollapsiblePanel");
|
|
180
|
-
function y(n, e) {
|
|
181
|
-
const t = n ? X : e;
|
|
182
|
-
return n ? ({ ...l }) => /* @__PURE__ */ g(t, { ...l }) : void 0;
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { Collapsible as n } from "@base-ui/react/collapsible";
|
|
3
|
+
import { cx as m } from "class-variance-authority";
|
|
4
|
+
import { a as b } from "../Slot-D2Bbf8Gw.mjs";
|
|
5
|
+
function r(e, o) {
|
|
6
|
+
const l = e ? b : o;
|
|
7
|
+
return e ? ({ ...t }) => /* @__PURE__ */ a(l, { ...t }) : void 0;
|
|
183
8
|
}
|
|
184
|
-
const
|
|
185
|
-
asChild:
|
|
186
|
-
className:
|
|
187
|
-
children:
|
|
188
|
-
hiddenUntilFound:
|
|
189
|
-
...
|
|
9
|
+
const s = ({
|
|
10
|
+
asChild: e = !1,
|
|
11
|
+
className: o,
|
|
12
|
+
children: l,
|
|
13
|
+
hiddenUntilFound: t = !0,
|
|
14
|
+
...d
|
|
190
15
|
}) => {
|
|
191
|
-
const
|
|
192
|
-
return /* @__PURE__ */
|
|
193
|
-
|
|
16
|
+
const c = r(e, "div");
|
|
17
|
+
return /* @__PURE__ */ a(
|
|
18
|
+
n.Panel,
|
|
194
19
|
{
|
|
195
20
|
"data-spark-component": "collapsible-content",
|
|
196
|
-
className:
|
|
21
|
+
className: m(
|
|
197
22
|
"overflow-hidden",
|
|
198
23
|
"h-[var(--collapsible-panel-height)]",
|
|
199
24
|
"transition-all duration-200",
|
|
200
25
|
"motion-reduce:transition-none",
|
|
201
26
|
"data-[starting-style]:h-0",
|
|
202
27
|
"data-[ending-style]:h-0",
|
|
203
|
-
|
|
28
|
+
o
|
|
204
29
|
),
|
|
205
|
-
render:
|
|
206
|
-
hiddenUntilFound:
|
|
207
|
-
...
|
|
208
|
-
children:
|
|
30
|
+
render: c,
|
|
31
|
+
hiddenUntilFound: t,
|
|
32
|
+
...d,
|
|
33
|
+
children: l
|
|
209
34
|
}
|
|
210
35
|
);
|
|
211
36
|
};
|
|
212
|
-
|
|
213
|
-
const
|
|
214
|
-
const
|
|
215
|
-
return /* @__PURE__ */
|
|
37
|
+
s.displayName = "Collapsible.Content";
|
|
38
|
+
const p = ({ asChild: e = !1, children: o, ...l }) => {
|
|
39
|
+
const t = r(e, "div");
|
|
40
|
+
return /* @__PURE__ */ a(n.Root, { "data-spark-component": "collapsible", render: t, ...l, children: o });
|
|
216
41
|
};
|
|
217
|
-
|
|
218
|
-
const
|
|
219
|
-
const
|
|
220
|
-
return /* @__PURE__ */
|
|
42
|
+
p.displayName = "Collapsible";
|
|
43
|
+
const i = ({ asChild: e = !1, children: o, ...l }) => {
|
|
44
|
+
const t = r(e, "button");
|
|
45
|
+
return /* @__PURE__ */ a(n.Trigger, { "data-spark-component": "collapsible-trigger", render: t, ...l, children: o });
|
|
221
46
|
};
|
|
222
|
-
|
|
223
|
-
const
|
|
224
|
-
Trigger:
|
|
225
|
-
Content:
|
|
47
|
+
i.displayName = "Collapsible.Trigger";
|
|
48
|
+
const g = Object.assign(p, {
|
|
49
|
+
Trigger: i,
|
|
50
|
+
Content: s
|
|
226
51
|
});
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
52
|
+
g.displayName = "Collapsible";
|
|
53
|
+
i.displayName = "Collapsible.Trigger";
|
|
54
|
+
s.displayName = "Collapsible.Content";
|
|
230
55
|
export {
|
|
231
|
-
|
|
56
|
+
g as Collapsible
|
|
232
57
|
};
|
|
233
58
|
//# sourceMappingURL=index.mjs.map
|