@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
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Dialog as
|
|
2
|
-
import { Ref } from 'react';
|
|
3
|
-
export
|
|
1
|
+
import { Dialog as BaseDialog } from '@base-ui/react/dialog';
|
|
2
|
+
import { ComponentProps, Ref } from 'react';
|
|
3
|
+
export interface DrawerTitleProps extends Omit<ComponentProps<typeof BaseDialog.Title>, 'render'> {
|
|
4
4
|
ref?: Ref<HTMLHeadingElement>;
|
|
5
|
-
}
|
|
5
|
+
}
|
|
6
6
|
export declare const DrawerTitle: {
|
|
7
|
-
({ className,
|
|
7
|
+
({ className, ...props }: DrawerTitleProps): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
displayName: string;
|
|
9
9
|
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Dialog as
|
|
2
|
-
import {
|
|
3
|
-
export interface DrawerTriggerProps extends
|
|
1
|
+
import { Dialog as BaseDialog } from '@base-ui/react/dialog';
|
|
2
|
+
import { ComponentProps, Ref } from 'react';
|
|
3
|
+
export interface DrawerTriggerProps extends Omit<ComponentProps<typeof BaseDialog.Trigger>, 'render'> {
|
|
4
4
|
/**
|
|
5
|
-
* Change the
|
|
5
|
+
* Change the default rendered element for the one passed as a child, merging their props and behavior.
|
|
6
6
|
*/
|
|
7
7
|
asChild?: boolean;
|
|
8
8
|
ref?: Ref<HTMLButtonElement>;
|
|
9
9
|
}
|
|
10
10
|
export declare const DrawerTrigger: {
|
|
11
|
-
(props: DrawerTriggerProps):
|
|
11
|
+
({ asChild, ...props }: DrawerTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
displayName: string;
|
|
13
13
|
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Drawer as Root } from './Drawer';
|
|
2
|
+
import { DrawerBody } from './DrawerBody';
|
|
3
|
+
import { DrawerClose } from './DrawerClose';
|
|
4
|
+
import { DrawerCloseButton } from './DrawerCloseButton';
|
|
5
|
+
import { DrawerContent } from './DrawerContent';
|
|
6
|
+
import { DrawerDescription } from './DrawerDescription';
|
|
7
|
+
import { DrawerFooter } from './DrawerFooter';
|
|
8
|
+
import { DrawerHeader } from './DrawerHeader';
|
|
9
|
+
import { DrawerOverlay } from './DrawerOverlay';
|
|
10
|
+
import { DrawerPortal } from './DrawerPortal';
|
|
11
|
+
import { DrawerTitle } from './DrawerTitle';
|
|
12
|
+
import { DrawerTrigger } from './DrawerTrigger';
|
|
13
|
+
export declare const Drawer: typeof Root & {
|
|
14
|
+
Trigger: typeof DrawerTrigger;
|
|
15
|
+
Portal: typeof DrawerPortal;
|
|
16
|
+
Overlay: typeof DrawerOverlay;
|
|
17
|
+
Content: typeof DrawerContent;
|
|
18
|
+
Header: typeof DrawerHeader;
|
|
19
|
+
Body: typeof DrawerBody;
|
|
20
|
+
Footer: typeof DrawerFooter;
|
|
21
|
+
Close: typeof DrawerClose;
|
|
22
|
+
CloseButton: typeof DrawerCloseButton;
|
|
23
|
+
Title: typeof DrawerTitle;
|
|
24
|
+
Description: typeof DrawerDescription;
|
|
25
|
+
};
|
|
26
|
+
export { type DrawerProps } from './Drawer';
|
|
27
|
+
export { type DrawerContentProps } from './DrawerContent';
|
|
28
|
+
export { type DrawerHeaderProps } from './DrawerHeader';
|
|
29
|
+
export { type DrawerBodyProps } from './DrawerBody';
|
|
30
|
+
export { type DrawerFooterProps } from './DrawerFooter';
|
|
31
|
+
export { type DrawerTriggerProps } from './DrawerTrigger';
|
|
32
|
+
export { type DrawerOverlayProps } from './DrawerOverlay';
|
|
33
|
+
export { type DrawerPortalProps } from './DrawerPortal';
|
|
34
|
+
export { type DrawerTitleProps } from './DrawerTitle';
|
|
35
|
+
export { type DrawerDescriptionProps } from './DrawerDescription';
|
|
36
|
+
export { type DrawerCloseProps } from './DrawerClose';
|
|
37
|
+
export { type DrawerCloseButtonProps } from './DrawerCloseButton';
|
package/dist/drawer/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Drawer as Root } from './Drawer';
|
|
2
2
|
import { DrawerBody } from './DrawerBody';
|
|
3
|
+
import { DrawerClose } from './DrawerClose';
|
|
3
4
|
import { DrawerCloseButton } from './DrawerCloseButton';
|
|
4
5
|
import { DrawerContent } from './DrawerContent';
|
|
5
6
|
import { DrawerDescription } from './DrawerDescription';
|
|
@@ -17,6 +18,7 @@ export declare const Drawer: typeof Root & {
|
|
|
17
18
|
Header: typeof DrawerHeader;
|
|
18
19
|
Body: typeof DrawerBody;
|
|
19
20
|
Footer: typeof DrawerFooter;
|
|
21
|
+
Close: typeof DrawerClose;
|
|
20
22
|
CloseButton: typeof DrawerCloseButton;
|
|
21
23
|
Title: typeof DrawerTitle;
|
|
22
24
|
Description: typeof DrawerDescription;
|
package/dist/drawer/index.js
CHANGED
|
@@ -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 r=require("react/jsx-runtime"),n=require("@base-ui/react/dialog"),u=require("react"),B=require("@spark-ui/hooks/use-merge-refs"),S=require("@spark-ui/hooks/use-scroll-overflow"),s=require("class-variance-authority"),C=require("../useRenderSlot-DATwjgpo.js"),R=require("@spark-ui/icons/Close"),T=require("../Icon-CF0W0LKr.js"),q=require("../IconButton-D3g86WpZ.js"),j=u.createContext(null),P=({children:e,withFade:a=!1})=>r.jsx(j.Provider,{value:{withFade:a},children:e}),O=()=>{const e=u.useContext(j);if(!e)throw Error("useDrawer must be used within a Drawer provider");return e},z=({onOpenChange:e,withFade:a=!1,...t})=>{const o=e?(l,i)=>{e(l)}:void 0;return r.jsx(P,{withFade:a,children:r.jsx(n.Dialog.Root,{"data-spark-component":"drawer",onOpenChange:o,...t})})};z.displayName="Drawer.Root";const F=s.cva(["grow","overflow-y-auto","outline-hidden","focus-visible:u-outline"],{variants:{inset:{true:"",false:"px-xl py-lg"}},defaultVariants:{inset:!1}}),w=({children:e,inset:a=!1,className:t,ref:o,...l})=>{const i=u.useRef(null),c=B.useMergeRefs(o,i),{withFade:p}=O(),{overflow:m}=S.useScrollOverflow(i);return r.jsx("div",{"data-spark-component":"drawer-body",ref:c,className:F({inset:a,className:t}),style:{...p&&{maskImage:"linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1) 44px, rgba(0, 0, 0, 1) calc(100% - 44px), rgba(0, 0, 0, 0))",maskSize:`100% calc(100% + ${m.top?"0px":"44px"} + ${m.bottom?"0px":"44px"})`,maskPosition:`0 ${m.top?"0px":"-44px"}`}},...l,children:e})};w.displayName="Drawer.Body";const d=({asChild:e=!1,...a})=>{const t=C.useRenderSlot(e,"button");return r.jsx(n.Dialog.Close,{"data-spark-component":"drawer-close",render:t,...a})};d.displayName="Drawer.Close";const f=({"aria-label":e,className:a,size:t="md",intent:o="neutral",design:l="ghost",children:i=r.jsx(R.Close,{}),ref:c,...p})=>r.jsx(d,{"data-spark-component":"drawer-close-button",ref:c,className:s.cx(["absolute","top-sm","right-xl"],a),asChild:!0,...p,children:r.jsx(q.IconButton,{intent:o,size:t,design:l,"aria-label":e,children:r.jsx(T.Icon,{children:i})})});f.displayName="Drawer.CloseButton";const I=s.cva(["fixed z-modal flex flex-col bg-surface shadow-md","data-open:animation-duration-400 data-closed:animation-duration-200","data-nested-dialog-open:after:pointer-events-none","after:bg-transparent","after:transition-all","after:duration-200","data-nested-dialog-open:after:inset-0","data-nested-dialog-open:after:absolute","data-nested-dialog-open:after:rounded-[inherit]","data-nested-dialog-open:after:bg-overlay/dim-3"],{variants:{size:{sm:"",md:"",lg:"",fluid:"",fullscreen:"h-screen w-screen"},side:{right:["inset-y-0 right-0","data-open:animate-slide-in-right ","data-closed:animate-slide-out-right"],left:["inset-y-0 left-0","data-open:animate-slide-in-left","data-closed:animate-slide-out-left"],top:["top-0 left-0","w-screen","data-open:animate-slide-in-top","data-closed:animate-slide-out-top"],bottom:["bottom-0 left-0","w-screen","data-open:animate-slide-in-bottom","data-closed:animate-slide-out-bottom"]}},compoundVariants:[{side:["right","left"],size:"sm",class:["w-sz-480","max-w-full"]},{side:["right","left"],size:"md",class:["w-sz-672","max-w-full"]},{side:["right","left"],size:"lg",class:["w-sz-864","max-w-full"]},{side:["left","right"],size:"fluid",class:["w-auto","max-w-full"]},{side:["top","bottom"],size:"sm",class:["h-sz-480","max-h-full"]},{side:["top","bottom"],size:"md",class:["h-sz-672","max-h-full"]},{side:["top","bottom"],size:"lg",class:["h-sz-864","max-h-full"]},{side:["top","bottom"],size:"fluid",class:["h-auto","max-h-full"]}],defaultVariants:{side:"right",size:"md"}}),g=({className:e,size:a="md",side:t="right",ref:o,...l})=>r.jsx(n.Dialog.Popup,{ref:o,"data-spark-component":"drawer-content",role:"dialog",className:i=>s.cx(I({size:a,side:t,className:typeof e=="function"?e(i):e})),...l});g.displayName="Drawer.Content";const x=e=>r.jsx(n.Dialog.Description,{"data-spark-component":"drawer-description",...e});x.displayName="Drawer.Description";const D=({className:e,ref:a,...t})=>r.jsx("footer",{"data-spark-component":"drawer-footer",ref:a,className:s.cx(["px-xl","py-lg"],e),...t});D.displayName="Drawer.Footer";const y=({children:e,className:a,ref:t,...o})=>r.jsx("header",{"data-spark-component":"drawer-header",ref:t,className:s.cx(["px-xl","py-lg"],a),...o,children:e});y.displayName="Dialog.Header";const h=({className:e,...a})=>r.jsx(n.Dialog.Backdrop,{"data-spark-component":"drawer-overlay",className:t=>s.cx("z-overlay fixed top-0 left-0 h-screen w-screen","bg-overlay/dim-1","data-starting-style:animate-fade-in","data-ending-style:animate-fade-out",typeof e=="function"?e(t):e),...a});h.displayName="Drawer.Overlay";const b=({className:e,...a})=>r.jsx(n.Dialog.Portal,{"data-spark-component":"drawer-portal",className:s.cx(e,"z-modal absolute"),...a});b.displayName="Drawer.Portal";const N=({className:e,...a})=>r.jsx(n.Dialog.Title,{"data-spark-component":"drawer-title",className:s.cx("text-headline-2 text-on-surface",e),...a});N.displayName="Drawer.Title";const v=({asChild:e=!1,...a})=>{const t=C.useRenderSlot(e,"button");return r.jsx(n.Dialog.Trigger,{"data-spark-component":"drawer-trigger",render:t,...a})};v.displayName="Drawer.Trigger";const k=Object.assign(z,{Trigger:v,Portal:b,Overlay:h,Content:g,Header:y,Body:w,Footer:D,Close:d,CloseButton:f,Title:N,Description:x});k.displayName="Drawer";v.displayName="Drawer.Trigger";b.displayName="Drawer.Portal";h.displayName="Drawer.Overlay";g.displayName="Drawer.Content";y.displayName="Drawer.Header";w.displayName="Drawer.Body";D.displayName="Drawer.Footer";d.displayName="Drawer.Close";f.displayName="Drawer.CloseButton";N.displayName="Drawer.Title";x.displayName="Drawer.Description";exports.Drawer=k;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/drawer/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/drawer/DrawerContext.tsx","../../src/drawer/Drawer.tsx","../../src/drawer/DrawerBody.styles.ts","../../src/drawer/DrawerBody.tsx","../../src/drawer/DrawerClose.tsx","../../src/drawer/DrawerCloseButton.tsx","../../src/drawer/DrawerContent.styles.tsx","../../src/drawer/DrawerContent.tsx","../../src/drawer/DrawerDescription.tsx","../../src/drawer/DrawerFooter.tsx","../../src/drawer/DrawerHeader.tsx","../../src/drawer/DrawerOverlay.tsx","../../src/drawer/DrawerPortal.tsx","../../src/drawer/DrawerTitle.tsx","../../src/drawer/DrawerTrigger.tsx","../../src/drawer/index.ts"],"sourcesContent":["import { createContext, type ReactNode, useContext } from 'react'\n\nexport interface DrawerContextState {\n withFade: boolean\n}\n\nconst DrawerContext = createContext<DrawerContextState | null>(null)\n\nexport const DrawerProvider = ({\n children: childrenProp,\n withFade = false,\n}: {\n children: ReactNode\n withFade?: boolean\n}) => {\n return (\n <DrawerContext.Provider\n value={{\n withFade,\n }}\n >\n {childrenProp}\n </DrawerContext.Provider>\n )\n}\n\nexport const useDrawer = () => {\n const context = useContext(DrawerContext)\n\n if (!context) {\n throw Error('useDrawer must be used within a Drawer provider')\n }\n\n return context\n}\n","import { Dialog as RadixDrawer } from 'radix-ui'\nimport { type ReactElement, ReactNode } from 'react'\n\nimport { DrawerProvider } from './DrawerContext'\n\nexport interface DrawerProps {\n /**\n * Children of the component.\n */\n children?: RadixDrawer.DialogProps['children']\n /**\n * Specifies if the dialog is open or not.\n */\n open?: RadixDrawer.DialogProps['open']\n /**\n * Default open state.\n */\n defaultOpen?: RadixDrawer.DialogProps['defaultOpen']\n /**\n * Handler executed on every dialog open state change.\n */\n onOpenChange?: RadixDrawer.DialogProps['onOpenChange']\n /**\n * Specifies if the dialog is a modal.\n */\n modal?: RadixDrawer.DialogProps['modal']\n /**\n * Specifies if the drawer should have a fade animation on its body (in case it is scrollable).\n */\n withFade?: boolean\n}\n\nexport interface DialogProps {\n children?: ReactNode\n open?: boolean\n defaultOpen?: boolean\n onOpenChange?(open: boolean): void\n modal?: boolean\n}\n\nexport const Drawer = ({ children, withFade = false, ...rest }: DrawerProps): ReactElement => (\n <DrawerProvider withFade={withFade}>\n <RadixDrawer.Root {...rest}>{children}</RadixDrawer.Root>\n </DrawerProvider>\n)\n\nDrawer.displayName = 'Drawer.Root'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const drawerBodyStyles = cva(\n ['grow', 'overflow-y-auto', 'outline-hidden', 'focus-visible:u-outline'],\n {\n variants: {\n inset: {\n true: '',\n false: 'px-xl py-lg',\n },\n },\n defaultVariants: {\n inset: false,\n },\n }\n)\n\nexport type DrawerBodyStylesProps = VariantProps<typeof drawerBodyStyles>\n","import { useMergeRefs } from '@spark-ui/hooks/use-merge-refs'\nimport { useScrollOverflow } from '@spark-ui/hooks/use-scroll-overflow'\nimport { type ReactNode, Ref, useRef } from 'react'\n\nimport { drawerBodyStyles, type DrawerBodyStylesProps } from './DrawerBody.styles'\nimport { useDrawer } from './DrawerContext'\n\nexport interface DrawerBodyProps extends DrawerBodyStylesProps {\n children: ReactNode\n className?: string\n ref?: Ref<HTMLDivElement>\n}\n\nexport const DrawerBody = ({\n children,\n inset = false,\n className,\n ref: forwardedRef,\n ...rest\n}: DrawerBodyProps) => {\n const scrollAreaRef = useRef<HTMLDivElement>(null)\n const ref = useMergeRefs(forwardedRef, scrollAreaRef)\n\n const { withFade } = useDrawer()\n\n const { overflow } = useScrollOverflow(scrollAreaRef)\n\n return (\n <div\n data-spark-component=\"drawer-body\"\n ref={ref}\n className={drawerBodyStyles({ inset, className })}\n style={{\n ...(withFade && {\n maskImage:\n 'linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1) 44px, rgba(0, 0, 0, 1) calc(100% - 44px), rgba(0, 0, 0, 0))',\n maskSize: `100% calc(100% + ${overflow.top ? '0px' : '44px'} + ${overflow.bottom ? '0px' : '44px'})`,\n maskPosition: `0 ${overflow.top ? '0px' : '-44px'}`,\n }),\n }}\n {...rest}\n >\n {children}\n </div>\n )\n}\n\nDrawerBody.displayName = 'Drawer.Body'\n","import { Dialog as RadixDrawer } from 'radix-ui'\nimport { Ref } from 'react'\n\nexport type DrawerCloseProps = RadixDrawer.DialogCloseProps & {\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const DrawerClose = (props: DrawerCloseProps) => (\n <RadixDrawer.Close data-spark-component=\"drawer-close\" {...props} />\n)\n\nDrawerClose.displayName = 'Drawer.Close'\n","import { Close as CloseSVG } from '@spark-ui/icons/Close'\nimport { cx } from 'class-variance-authority'\n\nimport { Icon } from '../icon'\nimport { IconButton, type IconButtonProps } from '../icon-button'\nimport { DrawerClose, type DrawerCloseProps } from './DrawerClose'\n\nexport type DrawerCloseButtonProps = DrawerCloseProps &\n Pick<IconButtonProps, 'size' | 'intent' | 'design' | 'aria-label'>\n\nexport const DrawerCloseButton = ({\n 'aria-label': ariaLabel,\n className,\n size = 'md',\n intent = 'neutral',\n design = 'ghost',\n children = <CloseSVG />,\n ref,\n ...rest\n}: DrawerCloseButtonProps) => (\n <DrawerClose\n data-spark-component=\"drawer-close-button\"\n ref={ref}\n className={cx(['absolute', 'top-sm', 'right-xl'], className)}\n asChild\n {...rest}\n >\n <IconButton intent={intent} size={size} design={design} aria-label={ariaLabel}>\n <Icon>{children}</Icon>\n </IconButton>\n </DrawerClose>\n)\n\nDrawerCloseButton.displayName = 'Drawer.CloseButton'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const drawerContentStyles = cva(\n [\n 'fixed z-modal flex flex-col bg-surface shadow-md',\n 'data-[state=open]:animation-duration-400 data-[state=closed]:animation-duration-200',\n ],\n {\n variants: {\n size: {\n sm: '',\n md: '',\n lg: '',\n fluid: '',\n fullscreen: 'h-screen w-screen',\n },\n side: {\n right: [\n 'inset-y-0 right-0',\n 'data-[state=open]:animate-slide-in-right ',\n 'data-[state=closed]:animate-slide-out-right',\n ],\n left: [\n 'inset-y-0 left-0',\n 'data-[state=open]:animate-slide-in-left',\n 'data-[state=closed]:animate-slide-out-left',\n ],\n top: [\n 'top-0 left-0',\n 'w-screen',\n 'data-[state=open]:animate-slide-in-top',\n 'data-[state=closed]:animate-slide-out-top',\n ],\n bottom: [\n 'bottom-0 left-0',\n 'w-screen',\n 'data-[state=open]:animate-slide-in-bottom',\n 'data-[state=closed]:animate-slide-out-bottom',\n ],\n },\n },\n compoundVariants: [\n {\n side: ['right', 'left'],\n size: 'sm',\n class: ['w-sz-480', 'max-w-full'],\n },\n {\n side: ['right', 'left'],\n size: 'md',\n class: ['w-sz-672', 'max-w-full'],\n },\n {\n side: ['right', 'left'],\n size: 'lg',\n class: ['w-sz-864', 'max-w-full'],\n },\n {\n side: ['left', 'right'],\n size: 'fluid',\n class: ['w-auto', 'max-w-full'],\n },\n {\n side: ['top', 'bottom'],\n size: 'sm',\n class: ['h-sz-480', 'max-h-full'],\n },\n {\n side: ['top', 'bottom'],\n size: 'md',\n class: ['h-sz-672', 'max-h-full'],\n },\n {\n side: ['top', 'bottom'],\n size: 'lg',\n class: ['h-sz-864', 'max-h-full'],\n },\n {\n side: ['top', 'bottom'],\n size: 'fluid',\n class: ['h-auto', 'max-h-full'],\n },\n ],\n defaultVariants: {\n side: 'right',\n size: 'md',\n },\n }\n)\n\nexport type DrawerContentStylesProps = VariantProps<typeof drawerContentStyles>\n","import { Dialog as RadixDrawer } from 'radix-ui'\nimport { Ref } from 'react'\n\nimport { drawerContentStyles, type DrawerContentStylesProps } from './DrawerContent.styles'\n\nexport type DrawerContentProps = RadixDrawer.DialogContentProps &\n DrawerContentStylesProps & {\n ref?: Ref<HTMLDivElement>\n }\n\nexport const DrawerContent = ({\n className,\n size = 'md',\n side = 'right',\n onInteractOutside,\n ref,\n ...rest\n}: DrawerContentProps) => (\n <RadixDrawer.Content\n data-spark-component=\"drawer-content\"\n ref={ref}\n className={drawerContentStyles({\n size,\n side,\n className,\n })}\n onInteractOutside={e => {\n const isForegroundElement = (e.target as HTMLElement).closest('.z-toast, .z-popover')\n\n /**\n * The focus trap of the drawer applies `pointer-events-none` on the body of the page in the background, but\n * some components with an higher z-index have `pointer-events-auto` applied on them to remain interactive and ignore the focust trap (ex: a Snackbar with actions).\n *\n * Clicking on the snackbar will be considered as an \"outside click\" and close the drawer. We want to prevent this.\n */\n if (isForegroundElement) {\n e.preventDefault()\n }\n\n onInteractOutside?.(e)\n }}\n {...rest}\n />\n)\n\nDrawerContent.displayName = 'Drawer.Content'\n","import { Dialog as RadixDrawer } from 'radix-ui'\nimport { Ref } from 'react'\n\nexport type DrawerDescriptionProps = RadixDrawer.DialogDescriptionProps & {\n ref?: Ref<HTMLParagraphElement>\n}\n\nexport const DrawerDescription = (props: DrawerDescriptionProps) => (\n <RadixDrawer.Description data-spark-component=\"drawer-description\" {...props} />\n)\n\nDrawerDescription.displayName = 'Drawer.Description'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, type ReactElement, Ref } from 'react'\n\nexport type DrawerFooterProps = ComponentPropsWithoutRef<'footer'> & {\n ref?: Ref<HTMLDivElement>\n}\n\nexport const DrawerFooter = ({ className, ref, ...rest }: DrawerFooterProps): ReactElement => (\n <footer\n data-spark-component=\"drawer-footer\"\n ref={ref}\n className={cx(['px-xl', 'py-lg'], className)}\n {...rest}\n />\n)\n\nDrawerFooter.displayName = 'Drawer.Footer'\n","import { cx } from 'class-variance-authority'\nimport { type ReactElement, type ReactNode, Ref } from 'react'\n\nexport interface DrawerHeaderProps {\n children: ReactNode\n className?: string\n ref?: Ref<HTMLDivElement>\n}\n\nexport const DrawerHeader = ({\n children,\n className,\n ref,\n ...rest\n}: DrawerHeaderProps): ReactElement => (\n <header\n data-spark-component=\"drawer-header\"\n ref={ref}\n className={cx(['px-xl', 'py-lg'], className)}\n {...rest}\n >\n {children}\n </header>\n)\n\nDrawerHeader.displayName = 'Dialog.Header'\n","import { cx } from 'class-variance-authority'\nimport { Dialog as RadixDrawer } from 'radix-ui'\nimport { type ReactElement, Ref } from 'react'\n\nexport type DrawerOverlayProps = RadixDrawer.DialogOverlayProps & {\n ref?: Ref<HTMLDivElement>\n}\n\nexport const DrawerOverlay = ({ className, ref, ...rest }: DrawerOverlayProps): ReactElement => (\n <RadixDrawer.Overlay\n data-spark-component=\"drawer-overlay\"\n ref={ref}\n className={cx(\n ['fixed', 'top-0', 'left-0', 'w-screen', 'h-screen', 'z-overlay'],\n ['bg-overlay/dim-1'],\n ['data-[state=open]:animate-fade-in'],\n ['data-[state=closed]:animate-fade-out'],\n className\n )}\n {...rest}\n />\n)\n\nDrawerOverlay.displayName = 'Drawer.Overlay'\n","import { Dialog as RadixDrawer } from 'radix-ui'\nimport { type ReactElement } from 'react'\n\nexport type DrawerPortalProps = RadixDrawer.DialogPortalProps\n\nexport const DrawerPortal = ({ children, ...rest }: DrawerPortalProps): ReactElement => (\n <RadixDrawer.Portal {...rest}>{children}</RadixDrawer.Portal>\n)\n\nDrawerPortal.displayName = 'Drawer.Portal'\n","import { cx } from 'class-variance-authority'\nimport { Dialog as RadixDrawer } from 'radix-ui'\nimport { Ref } from 'react'\n\nexport type DrawerTitleProps = RadixDrawer.DialogTitleProps & {\n ref?: Ref<HTMLHeadingElement>\n}\n\nexport const DrawerTitle = ({ className, ref, ...others }: DrawerTitleProps) => (\n <RadixDrawer.Title\n data-spark-component=\"drawer-title\"\n ref={ref}\n className={cx('text-headline-2 text-on-surface', className)}\n {...others}\n />\n)\n\nDrawerTitle.displayName = 'Drawer.Title'\n","import { Dialog as RadixDrawer } from 'radix-ui'\nimport { type ReactElement, Ref } from 'react'\n\nexport interface DrawerTriggerProps extends RadixDrawer.DialogTriggerProps {\n /**\n * Change the component to the HTML tag or custom component of the only child. This will merge the original component props with the props of the supplied element/component and change the underlying DOM node.\n */\n asChild?: boolean\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const DrawerTrigger = (props: DrawerTriggerProps): ReactElement => (\n <RadixDrawer.Trigger data-spark-component=\"drawer-trigger\" {...props} />\n)\n\nDrawerTrigger.displayName = 'Drawer.Trigger'\n","import { Drawer as Root } from './Drawer'\nimport { DrawerBody } from './DrawerBody'\nimport { DrawerCloseButton } from './DrawerCloseButton'\nimport { DrawerContent } from './DrawerContent'\nimport { DrawerDescription } from './DrawerDescription' // aria-describedby\nimport { DrawerFooter } from './DrawerFooter'\nimport { DrawerHeader } from './DrawerHeader'\nimport { DrawerOverlay } from './DrawerOverlay'\nimport { DrawerPortal } from './DrawerPortal'\nimport { DrawerTitle } from './DrawerTitle'\nimport { DrawerTrigger } from './DrawerTrigger'\n\nexport const Drawer: typeof Root & {\n Trigger: typeof DrawerTrigger\n Portal: typeof DrawerPortal\n Overlay: typeof DrawerOverlay\n Content: typeof DrawerContent\n Header: typeof DrawerHeader\n Body: typeof DrawerBody\n Footer: typeof DrawerFooter\n CloseButton: typeof DrawerCloseButton\n Title: typeof DrawerTitle\n Description: typeof DrawerDescription\n} = Object.assign(Root, {\n Trigger: DrawerTrigger,\n Portal: DrawerPortal,\n Overlay: DrawerOverlay,\n Content: DrawerContent,\n Header: DrawerHeader,\n Body: DrawerBody,\n Footer: DrawerFooter,\n CloseButton: DrawerCloseButton,\n Title: DrawerTitle,\n Description: DrawerDescription,\n})\n\nDrawer.displayName = 'Drawer'\nDrawerTrigger.displayName = 'Drawer.Trigger'\nDrawerPortal.displayName = 'Drawer.Portal'\nDrawerOverlay.displayName = 'Drawer.Overlay'\nDrawerContent.displayName = 'Drawer.Content'\nDrawerHeader.displayName = 'Drawer.Header'\nDrawerBody.displayName = 'Drawer.Body'\nDrawerFooter.displayName = 'Drawer.Footer'\nDrawerCloseButton.displayName = 'Drawer.CloseButton'\nDrawerTitle.displayName = 'Drawer.Title'\nDrawerDescription.displayName = 'Drawer.Description'\n\nexport { type DrawerProps } from './Drawer'\nexport { type DrawerContentProps } from './DrawerContent'\nexport { type DrawerHeaderProps } from './DrawerHeader'\nexport { type DrawerBodyProps } from './DrawerBody'\nexport { type DrawerFooterProps } from './DrawerFooter'\nexport { type DrawerTriggerProps } from './DrawerTrigger'\nexport { type DrawerOverlayProps } from './DrawerOverlay'\nexport { type DrawerPortalProps } from './DrawerPortal'\nexport { type DrawerTitleProps } from './DrawerTitle'\nexport { type DrawerDescriptionProps } from './DrawerDescription'\nexport { type DrawerCloseProps } from './DrawerClose'\nexport { type DrawerCloseButtonProps } from './DrawerCloseButton'\n"],"names":["DrawerContext","createContext","DrawerProvider","childrenProp","withFade","jsx","useDrawer","context","useContext","Drawer","children","rest","RadixDrawer.Root","drawerBodyStyles","cva","DrawerBody","inset","className","forwardedRef","scrollAreaRef","useRef","ref","useMergeRefs","overflow","useScrollOverflow","DrawerClose","props","RadixDrawer.Close","DrawerCloseButton","ariaLabel","size","intent","design","CloseSVG","cx","IconButton","Icon","drawerContentStyles","DrawerContent","side","onInteractOutside","RadixDrawer.Content","e","DrawerDescription","RadixDrawer.Description","DrawerFooter","DrawerHeader","DrawerOverlay","RadixDrawer.Overlay","DrawerPortal","RadixDrawer.Portal","DrawerTitle","others","RadixDrawer.Title","DrawerTrigger","RadixDrawer.Trigger","Root"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/drawer/DrawerContext.tsx","../../src/drawer/Drawer.tsx","../../src/drawer/DrawerBody.styles.ts","../../src/drawer/DrawerBody.tsx","../../src/drawer/DrawerClose.tsx","../../src/drawer/DrawerCloseButton.tsx","../../src/drawer/DrawerContent.styles.tsx","../../src/drawer/DrawerContent.tsx","../../src/drawer/DrawerDescription.tsx","../../src/drawer/DrawerFooter.tsx","../../src/drawer/DrawerHeader.tsx","../../src/drawer/DrawerOverlay.tsx","../../src/drawer/DrawerPortal.tsx","../../src/drawer/DrawerTitle.tsx","../../src/drawer/DrawerTrigger.tsx","../../src/drawer/index.ts"],"sourcesContent":["import { createContext, type ReactNode, useContext } from 'react'\n\nexport interface DrawerContextState {\n withFade: boolean\n}\n\nconst DrawerContext = createContext<DrawerContextState | null>(null)\n\nexport const DrawerProvider = ({\n children: childrenProp,\n withFade = false,\n}: {\n children: ReactNode\n withFade?: boolean\n}) => {\n return (\n <DrawerContext.Provider\n value={{\n withFade,\n }}\n >\n {childrenProp}\n </DrawerContext.Provider>\n )\n}\n\nexport const useDrawer = () => {\n const context = useContext(DrawerContext)\n\n if (!context) {\n throw Error('useDrawer must be used within a Drawer provider')\n }\n\n return context\n}\n","import { Dialog as BaseDialog } from '@base-ui/react/dialog'\nimport { ComponentProps, type ReactElement } from 'react'\n\nimport { DrawerProvider } from './DrawerContext'\n\nexport interface DrawerProps\n extends Omit<ComponentProps<typeof BaseDialog.Root>, 'onOpenChange' | 'render'> {\n /**\n * Specifies if the dialog is open or not.\n */\n open?: boolean\n /**\n * Default open state.\n */\n defaultOpen?: boolean\n /**\n * Handler executed on every dialog open state change.\n */\n onOpenChange?: (open: boolean) => void\n /**\n * Specifies if the dialog is a modal.\n */\n modal?: boolean\n /**\n * Specifies if the drawer should have a fade animation on its body (in case it is scrollable).\n */\n withFade?: boolean\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 Drawer = ({ onOpenChange, withFade = false, ...props }: DrawerProps): ReactElement => {\n const handleOpenChange = onOpenChange\n ? (open: boolean, _eventDetails: unknown) => {\n onOpenChange(open)\n }\n : undefined\n\n return (\n <DrawerProvider withFade={withFade}>\n <BaseDialog.Root data-spark-component=\"drawer\" onOpenChange={handleOpenChange} {...props} />\n </DrawerProvider>\n )\n}\n\nDrawer.displayName = 'Drawer.Root'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const drawerBodyStyles = cva(\n ['grow', 'overflow-y-auto', 'outline-hidden', 'focus-visible:u-outline'],\n {\n variants: {\n inset: {\n true: '',\n false: 'px-xl py-lg',\n },\n },\n defaultVariants: {\n inset: false,\n },\n }\n)\n\nexport type DrawerBodyStylesProps = VariantProps<typeof drawerBodyStyles>\n","import { useMergeRefs } from '@spark-ui/hooks/use-merge-refs'\nimport { useScrollOverflow } from '@spark-ui/hooks/use-scroll-overflow'\nimport { type ReactNode, Ref, useRef } from 'react'\n\nimport { drawerBodyStyles, type DrawerBodyStylesProps } from './DrawerBody.styles'\nimport { useDrawer } from './DrawerContext'\n\nexport interface DrawerBodyProps extends DrawerBodyStylesProps {\n children: ReactNode\n className?: string\n ref?: Ref<HTMLDivElement>\n}\n\nexport const DrawerBody = ({\n children,\n inset = false,\n className,\n ref: forwardedRef,\n ...rest\n}: DrawerBodyProps) => {\n const scrollAreaRef = useRef<HTMLDivElement>(null)\n const ref = useMergeRefs(forwardedRef, scrollAreaRef)\n\n const { withFade } = useDrawer()\n\n const { overflow } = useScrollOverflow(scrollAreaRef)\n\n return (\n <div\n data-spark-component=\"drawer-body\"\n ref={ref}\n className={drawerBodyStyles({ inset, className })}\n style={{\n ...(withFade && {\n maskImage:\n 'linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1) 44px, rgba(0, 0, 0, 1) calc(100% - 44px), rgba(0, 0, 0, 0))',\n maskSize: `100% calc(100% + ${overflow.top ? '0px' : '44px'} + ${overflow.bottom ? '0px' : '44px'})`,\n maskPosition: `0 ${overflow.top ? '0px' : '-44px'}`,\n }),\n }}\n {...rest}\n >\n {children}\n </div>\n )\n}\n\nDrawerBody.displayName = 'Drawer.Body'\n","import { Dialog as BaseDialog } from '@base-ui/react/dialog'\nimport { ComponentProps, Ref } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface DrawerCloseProps extends Omit<ComponentProps<typeof BaseDialog.Close>, 'render'> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const DrawerClose = ({ asChild = false, ...props }: DrawerCloseProps) => {\n const renderSlot = useRenderSlot(asChild, 'button')\n\n return <BaseDialog.Close data-spark-component=\"drawer-close\" render={renderSlot} {...props} />\n}\n\nDrawerClose.displayName = 'Drawer.Close'\n","import { Close as CloseSVG } from '@spark-ui/icons/Close'\nimport { cx } from 'class-variance-authority'\n\nimport { Icon } from '../icon'\nimport { IconButton, type IconButtonProps } from '../icon-button'\nimport { DrawerClose, type DrawerCloseProps } from './DrawerClose'\n\nexport type DrawerCloseButtonProps = DrawerCloseProps &\n Pick<IconButtonProps, 'size' | 'intent' | 'design' | 'aria-label'>\n\nexport const DrawerCloseButton = ({\n 'aria-label': ariaLabel,\n className,\n size = 'md',\n intent = 'neutral',\n design = 'ghost',\n children = <CloseSVG />,\n ref,\n ...rest\n}: DrawerCloseButtonProps) => (\n <DrawerClose\n data-spark-component=\"drawer-close-button\"\n ref={ref}\n className={cx(['absolute', 'top-sm', 'right-xl'], className)}\n asChild\n {...rest}\n >\n <IconButton intent={intent} size={size} design={design} aria-label={ariaLabel}>\n <Icon>{children}</Icon>\n </IconButton>\n </DrawerClose>\n)\n\nDrawerCloseButton.displayName = 'Drawer.CloseButton'\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const drawerContentStyles = cva(\n [\n 'fixed z-modal flex flex-col bg-surface shadow-md',\n // Base UI uses data-open and data-closed for transitions\n 'data-open:animation-duration-400 data-closed:animation-duration-200',\n // Nested dialog effect\n 'data-nested-dialog-open:after:pointer-events-none',\n 'after:bg-transparent',\n 'after:transition-all',\n 'after:duration-200',\n 'data-nested-dialog-open:after:inset-0',\n 'data-nested-dialog-open:after:absolute',\n 'data-nested-dialog-open:after:rounded-[inherit]',\n 'data-nested-dialog-open:after:bg-overlay/dim-3',\n ],\n {\n variants: {\n size: {\n sm: '',\n md: '',\n lg: '',\n fluid: '',\n fullscreen: 'h-screen w-screen',\n },\n side: {\n right: [\n 'inset-y-0 right-0',\n 'data-open:animate-slide-in-right ',\n 'data-closed:animate-slide-out-right',\n ],\n left: [\n 'inset-y-0 left-0',\n 'data-open:animate-slide-in-left',\n 'data-closed:animate-slide-out-left',\n ],\n top: [\n 'top-0 left-0',\n 'w-screen',\n 'data-open:animate-slide-in-top',\n 'data-closed:animate-slide-out-top',\n ],\n bottom: [\n 'bottom-0 left-0',\n 'w-screen',\n 'data-open:animate-slide-in-bottom',\n 'data-closed:animate-slide-out-bottom',\n ],\n },\n },\n compoundVariants: [\n {\n side: ['right', 'left'],\n size: 'sm',\n class: ['w-sz-480', 'max-w-full'],\n },\n {\n side: ['right', 'left'],\n size: 'md',\n class: ['w-sz-672', 'max-w-full'],\n },\n {\n side: ['right', 'left'],\n size: 'lg',\n class: ['w-sz-864', 'max-w-full'],\n },\n {\n side: ['left', 'right'],\n size: 'fluid',\n class: ['w-auto', 'max-w-full'],\n },\n {\n side: ['top', 'bottom'],\n size: 'sm',\n class: ['h-sz-480', 'max-h-full'],\n },\n {\n side: ['top', 'bottom'],\n size: 'md',\n class: ['h-sz-672', 'max-h-full'],\n },\n {\n side: ['top', 'bottom'],\n size: 'lg',\n class: ['h-sz-864', 'max-h-full'],\n },\n {\n side: ['top', 'bottom'],\n size: 'fluid',\n class: ['h-auto', 'max-h-full'],\n },\n ],\n defaultVariants: {\n side: 'right',\n size: 'md',\n },\n }\n)\n\nexport type DrawerContentStylesProps = VariantProps<typeof drawerContentStyles>\n","import { Dialog as BaseDialog } from '@base-ui/react/dialog'\nimport { cx } from 'class-variance-authority'\nimport { ComponentProps, Ref } from 'react'\n\nimport { drawerContentStyles, type DrawerContentStylesProps } from './DrawerContent.styles'\n\nexport interface DrawerContentProps\n extends Omit<ComponentProps<typeof BaseDialog.Popup>, 'render'>,\n DrawerContentStylesProps {\n ref?: Ref<HTMLDivElement>\n}\n\nexport const DrawerContent = ({\n className,\n size = 'md',\n side = 'right',\n ref,\n ...rest\n}: DrawerContentProps) => {\n return (\n <BaseDialog.Popup\n ref={ref}\n data-spark-component=\"drawer-content\"\n role=\"dialog\"\n className={state =>\n cx(\n drawerContentStyles({\n size,\n side,\n className: typeof className === 'function' ? className(state) : className,\n })\n )\n }\n {...rest}\n />\n )\n}\n\nDrawerContent.displayName = 'Drawer.Content'\n","import { Dialog as BaseDialog } from '@base-ui/react/dialog'\nimport { ComponentProps, Ref } from 'react'\n\nexport interface DrawerDescriptionProps\n extends Omit<ComponentProps<typeof BaseDialog.Description>, 'render'> {\n ref?: Ref<HTMLParagraphElement>\n}\n\nexport const DrawerDescription = (props: DrawerDescriptionProps) => {\n return <BaseDialog.Description data-spark-component=\"drawer-description\" {...props} />\n}\n\nDrawerDescription.displayName = 'Drawer.Description'\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, type ReactElement, Ref } from 'react'\n\nexport type DrawerFooterProps = ComponentPropsWithoutRef<'footer'> & {\n ref?: Ref<HTMLDivElement>\n}\n\nexport const DrawerFooter = ({ className, ref, ...rest }: DrawerFooterProps): ReactElement => (\n <footer\n data-spark-component=\"drawer-footer\"\n ref={ref}\n className={cx(['px-xl', 'py-lg'], className)}\n {...rest}\n />\n)\n\nDrawerFooter.displayName = 'Drawer.Footer'\n","import { cx } from 'class-variance-authority'\nimport { type ReactElement, type ReactNode, Ref } from 'react'\n\nexport interface DrawerHeaderProps {\n children: ReactNode\n className?: string\n ref?: Ref<HTMLDivElement>\n}\n\nexport const DrawerHeader = ({\n children,\n className,\n ref,\n ...rest\n}: DrawerHeaderProps): ReactElement => (\n <header\n data-spark-component=\"drawer-header\"\n ref={ref}\n className={cx(['px-xl', 'py-lg'], className)}\n {...rest}\n >\n {children}\n </header>\n)\n\nDrawerHeader.displayName = 'Dialog.Header'\n","import { Dialog as BaseDialog } from '@base-ui/react/dialog'\nimport { cx } from 'class-variance-authority'\nimport { ComponentProps, Ref } from 'react'\n\nexport interface DrawerOverlayProps\n extends Omit<ComponentProps<typeof BaseDialog.Backdrop>, 'render'> {\n ref?: Ref<HTMLDivElement>\n}\n\nexport const DrawerOverlay = ({ className, ...props }: DrawerOverlayProps) => {\n return (\n <BaseDialog.Backdrop\n data-spark-component=\"drawer-overlay\"\n className={state =>\n cx(\n 'z-overlay fixed top-0 left-0 h-screen w-screen',\n 'bg-overlay/dim-1',\n // Base UI automatically adds data-[starting-style] and data-[ending-style] attributes\n 'data-starting-style:animate-fade-in',\n 'data-ending-style:animate-fade-out',\n typeof className === 'function' ? className(state) : className\n )\n }\n {...props}\n />\n )\n}\n\nDrawerOverlay.displayName = 'Drawer.Overlay'\n","import { Dialog as BaseDialog } from '@base-ui/react/dialog'\nimport { cx } from 'class-variance-authority'\nimport { ComponentProps } from 'react'\n\nexport type DrawerPortalProps = ComponentProps<typeof BaseDialog.Portal>\n\nexport const DrawerPortal = ({ className, ...props }: DrawerPortalProps) => {\n return (\n <BaseDialog.Portal\n data-spark-component=\"drawer-portal\"\n className={cx(className, 'z-modal absolute')}\n {...props}\n />\n )\n}\n\nDrawerPortal.displayName = 'Drawer.Portal'\n","import { Dialog as BaseDialog } from '@base-ui/react/dialog'\nimport { cx } from 'class-variance-authority'\nimport { ComponentProps, Ref } from 'react'\n\nexport interface DrawerTitleProps extends Omit<ComponentProps<typeof BaseDialog.Title>, 'render'> {\n ref?: Ref<HTMLHeadingElement>\n}\n\nexport const DrawerTitle = ({ className, ...props }: DrawerTitleProps) => {\n return (\n <BaseDialog.Title\n data-spark-component=\"drawer-title\"\n className={cx('text-headline-2 text-on-surface', className)}\n {...props}\n />\n )\n}\n\nDrawerTitle.displayName = 'Drawer.Title'\n","import { Dialog as BaseDialog } from '@base-ui/react/dialog'\nimport { ComponentProps, Ref } from 'react'\n\nimport { useRenderSlot } from './useRenderSlot'\n\nexport interface DrawerTriggerProps\n extends Omit<ComponentProps<typeof BaseDialog.Trigger>, 'render'> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const DrawerTrigger = ({ asChild = false, ...props }: DrawerTriggerProps) => {\n const renderSlot = useRenderSlot(asChild, 'button')\n\n return <BaseDialog.Trigger data-spark-component=\"drawer-trigger\" render={renderSlot} {...props} />\n}\n\nDrawerTrigger.displayName = 'Drawer.Trigger'\n","import { Drawer as Root } from './Drawer'\nimport { DrawerBody } from './DrawerBody'\nimport { DrawerClose } from './DrawerClose'\nimport { DrawerCloseButton } from './DrawerCloseButton'\nimport { DrawerContent } from './DrawerContent'\nimport { DrawerDescription } from './DrawerDescription' // aria-describedby\nimport { DrawerFooter } from './DrawerFooter'\nimport { DrawerHeader } from './DrawerHeader'\nimport { DrawerOverlay } from './DrawerOverlay'\nimport { DrawerPortal } from './DrawerPortal'\nimport { DrawerTitle } from './DrawerTitle'\nimport { DrawerTrigger } from './DrawerTrigger'\n\nexport const Drawer: typeof Root & {\n Trigger: typeof DrawerTrigger\n Portal: typeof DrawerPortal\n Overlay: typeof DrawerOverlay\n Content: typeof DrawerContent\n Header: typeof DrawerHeader\n Body: typeof DrawerBody\n Footer: typeof DrawerFooter\n Close: typeof DrawerClose\n CloseButton: typeof DrawerCloseButton\n Title: typeof DrawerTitle\n Description: typeof DrawerDescription\n} = Object.assign(Root, {\n Trigger: DrawerTrigger,\n Portal: DrawerPortal,\n Overlay: DrawerOverlay,\n Content: DrawerContent,\n Header: DrawerHeader,\n Body: DrawerBody,\n Footer: DrawerFooter,\n Close: DrawerClose,\n CloseButton: DrawerCloseButton,\n Title: DrawerTitle,\n Description: DrawerDescription,\n})\n\nDrawer.displayName = 'Drawer'\nDrawerTrigger.displayName = 'Drawer.Trigger'\nDrawerPortal.displayName = 'Drawer.Portal'\nDrawerOverlay.displayName = 'Drawer.Overlay'\nDrawerContent.displayName = 'Drawer.Content'\nDrawerHeader.displayName = 'Drawer.Header'\nDrawerBody.displayName = 'Drawer.Body'\nDrawerFooter.displayName = 'Drawer.Footer'\nDrawerClose.displayName = 'Drawer.Close'\nDrawerCloseButton.displayName = 'Drawer.CloseButton'\nDrawerTitle.displayName = 'Drawer.Title'\nDrawerDescription.displayName = 'Drawer.Description'\n\nexport { type DrawerProps } from './Drawer'\nexport { type DrawerContentProps } from './DrawerContent'\nexport { type DrawerHeaderProps } from './DrawerHeader'\nexport { type DrawerBodyProps } from './DrawerBody'\nexport { type DrawerFooterProps } from './DrawerFooter'\nexport { type DrawerTriggerProps } from './DrawerTrigger'\nexport { type DrawerOverlayProps } from './DrawerOverlay'\nexport { type DrawerPortalProps } from './DrawerPortal'\nexport { type DrawerTitleProps } from './DrawerTitle'\nexport { type DrawerDescriptionProps } from './DrawerDescription'\nexport { type DrawerCloseProps } from './DrawerClose'\nexport { type DrawerCloseButtonProps } from './DrawerCloseButton'\n"],"names":["DrawerContext","createContext","DrawerProvider","childrenProp","withFade","jsx","useDrawer","context","useContext","Drawer","onOpenChange","props","handleOpenChange","open","_eventDetails","BaseDialog","drawerBodyStyles","cva","DrawerBody","children","inset","className","forwardedRef","rest","scrollAreaRef","useRef","ref","useMergeRefs","overflow","useScrollOverflow","DrawerClose","asChild","renderSlot","useRenderSlot","DrawerCloseButton","ariaLabel","size","intent","design","CloseSVG","cx","IconButton","Icon","drawerContentStyles","DrawerContent","side","state","DrawerDescription","DrawerFooter","DrawerHeader","DrawerOverlay","DrawerPortal","DrawerTitle","DrawerTrigger","Root"],"mappings":"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"}
|
package/dist/drawer/index.mjs
CHANGED
|
@@ -1,31 +1,37 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { useMergeRefs as
|
|
5
|
-
import { useScrollOverflow as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { I as
|
|
10
|
-
|
|
2
|
+
import { Dialog as s } from "@base-ui/react/dialog";
|
|
3
|
+
import { createContext as B, useContext as T, useRef as P } from "react";
|
|
4
|
+
import { useMergeRefs as O } from "@spark-ui/hooks/use-merge-refs";
|
|
5
|
+
import { useScrollOverflow as S } from "@spark-ui/hooks/use-scroll-overflow";
|
|
6
|
+
import { cva as v, cx as i } from "class-variance-authority";
|
|
7
|
+
import { u as z } from "../useRenderSlot-LwWj8QbC.mjs";
|
|
8
|
+
import { Close as R } from "@spark-ui/icons/Close";
|
|
9
|
+
import { I as F } from "../Icon-Ck-dhfLd.mjs";
|
|
10
|
+
import { I } from "../IconButton-C62-axzv.mjs";
|
|
11
|
+
const C = B(null), H = ({
|
|
11
12
|
children: e,
|
|
12
13
|
withFade: a = !1
|
|
13
14
|
}) => /* @__PURE__ */ t(
|
|
14
|
-
|
|
15
|
+
C.Provider,
|
|
15
16
|
{
|
|
16
17
|
value: {
|
|
17
18
|
withFade: a
|
|
18
19
|
},
|
|
19
20
|
children: e
|
|
20
21
|
}
|
|
21
|
-
),
|
|
22
|
-
const e =
|
|
22
|
+
), $ = () => {
|
|
23
|
+
const e = T(C);
|
|
23
24
|
if (!e)
|
|
24
25
|
throw Error("useDrawer must be used within a Drawer provider");
|
|
25
26
|
return e;
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
}, k = ({ onOpenChange: e, withFade: a = !1, ...r }) => {
|
|
28
|
+
const o = e ? (l, n) => {
|
|
29
|
+
e(l);
|
|
30
|
+
} : void 0;
|
|
31
|
+
return /* @__PURE__ */ t(H, { withFade: a, children: /* @__PURE__ */ t(s.Root, { "data-spark-component": "drawer", onOpenChange: o, ...r }) });
|
|
32
|
+
};
|
|
33
|
+
k.displayName = "Drawer.Root";
|
|
34
|
+
const V = v(
|
|
29
35
|
["grow", "overflow-y-auto", "outline-hidden", "focus-visible:u-outline"],
|
|
30
36
|
{
|
|
31
37
|
variants: {
|
|
@@ -38,60 +44,73 @@ const G = N(
|
|
|
38
44
|
inset: !1
|
|
39
45
|
}
|
|
40
46
|
}
|
|
41
|
-
),
|
|
47
|
+
), w = ({
|
|
42
48
|
children: e,
|
|
43
49
|
inset: a = !1,
|
|
44
50
|
className: r,
|
|
45
|
-
ref:
|
|
46
|
-
...
|
|
51
|
+
ref: o,
|
|
52
|
+
...l
|
|
47
53
|
}) => {
|
|
48
|
-
const
|
|
54
|
+
const n = P(null), m = O(o, n), { withFade: p } = $(), { overflow: c } = S(n);
|
|
49
55
|
return /* @__PURE__ */ t(
|
|
50
56
|
"div",
|
|
51
57
|
{
|
|
52
58
|
"data-spark-component": "drawer-body",
|
|
53
|
-
ref:
|
|
54
|
-
className:
|
|
59
|
+
ref: m,
|
|
60
|
+
className: V({ inset: a, className: r }),
|
|
55
61
|
style: {
|
|
56
|
-
...
|
|
62
|
+
...p && {
|
|
57
63
|
maskImage: "linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1) 44px, rgba(0, 0, 0, 1) calc(100% - 44px), rgba(0, 0, 0, 0))",
|
|
58
|
-
maskSize: `100% calc(100% + ${
|
|
59
|
-
maskPosition: `0 ${
|
|
64
|
+
maskSize: `100% calc(100% + ${c.top ? "0px" : "44px"} + ${c.bottom ? "0px" : "44px"})`,
|
|
65
|
+
maskPosition: `0 ${c.top ? "0px" : "-44px"}`
|
|
60
66
|
}
|
|
61
67
|
},
|
|
62
|
-
...
|
|
68
|
+
...l,
|
|
63
69
|
children: e
|
|
64
70
|
}
|
|
65
71
|
);
|
|
66
72
|
};
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
73
|
+
w.displayName = "Drawer.Body";
|
|
74
|
+
const d = ({ asChild: e = !1, ...a }) => {
|
|
75
|
+
const r = z(e, "button");
|
|
76
|
+
return /* @__PURE__ */ t(s.Close, { "data-spark-component": "drawer-close", render: r, ...a });
|
|
77
|
+
};
|
|
78
|
+
d.displayName = "Drawer.Close";
|
|
79
|
+
const f = ({
|
|
71
80
|
"aria-label": e,
|
|
72
81
|
className: a,
|
|
73
82
|
size: r = "md",
|
|
74
|
-
intent:
|
|
75
|
-
design:
|
|
76
|
-
children:
|
|
77
|
-
ref:
|
|
78
|
-
...
|
|
83
|
+
intent: o = "neutral",
|
|
84
|
+
design: l = "ghost",
|
|
85
|
+
children: n = /* @__PURE__ */ t(R, {}),
|
|
86
|
+
ref: m,
|
|
87
|
+
...p
|
|
79
88
|
}) => /* @__PURE__ */ t(
|
|
80
|
-
|
|
89
|
+
d,
|
|
81
90
|
{
|
|
82
91
|
"data-spark-component": "drawer-close-button",
|
|
83
|
-
ref:
|
|
84
|
-
className:
|
|
92
|
+
ref: m,
|
|
93
|
+
className: i(["absolute", "top-sm", "right-xl"], a),
|
|
85
94
|
asChild: !0,
|
|
86
|
-
...
|
|
87
|
-
children: /* @__PURE__ */ t(
|
|
95
|
+
...p,
|
|
96
|
+
children: /* @__PURE__ */ t(I, { intent: o, size: r, design: l, "aria-label": e, children: /* @__PURE__ */ t(F, { children: n }) })
|
|
88
97
|
}
|
|
89
98
|
);
|
|
90
|
-
|
|
91
|
-
const
|
|
99
|
+
f.displayName = "Drawer.CloseButton";
|
|
100
|
+
const j = v(
|
|
92
101
|
[
|
|
93
102
|
"fixed z-modal flex flex-col bg-surface shadow-md",
|
|
94
|
-
|
|
103
|
+
// Base UI uses data-open and data-closed for transitions
|
|
104
|
+
"data-open:animation-duration-400 data-closed:animation-duration-200",
|
|
105
|
+
// Nested dialog effect
|
|
106
|
+
"data-nested-dialog-open:after:pointer-events-none",
|
|
107
|
+
"after:bg-transparent",
|
|
108
|
+
"after:transition-all",
|
|
109
|
+
"after:duration-200",
|
|
110
|
+
"data-nested-dialog-open:after:inset-0",
|
|
111
|
+
"data-nested-dialog-open:after:absolute",
|
|
112
|
+
"data-nested-dialog-open:after:rounded-[inherit]",
|
|
113
|
+
"data-nested-dialog-open:after:bg-overlay/dim-3"
|
|
95
114
|
],
|
|
96
115
|
{
|
|
97
116
|
variants: {
|
|
@@ -105,25 +124,25 @@ const J = N(
|
|
|
105
124
|
side: {
|
|
106
125
|
right: [
|
|
107
126
|
"inset-y-0 right-0",
|
|
108
|
-
"data-
|
|
109
|
-
"data-
|
|
127
|
+
"data-open:animate-slide-in-right ",
|
|
128
|
+
"data-closed:animate-slide-out-right"
|
|
110
129
|
],
|
|
111
130
|
left: [
|
|
112
131
|
"inset-y-0 left-0",
|
|
113
|
-
"data-
|
|
114
|
-
"data-
|
|
132
|
+
"data-open:animate-slide-in-left",
|
|
133
|
+
"data-closed:animate-slide-out-left"
|
|
115
134
|
],
|
|
116
135
|
top: [
|
|
117
136
|
"top-0 left-0",
|
|
118
137
|
"w-screen",
|
|
119
|
-
"data-
|
|
120
|
-
"data-
|
|
138
|
+
"data-open:animate-slide-in-top",
|
|
139
|
+
"data-closed:animate-slide-out-top"
|
|
121
140
|
],
|
|
122
141
|
bottom: [
|
|
123
142
|
"bottom-0 left-0",
|
|
124
143
|
"w-screen",
|
|
125
|
-
"data-
|
|
126
|
-
"data-
|
|
144
|
+
"data-open:animate-slide-in-bottom",
|
|
145
|
+
"data-closed:animate-slide-out-bottom"
|
|
127
146
|
]
|
|
128
147
|
}
|
|
129
148
|
},
|
|
@@ -174,112 +193,122 @@ const J = N(
|
|
|
174
193
|
size: "md"
|
|
175
194
|
}
|
|
176
195
|
}
|
|
177
|
-
),
|
|
196
|
+
), u = ({
|
|
178
197
|
className: e,
|
|
179
198
|
size: a = "md",
|
|
180
199
|
side: r = "right",
|
|
181
|
-
|
|
182
|
-
ref: i,
|
|
200
|
+
ref: o,
|
|
183
201
|
...l
|
|
184
202
|
}) => /* @__PURE__ */ t(
|
|
185
|
-
|
|
203
|
+
s.Popup,
|
|
186
204
|
{
|
|
205
|
+
ref: o,
|
|
187
206
|
"data-spark-component": "drawer-content",
|
|
188
|
-
|
|
189
|
-
className:
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
},
|
|
207
|
+
role: "dialog",
|
|
208
|
+
className: (n) => i(
|
|
209
|
+
j({
|
|
210
|
+
size: a,
|
|
211
|
+
side: r,
|
|
212
|
+
className: typeof e == "function" ? e(n) : e
|
|
213
|
+
})
|
|
214
|
+
),
|
|
197
215
|
...l
|
|
198
216
|
}
|
|
199
217
|
);
|
|
200
|
-
|
|
201
|
-
const
|
|
202
|
-
|
|
203
|
-
const
|
|
218
|
+
u.displayName = "Drawer.Content";
|
|
219
|
+
const g = (e) => /* @__PURE__ */ t(s.Description, { "data-spark-component": "drawer-description", ...e });
|
|
220
|
+
g.displayName = "Drawer.Description";
|
|
221
|
+
const y = ({ className: e, ref: a, ...r }) => /* @__PURE__ */ t(
|
|
204
222
|
"footer",
|
|
205
223
|
{
|
|
206
224
|
"data-spark-component": "drawer-footer",
|
|
207
225
|
ref: a,
|
|
208
|
-
className:
|
|
226
|
+
className: i(["px-xl", "py-lg"], e),
|
|
209
227
|
...r
|
|
210
228
|
}
|
|
211
229
|
);
|
|
212
|
-
|
|
230
|
+
y.displayName = "Drawer.Footer";
|
|
213
231
|
const D = ({
|
|
214
232
|
children: e,
|
|
215
233
|
className: a,
|
|
216
234
|
ref: r,
|
|
217
|
-
...
|
|
235
|
+
...o
|
|
218
236
|
}) => /* @__PURE__ */ t(
|
|
219
237
|
"header",
|
|
220
238
|
{
|
|
221
239
|
"data-spark-component": "drawer-header",
|
|
222
240
|
ref: r,
|
|
223
|
-
className:
|
|
224
|
-
...
|
|
241
|
+
className: i(["px-xl", "py-lg"], a),
|
|
242
|
+
...o,
|
|
225
243
|
children: e
|
|
226
244
|
}
|
|
227
245
|
);
|
|
228
246
|
D.displayName = "Dialog.Header";
|
|
229
|
-
const
|
|
230
|
-
|
|
247
|
+
const h = ({ className: e, ...a }) => /* @__PURE__ */ t(
|
|
248
|
+
s.Backdrop,
|
|
231
249
|
{
|
|
232
250
|
"data-spark-component": "drawer-overlay",
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
[
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
e
|
|
251
|
+
className: (r) => i(
|
|
252
|
+
"z-overlay fixed top-0 left-0 h-screen w-screen",
|
|
253
|
+
"bg-overlay/dim-1",
|
|
254
|
+
// Base UI automatically adds data-[starting-style] and data-[ending-style] attributes
|
|
255
|
+
"data-starting-style:animate-fade-in",
|
|
256
|
+
"data-ending-style:animate-fade-out",
|
|
257
|
+
typeof e == "function" ? e(r) : e
|
|
240
258
|
),
|
|
241
|
-
...
|
|
259
|
+
...a
|
|
242
260
|
}
|
|
243
261
|
);
|
|
244
|
-
|
|
245
|
-
const
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
262
|
+
h.displayName = "Drawer.Overlay";
|
|
263
|
+
const x = ({ className: e, ...a }) => /* @__PURE__ */ t(
|
|
264
|
+
s.Portal,
|
|
265
|
+
{
|
|
266
|
+
"data-spark-component": "drawer-portal",
|
|
267
|
+
className: i(e, "z-modal absolute"),
|
|
268
|
+
...a
|
|
269
|
+
}
|
|
270
|
+
);
|
|
271
|
+
x.displayName = "Drawer.Portal";
|
|
272
|
+
const b = ({ className: e, ...a }) => /* @__PURE__ */ t(
|
|
273
|
+
s.Title,
|
|
249
274
|
{
|
|
250
275
|
"data-spark-component": "drawer-title",
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
...r
|
|
276
|
+
className: i("text-headline-2 text-on-surface", e),
|
|
277
|
+
...a
|
|
254
278
|
}
|
|
255
279
|
);
|
|
256
|
-
|
|
257
|
-
const
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
280
|
+
b.displayName = "Drawer.Title";
|
|
281
|
+
const N = ({ asChild: e = !1, ...a }) => {
|
|
282
|
+
const r = z(e, "button");
|
|
283
|
+
return /* @__PURE__ */ t(s.Trigger, { "data-spark-component": "drawer-trigger", render: r, ...a });
|
|
284
|
+
};
|
|
285
|
+
N.displayName = "Drawer.Trigger";
|
|
286
|
+
const A = Object.assign(k, {
|
|
287
|
+
Trigger: N,
|
|
288
|
+
Portal: x,
|
|
289
|
+
Overlay: h,
|
|
290
|
+
Content: u,
|
|
264
291
|
Header: D,
|
|
265
|
-
Body:
|
|
266
|
-
Footer:
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
292
|
+
Body: w,
|
|
293
|
+
Footer: y,
|
|
294
|
+
Close: d,
|
|
295
|
+
CloseButton: f,
|
|
296
|
+
Title: b,
|
|
297
|
+
Description: g
|
|
270
298
|
});
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
299
|
+
A.displayName = "Drawer";
|
|
300
|
+
N.displayName = "Drawer.Trigger";
|
|
301
|
+
x.displayName = "Drawer.Portal";
|
|
302
|
+
h.displayName = "Drawer.Overlay";
|
|
303
|
+
u.displayName = "Drawer.Content";
|
|
276
304
|
D.displayName = "Drawer.Header";
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
305
|
+
w.displayName = "Drawer.Body";
|
|
306
|
+
y.displayName = "Drawer.Footer";
|
|
307
|
+
d.displayName = "Drawer.Close";
|
|
308
|
+
f.displayName = "Drawer.CloseButton";
|
|
309
|
+
b.displayName = "Drawer.Title";
|
|
310
|
+
g.displayName = "Drawer.Description";
|
|
282
311
|
export {
|
|
283
|
-
|
|
312
|
+
A as Drawer
|
|
284
313
|
};
|
|
285
314
|
//# sourceMappingURL=index.mjs.map
|