@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useOpenChangeComplete-RUbg6RBw.mjs","sources":["../../../node_modules/@base-ui/utils/esm/useRefWithInit.js","../../../node_modules/@base-ui/utils/esm/useStableCallback.js","../../../node_modules/@base-ui/utils/esm/useIsoLayoutEffect.js","../../../node_modules/@base-ui/utils/esm/formatErrorMessage.js","../../../node_modules/@base-ui/utils/esm/useMergedRefs.js","../../../node_modules/@base-ui/utils/esm/reactVersion.js","../../../node_modules/@base-ui/utils/esm/getReactElementRef.js","../../../node_modules/@base-ui/utils/esm/mergeObjects.js","../../../node_modules/@base-ui/react/esm/utils/getStateAttributesProps.js","../../../node_modules/@base-ui/react/esm/utils/resolveClassName.js","../../../node_modules/@base-ui/react/esm/utils/resolveStyle.js","../../../node_modules/@base-ui/react/esm/merge-props/mergeProps.js","../../../node_modules/@base-ui/utils/esm/empty.js","../../../node_modules/@base-ui/react/esm/utils/useRenderElement.js","../../../node_modules/@base-ui/react/esm/utils/reason-parts.js","../../../node_modules/@base-ui/react/esm/utils/createBaseUIEventDetails.js","../../../node_modules/@base-ui/utils/esm/safeReact.js","../../../node_modules/@base-ui/utils/esm/useId.js","../../../node_modules/@base-ui/utils/esm/useOnMount.js","../../../node_modules/@base-ui/utils/esm/useAnimationFrame.js","../../../node_modules/@base-ui/react/esm/utils/resolveRef.js","../../../node_modules/@base-ui/react/esm/utils/useAnimationsFinished.js","../../../node_modules/@base-ui/react/esm/utils/stateAttributesMapping.js","../../../node_modules/@base-ui/utils/esm/error.js","../../../node_modules/@base-ui/react/esm/composite/root/CompositeRootContext.js","../../../node_modules/@base-ui/react/esm/utils/useFocusableWhenDisabled.js","../../../node_modules/@base-ui/react/esm/use-button/useButton.js","../../../node_modules/@base-ui/utils/esm/useValueAsRef.js","../../../node_modules/@base-ui/react/esm/utils/useOpenChangeComplete.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useRefWithInit(sortColumns, columns)\n */\n\nexport function useRefWithInit(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}","'use client';\n\nimport * as React from 'react';\nimport { useRefWithInit } from \"./useRefWithInit.js\";\n\n// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\nconst useInsertionEffect = React[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0, -3)];\nconst useSafeInsertionEffect =\n// React 17 doesn't have useInsertionEffect.\nuseInsertionEffect &&\n// Preact replaces useInsertionEffect with useLayoutEffect and fires too late.\nuseInsertionEffect !== React.useLayoutEffect ? useInsertionEffect : fn => fn();\n/**\n * Stabilizes the function passed so it's always the same between renders.\n *\n * The function becomes non-reactive to any values it captures.\n * It can safely be passed as a dependency of `React.useMemo` and `React.useEffect` without re-triggering them if its captured values change.\n *\n * The function must only be called inside effects and event handlers, never during render (which throws an error).\n *\n * This hook is a more permissive version of React 19.2's `React.useEffectEvent` in that it can be passed through contexts and called in event handler props, not just effects.\n */\nexport function useStableCallback(callback) {\n const stable = useRefWithInit(createStableCallback).current;\n stable.next = callback;\n useSafeInsertionEffect(stable.effect);\n return stable.trampoline;\n}\nfunction createStableCallback() {\n const stable = {\n next: undefined,\n callback: assertNotCalled,\n trampoline: (...args) => stable.callback?.(...args),\n effect: () => {\n stable.callback = stable.next;\n }\n };\n return stable;\n}\nfunction assertNotCalled() {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error('Base UI: Cannot call an event handler while rendering.');\n }\n}","'use client';\n\nimport * as React from 'react';\nconst noop = () => {};\nexport const useIsoLayoutEffect = typeof document !== 'undefined' ? React.useLayoutEffect : noop;","/**\n * WARNING: Don't import this directly. It's imported by the code generated by\n * `@mui/interal-babel-plugin-minify-errors`. Make sure to always use string literals in `Error`\n * constructors to ensure the plugin works as expected. Supported patterns include:\n * throw new Error('My message');\n * throw new Error(`My message: ${foo}`);\n * throw new Error(`My message: ${foo}` + 'another string');\n * ...\n */\nexport default function formatErrorMessage(code, ...args) {\n const url = new URL(`https://base-ui.com/production-error/${code}`);\n args.forEach(arg => url.searchParams.append('args[]', arg));\n return `Base UI error #${code}; visit ${url} for the full message.`;\n}","import { useRefWithInit } from \"./useRefWithInit.js\";\n\n/**\n * Merges refs into a single memoized callback ref or `null`.\n * This makes sure multiple refs are updated together and have the same value.\n *\n * This function accepts up to four refs. If you need to merge more, or have an unspecified number of refs to merge,\n * use `useMergedRefsN` instead.\n */\n\nexport function useMergedRefs(a, b, c, d) {\n const forkRef = useRefWithInit(createForkRef).current;\n if (didChange(forkRef, a, b, c, d)) {\n update(forkRef, [a, b, c, d]);\n }\n return forkRef.callback;\n}\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n *\n * If you need to merge a fixed number (up to four) of refs, use `useMergedRefs` instead for better performance.\n */\nexport function useMergedRefsN(refs) {\n const forkRef = useRefWithInit(createForkRef).current;\n if (didChangeN(forkRef, refs)) {\n update(forkRef, refs);\n }\n return forkRef.callback;\n}\nfunction createForkRef() {\n return {\n callback: null,\n cleanup: null,\n refs: []\n };\n}\nfunction didChange(forkRef, a, b, c, d) {\n // prettier-ignore\n return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d;\n}\nfunction didChangeN(forkRef, newRefs) {\n return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index) => ref !== newRefs[index]);\n}\nfunction update(forkRef, refs) {\n forkRef.refs = refs;\n if (refs.every(ref => ref == null)) {\n forkRef.callback = null;\n return;\n }\n forkRef.callback = instance => {\n if (forkRef.cleanup) {\n forkRef.cleanup();\n forkRef.cleanup = null;\n }\n if (instance != null) {\n const cleanupCallbacks = Array(refs.length).fill(null);\n for (let i = 0; i < refs.length; i += 1) {\n const ref = refs[i];\n if (ref == null) {\n continue;\n }\n switch (typeof ref) {\n case 'function':\n {\n const refCleanup = ref(instance);\n if (typeof refCleanup === 'function') {\n cleanupCallbacks[i] = refCleanup;\n }\n break;\n }\n case 'object':\n {\n ref.current = instance;\n break;\n }\n default:\n }\n }\n forkRef.cleanup = () => {\n for (let i = 0; i < refs.length; i += 1) {\n const ref = refs[i];\n if (ref == null) {\n continue;\n }\n switch (typeof ref) {\n case 'function':\n {\n const cleanupCallback = cleanupCallbacks[i];\n if (typeof cleanupCallback === 'function') {\n cleanupCallback();\n } else {\n ref(null);\n }\n break;\n }\n case 'object':\n {\n ref.current = null;\n break;\n }\n default:\n }\n }\n };\n }\n };\n}","import * as React from 'react';\nconst majorVersion = parseInt(React.version, 10);\nexport function isReactVersionAtLeast(reactVersionToCheck) {\n return majorVersion >= reactVersionToCheck;\n}","import * as React from 'react';\nimport { isReactVersionAtLeast } from \"./reactVersion.js\";\n\n/**\n * Extracts the `ref` from a React element, handling different React versions.\n */\nexport function getReactElementRef(element) {\n if (! /*#__PURE__*/React.isValidElement(element)) {\n return null;\n }\n const reactElement = element;\n const propsWithRef = reactElement.props;\n return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;\n}","export function mergeObjects(a, b) {\n if (a && !b) {\n return a;\n }\n if (!a && b) {\n return b;\n }\n if (a || b) {\n return {\n ...a,\n ...b\n };\n }\n return undefined;\n}","export function getStateAttributesProps(state, customMapping) {\n const props = {};\n\n /* eslint-disable-next-line guard-for-in */\n for (const key in state) {\n const value = state[key];\n if (customMapping?.hasOwnProperty(key)) {\n const customProps = customMapping[key](value);\n if (customProps != null) {\n Object.assign(props, customProps);\n }\n continue;\n }\n if (value === true) {\n props[`data-${key.toLowerCase()}`] = '';\n } else if (value) {\n props[`data-${key.toLowerCase()}`] = value.toString();\n }\n }\n return props;\n}","/**\n * If the provided className is a string, it will be returned as is.\n * Otherwise, the function will call the className function with the state as the first argument.\n *\n * @param className\n * @param state\n */\nexport function resolveClassName(className, state) {\n return typeof className === 'function' ? className(state) : className;\n}","/**\n * If the provided style is an object, it will be returned as is.\n * Otherwise, the function will call the style function with the state as the first argument.\n *\n * @param style\n * @param state\n */\nexport function resolveStyle(style, state) {\n return typeof style === 'function' ? style(state) : style;\n}","import { mergeObjects } from '@base-ui/utils/mergeObjects';\nconst EMPTY_PROPS = {};\n\n/**\n * Merges multiple sets of React props. It follows the Object.assign pattern where the rightmost object's fields overwrite\n * the conflicting ones from others. This doesn't apply to event handlers, `className` and `style` props.\n * Event handlers are merged such that they are called in sequence (the rightmost one being called first),\n * and allows the user to prevent the subsequent event handlers from being\n * executed by attaching a `preventBaseUIHandler` method.\n * It also merges the `className` and `style` props, whereby the classes are concatenated\n * and the rightmost styles overwrite the subsequent ones.\n *\n * Props can either be provided as objects or as functions that take the previous props as an argument.\n * The function will receive the merged props up to that point (going from left to right):\n * so in the case of `(obj1, obj2, fn, obj3)`, `fn` will receive the merged props of `obj1` and `obj2`.\n * The function is responsible for chaining event handlers if needed (i.e. we don't run the merge logic).\n *\n * Event handlers returned by the functions are not automatically prevented when `preventBaseUIHandler` is called.\n * They must check `event.baseUIHandlerPrevented` themselves and bail out if it's true.\n *\n * @important **`ref` is not merged.**\n * @param props props to merge.\n * @returns the merged props.\n */\n/* eslint-disable id-denylist */\n\nexport function mergeProps(a, b, c, d, e) {\n // We need to mutably own `merged`\n let merged = {\n ...resolvePropsGetter(a, EMPTY_PROPS)\n };\n if (b) {\n merged = mergeOne(merged, b);\n }\n if (c) {\n merged = mergeOne(merged, c);\n }\n if (d) {\n merged = mergeOne(merged, d);\n }\n if (e) {\n merged = mergeOne(merged, e);\n }\n return merged;\n}\n/* eslint-enable id-denylist */\n\nexport function mergePropsN(props) {\n if (props.length === 0) {\n return EMPTY_PROPS;\n }\n if (props.length === 1) {\n return resolvePropsGetter(props[0], EMPTY_PROPS);\n }\n\n // We need to mutably own `merged`\n let merged = {\n ...resolvePropsGetter(props[0], EMPTY_PROPS)\n };\n for (let i = 1; i < props.length; i += 1) {\n merged = mergeOne(merged, props[i]);\n }\n return merged;\n}\nfunction mergeOne(merged, inputProps) {\n if (isPropsGetter(inputProps)) {\n return inputProps(merged);\n }\n return mutablyMergeInto(merged, inputProps);\n}\n\n/**\n * Merges two sets of props. In case of conflicts, the external props take precedence.\n */\nfunction mutablyMergeInto(mergedProps, externalProps) {\n if (!externalProps) {\n return mergedProps;\n }\n\n // eslint-disable-next-line guard-for-in\n for (const propName in externalProps) {\n const externalPropValue = externalProps[propName];\n switch (propName) {\n case 'style':\n {\n mergedProps[propName] = mergeObjects(mergedProps.style, externalPropValue);\n break;\n }\n case 'className':\n {\n mergedProps[propName] = mergeClassNames(mergedProps.className, externalPropValue);\n break;\n }\n default:\n {\n if (isEventHandler(propName, externalPropValue)) {\n mergedProps[propName] = mergeEventHandlers(mergedProps[propName], externalPropValue);\n } else {\n mergedProps[propName] = externalPropValue;\n }\n }\n }\n }\n return mergedProps;\n}\nfunction isEventHandler(key, value) {\n // This approach is more efficient than using a regex.\n const code0 = key.charCodeAt(0);\n const code1 = key.charCodeAt(1);\n const code2 = key.charCodeAt(2);\n return code0 === 111 /* o */ && code1 === 110 /* n */ && code2 >= 65 /* A */ && code2 <= 90 /* Z */ && (typeof value === 'function' || typeof value === 'undefined');\n}\nfunction isPropsGetter(inputProps) {\n return typeof inputProps === 'function';\n}\nfunction resolvePropsGetter(inputProps, previousProps) {\n if (isPropsGetter(inputProps)) {\n return inputProps(previousProps);\n }\n return inputProps ?? EMPTY_PROPS;\n}\nfunction mergeEventHandlers(ourHandler, theirHandler) {\n if (!theirHandler) {\n return ourHandler;\n }\n if (!ourHandler) {\n return theirHandler;\n }\n return event => {\n if (isSyntheticEvent(event)) {\n const baseUIEvent = event;\n makeEventPreventable(baseUIEvent);\n const result = theirHandler(baseUIEvent);\n if (!baseUIEvent.baseUIHandlerPrevented) {\n ourHandler?.(baseUIEvent);\n }\n return result;\n }\n const result = theirHandler(event);\n ourHandler?.(event);\n return result;\n };\n}\nexport function makeEventPreventable(event) {\n event.preventBaseUIHandler = () => {\n event.baseUIHandlerPrevented = true;\n };\n return event;\n}\nexport function mergeClassNames(ourClassName, theirClassName) {\n if (theirClassName) {\n if (ourClassName) {\n // eslint-disable-next-line prefer-template\n return theirClassName + ' ' + ourClassName;\n }\n return theirClassName;\n }\n return ourClassName;\n}\nfunction isSyntheticEvent(event) {\n return event != null && typeof event === 'object' && 'nativeEvent' in event;\n}","export function NOOP() {}\nexport const EMPTY_ARRAY = Object.freeze([]);\nexport const EMPTY_OBJECT = Object.freeze({});","import _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nimport { useMergedRefs, useMergedRefsN } from '@base-ui/utils/useMergedRefs';\nimport { getReactElementRef } from '@base-ui/utils/getReactElementRef';\nimport { mergeObjects } from '@base-ui/utils/mergeObjects';\nimport { getStateAttributesProps } from \"./getStateAttributesProps.js\";\nimport { resolveClassName } from \"./resolveClassName.js\";\nimport { resolveStyle } from \"./resolveStyle.js\";\nimport { mergeProps, mergePropsN, mergeClassNames } from \"../merge-props/index.js\";\nimport { EMPTY_OBJECT } from \"./constants.js\";\nimport { createElement as _createElement } from \"react\";\n/**\n * Renders a Base UI element.\n *\n * @param element The default HTML element to render. Can be overridden by the `render` prop.\n * @param componentProps An object containing the `render` and `className` props to be used for element customization. Other props are ignored.\n * @param params Additional parameters for rendering the element.\n */\nexport function useRenderElement(element, componentProps, params = {}) {\n const renderProp = componentProps.render;\n const outProps = useRenderElementProps(componentProps, params);\n if (params.enabled === false) {\n return null;\n }\n const state = params.state ?? EMPTY_OBJECT;\n return evaluateRenderProp(element, renderProp, outProps, state);\n}\n\n/**\n * Computes render element final props.\n */\nfunction useRenderElementProps(componentProps, params = {}) {\n const {\n className: classNameProp,\n style: styleProp,\n render: renderProp\n } = componentProps;\n const {\n state = EMPTY_OBJECT,\n ref,\n props,\n stateAttributesMapping,\n enabled = true\n } = params;\n const className = enabled ? resolveClassName(classNameProp, state) : undefined;\n const style = enabled ? resolveStyle(styleProp, state) : undefined;\n const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping) : EMPTY_OBJECT;\n const outProps = enabled ? mergeObjects(stateProps, Array.isArray(props) ? mergePropsN(props) : props) ?? EMPTY_OBJECT : EMPTY_OBJECT;\n\n // SAFETY: The `useMergedRefs` functions use a single hook to store the same value,\n // switching between them at runtime is safe. If this assertion fails, React will\n // throw at runtime anyway.\n // This also skips the `useMergedRefs` call on the server, which is fine because\n // refs are not used on the server side.\n /* eslint-disable react-hooks/rules-of-hooks */\n if (typeof document !== 'undefined') {\n if (!enabled) {\n useMergedRefs(null, null);\n } else if (Array.isArray(ref)) {\n outProps.ref = useMergedRefsN([outProps.ref, getReactElementRef(renderProp), ...ref]);\n } else {\n outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref);\n }\n }\n if (!enabled) {\n return EMPTY_OBJECT;\n }\n if (className !== undefined) {\n outProps.className = mergeClassNames(outProps.className, className);\n }\n if (style !== undefined) {\n outProps.style = mergeObjects(outProps.style, style);\n }\n return outProps;\n}\nfunction evaluateRenderProp(element, render, props, state) {\n if (render) {\n if (typeof render === 'function') {\n return render(props, state);\n }\n const mergedProps = mergeProps(props, render.props);\n mergedProps.ref = props.ref;\n return /*#__PURE__*/React.cloneElement(render, mergedProps);\n }\n if (element) {\n if (typeof element === 'string') {\n return renderTag(element, props);\n }\n }\n // Unreachable, but the typings on `useRenderElement` need to be reworked\n // to annotate it correctly.\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: Render element or function are not defined.' : _formatErrorMessage(8));\n}\nfunction renderTag(Tag, props) {\n if (Tag === 'button') {\n return /*#__PURE__*/_createElement(\"button\", {\n type: \"button\",\n ...props,\n key: props.key\n });\n }\n if (Tag === 'img') {\n return /*#__PURE__*/_createElement(\"img\", {\n alt: \"\",\n ...props,\n key: props.key\n });\n }\n return /*#__PURE__*/React.createElement(Tag, props);\n}","export const none = 'none';\nexport const triggerPress = 'trigger-press';\nexport const triggerHover = 'trigger-hover';\nexport const triggerFocus = 'trigger-focus';\nexport const outsidePress = 'outside-press';\nexport const itemPress = 'item-press';\nexport const closePress = 'close-press';\nexport const linkPress = 'link-press';\nexport const clearPress = 'clear-press';\nexport const chipRemovePress = 'chip-remove-press';\nexport const trackPress = 'track-press';\nexport const incrementPress = 'increment-press';\nexport const decrementPress = 'decrement-press';\nexport const inputChange = 'input-change';\nexport const inputClear = 'input-clear';\nexport const inputBlur = 'input-blur';\nexport const inputPaste = 'input-paste';\nexport const focusOut = 'focus-out';\nexport const escapeKey = 'escape-key';\nexport const listNavigation = 'list-navigation';\nexport const keyboard = 'keyboard';\nexport const pointer = 'pointer';\nexport const drag = 'drag';\nexport const wheel = 'wheel';\nexport const scrub = 'scrub';\nexport const cancelOpen = 'cancel-open';\nexport const siblingOpen = 'sibling-open';\nexport const disabled = 'disabled';\nexport const imperativeAction = 'imperative-action';\nexport const windowResize = 'window-resize';","import { EMPTY_OBJECT } from \"./constants.js\";\nimport { REASONS } from \"./reasons.js\";\n\n/**\n * Maps a change `reason` string to the corresponding native event type.\n */\n\n/**\n * Details of custom change events emitted by Base UI components.\n */\n\n/**\n * Details of custom generic events emitted by Base UI components.\n */\n\n/**\n * Creates a Base UI event details object with the given reason and utilities\n * for preventing Base UI's internal event handling.\n */\nexport function createChangeEventDetails(reason, event, trigger, customProperties) {\n let canceled = false;\n let allowPropagation = false;\n const custom = customProperties ?? EMPTY_OBJECT;\n const details = {\n reason,\n event: event ?? new Event('base-ui'),\n cancel() {\n canceled = true;\n },\n allowPropagation() {\n allowPropagation = true;\n },\n get isCanceled() {\n return canceled;\n },\n get isPropagationAllowed() {\n return allowPropagation;\n },\n trigger,\n ...custom\n };\n return details;\n}\nexport function createGenericEventDetails(reason, event, customProperties) {\n const custom = customProperties ?? EMPTY_OBJECT;\n const details = {\n reason,\n event: event ?? new Event('base-ui'),\n ...custom\n };\n return details;\n}","import * as React from 'react';\n\n// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\nexport const SafeReact = {\n ...React\n};","'use client';\n\nimport * as React from 'react';\nimport { SafeReact } from \"./safeReact.js\";\nlet globalId = 0;\n\n// TODO React 17: Remove `useGlobalId` once React 17 support is removed\nfunction useGlobalId(idOverride, prefix = 'mui') {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`${prefix}-${globalId}`);\n }\n }, [defaultId, prefix]);\n return id;\n}\nconst maybeReactUseId = SafeReact.useId;\n\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport function useId(idOverride, prefix) {\n // React.useId() is only available from React 17.0.0.\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? (prefix ? `${prefix}-${reactId}` : reactId);\n }\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride, prefix);\n}","'use client';\n\nimport * as React from 'react';\nconst EMPTY = [];\n\n/**\n * A React.useEffect equivalent that runs once, when the component is mounted.\n */\nexport function useOnMount(fn) {\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler -- no need to put `fn` in the dependency array\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(fn, EMPTY);\n /* eslint-enable react-hooks/exhaustive-deps */\n}","'use client';\n\nimport { useRefWithInit } from \"./useRefWithInit.js\";\nimport { useOnMount } from \"./useOnMount.js\";\n/** Unlike `setTimeout`, rAF doesn't guarantee a positive integer return value, so we can't have\n * a monomorphic `uint` type with `0` meaning empty.\n * See warning note at:\n * https://developer.mozilla.org/en-US/docs/Web/API/Window/requestAnimationFrame#return_value */\nconst EMPTY = null;\nlet LAST_RAF = globalThis.requestAnimationFrame;\nclass Scheduler {\n /* This implementation uses an array as a backing data-structure for frame callbacks.\n * It allows `O(1)` callback cancelling by inserting a `null` in the array, though it\n * never calls the native `cancelAnimationFrame` if there are no frames left. This can\n * be much more efficient if there is a call pattern that alterns as\n * \"request-cancel-request-cancel-…\".\n * But in the case of \"request-request-…-cancel-cancel-…\", it leaves the final animation\n * frame to run anyway. We turn that frame into a `O(1)` no-op via `callbacksCount`. */\n\n callbacks = [];\n callbacksCount = 0;\n nextId = 1;\n startId = 1;\n isScheduled = false;\n tick = timestamp => {\n this.isScheduled = false;\n const currentCallbacks = this.callbacks;\n const currentCallbacksCount = this.callbacksCount;\n\n // Update these before iterating, callbacks could call `requestAnimationFrame` again.\n this.callbacks = [];\n this.callbacksCount = 0;\n this.startId = this.nextId;\n if (currentCallbacksCount > 0) {\n for (let i = 0; i < currentCallbacks.length; i += 1) {\n currentCallbacks[i]?.(timestamp);\n }\n }\n };\n request(fn) {\n const id = this.nextId;\n this.nextId += 1;\n this.callbacks.push(fn);\n this.callbacksCount += 1;\n\n /* In a test environment with fake timers, a fake `requestAnimationFrame` can be called\n * but there's no guarantee that the animation frame will actually run before the fake\n * timers are teared, which leaves `isScheduled` set, but won't run our `tick()`. */\n const didRAFChange = process.env.NODE_ENV === 'test' && LAST_RAF !== requestAnimationFrame && (LAST_RAF = requestAnimationFrame, true);\n if (!this.isScheduled || didRAFChange) {\n requestAnimationFrame(this.tick);\n this.isScheduled = true;\n }\n return id;\n }\n cancel(id) {\n const index = id - this.startId;\n if (index < 0 || index >= this.callbacks.length) {\n return;\n }\n this.callbacks[index] = null;\n this.callbacksCount -= 1;\n }\n}\nconst scheduler = new Scheduler();\nexport class AnimationFrame {\n static create() {\n return new AnimationFrame();\n }\n static request(fn) {\n return scheduler.request(fn);\n }\n static cancel(id) {\n return scheduler.cancel(id);\n }\n currentId = EMPTY;\n\n /**\n * Executes `fn` after `delay`, clearing any previously scheduled call.\n */\n request(fn) {\n this.cancel();\n this.currentId = scheduler.request(() => {\n this.currentId = EMPTY;\n fn();\n });\n }\n cancel = () => {\n if (this.currentId !== EMPTY) {\n scheduler.cancel(this.currentId);\n this.currentId = EMPTY;\n }\n };\n disposeEffect = () => {\n return this.cancel;\n };\n}\n\n/**\n * A `requestAnimationFrame` with automatic cleanup and guard.\n */\nexport function useAnimationFrame() {\n const timeout = useRefWithInit(AnimationFrame.create).current;\n useOnMount(timeout.disposeEffect);\n return timeout;\n}","/**\n * If the provided argument is a ref object, returns its `current` value.\n * Otherwise, returns the argument itself.\n */\nexport function resolveRef(maybeRef) {\n if (maybeRef == null) {\n return maybeRef;\n }\n return 'current' in maybeRef ? maybeRef.current : maybeRef;\n}","'use client';\n\nimport * as ReactDOM from 'react-dom';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { resolveRef } from \"./resolveRef.js\";\n\n/**\n * Executes a function once all animations have finished on the provided element.\n * @param elementOrRef - The element to watch for animations.\n * @param waitForNextTick - Whether to wait for the next tick before checking for animations.\n * @param treatAbortedAsFinished - Whether to treat aborted animations as finished. If `false`, and there are aborted animations,\n * the function will check again if any new animations have started and wait for them to finish.\n * @returns A function that takes a callback to execute once all animations have finished, and an optional AbortSignal to abort the callback\n */\nexport function useAnimationsFinished(elementOrRef, waitForNextTick = false, treatAbortedAsFinished = true) {\n const frame = useAnimationFrame();\n return useStableCallback((fnToExecute,\n /**\n * An optional [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) that\n * can be used to abort `fnToExecute` before all the animations have finished.\n * @default null\n */\n signal = null) => {\n frame.cancel();\n const element = resolveRef(elementOrRef);\n if (element == null) {\n return;\n }\n if (typeof element.getAnimations !== 'function' || globalThis.BASE_UI_ANIMATIONS_DISABLED) {\n fnToExecute();\n } else {\n frame.request(() => {\n function exec() {\n if (!element) {\n return;\n }\n Promise.all(element.getAnimations().map(anim => anim.finished)).then(() => {\n if (signal != null && signal.aborted) {\n return;\n }\n\n // Synchronously flush the unmounting of the component so that the browser doesn't\n // paint: https://github.com/mui/base-ui/issues/979\n ReactDOM.flushSync(fnToExecute);\n }).catch(() => {\n if (treatAbortedAsFinished) {\n if (signal != null && signal.aborted) {\n return;\n }\n ReactDOM.flushSync(fnToExecute);\n } else if (element.getAnimations().length > 0 && element.getAnimations().some(anim => anim.pending || anim.playState !== 'finished')) {\n // Sometimes animations can be aborted because a property they depend on changes while the animation plays.\n // In such cases, we need to re-check if any new animations have started.\n exec();\n }\n });\n }\n\n // `open: true` animations need to wait for the next tick to be detected\n if (waitForNextTick) {\n frame.request(exec);\n } else {\n exec();\n }\n });\n }\n });\n}","export let TransitionStatusDataAttributes = /*#__PURE__*/function (TransitionStatusDataAttributes) {\n /**\n * Present when the component is animating in.\n */\n TransitionStatusDataAttributes[\"startingStyle\"] = \"data-starting-style\";\n /**\n * Present when the component is animating out.\n */\n TransitionStatusDataAttributes[\"endingStyle\"] = \"data-ending-style\";\n return TransitionStatusDataAttributes;\n}({});\nconst STARTING_HOOK = {\n [TransitionStatusDataAttributes.startingStyle]: ''\n};\nconst ENDING_HOOK = {\n [TransitionStatusDataAttributes.endingStyle]: ''\n};\nexport const transitionStatusMapping = {\n transitionStatus(value) {\n if (value === 'starting') {\n return STARTING_HOOK;\n }\n if (value === 'ending') {\n return ENDING_HOOK;\n }\n return null;\n }\n};","let set;\nif (process.env.NODE_ENV !== 'production') {\n set = new Set();\n}\nexport function error(...messages) {\n if (process.env.NODE_ENV !== 'production') {\n const messageKey = messages.join(' ');\n if (!set.has(messageKey)) {\n set.add(messageKey);\n console.error(`Base UI: ${messageKey}`);\n }\n }\n}","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const CompositeRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") CompositeRootContext.displayName = \"CompositeRootContext\";\nexport function useCompositeRootContext(optional = false) {\n const context = React.useContext(CompositeRootContext);\n if (context === undefined && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>.' : _formatErrorMessage(16));\n }\n return context;\n}","'use client';\n\nimport * as React from 'react';\nexport function useFocusableWhenDisabled(parameters) {\n const {\n focusableWhenDisabled,\n disabled,\n composite = false,\n tabIndex: tabIndexProp = 0,\n isNativeButton\n } = parameters;\n const isFocusableComposite = composite && focusableWhenDisabled !== false;\n const isNonFocusableComposite = composite && focusableWhenDisabled === false;\n\n // we can't explicitly assign `undefined` to any of these props because it\n // would otherwise prevent subsequently merged props from setting them\n const props = React.useMemo(() => {\n const additionalProps = {\n // allow Tabbing away from focusableWhenDisabled elements\n onKeyDown(event) {\n if (disabled && focusableWhenDisabled && event.key !== 'Tab') {\n event.preventDefault();\n }\n }\n };\n if (!composite) {\n additionalProps.tabIndex = tabIndexProp;\n if (!isNativeButton && disabled) {\n additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1;\n }\n }\n if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled) {\n additionalProps['aria-disabled'] = disabled;\n }\n if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) {\n additionalProps.disabled = disabled;\n }\n return additionalProps;\n }, [composite, disabled, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);\n return {\n props\n };\n}","'use client';\n\nimport * as React from 'react';\nimport { isHTMLElement } from '@floating-ui/utils/dom';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { error } from '@base-ui/utils/error';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { makeEventPreventable, mergeProps } from \"../merge-props/index.js\";\nimport { useCompositeRootContext } from \"../composite/root/CompositeRootContext.js\";\nimport { useFocusableWhenDisabled } from \"../utils/useFocusableWhenDisabled.js\";\nexport function useButton(parameters = {}) {\n const {\n disabled = false,\n focusableWhenDisabled,\n tabIndex = 0,\n native: isNativeButton = true\n } = parameters;\n const elementRef = React.useRef(null);\n const isCompositeItem = useCompositeRootContext(true) !== undefined;\n const isValidLink = useStableCallback(() => {\n const element = elementRef.current;\n return Boolean(element?.tagName === 'A' && element?.href);\n });\n const {\n props: focusableWhenDisabledProps\n } = useFocusableWhenDisabled({\n focusableWhenDisabled,\n disabled,\n composite: isCompositeItem,\n tabIndex,\n isNativeButton\n });\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (!elementRef.current) {\n return;\n }\n const isButtonTag = elementRef.current.tagName === 'BUTTON';\n if (isNativeButton) {\n if (!isButtonTag) {\n error('A component that acts as a button was not rendered as a native <button>, which does not match the default. Ensure that the element passed to the `render` prop of the component is a real <button>, or set the `nativeButton` prop on the component to `false`.');\n }\n } else if (isButtonTag) {\n error('A component that acts as a button was rendered as a native <button>, which does not match the default. Ensure that the element passed to the `render` prop of the component is not a real <button>, or set the `nativeButton` prop on the component to `true`.');\n }\n }, [isNativeButton]);\n }\n\n // handles a disabled composite button rendering another button, e.g.\n // <Toolbar.Button disabled render={<Menu.Trigger />} />\n // the `disabled` prop needs to pass through 2 `useButton`s then finally\n // delete the `disabled` attribute from DOM\n const updateDisabled = React.useCallback(() => {\n const element = elementRef.current;\n if (!isButtonElement(element)) {\n return;\n }\n if (isCompositeItem && disabled && focusableWhenDisabledProps.disabled === undefined && element.disabled) {\n element.disabled = false;\n }\n }, [disabled, focusableWhenDisabledProps.disabled, isCompositeItem]);\n useIsoLayoutEffect(updateDisabled, [updateDisabled]);\n const getButtonProps = React.useCallback((externalProps = {}) => {\n const {\n onClick: externalOnClick,\n onMouseDown: externalOnMouseDown,\n onKeyUp: externalOnKeyUp,\n onKeyDown: externalOnKeyDown,\n onPointerDown: externalOnPointerDown,\n ...otherExternalProps\n } = externalProps;\n const type = isNativeButton ? 'button' : undefined;\n return mergeProps({\n type,\n onClick(event) {\n if (disabled) {\n event.preventDefault();\n return;\n }\n externalOnClick?.(event);\n },\n onMouseDown(event) {\n if (!disabled) {\n externalOnMouseDown?.(event);\n }\n },\n onKeyDown(event) {\n if (!disabled) {\n makeEventPreventable(event);\n externalOnKeyDown?.(event);\n }\n if (event.baseUIHandlerPrevented) {\n return;\n }\n const shouldClick = event.target === event.currentTarget && !isNativeButton && !isValidLink() && !disabled;\n const isEnterKey = event.key === 'Enter';\n const isSpaceKey = event.key === ' ';\n\n // Keyboard accessibility for non interactive elements\n if (shouldClick) {\n if (isSpaceKey || isEnterKey) {\n event.preventDefault();\n }\n if (isEnterKey) {\n externalOnClick?.(event);\n }\n }\n },\n onKeyUp(event) {\n // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed\n // https://codesandbox.io/p/sandbox/button-keyup-preventdefault-dn7f0\n // Keyboard accessibility for non interactive elements\n if (!disabled) {\n makeEventPreventable(event);\n externalOnKeyUp?.(event);\n }\n if (event.baseUIHandlerPrevented) {\n return;\n }\n if (event.target === event.currentTarget && !isNativeButton && !disabled && event.key === ' ') {\n externalOnClick?.(event);\n }\n },\n onPointerDown(event) {\n if (disabled) {\n event.preventDefault();\n return;\n }\n externalOnPointerDown?.(event);\n }\n }, !isNativeButton ? {\n role: 'button'\n } : undefined, focusableWhenDisabledProps, otherExternalProps);\n }, [disabled, focusableWhenDisabledProps, isNativeButton, isValidLink]);\n const buttonRef = useStableCallback(element => {\n elementRef.current = element;\n updateDisabled();\n });\n return {\n getButtonProps,\n buttonRef\n };\n}\nfunction isButtonElement(elem) {\n return isHTMLElement(elem) && elem.tagName === 'BUTTON';\n}","'use client';\n\nimport { useIsoLayoutEffect } from \"./useIsoLayoutEffect.js\";\nimport { useRefWithInit } from \"./useRefWithInit.js\";\n\n/**\n * Untracks the provided value by turning it into a ref to remove its reactivity.\n *\n * Used to access the passed value inside `React.useEffect` without causing the effect to re-run when the value changes.\n */\nexport function useValueAsRef(value) {\n const latest = useRefWithInit(createLatestRef, value).current;\n latest.next = value;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useIsoLayoutEffect(latest.effect);\n return latest;\n}\nfunction createLatestRef(value) {\n const latest = {\n current: value,\n next: value,\n effect: () => {\n latest.current = latest.next;\n }\n };\n return latest;\n}","'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { useAnimationsFinished } from \"./useAnimationsFinished.js\";\n\n/**\n * Calls the provided function when the CSS open/close animation or transition completes.\n */\nexport function useOpenChangeComplete(parameters) {\n const {\n enabled = true,\n open,\n ref,\n onComplete: onCompleteParam\n } = parameters;\n const openRef = useValueAsRef(open);\n const onComplete = useStableCallback(onCompleteParam);\n const runOnceAnimationsFinish = useAnimationsFinished(ref, open);\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n runOnceAnimationsFinish(() => {\n if (open === openRef.current) {\n onComplete();\n }\n });\n }, [enabled, open, onComplete, runOnceAnimationsFinish, openRef]);\n}"],"names":["UNINITIALIZED","useRefWithInit","init","initArg","ref","React","useInsertionEffect","useSafeInsertionEffect","fn","useStableCallback","callback","stable","createStableCallback","assertNotCalled","args","noop","useIsoLayoutEffect","formatErrorMessage","code","url","arg","useMergedRefs","a","b","c","d","forkRef","createForkRef","didChange","update","useMergedRefsN","refs","didChangeN","newRefs","index","instance","cleanupCallbacks","i","refCleanup","cleanupCallback","majorVersion","isReactVersionAtLeast","reactVersionToCheck","getReactElementRef","element","reactElement","propsWithRef","mergeObjects","getStateAttributesProps","state","customMapping","props","key","value","customProps","resolveClassName","className","resolveStyle","style","EMPTY_PROPS","mergeProps","e","merged","resolvePropsGetter","mergeOne","mergePropsN","inputProps","isPropsGetter","mutablyMergeInto","mergedProps","externalProps","propName","externalPropValue","mergeClassNames","isEventHandler","mergeEventHandlers","code0","code1","code2","previousProps","ourHandler","theirHandler","event","isSyntheticEvent","baseUIEvent","makeEventPreventable","result","ourClassName","theirClassName","NOOP","EMPTY_OBJECT","useRenderElement","componentProps","params","renderProp","outProps","useRenderElementProps","evaluateRenderProp","classNameProp","styleProp","stateAttributesMapping","enabled","stateProps","render","renderTag","_formatErrorMessage","Tag","_createElement","none","triggerPress","triggerHover","outsidePress","closePress","focusOut","escapeKey","imperativeAction","createChangeEventDetails","reason","trigger","customProperties","canceled","allowPropagation","custom","SafeReact","globalId","useGlobalId","idOverride","prefix","defaultId","setDefaultId","id","maybeReactUseId","useId","reactId","EMPTY","useOnMount","LAST_RAF","Scheduler","timestamp","currentCallbacks","currentCallbacksCount","didRAFChange","scheduler","AnimationFrame","useAnimationFrame","timeout","resolveRef","maybeRef","useAnimationsFinished","elementOrRef","waitForNextTick","treatAbortedAsFinished","frame","fnToExecute","signal","exec","anim","ReactDOM","TransitionStatusDataAttributes","STARTING_HOOK","ENDING_HOOK","transitionStatusMapping","set","error","messages","messageKey","CompositeRootContext","useCompositeRootContext","optional","context","useFocusableWhenDisabled","parameters","focusableWhenDisabled","disabled","composite","tabIndexProp","isNativeButton","isFocusableComposite","isNonFocusableComposite","additionalProps","useButton","tabIndex","elementRef","isCompositeItem","isValidLink","focusableWhenDisabledProps","isButtonTag","updateDisabled","isButtonElement","getButtonProps","externalOnClick","externalOnMouseDown","externalOnKeyUp","externalOnKeyDown","externalOnPointerDown","otherExternalProps","shouldClick","isEnterKey","isSpaceKey","buttonRef","elem","isHTMLElement","useValueAsRef","latest","createLatestRef","useOpenChangeComplete","open","onCompleteParam","openRef","onComplete","runOnceAnimationsFinish"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { u as m, a as f, A as n } from "./useOpenChangeComplete-RUbg6RBw.mjs";
|
|
2
|
-
import * as d from "react";
|
|
3
|
-
function g(s) {
|
|
4
|
-
return m(s, "base-ui");
|
|
5
|
-
}
|
|
6
|
-
function q(s, r = !1, a = !1) {
|
|
7
|
-
const [u, i] = d.useState(s && r ? "idle" : void 0), [t, c] = d.useState(s);
|
|
8
|
-
return s && !t && (c(!0), i("starting")), !s && t && u !== "ending" && !a && i("ending"), !s && !t && u === "ending" && i(void 0), f(() => {
|
|
9
|
-
if (!s && t && u !== "ending" && a) {
|
|
10
|
-
const e = n.request(() => {
|
|
11
|
-
i("ending");
|
|
12
|
-
});
|
|
13
|
-
return () => {
|
|
14
|
-
n.cancel(e);
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
}, [s, t, u, a]), f(() => {
|
|
18
|
-
if (!s || r)
|
|
19
|
-
return;
|
|
20
|
-
const e = n.request(() => {
|
|
21
|
-
i(void 0);
|
|
22
|
-
});
|
|
23
|
-
return () => {
|
|
24
|
-
n.cancel(e);
|
|
25
|
-
};
|
|
26
|
-
}, [r, s]), f(() => {
|
|
27
|
-
if (!s || !r)
|
|
28
|
-
return;
|
|
29
|
-
s && t && u !== "idle" && i("starting");
|
|
30
|
-
const e = n.request(() => {
|
|
31
|
-
i("idle");
|
|
32
|
-
});
|
|
33
|
-
return () => {
|
|
34
|
-
n.cancel(e);
|
|
35
|
-
};
|
|
36
|
-
}, [r, s, t, i, u]), d.useMemo(() => ({
|
|
37
|
-
mounted: t,
|
|
38
|
-
setMounted: c,
|
|
39
|
-
transitionStatus: u
|
|
40
|
-
}), [t, u]);
|
|
41
|
-
}
|
|
42
|
-
export {
|
|
43
|
-
g as a,
|
|
44
|
-
q as u
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=useTransitionStatus-CktVVKxz.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTransitionStatus-CktVVKxz.mjs","sources":["../../../node_modules/@base-ui/react/esm/utils/useBaseUiId.js","../../../node_modules/@base-ui/react/esm/utils/useTransitionStatus.js"],"sourcesContent":["'use client';\n\nimport { useId } from '@base-ui/utils/useId';\n\n/**\n * Wraps `useId` and prefixes generated `id`s with `base-ui-`\n * @param {string | undefined} idOverride overrides the generated id when provided\n * @returns {string | undefined}\n */\nexport function useBaseUiId(idOverride) {\n return useId(idOverride, 'base-ui');\n}","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { AnimationFrame } from '@base-ui/utils/useAnimationFrame';\n/**\n * Provides a status string for CSS animations.\n * @param open - a boolean that determines if the element is open.\n * @param enableIdleState - a boolean that enables the `'idle'` state between `'starting'` and `'ending'`\n */\nexport function useTransitionStatus(open, enableIdleState = false, deferEndingState = false) {\n const [transitionStatus, setTransitionStatus] = React.useState(open && enableIdleState ? 'idle' : undefined);\n const [mounted, setMounted] = React.useState(open);\n if (open && !mounted) {\n setMounted(true);\n setTransitionStatus('starting');\n }\n if (!open && mounted && transitionStatus !== 'ending' && !deferEndingState) {\n setTransitionStatus('ending');\n }\n if (!open && !mounted && transitionStatus === 'ending') {\n setTransitionStatus(undefined);\n }\n useIsoLayoutEffect(() => {\n if (!open && mounted && transitionStatus !== 'ending' && deferEndingState) {\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('ending');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }\n return undefined;\n }, [open, mounted, transitionStatus, deferEndingState]);\n useIsoLayoutEffect(() => {\n if (!open || enableIdleState) {\n return undefined;\n }\n const frame = AnimationFrame.request(() => {\n // Avoid `flushSync` here due to Firefox.\n // See https://github.com/mui/base-ui/pull/3424\n setTransitionStatus(undefined);\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open]);\n useIsoLayoutEffect(() => {\n if (!open || !enableIdleState) {\n return undefined;\n }\n if (open && mounted && transitionStatus !== 'idle') {\n setTransitionStatus('starting');\n }\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('idle');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open, mounted, setTransitionStatus, transitionStatus]);\n return React.useMemo(() => ({\n mounted,\n setMounted,\n transitionStatus\n }), [mounted, transitionStatus]);\n}"],"names":["useBaseUiId","idOverride","useId","useTransitionStatus","open","enableIdleState","deferEndingState","transitionStatus","setTransitionStatus","React","mounted","setMounted","useIsoLayoutEffect","frame","AnimationFrame"],"mappings":";;AASO,SAASA,EAAYC,GAAY;AACtC,SAAOC,EAAMD,GAAY,SAAS;AACpC;ACDO,SAASE,EAAoBC,GAAMC,IAAkB,IAAOC,IAAmB,IAAO;AAC3F,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,EAAM,SAASL,KAAQC,IAAkB,SAAS,MAAS,GACrG,CAACK,GAASC,CAAU,IAAIF,EAAM,SAASL,CAAI;AACjD,SAAIA,KAAQ,CAACM,MACXC,EAAW,EAAI,GACfH,EAAoB,UAAU,IAE5B,CAACJ,KAAQM,KAAWH,MAAqB,YAAY,CAACD,KACxDE,EAAoB,QAAQ,GAE1B,CAACJ,KAAQ,CAACM,KAAWH,MAAqB,YAC5CC,EAAoB,MAAS,GAE/BI,EAAmB,MAAM;AACvB,QAAI,CAACR,KAAQM,KAAWH,MAAqB,YAAYD,GAAkB;AACzE,YAAMO,IAAQC,EAAe,QAAQ,MAAM;AACzC,QAAAN,EAAoB,QAAQ;AAAA,MAC9B,CAAC;AACD,aAAO,MAAM;AACX,QAAAM,EAAe,OAAOD,CAAK;AAAA,MAC7B;AAAA,IACF;AAAA,EAEF,GAAG,CAACT,GAAMM,GAASH,GAAkBD,CAAgB,CAAC,GACtDM,EAAmB,MAAM;AACvB,QAAI,CAACR,KAAQC;AACX;AAEF,UAAMQ,IAAQC,EAAe,QAAQ,MAAM;AAGzC,MAAAN,EAAoB,MAAS;AAAA,IAC/B,CAAC;AACD,WAAO,MAAM;AACX,MAAAM,EAAe,OAAOD,CAAK;AAAA,IAC7B;AAAA,EACF,GAAG,CAACR,GAAiBD,CAAI,CAAC,GAC1BQ,EAAmB,MAAM;AACvB,QAAI,CAACR,KAAQ,CAACC;AACZ;AAEF,IAAID,KAAQM,KAAWH,MAAqB,UAC1CC,EAAoB,UAAU;AAEhC,UAAMK,IAAQC,EAAe,QAAQ,MAAM;AACzC,MAAAN,EAAoB,MAAM;AAAA,IAC5B,CAAC;AACD,WAAO,MAAM;AACX,MAAAM,EAAe,OAAOD,CAAK;AAAA,IAC7B;AAAA,EACF,GAAG,CAACR,GAAiBD,GAAMM,GAASF,GAAqBD,CAAgB,CAAC,GACnEE,EAAM,QAAQ,OAAO;AAAA,IAC1B,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,kBAAAJ;AAAA,EACJ,IAAM,CAACG,GAASH,CAAgB,CAAC;AACjC;","x_google_ignoreList":[0,1]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const n=require("./useOpenChangeComplete-Dk-u_f2y.js"),o=require("react");function d(e){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(i,r,t.get?t:{enumerable:!0,get:()=>e[r]})}}return i.default=e,Object.freeze(i)}const c=d(o);function m(e){return n.useId(e,"base-ui")}function g(e,i=!1,r=!1){const[t,s]=c.useState(e&&i?"idle":void 0),[u,f]=c.useState(e);return e&&!u&&(f(!0),s("starting")),!e&&u&&t!=="ending"&&!r&&s("ending"),!e&&!u&&t==="ending"&&s(void 0),n.useIsoLayoutEffect(()=>{if(!e&&u&&t!=="ending"&&r){const a=n.AnimationFrame.request(()=>{s("ending")});return()=>{n.AnimationFrame.cancel(a)}}},[e,u,t,r]),n.useIsoLayoutEffect(()=>{if(!e||i)return;const a=n.AnimationFrame.request(()=>{s(void 0)});return()=>{n.AnimationFrame.cancel(a)}},[i,e]),n.useIsoLayoutEffect(()=>{if(!e||!i)return;e&&u&&t!=="idle"&&s("starting");const a=n.AnimationFrame.request(()=>{s("idle")});return()=>{n.AnimationFrame.cancel(a)}},[i,e,u,s,t]),c.useMemo(()=>({mounted:u,setMounted:f,transitionStatus:t}),[u,t])}exports.useBaseUiId=m;exports.useTransitionStatus=g;
|
|
2
|
-
//# sourceMappingURL=useTransitionStatus-CqbEyvIj.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTransitionStatus-CqbEyvIj.js","sources":["../../../node_modules/@base-ui/react/esm/utils/useBaseUiId.js","../../../node_modules/@base-ui/react/esm/utils/useTransitionStatus.js"],"sourcesContent":["'use client';\n\nimport { useId } from '@base-ui/utils/useId';\n\n/**\n * Wraps `useId` and prefixes generated `id`s with `base-ui-`\n * @param {string | undefined} idOverride overrides the generated id when provided\n * @returns {string | undefined}\n */\nexport function useBaseUiId(idOverride) {\n return useId(idOverride, 'base-ui');\n}","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { AnimationFrame } from '@base-ui/utils/useAnimationFrame';\n/**\n * Provides a status string for CSS animations.\n * @param open - a boolean that determines if the element is open.\n * @param enableIdleState - a boolean that enables the `'idle'` state between `'starting'` and `'ending'`\n */\nexport function useTransitionStatus(open, enableIdleState = false, deferEndingState = false) {\n const [transitionStatus, setTransitionStatus] = React.useState(open && enableIdleState ? 'idle' : undefined);\n const [mounted, setMounted] = React.useState(open);\n if (open && !mounted) {\n setMounted(true);\n setTransitionStatus('starting');\n }\n if (!open && mounted && transitionStatus !== 'ending' && !deferEndingState) {\n setTransitionStatus('ending');\n }\n if (!open && !mounted && transitionStatus === 'ending') {\n setTransitionStatus(undefined);\n }\n useIsoLayoutEffect(() => {\n if (!open && mounted && transitionStatus !== 'ending' && deferEndingState) {\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('ending');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }\n return undefined;\n }, [open, mounted, transitionStatus, deferEndingState]);\n useIsoLayoutEffect(() => {\n if (!open || enableIdleState) {\n return undefined;\n }\n const frame = AnimationFrame.request(() => {\n // Avoid `flushSync` here due to Firefox.\n // See https://github.com/mui/base-ui/pull/3424\n setTransitionStatus(undefined);\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open]);\n useIsoLayoutEffect(() => {\n if (!open || !enableIdleState) {\n return undefined;\n }\n if (open && mounted && transitionStatus !== 'idle') {\n setTransitionStatus('starting');\n }\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('idle');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open, mounted, setTransitionStatus, transitionStatus]);\n return React.useMemo(() => ({\n mounted,\n setMounted,\n transitionStatus\n }), [mounted, transitionStatus]);\n}"],"names":["useBaseUiId","idOverride","useId","useTransitionStatus","open","enableIdleState","deferEndingState","transitionStatus","setTransitionStatus","React","mounted","setMounted","useIsoLayoutEffect","frame","AnimationFrame"],"mappings":"iXASO,SAASA,EAAYC,EAAY,CACtC,OAAOC,EAAAA,MAAMD,EAAY,SAAS,CACpC,CCDO,SAASE,EAAoBC,EAAMC,EAAkB,GAAOC,EAAmB,GAAO,CAC3F,KAAM,CAACC,EAAkBC,CAAmB,EAAIC,EAAM,SAASL,GAAQC,EAAkB,OAAS,MAAS,EACrG,CAACK,EAASC,CAAU,EAAIF,EAAM,SAASL,CAAI,EACjD,OAAIA,GAAQ,CAACM,IACXC,EAAW,EAAI,EACfH,EAAoB,UAAU,GAE5B,CAACJ,GAAQM,GAAWH,IAAqB,UAAY,CAACD,GACxDE,EAAoB,QAAQ,EAE1B,CAACJ,GAAQ,CAACM,GAAWH,IAAqB,UAC5CC,EAAoB,MAAS,EAE/BI,EAAAA,mBAAmB,IAAM,CACvB,GAAI,CAACR,GAAQM,GAAWH,IAAqB,UAAYD,EAAkB,CACzE,MAAMO,EAAQC,iBAAe,QAAQ,IAAM,CACzCN,EAAoB,QAAQ,CAC9B,CAAC,EACD,MAAO,IAAM,CACXM,EAAAA,eAAe,OAAOD,CAAK,CAC7B,CACF,CAEF,EAAG,CAACT,EAAMM,EAASH,EAAkBD,CAAgB,CAAC,EACtDM,EAAAA,mBAAmB,IAAM,CACvB,GAAI,CAACR,GAAQC,EACX,OAEF,MAAMQ,EAAQC,iBAAe,QAAQ,IAAM,CAGzCN,EAAoB,MAAS,CAC/B,CAAC,EACD,MAAO,IAAM,CACXM,EAAAA,eAAe,OAAOD,CAAK,CAC7B,CACF,EAAG,CAACR,EAAiBD,CAAI,CAAC,EAC1BQ,EAAAA,mBAAmB,IAAM,CACvB,GAAI,CAACR,GAAQ,CAACC,EACZ,OAEED,GAAQM,GAAWH,IAAqB,QAC1CC,EAAoB,UAAU,EAEhC,MAAMK,EAAQC,iBAAe,QAAQ,IAAM,CACzCN,EAAoB,MAAM,CAC5B,CAAC,EACD,MAAO,IAAM,CACXM,EAAAA,eAAe,OAAOD,CAAK,CAC7B,CACF,EAAG,CAACR,EAAiBD,EAAMM,EAASF,EAAqBD,CAAgB,CAAC,EACnEE,EAAM,QAAQ,KAAO,CAC1B,QAAAC,EACA,WAAAC,EACA,iBAAAJ,CACJ,GAAM,CAACG,EAASH,CAAgB,CAAC,CACjC","x_google_ignoreList":[0,1]}
|