@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../node_modules/@react-stately/toast/dist/useToastState.mjs","../../../../node_modules/@react-aria/toast/dist/ar-AE.mjs","../../../../node_modules/@react-aria/toast/dist/bg-BG.mjs","../../../../node_modules/@react-aria/toast/dist/cs-CZ.mjs","../../../../node_modules/@react-aria/toast/dist/da-DK.mjs","../../../../node_modules/@react-aria/toast/dist/de-DE.mjs","../../../../node_modules/@react-aria/toast/dist/el-GR.mjs","../../../../node_modules/@react-aria/toast/dist/en-US.mjs","../../../../node_modules/@react-aria/toast/dist/es-ES.mjs","../../../../node_modules/@react-aria/toast/dist/et-EE.mjs","../../../../node_modules/@react-aria/toast/dist/fi-FI.mjs","../../../../node_modules/@react-aria/toast/dist/fr-FR.mjs","../../../../node_modules/@react-aria/toast/dist/he-IL.mjs","../../../../node_modules/@react-aria/toast/dist/hr-HR.mjs","../../../../node_modules/@react-aria/toast/dist/hu-HU.mjs","../../../../node_modules/@react-aria/toast/dist/it-IT.mjs","../../../../node_modules/@react-aria/toast/dist/ja-JP.mjs","../../../../node_modules/@react-aria/toast/dist/ko-KR.mjs","../../../../node_modules/@react-aria/toast/dist/lt-LT.mjs","../../../../node_modules/@react-aria/toast/dist/lv-LV.mjs","../../../../node_modules/@react-aria/toast/dist/nb-NO.mjs","../../../../node_modules/@react-aria/toast/dist/nl-NL.mjs","../../../../node_modules/@react-aria/toast/dist/pl-PL.mjs","../../../../node_modules/@react-aria/toast/dist/pt-BR.mjs","../../../../node_modules/@react-aria/toast/dist/pt-PT.mjs","../../../../node_modules/@react-aria/toast/dist/ro-RO.mjs","../../../../node_modules/@react-aria/toast/dist/ru-RU.mjs","../../../../node_modules/@react-aria/toast/dist/sk-SK.mjs","../../../../node_modules/@react-aria/toast/dist/sl-SI.mjs","../../../../node_modules/@react-aria/toast/dist/sr-SP.mjs","../../../../node_modules/@react-aria/toast/dist/sv-SE.mjs","../../../../node_modules/@react-aria/toast/dist/tr-TR.mjs","../../../../node_modules/@react-aria/toast/dist/uk-UA.mjs","../../../../node_modules/@react-aria/toast/dist/zh-CN.mjs","../../../../node_modules/@react-aria/toast/dist/zh-TW.mjs","../../../../node_modules/@react-aria/toast/dist/intlStrings.mjs","../../../../node_modules/@react-aria/toast/dist/useToast.mjs","../../../../node_modules/@react-aria/interactions/dist/useHover.mjs","../../../../node_modules/@react-aria/landmark/dist/useLandmark.mjs","../../../../node_modules/@react-aria/toast/dist/useToastRegion.mjs","../../src/snackbar/snackbarVariants.ts","../../src/snackbar/SnackbarItem.styles.ts","../../src/snackbar/SnackbarItemContext.tsx","../../src/snackbar/SnackbarItemAction.tsx","../../src/snackbar/SnackbarItemClose.tsx","../../src/snackbar/SnackbarItemIcon.tsx","../../src/snackbar/useSwipe.ts","../../src/snackbar/SnackbarItem.tsx","../../src/snackbar/SnackbarRegion.styles.ts","../../src/snackbar/SnackbarRegion.tsx","../../src/snackbar/useSnackbarGlobalStore.ts","../../src/snackbar/Snackbar.tsx","../../src/snackbar/index.ts"],"sourcesContent":["import {useMemo as $cNx9A$useMemo, useCallback as $cNx9A$useCallback} from \"react\";\nimport {useSyncExternalStore as $cNx9A$useSyncExternalStore} from \"use-sync-external-store/shim/index.js\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $77b352cf12efcf73$export$c7b26b20d3ced9c5(props = {}) {\n let { maxVisibleToasts: maxVisibleToasts = 1, hasExitAnimation: hasExitAnimation = false } = props;\n let queue = (0, $cNx9A$useMemo)(()=>new $77b352cf12efcf73$export$f1f8569633bbbec4({\n maxVisibleToasts: maxVisibleToasts,\n hasExitAnimation: hasExitAnimation\n }), [\n maxVisibleToasts,\n hasExitAnimation\n ]);\n return $77b352cf12efcf73$export$84726ef35ca2129a(queue);\n}\nfunction $77b352cf12efcf73$export$84726ef35ca2129a(queue) {\n let subscribe = (0, $cNx9A$useCallback)((fn)=>queue.subscribe(fn), [\n queue\n ]);\n let getSnapshot = (0, $cNx9A$useCallback)(()=>queue.visibleToasts, [\n queue\n ]);\n let visibleToasts = (0, $cNx9A$useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);\n return {\n visibleToasts: visibleToasts,\n add: (content, options)=>queue.add(content, options),\n close: (key)=>queue.close(key),\n remove: (key)=>queue.remove(key),\n pauseAll: ()=>queue.pauseAll(),\n resumeAll: ()=>queue.resumeAll()\n };\n}\nclass $77b352cf12efcf73$export$f1f8569633bbbec4 {\n /** Subscribes to updates to the visible toasts. */ subscribe(fn) {\n this.subscriptions.add(fn);\n return ()=>this.subscriptions.delete(fn);\n }\n /** Adds a new toast to the queue. */ add(content, options = {}) {\n let toastKey = Math.random().toString(36);\n let toast = {\n ...options,\n content: content,\n key: toastKey,\n timer: options.timeout ? new $77b352cf12efcf73$var$Timer(()=>this.close(toastKey), options.timeout) : undefined\n };\n let low = 0;\n let high = this.queue.length;\n while(low < high){\n let mid = Math.floor((low + high) / 2);\n if ((toast.priority || 0) > (this.queue[mid].priority || 0)) high = mid;\n else low = mid + 1;\n }\n this.queue.splice(low, 0, toast);\n toast.animation = low < this.maxVisibleToasts ? 'entering' : 'queued';\n let i = this.maxVisibleToasts;\n while(i < this.queue.length)this.queue[i++].animation = 'queued';\n this.updateVisibleToasts({\n action: 'add'\n });\n return toastKey;\n }\n /**\n * Closes a toast. If `hasExitAnimation` is true, the toast\n * transitions to an \"exiting\" state instead of being removed immediately.\n */ close(key) {\n let index = this.queue.findIndex((t)=>t.key === key);\n if (index >= 0) {\n var _this_queue_index_onClose, _this_queue_index;\n (_this_queue_index_onClose = (_this_queue_index = this.queue[index]).onClose) === null || _this_queue_index_onClose === void 0 ? void 0 : _this_queue_index_onClose.call(_this_queue_index);\n this.queue.splice(index, 1);\n }\n this.updateVisibleToasts({\n action: 'close',\n key: key\n });\n }\n /** Removes a toast from the visible toasts after an exiting animation. */ remove(key) {\n this.updateVisibleToasts({\n action: 'remove',\n key: key\n });\n }\n updateVisibleToasts(options) {\n let { action: action, key: key } = options;\n let toasts = this.queue.slice(0, this.maxVisibleToasts);\n if (action === 'add' && this.hasExitAnimation) {\n let prevToasts = this.visibleToasts.filter((t)=>!toasts.some((t2)=>t.key === t2.key)).map((t)=>({\n ...t,\n animation: 'exiting'\n }));\n this.visibleToasts = prevToasts.concat(toasts).sort((a, b)=>{\n var _b_priority, _a_priority;\n return ((_b_priority = b.priority) !== null && _b_priority !== void 0 ? _b_priority : 0) - ((_a_priority = a.priority) !== null && _a_priority !== void 0 ? _a_priority : 0);\n });\n } else if (action === 'close' && this.hasExitAnimation) // Cause a rerender to happen for exit animation\n this.visibleToasts = this.visibleToasts.map((t)=>{\n if (t.key !== key) return t;\n else return {\n ...t,\n animation: 'exiting'\n };\n });\n else this.visibleToasts = toasts;\n for (let fn of this.subscriptions)fn();\n }\n /** Pauses the timers for all visible toasts. */ pauseAll() {\n for (let toast of this.visibleToasts)if (toast.timer) toast.timer.pause();\n }\n /** Resumes the timers for all visible toasts. */ resumeAll() {\n for (let toast of this.visibleToasts)if (toast.timer) toast.timer.resume();\n }\n constructor(options){\n this.queue = [];\n this.subscriptions = new Set();\n /** The currently visible toasts. */ this.visibleToasts = [];\n var _options_maxVisibleToasts;\n this.maxVisibleToasts = (_options_maxVisibleToasts = options === null || options === void 0 ? void 0 : options.maxVisibleToasts) !== null && _options_maxVisibleToasts !== void 0 ? _options_maxVisibleToasts : 1;\n var _options_hasExitAnimation;\n this.hasExitAnimation = (_options_hasExitAnimation = options === null || options === void 0 ? void 0 : options.hasExitAnimation) !== null && _options_hasExitAnimation !== void 0 ? _options_hasExitAnimation : false;\n }\n}\nclass $77b352cf12efcf73$var$Timer {\n reset(delay) {\n this.remaining = delay;\n this.resume();\n }\n pause() {\n if (this.timerId == null) return;\n clearTimeout(this.timerId);\n this.timerId = null;\n this.remaining -= Date.now() - this.startTime;\n }\n resume() {\n if (this.remaining <= 0) return;\n this.startTime = Date.now();\n this.timerId = setTimeout(()=>{\n this.timerId = null;\n this.remaining = 0;\n this.callback();\n }, this.remaining);\n }\n constructor(callback, delay){\n this.startTime = null;\n this.remaining = delay;\n this.callback = callback;\n }\n}\n\n\nexport {$77b352cf12efcf73$export$c7b26b20d3ced9c5 as useToastState, $77b352cf12efcf73$export$f1f8569633bbbec4 as ToastQueue, $77b352cf12efcf73$export$84726ef35ca2129a as useToastQueue};\n//# sourceMappingURL=useToastState.module.js.map\n","var $ff9177efc58547ad$exports = {};\n$ff9177efc58547ad$exports = {\n \"close\": `\\u{625}\\u{63A}\\u{644}\\u{627}\\u{642}`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} \\u{625}\\u{634}\\u{639}\\u{627}\\u{631}`,\n other: ()=>`${formatter.number(args.count)} \\u{625}\\u{634}\\u{639}\\u{627}\\u{631}\\u{627}\\u{62A}`\n })}.`\n};\n\n\nexport {$ff9177efc58547ad$exports as default};\n//# sourceMappingURL=ar-AE.module.js.map\n","var $25eb7c0c0c45e544$exports = {};\n$25eb7c0c0c45e544$exports = {\n \"close\": `\\u{417}\\u{430}\\u{442}\\u{432}\\u{43E}\\u{440}\\u{438}`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} \\u{438}\\u{437}\\u{432}\\u{435}\\u{441}\\u{442}\\u{438}\\u{435}`,\n other: ()=>`${formatter.number(args.count)} \\u{438}\\u{437}\\u{432}\\u{435}\\u{441}\\u{442}\\u{438}\\u{44F}`\n })}.`\n};\n\n\nexport {$25eb7c0c0c45e544$exports as default};\n//# sourceMappingURL=bg-BG.module.js.map\n","var $28feffc3d61a8691$exports = {};\n$28feffc3d61a8691$exports = {\n \"close\": `Zav\\u{159}\\xedt`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} ozn\\xe1men\\xed`,\n other: ()=>`${formatter.number(args.count)} ozn\\xe1men\\xed`\n })}.`\n};\n\n\nexport {$28feffc3d61a8691$exports as default};\n//# sourceMappingURL=cs-CZ.module.js.map\n","var $390d441203d25ff4$exports = {};\n$390d441203d25ff4$exports = {\n \"close\": `Luk`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} besked`,\n other: ()=>`${formatter.number(args.count)} beskeder`\n })}.`\n};\n\n\nexport {$390d441203d25ff4$exports as default};\n//# sourceMappingURL=da-DK.module.js.map\n","var $7063c2d0f14f979a$exports = {};\n$7063c2d0f14f979a$exports = {\n \"close\": `Schlie\\xdfen`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} Benachrichtigung`,\n other: ()=>`${formatter.number(args.count)} Benachrichtigungen`\n })}.`\n};\n\n\nexport {$7063c2d0f14f979a$exports as default};\n//# sourceMappingURL=de-DE.module.js.map\n","var $2dfc1dbb6590af88$exports = {};\n$2dfc1dbb6590af88$exports = {\n \"close\": `\\u{39A}\\u{3BB}\\u{3B5}\\u{3AF}\\u{3C3}\\u{3B9}\\u{3BC}\\u{3BF}`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} \\u{3B5}\\u{3B9}\\u{3B4}\\u{3BF}\\u{3C0}\\u{3BF}\\u{3AF}\\u{3B7}\\u{3C3}\\u{3B7}`,\n other: ()=>`${formatter.number(args.count)} \\u{3B5}\\u{3B9}\\u{3B4}\\u{3BF}\\u{3C0}\\u{3BF}\\u{3B9}\\u{3AE}\\u{3C3}\\u{3B5}\\u{3B9}\\u{3C2}`\n })}.`\n};\n\n\nexport {$2dfc1dbb6590af88$exports as default};\n//# sourceMappingURL=el-GR.module.js.map\n","var $9a12ff1caae5a7a5$exports = {};\n$9a12ff1caae5a7a5$exports = {\n \"close\": `Close`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} notification`,\n other: ()=>`${formatter.number(args.count)} notifications`\n })}.`\n};\n\n\nexport {$9a12ff1caae5a7a5$exports as default};\n//# sourceMappingURL=en-US.module.js.map\n","var $f4095fb5a72adbe6$exports = {};\n$f4095fb5a72adbe6$exports = {\n \"close\": `Cerrar`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} notificaci\\xf3n`,\n other: ()=>`${formatter.number(args.count)} notificaciones`\n })}.`\n};\n\n\nexport {$f4095fb5a72adbe6$exports as default};\n//# sourceMappingURL=es-ES.module.js.map\n","var $75bc5191b9d7826a$exports = {};\n$75bc5191b9d7826a$exports = {\n \"close\": `Sule`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} teatis`,\n other: ()=>`${formatter.number(args.count)} teatist`\n })}.`\n};\n\n\nexport {$75bc5191b9d7826a$exports as default};\n//# sourceMappingURL=et-EE.module.js.map\n","var $e4b9aef18b0db8dc$exports = {};\n$e4b9aef18b0db8dc$exports = {\n \"close\": `Sulje`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} ilmoitus`,\n other: ()=>`${formatter.number(args.count)} ilmoitusta`\n })}.`\n};\n\n\nexport {$e4b9aef18b0db8dc$exports as default};\n//# sourceMappingURL=fi-FI.module.js.map\n","var $888756784d832bd7$exports = {};\n$888756784d832bd7$exports = {\n \"close\": `Fermer`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} notification`,\n other: ()=>`${formatter.number(args.count)} notifications`\n })}.`\n};\n\n\nexport {$888756784d832bd7$exports as default};\n//# sourceMappingURL=fr-FR.module.js.map\n","var $6835949b68a1fabf$exports = {};\n$6835949b68a1fabf$exports = {\n \"close\": `\\u{5E1}\\u{5D2}\\u{5D5}\\u{5E8}`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} \\u{5D4}\\u{5EA}\\u{5E8}\\u{5D0}\\u{5D4}`,\n other: ()=>`${formatter.number(args.count)} \\u{5D4}\\u{5EA}\\u{5E8}\\u{5D0}\\u{5D5}\\u{5EA}`\n })}.`\n};\n\n\nexport {$6835949b68a1fabf$exports as default};\n//# sourceMappingURL=he-IL.module.js.map\n","var $87ffcbc0b651e40b$exports = {};\n$87ffcbc0b651e40b$exports = {\n \"close\": `Zatvori`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} obavijest`,\n other: ()=>`${formatter.number(args.count)} obavijesti`\n })}.`\n};\n\n\nexport {$87ffcbc0b651e40b$exports as default};\n//# sourceMappingURL=hr-HR.module.js.map\n","var $dc6e3b2813600d69$exports = {};\n$dc6e3b2813600d69$exports = {\n \"close\": `Bez\\xe1r\\xe1s`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} \\xe9rtes\\xedt\\xe9s`,\n other: ()=>`${formatter.number(args.count)} \\xe9rtes\\xedt\\xe9s`\n })}.`\n};\n\n\nexport {$dc6e3b2813600d69$exports as default};\n//# sourceMappingURL=hu-HU.module.js.map\n","var $fe136bcbacfcfa14$exports = {};\n$fe136bcbacfcfa14$exports = {\n \"close\": `Chiudi`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} notifica`,\n other: ()=>`${formatter.number(args.count)} notifiche`\n })}.`\n};\n\n\nexport {$fe136bcbacfcfa14$exports as default};\n//# sourceMappingURL=it-IT.module.js.map\n","var $8fb53a929b46df83$exports = {};\n$8fb53a929b46df83$exports = {\n \"close\": `\\u{9589}\\u{3058}\\u{308B}`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} \\u{500B}\\u{306E}\\u{901A}\\u{77E5}`,\n other: ()=>`${formatter.number(args.count)} \\u{500B}\\u{306E}\\u{901A}\\u{77E5}`\n })}\\u{3002}`\n};\n\n\nexport {$8fb53a929b46df83$exports as default};\n//# sourceMappingURL=ja-JP.module.js.map\n","var $2c38dbfaf041a865$exports = {};\n$2c38dbfaf041a865$exports = {\n \"close\": `\\u{B2EB}\\u{AE30}`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)}\\u{AC1C} \\u{C54C}\\u{B9BC}`,\n other: ()=>`${formatter.number(args.count)}\\u{AC1C} \\u{C54C}\\u{B9BC}`\n })}.`\n};\n\n\nexport {$2c38dbfaf041a865$exports as default};\n//# sourceMappingURL=ko-KR.module.js.map\n","var $48f3f33a29908d4c$exports = {};\n$48f3f33a29908d4c$exports = {\n \"close\": `U\\u{17E}daryti`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} prane\\u{161}imas`,\n other: ()=>`${formatter.number(args.count)} prane\\u{161}imai`\n })}.`\n};\n\n\nexport {$48f3f33a29908d4c$exports as default};\n//# sourceMappingURL=lt-LT.module.js.map\n","var $9867160d996455a0$exports = {};\n$9867160d996455a0$exports = {\n \"close\": `Aizv\\u{113}rt`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} pazi\\u{146}ojums`,\n other: ()=>`${formatter.number(args.count)} pazi\\u{146}ojumi`\n })}.`\n};\n\n\nexport {$9867160d996455a0$exports as default};\n//# sourceMappingURL=lv-LV.module.js.map\n","var $196258ea25c96487$exports = {};\n$196258ea25c96487$exports = {\n \"close\": `Lukk`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} varsling`,\n other: ()=>`${formatter.number(args.count)} varsler`\n })}.`\n};\n\n\nexport {$196258ea25c96487$exports as default};\n//# sourceMappingURL=nb-NO.module.js.map\n","var $949061cb954e8000$exports = {};\n$949061cb954e8000$exports = {\n \"close\": `Sluiten`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} melding`,\n other: ()=>`${formatter.number(args.count)} meldingen`\n })}.`\n};\n\n\nexport {$949061cb954e8000$exports as default};\n//# sourceMappingURL=nl-NL.module.js.map\n","var $8189bed27add1ad3$exports = {};\n$8189bed27add1ad3$exports = {\n \"close\": `Zamknij`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} powiadomienie`,\n few: ()=>`${formatter.number(args.count)} powiadomienia`,\n many: ()=>`${formatter.number(args.count)} powiadomie\\u{144}`,\n other: ()=>`${formatter.number(args.count)} powiadomienia`\n })}.`\n};\n\n\nexport {$8189bed27add1ad3$exports as default};\n//# sourceMappingURL=pl-PL.module.js.map\n","var $a361756a93b6e28c$exports = {};\n$a361756a93b6e28c$exports = {\n \"close\": `Fechar`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} notifica\\xe7\\xe3o`,\n other: ()=>`${formatter.number(args.count)} notifica\\xe7\\xf5es`\n })}.`\n};\n\n\nexport {$a361756a93b6e28c$exports as default};\n//# sourceMappingURL=pt-BR.module.js.map\n","var $034c7393857c8db0$exports = {};\n$034c7393857c8db0$exports = {\n \"close\": `Fechar`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} notifica\\xe7\\xe3o`,\n other: ()=>`${formatter.number(args.count)} notifica\\xe7\\xf5es`\n })}.`\n};\n\n\nexport {$034c7393857c8db0$exports as default};\n//# sourceMappingURL=pt-PT.module.js.map\n","var $e33d3b3868478b04$exports = {};\n$e33d3b3868478b04$exports = {\n \"close\": `\\xcenchide\\u{163}i`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} notificare`,\n other: ()=>`${formatter.number(args.count)} notific\\u{103}ri`\n })}.`\n};\n\n\nexport {$e33d3b3868478b04$exports as default};\n//# sourceMappingURL=ro-RO.module.js.map\n","var $9a7dcb914b29cd9f$exports = {};\n$9a7dcb914b29cd9f$exports = {\n \"close\": `\\u{417}\\u{430}\\u{43A}\\u{440}\\u{44B}\\u{442}\\u{44C}`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} \\u{443}\\u{432}\\u{435}\\u{434}\\u{43E}\\u{43C}\\u{43B}\\u{435}\\u{43D}\\u{438}\\u{435}`,\n other: ()=>`${formatter.number(args.count)} \\u{443}\\u{432}\\u{435}\\u{434}\\u{43E}\\u{43C}\\u{43B}\\u{435}\\u{43D}\\u{438}\\u{44F}`\n })}.`\n};\n\n\nexport {$9a7dcb914b29cd9f$exports as default};\n//# sourceMappingURL=ru-RU.module.js.map\n","var $e43d964a0c7f1266$exports = {};\n$e43d964a0c7f1266$exports = {\n \"close\": `Zatvori\\u{165}`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} ozn\\xe1menie`,\n few: ()=>`${formatter.number(args.count)} ozn\\xe1menia`,\n other: ()=>`${formatter.number(args.count)} ozn\\xe1men\\xed`\n })}.`\n};\n\n\nexport {$e43d964a0c7f1266$exports as default};\n//# sourceMappingURL=sk-SK.module.js.map\n","var $0bc56cee3275bcaa$exports = {};\n$0bc56cee3275bcaa$exports = {\n \"close\": `Zapri`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} obvestilo`,\n two: ()=>`${formatter.number(args.count)} obvestili`,\n few: ()=>`${formatter.number(args.count)} obvestila`,\n other: ()=>`${formatter.number(args.count)} obvestil`\n })}.`\n};\n\n\nexport {$0bc56cee3275bcaa$exports as default};\n//# sourceMappingURL=sl-SI.module.js.map\n","var $7dbdd7289c10d2ba$exports = {};\n$7dbdd7289c10d2ba$exports = {\n \"close\": `Zatvori`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} obave\\u{161}tenje`,\n other: ()=>`${formatter.number(args.count)} obave\\u{161}tenja`\n })}.`\n};\n\n\nexport {$7dbdd7289c10d2ba$exports as default};\n//# sourceMappingURL=sr-SP.module.js.map\n","var $ccbe6066c10b1e53$exports = {};\n$ccbe6066c10b1e53$exports = {\n \"close\": `St\\xe4ng`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} meddelande`,\n other: ()=>`${formatter.number(args.count)} meddelanden`\n })}.`\n};\n\n\nexport {$ccbe6066c10b1e53$exports as default};\n//# sourceMappingURL=sv-SE.module.js.map\n","var $9d503476b9d858b7$exports = {};\n$9d503476b9d858b7$exports = {\n \"close\": `Kapat`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} bildirim`,\n other: ()=>`${formatter.number(args.count)} bildirim`\n })}.`\n};\n\n\nexport {$9d503476b9d858b7$exports as default};\n//# sourceMappingURL=tr-TR.module.js.map\n","var $32ee419c7b9b7a83$exports = {};\n$32ee419c7b9b7a83$exports = {\n \"close\": `\\u{417}\\u{430}\\u{43A}\\u{440}\\u{438}\\u{442}\\u{438}`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} \\u{441}\\u{43F}\\u{43E}\\u{432}\\u{456}\\u{449}\\u{435}\\u{43D}\\u{43D}\\u{44F}`,\n other: ()=>`${formatter.number(args.count)} \\u{441}\\u{43F}\\u{43E}\\u{432}\\u{456}\\u{449}\\u{435}\\u{43D}\\u{43D}\\u{44F}`\n })}.`\n};\n\n\nexport {$32ee419c7b9b7a83$exports as default};\n//# sourceMappingURL=uk-UA.module.js.map\n","var $122525af1cb737c7$exports = {};\n$122525af1cb737c7$exports = {\n \"close\": `\\u{5173}\\u{95ED}`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} \\u{4E2A}\\u{901A}\\u{77E5}`,\n other: ()=>`${formatter.number(args.count)} \\u{4E2A}\\u{901A}\\u{77E5}`\n })}\\u{3002}`\n};\n\n\nexport {$122525af1cb737c7$exports as default};\n//# sourceMappingURL=zh-CN.module.js.map\n","var $52e8b1b00094e5a3$exports = {};\n$52e8b1b00094e5a3$exports = {\n \"close\": `\\u{95DC}\\u{9589}`,\n \"notifications\": (args, formatter)=>`${formatter.plural(args.count, {\n one: ()=>`${formatter.number(args.count)} \\u{500B}\\u{901A}\\u{77E5}`,\n other: ()=>`${formatter.number(args.count)} \\u{500B}\\u{901A}\\u{77E5}`\n })}\\u{3002}`\n};\n\n\nexport {$52e8b1b00094e5a3$exports as default};\n//# sourceMappingURL=zh-TW.module.js.map\n","import $aTebn$arAEmodulejs from \"./ar-AE.mjs\";\nimport $aTebn$bgBGmodulejs from \"./bg-BG.mjs\";\nimport $aTebn$csCZmodulejs from \"./cs-CZ.mjs\";\nimport $aTebn$daDKmodulejs from \"./da-DK.mjs\";\nimport $aTebn$deDEmodulejs from \"./de-DE.mjs\";\nimport $aTebn$elGRmodulejs from \"./el-GR.mjs\";\nimport $aTebn$enUSmodulejs from \"./en-US.mjs\";\nimport $aTebn$esESmodulejs from \"./es-ES.mjs\";\nimport $aTebn$etEEmodulejs from \"./et-EE.mjs\";\nimport $aTebn$fiFImodulejs from \"./fi-FI.mjs\";\nimport $aTebn$frFRmodulejs from \"./fr-FR.mjs\";\nimport $aTebn$heILmodulejs from \"./he-IL.mjs\";\nimport $aTebn$hrHRmodulejs from \"./hr-HR.mjs\";\nimport $aTebn$huHUmodulejs from \"./hu-HU.mjs\";\nimport $aTebn$itITmodulejs from \"./it-IT.mjs\";\nimport $aTebn$jaJPmodulejs from \"./ja-JP.mjs\";\nimport $aTebn$koKRmodulejs from \"./ko-KR.mjs\";\nimport $aTebn$ltLTmodulejs from \"./lt-LT.mjs\";\nimport $aTebn$lvLVmodulejs from \"./lv-LV.mjs\";\nimport $aTebn$nbNOmodulejs from \"./nb-NO.mjs\";\nimport $aTebn$nlNLmodulejs from \"./nl-NL.mjs\";\nimport $aTebn$plPLmodulejs from \"./pl-PL.mjs\";\nimport $aTebn$ptBRmodulejs from \"./pt-BR.mjs\";\nimport $aTebn$ptPTmodulejs from \"./pt-PT.mjs\";\nimport $aTebn$roROmodulejs from \"./ro-RO.mjs\";\nimport $aTebn$ruRUmodulejs from \"./ru-RU.mjs\";\nimport $aTebn$skSKmodulejs from \"./sk-SK.mjs\";\nimport $aTebn$slSImodulejs from \"./sl-SI.mjs\";\nimport $aTebn$srSPmodulejs from \"./sr-SP.mjs\";\nimport $aTebn$svSEmodulejs from \"./sv-SE.mjs\";\nimport $aTebn$trTRmodulejs from \"./tr-TR.mjs\";\nimport $aTebn$ukUAmodulejs from \"./uk-UA.mjs\";\nimport $aTebn$zhCNmodulejs from \"./zh-CN.mjs\";\nimport $aTebn$zhTWmodulejs from \"./zh-TW.mjs\";\n\nvar $7853651519a70071$exports = {};\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$7853651519a70071$exports = {\n \"ar-AE\": $aTebn$arAEmodulejs,\n \"bg-BG\": $aTebn$bgBGmodulejs,\n \"cs-CZ\": $aTebn$csCZmodulejs,\n \"da-DK\": $aTebn$daDKmodulejs,\n \"de-DE\": $aTebn$deDEmodulejs,\n \"el-GR\": $aTebn$elGRmodulejs,\n \"en-US\": $aTebn$enUSmodulejs,\n \"es-ES\": $aTebn$esESmodulejs,\n \"et-EE\": $aTebn$etEEmodulejs,\n \"fi-FI\": $aTebn$fiFImodulejs,\n \"fr-FR\": $aTebn$frFRmodulejs,\n \"he-IL\": $aTebn$heILmodulejs,\n \"hr-HR\": $aTebn$hrHRmodulejs,\n \"hu-HU\": $aTebn$huHUmodulejs,\n \"it-IT\": $aTebn$itITmodulejs,\n \"ja-JP\": $aTebn$jaJPmodulejs,\n \"ko-KR\": $aTebn$koKRmodulejs,\n \"lt-LT\": $aTebn$ltLTmodulejs,\n \"lv-LV\": $aTebn$lvLVmodulejs,\n \"nb-NO\": $aTebn$nbNOmodulejs,\n \"nl-NL\": $aTebn$nlNLmodulejs,\n \"pl-PL\": $aTebn$plPLmodulejs,\n \"pt-BR\": $aTebn$ptBRmodulejs,\n \"pt-PT\": $aTebn$ptPTmodulejs,\n \"ro-RO\": $aTebn$roROmodulejs,\n \"ru-RU\": $aTebn$ruRUmodulejs,\n \"sk-SK\": $aTebn$skSKmodulejs,\n \"sl-SI\": $aTebn$slSImodulejs,\n \"sr-SP\": $aTebn$srSPmodulejs,\n \"sv-SE\": $aTebn$svSEmodulejs,\n \"tr-TR\": $aTebn$trTRmodulejs,\n \"uk-UA\": $aTebn$ukUAmodulejs,\n \"zh-CN\": $aTebn$zhCNmodulejs,\n \"zh-TW\": $aTebn$zhTWmodulejs\n};\n\n\nexport {$7853651519a70071$exports as default};\n//# sourceMappingURL=intlStrings.module.js.map\n","import $7WpW4$intlStringsmodulejs from \"./intlStrings.mjs\";\nimport {useId as $7WpW4$useId, useSlotId as $7WpW4$useSlotId, filterDOMProps as $7WpW4$filterDOMProps} from \"@react-aria/utils\";\nimport {useEffect as $7WpW4$useEffect, useState as $7WpW4$useState} from \"react\";\nimport {useLocalizedStringFormatter as $7WpW4$useLocalizedStringFormatter} from \"@react-aria/i18n\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nfunction $d6542812f0669241$export$a407b657d3044108(props, state, ref) {\n let { key: key, timer: timer, timeout: timeout } = props.toast;\n (0, $7WpW4$useEffect)(()=>{\n if (timer == null || timeout == null) return;\n timer.reset(timeout);\n return ()=>{\n timer.pause();\n };\n }, [\n timer,\n timeout\n ]);\n let titleId = (0, $7WpW4$useId)();\n let descriptionId = (0, $7WpW4$useSlotId)();\n let stringFormatter = (0, $7WpW4$useLocalizedStringFormatter)((0, ($parcel$interopDefault($7WpW4$intlStringsmodulejs))), '@react-aria/toast');\n // This is required for NVDA announcements, without it NVDA will NOT announce the toast when it appears.\n // Originally was tied to animationStart/End via https://github.com/adobe/react-spectrum/pull/6223/commits/e22e319df64958e822ab7cd9685e96818cae9ba5\n // but toasts don't always have animations.\n let [isVisible, setIsVisible] = (0, $7WpW4$useState)(false);\n (0, $7WpW4$useEffect)(()=>{\n setIsVisible(true);\n }, []);\n let toastProps = (0, $7WpW4$filterDOMProps)(props, {\n labelable: true\n });\n return {\n toastProps: {\n ...toastProps,\n role: 'alertdialog',\n 'aria-modal': 'false',\n 'aria-labelledby': props['aria-labelledby'] || titleId,\n 'aria-describedby': props['aria-describedby'] || descriptionId,\n tabIndex: 0\n },\n contentProps: {\n role: 'alert',\n 'aria-atomic': 'true',\n 'aria-hidden': isVisible ? undefined : 'true'\n },\n titleProps: {\n id: titleId\n },\n descriptionProps: {\n id: descriptionId\n },\n closeButtonProps: {\n 'aria-label': stringFormatter.format('close'),\n onPress: ()=>state.close(key)\n }\n };\n}\n\n\nexport {$d6542812f0669241$export$a407b657d3044108 as useToast};\n//# sourceMappingURL=useToast.module.js.map\n","import {useGlobalListeners as $AWxnT$useGlobalListeners, getOwnerDocument as $AWxnT$getOwnerDocument, nodeContains as $AWxnT$nodeContains} from \"@react-aria/utils\";\nimport {useState as $AWxnT$useState, useRef as $AWxnT$useRef, useEffect as $AWxnT$useEffect, useMemo as $AWxnT$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\nlet $6179b936705e76d3$var$hoverCount = 0;\nfunction $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(()=>{\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\nfunction $6179b936705e76d3$var$handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $6179b936705e76d3$var$setupGlobalTouchEvents() {\n if (typeof document === 'undefined') return;\n if ($6179b936705e76d3$var$hoverCount === 0) {\n if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else if (process.env.NODE_ENV === 'test') document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n }\n $6179b936705e76d3$var$hoverCount++;\n return ()=>{\n $6179b936705e76d3$var$hoverCount--;\n if ($6179b936705e76d3$var$hoverCount > 0) return;\n if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else if (process.env.NODE_ENV === 'test') document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n };\n}\nfunction $6179b936705e76d3$export$ae780daf29e6d456(props) {\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;\n let [isHovered, setHovered] = (0, $AWxnT$useState)(false);\n let state = (0, $AWxnT$useRef)({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n (0, $AWxnT$useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);\n let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (0, $AWxnT$useGlobalListeners)();\n let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, $AWxnT$useMemo)(()=>{\n let triggerHoverStart = (event, pointerType)=>{\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n // When an element that is hovered over is removed, no pointerleave event is fired by the browser,\n // even though the originally hovered target may have shrunk in size so it is no longer hovered.\n // However, a pointerover event will be fired on the new target the mouse is over.\n // In Chrome this happens immediately. In Safari and Firefox, it happens upon moving the mouse one pixel.\n addGlobalListener((0, $AWxnT$getOwnerDocument)(event.target), 'pointerover', (e)=>{\n if (state.isHovered && state.target && !(0, $AWxnT$nodeContains)(state.target, e.target)) triggerHoverEnd(e, e.pointerType);\n }, {\n capture: true\n });\n if (onHoverStart) onHoverStart({\n type: 'hoverstart',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(true);\n setHovered(true);\n };\n let triggerHoverEnd = (event, pointerType)=>{\n let target = state.target;\n state.pointerType = '';\n state.target = null;\n if (pointerType === 'touch' || !state.isHovered || !target) return;\n state.isHovered = false;\n removeAllGlobalListeners();\n if (onHoverEnd) onHoverEnd({\n type: 'hoverend',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(false);\n setHovered(false);\n };\n let hoverProps = {};\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e)=>{\n if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n hoverProps.onPointerLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);\n };\n } else if (process.env.NODE_ENV === 'test') {\n hoverProps.onTouchStart = ()=>{\n state.ignoreEmulatedMouseEvents = true;\n };\n hoverProps.onMouseEnter = (e)=>{\n if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');\n state.ignoreEmulatedMouseEvents = false;\n };\n hoverProps.onMouseLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');\n };\n }\n return {\n hoverProps: hoverProps,\n triggerHoverEnd: triggerHoverEnd\n };\n }, [\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled,\n state,\n addGlobalListener,\n removeAllGlobalListeners\n ]);\n (0, $AWxnT$useEffect)(()=>{\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) triggerHoverEnd({\n currentTarget: state.target\n }, state.pointerType);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled\n ]);\n return {\n hoverProps: hoverProps,\n isHovered: isHovered\n };\n}\n\n\nexport {$6179b936705e76d3$export$ae780daf29e6d456 as useHover};\n//# sourceMappingURL=useHover.module.js.map\n","import {useState as $3xCwh$useState, useCallback as $3xCwh$useCallback, useEffect as $3xCwh$useEffect} from \"react\";\nimport {useLayoutEffect as $3xCwh$useLayoutEffect} from \"@react-aria/utils\";\nimport {useSyncExternalStore as $3xCwh$useSyncExternalStore} from \"use-sync-external-store/shim/index.js\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n// Increment this version number whenever the\n// LandmarkManagerApi or Landmark interfaces change.\nconst $a86207c5d7f7e1fb$var$LANDMARK_API_VERSION = 1;\n// Symbol under which the singleton landmark manager instance is attached to the document.\nconst $a86207c5d7f7e1fb$var$landmarkSymbol = Symbol.for('react-aria-landmark-manager');\nfunction $a86207c5d7f7e1fb$var$subscribe(fn) {\n document.addEventListener('react-aria-landmark-manager-change', fn);\n return ()=>document.removeEventListener('react-aria-landmark-manager-change', fn);\n}\nfunction $a86207c5d7f7e1fb$var$getLandmarkManager() {\n if (typeof document === 'undefined') return null;\n // Reuse an existing instance if it has the same or greater version.\n let instance = document[$a86207c5d7f7e1fb$var$landmarkSymbol];\n if (instance && instance.version >= $a86207c5d7f7e1fb$var$LANDMARK_API_VERSION) return instance;\n // Otherwise, create a new instance and dispatch an event so anything using the existing\n // instance updates and re-registers their landmarks with the new one.\n document[$a86207c5d7f7e1fb$var$landmarkSymbol] = new $a86207c5d7f7e1fb$var$LandmarkManager();\n document.dispatchEvent(new CustomEvent('react-aria-landmark-manager-change'));\n return document[$a86207c5d7f7e1fb$var$landmarkSymbol];\n}\n// Subscribes a React component to the current landmark manager instance.\nfunction $a86207c5d7f7e1fb$var$useLandmarkManager() {\n return (0, $3xCwh$useSyncExternalStore)($a86207c5d7f7e1fb$var$subscribe, $a86207c5d7f7e1fb$var$getLandmarkManager, $a86207c5d7f7e1fb$var$getLandmarkManager);\n}\nclass $a86207c5d7f7e1fb$var$LandmarkManager {\n setupIfNeeded() {\n if (this.isListening) return;\n document.addEventListener('keydown', this.f6Handler, {\n capture: true\n });\n document.addEventListener('focusin', this.focusinHandler, {\n capture: true\n });\n document.addEventListener('focusout', this.focusoutHandler, {\n capture: true\n });\n this.isListening = true;\n }\n teardownIfNeeded() {\n if (!this.isListening || this.landmarks.length > 0 || this.refCount > 0) return;\n document.removeEventListener('keydown', this.f6Handler, {\n capture: true\n });\n document.removeEventListener('focusin', this.focusinHandler, {\n capture: true\n });\n document.removeEventListener('focusout', this.focusoutHandler, {\n capture: true\n });\n this.isListening = false;\n }\n focusLandmark(landmark, direction) {\n var _this_landmarks_find_focus, _this_landmarks_find;\n (_this_landmarks_find = this.landmarks.find((l)=>l.ref.current === landmark)) === null || _this_landmarks_find === void 0 ? void 0 : (_this_landmarks_find_focus = _this_landmarks_find.focus) === null || _this_landmarks_find_focus === void 0 ? void 0 : _this_landmarks_find_focus.call(_this_landmarks_find, direction);\n }\n /**\n * Return set of landmarks with a specific role.\n */ getLandmarksByRole(role) {\n return new Set(this.landmarks.filter((l)=>l.role === role));\n }\n /**\n * Return first landmark with a specific role.\n */ getLandmarkByRole(role) {\n return this.landmarks.find((l)=>l.role === role);\n }\n addLandmark(newLandmark) {\n this.setupIfNeeded();\n if (this.landmarks.find((landmark)=>landmark.ref === newLandmark.ref) || !newLandmark.ref.current) return;\n if (this.landmarks.filter((landmark)=>landmark.role === 'main').length > 1 && process.env.NODE_ENV !== 'production') console.error('Page can contain no more than one landmark with the role \"main\".');\n if (this.landmarks.length === 0) {\n this.landmarks = [\n newLandmark\n ];\n this.checkLabels(newLandmark.role);\n return;\n }\n // Binary search to insert new landmark based on position in document relative to existing landmarks.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n let start = 0;\n let end = this.landmarks.length - 1;\n while(start <= end){\n let mid = Math.floor((start + end) / 2);\n let comparedPosition = newLandmark.ref.current.compareDocumentPosition(this.landmarks[mid].ref.current);\n let isNewAfterExisting = Boolean(comparedPosition & Node.DOCUMENT_POSITION_PRECEDING || comparedPosition & Node.DOCUMENT_POSITION_CONTAINS);\n if (isNewAfterExisting) start = mid + 1;\n else end = mid - 1;\n }\n this.landmarks.splice(start, 0, newLandmark);\n this.checkLabels(newLandmark.role);\n }\n updateLandmark(landmark) {\n let index = this.landmarks.findIndex((l)=>l.ref === landmark.ref);\n if (index >= 0) {\n this.landmarks[index] = {\n ...this.landmarks[index],\n ...landmark\n };\n this.checkLabels(this.landmarks[index].role);\n }\n }\n removeLandmark(ref) {\n this.landmarks = this.landmarks.filter((landmark)=>landmark.ref !== ref);\n this.teardownIfNeeded();\n }\n /**\n * Warn if there are 2+ landmarks with the same role but no label.\n * Labels for landmarks with the same role must also be unique.\n *\n * See https://www.w3.org/WAI/ARIA/apg/practices/landmark-regions/.\n */ checkLabels(role) {\n let landmarksWithRole = this.getLandmarksByRole(role);\n if (landmarksWithRole.size > 1) {\n let duplicatesWithoutLabel = [\n ...landmarksWithRole\n ].filter((landmark)=>!landmark.label);\n if (duplicatesWithoutLabel.length > 0 && process.env.NODE_ENV !== 'production') console.warn(`Page contains more than one landmark with the '${role}' role. If two or more landmarks on a page share the same role, all must be labeled with an aria-label or aria-labelledby attribute: `, duplicatesWithoutLabel.map((landmark)=>landmark.ref.current));\n else if (process.env.NODE_ENV !== 'production') {\n let labels = [\n ...landmarksWithRole\n ].map((landmark)=>landmark.label);\n let duplicateLabels = labels.filter((item, index)=>labels.indexOf(item) !== index);\n duplicateLabels.forEach((label)=>{\n console.warn(`Page contains more than one landmark with the '${role}' role and '${label}' label. If two or more landmarks on a page share the same role, they must have unique labels: `, [\n ...landmarksWithRole\n ].filter((landmark)=>landmark.label === label).map((landmark)=>landmark.ref.current));\n });\n }\n }\n }\n /**\n * Get the landmark that is the closest parent in the DOM.\n * Returns undefined if no parent is a landmark.\n */ closestLandmark(element) {\n let landmarkMap = new Map(this.landmarks.map((l)=>[\n l.ref.current,\n l\n ]));\n let currentElement = element;\n while(currentElement && !landmarkMap.has(currentElement) && currentElement !== document.body && currentElement.parentElement)currentElement = currentElement.parentElement;\n return landmarkMap.get(currentElement);\n }\n /**\n * Gets the next landmark, in DOM focus order, or previous if backwards is specified.\n * If last landmark, next should be the first landmark.\n * If not inside a landmark, will return first landmark.\n * Returns undefined if there are no landmarks.\n */ getNextLandmark(element, { backward: backward }) {\n var _this_landmarks_nextLandmarkIndex_ref_current;\n let currentLandmark = this.closestLandmark(element);\n let nextLandmarkIndex = backward ? this.landmarks.length - 1 : 0;\n if (currentLandmark) nextLandmarkIndex = this.landmarks.indexOf(currentLandmark) + (backward ? -1 : 1);\n let wrapIfNeeded = ()=>{\n // When we reach the end of the landmark sequence, fire a custom event that can be listened for by applications.\n // If this event is canceled, we return immediately. This can be used to implement landmark navigation across iframes.\n if (nextLandmarkIndex < 0) {\n if (!element.dispatchEvent(new CustomEvent('react-aria-landmark-navigation', {\n detail: {\n direction: 'backward'\n },\n bubbles: true,\n cancelable: true\n }))) return true;\n nextLandmarkIndex = this.landmarks.length - 1;\n } else if (nextLandmarkIndex >= this.landmarks.length) {\n if (!element.dispatchEvent(new CustomEvent('react-aria-landmark-navigation', {\n detail: {\n direction: 'forward'\n },\n bubbles: true,\n cancelable: true\n }))) return true;\n nextLandmarkIndex = 0;\n }\n if (nextLandmarkIndex < 0 || nextLandmarkIndex >= this.landmarks.length) return true;\n return false;\n };\n if (wrapIfNeeded()) return undefined;\n // Skip over hidden landmarks.\n let i = nextLandmarkIndex;\n while((_this_landmarks_nextLandmarkIndex_ref_current = this.landmarks[nextLandmarkIndex].ref.current) === null || _this_landmarks_nextLandmarkIndex_ref_current === void 0 ? void 0 : _this_landmarks_nextLandmarkIndex_ref_current.closest('[aria-hidden=true]')){\n nextLandmarkIndex += backward ? -1 : 1;\n if (wrapIfNeeded()) return undefined;\n if (nextLandmarkIndex === i) break;\n }\n return this.landmarks[nextLandmarkIndex];\n }\n /**\n * Look at next landmark. If an element was previously focused inside, restore focus there.\n * If not, focus the landmark itself.\n * If no landmarks at all, or none with focusable elements, don't move focus.\n */ f6Handler(e) {\n if (e.key === 'F6') {\n // If alt key pressed, focus main landmark, otherwise navigate forward or backward based on shift key.\n let handled = e.altKey ? this.focusMain() : this.navigate(e.target, e.shiftKey);\n if (handled) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n }\n focusMain() {\n let main = this.getLandmarkByRole('main');\n if (main && main.ref.current && document.contains(main.ref.current)) {\n this.focusLandmark(main.ref.current, 'forward');\n return true;\n }\n return false;\n }\n navigate(from, backward) {\n let nextLandmark = this.getNextLandmark(from, {\n backward: backward\n });\n if (!nextLandmark) return false;\n // If something was previously focused in the next landmark, then return focus to it\n if (nextLandmark.lastFocused) {\n let lastFocused = nextLandmark.lastFocused;\n if (document.body.contains(lastFocused)) {\n lastFocused.focus();\n return true;\n }\n }\n // Otherwise, focus the landmark itself\n if (nextLandmark.ref.current && document.contains(nextLandmark.ref.current)) {\n this.focusLandmark(nextLandmark.ref.current, backward ? 'backward' : 'forward');\n return true;\n }\n return false;\n }\n /**\n * Sets lastFocused for a landmark, if focus is moved within that landmark.\n * Lets the last focused landmark know it was blurred if something else is focused.\n */ focusinHandler(e) {\n let currentLandmark = this.closestLandmark(e.target);\n if (currentLandmark && currentLandmark.ref.current !== e.target) this.updateLandmark({\n ref: currentLandmark.ref,\n lastFocused: e.target\n });\n let previousFocusedElement = e.relatedTarget;\n if (previousFocusedElement) {\n let closestPreviousLandmark = this.closestLandmark(previousFocusedElement);\n if (closestPreviousLandmark && closestPreviousLandmark.ref.current === previousFocusedElement) closestPreviousLandmark.blur();\n }\n }\n /**\n * Track if the focus is lost to the body. If it is, do cleanup on the landmark that last had focus.\n */ focusoutHandler(e) {\n let previousFocusedElement = e.target;\n let nextFocusedElement = e.relatedTarget;\n // the === document seems to be a jest thing for focus to go there on generic blur event such as landmark.blur();\n // browsers appear to send focus instead to document.body and the relatedTarget is null when that happens\n if (!nextFocusedElement || nextFocusedElement === document) {\n let closestPreviousLandmark = this.closestLandmark(previousFocusedElement);\n if (closestPreviousLandmark && closestPreviousLandmark.ref.current === previousFocusedElement) closestPreviousLandmark.blur();\n }\n }\n createLandmarkController() {\n let instance = this;\n instance.refCount++;\n instance.setupIfNeeded();\n return {\n navigate (direction, opts) {\n let element = (opts === null || opts === void 0 ? void 0 : opts.from) || document.activeElement;\n return instance.navigate(element, direction === 'backward');\n },\n focusNext (opts) {\n let element = (opts === null || opts === void 0 ? void 0 : opts.from) || document.activeElement;\n return instance.navigate(element, false);\n },\n focusPrevious (opts) {\n let element = (opts === null || opts === void 0 ? void 0 : opts.from) || document.activeElement;\n return instance.navigate(element, true);\n },\n focusMain () {\n return instance.focusMain();\n },\n dispose () {\n if (instance) {\n instance.refCount--;\n instance.teardownIfNeeded();\n instance = null;\n }\n }\n };\n }\n registerLandmark(landmark) {\n if (this.landmarks.find((l)=>l.ref === landmark.ref)) this.updateLandmark(landmark);\n else this.addLandmark(landmark);\n return ()=>this.removeLandmark(landmark.ref);\n }\n constructor(){\n this.landmarks = [];\n this.isListening = false;\n this.refCount = 0;\n this.version = $a86207c5d7f7e1fb$var$LANDMARK_API_VERSION;\n this.f6Handler = this.f6Handler.bind(this);\n this.focusinHandler = this.focusinHandler.bind(this);\n this.focusoutHandler = this.focusoutHandler.bind(this);\n }\n}\nfunction $a86207c5d7f7e1fb$export$a8e2debc6521490c() {\n // Get the current landmark manager and create a controller using it.\n let instance = $a86207c5d7f7e1fb$var$getLandmarkManager();\n let controller = instance === null || instance === void 0 ? void 0 : instance.createLandmarkController();\n let unsubscribe = $a86207c5d7f7e1fb$var$subscribe(()=>{\n // If the landmark manager changes, dispose the old\n // controller and create a new one.\n controller === null || controller === void 0 ? void 0 : controller.dispose();\n instance = $a86207c5d7f7e1fb$var$getLandmarkManager();\n controller = instance === null || instance === void 0 ? void 0 : instance.createLandmarkController();\n });\n // Return a wrapper that proxies requests to the current controller instance.\n return {\n navigate (direction, opts) {\n return controller.navigate(direction, opts);\n },\n focusNext (opts) {\n return controller.focusNext(opts);\n },\n focusPrevious (opts) {\n return controller.focusPrevious(opts);\n },\n focusMain () {\n return controller.focusMain();\n },\n dispose () {\n controller === null || controller === void 0 ? void 0 : controller.dispose();\n unsubscribe();\n controller = undefined;\n instance = null;\n }\n };\n}\nfunction $a86207c5d7f7e1fb$export$4cc632584fd87fae(props, ref) {\n const { role: role, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, focus: focus } = props;\n let manager = $a86207c5d7f7e1fb$var$useLandmarkManager();\n let label = ariaLabel || ariaLabelledby;\n let [isLandmarkFocused, setIsLandmarkFocused] = (0, $3xCwh$useState)(false);\n let defaultFocus = (0, $3xCwh$useCallback)(()=>{\n setIsLandmarkFocused(true);\n }, [\n setIsLandmarkFocused\n ]);\n let blur = (0, $3xCwh$useCallback)(()=>{\n setIsLandmarkFocused(false);\n }, [\n setIsLandmarkFocused\n ]);\n (0, $3xCwh$useLayoutEffect)(()=>{\n if (manager) return manager.registerLandmark({\n ref: ref,\n label: label,\n role: role,\n focus: focus || defaultFocus,\n blur: blur\n });\n }, [\n manager,\n label,\n ref,\n role,\n focus,\n defaultFocus,\n blur\n ]);\n (0, $3xCwh$useEffect)(()=>{\n var _ref_current;\n if (isLandmarkFocused) (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();\n }, [\n isLandmarkFocused,\n ref\n ]);\n return {\n landmarkProps: {\n role: role,\n tabIndex: isLandmarkFocused ? -1 : undefined,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby\n }\n };\n}\n\n\nexport {$a86207c5d7f7e1fb$export$a8e2debc6521490c as UNSTABLE_createLandmarkController, $a86207c5d7f7e1fb$export$4cc632584fd87fae as useLandmark};\n//# sourceMappingURL=useLandmark.module.js.map\n","import $ckyCP$intlStringsmodulejs from \"./intlStrings.mjs\";\nimport {useEffectEvent as $ckyCP$useEffectEvent, useLayoutEffect as $ckyCP$useLayoutEffect, focusWithoutScrolling as $ckyCP$focusWithoutScrolling, mergeProps as $ckyCP$mergeProps} from \"@react-aria/utils\";\nimport {useHover as $ckyCP$useHover, getInteractionModality as $ckyCP$getInteractionModality, useFocusWithin as $ckyCP$useFocusWithin} from \"@react-aria/interactions\";\nimport {useRef as $ckyCP$useRef, useEffect as $ckyCP$useEffect} from \"react\";\nimport {useLandmark as $ckyCP$useLandmark} from \"@react-aria/landmark\";\nimport {useLocalizedStringFormatter as $ckyCP$useLocalizedStringFormatter} from \"@react-aria/i18n\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n/*\n * Copyright 2025 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\nfunction $6cc546b19ee7130a$export$b8cbbb20a51697de(props, state, ref) {\n let stringFormatter = (0, $ckyCP$useLocalizedStringFormatter)((0, ($parcel$interopDefault($ckyCP$intlStringsmodulejs))), '@react-aria/toast');\n let { landmarkProps: landmarkProps } = (0, $ckyCP$useLandmark)({\n role: 'region',\n 'aria-label': props['aria-label'] || stringFormatter.format('notifications', {\n count: state.visibleToasts.length\n })\n }, ref);\n let isHovered = (0, $ckyCP$useRef)(false);\n let isFocused = (0, $ckyCP$useRef)(false);\n let updateTimers = (0, $ckyCP$useEffectEvent)(()=>{\n if (isHovered.current || isFocused.current) state.pauseAll();\n else state.resumeAll();\n });\n let { hoverProps: hoverProps } = (0, $ckyCP$useHover)({\n onHoverStart: ()=>{\n isHovered.current = true;\n updateTimers();\n },\n onHoverEnd: ()=>{\n isHovered.current = false;\n updateTimers();\n }\n });\n // Manage focus within the toast region.\n // If a focused containing toast is removed, move focus to the next toast, or the previous toast if there is no next toast.\n let toasts = (0, $ckyCP$useRef)([]);\n let prevVisibleToasts = (0, $ckyCP$useRef)(state.visibleToasts);\n let focusedToast = (0, $ckyCP$useRef)(null);\n (0, $ckyCP$useLayoutEffect)(()=>{\n // If no toast has focus, then don't do anything.\n if (focusedToast.current === -1 || state.visibleToasts.length === 0 || !ref.current) {\n toasts.current = [];\n prevVisibleToasts.current = state.visibleToasts;\n return;\n }\n toasts.current = [\n ...ref.current.querySelectorAll('[role=\"alertdialog\"]')\n ];\n // If the visible toasts haven't changed, we don't need to do anything.\n if (prevVisibleToasts.current.length === state.visibleToasts.length && state.visibleToasts.every((t, i)=>t.key === prevVisibleToasts.current[i].key)) {\n prevVisibleToasts.current = state.visibleToasts;\n return;\n }\n // Get a list of all toasts by index and add info if they are removed.\n let allToasts = prevVisibleToasts.current.map((t, i)=>({\n ...t,\n i: i,\n isRemoved: !state.visibleToasts.some((t2)=>t.key === t2.key)\n }));\n let removedFocusedToastIndex = allToasts.findIndex((t)=>t.i === focusedToast.current && t.isRemoved);\n // If the focused toast was removed, focus the next or previous toast.\n if (removedFocusedToastIndex > -1) {\n var _lastFocused_current;\n // In pointer modality, move focus out of the toast region.\n // Otherwise auto-dismiss timers will appear \"stuck\".\n if ((0, $ckyCP$getInteractionModality)() === 'pointer' && ((_lastFocused_current = lastFocused.current) === null || _lastFocused_current === void 0 ? void 0 : _lastFocused_current.isConnected)) (0, $ckyCP$focusWithoutScrolling)(lastFocused.current);\n else {\n let i = 0;\n let nextToast;\n let prevToast;\n while(i <= removedFocusedToastIndex){\n if (!allToasts[i].isRemoved) prevToast = Math.max(0, i - 1);\n i++;\n }\n while(i < allToasts.length){\n if (!allToasts[i].isRemoved) {\n nextToast = i - 1;\n break;\n }\n i++;\n }\n // in the case where it's one toast at a time, both will be undefined, but we know the index must be 0\n if (prevToast === undefined && nextToast === undefined) prevToast = 0;\n // prioritize going to newer toasts\n if (prevToast >= 0 && prevToast < toasts.current.length) (0, $ckyCP$focusWithoutScrolling)(toasts.current[prevToast]);\n else if (nextToast >= 0 && nextToast < toasts.current.length) (0, $ckyCP$focusWithoutScrolling)(toasts.current[nextToast]);\n }\n }\n prevVisibleToasts.current = state.visibleToasts;\n }, [\n state.visibleToasts,\n ref,\n updateTimers\n ]);\n let lastFocused = (0, $ckyCP$useRef)(null);\n let { focusWithinProps: focusWithinProps } = (0, $ckyCP$useFocusWithin)({\n onFocusWithin: (e)=>{\n isFocused.current = true;\n lastFocused.current = e.relatedTarget;\n updateTimers();\n },\n onBlurWithin: ()=>{\n isFocused.current = false;\n lastFocused.current = null;\n updateTimers();\n }\n });\n // When the number of visible toasts becomes 0 or the region unmounts,\n // restore focus to the last element that had focus before the user moved focus\n // into the region. FocusScope restore focus doesn't update whenever the focus\n // moves in, it only happens once, so we correct it.\n // Because we're in a hook, we can't control if the user unmounts or not.\n (0, $ckyCP$useEffect)(()=>{\n var _lastFocused_current;\n if (state.visibleToasts.length === 0 && ((_lastFocused_current = lastFocused.current) === null || _lastFocused_current === void 0 ? void 0 : _lastFocused_current.isConnected)) {\n if ((0, $ckyCP$getInteractionModality)() === 'pointer') (0, $ckyCP$focusWithoutScrolling)(lastFocused.current);\n else lastFocused.current.focus();\n lastFocused.current = null;\n }\n }, [\n ref,\n state.visibleToasts.length\n ]);\n (0, $ckyCP$useEffect)(()=>{\n return ()=>{\n var _lastFocused_current;\n if ((_lastFocused_current = lastFocused.current) === null || _lastFocused_current === void 0 ? void 0 : _lastFocused_current.isConnected) {\n if ((0, $ckyCP$getInteractionModality)() === 'pointer') (0, $ckyCP$focusWithoutScrolling)(lastFocused.current);\n else lastFocused.current.focus();\n lastFocused.current = null;\n }\n };\n }, [\n ref\n ]);\n return {\n regionProps: (0, $ckyCP$mergeProps)(landmarkProps, hoverProps, focusWithinProps, {\n tabIndex: -1,\n // Mark the toast region as a \"top layer\", so that it:\n // - is not aria-hidden when opening an overlay\n // - allows focus even outside a containing focus scope\n // - doesn’t dismiss overlays when clicking on it, even though it is outside\n // @ts-ignore\n 'data-react-aria-top-layer': true,\n // listen to focus events separate from focuswithin because that will only fire once\n // and we need to follow all focus changes\n onFocus: (e)=>{\n let target = e.target.closest('[role=\"alertdialog\"]');\n focusedToast.current = toasts.current.findIndex((t)=>t === target);\n },\n onBlur: ()=>{\n focusedToast.current = -1;\n }\n })\n };\n}\n\n\nexport {$6cc546b19ee7130a$export$b8cbbb20a51697de as useToastRegion};\n//# sourceMappingURL=useToastRegion.module.js.map\n","export const filledVariants = [\n {\n design: 'filled',\n intent: 'success',\n class: ['bg-success text-on-success'],\n },\n {\n design: 'filled',\n intent: 'alert',\n class: ['bg-alert text-on-alert'],\n },\n {\n design: 'filled',\n intent: 'error',\n class: ['bg-error text-on-error'],\n },\n {\n design: 'filled',\n intent: 'info',\n class: ['bg-info text-on-info'],\n },\n {\n design: 'filled',\n intent: 'neutral',\n class: ['bg-neutral text-on-neutral'],\n },\n {\n design: 'filled',\n intent: 'main',\n class: ['bg-main text-on-main'],\n },\n {\n design: 'filled',\n intent: 'basic',\n class: ['bg-basic text-on-basic'],\n },\n {\n design: 'filled',\n intent: 'support',\n class: ['bg-support text-on-support'],\n },\n {\n design: 'filled',\n intent: 'accent',\n class: ['bg-accent text-on-accent'],\n },\n {\n design: 'filled',\n intent: 'inverse',\n class: ['bg-surface-inverse text-on-surface-inverse'],\n },\n] as const\n\nexport const tintedVariants = [\n {\n design: 'tinted',\n intent: 'success',\n class: ['bg-success-container text-on-success-container'],\n },\n {\n design: 'tinted',\n intent: 'alert',\n class: ['bg-alert-container text-on-alert-container'],\n },\n {\n design: 'tinted',\n intent: 'error',\n class: ['bg-error-container text-on-error-container'],\n },\n {\n design: 'tinted',\n intent: 'info',\n class: ['bg-info-container text-on-info-container'],\n },\n {\n design: 'tinted',\n intent: 'neutral',\n class: ['bg-neutral-container text-on-neutral-container'],\n },\n {\n design: 'tinted',\n intent: 'main',\n class: ['bg-main-container text-on-main-container'],\n },\n {\n design: 'tinted',\n intent: 'basic',\n class: ['bg-basic-container text-on-basic-container'],\n },\n {\n design: 'tinted',\n intent: 'support',\n class: ['bg-support-container text-on-support-container'],\n },\n {\n design: 'tinted',\n intent: 'accent',\n class: ['bg-accent-container text-on-accent-container'],\n },\n {\n design: 'tinted',\n intent: 'inverse',\n class: ['bg-surface-inverse text-on-surface-inverse'],\n },\n] as const\n","import { cva, VariantProps } from 'class-variance-authority'\n\nimport { filledVariants, tintedVariants } from './snackbarVariants'\n\nexport const snackbarItemVariant = cva(\n [\n 'rounded-md shadow-sm',\n 'max-w-[600px]',\n 'cursor-default pointer-events-auto touch-none select-none',\n 'absolute',\n /**\n * Focus\n */\n 'group-focus-visible:outline-hidden group-focus-visible:u-outline group-not-focus-visible:ring-inset',\n /**\n * Positionning\n */\n 'group-data-[position=bottom]:bottom-0 group-data-[position=bottom-left]:bottom-0 group-data-[position=bottom-right]:bottom-0',\n 'group-data-[position=top]:top-0 group-data-[position=top-left]:top-0 group-data-[position=top-right]:top-0',\n /**\n * Animation and opacity\n */\n 'animation-duration-400',\n '[animation-fill-mode: forwards]!',\n 'data-[animation=queued]:animate-fade-in',\n 'data-[animation=entering]:animation-ease-decelerate-back',\n 'data-[animation=exiting]:animation-ease-accelerate',\n // Parent position bottom|bottom-left|bottom-right\n 'data-[animation=entering]:group-data-[position=bottom]:[&:not([data-swipe])]:animate-slide-in-bottom',\n 'data-[animation=exiting]:opacity-0 data-[animation=exiting]:transition-opacity',\n 'data-[animation=exiting]:group-data-[position=bottom]:[&:not([data-swipe])]:animate-slide-out-bottom',\n 'data-[animation=entering]:group-data-[position=bottom-left]:[&:not([data-swipe])]:animate-slide-in-bottom',\n 'data-[animation=exiting]:group-data-[position=bottom-left]:[&:not([data-swipe])]:animate-slide-out-bottom',\n 'data-[animation=entering]:group-data-[position=bottom-right]:[&:not([data-swipe])]:animate-slide-in-bottom',\n 'data-[animation=exiting]:group-data-[position=bottom-right]:[&:not([data-swipe])]:animate-slide-out-bottom',\n // Parent position top|top-left|top-right\n 'data-[animation=entering]:group-data-[position=top]:[&:not([data-swipe])]:animate-slide-in-top',\n 'data-[animation=exiting]:group-data-[position=top]:[&:not([data-swipe])]:animate-slide-out-top',\n 'data-[animation=entering]:group-data-[position=top-left]:[&:not([data-swipe])]:animate-slide-in-top',\n 'data-[animation=exiting]:group-data-[position=top-left]:[&:not([data-swipe])]:animate-slide-out-top',\n 'data-[animation=entering]:group-data-[position=top-right]:[&:not([data-swipe])]:animate-slide-in-top',\n 'data-[animation=exiting]:group-data-[position=top-right]:[&:not([data-swipe])]:animate-slide-out-top',\n /**\n * Swipe\n */\n 'data-[swipe=move]:data-[swipe-direction=right]:translate-x-(--swipe-position-x)',\n 'data-[swipe=move]:data-[swipe-direction=left]:translate-x-(--swipe-position-x)',\n 'data-[swipe=cancel]:translate-x-0',\n 'data-[swipe=end]:data-[swipe-direction=right]:animate-standalone-swipe-out-right',\n 'data-[swipe=end]:data-[swipe-direction=left]:animate-standalone-swipe-out-left',\n ],\n {\n variants: {\n /**\n * Set different look and feel\n * @default 'filled'\n */\n design: {\n filled: '',\n tinted: '',\n },\n /**\n * Set color intent\n * @default 'neutral'\n */\n intent: {\n success: '',\n alert: '',\n error: '',\n info: '',\n neutral: '',\n main: '',\n basic: '',\n support: '',\n accent: '',\n inverse: '',\n },\n },\n compoundVariants: [...filledVariants, ...tintedVariants],\n defaultVariants: {\n design: 'filled',\n intent: 'neutral',\n },\n }\n)\n\nexport const snackbarItemVariantContent = cva(\n [\n 'inline-grid items-center',\n 'col-start-1 row-start-1',\n 'pl-md pr-lg', // applying padding on the parent prevents VoiceOver on Safari from reading snackbar content 🤷\n ],\n {\n variants: {\n /**\n * Force action button displaying on a new line\n * @default false\n */\n actionOnNewline: {\n true: [\n 'grid-rows-[52px_1fr_52px]',\n 'grid-cols-[min-content_1fr_min-content]',\n \"[grid-template-areas:'icon_message_close'_'._message_.'_'action_action_action']\",\n ],\n false: [\n 'grid-cols-[min-content_1fr_min-content_min-content]',\n \"[grid-template-areas:'icon_message_action_close']\",\n ],\n },\n },\n defaultVariants: {\n actionOnNewline: false,\n },\n }\n)\n\nexport type SnackbarItemVariantProps = VariantProps<typeof snackbarItemVariant>\nexport type SnackbarItemVariantContentProps = VariantProps<typeof snackbarItemVariantContent>\n","import { QueuedToast, ToastState } from '@react-stately/toast'\nimport { createContext, useContext } from 'react'\n\nimport type { SnackbarItemValue } from './SnackbarItem'\n\nexport interface SnackbarItemState<T = SnackbarItemValue> {\n toast: QueuedToast<T>\n state: ToastState<T>\n}\n\nexport const SnackbarItemContext = createContext<SnackbarItemState>({} as SnackbarItemState)\n\nexport const useSnackbarItemContext = () => useContext(SnackbarItemContext)\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { Button, type ButtonProps } from '../button'\nimport type { SnackbarItemVariantProps } from './SnackbarItem.styles'\nimport { useSnackbarItemContext } from './SnackbarItemContext'\n\nexport type SnackbarItemActionProps = Omit<ButtonProps, 'size' | 'shape' | 'intent'> &\n SnackbarItemVariantProps & {\n ref?: Ref<HTMLButtonElement>\n }\n\nexport const SnackbarItemAction = ({\n design: designProp = 'filled',\n intent: intentProp = 'neutral',\n onClick,\n children,\n className,\n ref,\n ...rest\n}: SnackbarItemActionProps) => {\n const { toast, state } = useSnackbarItemContext()\n\n const intent = intentProp ?? toast.content.intent\n const design = designProp ?? toast.content.design\n\n return (\n <Button\n data-spark-component=\"snackbar-item-action\"\n ref={ref}\n size=\"md\"\n shape=\"rounded\"\n {...(intent === 'inverse'\n ? {\n design: 'ghost',\n intent: 'surface',\n }\n : {\n design,\n intent: intent === 'error' ? 'danger' : intent,\n })}\n onClick={e => {\n onClick?.(e)\n state.close(toast.key)\n }}\n style={{ gridArea: 'action', ...rest.style }}\n className={cx('ml-md justify-self-end', className)}\n {...rest}\n >\n {children}\n </Button>\n )\n}\n\nSnackbarItemAction.displayName = 'Snackbar.ItemAction'\n","import { Close } from '@spark-ui/icons/Close'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentPropsWithRef } from 'react'\n\nimport { Icon } from '../icon'\nimport { IconButton, type IconButtonProps } from '../icon-button'\nimport type { SnackbarItemVariantProps } from './SnackbarItem.styles'\nimport { useSnackbarItemContext } from './SnackbarItemContext'\n\nexport interface SnackbarItemCloseProps\n extends Omit<ComponentPropsWithRef<'button'>, 'aria-label' | 'disabled'>,\n Pick<IconButtonProps, 'aria-label'>,\n SnackbarItemVariantProps {}\n\nexport const SnackbarItemClose = ({\n design: designProp = 'filled',\n intent: intentProp = 'neutral',\n 'aria-label': ariaLabel,\n onClick,\n className,\n ref,\n ...rest\n}: SnackbarItemCloseProps) => {\n const { toast, state } = useSnackbarItemContext()\n\n const intent = intentProp ?? toast.content.intent\n const design = designProp ?? toast.content.design\n\n return (\n <IconButton\n data-spark-component=\"snackbar-item-close\"\n ref={ref}\n size=\"md\"\n shape=\"rounded\"\n {...(intent === 'inverse'\n ? {\n design: 'ghost',\n intent: 'surface',\n }\n : {\n design,\n intent: intent === 'error' ? 'danger' : intent,\n })}\n aria-label={ariaLabel}\n onClick={e => {\n onClick?.(e)\n state.close(toast.key)\n }}\n style={{ gridArea: 'close', ...rest.style }}\n className={cx('ml-md justify-self-end', className)}\n {...rest}\n >\n <Icon size=\"sm\">\n <Close />\n </Icon>\n </IconButton>\n )\n}\n\nSnackbarItemClose.displayName = 'Snackbar.ItemClose'\n","import { cx } from 'class-variance-authority'\nimport type { ReactElement } from 'react'\n\nimport { Icon, type IconProps } from '../icon'\n\nexport type SnackbarItemIconProps = IconProps\n\nexport const SnackbarItemIcon = ({\n children,\n className,\n ...rest\n}: SnackbarItemIconProps): ReactElement => (\n <Icon\n size=\"md\"\n className={cx('mx-md', className)}\n style={{ gridArea: 'icon', ...rest.style }}\n {...rest}\n >\n {children}\n </Icon>\n)\n\nSnackbarItemIcon.displayName = 'Snackbar.ItemIcon'\n","/* eslint-disable complexity */\nimport { type RefObject, useEffect, useRef, useState } from 'react'\n\ninterface SwipeArgs<T> {\n swipeRef: RefObject<T | null>\n onSwipeStart?: ({ state, direction }: SwipeReturn) => void\n onSwipeMove?: ({ state, direction }: SwipeReturn) => void\n onSwipeCancel?: ({ state, direction }: SwipeReturn) => void\n onSwipeEnd?: ({ state, direction }: SwipeReturn) => void\n threshold?: number\n}\n\ninterface SwipeReturn {\n state?: 'start' | 'move' | 'cancel' | 'end'\n direction?: 'up' | 'down' | 'right' | 'left' | null\n}\n\nconst SWIPE_THRESHOLD = 75\n\nexport const useSwipe = <T extends HTMLElement>({\n swipeRef,\n onSwipeStart,\n onSwipeMove,\n onSwipeCancel,\n onSwipeEnd,\n threshold = 10,\n}: SwipeArgs<T>): SwipeReturn => {\n const [state, setState] = useState<SwipeReturn['state']>()\n\n const direction = useRef<SwipeReturn['direction']>(null)\n const origin = useRef<Record<'x' | 'y', number> | null>(null)\n const delta = useRef<Record<'x' | 'y', number> | null>(null)\n\n const handleSwipeStart = (evt: PointerEvent) => {\n origin.current = { x: evt.clientX, y: evt.clientY }\n\n /**\n * Prevents unwanted text selection in Safari browser (longpress)\n */\n document.addEventListener('selectstart', e => e.preventDefault())\n }\n\n const handleSwipeMove = (evt: PointerEvent) => {\n if (!origin.current) return\n\n const deltaX = Math.abs(evt.clientX - origin.current.x)\n const deltaY = Math.abs(evt.clientY - origin.current.y)\n\n let moveState: SwipeReturn['state']\n\n if (deltaX > deltaY && deltaX > threshold) {\n direction.current = evt.clientX > origin.current.x ? 'right' : 'left'\n } else if (deltaY > threshold) {\n direction.current = evt.clientY > origin.current.y ? 'down' : 'up'\n }\n\n /**\n * If no direction could be defined, then no move should be handled.\n * This is particularly true with trackpads working with MacOS/Windows.\n */\n if (!direction.current) return\n\n if (!delta.current) {\n moveState = 'start'\n delta.current = { x: deltaX, y: deltaY }\n onSwipeStart?.({ state: moveState, direction: direction.current })\n } else {\n moveState = 'move'\n delta.current = { x: deltaX, y: deltaY }\n ;(swipeRef.current as T).style.setProperty(\n '--swipe-position-x',\n `${deltaX > deltaY ? evt.clientX - origin.current.x : 0}px`\n )\n ;(swipeRef.current as T).style.setProperty(\n '--swipe-position-y',\n `${!(deltaX > deltaY) ? evt.clientY - origin.current.y : 0}px`\n )\n onSwipeMove?.({ state: moveState, direction: direction.current })\n }\n\n setState(moveState)\n }\n\n const handleSwipeEnd = () => {\n const proxyDelta = delta.current\n\n origin.current = null\n delta.current = null\n\n if (proxyDelta) {\n const { x: deltaX, y: deltaY } = proxyDelta\n\n let endState: SwipeReturn['state']\n\n if (deltaX > deltaY) {\n if (deltaX > SWIPE_THRESHOLD) {\n endState = 'end'\n onSwipeEnd?.({ state: endState, direction: direction.current })\n } else {\n endState = 'cancel'\n onSwipeCancel?.({ state: endState, direction: direction.current })\n }\n } else {\n if (deltaY > SWIPE_THRESHOLD) {\n endState = 'end'\n onSwipeEnd?.({ state: endState, direction: direction.current })\n } else {\n endState = 'cancel'\n onSwipeCancel?.({ state: endState, direction: direction.current })\n }\n }\n\n setState(endState)\n\n /**\n * Prevents unwanted text selection in Safari browser (longpress)\n */\n document.removeEventListener('selectstart', e => e.preventDefault())\n }\n }\n\n useEffect(() => {\n if (!swipeRef.current) return\n\n const swipeElement = swipeRef.current\n\n swipeElement.addEventListener('pointerdown', handleSwipeStart)\n document.addEventListener('pointermove', handleSwipeMove)\n document.addEventListener('pointerup', handleSwipeEnd)\n\n return () => {\n swipeElement.removeEventListener('pointerdown', handleSwipeStart)\n document.removeEventListener('pointermove', handleSwipeMove)\n document.removeEventListener('pointerup', handleSwipeEnd)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return {\n state,\n direction: direction.current,\n }\n}\n","/* eslint-disable max-lines-per-function */\n\nimport { useToast } from '@react-aria/toast'\nimport {\n Children,\n cloneElement,\n type ComponentPropsWithRef,\n type FC,\n isValidElement,\n type PropsWithChildren,\n type ReactElement,\n type ReactNode,\n useCallback,\n useRef,\n} from 'react'\n\nimport {\n snackbarItemVariant,\n snackbarItemVariantContent,\n type SnackbarItemVariantContentProps,\n type SnackbarItemVariantProps,\n} from './SnackbarItem.styles'\nimport { SnackbarItemAction, SnackbarItemActionProps } from './SnackbarItemAction'\nimport { SnackbarItemClose, SnackbarItemCloseProps } from './SnackbarItemClose'\nimport { useSnackbarItemContext } from './SnackbarItemContext'\nimport { SnackbarItemIcon, SnackbarItemIconProps } from './SnackbarItemIcon'\nimport { useSwipe } from './useSwipe'\n\nexport interface SnackbarItemValue extends SnackbarItemVariantProps {\n /**\n * Icon that will be prepended before snackbar message\n */\n icon?: ReactNode\n message: ReactNode\n /**\n * If `true` snackbar will display a close button\n * @default false\n */\n isClosable?: boolean\n /**\n * A label for the action button within the toast.\n */\n actionLabel?: string\n /**\n * Handler that is called when the action button is pressed.\n */\n onAction?: () => void\n /**\n * If `true` the action button will be displayed on a new line.\n * @default false\n */\n actionOnNewline?: boolean\n}\n\nexport interface SnackbarItemProps\n extends ComponentPropsWithRef<'div'>,\n SnackbarItemVariantProps,\n SnackbarItemVariantContentProps {\n /**\n * Defines a string value that labels the current element.\n */\n 'aria-label'?: string\n /**\n * Identifies the element (or elements) that labels the current element.\n */\n 'aria-labelledby'?: string\n /**\n * Identifies the element (or elements) that describes the object.\n */\n 'aria-describedby'?: string\n /**\n * Identifies the element (or elements) that provide a detailed, extended description for the object.\n */\n 'aria-details'?: string\n}\n\nexport const SnackbarItem = ({\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n design: designProp,\n intent: intentProp,\n actionOnNewline: actionOnNewlineProp,\n className,\n children,\n ref: forwardedRef,\n ...rest\n}: PropsWithChildren<SnackbarItemProps>) => {\n const innerRef = useRef(null)\n const ref = typeof forwardedRef !== 'function' ? forwardedRef || innerRef : innerRef\n\n const { toast, state } = useSnackbarItemContext()\n\n const { state: swipeState, direction: swipeDirection } = useSwipe({\n swipeRef: ref,\n onSwipeStart: state.pauseAll,\n onSwipeCancel: state.resumeAll,\n onSwipeEnd: ({ direction }) => {\n ;['left', 'right'].includes(`${direction}`) && state.close(toast.key)\n },\n })\n\n const { message, icon, isClosable, onAction, actionLabel } = toast.content\n const intent = intentProp ?? toast.content.intent\n const design = designProp ?? toast.content.design\n const actionOnNewline = actionOnNewlineProp ?? toast.content.actionOnNewline\n\n const ariaProps = {\n ariaLabel,\n ariaLabelledby,\n ariaDescribedby,\n ariaDetails,\n }\n\n const { toastProps, titleProps, closeButtonProps, contentProps } = useToast(\n { toast, ...ariaProps },\n state,\n ref\n )\n\n const findElement = useCallback(\n <P extends object>(elementDisplayName: string): ReactElement<P> | undefined => {\n const childrenArray = Children.toArray(children)\n\n const match = childrenArray\n .filter(isValidElement)\n .find(\n (child): child is ReactElement<P> =>\n !!(child.type as FC<P> & { displayName?: string }).displayName?.includes(\n elementDisplayName\n )\n )\n\n return match as ReactElement<P> | undefined\n },\n [children]\n )\n\n const iconFromChildren = findElement<SnackbarItemIconProps>('Snackbar.ItemIcon')\n const actionBtnFromChildren = findElement<SnackbarItemActionProps>('Snackbar.ItemAction')\n const closeBtnFromChildren = findElement<SnackbarItemCloseProps>('Snackbar.ItemClose')\n\n return (\n <div\n data-spark-component=\"snackbar-item\"\n className={snackbarItemVariant({ design, intent, className })}\n data-animation={toast.animation}\n {...(!(swipeState === 'cancel' && toast.animation === 'exiting') && {\n 'data-swipe': swipeState,\n 'data-swipe-direction': swipeDirection,\n })}\n {...(toast.animation === 'exiting' && {\n // Remove snackbar when the exiting animation completes\n onAnimationEnd: () => state.remove(toast.key),\n })}\n ref={ref}\n {...toastProps}\n {...rest}\n >\n <div className={snackbarItemVariantContent({ actionOnNewline })} {...contentProps}>\n {/* 1. ICON */}\n {renderSubComponent(iconFromChildren, icon ? SnackbarItemIcon : null, {\n children: icon,\n })}\n\n {/* 2. MESSAGE */}\n <p\n className=\"px-md py-lg text-body-2 row-span-3\"\n style={{ gridArea: 'message' }}\n {...titleProps}\n >\n {message}\n </p>\n\n {/* 3. ACTION BUTTON */}\n {renderSubComponent(\n actionBtnFromChildren,\n actionLabel && onAction ? SnackbarItemAction : null,\n { intent, design, onClick: onAction, children: actionLabel }\n )}\n\n {/* 4. CLOSE BUTTON */}\n {renderSubComponent(closeBtnFromChildren, isClosable ? SnackbarItemClose : null, {\n intent,\n design,\n /**\n * React Spectrum typing of aria-label is inaccurate, and aria-label value should never be undefined.\n * See https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/i18n/src/useLocalizedStringFormatter.ts#L40\n */\n 'aria-label': closeButtonProps['aria-label'] as string,\n })}\n </div>\n </div>\n )\n}\n\nSnackbarItem.displayName = 'Snackbar.Item'\n\n/**\n * Returns compound item if found in children prop.\n * If not fallbacks to default item, conditionned by addSnackbar options.\n */\nconst renderSubComponent = <P extends object>(\n childItem?: ReactElement<P>,\n defaultItem?: FC<P> | null,\n props?: P\n) => {\n if (childItem) {\n return cloneElement(childItem, { ...props, ...childItem.props })\n } else if (defaultItem) {\n const Item = defaultItem\n\n return <Item {...(props as P)} />\n } else {\n return null\n }\n}\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const snackbarRegionVariant = cva(\n [\n 'fixed inset-x-lg z-toast group',\n 'outline-hidden pointer-events-none',\n 'grid grid-rows-1 grid-cols-1 gap-lg',\n ],\n {\n variants: {\n /**\n * Set snackbar item position\n * @default 'bottom'\n */\n position: {\n top: 'top-lg justify-items-center',\n 'top-right': 'top-lg justify-items-end',\n 'top-left': 'top-lg justify-items-start',\n bottom: 'bottom-lg justify-items-center',\n 'bottom-right': 'bottom-lg justify-items-end',\n 'bottom-left': 'bottom-lg justify-items-start',\n },\n },\n defaultVariants: {\n position: 'bottom',\n },\n }\n)\n\nexport type SnackbarRegionVariantProps = VariantProps<typeof snackbarRegionVariant>\n","import { type AriaToastRegionProps, useToastRegion } from '@react-aria/toast'\nimport { cloneElement, type ComponentPropsWithRef, type ReactElement, useRef } from 'react'\n\nimport { SnackbarItem, type SnackbarItemProps } from './SnackbarItem'\nimport { SnackbarItemContext, type SnackbarItemState } from './SnackbarItemContext'\nimport { snackbarRegionVariant, type SnackbarRegionVariantProps } from './SnackbarRegion.styles'\n\nexport interface SnackbarRegionProps\n extends ComponentPropsWithRef<'div'>,\n AriaToastRegionProps,\n SnackbarRegionVariantProps,\n Pick<SnackbarItemState, 'state'> {\n /**\n * An accessibility label for the snackbar region.\n * @default 'Notifications'\n */\n 'aria-label'?: string\n /**\n * Identifies the element (or elements) that labels the current element.\n */\n 'aria-labelledby'?: string\n /**\n * Identifies the element (or elements) that describes the object.\n */\n 'aria-describedby'?: string\n /**\n * Identifies the element (or elements) that provide a detailed, extended description for the object.\n */\n 'aria-details'?: string\n /**\n * The component/template used to display each snackbar from the queue\n * @default 'Snackbar.Item'\n */\n children?: ReactElement<SnackbarItemProps, typeof SnackbarItem>\n}\n\nexport const SnackbarRegion = ({\n children = <SnackbarItem />,\n state,\n position = 'bottom',\n className,\n ref: forwardedRef,\n ...rest\n}: SnackbarRegionProps): ReactElement => {\n const innerRef = useRef<HTMLDivElement>(null)\n const ref = forwardedRef && typeof forwardedRef !== 'function' ? forwardedRef : innerRef\n\n const { regionProps } = useToastRegion(rest, state, ref)\n\n return (\n <div\n {...regionProps}\n ref={ref}\n data-position={position}\n className={snackbarRegionVariant({ position, className })}\n >\n {state.visibleToasts.map(toast => (\n <SnackbarItemContext.Provider key={toast.key} value={{ toast, state }}>\n {cloneElement(children, { key: toast.key })}\n </SnackbarItemContext.Provider>\n ))}\n </div>\n )\n}\n","import { type RefObject, useCallback, useSyncExternalStore } from 'react'\n\ninterface UseSnackbarGlobalStoreArgs<T> {\n providers: Set<T>\n subscriptions: Set<() => void>\n}\n\ninterface UseSnackbarGlobalStoreReturn<T> {\n provider: T\n addProvider: (ref: T) => void\n deleteProvider: (ref: T) => void\n}\n\n/**\n * This hook is a basic abstraction of useSyncExternalStore hook which allows us\n * to consume data from an external data store.\n *\n * Cf. https://react.dev/reference/react/useSyncExternalStore#subscribing-to-an-external-store\n */\n\nexport const useSnackbarGlobalStore = <T = RefObject<HTMLDivElement | null>>({\n providers,\n subscriptions,\n}: UseSnackbarGlobalStoreArgs<T>): UseSnackbarGlobalStoreReturn<T> => {\n const subscribe = useCallback(\n (listener: () => void) => {\n subscriptions.add(listener)\n\n return () => subscriptions.delete(listener)\n },\n [subscriptions]\n )\n\n const getLastSnackbarProvider = useCallback(() => [...providers].reverse()[0] as T, [providers])\n\n const addProvider = useCallback(\n (provider: T) => {\n providers.add(provider)\n\n for (const subscribeFn of subscriptions) {\n subscribeFn()\n }\n },\n [providers, subscriptions]\n )\n\n const deleteProvider = useCallback(\n (provider: T) => {\n providers.delete(provider)\n\n for (const subscribeFn of subscriptions) {\n subscribeFn()\n }\n },\n [providers, subscriptions]\n )\n\n const provider = useSyncExternalStore(subscribe, getLastSnackbarProvider, getLastSnackbarProvider)\n\n return {\n provider,\n addProvider,\n deleteProvider,\n }\n}\n","import {\n type ToastOptions as SnackBarItemOptions,\n ToastQueue,\n useToastQueue,\n} from '@react-stately/toast'\nimport { type ReactElement, Ref, type RefObject, useEffect, useRef } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { type SnackbarItemValue } from './SnackbarItem'\nimport { SnackbarRegion, type SnackbarRegionProps } from './SnackbarRegion'\nimport { useSnackbarGlobalStore } from './useSnackbarGlobalStore'\n\n/**\n * We define here a global queue thanks to dedicated util from React Spectrum.\n * It is based on React `useSyncExternalStore` and allows us to consume data from\n * an external data store, and thus preventing use of React context that could\n * lead to unwanted rerenderings. It also simplifies initial implementation.\n */\nlet GLOBAL_SNACKBAR_QUEUE: ToastQueue<SnackbarItemValue> | null = null\n\nconst getGlobalSnackBarQueue = () => {\n if (!GLOBAL_SNACKBAR_QUEUE) {\n GLOBAL_SNACKBAR_QUEUE = new ToastQueue({\n maxVisibleToasts: 1,\n hasExitAnimation: true,\n })\n }\n\n return GLOBAL_SNACKBAR_QUEUE\n}\n\nexport const clearSnackbarQueue = () => {\n GLOBAL_SNACKBAR_QUEUE = null\n}\n\n/**\n * We define a global store to keep track of all providers instances, to ensure\n * we always have a single Snackbar container.\n */\nconst GLOBAL_SNACKBAR_STORE = {\n providers: new Set<RefObject<HTMLDivElement | null>>(),\n subscriptions: new Set<() => void>(),\n}\n\nexport type SnackbarProps = Omit<SnackbarRegionProps, 'state'> & {\n ref?: Ref<HTMLDivElement>\n}\n\nexport const Snackbar = ({ ref: forwardedRef, ...props }: SnackbarProps): ReactElement | null => {\n const ref = useRef<HTMLDivElement>(null)\n\n const state = useToastQueue(getGlobalSnackBarQueue())\n\n const { provider, addProvider, deleteProvider } = useSnackbarGlobalStore(GLOBAL_SNACKBAR_STORE)\n\n useEffect(() => {\n addProvider(ref)\n\n return () => {\n for (const toast of getGlobalSnackBarQueue().visibleToasts) {\n toast.animation = undefined\n }\n\n deleteProvider(ref)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return ref === provider && state.visibleToasts.length > 0\n ? createPortal(<SnackbarRegion ref={forwardedRef} state={state} {...props} />, document.body)\n : null\n}\n\nSnackbar.displayName = 'Snackbar'\n\nexport interface AddSnackbarArgs extends SnackbarItemValue, Omit<SnackBarItemOptions, 'timeout'> {\n /**\n * Handler that is called when the snackbar is closed, either by the user\n * or after a timeout.\n */\n onClose?: () => void\n /**\n * A timeout to automatically close the snackbar after, in milliseconds.\n * @default 5000\n */\n timeout?: number | null\n /**\n * The priority of the snackbar relative to other snackbars. Larger numbers indicate higher priority.\n */\n priority?: number\n}\n\nexport const addSnackbar = ({ onClose, timeout = 5000, priority, ...content }: AddSnackbarArgs) => {\n const queue = getGlobalSnackBarQueue()\n\n queue.add(content, {\n onClose,\n timeout: timeout && !content.onAction ? Math.max(timeout, 5000) : undefined,\n priority,\n })\n}\n","import {\n addSnackbar,\n type AddSnackbarArgs,\n clearSnackbarQueue,\n Snackbar as Root,\n type SnackbarProps,\n} from './Snackbar'\nimport { SnackbarItem as Item, type SnackbarItemProps } from './SnackbarItem'\nimport {\n SnackbarItemAction as ItemAction,\n type SnackbarItemActionProps,\n} from './SnackbarItemAction'\nimport { SnackbarItemClose as ItemClose, type SnackbarItemCloseProps } from './SnackbarItemClose'\nimport { SnackbarItemIcon as ItemIcon, type SnackbarItemIconProps } from './SnackbarItemIcon'\n\nexport const Snackbar: typeof Root & {\n Item: typeof Item\n ItemAction: typeof ItemAction\n ItemClose: typeof ItemClose\n ItemIcon: typeof ItemIcon\n} = Object.assign(Root, {\n Item,\n ItemAction,\n ItemClose,\n ItemIcon,\n})\n\nSnackbar.displayName = 'Snackbar'\nItem.displayName = 'Snackbar.Item'\nItemAction.displayName = 'Snackbar.ItemAction'\nItemClose.displayName = 'Snackbar.ItemClose'\nItemIcon.displayName = 'Snackbar.ItemIcon'\n\nexport type {\n SnackbarProps,\n SnackbarItemProps,\n SnackbarItemActionProps,\n SnackbarItemCloseProps,\n SnackbarItemIconProps,\n AddSnackbarArgs,\n}\nexport { addSnackbar, clearSnackbarQueue }\n"],"names":["$77b352cf12efcf73$export$84726ef35ca2129a","queue","subscribe","$cNx9A$useCallback","fn","getSnapshot","$cNx9A$useSyncExternalStore","content","options","key","$77b352cf12efcf73$export$f1f8569633bbbec4","toastKey","toast","$77b352cf12efcf73$var$Timer","low","high","mid","i","index","t","_this_queue_index_onClose","_this_queue_index","action","toasts","prevToasts","t2","a","b","_b_priority","_a_priority","_options_maxVisibleToasts","_options_hasExitAnimation","delay","callback","$ff9177efc58547ad$exports","args","formatter","$25eb7c0c0c45e544$exports","$28feffc3d61a8691$exports","$390d441203d25ff4$exports","$7063c2d0f14f979a$exports","$2dfc1dbb6590af88$exports","$9a12ff1caae5a7a5$exports","$f4095fb5a72adbe6$exports","$75bc5191b9d7826a$exports","$e4b9aef18b0db8dc$exports","$888756784d832bd7$exports","$6835949b68a1fabf$exports","$87ffcbc0b651e40b$exports","$dc6e3b2813600d69$exports","$fe136bcbacfcfa14$exports","$8fb53a929b46df83$exports","$2c38dbfaf041a865$exports","$48f3f33a29908d4c$exports","$9867160d996455a0$exports","$196258ea25c96487$exports","$949061cb954e8000$exports","$8189bed27add1ad3$exports","$a361756a93b6e28c$exports","$034c7393857c8db0$exports","$e33d3b3868478b04$exports","$9a7dcb914b29cd9f$exports","$e43d964a0c7f1266$exports","$0bc56cee3275bcaa$exports","$7dbdd7289c10d2ba$exports","$ccbe6066c10b1e53$exports","$9d503476b9d858b7$exports","$32ee419c7b9b7a83$exports","$122525af1cb737c7$exports","$52e8b1b00094e5a3$exports","$7853651519a70071$exports","$aTebn$arAEmodulejs","$aTebn$bgBGmodulejs","$aTebn$csCZmodulejs","$aTebn$daDKmodulejs","$aTebn$deDEmodulejs","$aTebn$elGRmodulejs","$aTebn$enUSmodulejs","$aTebn$esESmodulejs","$aTebn$etEEmodulejs","$aTebn$fiFImodulejs","$aTebn$frFRmodulejs","$aTebn$heILmodulejs","$aTebn$hrHRmodulejs","$aTebn$huHUmodulejs","$aTebn$itITmodulejs","$aTebn$jaJPmodulejs","$aTebn$koKRmodulejs","$aTebn$ltLTmodulejs","$aTebn$lvLVmodulejs","$aTebn$nbNOmodulejs","$aTebn$nlNLmodulejs","$aTebn$plPLmodulejs","$aTebn$ptBRmodulejs","$aTebn$ptPTmodulejs","$aTebn$roROmodulejs","$aTebn$ruRUmodulejs","$aTebn$skSKmodulejs","$aTebn$slSImodulejs","$aTebn$srSPmodulejs","$aTebn$svSEmodulejs","$aTebn$trTRmodulejs","$aTebn$ukUAmodulejs","$aTebn$zhCNmodulejs","$aTebn$zhTWmodulejs","$parcel$interopDefault","$d6542812f0669241$export$a407b657d3044108","props","state","ref","timer","timeout","$7WpW4$useEffect","titleId","$7WpW4$useId","descriptionId","$7WpW4$useSlotId","stringFormatter","$7WpW4$useLocalizedStringFormatter","$7WpW4$intlStringsmodulejs","isVisible","setIsVisible","$7WpW4$useState","$7WpW4$filterDOMProps","$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents","$6179b936705e76d3$var$hoverCount","$6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents","$6179b936705e76d3$var$handleGlobalPointerEvent","e","$6179b936705e76d3$var$setupGlobalTouchEvents","$6179b936705e76d3$export$ae780daf29e6d456","onHoverStart","onHoverChange","onHoverEnd","isDisabled","isHovered","setHovered","$AWxnT$useState","$AWxnT$useRef","$AWxnT$useEffect","addGlobalListener","removeAllGlobalListeners","$AWxnT$useGlobalListeners","hoverProps","triggerHoverEnd","$AWxnT$useMemo","triggerHoverStart","event","pointerType","target","$AWxnT$getOwnerDocument","$AWxnT$nodeContains","$a86207c5d7f7e1fb$var$LANDMARK_API_VERSION","$a86207c5d7f7e1fb$var$landmarkSymbol","$a86207c5d7f7e1fb$var$subscribe","$a86207c5d7f7e1fb$var$getLandmarkManager","instance","$a86207c5d7f7e1fb$var$LandmarkManager","$a86207c5d7f7e1fb$var$useLandmarkManager","$3xCwh$useSyncExternalStore","landmark","direction","_this_landmarks_find_focus","_this_landmarks_find","l","role","newLandmark","start","end","comparedPosition","landmarksWithRole","duplicatesWithoutLabel","labels","item","label","element","landmarkMap","currentElement","backward","_this_landmarks_nextLandmarkIndex_ref_current","currentLandmark","nextLandmarkIndex","wrapIfNeeded","main","from","nextLandmark","lastFocused","previousFocusedElement","closestPreviousLandmark","nextFocusedElement","opts","$a86207c5d7f7e1fb$export$4cc632584fd87fae","ariaLabel","ariaLabelledby","focus","manager","isLandmarkFocused","setIsLandmarkFocused","$3xCwh$useState","defaultFocus","$3xCwh$useCallback","blur","$3xCwh$useLayoutEffect","$3xCwh$useEffect","_ref_current","$6cc546b19ee7130a$export$b8cbbb20a51697de","$ckyCP$useLocalizedStringFormatter","$ckyCP$intlStringsmodulejs","landmarkProps","$ckyCP$useLandmark","$ckyCP$useRef","isFocused","updateTimers","$ckyCP$useEffectEvent","$ckyCP$useHover","prevVisibleToasts","focusedToast","$ckyCP$useLayoutEffect","allToasts","removedFocusedToastIndex","_lastFocused_current","$ckyCP$getInteractionModality","$ckyCP$focusWithoutScrolling","nextToast","prevToast","focusWithinProps","$ckyCP$useFocusWithin","$ckyCP$useEffect","$ckyCP$mergeProps","filledVariants","tintedVariants","snackbarItemVariant","cva","snackbarItemVariantContent","SnackbarItemContext","createContext","useSnackbarItemContext","useContext","SnackbarItemAction","designProp","intentProp","onClick","children","className","rest","intent","design","jsx","Button","cx","SnackbarItemClose","IconButton","Icon","Close","SnackbarItemIcon","SWIPE_THRESHOLD","useSwipe","swipeRef","onSwipeStart","onSwipeMove","onSwipeCancel","onSwipeEnd","threshold","setState","useState","useRef","origin","delta","handleSwipeStart","evt","handleSwipeMove","deltaX","deltaY","moveState","handleSwipeEnd","proxyDelta","endState","useEffect","swipeElement","SnackbarItem","ariaDescribedby","ariaDetails","actionOnNewlineProp","forwardedRef","innerRef","swipeState","swipeDirection","message","icon","isClosable","onAction","actionLabel","actionOnNewline","ariaProps","toastProps","titleProps","closeButtonProps","contentProps","useToast","findElement","useCallback","elementDisplayName","Children","isValidElement","child","iconFromChildren","actionBtnFromChildren","closeBtnFromChildren","jsxs","renderSubComponent","childItem","defaultItem","cloneElement","Item","snackbarRegionVariant","SnackbarRegion","position","regionProps","useToastRegion","useSnackbarGlobalStore","providers","subscriptions","listener","getLastSnackbarProvider","addProvider","provider","subscribeFn","deleteProvider","useSyncExternalStore","GLOBAL_SNACKBAR_QUEUE","getGlobalSnackBarQueue","ToastQueue","clearSnackbarQueue","GLOBAL_SNACKBAR_STORE","Snackbar","useToastQueue","createPortal","addSnackbar","onClose","priority","Root","ItemAction","ItemClose","ItemIcon"],"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,29,30,31,32,33,34,35,36,37,38,39]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/snackbar/snackbarVariants.ts","../../src/snackbar/SnackbarItem.styles.ts","../../src/snackbar/SnackbarItemContext.tsx","../../src/snackbar/SnackbarItemAction.tsx","../../src/snackbar/SnackbarItemClose.tsx","../../src/snackbar/SnackbarItemIcon.tsx","../../src/snackbar/useSwipe.ts","../../src/snackbar/SnackbarItem.tsx","../../src/snackbar/SnackbarRegion.styles.ts","../../src/snackbar/SnackbarRegion.tsx","../../src/snackbar/useSnackbarGlobalStore.ts","../../src/snackbar/Snackbar.tsx","../../src/snackbar/index.ts"],"sourcesContent":["export const filledVariants = [\n {\n design: 'filled',\n intent: 'success',\n class: ['bg-success text-on-success'],\n },\n {\n design: 'filled',\n intent: 'alert',\n class: ['bg-alert text-on-alert'],\n },\n {\n design: 'filled',\n intent: 'error',\n class: ['bg-error text-on-error'],\n },\n {\n design: 'filled',\n intent: 'info',\n class: ['bg-info text-on-info'],\n },\n {\n design: 'filled',\n intent: 'neutral',\n class: ['bg-neutral text-on-neutral'],\n },\n {\n design: 'filled',\n intent: 'main',\n class: ['bg-main text-on-main'],\n },\n {\n design: 'filled',\n intent: 'basic',\n class: ['bg-basic text-on-basic'],\n },\n {\n design: 'filled',\n intent: 'support',\n class: ['bg-support text-on-support'],\n },\n {\n design: 'filled',\n intent: 'accent',\n class: ['bg-accent text-on-accent'],\n },\n {\n design: 'filled',\n intent: 'inverse',\n class: ['bg-surface-inverse text-on-surface-inverse'],\n },\n] as const\n\nexport const tintedVariants = [\n {\n design: 'tinted',\n intent: 'success',\n class: ['bg-success-container text-on-success-container'],\n },\n {\n design: 'tinted',\n intent: 'alert',\n class: ['bg-alert-container text-on-alert-container'],\n },\n {\n design: 'tinted',\n intent: 'error',\n class: ['bg-error-container text-on-error-container'],\n },\n {\n design: 'tinted',\n intent: 'info',\n class: ['bg-info-container text-on-info-container'],\n },\n {\n design: 'tinted',\n intent: 'neutral',\n class: ['bg-neutral-container text-on-neutral-container'],\n },\n {\n design: 'tinted',\n intent: 'main',\n class: ['bg-main-container text-on-main-container'],\n },\n {\n design: 'tinted',\n intent: 'basic',\n class: ['bg-basic-container text-on-basic-container'],\n },\n {\n design: 'tinted',\n intent: 'support',\n class: ['bg-support-container text-on-support-container'],\n },\n {\n design: 'tinted',\n intent: 'accent',\n class: ['bg-accent-container text-on-accent-container'],\n },\n {\n design: 'tinted',\n intent: 'inverse',\n class: ['bg-surface-inverse text-on-surface-inverse'],\n },\n] as const\n","import { cva, VariantProps } from 'class-variance-authority'\n\nimport { filledVariants, tintedVariants } from './snackbarVariants'\n\nexport const snackbarItemVariant = cva(\n [\n 'rounded-md shadow-sm',\n 'max-w-[600px]',\n 'cursor-default pointer-events-auto touch-none select-none',\n 'absolute',\n /**\n * Focus\n */\n 'group-focus-visible:outline-hidden group-focus-visible:u-outline group-not-focus-visible:ring-inset',\n /**\n * Positionning\n */\n 'group-data-[position=bottom]:bottom-0 group-data-[position=bottom-left]:bottom-0 group-data-[position=bottom-right]:bottom-0',\n 'group-data-[position=top]:top-0 group-data-[position=top-left]:top-0 group-data-[position=top-right]:top-0',\n /**\n * Animation and opacity\n */\n 'animation-duration-400',\n '[animation-fill-mode: forwards]!',\n 'data-[animation=queued]:animate-fade-in',\n 'data-[animation=entering]:animation-ease-decelerate-back',\n 'data-[animation=exiting]:animation-ease-accelerate',\n // Parent position bottom|bottom-left|bottom-right\n 'data-[animation=entering]:group-data-[position=bottom]:[&:not([data-swipe])]:animate-slide-in-bottom',\n 'data-[animation=exiting]:opacity-0 data-[animation=exiting]:transition-opacity',\n 'data-[animation=exiting]:group-data-[position=bottom]:[&:not([data-swipe])]:animate-slide-out-bottom',\n 'data-[animation=entering]:group-data-[position=bottom-left]:[&:not([data-swipe])]:animate-slide-in-bottom',\n 'data-[animation=exiting]:group-data-[position=bottom-left]:[&:not([data-swipe])]:animate-slide-out-bottom',\n 'data-[animation=entering]:group-data-[position=bottom-right]:[&:not([data-swipe])]:animate-slide-in-bottom',\n 'data-[animation=exiting]:group-data-[position=bottom-right]:[&:not([data-swipe])]:animate-slide-out-bottom',\n // Parent position top|top-left|top-right\n 'data-[animation=entering]:group-data-[position=top]:[&:not([data-swipe])]:animate-slide-in-top',\n 'data-[animation=exiting]:group-data-[position=top]:[&:not([data-swipe])]:animate-slide-out-top',\n 'data-[animation=entering]:group-data-[position=top-left]:[&:not([data-swipe])]:animate-slide-in-top',\n 'data-[animation=exiting]:group-data-[position=top-left]:[&:not([data-swipe])]:animate-slide-out-top',\n 'data-[animation=entering]:group-data-[position=top-right]:[&:not([data-swipe])]:animate-slide-in-top',\n 'data-[animation=exiting]:group-data-[position=top-right]:[&:not([data-swipe])]:animate-slide-out-top',\n /**\n * Swipe\n */\n 'data-[swipe=move]:data-[swipe-direction=right]:translate-x-(--swipe-position-x)',\n 'data-[swipe=move]:data-[swipe-direction=left]:translate-x-(--swipe-position-x)',\n 'data-[swipe=cancel]:translate-x-0',\n 'data-[swipe=end]:data-[swipe-direction=right]:animate-standalone-swipe-out-right',\n 'data-[swipe=end]:data-[swipe-direction=left]:animate-standalone-swipe-out-left',\n ],\n {\n variants: {\n /**\n * Set different look and feel\n * @default 'filled'\n */\n design: {\n filled: '',\n tinted: '',\n },\n /**\n * Set color intent\n * @default 'neutral'\n */\n intent: {\n success: '',\n alert: '',\n error: '',\n info: '',\n neutral: '',\n main: '',\n basic: '',\n support: '',\n accent: '',\n inverse: '',\n },\n },\n compoundVariants: [...filledVariants, ...tintedVariants],\n defaultVariants: {\n design: 'filled',\n intent: 'neutral',\n },\n }\n)\n\nexport const snackbarItemVariantContent = cva(\n [\n 'inline-grid items-center',\n 'col-start-1 row-start-1',\n 'pl-md pr-lg', // applying padding on the parent prevents VoiceOver on Safari from reading snackbar content 🤷\n ],\n {\n variants: {\n /**\n * Force action button displaying on a new line\n * @default false\n */\n actionOnNewline: {\n true: [\n 'grid-rows-[52px_1fr_52px]',\n 'grid-cols-[min-content_1fr_min-content]',\n \"[grid-template-areas:'icon_message_close'_'._message_.'_'action_action_action']\",\n ],\n false: [\n 'grid-cols-[min-content_1fr_min-content_min-content]',\n \"[grid-template-areas:'icon_message_action_close']\",\n ],\n },\n },\n defaultVariants: {\n actionOnNewline: false,\n },\n }\n)\n\nexport type SnackbarItemVariantProps = VariantProps<typeof snackbarItemVariant>\nexport type SnackbarItemVariantContentProps = VariantProps<typeof snackbarItemVariantContent>\n","import { QueuedToast, ToastState } from '@react-stately/toast'\nimport { createContext, useContext } from 'react'\n\nimport type { SnackbarItemValue } from './SnackbarItem'\n\nexport interface SnackbarItemState<T = SnackbarItemValue> {\n toast: QueuedToast<T>\n state: ToastState<T>\n}\n\nexport const SnackbarItemContext = createContext<SnackbarItemState>({} as SnackbarItemState)\n\nexport const useSnackbarItemContext = () => useContext(SnackbarItemContext)\n","import { cx } from 'class-variance-authority'\nimport { Ref } from 'react'\n\nimport { Button, type ButtonProps } from '../button'\nimport type { SnackbarItemVariantProps } from './SnackbarItem.styles'\nimport { useSnackbarItemContext } from './SnackbarItemContext'\n\nexport type SnackbarItemActionProps = Omit<ButtonProps, 'size' | 'shape' | 'intent'> &\n SnackbarItemVariantProps & {\n ref?: Ref<HTMLButtonElement>\n }\n\nexport const SnackbarItemAction = ({\n design: designProp = 'filled',\n intent: intentProp = 'neutral',\n onClick,\n children,\n className,\n ref,\n ...rest\n}: SnackbarItemActionProps) => {\n const { toast, state } = useSnackbarItemContext()\n\n const intent = intentProp ?? toast.content.intent\n const design = designProp ?? toast.content.design\n\n return (\n <Button\n data-spark-component=\"snackbar-item-action\"\n ref={ref}\n size=\"md\"\n shape=\"rounded\"\n {...(intent === 'inverse'\n ? {\n design: 'ghost',\n intent: 'surface',\n }\n : {\n design,\n intent: intent === 'error' ? 'danger' : intent,\n })}\n onClick={e => {\n onClick?.(e)\n state.close(toast.key)\n }}\n style={{ gridArea: 'action', ...rest.style }}\n className={cx('ml-md justify-self-end', className)}\n {...rest}\n >\n {children}\n </Button>\n )\n}\n\nSnackbarItemAction.displayName = 'Snackbar.ItemAction'\n","import { Close } from '@spark-ui/icons/Close'\nimport { cx } from 'class-variance-authority'\nimport { type ComponentPropsWithRef } from 'react'\n\nimport { Icon } from '../icon'\nimport { IconButton, type IconButtonProps } from '../icon-button'\nimport type { SnackbarItemVariantProps } from './SnackbarItem.styles'\nimport { useSnackbarItemContext } from './SnackbarItemContext'\n\nexport interface SnackbarItemCloseProps\n extends Omit<ComponentPropsWithRef<'button'>, 'aria-label' | 'disabled'>,\n Pick<IconButtonProps, 'aria-label'>,\n SnackbarItemVariantProps {}\n\nexport const SnackbarItemClose = ({\n design: designProp = 'filled',\n intent: intentProp = 'neutral',\n 'aria-label': ariaLabel,\n onClick,\n className,\n ref,\n ...rest\n}: SnackbarItemCloseProps) => {\n const { toast, state } = useSnackbarItemContext()\n\n const intent = intentProp ?? toast.content.intent\n const design = designProp ?? toast.content.design\n\n return (\n <IconButton\n data-spark-component=\"snackbar-item-close\"\n ref={ref}\n size=\"md\"\n shape=\"rounded\"\n {...(intent === 'inverse'\n ? {\n design: 'ghost',\n intent: 'surface',\n }\n : {\n design,\n intent: intent === 'error' ? 'danger' : intent,\n })}\n aria-label={ariaLabel}\n onClick={e => {\n onClick?.(e)\n state.close(toast.key)\n }}\n style={{ gridArea: 'close', ...rest.style }}\n className={cx('ml-md justify-self-end', className)}\n {...rest}\n >\n <Icon size=\"sm\">\n <Close />\n </Icon>\n </IconButton>\n )\n}\n\nSnackbarItemClose.displayName = 'Snackbar.ItemClose'\n","import { cx } from 'class-variance-authority'\nimport type { ReactElement } from 'react'\n\nimport { Icon, type IconProps } from '../icon'\n\nexport type SnackbarItemIconProps = IconProps\n\nexport const SnackbarItemIcon = ({\n children,\n className,\n ...rest\n}: SnackbarItemIconProps): ReactElement => (\n <Icon\n size=\"md\"\n className={cx('mx-md', className)}\n style={{ gridArea: 'icon', ...rest.style }}\n {...rest}\n >\n {children}\n </Icon>\n)\n\nSnackbarItemIcon.displayName = 'Snackbar.ItemIcon'\n","/* eslint-disable complexity */\nimport { type RefObject, useEffect, useRef, useState } from 'react'\n\ninterface SwipeArgs<T> {\n swipeRef: RefObject<T | null>\n onSwipeStart?: ({ state, direction }: SwipeReturn) => void\n onSwipeMove?: ({ state, direction }: SwipeReturn) => void\n onSwipeCancel?: ({ state, direction }: SwipeReturn) => void\n onSwipeEnd?: ({ state, direction }: SwipeReturn) => void\n threshold?: number\n}\n\ninterface SwipeReturn {\n state?: 'start' | 'move' | 'cancel' | 'end'\n direction?: 'up' | 'down' | 'right' | 'left' | null\n}\n\nconst SWIPE_THRESHOLD = 75\n\nexport const useSwipe = <T extends HTMLElement>({\n swipeRef,\n onSwipeStart,\n onSwipeMove,\n onSwipeCancel,\n onSwipeEnd,\n threshold = 10,\n}: SwipeArgs<T>): SwipeReturn => {\n const [state, setState] = useState<SwipeReturn['state']>()\n\n const direction = useRef<SwipeReturn['direction']>(null)\n const origin = useRef<Record<'x' | 'y', number> | null>(null)\n const delta = useRef<Record<'x' | 'y', number> | null>(null)\n\n const handleSwipeStart = (evt: PointerEvent) => {\n origin.current = { x: evt.clientX, y: evt.clientY }\n\n /**\n * Prevents unwanted text selection in Safari browser (longpress)\n */\n document.addEventListener('selectstart', e => e.preventDefault())\n }\n\n const handleSwipeMove = (evt: PointerEvent) => {\n if (!origin.current) return\n\n const deltaX = Math.abs(evt.clientX - origin.current.x)\n const deltaY = Math.abs(evt.clientY - origin.current.y)\n\n let moveState: SwipeReturn['state']\n\n if (deltaX > deltaY && deltaX > threshold) {\n direction.current = evt.clientX > origin.current.x ? 'right' : 'left'\n } else if (deltaY > threshold) {\n direction.current = evt.clientY > origin.current.y ? 'down' : 'up'\n }\n\n /**\n * If no direction could be defined, then no move should be handled.\n * This is particularly true with trackpads working with MacOS/Windows.\n */\n if (!direction.current) return\n\n if (!delta.current) {\n moveState = 'start'\n delta.current = { x: deltaX, y: deltaY }\n onSwipeStart?.({ state: moveState, direction: direction.current })\n } else {\n moveState = 'move'\n delta.current = { x: deltaX, y: deltaY }\n ;(swipeRef.current as T).style.setProperty(\n '--swipe-position-x',\n `${deltaX > deltaY ? evt.clientX - origin.current.x : 0}px`\n )\n ;(swipeRef.current as T).style.setProperty(\n '--swipe-position-y',\n `${!(deltaX > deltaY) ? evt.clientY - origin.current.y : 0}px`\n )\n onSwipeMove?.({ state: moveState, direction: direction.current })\n }\n\n setState(moveState)\n }\n\n const handleSwipeEnd = () => {\n const proxyDelta = delta.current\n\n origin.current = null\n delta.current = null\n\n if (proxyDelta) {\n const { x: deltaX, y: deltaY } = proxyDelta\n\n let endState: SwipeReturn['state']\n\n if (deltaX > deltaY) {\n if (deltaX > SWIPE_THRESHOLD) {\n endState = 'end'\n onSwipeEnd?.({ state: endState, direction: direction.current })\n } else {\n endState = 'cancel'\n onSwipeCancel?.({ state: endState, direction: direction.current })\n }\n } else {\n if (deltaY > SWIPE_THRESHOLD) {\n endState = 'end'\n onSwipeEnd?.({ state: endState, direction: direction.current })\n } else {\n endState = 'cancel'\n onSwipeCancel?.({ state: endState, direction: direction.current })\n }\n }\n\n setState(endState)\n\n /**\n * Prevents unwanted text selection in Safari browser (longpress)\n */\n document.removeEventListener('selectstart', e => e.preventDefault())\n }\n }\n\n useEffect(() => {\n if (!swipeRef.current) return\n\n const swipeElement = swipeRef.current\n\n swipeElement.addEventListener('pointerdown', handleSwipeStart)\n document.addEventListener('pointermove', handleSwipeMove)\n document.addEventListener('pointerup', handleSwipeEnd)\n\n return () => {\n swipeElement.removeEventListener('pointerdown', handleSwipeStart)\n document.removeEventListener('pointermove', handleSwipeMove)\n document.removeEventListener('pointerup', handleSwipeEnd)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return {\n state,\n direction: direction.current,\n }\n}\n","/* eslint-disable max-lines-per-function */\n\nimport { useToast } from '@react-aria/toast'\nimport {\n Children,\n cloneElement,\n type ComponentPropsWithRef,\n type FC,\n isValidElement,\n type PropsWithChildren,\n type ReactElement,\n type ReactNode,\n useCallback,\n useRef,\n} from 'react'\n\nimport {\n snackbarItemVariant,\n snackbarItemVariantContent,\n type SnackbarItemVariantContentProps,\n type SnackbarItemVariantProps,\n} from './SnackbarItem.styles'\nimport { SnackbarItemAction, SnackbarItemActionProps } from './SnackbarItemAction'\nimport { SnackbarItemClose, SnackbarItemCloseProps } from './SnackbarItemClose'\nimport { useSnackbarItemContext } from './SnackbarItemContext'\nimport { SnackbarItemIcon, SnackbarItemIconProps } from './SnackbarItemIcon'\nimport { useSwipe } from './useSwipe'\n\nexport interface SnackbarItemValue extends SnackbarItemVariantProps {\n /**\n * Icon that will be prepended before snackbar message\n */\n icon?: ReactNode\n message: ReactNode\n /**\n * If `true` snackbar will display a close button\n * @default false\n */\n isClosable?: boolean\n /**\n * A label for the action button within the toast.\n */\n actionLabel?: string\n /**\n * Handler that is called when the action button is pressed.\n */\n onAction?: () => void\n /**\n * If `true` the action button will be displayed on a new line.\n * @default false\n */\n actionOnNewline?: boolean\n}\n\nexport interface SnackbarItemProps\n extends ComponentPropsWithRef<'div'>,\n SnackbarItemVariantProps,\n SnackbarItemVariantContentProps {\n /**\n * Defines a string value that labels the current element.\n */\n 'aria-label'?: string\n /**\n * Identifies the element (or elements) that labels the current element.\n */\n 'aria-labelledby'?: string\n /**\n * Identifies the element (or elements) that describes the object.\n */\n 'aria-describedby'?: string\n /**\n * Identifies the element (or elements) that provide a detailed, extended description for the object.\n */\n 'aria-details'?: string\n}\n\nexport const SnackbarItem = ({\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n design: designProp,\n intent: intentProp,\n actionOnNewline: actionOnNewlineProp,\n className,\n children,\n ref: forwardedRef,\n ...rest\n}: PropsWithChildren<SnackbarItemProps>) => {\n const innerRef = useRef(null)\n const ref = typeof forwardedRef !== 'function' ? forwardedRef || innerRef : innerRef\n\n const { toast, state } = useSnackbarItemContext()\n\n const { state: swipeState, direction: swipeDirection } = useSwipe({\n swipeRef: ref,\n onSwipeStart: state.pauseAll,\n onSwipeCancel: state.resumeAll,\n onSwipeEnd: ({ direction }) => {\n ;['left', 'right'].includes(`${direction}`) && state.close(toast.key)\n },\n })\n\n const { message, icon, isClosable, onAction, actionLabel } = toast.content\n const intent = intentProp ?? toast.content.intent\n const design = designProp ?? toast.content.design\n const actionOnNewline = actionOnNewlineProp ?? toast.content.actionOnNewline\n\n const ariaProps = {\n ariaLabel,\n ariaLabelledby,\n ariaDescribedby,\n ariaDetails,\n }\n\n const { toastProps, titleProps, closeButtonProps, contentProps } = useToast(\n { toast, ...ariaProps },\n state,\n ref\n )\n\n const findElement = useCallback(\n <P extends object>(elementDisplayName: string): ReactElement<P> | undefined => {\n const childrenArray = Children.toArray(children)\n\n const match = childrenArray\n .filter(isValidElement)\n .find(\n (child): child is ReactElement<P> =>\n !!(child.type as FC<P> & { displayName?: string }).displayName?.includes(\n elementDisplayName\n )\n )\n\n return match as ReactElement<P> | undefined\n },\n [children]\n )\n\n const iconFromChildren = findElement<SnackbarItemIconProps>('Snackbar.ItemIcon')\n const actionBtnFromChildren = findElement<SnackbarItemActionProps>('Snackbar.ItemAction')\n const closeBtnFromChildren = findElement<SnackbarItemCloseProps>('Snackbar.ItemClose')\n\n return (\n <div\n data-spark-component=\"snackbar-item\"\n className={snackbarItemVariant({ design, intent, className })}\n data-animation={toast.animation}\n {...(!(swipeState === 'cancel' && toast.animation === 'exiting') && {\n 'data-swipe': swipeState,\n 'data-swipe-direction': swipeDirection,\n })}\n {...(toast.animation === 'exiting' && {\n // Remove snackbar when the exiting animation completes\n onAnimationEnd: () => state.remove(toast.key),\n })}\n ref={ref}\n {...toastProps}\n {...rest}\n >\n <div className={snackbarItemVariantContent({ actionOnNewline })} {...contentProps}>\n {/* 1. ICON */}\n {renderSubComponent(iconFromChildren, icon ? SnackbarItemIcon : null, {\n children: icon,\n })}\n\n {/* 2. MESSAGE */}\n <p\n className=\"px-md py-lg text-body-2 row-span-3\"\n style={{ gridArea: 'message' }}\n {...titleProps}\n >\n {message}\n </p>\n\n {/* 3. ACTION BUTTON */}\n {renderSubComponent(\n actionBtnFromChildren,\n actionLabel && onAction ? SnackbarItemAction : null,\n { intent, design, onClick: onAction, children: actionLabel }\n )}\n\n {/* 4. CLOSE BUTTON */}\n {renderSubComponent(closeBtnFromChildren, isClosable ? SnackbarItemClose : null, {\n intent,\n design,\n /**\n * React Spectrum typing of aria-label is inaccurate, and aria-label value should never be undefined.\n * See https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/i18n/src/useLocalizedStringFormatter.ts#L40\n */\n 'aria-label': closeButtonProps['aria-label'] as string,\n })}\n </div>\n </div>\n )\n}\n\nSnackbarItem.displayName = 'Snackbar.Item'\n\n/**\n * Returns compound item if found in children prop.\n * If not fallbacks to default item, conditionned by addSnackbar options.\n */\nconst renderSubComponent = <P extends object>(\n childItem?: ReactElement<P>,\n defaultItem?: FC<P> | null,\n props?: P\n) => {\n if (childItem) {\n return cloneElement(childItem, { ...props, ...childItem.props })\n } else if (defaultItem) {\n const Item = defaultItem\n\n return <Item {...(props as P)} />\n } else {\n return null\n }\n}\n","import { cva, VariantProps } from 'class-variance-authority'\n\nexport const snackbarRegionVariant = cva(\n [\n 'fixed inset-x-lg z-toast group',\n 'outline-hidden pointer-events-none',\n 'grid grid-rows-1 grid-cols-1 gap-lg',\n ],\n {\n variants: {\n /**\n * Set snackbar item position\n * @default 'bottom'\n */\n position: {\n top: 'top-lg justify-items-center',\n 'top-right': 'top-lg justify-items-end',\n 'top-left': 'top-lg justify-items-start',\n bottom: 'bottom-lg justify-items-center',\n 'bottom-right': 'bottom-lg justify-items-end',\n 'bottom-left': 'bottom-lg justify-items-start',\n },\n },\n defaultVariants: {\n position: 'bottom',\n },\n }\n)\n\nexport type SnackbarRegionVariantProps = VariantProps<typeof snackbarRegionVariant>\n","import { type AriaToastRegionProps, useToastRegion } from '@react-aria/toast'\nimport { cloneElement, type ComponentPropsWithRef, type ReactElement, useRef } from 'react'\n\nimport { SnackbarItem, type SnackbarItemProps } from './SnackbarItem'\nimport { SnackbarItemContext, type SnackbarItemState } from './SnackbarItemContext'\nimport { snackbarRegionVariant, type SnackbarRegionVariantProps } from './SnackbarRegion.styles'\n\nexport interface SnackbarRegionProps\n extends ComponentPropsWithRef<'div'>,\n AriaToastRegionProps,\n SnackbarRegionVariantProps,\n Pick<SnackbarItemState, 'state'> {\n /**\n * An accessibility label for the snackbar region.\n * @default 'Notifications'\n */\n 'aria-label'?: string\n /**\n * Identifies the element (or elements) that labels the current element.\n */\n 'aria-labelledby'?: string\n /**\n * Identifies the element (or elements) that describes the object.\n */\n 'aria-describedby'?: string\n /**\n * Identifies the element (or elements) that provide a detailed, extended description for the object.\n */\n 'aria-details'?: string\n /**\n * The component/template used to display each snackbar from the queue\n * @default 'Snackbar.Item'\n */\n children?: ReactElement<SnackbarItemProps, typeof SnackbarItem>\n}\n\nexport const SnackbarRegion = ({\n children = <SnackbarItem />,\n state,\n position = 'bottom',\n className,\n ref: forwardedRef,\n ...rest\n}: SnackbarRegionProps): ReactElement => {\n const innerRef = useRef<HTMLDivElement>(null)\n const ref = forwardedRef && typeof forwardedRef !== 'function' ? forwardedRef : innerRef\n\n const { regionProps } = useToastRegion(rest, state, ref)\n\n return (\n <div\n {...regionProps}\n ref={ref}\n data-position={position}\n className={snackbarRegionVariant({ position, className })}\n >\n {state.visibleToasts.map(toast => (\n <SnackbarItemContext.Provider key={toast.key} value={{ toast, state }}>\n {cloneElement(children, { key: toast.key })}\n </SnackbarItemContext.Provider>\n ))}\n </div>\n )\n}\n","import { type RefObject, useCallback, useSyncExternalStore } from 'react'\n\ninterface UseSnackbarGlobalStoreArgs<T> {\n providers: Set<T>\n subscriptions: Set<() => void>\n}\n\ninterface UseSnackbarGlobalStoreReturn<T> {\n provider: T\n addProvider: (ref: T) => void\n deleteProvider: (ref: T) => void\n}\n\n/**\n * This hook is a basic abstraction of useSyncExternalStore hook which allows us\n * to consume data from an external data store.\n *\n * Cf. https://react.dev/reference/react/useSyncExternalStore#subscribing-to-an-external-store\n */\n\nexport const useSnackbarGlobalStore = <T = RefObject<HTMLDivElement | null>>({\n providers,\n subscriptions,\n}: UseSnackbarGlobalStoreArgs<T>): UseSnackbarGlobalStoreReturn<T> => {\n const subscribe = useCallback(\n (listener: () => void) => {\n subscriptions.add(listener)\n\n return () => subscriptions.delete(listener)\n },\n [subscriptions]\n )\n\n const getLastSnackbarProvider = useCallback(() => [...providers].reverse()[0] as T, [providers])\n\n const addProvider = useCallback(\n (provider: T) => {\n providers.add(provider)\n\n for (const subscribeFn of subscriptions) {\n subscribeFn()\n }\n },\n [providers, subscriptions]\n )\n\n const deleteProvider = useCallback(\n (provider: T) => {\n providers.delete(provider)\n\n for (const subscribeFn of subscriptions) {\n subscribeFn()\n }\n },\n [providers, subscriptions]\n )\n\n const provider = useSyncExternalStore(subscribe, getLastSnackbarProvider, getLastSnackbarProvider)\n\n return {\n provider,\n addProvider,\n deleteProvider,\n }\n}\n","import {\n type ToastOptions as SnackBarItemOptions,\n ToastQueue,\n useToastQueue,\n} from '@react-stately/toast'\nimport { type ReactElement, Ref, type RefObject, useEffect, useRef } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { type SnackbarItemValue } from './SnackbarItem'\nimport { SnackbarRegion, type SnackbarRegionProps } from './SnackbarRegion'\nimport { useSnackbarGlobalStore } from './useSnackbarGlobalStore'\n\n/**\n * We define here a global queue thanks to dedicated util from React Spectrum.\n * It is based on React `useSyncExternalStore` and allows us to consume data from\n * an external data store, and thus preventing use of React context that could\n * lead to unwanted rerenderings. It also simplifies initial implementation.\n */\nlet GLOBAL_SNACKBAR_QUEUE: ToastQueue<SnackbarItemValue> | null = null\n\nconst getGlobalSnackBarQueue = () => {\n if (!GLOBAL_SNACKBAR_QUEUE) {\n GLOBAL_SNACKBAR_QUEUE = new ToastQueue({\n maxVisibleToasts: 1,\n hasExitAnimation: true,\n })\n }\n\n return GLOBAL_SNACKBAR_QUEUE\n}\n\nexport const clearSnackbarQueue = () => {\n GLOBAL_SNACKBAR_QUEUE = null\n}\n\n/**\n * We define a global store to keep track of all providers instances, to ensure\n * we always have a single Snackbar container.\n */\nconst GLOBAL_SNACKBAR_STORE = {\n providers: new Set<RefObject<HTMLDivElement | null>>(),\n subscriptions: new Set<() => void>(),\n}\n\nexport type SnackbarProps = Omit<SnackbarRegionProps, 'state'> & {\n ref?: Ref<HTMLDivElement>\n}\n\nexport const Snackbar = ({ ref: forwardedRef, ...props }: SnackbarProps): ReactElement | null => {\n const ref = useRef<HTMLDivElement>(null)\n\n const state = useToastQueue(getGlobalSnackBarQueue())\n\n const { provider, addProvider, deleteProvider } = useSnackbarGlobalStore(GLOBAL_SNACKBAR_STORE)\n\n useEffect(() => {\n addProvider(ref)\n\n return () => {\n for (const toast of getGlobalSnackBarQueue().visibleToasts) {\n toast.animation = undefined\n }\n\n deleteProvider(ref)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return ref === provider && state.visibleToasts.length > 0\n ? createPortal(<SnackbarRegion ref={forwardedRef} state={state} {...props} />, document.body)\n : null\n}\n\nSnackbar.displayName = 'Snackbar'\n\nexport interface AddSnackbarArgs extends SnackbarItemValue, Omit<SnackBarItemOptions, 'timeout'> {\n /**\n * Handler that is called when the snackbar is closed, either by the user\n * or after a timeout.\n */\n onClose?: () => void\n /**\n * A timeout to automatically close the snackbar after, in milliseconds.\n * @default 5000\n */\n timeout?: number | null\n /**\n * The priority of the snackbar relative to other snackbars. Larger numbers indicate higher priority.\n */\n priority?: number\n}\n\nexport const addSnackbar = ({ onClose, timeout = 5000, priority, ...content }: AddSnackbarArgs) => {\n const queue = getGlobalSnackBarQueue()\n\n queue.add(content, {\n onClose,\n timeout: timeout && !content.onAction ? Math.max(timeout, 5000) : undefined,\n priority,\n })\n}\n","import {\n addSnackbar,\n type AddSnackbarArgs,\n clearSnackbarQueue,\n Snackbar as Root,\n type SnackbarProps,\n} from './Snackbar'\nimport { SnackbarItem as Item, type SnackbarItemProps } from './SnackbarItem'\nimport {\n SnackbarItemAction as ItemAction,\n type SnackbarItemActionProps,\n} from './SnackbarItemAction'\nimport { SnackbarItemClose as ItemClose, type SnackbarItemCloseProps } from './SnackbarItemClose'\nimport { SnackbarItemIcon as ItemIcon, type SnackbarItemIconProps } from './SnackbarItemIcon'\n\nexport const Snackbar: typeof Root & {\n Item: typeof Item\n ItemAction: typeof ItemAction\n ItemClose: typeof ItemClose\n ItemIcon: typeof ItemIcon\n} = Object.assign(Root, {\n Item,\n ItemAction,\n ItemClose,\n ItemIcon,\n})\n\nSnackbar.displayName = 'Snackbar'\nItem.displayName = 'Snackbar.Item'\nItemAction.displayName = 'Snackbar.ItemAction'\nItemClose.displayName = 'Snackbar.ItemClose'\nItemIcon.displayName = 'Snackbar.ItemIcon'\n\nexport type {\n SnackbarProps,\n SnackbarItemProps,\n SnackbarItemActionProps,\n SnackbarItemCloseProps,\n SnackbarItemIconProps,\n AddSnackbarArgs,\n}\nexport { addSnackbar, clearSnackbarQueue }\n"],"names":["filledVariants","tintedVariants","snackbarItemVariant","cva","snackbarItemVariantContent","SnackbarItemContext","createContext","useSnackbarItemContext","useContext","SnackbarItemAction","designProp","intentProp","onClick","children","className","ref","rest","toast","state","intent","design","jsx","Button","e","cx","SnackbarItemClose","ariaLabel","IconButton","Icon","Close","SnackbarItemIcon","SWIPE_THRESHOLD","useSwipe","swipeRef","onSwipeStart","onSwipeMove","onSwipeCancel","onSwipeEnd","threshold","setState","useState","direction","useRef","origin","delta","handleSwipeStart","evt","handleSwipeMove","deltaX","deltaY","moveState","handleSwipeEnd","proxyDelta","endState","useEffect","swipeElement","SnackbarItem","ariaLabelledby","ariaDescribedby","ariaDetails","actionOnNewlineProp","forwardedRef","innerRef","swipeState","swipeDirection","message","icon","isClosable","onAction","actionLabel","actionOnNewline","ariaProps","toastProps","titleProps","closeButtonProps","contentProps","useToast","findElement","useCallback","elementDisplayName","Children","isValidElement","child","iconFromChildren","actionBtnFromChildren","closeBtnFromChildren","jsxs","renderSubComponent","childItem","defaultItem","props","cloneElement","Item","snackbarRegionVariant","SnackbarRegion","position","regionProps","useToastRegion","useSnackbarGlobalStore","providers","subscriptions","subscribe","listener","getLastSnackbarProvider","addProvider","provider","subscribeFn","deleteProvider","useSyncExternalStore","GLOBAL_SNACKBAR_QUEUE","getGlobalSnackBarQueue","ToastQueue","clearSnackbarQueue","GLOBAL_SNACKBAR_STORE","Snackbar","useToastQueue","createPortal","addSnackbar","onClose","timeout","priority","content","Root","ItemAction","ItemClose","ItemIcon"],"mappings":"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"}
|