@servicetitan/anvil2 1.27.1 → 1.27.2
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/CHANGELOG.md +15 -0
- package/dist/{Alert-BmiMaHHl-C4TKrNF3.js → Alert-CRv6t4jJ-g1uOIz5i.js} +3 -3
- package/dist/{Alert-BmiMaHHl-C4TKrNF3.js.map → Alert-CRv6t4jJ-g1uOIz5i.js.map} +1 -1
- package/dist/{Alert-DhJoO6si.js → Alert-DPNaYO2Q.js} +2 -2
- package/dist/{Alert-DhJoO6si.js.map → Alert-DPNaYO2Q.js.map} +1 -1
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-DDIsOYU0.js → Announcement-CJmTMhbr.js} +2 -2
- package/dist/{Announcement-DDIsOYU0.js.map → Announcement-CJmTMhbr.js.map} +1 -1
- package/dist/Announcement.js +1 -1
- package/dist/{Button-B2ruRsLb.js → Button-3sLNiaQN.js} +2 -2
- package/dist/{Button-B2ruRsLb.js.map → Button-3sLNiaQN.js.map} +1 -1
- package/dist/{Button-BHwg8Uip-DPU6y8-l.js → Button-Ce--YZ9L-Csh0Zzuf.js} +21 -21
- package/dist/{Button-BHwg8Uip-DPU6y8-l.js.map → Button-Ce--YZ9L-Csh0Zzuf.js.map} +1 -1
- package/dist/{Button-BHwg8Uip.css → Button-Ce--YZ9L.css} +47 -45
- package/dist/Button.js +1 -1
- package/dist/{ButtonCompound-DQ9LGk2K.js → ButtonCompound-CGci3MbQ.js} +2 -2
- package/dist/{ButtonCompound-DQ9LGk2K.js.map → ButtonCompound-CGci3MbQ.js.map} +1 -1
- package/dist/ButtonCompound.js +1 -1
- package/dist/{ButtonLink-CjxVUldA.js → ButtonLink-DcFTS_ob.js} +2 -2
- package/dist/{ButtonLink-CjxVUldA.js.map → ButtonLink-DcFTS_ob.js.map} +1 -1
- package/dist/ButtonLink.js +1 -1
- package/dist/{ButtonToggle-9HqVrCoP-DsNu__N0.js → ButtonToggle-BYwKq0iP-B4gHrxUt.js} +2 -2
- package/dist/{ButtonToggle-9HqVrCoP-DsNu__N0.js.map → ButtonToggle-BYwKq0iP-B4gHrxUt.js.map} +1 -1
- package/dist/{ButtonToggle-DYKdmH_u.js → ButtonToggle-CEHlQT_K.js} +2 -2
- package/dist/{ButtonToggle-DYKdmH_u.js.map → ButtonToggle-CEHlQT_K.js.map} +1 -1
- package/dist/ButtonToggle.js +1 -1
- package/dist/{Calendar-Z_nAtpoV-B0uWpOrw.js → Calendar-9iYMS0Iw-D_XWYjOE.js} +3 -3
- package/dist/{Calendar-Z_nAtpoV-B0uWpOrw.js.map → Calendar-9iYMS0Iw-D_XWYjOE.js.map} +1 -1
- package/dist/{Calendar-Dg_yoWxL.js → Calendar-CFsWEulW.js} +2 -2
- package/dist/{Calendar-Dg_yoWxL.js.map → Calendar-CFsWEulW.js.map} +1 -1
- package/dist/Calendar.js +1 -1
- package/dist/{Combobox-BRZIYucw.js → Combobox-DnTI2I3L.js} +4 -4
- package/dist/{Combobox-BRZIYucw.js.map → Combobox-DnTI2I3L.js.map} +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DateField-DHIXyi2_.js → DateField-DocC46Mw.js} +5 -5
- package/dist/{DateField-DHIXyi2_.js.map → DateField-DocC46Mw.js.map} +1 -1
- package/dist/DateField.js +1 -1
- package/dist/{Dialog-wuBdQ785.js → Dialog-DQ9QXB5D.js} +2 -2
- package/dist/{Dialog-wuBdQ785.js.map → Dialog-DQ9QXB5D.js.map} +1 -1
- package/dist/{Dialog-DDsVwnZZ-s9GGnSax.js → Dialog-Kh2tcVWz-DqcNnouf.js} +4 -4
- package/dist/{Dialog-DDsVwnZZ-s9GGnSax.js.map → Dialog-Kh2tcVWz-DqcNnouf.js.map} +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/{Drawer-BX7LCwCa.js → Drawer-C6fpnRDX.js} +3 -3
- package/dist/{Drawer-BX7LCwCa.js.map → Drawer-C6fpnRDX.js.map} +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/{EditCard-CrlcI07q.js → EditCard-Nwz2BjY0.js} +2 -2
- package/dist/{EditCard-CrlcI07q.js.map → EditCard-Nwz2BjY0.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/{Grid-kKviwk2y.js → Grid-DaeLjn0g.js} +35 -3
- package/dist/Grid-DaeLjn0g.js.map +1 -0
- package/dist/Grid.js +1 -1
- package/dist/{InputMask-Cifzg7Ee.js → InputMask-Ceh574pv.js} +2 -2
- package/dist/{InputMask-Cifzg7Ee.js.map → InputMask-Ceh574pv.js.map} +1 -1
- package/dist/{InputMask-CiAjFhsc-Bnbf_ZQq.js → InputMask-DQXw5qvG-BH4P-Woc.js} +2 -2
- package/dist/{InputMask-CiAjFhsc-Bnbf_ZQq.js.map → InputMask-DQXw5qvG-BH4P-Woc.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{Label-Do6kKzVr-BvIRT-vF.js → Label-DWF2pXeG-1BhzVgZG.js} +3 -3
- package/dist/{Label-Do6kKzVr-BvIRT-vF.js.map → Label-DWF2pXeG-1BhzVgZG.js.map} +1 -1
- package/dist/{Menu-COlGXBmd.js → Menu-D8SDm9s9.js} +3 -3
- package/dist/{Menu-COlGXBmd.js.map → Menu-D8SDm9s9.js.map} +1 -1
- package/dist/Menu.js +1 -1
- package/dist/{Page-C5GjTBZh.js → Page-BGkLs3bR.js} +8 -9
- package/dist/Page-BGkLs3bR.js.map +1 -0
- package/dist/Page.js +1 -1
- package/dist/{Popover-DAxtbeRA.js → Popover-DzEc_Muv.js} +2 -2
- package/dist/{Popover-DAxtbeRA.js.map → Popover-DzEc_Muv.js.map} +1 -1
- package/dist/{Popover-tcXHJePS-CMjz_uId.js → Popover-QKZtjN4_-CETYlWwq.js} +85 -32
- package/dist/Popover-QKZtjN4_-CETYlWwq.js.map +1 -0
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-aP7gOxee.js → ProgressBar-IItIByYc.js} +2 -2
- package/dist/{ProgressBar-aP7gOxee.js.map → ProgressBar-IItIByYc.js.map} +1 -1
- package/dist/{ProgressBar-BrXijLda-BDwH4WrE.js → ProgressBar-cKtBso7j-3CDyBaAN.js} +3 -3
- package/dist/{ProgressBar-BrXijLda-BDwH4WrE.js.map → ProgressBar-cKtBso7j-3CDyBaAN.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Stepper-CAuH-6cR.js → Stepper-c7C22LVq.js} +2 -2
- package/dist/{Stepper-CAuH-6cR.js.map → Stepper-c7C22LVq.js.map} +1 -1
- package/dist/Stepper.js +1 -1
- package/dist/{TextField-C614D1ZV-DeVOfPoS.js → TextField-D53XNiCi-C6_A5VRq.js} +2 -2
- package/dist/{TextField-C614D1ZV-DeVOfPoS.js.map → TextField-D53XNiCi-C6_A5VRq.js.map} +1 -1
- package/dist/{TextField-BWHsVZiC.js → TextField-s92xHzb3.js} +2 -2
- package/dist/{TextField-BWHsVZiC.js.map → TextField-s92xHzb3.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-Dj47MRiF.js → Textarea-B61wNIFr.js} +2 -2
- package/dist/{Textarea-Dj47MRiF.js.map → Textarea-B61wNIFr.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/Toast.js +1 -1
- package/dist/{Toolbar-BAvsl6fK.js → Toolbar-Cge6Nznj.js} +24 -15
- package/dist/Toolbar-Cge6Nznj.js.map +1 -0
- package/dist/Toolbar.css +18 -18
- package/dist/Toolbar.js +1 -1
- package/dist/{Tooltip-D38gdiV_.js → Tooltip-89FIvMG0.js} +2 -2
- package/dist/{Tooltip-D38gdiV_.js.map → Tooltip-89FIvMG0.js.map} +1 -1
- package/dist/{Tooltip-DVBEjajY-DN86i_oi.js → Tooltip-DgM8NSPm-CRIQbuTm.js} +3 -3
- package/dist/{Tooltip-DVBEjajY-DN86i_oi.js.map → Tooltip-DgM8NSPm-CRIQbuTm.js.map} +1 -1
- package/dist/Tooltip.js +1 -1
- package/dist/components/Grid/Grid.d.ts +5 -2
- package/dist/index.js +24 -24
- package/dist/more_vert-C_lJSyxt.js +6 -0
- package/dist/more_vert-C_lJSyxt.js.map +1 -0
- package/dist/{toast-DMKrL2Ew.js → toast-CHld8RKY.js} +4 -4
- package/dist/{toast-DMKrL2Ew.js.map → toast-CHld8RKY.js.map} +1 -1
- package/dist/{useKeyboardFocusables-C3hMtJK_-Cz39LRmZ.js → useKeyboardFocusables-CwVMAe5C-CIHqixNA.js} +174 -12
- package/dist/{useKeyboardFocusables-C3hMtJK_-Cz39LRmZ.js.map → useKeyboardFocusables-CwVMAe5C-CIHqixNA.js.map} +1 -1
- package/package.json +2 -2
- package/dist/Grid-kKviwk2y.js.map +0 -1
- package/dist/Page-C5GjTBZh.js.map +0 -1
- package/dist/Popover-tcXHJePS-CMjz_uId.js.map +0 -1
- package/dist/Toolbar-BAvsl6fK.js.map +0 -1
- /package/dist/{Alert-BmiMaHHl.css → Alert-CRv6t4jJ.css} +0 -0
- /package/dist/{Calendar-Z_nAtpoV.css → Calendar-9iYMS0Iw.css} +0 -0
- /package/dist/{Dialog-DDsVwnZZ.css → Dialog-Kh2tcVWz.css} +0 -0
- /package/dist/{Label-Do6kKzVr.css → Label-DWF2pXeG.css} +0 -0
- /package/dist/{Popover-tcXHJePS.css → Popover-QKZtjN4_.css} +0 -0
- /package/dist/{ProgressBar-BrXijLda.css → ProgressBar-cKtBso7j.css} +0 -0
- /package/dist/{Tooltip-DVBEjajY.css → Tooltip-DgM8NSPm.css} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast-DMKrL2Ew.js","sources":["../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/stringify.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/native.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/v4.js","../../hammer-react/dist/Toaster-CJWQiHPs.js","../src/components/Toast/Toaster.tsx","../src/components/Toast/toast.ts"],"sourcesContent":["import validate from './validate.js';\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n //\n // Note to future-self: No, you can't remove the `toLowerCase()` call.\n // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n var uuid = unsafeStringify(arr, offset);\n // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n return getRandomValues(rnds8);\n}","var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;","import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport cx from 'classnames';\nimport { createContext, useState, useEffect, useCallback, useMemo, useContext, forwardRef, useRef } from 'react';\nimport { B as Button } from './Button-BHwg8Uip.js';\nimport { v4 } from 'uuid';\nimport { A as Alert } from './Alert-BmiMaHHl.js';\nimport { P as ProgressBar } from './ProgressBar-BrXijLda.js';\nimport { u as useSwipe } from './useSwipe-DIUHs7T5.js';\nimport { S as SrOnly } from './SrOnly-BXm1DGl3.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\n\nimport './Toaster.css';const toaster = \"_toaster_nxs96_3\";\nconst hidden = \"_hidden_nxs96_65\";\nconst stacked = \"_stacked_nxs96_72\";\nconst open = \"_open_nxs96_164\";\nconst close = \"_close_nxs96_165\";\nconst slideIn = \"_slideIn_nxs96_1\";\nconst slideOut = \"_slideOut_nxs96_1\";\nconst styles = {\n\ttoaster: toaster,\n\t\"toast-wrapper\": \"_toast-wrapper_nxs96_28\",\n\t\"toast-alert\": \"_toast-alert_nxs96_42\",\n\t\"alert-action\": \"_alert-action_nxs96_47\",\n\t\"message-container\": \"_message-container_nxs96_53\",\n\t\"show-extra-toast\": \"_show-extra-toast_nxs96_62\",\n\thidden: hidden,\n\tstacked: stacked,\n\t\"stack-one\": \"_stack-one_nxs96_75\",\n\t\"stack-two\": \"_stack-two_nxs96_75\",\n\t\"stacked-show-extra\": \"_stacked-show-extra_nxs96_91\",\n\t\"stacked-extra\": \"_stacked-extra_nxs96_105\",\n\t\"show-more-button-container\": \"_show-more-button-container_nxs96_118\",\n\t\"show-collapse-button-container\": \"_show-collapse-button-container_nxs96_119\",\n\t\"show-collapse-button\": \"_show-collapse-button_nxs96_119\",\n\topen: open,\n\tclose: close,\n\tslideIn: slideIn,\n\tslideOut: slideOut\n};\n\nconst ToastProviderContext = createContext({\n toasts: [],\n setToasts: () => [],\n toastHeights: [],\n setToastHeights: () => [],\n getToasterHeight: () => 0,\n toastsBeforeStack: 3,\n setToastsBeforeStack: () => [],\n extraToastsVisible: false,\n setExtraToastsVisible: () => []\n});\nconst ToastProvider = (children) => {\n const [toasts, setToasts] = useState([]);\n const [toastHeights, setToastHeights] = useState([]);\n const [toastsBeforeStack, setToastsBeforeStack] = useState(3);\n const [extraToastsVisible, setExtraToastsVisible] = useState(false);\n const removeDuplicateToasts = (toasts2) => {\n const toastIds = /* @__PURE__ */ new Set();\n const uniqueToasts = toasts2.filter((toast) => {\n if (toastIds.has(toast.id)) {\n console.error(\n `Encountered toast with duplicate id ${toast.id}. Each toast id needs to be unique.`\n );\n return false;\n } else {\n toastIds.add(toast.id);\n return true;\n }\n });\n return uniqueToasts;\n };\n useEffect(() => {\n const uniqueToasts = removeDuplicateToasts(toasts);\n if (toasts.length !== uniqueToasts.length) {\n setToasts(uniqueToasts);\n }\n }, [toasts]);\n const getToasterHeight = useCallback(\n (index) => {\n const toastHeightsOnly = toastHeights.filter((t, i) => {\n return index !== undefined ? i > index : true;\n }).map((t) => t.height);\n if (toastHeightsOnly.length > 0) {\n if (extraToastsVisible) {\n return toastHeightsOnly.reduce((totalHeight, currentHeight) => {\n return totalHeight + currentHeight;\n });\n }\n return toastHeightsOnly.filter((t, i) => i >= toastHeightsOnly.length - toastsBeforeStack).reduce((totalHeight, currentHeight) => {\n return totalHeight + currentHeight;\n });\n }\n return 0;\n },\n [toastHeights, extraToastsVisible, toastsBeforeStack]\n );\n const value = useMemo(\n () => ({\n toasts,\n setToasts,\n toastHeights,\n setToastHeights,\n getToasterHeight,\n toastsBeforeStack,\n setToastsBeforeStack,\n extraToastsVisible,\n setExtraToastsVisible\n }),\n [\n extraToastsVisible,\n getToasterHeight,\n toastHeights,\n toasts,\n toastsBeforeStack\n ]\n );\n return /* @__PURE__ */ jsx(ToastProviderContext.Provider, { value, ...children });\n};\nconst useToasts = () => {\n const context = useContext(ToastProviderContext);\n if (context == null) {\n throw new Error(\"useToasts must be wrapped in <ToastProvider />\");\n }\n return context;\n};\n\nconst toast = () => {\n const toastMethods = [\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"promise\",\n \"update\",\n \"dismiss\"\n ];\n console.error(\n \"Please use one of the following toast methods:\\n\",\n ...toastMethods.map((m) => `\ttoast.${m}()\n`)\n );\n};\nconst TOAST_EVENT_NAME = \"hammer-toast\";\nconst TOAST_TYPES = [\"info\", \"success\", \"warning\", \"danger\"];\nconst methods = {};\nTOAST_TYPES.forEach((type) => {\n methods[type] = (props) => {\n const uniqueId = v4();\n const ToastAddEvent = new CustomEvent(TOAST_EVENT_NAME, {\n composed: true,\n detail: {\n id: uniqueId,\n eventType: \"add\",\n status: type,\n createdAt: Date.now(),\n ...props\n }\n });\n dispatchEvent(ToastAddEvent);\n return uniqueId;\n };\n});\nconst update = (id, props) => {\n const ToastEvent = new CustomEvent(\n TOAST_EVENT_NAME,\n {\n composed: true,\n detail: {\n eventType: \"update\",\n id,\n ...props\n }\n }\n );\n dispatchEvent(ToastEvent);\n};\nconst dismiss = (id) => {\n const ToastEvent = new CustomEvent(\n TOAST_EVENT_NAME,\n {\n composed: true,\n detail: {\n eventType: \"dismiss\",\n id\n }\n }\n );\n dispatchEvent(ToastEvent);\n};\nconst promise = async (promise2, toastConfig) => {\n const { onClose, ...loadingToastConfig } = toastConfig.loading;\n let closedWhileLoading = false;\n const onCloseWhileLoading = (e) => {\n toastConfig.loading.onClose?.(e);\n closedWhileLoading = true;\n };\n const id = toast.info({\n ...loadingToastConfig,\n onClose: onCloseWhileLoading,\n duration: false\n });\n await Promise.resolve(promise2).then((res) => {\n if (closedWhileLoading) {\n toast.success({\n ...toastConfig.success(res)\n });\n } else {\n toast.update(id, {\n ...toastConfig.success(res),\n status: \"success\"\n });\n }\n }).catch((err) => {\n if (closedWhileLoading) {\n toast.danger({\n ...toastConfig.error(err)\n });\n } else {\n toast.update(id, {\n ...toastConfig.error(err),\n status: \"danger\"\n });\n }\n });\n return id;\n};\ntoast.info = methods.info;\ntoast.success = methods.success;\ntoast.warning = methods.warning;\ntoast.danger = methods.danger;\ntoast.update = update;\ntoast.dismiss = dismiss;\ntoast.promise = promise;\n\nconst useShowMoreButtonPositionStyles = () => {\n const { toastHeights, toastsBeforeStack } = useToasts();\n const totalToasts = toastHeights.length;\n const extraSpace = totalToasts > toastsBeforeStack + 1 ? \"2rem\" : \"1rem\";\n const top = useMemo(() => {\n if (totalToasts > toastsBeforeStack) {\n return toastHeights.filter((t, i) => i >= totalToasts - toastsBeforeStack).map((t) => t.height).reduce((t, c) => t + c);\n }\n return \"unset\";\n }, [toastHeights, toastsBeforeStack]);\n return {\n // -0.75px fixes hover issue when 1rem != 16px due to pixel rounding\n top: `calc(${top}px + ${extraSpace} - 0.75px)`,\n position: \"absolute\",\n display: totalToasts > toastsBeforeStack ? undefined : \"none\"\n };\n};\nconst STACKED_TOAST_HEIGHT = \"5.3125rem\";\nconst STACKED_TOAST_PEEK_HEIGHT = \"1rem\";\nconst TOAST_GAP = `${24 / 16}rem`;\nconst useToastPositionStyles = (index) => {\n const {\n toasts,\n toastHeights,\n getToasterHeight,\n toastsBeforeStack,\n extraToastsVisible\n } = useToasts();\n const toastCount = toasts.length;\n const toasterHeight = getToasterHeight(index);\n return useMemo(() => {\n if (index === toastCount - 1) {\n return {\n top: TOAST_GAP,\n zIndex: 3\n };\n } else if (\n // all toasts when show more is clicked\n extraToastsVisible || // or visible toasts when stacked\n !extraToastsVisible && (toastCount <= toastsBeforeStack || toastCount > toastsBeforeStack && index >= toastCount - toastsBeforeStack)\n ) {\n return {\n top: `calc(${toasterHeight}px + ${TOAST_GAP})`\n };\n } else {\n if (toastCount > toastsBeforeStack) {\n if (index === toastCount - toastsBeforeStack - 1) {\n return {\n top: `calc(${toasterHeight || 0}px - ${STACKED_TOAST_HEIGHT} +\n ${STACKED_TOAST_PEEK_HEIGHT})`,\n zIndex: 1\n };\n } else if (index <= toastCount - toastsBeforeStack - 2) {\n return {\n top: `calc(${toasterHeight || 0}px -\n ${STACKED_TOAST_HEIGHT} \n + ${STACKED_TOAST_PEEK_HEIGHT} * 2)`,\n zIndex: 0\n };\n }\n }\n }\n return undefined;\n }, [toastHeights]);\n};\nconst addOrUpdateToastHeight = (toastId, toastHeight, setToastHeights) => {\n setToastHeights((prev) => {\n if (prev.find((t) => t.id === toastId)) {\n return prev.map((t) => {\n if (t.id === toastId) {\n return { ...t, height: toastHeight };\n }\n return t;\n });\n }\n return [\n ...prev,\n {\n id: toastId,\n height: toastHeight\n }\n ];\n });\n};\nconst setToastsAfterClose = (setToasts, setToastHeights, id) => {\n setToasts((prev) => id ? prev.filter((t) => t.id !== id) : []);\n setToastHeights((prev) => id ? prev.filter((t) => t.id !== id) : []);\n};\nconst closeToast = (setToasts, setToastHeights, closingToastClassName, id) => {\n const prefersReducedMotion = globalThis.matchMedia(\n `(prefers-reduced-motion: reduce)`\n ).matches;\n if (prefersReducedMotion) {\n setToastsAfterClose(setToasts, setToastHeights, id);\n } else {\n setToasts(\n (prev) => prev.map((t) => {\n if (!id || t.id === id) {\n return {\n ...t,\n toastClassName: closingToastClassName\n };\n }\n return t;\n })\n );\n setTimeout(() => {\n setToastsAfterClose(setToasts, setToastHeights, id);\n }, 290);\n }\n};\nconst useCloseToast = (closingToastClassName) => {\n const { setToasts, setToastHeights } = useToasts();\n return (id) => {\n closeToast(setToasts, setToastHeights, closingToastClassName, id);\n };\n};\n\nconst Toast = forwardRef(\n ({\n actions,\n containerClassName,\n createdAt,\n duration,\n index = 0,\n isBelowStackIndex,\n isStacked,\n message,\n onClose,\n pausedStatus,\n progress,\n toastClassName,\n ...alertProps\n }, ref) => {\n const { setToastHeights, extraToastsVisible } = useToasts();\n const closeToast = useCloseToast(styles.close);\n const toastPositionStyles = useToastPositionStyles(index);\n const toastWrapperRef = useRef(null);\n const timerRef = useRef();\n const pausedAtRef = useRef(0);\n const createdAtRef = useRef(createdAt ?? 0);\n const hasBeenStackedRef = useRef(false);\n const [transitionClass, setTransitionClass] = useState(\n styles.hidden\n );\n const [toastOpened, setToastOpened] = useState(false);\n const alertClasses = cx(\n styles[\"toast-alert\"],\n toastClassName,\n transitionClass\n );\n useEffect(() => {\n if (!toastOpened) {\n setTransitionClass(styles.open);\n setToastOpened(true);\n }\n }, []);\n useEffect(() => {\n if (toastWrapperRef.current && toastOpened && !isStacked) {\n if (isBelowStackIndex && extraToastsVisible) {\n setTimeout(() => {\n const height = toastWrapperRef.current?.clientHeight;\n addOrUpdateToastHeight(alertProps.id, height ?? 0, setToastHeights);\n }, 300);\n } else {\n const height = toastWrapperRef.current.clientHeight;\n addOrUpdateToastHeight(alertProps.id, height, setToastHeights);\n }\n }\n }, [\n toastOpened,\n isStacked,\n extraToastsVisible,\n // toast updates\n actions,\n message,\n alertProps.title\n ]);\n useEffect(() => {\n if (duration && !isStacked) {\n if (!pausedStatus) {\n timerRef.current = setTimeout(\n () => closeToast(alertProps.id),\n duration\n );\n return () => clearTimeout(timerRef.current);\n } else if (typeof pausedStatus === \"number\") {\n clearTimeout(timerRef.current);\n pausedAtRef.current = pausedStatus;\n } else if (pausedStatus === \"resumed\") {\n const remainingDuration = (\n // rendering new toast after initial hover\n pausedAtRef.current === 0 ? duration : (\n // resume timer after valid hover\n duration + (createdAtRef.current || 0) - pausedAtRef.current\n )\n );\n timerRef.current = setTimeout(() => {\n closeToast(alertProps.id);\n pausedAtRef.current = 0;\n }, remainingDuration);\n return () => clearTimeout(timerRef.current);\n }\n }\n }, [createdAtRef.current, duration, pausedStatus]);\n useEffect(() => {\n if (duration) {\n if (isStacked) {\n clearTimeout(timerRef.current);\n hasBeenStackedRef.current = true;\n } else if (!isStacked && hasBeenStackedRef.current && !(typeof pausedStatus === \"number\")) {\n createdAtRef.current = Date.now();\n timerRef.current = setTimeout(() => {\n closeToast(alertProps.id);\n hasBeenStackedRef.current = false;\n }, duration);\n return () => clearTimeout(timerRef.current);\n }\n }\n }, [isStacked, duration]);\n const onSwipe = (dir) => {\n if (dir === \"right\") {\n toast.dismiss(alertProps.id);\n return;\n }\n };\n const { direction, ...touchProps } = useSwipe(onSwipe);\n const alertCloseProps = isStacked && !extraToastsVisible ? {} : {\n onClose\n };\n if (duration !== false && actions) {\n throw new Error(\n \"If actions are provided to toast message, duration must be false.\"\n );\n }\n const hasMessage = message && message !== \"\";\n const hasProgress = progress != null;\n const hasActions = actions && duration === false;\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n \"data-anv\": \"toast\",\n className: containerClassName,\n style: toastPositionStyles ?? { top: \"1.5rem\" },\n ref: toastWrapperRef,\n onAnimationStart: () => setToastOpened(true),\n role: isStacked ? \"presentation\" : undefined,\n ...touchProps,\n children: /* @__PURE__ */ jsx(\n Alert,\n {\n className: alertClasses,\n ...alertProps,\n ...alertCloseProps,\n ref,\n tabIndex: isStacked && !extraToastsVisible ? -1 : 0,\n children: hasMessage || hasProgress || hasActions ? /* @__PURE__ */ jsxs(Fragment, { children: [\n hasMessage ? /* @__PURE__ */ jsx(\n \"div\",\n {\n className: styles[\"message-container\"],\n id: `toast-message-${alertProps.id}`,\n children: message\n }\n ) : null,\n hasProgress ? /* @__PURE__ */ jsx(Fragment, { children: progress === \"indeterminate\" ? /* @__PURE__ */ jsx(\n ProgressBar,\n {\n \"aria-labelledby\": `toast-message-${alertProps.id}`,\n indeterminate: true\n }\n ) : /* @__PURE__ */ jsx(\n ProgressBar,\n {\n \"aria-labelledby\": `toast-message-${alertProps.id}`,\n value: progress\n }\n ) }) : null,\n hasActions ? /* @__PURE__ */ jsxs(\"div\", { className: styles[\"alert-action\"], children: [\n /* @__PURE__ */ jsx(\n Button,\n {\n appearance: actions.primary.appearance,\n onClick: actions.primary.onClick,\n size: \"small\",\n children: actions.primary.label\n }\n ),\n actions.secondary && /* @__PURE__ */ jsx(\n Button,\n {\n appearance: actions.secondary.appearance,\n onClick: actions.secondary.onClick,\n size: \"small\",\n children: actions.secondary.label\n }\n )\n ] }) : null\n ] }) : null\n }\n )\n }\n );\n }\n);\nToast.displayName = \"Toast\";\n\nfunction useHotkeyFocus({\n disabled,\n hotkey,\n onHotkeyIn,\n onHotkeyOut,\n refToFocus,\n rootRef\n}) {\n const [shouldEscapeRefocus, setShouldEscapeRefocus] = useState(false);\n const previousFocusElement = useRef(null);\n useEffect(() => {\n if (disabled || typeof document === \"undefined\") return;\n const rootElement = rootRef.current;\n const blurHandler = (e) => {\n if (e.relatedTarget && rootElement.contains(e.relatedTarget)) {\n return;\n }\n setShouldEscapeRefocus(false);\n };\n const keyDownHandler = async (e) => {\n const activeElement = document.activeElement?.shadowRoot?.activeElement || document.activeElement;\n if (activeElement?.tagName.toLowerCase() !== \"input\" && activeElement?.tagName.toLowerCase() !== \"textarea\" && activeElement?.tagName.toLowerCase() !== \"pre\" && e.key === hotkey) {\n e.preventDefault();\n previousFocusElement.current = activeElement;\n await onHotkeyIn?.();\n if (refToFocus.current) {\n refToFocus.current.focus();\n setShouldEscapeRefocus(true);\n if (refToFocus.current.scrollTo) {\n refToFocus.current.scrollTo();\n }\n }\n } else if (e.code === \"Escape\" && shouldEscapeRefocus) {\n onHotkeyOut?.();\n if (previousFocusElement.current && previousFocusElement.current.tagName.toLowerCase() !== \"body\") {\n previousFocusElement.current.focus();\n } else {\n activeElement.blur();\n }\n }\n };\n document.addEventListener(\"keydown\", keyDownHandler);\n rootElement.addEventListener(\"focusout\", blurHandler);\n return () => {\n document.removeEventListener(\"keydown\", keyDownHandler);\n rootElement.removeEventListener(\"focusout\", blurHandler);\n };\n }, [\n hotkey,\n disabled,\n rootRef,\n shouldEscapeRefocus,\n onHotkeyIn,\n refToFocus,\n onHotkeyOut\n ]);\n return { returnFocusRef: previousFocusElement };\n}\n\nconst Toaster = forwardRef(\n (props, ref) => {\n return /* @__PURE__ */ jsx(ToastProvider, { children: /* @__PURE__ */ jsx(ToasterContent, { ...props, ...ref }) });\n }\n);\nconst ToasterContent = forwardRef(\n ({\n className,\n duration = false,\n focusKey = \"t\",\n forceRender = false,\n id,\n toastsBeforeStack = 3,\n ...props\n }, ref) => {\n const toasterRef = useRef(null);\n const firstToastRef = useRef(null);\n const mergedToasterRef = useMergeRefs([toasterRef, ref]);\n const {\n toasts,\n setToastsBeforeStack,\n extraToastsVisible,\n setExtraToastsVisible,\n setToasts,\n getToasterHeight\n } = useToasts();\n const toastCount = toasts.length;\n const lastToastCount = useRef(0);\n const a1ToastGroupObserver = useRef(null);\n const a1ToastGroupObserverConnected = useRef(false);\n const closeToast = useCloseToast(styles.close);\n const [toasterHeight, setToasterHeight] = useState(0);\n const [a1ToastGroups, setA1ToastGroups] = useState([]);\n const updateA1ToastGroups = () => {\n const mfeRoots = document.querySelectorAll(\n \"[data-mfe-portal-name],[data-mfe-name]\"\n );\n const a1ToastGroupsLocal = [\n ...document.getElementsByClassName(\"ToastGroup\")\n ];\n if (mfeRoots.length > 0) {\n mfeRoots.forEach((el) => {\n setTimeout(() => {\n if (el.shadowRoot) {\n a1ToastGroupsLocal.push(\n ...el.shadowRoot.querySelectorAll(\".ToastGroup\")\n );\n }\n setA1ToastGroups(a1ToastGroupsLocal);\n });\n });\n } else {\n setA1ToastGroups(a1ToastGroupsLocal);\n }\n };\n const handleToasterBlur = useCallback(() => {\n setExtraToastsVisible(false);\n setToastPausedStatus(\"resumed\");\n if (toasterRef.current?.scrollTo) {\n toasterRef.current?.scrollTo(0, 0);\n }\n }, [setExtraToastsVisible]);\n useEffect(() => {\n const toastEventListener = (e) => {\n const toasters = document.querySelectorAll(\"[data-anv='toaster']\");\n const shadowToasters = toasterRef.current?.getRootNode()?.querySelectorAll(\"[data-anv='toaster']\") || [];\n if (toasters.length && id !== toasters[0].getAttribute(\"data-toaster-id\")) {\n return;\n } else if (\n // Toaster(s) exist in the shadow dom, bail out if this toaster is not the first one\n shadowToasters.length && id !== shadowToasters[0].getAttribute(\"data-toaster-id\")\n ) {\n return;\n }\n const { eventType, ...toastProps } = e.detail;\n if (eventType === \"add\") {\n const toastAddProps = toastProps;\n if (!toastAddProps.toasterId || toastAddProps.toasterId === id) {\n setToasts((prev) => [...prev, toastProps]);\n }\n } else if (eventType === \"update\") {\n setToasts((prev) => {\n return prev.map((t) => {\n if (t.id === toastProps.id) {\n return {\n ...t,\n ...toastProps\n };\n } else {\n return t;\n }\n });\n });\n } else if (eventType === \"dismiss\") {\n if (toastProps.id) {\n closeToast(toastProps.id);\n } else {\n closeToast();\n }\n }\n };\n window.addEventListener(\"hammer-toast\", toastEventListener);\n a1ToastGroupObserver.current = new MutationObserver(updateA1ToastGroups);\n return () => window.removeEventListener(\"hammer-toast\", toastEventListener);\n }, []);\n useEffect(() => {\n if (a1ToastGroupObserver.current !== null) {\n if (toastCount > 0 && a1ToastGroupObserverConnected.current === false) {\n a1ToastGroupObserver.current.observe(document.body, {\n childList: true,\n subtree: true\n });\n a1ToastGroupObserverConnected.current = true;\n updateA1ToastGroups();\n } else if (toastCount === 0 && a1ToastGroupObserverConnected.current === true) {\n a1ToastGroupObserver.current.disconnect();\n a1ToastGroupObserverConnected.current = false;\n }\n }\n }, [toastCount]);\n useEffect(() => {\n if (a1ToastGroups && a1ToastGroups.length > 0) {\n a1ToastGroups.forEach((group) => {\n group.style.top = toastCount === 0 ? \"16px\" : `calc(${toasterHeight}px + 3.5rem)`;\n });\n }\n }, [toasterHeight, a1ToastGroups.length]);\n useEffect(() => {\n let timer;\n if (toastCount > lastToastCount.current) {\n setToasterHeight(getToasterHeight());\n } else {\n timer = setTimeout(() => setToasterHeight(getToasterHeight()), 290);\n }\n lastToastCount.current = toastCount;\n return () => {\n clearTimeout(timer);\n };\n }, [getToasterHeight]);\n useEffect(() => {\n setToastsBeforeStack(toastsBeforeStack);\n }, [setToastsBeforeStack, toastsBeforeStack]);\n const isToasterEmpty = toastCount === 0;\n const { returnFocusRef } = useHotkeyFocus({\n disabled: isToasterEmpty,\n hotkey: focusKey,\n onHotkeyIn: async () => {\n setExtraToastsVisible(true);\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve();\n }, 100);\n });\n },\n onHotkeyOut: () => {\n setExtraToastsVisible(false);\n handleToasterBlur();\n },\n refToFocus: firstToastRef,\n rootRef: toasterRef\n });\n const showMoreButtonPositionStyles = useShowMoreButtonPositionStyles();\n const [toastPausedStatus, setToastPausedStatus] = useState(undefined);\n const showMoreButton = !extraToastsVisible && toastCount > toastsBeforeStack;\n const extraToastsLength = toastCount - toastsBeforeStack;\n const showMoreButtonText = `${extraToastsLength} more message${extraToastsLength > 1 ? \"s\" : \"\"}`;\n const toasterClasses = cx(styles.toaster, className, {\n [styles[\"show-more-button\"]]: showMoreButton,\n [styles[\"show-extra-toast\"]]: extraToastsVisible\n });\n const handleToasterFocusHover = () => {\n if (toastPausedStatus === \"resumed\" || toastPausedStatus === undefined) {\n setToastPausedStatus(Date.now());\n }\n };\n const handleToasterOnBlur = () => {\n if (!toasterRef.current?.matches(\":focus-within\")) {\n handleToasterBlur();\n }\n };\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsxs(\n \"div\",\n {\n \"data-anv\": \"toaster\",\n \"data-toaster-id\": id,\n className: toasterClasses,\n ref: mergedToasterRef,\n onMouseOver: handleToasterFocusHover,\n onMouseLeave: handleToasterBlur,\n onFocus: handleToasterFocusHover,\n onBlur: handleToasterOnBlur,\n style: {\n height: extraToastsVisible ? \"100vh\" : `calc(${toasterHeight}px + 2rem + var(--toaster-padding))`\n },\n ...props,\n children: [\n toasts.map(({ toastClassName, onClose, ...toastProps }, index) => {\n const isStacked = !extraToastsVisible && index < toastCount - toastsBeforeStack;\n const isLastToastDisplayed = index === toastCount - toastsBeforeStack;\n const isHidden = index < toastCount - toastsBeforeStack - 2;\n const toastClasses = cx(styles.toast, toastClassName);\n const toastContainerClasses = cx(styles[\"toast-wrapper\"], {\n [styles.stacked]: isStacked || isLastToastDisplayed,\n [styles[\"stack-one\"]]: isStacked && index === toastCount - toastsBeforeStack - 1,\n [styles[\"stack-two\"]]: isStacked && index === toastCount - toastsBeforeStack - 2,\n [styles[\"stacked-extra\"]]: isHidden,\n [styles[\"stacked-show-extra\"]]: extraToastsVisible\n });\n const handleOnClose = (e) => {\n onClose?.(e);\n returnFocusRef.current?.focus();\n toast.dismiss(toastProps.id);\n };\n return /* @__PURE__ */ jsx(\n Toast,\n {\n containerClassName: toastContainerClasses,\n duration,\n index,\n isStacked,\n isBelowStackIndex: index < toastCount - toastsBeforeStack,\n onClose: handleOnClose,\n pausedStatus: toastPausedStatus,\n toastClassName: toastClasses,\n ref: index === 0 ? firstToastRef : undefined,\n ...toastProps\n },\n toastProps.id\n );\n }),\n showMoreButton && /* @__PURE__ */ jsx(\n \"div\",\n {\n className: styles[\"show-more-button-container\"],\n style: showMoreButtonPositionStyles,\n children: /* @__PURE__ */ jsx(\n Button,\n {\n className: styles[\"show-collapse-button\"],\n onClick: () => setExtraToastsVisible(true),\n appearance: \"secondary\",\n tabIndex: 0,\n children: showMoreButtonText\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(SrOnly, { \"aria-live\": \"polite\", children: [\n \"New toast message appeared. Press the \",\n focusKey,\n \" key to focus on the toast messages. Press escape to return focus to previous position.\"\n ] })\n ]\n }\n ),\n extraToastsVisible && /* @__PURE__ */ jsx(\"div\", { className: styles[\"show-collapse-button-container\"], children: /* @__PURE__ */ jsx(\n Button,\n {\n className: styles[\"show-collapse-button\"],\n onClick: handleToasterBlur,\n appearance: \"secondary\",\n children: \"Collapse Messages\"\n }\n ) })\n ] });\n }\n);\nToaster.displayName = \"Toaster\";\nToasterContent.displayName = \"ToasterContent\";\n\nexport { Toaster as T, toast as t };\n//# sourceMappingURL=Toaster-CJWQiHPs.js.map\n","import {\n ToasterProps as CoreToasterProps,\n Toaster as CoreToaster,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\n\nexport type ToasterProps = CoreToasterProps;\n\nexport const Toaster = forwardRef(\n (props: CoreToasterProps, ref: Ref<HTMLDivElement>) => {\n return <CoreToaster ref={ref} {...props} />;\n },\n);\n","import {\n toast as coreToast,\n toastProps as coreToastProps,\n} from \"@servicetitan/hammer-react\";\n\nexport type toastProps = coreToastProps;\n\nexport const toast = coreToast;\n"],"names":["toast","Toaster","CoreToaster","coreToast"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
1
|
+
{"version":3,"file":"toast-CHld8RKY.js","sources":["../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/stringify.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/native.js","../../../node_modules/.pnpm/uuid@10.0.0/node_modules/uuid/dist/esm-browser/v4.js","../../hammer-react/dist/Toaster-Bce_4khW.js","../src/components/Toast/Toaster.tsx","../src/components/Toast/toast.ts"],"sourcesContent":["import validate from './validate.js';\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n //\n // Note to future-self: No, you can't remove the `toLowerCase()` call.\n // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n var uuid = unsafeStringify(arr, offset);\n // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n return getRandomValues(rnds8);\n}","var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;","import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport cx from 'classnames';\nimport { createContext, useState, useEffect, useCallback, useMemo, useContext, forwardRef, useRef } from 'react';\nimport { B as Button } from './Button-Ce--YZ9L.js';\nimport { v4 } from 'uuid';\nimport { A as Alert } from './Alert-CRv6t4jJ.js';\nimport { P as ProgressBar } from './ProgressBar-cKtBso7j.js';\nimport { u as useSwipe } from './useSwipe-DIUHs7T5.js';\nimport { S as SrOnly } from './SrOnly-BXm1DGl3.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\n\nimport './Toaster.css';const toaster = \"_toaster_nxs96_3\";\nconst hidden = \"_hidden_nxs96_65\";\nconst stacked = \"_stacked_nxs96_72\";\nconst open = \"_open_nxs96_164\";\nconst close = \"_close_nxs96_165\";\nconst slideIn = \"_slideIn_nxs96_1\";\nconst slideOut = \"_slideOut_nxs96_1\";\nconst styles = {\n\ttoaster: toaster,\n\t\"toast-wrapper\": \"_toast-wrapper_nxs96_28\",\n\t\"toast-alert\": \"_toast-alert_nxs96_42\",\n\t\"alert-action\": \"_alert-action_nxs96_47\",\n\t\"message-container\": \"_message-container_nxs96_53\",\n\t\"show-extra-toast\": \"_show-extra-toast_nxs96_62\",\n\thidden: hidden,\n\tstacked: stacked,\n\t\"stack-one\": \"_stack-one_nxs96_75\",\n\t\"stack-two\": \"_stack-two_nxs96_75\",\n\t\"stacked-show-extra\": \"_stacked-show-extra_nxs96_91\",\n\t\"stacked-extra\": \"_stacked-extra_nxs96_105\",\n\t\"show-more-button-container\": \"_show-more-button-container_nxs96_118\",\n\t\"show-collapse-button-container\": \"_show-collapse-button-container_nxs96_119\",\n\t\"show-collapse-button\": \"_show-collapse-button_nxs96_119\",\n\topen: open,\n\tclose: close,\n\tslideIn: slideIn,\n\tslideOut: slideOut\n};\n\nconst ToastProviderContext = createContext({\n toasts: [],\n setToasts: () => [],\n toastHeights: [],\n setToastHeights: () => [],\n getToasterHeight: () => 0,\n toastsBeforeStack: 3,\n setToastsBeforeStack: () => [],\n extraToastsVisible: false,\n setExtraToastsVisible: () => []\n});\nconst ToastProvider = (children) => {\n const [toasts, setToasts] = useState([]);\n const [toastHeights, setToastHeights] = useState([]);\n const [toastsBeforeStack, setToastsBeforeStack] = useState(3);\n const [extraToastsVisible, setExtraToastsVisible] = useState(false);\n const removeDuplicateToasts = (toasts2) => {\n const toastIds = /* @__PURE__ */ new Set();\n const uniqueToasts = toasts2.filter((toast) => {\n if (toastIds.has(toast.id)) {\n console.error(\n `Encountered toast with duplicate id ${toast.id}. Each toast id needs to be unique.`\n );\n return false;\n } else {\n toastIds.add(toast.id);\n return true;\n }\n });\n return uniqueToasts;\n };\n useEffect(() => {\n const uniqueToasts = removeDuplicateToasts(toasts);\n if (toasts.length !== uniqueToasts.length) {\n setToasts(uniqueToasts);\n }\n }, [toasts]);\n const getToasterHeight = useCallback(\n (index) => {\n const toastHeightsOnly = toastHeights.filter((t, i) => {\n return index !== undefined ? i > index : true;\n }).map((t) => t.height);\n if (toastHeightsOnly.length > 0) {\n if (extraToastsVisible) {\n return toastHeightsOnly.reduce((totalHeight, currentHeight) => {\n return totalHeight + currentHeight;\n });\n }\n return toastHeightsOnly.filter((t, i) => i >= toastHeightsOnly.length - toastsBeforeStack).reduce((totalHeight, currentHeight) => {\n return totalHeight + currentHeight;\n });\n }\n return 0;\n },\n [toastHeights, extraToastsVisible, toastsBeforeStack]\n );\n const value = useMemo(\n () => ({\n toasts,\n setToasts,\n toastHeights,\n setToastHeights,\n getToasterHeight,\n toastsBeforeStack,\n setToastsBeforeStack,\n extraToastsVisible,\n setExtraToastsVisible\n }),\n [\n extraToastsVisible,\n getToasterHeight,\n toastHeights,\n toasts,\n toastsBeforeStack\n ]\n );\n return /* @__PURE__ */ jsx(ToastProviderContext.Provider, { value, ...children });\n};\nconst useToasts = () => {\n const context = useContext(ToastProviderContext);\n if (context == null) {\n throw new Error(\"useToasts must be wrapped in <ToastProvider />\");\n }\n return context;\n};\n\nconst toast = () => {\n const toastMethods = [\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"promise\",\n \"update\",\n \"dismiss\"\n ];\n console.error(\n \"Please use one of the following toast methods:\\n\",\n ...toastMethods.map((m) => `\ttoast.${m}()\n`)\n );\n};\nconst TOAST_EVENT_NAME = \"hammer-toast\";\nconst TOAST_TYPES = [\"info\", \"success\", \"warning\", \"danger\"];\nconst methods = {};\nTOAST_TYPES.forEach((type) => {\n methods[type] = (props) => {\n const uniqueId = v4();\n const ToastAddEvent = new CustomEvent(TOAST_EVENT_NAME, {\n composed: true,\n detail: {\n id: uniqueId,\n eventType: \"add\",\n status: type,\n createdAt: Date.now(),\n ...props\n }\n });\n dispatchEvent(ToastAddEvent);\n return uniqueId;\n };\n});\nconst update = (id, props) => {\n const ToastEvent = new CustomEvent(\n TOAST_EVENT_NAME,\n {\n composed: true,\n detail: {\n eventType: \"update\",\n id,\n ...props\n }\n }\n );\n dispatchEvent(ToastEvent);\n};\nconst dismiss = (id) => {\n const ToastEvent = new CustomEvent(\n TOAST_EVENT_NAME,\n {\n composed: true,\n detail: {\n eventType: \"dismiss\",\n id\n }\n }\n );\n dispatchEvent(ToastEvent);\n};\nconst promise = async (promise2, toastConfig) => {\n const { onClose, ...loadingToastConfig } = toastConfig.loading;\n let closedWhileLoading = false;\n const onCloseWhileLoading = (e) => {\n toastConfig.loading.onClose?.(e);\n closedWhileLoading = true;\n };\n const id = toast.info({\n ...loadingToastConfig,\n onClose: onCloseWhileLoading,\n duration: false\n });\n await Promise.resolve(promise2).then((res) => {\n if (closedWhileLoading) {\n toast.success({\n ...toastConfig.success(res)\n });\n } else {\n toast.update(id, {\n ...toastConfig.success(res),\n status: \"success\"\n });\n }\n }).catch((err) => {\n if (closedWhileLoading) {\n toast.danger({\n ...toastConfig.error(err)\n });\n } else {\n toast.update(id, {\n ...toastConfig.error(err),\n status: \"danger\"\n });\n }\n });\n return id;\n};\ntoast.info = methods.info;\ntoast.success = methods.success;\ntoast.warning = methods.warning;\ntoast.danger = methods.danger;\ntoast.update = update;\ntoast.dismiss = dismiss;\ntoast.promise = promise;\n\nconst useShowMoreButtonPositionStyles = () => {\n const { toastHeights, toastsBeforeStack } = useToasts();\n const totalToasts = toastHeights.length;\n const extraSpace = totalToasts > toastsBeforeStack + 1 ? \"2rem\" : \"1rem\";\n const top = useMemo(() => {\n if (totalToasts > toastsBeforeStack) {\n return toastHeights.filter((t, i) => i >= totalToasts - toastsBeforeStack).map((t) => t.height).reduce((t, c) => t + c);\n }\n return \"unset\";\n }, [toastHeights, toastsBeforeStack]);\n return {\n // -0.75px fixes hover issue when 1rem != 16px due to pixel rounding\n top: `calc(${top}px + ${extraSpace} - 0.75px)`,\n position: \"absolute\",\n display: totalToasts > toastsBeforeStack ? undefined : \"none\"\n };\n};\nconst STACKED_TOAST_HEIGHT = \"5.3125rem\";\nconst STACKED_TOAST_PEEK_HEIGHT = \"1rem\";\nconst TOAST_GAP = `${24 / 16}rem`;\nconst useToastPositionStyles = (index) => {\n const {\n toasts,\n toastHeights,\n getToasterHeight,\n toastsBeforeStack,\n extraToastsVisible\n } = useToasts();\n const toastCount = toasts.length;\n const toasterHeight = getToasterHeight(index);\n return useMemo(() => {\n if (index === toastCount - 1) {\n return {\n top: TOAST_GAP,\n zIndex: 3\n };\n } else if (\n // all toasts when show more is clicked\n extraToastsVisible || // or visible toasts when stacked\n !extraToastsVisible && (toastCount <= toastsBeforeStack || toastCount > toastsBeforeStack && index >= toastCount - toastsBeforeStack)\n ) {\n return {\n top: `calc(${toasterHeight}px + ${TOAST_GAP})`\n };\n } else {\n if (toastCount > toastsBeforeStack) {\n if (index === toastCount - toastsBeforeStack - 1) {\n return {\n top: `calc(${toasterHeight || 0}px - ${STACKED_TOAST_HEIGHT} +\n ${STACKED_TOAST_PEEK_HEIGHT})`,\n zIndex: 1\n };\n } else if (index <= toastCount - toastsBeforeStack - 2) {\n return {\n top: `calc(${toasterHeight || 0}px -\n ${STACKED_TOAST_HEIGHT} \n + ${STACKED_TOAST_PEEK_HEIGHT} * 2)`,\n zIndex: 0\n };\n }\n }\n }\n return undefined;\n }, [toastHeights]);\n};\nconst addOrUpdateToastHeight = (toastId, toastHeight, setToastHeights) => {\n setToastHeights((prev) => {\n if (prev.find((t) => t.id === toastId)) {\n return prev.map((t) => {\n if (t.id === toastId) {\n return { ...t, height: toastHeight };\n }\n return t;\n });\n }\n return [\n ...prev,\n {\n id: toastId,\n height: toastHeight\n }\n ];\n });\n};\nconst setToastsAfterClose = (setToasts, setToastHeights, id) => {\n setToasts((prev) => id ? prev.filter((t) => t.id !== id) : []);\n setToastHeights((prev) => id ? prev.filter((t) => t.id !== id) : []);\n};\nconst closeToast = (setToasts, setToastHeights, closingToastClassName, id) => {\n const prefersReducedMotion = globalThis.matchMedia(\n `(prefers-reduced-motion: reduce)`\n ).matches;\n if (prefersReducedMotion) {\n setToastsAfterClose(setToasts, setToastHeights, id);\n } else {\n setToasts(\n (prev) => prev.map((t) => {\n if (!id || t.id === id) {\n return {\n ...t,\n toastClassName: closingToastClassName\n };\n }\n return t;\n })\n );\n setTimeout(() => {\n setToastsAfterClose(setToasts, setToastHeights, id);\n }, 290);\n }\n};\nconst useCloseToast = (closingToastClassName) => {\n const { setToasts, setToastHeights } = useToasts();\n return (id) => {\n closeToast(setToasts, setToastHeights, closingToastClassName, id);\n };\n};\n\nconst Toast = forwardRef(\n ({\n actions,\n containerClassName,\n createdAt,\n duration,\n index = 0,\n isBelowStackIndex,\n isStacked,\n message,\n onClose,\n pausedStatus,\n progress,\n toastClassName,\n ...alertProps\n }, ref) => {\n const { setToastHeights, extraToastsVisible } = useToasts();\n const closeToast = useCloseToast(styles.close);\n const toastPositionStyles = useToastPositionStyles(index);\n const toastWrapperRef = useRef(null);\n const timerRef = useRef();\n const pausedAtRef = useRef(0);\n const createdAtRef = useRef(createdAt ?? 0);\n const hasBeenStackedRef = useRef(false);\n const [transitionClass, setTransitionClass] = useState(\n styles.hidden\n );\n const [toastOpened, setToastOpened] = useState(false);\n const alertClasses = cx(\n styles[\"toast-alert\"],\n toastClassName,\n transitionClass\n );\n useEffect(() => {\n if (!toastOpened) {\n setTransitionClass(styles.open);\n setToastOpened(true);\n }\n }, []);\n useEffect(() => {\n if (toastWrapperRef.current && toastOpened && !isStacked) {\n if (isBelowStackIndex && extraToastsVisible) {\n setTimeout(() => {\n const height = toastWrapperRef.current?.clientHeight;\n addOrUpdateToastHeight(alertProps.id, height ?? 0, setToastHeights);\n }, 300);\n } else {\n const height = toastWrapperRef.current.clientHeight;\n addOrUpdateToastHeight(alertProps.id, height, setToastHeights);\n }\n }\n }, [\n toastOpened,\n isStacked,\n extraToastsVisible,\n // toast updates\n actions,\n message,\n alertProps.title\n ]);\n useEffect(() => {\n if (duration && !isStacked) {\n if (!pausedStatus) {\n timerRef.current = setTimeout(\n () => closeToast(alertProps.id),\n duration\n );\n return () => clearTimeout(timerRef.current);\n } else if (typeof pausedStatus === \"number\") {\n clearTimeout(timerRef.current);\n pausedAtRef.current = pausedStatus;\n } else if (pausedStatus === \"resumed\") {\n const remainingDuration = (\n // rendering new toast after initial hover\n pausedAtRef.current === 0 ? duration : (\n // resume timer after valid hover\n duration + (createdAtRef.current || 0) - pausedAtRef.current\n )\n );\n timerRef.current = setTimeout(() => {\n closeToast(alertProps.id);\n pausedAtRef.current = 0;\n }, remainingDuration);\n return () => clearTimeout(timerRef.current);\n }\n }\n }, [createdAtRef.current, duration, pausedStatus]);\n useEffect(() => {\n if (duration) {\n if (isStacked) {\n clearTimeout(timerRef.current);\n hasBeenStackedRef.current = true;\n } else if (!isStacked && hasBeenStackedRef.current && !(typeof pausedStatus === \"number\")) {\n createdAtRef.current = Date.now();\n timerRef.current = setTimeout(() => {\n closeToast(alertProps.id);\n hasBeenStackedRef.current = false;\n }, duration);\n return () => clearTimeout(timerRef.current);\n }\n }\n }, [isStacked, duration]);\n const onSwipe = (dir) => {\n if (dir === \"right\") {\n toast.dismiss(alertProps.id);\n return;\n }\n };\n const { direction, ...touchProps } = useSwipe(onSwipe);\n const alertCloseProps = isStacked && !extraToastsVisible ? {} : {\n onClose\n };\n if (duration !== false && actions) {\n throw new Error(\n \"If actions are provided to toast message, duration must be false.\"\n );\n }\n const hasMessage = message && message !== \"\";\n const hasProgress = progress != null;\n const hasActions = actions && duration === false;\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n \"data-anv\": \"toast\",\n className: containerClassName,\n style: toastPositionStyles ?? { top: \"1.5rem\" },\n ref: toastWrapperRef,\n onAnimationStart: () => setToastOpened(true),\n role: isStacked ? \"presentation\" : undefined,\n ...touchProps,\n children: /* @__PURE__ */ jsx(\n Alert,\n {\n className: alertClasses,\n ...alertProps,\n ...alertCloseProps,\n ref,\n tabIndex: isStacked && !extraToastsVisible ? -1 : 0,\n children: hasMessage || hasProgress || hasActions ? /* @__PURE__ */ jsxs(Fragment, { children: [\n hasMessage ? /* @__PURE__ */ jsx(\n \"div\",\n {\n className: styles[\"message-container\"],\n id: `toast-message-${alertProps.id}`,\n children: message\n }\n ) : null,\n hasProgress ? /* @__PURE__ */ jsx(Fragment, { children: progress === \"indeterminate\" ? /* @__PURE__ */ jsx(\n ProgressBar,\n {\n \"aria-labelledby\": `toast-message-${alertProps.id}`,\n indeterminate: true\n }\n ) : /* @__PURE__ */ jsx(\n ProgressBar,\n {\n \"aria-labelledby\": `toast-message-${alertProps.id}`,\n value: progress\n }\n ) }) : null,\n hasActions ? /* @__PURE__ */ jsxs(\"div\", { className: styles[\"alert-action\"], children: [\n /* @__PURE__ */ jsx(\n Button,\n {\n appearance: actions.primary.appearance,\n onClick: actions.primary.onClick,\n size: \"small\",\n children: actions.primary.label\n }\n ),\n actions.secondary && /* @__PURE__ */ jsx(\n Button,\n {\n appearance: actions.secondary.appearance,\n onClick: actions.secondary.onClick,\n size: \"small\",\n children: actions.secondary.label\n }\n )\n ] }) : null\n ] }) : null\n }\n )\n }\n );\n }\n);\nToast.displayName = \"Toast\";\n\nfunction useHotkeyFocus({\n disabled,\n hotkey,\n onHotkeyIn,\n onHotkeyOut,\n refToFocus,\n rootRef\n}) {\n const [shouldEscapeRefocus, setShouldEscapeRefocus] = useState(false);\n const previousFocusElement = useRef(null);\n useEffect(() => {\n if (disabled || typeof document === \"undefined\") return;\n const rootElement = rootRef.current;\n const blurHandler = (e) => {\n if (e.relatedTarget && rootElement.contains(e.relatedTarget)) {\n return;\n }\n setShouldEscapeRefocus(false);\n };\n const keyDownHandler = async (e) => {\n const activeElement = document.activeElement?.shadowRoot?.activeElement || document.activeElement;\n if (activeElement?.tagName.toLowerCase() !== \"input\" && activeElement?.tagName.toLowerCase() !== \"textarea\" && activeElement?.tagName.toLowerCase() !== \"pre\" && e.key === hotkey) {\n e.preventDefault();\n previousFocusElement.current = activeElement;\n await onHotkeyIn?.();\n if (refToFocus.current) {\n refToFocus.current.focus();\n setShouldEscapeRefocus(true);\n if (refToFocus.current.scrollTo) {\n refToFocus.current.scrollTo();\n }\n }\n } else if (e.code === \"Escape\" && shouldEscapeRefocus) {\n onHotkeyOut?.();\n if (previousFocusElement.current && previousFocusElement.current.tagName.toLowerCase() !== \"body\") {\n previousFocusElement.current.focus();\n } else {\n activeElement.blur();\n }\n }\n };\n document.addEventListener(\"keydown\", keyDownHandler);\n rootElement.addEventListener(\"focusout\", blurHandler);\n return () => {\n document.removeEventListener(\"keydown\", keyDownHandler);\n rootElement.removeEventListener(\"focusout\", blurHandler);\n };\n }, [\n hotkey,\n disabled,\n rootRef,\n shouldEscapeRefocus,\n onHotkeyIn,\n refToFocus,\n onHotkeyOut\n ]);\n return { returnFocusRef: previousFocusElement };\n}\n\nconst Toaster = forwardRef(\n (props, ref) => {\n return /* @__PURE__ */ jsx(ToastProvider, { children: /* @__PURE__ */ jsx(ToasterContent, { ...props, ...ref }) });\n }\n);\nconst ToasterContent = forwardRef(\n ({\n className,\n duration = false,\n focusKey = \"t\",\n forceRender = false,\n id,\n toastsBeforeStack = 3,\n ...props\n }, ref) => {\n const toasterRef = useRef(null);\n const firstToastRef = useRef(null);\n const mergedToasterRef = useMergeRefs([toasterRef, ref]);\n const {\n toasts,\n setToastsBeforeStack,\n extraToastsVisible,\n setExtraToastsVisible,\n setToasts,\n getToasterHeight\n } = useToasts();\n const toastCount = toasts.length;\n const lastToastCount = useRef(0);\n const a1ToastGroupObserver = useRef(null);\n const a1ToastGroupObserverConnected = useRef(false);\n const closeToast = useCloseToast(styles.close);\n const [toasterHeight, setToasterHeight] = useState(0);\n const [a1ToastGroups, setA1ToastGroups] = useState([]);\n const updateA1ToastGroups = () => {\n const mfeRoots = document.querySelectorAll(\n \"[data-mfe-portal-name],[data-mfe-name]\"\n );\n const a1ToastGroupsLocal = [\n ...document.getElementsByClassName(\"ToastGroup\")\n ];\n if (mfeRoots.length > 0) {\n mfeRoots.forEach((el) => {\n setTimeout(() => {\n if (el.shadowRoot) {\n a1ToastGroupsLocal.push(\n ...el.shadowRoot.querySelectorAll(\".ToastGroup\")\n );\n }\n setA1ToastGroups(a1ToastGroupsLocal);\n });\n });\n } else {\n setA1ToastGroups(a1ToastGroupsLocal);\n }\n };\n const handleToasterBlur = useCallback(() => {\n setExtraToastsVisible(false);\n setToastPausedStatus(\"resumed\");\n if (toasterRef.current?.scrollTo) {\n toasterRef.current?.scrollTo(0, 0);\n }\n }, [setExtraToastsVisible]);\n useEffect(() => {\n const toastEventListener = (e) => {\n const toasters = document.querySelectorAll(\"[data-anv='toaster']\");\n const shadowToasters = toasterRef.current?.getRootNode()?.querySelectorAll(\"[data-anv='toaster']\") || [];\n if (toasters.length && id !== toasters[0].getAttribute(\"data-toaster-id\")) {\n return;\n } else if (\n // Toaster(s) exist in the shadow dom, bail out if this toaster is not the first one\n shadowToasters.length && id !== shadowToasters[0].getAttribute(\"data-toaster-id\")\n ) {\n return;\n }\n const { eventType, ...toastProps } = e.detail;\n if (eventType === \"add\") {\n const toastAddProps = toastProps;\n if (!toastAddProps.toasterId || toastAddProps.toasterId === id) {\n setToasts((prev) => [...prev, toastProps]);\n }\n } else if (eventType === \"update\") {\n setToasts((prev) => {\n return prev.map((t) => {\n if (t.id === toastProps.id) {\n return {\n ...t,\n ...toastProps\n };\n } else {\n return t;\n }\n });\n });\n } else if (eventType === \"dismiss\") {\n if (toastProps.id) {\n closeToast(toastProps.id);\n } else {\n closeToast();\n }\n }\n };\n window.addEventListener(\"hammer-toast\", toastEventListener);\n a1ToastGroupObserver.current = new MutationObserver(updateA1ToastGroups);\n return () => window.removeEventListener(\"hammer-toast\", toastEventListener);\n }, []);\n useEffect(() => {\n if (a1ToastGroupObserver.current !== null) {\n if (toastCount > 0 && a1ToastGroupObserverConnected.current === false) {\n a1ToastGroupObserver.current.observe(document.body, {\n childList: true,\n subtree: true\n });\n a1ToastGroupObserverConnected.current = true;\n updateA1ToastGroups();\n } else if (toastCount === 0 && a1ToastGroupObserverConnected.current === true) {\n a1ToastGroupObserver.current.disconnect();\n a1ToastGroupObserverConnected.current = false;\n }\n }\n }, [toastCount]);\n useEffect(() => {\n if (a1ToastGroups && a1ToastGroups.length > 0) {\n a1ToastGroups.forEach((group) => {\n group.style.top = toastCount === 0 ? \"16px\" : `calc(${toasterHeight}px + 3.5rem)`;\n });\n }\n }, [toasterHeight, a1ToastGroups.length]);\n useEffect(() => {\n let timer;\n if (toastCount > lastToastCount.current) {\n setToasterHeight(getToasterHeight());\n } else {\n timer = setTimeout(() => setToasterHeight(getToasterHeight()), 290);\n }\n lastToastCount.current = toastCount;\n return () => {\n clearTimeout(timer);\n };\n }, [getToasterHeight]);\n useEffect(() => {\n setToastsBeforeStack(toastsBeforeStack);\n }, [setToastsBeforeStack, toastsBeforeStack]);\n const isToasterEmpty = toastCount === 0;\n const { returnFocusRef } = useHotkeyFocus({\n disabled: isToasterEmpty,\n hotkey: focusKey,\n onHotkeyIn: async () => {\n setExtraToastsVisible(true);\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve();\n }, 100);\n });\n },\n onHotkeyOut: () => {\n setExtraToastsVisible(false);\n handleToasterBlur();\n },\n refToFocus: firstToastRef,\n rootRef: toasterRef\n });\n const showMoreButtonPositionStyles = useShowMoreButtonPositionStyles();\n const [toastPausedStatus, setToastPausedStatus] = useState(undefined);\n const showMoreButton = !extraToastsVisible && toastCount > toastsBeforeStack;\n const extraToastsLength = toastCount - toastsBeforeStack;\n const showMoreButtonText = `${extraToastsLength} more message${extraToastsLength > 1 ? \"s\" : \"\"}`;\n const toasterClasses = cx(styles.toaster, className, {\n [styles[\"show-more-button\"]]: showMoreButton,\n [styles[\"show-extra-toast\"]]: extraToastsVisible\n });\n const handleToasterFocusHover = () => {\n if (toastPausedStatus === \"resumed\" || toastPausedStatus === undefined) {\n setToastPausedStatus(Date.now());\n }\n };\n const handleToasterOnBlur = () => {\n if (!toasterRef.current?.matches(\":focus-within\")) {\n handleToasterBlur();\n }\n };\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsxs(\n \"div\",\n {\n \"data-anv\": \"toaster\",\n \"data-toaster-id\": id,\n className: toasterClasses,\n ref: mergedToasterRef,\n onMouseOver: handleToasterFocusHover,\n onMouseLeave: handleToasterBlur,\n onFocus: handleToasterFocusHover,\n onBlur: handleToasterOnBlur,\n style: {\n height: extraToastsVisible ? \"100vh\" : `calc(${toasterHeight}px + 2rem + var(--toaster-padding))`\n },\n ...props,\n children: [\n toasts.map(({ toastClassName, onClose, ...toastProps }, index) => {\n const isStacked = !extraToastsVisible && index < toastCount - toastsBeforeStack;\n const isLastToastDisplayed = index === toastCount - toastsBeforeStack;\n const isHidden = index < toastCount - toastsBeforeStack - 2;\n const toastClasses = cx(styles.toast, toastClassName);\n const toastContainerClasses = cx(styles[\"toast-wrapper\"], {\n [styles.stacked]: isStacked || isLastToastDisplayed,\n [styles[\"stack-one\"]]: isStacked && index === toastCount - toastsBeforeStack - 1,\n [styles[\"stack-two\"]]: isStacked && index === toastCount - toastsBeforeStack - 2,\n [styles[\"stacked-extra\"]]: isHidden,\n [styles[\"stacked-show-extra\"]]: extraToastsVisible\n });\n const handleOnClose = (e) => {\n onClose?.(e);\n returnFocusRef.current?.focus();\n toast.dismiss(toastProps.id);\n };\n return /* @__PURE__ */ jsx(\n Toast,\n {\n containerClassName: toastContainerClasses,\n duration,\n index,\n isStacked,\n isBelowStackIndex: index < toastCount - toastsBeforeStack,\n onClose: handleOnClose,\n pausedStatus: toastPausedStatus,\n toastClassName: toastClasses,\n ref: index === 0 ? firstToastRef : undefined,\n ...toastProps\n },\n toastProps.id\n );\n }),\n showMoreButton && /* @__PURE__ */ jsx(\n \"div\",\n {\n className: styles[\"show-more-button-container\"],\n style: showMoreButtonPositionStyles,\n children: /* @__PURE__ */ jsx(\n Button,\n {\n className: styles[\"show-collapse-button\"],\n onClick: () => setExtraToastsVisible(true),\n appearance: \"secondary\",\n tabIndex: 0,\n children: showMoreButtonText\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(SrOnly, { \"aria-live\": \"polite\", children: [\n \"New toast message appeared. Press the \",\n focusKey,\n \" key to focus on the toast messages. Press escape to return focus to previous position.\"\n ] })\n ]\n }\n ),\n extraToastsVisible && /* @__PURE__ */ jsx(\"div\", { className: styles[\"show-collapse-button-container\"], children: /* @__PURE__ */ jsx(\n Button,\n {\n className: styles[\"show-collapse-button\"],\n onClick: handleToasterBlur,\n appearance: \"secondary\",\n children: \"Collapse Messages\"\n }\n ) })\n ] });\n }\n);\nToaster.displayName = \"Toaster\";\nToasterContent.displayName = \"ToasterContent\";\n\nexport { Toaster as T, toast as t };\n//# sourceMappingURL=Toaster-Bce_4khW.js.map\n","import {\n ToasterProps as CoreToasterProps,\n Toaster as CoreToaster,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\n\nexport type ToasterProps = CoreToasterProps;\n\nexport const Toaster = forwardRef(\n (props: CoreToasterProps, ref: Ref<HTMLDivElement>) => {\n return <CoreToaster ref={ref} {...props} />;\n },\n);\n","import {\n toast as coreToast,\n toastProps as coreToastProps,\n} from \"@servicetitan/hammer-react\";\n\nexport type toastProps = coreToastProps;\n\nexport const toast = coreToast;\n"],"names":["toast","Toaster","CoreToaster","coreToast"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
|
@@ -49,6 +49,20 @@ var isInert = function isInert(node, lookUp) {
|
|
|
49
49
|
return result;
|
|
50
50
|
};
|
|
51
51
|
|
|
52
|
+
/**
|
|
53
|
+
* Determines if a node's content is editable.
|
|
54
|
+
* @param {Element} [node]
|
|
55
|
+
* @returns True if it's content-editable; false if it's not or `node` is falsy.
|
|
56
|
+
*/
|
|
57
|
+
var isContentEditable = function isContentEditable(node) {
|
|
58
|
+
var _node$getAttribute2;
|
|
59
|
+
// CAREFUL: JSDom does not support the `HTMLElement.isContentEditable` API so we have
|
|
60
|
+
// to use the attribute directly to check for this, which can either be empty or 'true';
|
|
61
|
+
// if it's `null` (not specified) or 'false', it's a non-editable element
|
|
62
|
+
var attValue = node === null || node === undefined ? undefined : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === undefined ? undefined : _node$getAttribute2.call(node, 'contenteditable');
|
|
63
|
+
return attValue === '' || attValue === 'true';
|
|
64
|
+
};
|
|
65
|
+
|
|
52
66
|
/**
|
|
53
67
|
* @param {Element} el container to check in
|
|
54
68
|
* @param {boolean} includeContainer add container to check
|
|
@@ -167,6 +181,60 @@ var getCandidatesIteratively = function getCandidatesIteratively(elements, inclu
|
|
|
167
181
|
}
|
|
168
182
|
return candidates;
|
|
169
183
|
};
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* @private
|
|
187
|
+
* Determines if the node has an explicitly specified `tabindex` attribute.
|
|
188
|
+
* @param {HTMLElement} node
|
|
189
|
+
* @returns {boolean} True if so; false if not.
|
|
190
|
+
*/
|
|
191
|
+
var hasTabIndex = function hasTabIndex(node) {
|
|
192
|
+
return !isNaN(parseInt(node.getAttribute('tabindex'), 10));
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Determine the tab index of a given node.
|
|
197
|
+
* @param {HTMLElement} node
|
|
198
|
+
* @returns {number} Tab order (negative, 0, or positive number).
|
|
199
|
+
* @throws {Error} If `node` is falsy.
|
|
200
|
+
*/
|
|
201
|
+
var getTabIndex = function getTabIndex(node) {
|
|
202
|
+
if (!node) {
|
|
203
|
+
throw new Error('No node provided');
|
|
204
|
+
}
|
|
205
|
+
if (node.tabIndex < 0) {
|
|
206
|
+
// in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
|
|
207
|
+
// `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,
|
|
208
|
+
// yet they are still part of the regular tab order; in FF, they get a default
|
|
209
|
+
// `tabIndex` of 0; since Chrome still puts those elements in the regular tab
|
|
210
|
+
// order, consider their tab index to be 0.
|
|
211
|
+
// Also browsers do not return `tabIndex` correctly for contentEditable nodes;
|
|
212
|
+
// so if they don't have a tabindex attribute specifically set, assume it's 0.
|
|
213
|
+
if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) {
|
|
214
|
+
return 0;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return node.tabIndex;
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Determine the tab index of a given node __for sort order purposes__.
|
|
222
|
+
* @param {HTMLElement} node
|
|
223
|
+
* @param {boolean} [isScope] True for a custom element with shadow root or slot that, by default,
|
|
224
|
+
* has tabIndex -1, but needs to be sorted by document order in order for its content to be
|
|
225
|
+
* inserted into the correct sort position.
|
|
226
|
+
* @returns {number} Tab order (negative, 0, or positive number).
|
|
227
|
+
*/
|
|
228
|
+
var getSortOrderTabIndex = function getSortOrderTabIndex(node, isScope) {
|
|
229
|
+
var tabIndex = getTabIndex(node);
|
|
230
|
+
if (tabIndex < 0 && isScope && !hasTabIndex(node)) {
|
|
231
|
+
return 0;
|
|
232
|
+
}
|
|
233
|
+
return tabIndex;
|
|
234
|
+
};
|
|
235
|
+
var sortOrderedTabbables = function sortOrderedTabbables(a, b) {
|
|
236
|
+
return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;
|
|
237
|
+
};
|
|
170
238
|
var isInput = function isInput(node) {
|
|
171
239
|
return node.tagName === 'INPUT';
|
|
172
240
|
};
|
|
@@ -179,6 +247,42 @@ var isDetailsWithSummary = function isDetailsWithSummary(node) {
|
|
|
179
247
|
});
|
|
180
248
|
return r;
|
|
181
249
|
};
|
|
250
|
+
var getCheckedRadio = function getCheckedRadio(nodes, form) {
|
|
251
|
+
for (var i = 0; i < nodes.length; i++) {
|
|
252
|
+
if (nodes[i].checked && nodes[i].form === form) {
|
|
253
|
+
return nodes[i];
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
var isTabbableRadio = function isTabbableRadio(node) {
|
|
258
|
+
if (!node.name) {
|
|
259
|
+
return true;
|
|
260
|
+
}
|
|
261
|
+
var radioScope = node.form || getRootNode(node);
|
|
262
|
+
var queryRadios = function queryRadios(name) {
|
|
263
|
+
return radioScope.querySelectorAll('input[type="radio"][name="' + name + '"]');
|
|
264
|
+
};
|
|
265
|
+
var radioSet;
|
|
266
|
+
if (typeof window !== 'undefined' && typeof window.CSS !== 'undefined' && typeof window.CSS.escape === 'function') {
|
|
267
|
+
radioSet = queryRadios(window.CSS.escape(node.name));
|
|
268
|
+
} else {
|
|
269
|
+
try {
|
|
270
|
+
radioSet = queryRadios(node.name);
|
|
271
|
+
} catch (err) {
|
|
272
|
+
// eslint-disable-next-line no-console
|
|
273
|
+
console.error('Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s', err.message);
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
var checked = getCheckedRadio(radioSet, node.form);
|
|
278
|
+
return !checked || checked === node;
|
|
279
|
+
};
|
|
280
|
+
var isRadio = function isRadio(node) {
|
|
281
|
+
return isInput(node) && node.type === 'radio';
|
|
282
|
+
};
|
|
283
|
+
var isNonTabbableRadio = function isNonTabbableRadio(node) {
|
|
284
|
+
return isRadio(node) && !isTabbableRadio(node);
|
|
285
|
+
};
|
|
182
286
|
|
|
183
287
|
// determines if a node is ultimately attached to the window's document
|
|
184
288
|
var isNodeAttached = function isNodeAttached(node) {
|
|
@@ -369,19 +473,65 @@ var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(o
|
|
|
369
473
|
}
|
|
370
474
|
return true;
|
|
371
475
|
};
|
|
372
|
-
var
|
|
476
|
+
var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {
|
|
477
|
+
if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {
|
|
478
|
+
return false;
|
|
479
|
+
}
|
|
480
|
+
return true;
|
|
481
|
+
};
|
|
482
|
+
var isValidShadowRootTabbable = function isValidShadowRootTabbable(shadowHostNode) {
|
|
483
|
+
var tabIndex = parseInt(shadowHostNode.getAttribute('tabindex'), 10);
|
|
484
|
+
if (isNaN(tabIndex) || tabIndex >= 0) {
|
|
485
|
+
return true;
|
|
486
|
+
}
|
|
487
|
+
// If a custom element has an explicit negative tabindex,
|
|
488
|
+
// browsers will not allow tab targeting said element's children.
|
|
489
|
+
return false;
|
|
490
|
+
};
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* @param {Array.<Element|CandidateScope>} candidates
|
|
494
|
+
* @returns Element[]
|
|
495
|
+
*/
|
|
496
|
+
var sortByOrder = function sortByOrder(candidates) {
|
|
497
|
+
var regularTabbables = [];
|
|
498
|
+
var orderedTabbables = [];
|
|
499
|
+
candidates.forEach(function (item, i) {
|
|
500
|
+
var isScope = !!item.scopeParent;
|
|
501
|
+
var element = isScope ? item.scopeParent : item;
|
|
502
|
+
var candidateTabindex = getSortOrderTabIndex(element, isScope);
|
|
503
|
+
var elements = isScope ? sortByOrder(item.candidates) : element;
|
|
504
|
+
if (candidateTabindex === 0) {
|
|
505
|
+
isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);
|
|
506
|
+
} else {
|
|
507
|
+
orderedTabbables.push({
|
|
508
|
+
documentOrder: i,
|
|
509
|
+
tabIndex: candidateTabindex,
|
|
510
|
+
item: item,
|
|
511
|
+
isScope: isScope,
|
|
512
|
+
content: elements
|
|
513
|
+
});
|
|
514
|
+
}
|
|
515
|
+
});
|
|
516
|
+
return orderedTabbables.sort(sortOrderedTabbables).reduce(function (acc, sortable) {
|
|
517
|
+
sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);
|
|
518
|
+
return acc;
|
|
519
|
+
}, []).concat(regularTabbables);
|
|
520
|
+
};
|
|
521
|
+
var tabbable = function tabbable(container, options) {
|
|
373
522
|
options = options || {};
|
|
374
523
|
var candidates;
|
|
375
524
|
if (options.getShadowRoot) {
|
|
376
525
|
candidates = getCandidatesIteratively([container], options.includeContainer, {
|
|
377
|
-
filter:
|
|
378
|
-
flatten:
|
|
379
|
-
getShadowRoot: options.getShadowRoot
|
|
526
|
+
filter: isNodeMatchingSelectorTabbable.bind(null, options),
|
|
527
|
+
flatten: false,
|
|
528
|
+
getShadowRoot: options.getShadowRoot,
|
|
529
|
+
shadowRootFilter: isValidShadowRootTabbable
|
|
380
530
|
});
|
|
381
531
|
} else {
|
|
382
|
-
candidates = getCandidates(container, options.includeContainer,
|
|
532
|
+
candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
|
|
383
533
|
}
|
|
384
|
-
return candidates;
|
|
534
|
+
return sortByOrder(candidates);
|
|
385
535
|
};
|
|
386
536
|
|
|
387
537
|
const useKeyboardFocusables = (element, options = {
|
|
@@ -394,18 +544,28 @@ const useKeyboardFocusables = (element, options = {
|
|
|
394
544
|
const [focusables, setFocusables] = useState(null);
|
|
395
545
|
const observerRef = useRef();
|
|
396
546
|
useEffect(() => {
|
|
397
|
-
|
|
547
|
+
const target = element instanceof HTMLElement ? element : element?.current;
|
|
548
|
+
if (!target) return;
|
|
398
549
|
if (observerRef.current) return;
|
|
399
550
|
if (!options.observeChange && !focusables) {
|
|
400
|
-
setFocusables(
|
|
551
|
+
setFocusables(tabbable(target));
|
|
401
552
|
return;
|
|
402
553
|
}
|
|
554
|
+
let timeoutId = null;
|
|
555
|
+
const debounceDelay = 100;
|
|
403
556
|
const mutationCallback = () => {
|
|
404
|
-
|
|
557
|
+
const targetArr = tabbable(target);
|
|
558
|
+
if (targetArr.length === 0) return;
|
|
559
|
+
if (timeoutId) {
|
|
560
|
+
clearTimeout(timeoutId);
|
|
561
|
+
}
|
|
562
|
+
timeoutId = setTimeout(() => {
|
|
563
|
+
setFocusables(targetArr);
|
|
564
|
+
}, debounceDelay);
|
|
405
565
|
};
|
|
406
566
|
const observer = new MutationObserver(mutationCallback);
|
|
407
567
|
observerRef.current = observer;
|
|
408
|
-
observer.observe(
|
|
568
|
+
observer.observe(target, {
|
|
409
569
|
childList: true,
|
|
410
570
|
// Observe changes to child elements
|
|
411
571
|
subtree: true,
|
|
@@ -423,10 +583,12 @@ const useKeyboardFocusables = (element, options = {
|
|
|
423
583
|
};
|
|
424
584
|
}, []);
|
|
425
585
|
const updateFocusables = () => {
|
|
426
|
-
|
|
586
|
+
const target = element instanceof HTMLElement ? element : element?.current;
|
|
587
|
+
if (!target) return;
|
|
588
|
+
setFocusables(tabbable(target));
|
|
427
589
|
};
|
|
428
590
|
return { focusables, updateFocusables };
|
|
429
591
|
};
|
|
430
592
|
|
|
431
593
|
export { useKeyboardFocusables as u };
|
|
432
|
-
//# sourceMappingURL=useKeyboardFocusables-
|
|
594
|
+
//# sourceMappingURL=useKeyboardFocusables-CwVMAe5C-CIHqixNA.js.map
|