@servicetitan/anvil2 1.27.0 → 1.27.1
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 +13 -0
- package/dist/{Combobox-kxTlPBj5.js → Combobox-BRZIYucw.js} +3 -3
- package/dist/{Combobox-kxTlPBj5.js.map → Combobox-BRZIYucw.js.map} +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/DateField-DHIXyi2_.js +565 -0
- package/dist/DateField-DHIXyi2_.js.map +1 -0
- package/dist/DateField.js +1 -1
- package/dist/{Dialog-6g0s0fvb-DdwUwOVg.js → Dialog-DDsVwnZZ-s9GGnSax.js} +51 -50
- package/dist/Dialog-DDsVwnZZ-s9GGnSax.js.map +1 -0
- package/dist/{Dialog-BVG0m6dn.js → Dialog-wuBdQ785.js} +2 -2
- package/dist/{Dialog-BVG0m6dn.js.map → Dialog-wuBdQ785.js.map} +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/{Drawer-DQSLhTtO.js → Drawer-BX7LCwCa.js} +58 -54
- package/dist/Drawer-BX7LCwCa.js.map +1 -0
- package/dist/Drawer.css +25 -26
- package/dist/Drawer.js +1 -1
- package/dist/InputMask-CiAjFhsc-Bnbf_ZQq.js +195 -0
- package/dist/InputMask-CiAjFhsc-Bnbf_ZQq.js.map +1 -0
- package/dist/{InputMask-DgkoDKtz.js → InputMask-Cifzg7Ee.js} +2 -2
- package/dist/{InputMask-DgkoDKtz.js.map → InputMask-Cifzg7Ee.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{Label-Cmah7p_s-DYYyQxMK.js → Label-Do6kKzVr-BvIRT-vF.js} +3 -3
- package/dist/{Label-Cmah7p_s-DYYyQxMK.js.map → Label-Do6kKzVr-BvIRT-vF.js.map} +1 -1
- package/dist/{Menu-1N6kdaVX.js → Menu-COlGXBmd.js} +2 -2
- package/dist/{Menu-1N6kdaVX.js.map → Menu-COlGXBmd.js.map} +1 -1
- package/dist/Menu.js +1 -1
- package/dist/{Page-DUA2NqcR.js → Page-C5GjTBZh.js} +5 -5
- package/dist/{Page-DUA2NqcR.js.map → Page-C5GjTBZh.js.map} +1 -1
- package/dist/Page.js +1 -1
- package/dist/{Popover-Cbmy9jrU.js → Popover-DAxtbeRA.js} +2 -2
- package/dist/{Popover-Cbmy9jrU.js.map → Popover-DAxtbeRA.js.map} +1 -1
- package/dist/{Popover-Bv4sIKvC-CCbvaK8b.js → Popover-tcXHJePS-CMjz_uId.js} +27 -87
- package/dist/Popover-tcXHJePS-CMjz_uId.js.map +1 -0
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-chBw0MyR-cnNzXxPv.js → ProgressBar-BrXijLda-BDwH4WrE.js} +3 -3
- package/dist/{ProgressBar-chBw0MyR-cnNzXxPv.js.map → ProgressBar-BrXijLda-BDwH4WrE.js.map} +1 -1
- package/dist/{ProgressBar-Cbt2k-7d.js → ProgressBar-aP7gOxee.js} +2 -2
- package/dist/{ProgressBar-Cbt2k-7d.js.map → ProgressBar-aP7gOxee.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{TextField-A_NHddzb.js → TextField-BWHsVZiC.js} +2 -2
- package/dist/{TextField-A_NHddzb.js.map → TextField-BWHsVZiC.js.map} +1 -1
- package/dist/{TextField-CODjlcrt-CsYFQwcu.js → TextField-C614D1ZV-DeVOfPoS.js} +2 -2
- package/dist/{TextField-CODjlcrt-CsYFQwcu.js.map → TextField-C614D1ZV-DeVOfPoS.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-BtVSVQSa.js → Textarea-Dj47MRiF.js} +2 -2
- package/dist/{Textarea-BtVSVQSa.js.map → Textarea-Dj47MRiF.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/Toast.js +1 -1
- package/dist/{Toolbar-ULYSDfhw.js → Toolbar-BAvsl6fK.js} +2 -2
- package/dist/{Toolbar-ULYSDfhw.js.map → Toolbar-BAvsl6fK.js.map} +1 -1
- package/dist/Toolbar.js +1 -1
- package/dist/{Tooltip-DeaFnid1.js → Tooltip-D38gdiV_.js} +2 -2
- package/dist/{Tooltip-DeaFnid1.js.map → Tooltip-D38gdiV_.js.map} +1 -1
- package/dist/{Tooltip-gkNXkPsE-CnvZcZY3.js → Tooltip-DVBEjajY-DN86i_oi.js} +3 -3
- package/dist/{Tooltip-gkNXkPsE-CnvZcZY3.js.map → Tooltip-DVBEjajY-DN86i_oi.js.map} +1 -1
- package/dist/Tooltip.js +1 -1
- package/dist/components/Dialog/Dialog.d.ts +0 -1
- package/dist/components/Drawer/Drawer.d.ts +0 -1
- package/dist/index.js +14 -14
- package/dist/{toast-C-xc_Azo.js → toast-DMKrL2Ew.js} +2 -2
- package/dist/{toast-C-xc_Azo.js.map → toast-DMKrL2Ew.js.map} +1 -1
- package/dist/{useKeyboardFocusables-BYoElaOi-T7ncq79D.js → useKeyboardFocusables-C3hMtJK_-Cz39LRmZ.js} +12 -165
- package/dist/{useKeyboardFocusables-BYoElaOi-T7ncq79D.js.map → useKeyboardFocusables-C3hMtJK_-Cz39LRmZ.js.map} +1 -1
- package/package.json +3 -3
- package/dist/DateField-CaDuuTnX.js +0 -579
- package/dist/DateField-CaDuuTnX.js.map +0 -1
- package/dist/Dialog-6g0s0fvb-DdwUwOVg.js.map +0 -1
- package/dist/Drawer-DQSLhTtO.js.map +0 -1
- package/dist/InputMask-mcs9lD4F-BuCF93Le.js +0 -320
- package/dist/InputMask-mcs9lD4F-BuCF93Le.js.map +0 -1
- package/dist/Popover-Bv4sIKvC-CCbvaK8b.js.map +0 -1
- /package/dist/{Dialog-6g0s0fvb.css → Dialog-DDsVwnZZ.css} +0 -0
- /package/dist/{Label-Cmah7p_s.css → Label-Do6kKzVr.css} +0 -0
- /package/dist/{Popover-Bv4sIKvC.css → Popover-tcXHJePS.css} +0 -0
- /package/dist/{ProgressBar-chBw0MyR.css → ProgressBar-BrXijLda.css} +0 -0
- /package/dist/{Tooltip-gkNXkPsE.css → Tooltip-DVBEjajY.css} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast-C-xc_Azo.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-DrzbHeVc.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-chBw0MyR.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-DrzbHeVc.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-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":";;;;;;;;;;AAEA;AACA;AACA;AACA;AACA,IAAI,SAAS,GAAG,EAAE;AAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE;AAC9B,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnD;AACO,SAAS,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE;AACpgB;;ACjBA;AACA;AACA;;AAEA,IAAI,eAAe;AACnB,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AACf,SAAS,GAAG,GAAG;AAC9B;AACA,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB;AACA,IAAI,eAAe,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;AACpH,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,MAAM,MAAM,IAAI,KAAK,CAAC,0GAA0G,CAAC;AACjI;AACA;AACA,EAAE,OAAO,eAAe,CAAC,KAAK,CAAC;AAC/B;;AChBA,IAAI,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;AACrG,eAAe;AACf,EAAE;AACF,CAAC;;ACAD,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE;AAClC,EAAE,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;AAC7C,IAAI,OAAO,MAAM,CAAC,UAAU,EAAE;AAC9B;AACA,EAAE,OAAO,GAAG,OAAO,IAAI,EAAE;AACzB,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,GAAG;;AAErD;AACA,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI;AACjC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI;AAUjC,EAAE,OAAO,eAAe,CAAC,IAAI,CAAC;AAC9B;;ACZuB,MAAM,OAAO,GAAG,kBAAkB;AACzD,MAAM,MAAM,GAAG,kBAAkB;AACjC,MAAM,OAAO,GAAG,mBAAmB;AACnC,MAAM,IAAI,GAAG,iBAAiB;AAC9B,MAAM,KAAK,GAAG,kBAAkB;AAChC,MAAM,OAAO,GAAG,kBAAkB;AAClC,MAAM,QAAQ,GAAG,mBAAmB;AACpC,MAAM,MAAM,GAAG;AACf,CAAC,OAAO,EAAE,OAAO;AACjB,CAAC,eAAe,EAAE,yBAAyB;AAC3C,CAAC,aAAa,EAAE,uBAAuB;AACvC,CAAC,cAAc,EAAE,wBAAwB;AACzC,CAAC,mBAAmB,EAAE,6BAA6B;AACnD,CAAC,kBAAkB,EAAE,4BAA4B;AACjD,CAAC,MAAM,EAAE,MAAM;AACf,CAAC,OAAO,EAAE,OAAO;AACjB,CAAC,WAAW,EAAE,qBAAqB;AACnC,CAAC,WAAW,EAAE,qBAAqB;AACnC,CAAC,oBAAoB,EAAE,8BAA8B;AACrD,CAAC,eAAe,EAAE,0BAA0B;AAC5C,CAAC,4BAA4B,EAAE,uCAAuC;AACtE,CAAC,gCAAgC,EAAE,2CAA2C;AAC9E,CAAC,sBAAsB,EAAE,iCAAiC;AAC1D,CAAC,IAAI,EAAE,IAAI;AACX,CAAC,KAAK,EAAE,KAAK;AACb,CAAC,OAAO,EAAE,OAAO;AACjB,CAAC,QAAQ,EAAE;AACX,CAAC;;AAED,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAC3C,EAAE,MAAM,EAAE,EAAE;AACZ,EAAE,SAAS,EAAE,MAAM,EAAE;AACrB,EAAE,YAAY,EAAE,EAAE;AAClB,EAAE,eAAe,EAAE,MAAM,EAAE;AAC3B,EAAE,gBAAgB,EAAE,MAAM,CAAC;AAC3B,EAAE,iBAAiB,EAAE,CAAC;AACtB,EAAE,oBAAoB,EAAE,MAAM,EAAE;AAChC,EAAE,kBAAkB,EAAE,KAAK;AAC3B,EAAE,qBAAqB,EAAE,MAAM;AAC/B,CAAC,CAAC;AACF,MAAM,aAAa,GAAG,CAAC,QAAQ,KAAK;AACpC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;AAC1C,EAAE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;AACtD,EAAE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC/D,EAAE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACrE,EAAE,MAAM,qBAAqB,GAAG,CAAC,OAAO,KAAK;AAC7C,IAAI,MAAM,QAAQ,mBAAmB,IAAI,GAAG,EAAE;AAC9C,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK;AACnD,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;AAClC,QAAQ,OAAO,CAAC,KAAK;AACrB,UAAU,CAAC,oCAAoC,EAAE,KAAK,CAAC,EAAE,CAAC,mCAAmC;AAC7F,SAAS;AACT,QAAQ,OAAO,KAAK;AACpB,OAAO,MAAM;AACb,QAAQ,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;AAC9B,QAAQ,OAAO,IAAI;AACnB;AACA,KAAK,CAAC;AACN,IAAI,OAAO,YAAY;AACvB,GAAG;AACH,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC;AACtD,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE;AAC/C,MAAM,SAAS,CAAC,YAAY,CAAC;AAC7B;AACA,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;AACd,EAAE,MAAM,gBAAgB,GAAG,WAAW;AACtC,IAAI,CAAC,KAAK,KAAK;AACf,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;AAC7D,QAAQ,OAAO,KAAK,KAAK,SAAS,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI;AACrD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AAC7B,MAAM,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AACvC,QAAQ,IAAI,kBAAkB,EAAE;AAChC,UAAU,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,aAAa,KAAK;AACzE,YAAY,OAAO,WAAW,GAAG,aAAa;AAC9C,WAAW,CAAC;AACZ;AACA,QAAQ,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,aAAa,KAAK;AAC1I,UAAU,OAAO,WAAW,GAAG,aAAa;AAC5C,SAAS,CAAC;AACV;AACA,MAAM,OAAO,CAAC;AACd,KAAK;AACL,IAAI,CAAC,YAAY,EAAE,kBAAkB,EAAE,iBAAiB;AACxD,GAAG;AACH,EAAE,MAAM,KAAK,GAAG,OAAO;AACvB,IAAI,OAAO;AACX,MAAM,MAAM;AACZ,MAAM,SAAS;AACf,MAAM,YAAY;AAClB,MAAM,eAAe;AACrB,MAAM,gBAAgB;AACtB,MAAM,iBAAiB;AACvB,MAAM,oBAAoB;AAC1B,MAAM,kBAAkB;AACxB,MAAM;AACN,KAAK,CAAC;AACN,IAAI;AACJ,MAAM,kBAAkB;AACxB,MAAM,gBAAgB;AACtB,MAAM,YAAY;AAClB,MAAM,MAAM;AACZ,MAAM;AACN;AACA,GAAG;AACH,EAAE,uBAAuB,GAAG,CAAC,oBAAoB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;AACnF,CAAC;AACD,MAAM,SAAS,GAAG,MAAM;AACxB,EAAE,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC;AAClD,EAAE,IAAI,OAAO,IAAI,IAAI,EAAE;AACvB,IAAI,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;AACrE;AACA,EAAE,OAAO,OAAO;AAChB,CAAC;;AAED,MAAMA,OAAK,GAAG,MAAM;AACpB,EAAE,MAAM,YAAY,GAAG;AACvB,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI;AACJ,GAAG;AACH,EAAE,OAAO,CAAC,KAAK;AACf,IAAI,kDAAkD;AACtD,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3C,CAAC;AACD,GAAG;AACH,CAAC;AACD,MAAM,gBAAgB,GAAG,cAAc;AACvC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;AAC5D,MAAM,OAAO,GAAG,EAAE;AAClB,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAC9B,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK;AAC7B,IAAI,MAAM,QAAQ,GAAG,EAAE,EAAE;AACzB,IAAI,MAAM,aAAa,GAAG,IAAI,WAAW,CAAC,gBAAgB,EAAE;AAC5D,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,MAAM,EAAE;AACd,QAAQ,EAAE,EAAE,QAAQ;AACpB,QAAQ,SAAS,EAAE,KAAK;AACxB,QAAQ,MAAM,EAAE,IAAI;AACpB,QAAQ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AAC7B,QAAQ,GAAG;AACX;AACA,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,aAAa,CAAC;AAChC,IAAI,OAAO,QAAQ;AACnB,GAAG;AACH,CAAC,CAAC;AACF,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,KAAK,KAAK;AAC9B,EAAE,MAAM,UAAU,GAAG,IAAI,WAAW;AACpC,IAAI,gBAAgB;AACpB,IAAI;AACJ,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,MAAM,EAAE;AACd,QAAQ,SAAS,EAAE,QAAQ;AAC3B,QAAQ,EAAE;AACV,QAAQ,GAAG;AACX;AACA;AACA,GAAG;AACH,EAAE,aAAa,CAAC,UAAU,CAAC;AAC3B,CAAC;AACD,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK;AACxB,EAAE,MAAM,UAAU,GAAG,IAAI,WAAW;AACpC,IAAI,gBAAgB;AACpB,IAAI;AACJ,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,MAAM,EAAE;AACd,QAAQ,SAAS,EAAE,SAAS;AAC5B,QAAQ;AACR;AACA;AACA,GAAG;AACH,EAAE,aAAa,CAAC,UAAU,CAAC;AAC3B,CAAC;AACD,MAAM,OAAO,GAAG,OAAO,QAAQ,EAAE,WAAW,KAAK;AACjD,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,GAAG,WAAW,CAAC,OAAO;AAChE,EAAE,IAAI,kBAAkB,GAAG,KAAK;AAChC,EAAE,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK;AACrC,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;AACpC,IAAI,kBAAkB,GAAG,IAAI;AAC7B,GAAG;AACH,EAAE,MAAM,EAAE,GAAGA,OAAK,CAAC,IAAI,CAAC;AACxB,IAAI,GAAG,kBAAkB;AACzB,IAAI,OAAO,EAAE,mBAAmB;AAChC,IAAI,QAAQ,EAAE;AACd,GAAG,CAAC;AACJ,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;AAChD,IAAI,IAAI,kBAAkB,EAAE;AAC5B,MAAMA,OAAK,CAAC,OAAO,CAAC;AACpB,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,OAAO,CAAC;AACR,KAAK,MAAM;AACX,MAAMA,OAAK,CAAC,MAAM,CAAC,EAAE,EAAE;AACvB,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC;AACnC,QAAQ,MAAM,EAAE;AAChB,OAAO,CAAC;AACR;AACA,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;AACpB,IAAI,IAAI,kBAAkB,EAAE;AAC5B,MAAMA,OAAK,CAAC,MAAM,CAAC;AACnB,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG;AAChC,OAAO,CAAC;AACR,KAAK,MAAM;AACX,MAAMA,OAAK,CAAC,MAAM,CAAC,EAAE,EAAE;AACvB,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;AACjC,QAAQ,MAAM,EAAE;AAChB,OAAO,CAAC;AACR;AACA,GAAG,CAAC;AACJ,EAAE,OAAO,EAAE;AACX,CAAC;AACDA,OAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;AACzBA,OAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO;AAC/BA,OAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO;AAC/BA,OAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;AAC7BA,OAAK,CAAC,MAAM,GAAG,MAAM;AACrBA,OAAK,CAAC,OAAO,GAAG,OAAO;AACvBA,OAAK,CAAC,OAAO,GAAG,OAAO;;AAEvB,MAAM,+BAA+B,GAAG,MAAM;AAC9C,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,SAAS,EAAE;AACzD,EAAE,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM;AACzC,EAAE,MAAM,UAAU,GAAG,WAAW,GAAG,iBAAiB,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM;AAC1E,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM;AAC5B,IAAI,IAAI,WAAW,GAAG,iBAAiB,EAAE;AACzC,MAAM,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,WAAW,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7H;AACA,IAAI,OAAO,OAAO;AAClB,GAAG,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;AACvC,EAAE,OAAO;AACT;AACA,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC;AAClD,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,OAAO,EAAE,WAAW,GAAG,iBAAiB,GAAG,SAAS,GAAG;AAC3D,GAAG;AACH,CAAC;AACD,MAAM,oBAAoB,GAAG,WAAW;AACxC,MAAM,yBAAyB,GAAG,MAAM;AACxC,MAAM,SAAS,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;AACjC,MAAM,sBAAsB,GAAG,CAAC,KAAK,KAAK;AAC1C,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,IAAI,iBAAiB;AACrB,IAAI;AACJ,GAAG,GAAG,SAAS,EAAE;AACjB,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM;AAClC,EAAE,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC;AAC/C,EAAE,OAAO,OAAO,CAAC,MAAM;AACvB,IAAI,IAAI,KAAK,KAAK,UAAU,GAAG,CAAC,EAAE;AAClC,MAAM,OAAO;AACb,QAAQ,GAAG,EAAE,SAAS;AACtB,QAAQ,MAAM,EAAE;AAChB,OAAO;AACP,KAAK,MAAM;AACX;AACA,MAAM,kBAAkB;AACxB,MAAM,CAAC,kBAAkB,KAAK,UAAU,IAAI,iBAAiB,IAAI,UAAU,GAAG,iBAAiB,IAAI,KAAK,IAAI,UAAU,GAAG,iBAAiB;AAC1I,MAAM;AACN,MAAM,OAAO;AACb,QAAQ,GAAG,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACrD,OAAO;AACP,KAAK,MAAM;AACX,MAAM,IAAI,UAAU,GAAG,iBAAiB,EAAE;AAC1C,QAAQ,IAAI,KAAK,KAAK,UAAU,GAAG,iBAAiB,GAAG,CAAC,EAAE;AAC1D,UAAU,OAAO;AACjB,YAAY,GAAG,EAAE,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC,KAAK,EAAE,oBAAoB,CAAC;AACxE,cAAc,EAAE,yBAAyB,CAAC,CAAC,CAAC;AAC5C,YAAY,MAAM,EAAE;AACpB,WAAW;AACX,SAAS,MAAM,IAAI,KAAK,IAAI,UAAU,GAAG,iBAAiB,GAAG,CAAC,EAAE;AAChE,UAAU,OAAO;AACjB,YAAY,GAAG,EAAE,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;AAC5C,cAAc,EAAE,oBAAoB,CAAC;AACrC,eAAe,EAAE,yBAAyB,CAAC,KAAK,CAAC;AACjD,YAAY,MAAM,EAAE;AACpB,WAAW;AACX;AACA;AACA;AACA,IAAI,OAAO,SAAS;AACpB,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;AACpB,CAAC;AACD,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,KAAK;AAC1E,EAAE,eAAe,CAAC,CAAC,IAAI,KAAK;AAC5B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;AAC5C,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;AAC7B,QAAQ,IAAI,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE;AAC9B,UAAU,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE;AAC9C;AACA,QAAQ,OAAO,CAAC;AAChB,OAAO,CAAC;AACR;AACA,IAAI,OAAO;AACX,MAAM,GAAG,IAAI;AACb,MAAM;AACN,QAAQ,EAAE,EAAE,OAAO;AACnB,QAAQ,MAAM,EAAE;AAChB;AACA,KAAK;AACL,GAAG,CAAC;AACJ,CAAC;AACD,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,KAAK;AAChE,EAAE,SAAS,CAAC,CAAC,IAAI,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;AAChE,EAAE,eAAe,CAAC,CAAC,IAAI,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;AACtE,CAAC;AACD,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,qBAAqB,EAAE,EAAE,KAAK;AAC9E,EAAE,MAAM,oBAAoB,GAAG,UAAU,CAAC,UAAU;AACpD,IAAI,CAAC,gCAAgC;AACrC,GAAG,CAAC,OAAO;AACX,EAAE,IAAI,oBAAoB,EAAE;AAC5B,IAAI,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,CAAC;AACvD,GAAG,MAAM;AACT,IAAI,SAAS;AACb,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;AAChC,QAAQ,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;AAChC,UAAU,OAAO;AACjB,YAAY,GAAG,CAAC;AAChB,YAAY,cAAc,EAAE;AAC5B,WAAW;AACX;AACA,QAAQ,OAAO,CAAC;AAChB,OAAO;AACP,KAAK;AACL,IAAI,UAAU,CAAC,MAAM;AACrB,MAAM,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,CAAC;AACzD,KAAK,EAAE,GAAG,CAAC;AACX;AACA,CAAC;AACD,MAAM,aAAa,GAAG,CAAC,qBAAqB,KAAK;AACjD,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,SAAS,EAAE;AACpD,EAAE,OAAO,CAAC,EAAE,KAAK;AACjB,IAAI,UAAU,CAAC,SAAS,EAAE,eAAe,EAAE,qBAAqB,EAAE,EAAE,CAAC;AACrE,GAAG;AACH,CAAC;;AAED,MAAM,KAAK,GAAG,UAAU;AACxB,EAAE,CAAC;AACH,IAAI,OAAO;AACX,IAAI,kBAAkB;AACtB,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,KAAK,GAAG,CAAC;AACb,IAAI,iBAAiB;AACrB,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,GAAG;AACP,GAAG,EAAE,GAAG,KAAK;AACb,IAAI,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAAE;AAC/D,IAAI,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,IAAI,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,KAAK,CAAC;AAC7D,IAAI,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;AACxC,IAAI,MAAM,QAAQ,GAAG,MAAM,EAAE;AAC7B,IAAI,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC;AACjC,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;AAC/C,IAAI,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3C,IAAI,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ;AAC1D,MAAM,MAAM,CAAC;AACb,KAAK;AACL,IAAI,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACzD,IAAI,MAAM,YAAY,GAAG,EAAE;AAC3B,MAAM,MAAM,CAAC,aAAa,CAAC;AAC3B,MAAM,cAAc;AACpB,MAAM;AACN,KAAK;AACL,IAAI,SAAS,CAAC,MAAM;AACpB,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC;AACvC,QAAQ,cAAc,CAAC,IAAI,CAAC;AAC5B;AACA,KAAK,EAAE,EAAE,CAAC;AACV,IAAI,SAAS,CAAC,MAAM;AACpB,MAAM,IAAI,eAAe,CAAC,OAAO,IAAI,WAAW,IAAI,CAAC,SAAS,EAAE;AAChE,QAAQ,IAAI,iBAAiB,IAAI,kBAAkB,EAAE;AACrD,UAAU,UAAU,CAAC,MAAM;AAC3B,YAAY,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,YAAY;AAChE,YAAY,sBAAsB,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,CAAC,EAAE,eAAe,CAAC;AAC/E,WAAW,EAAE,GAAG,CAAC;AACjB,SAAS,MAAM;AACf,UAAU,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY;AAC7D,UAAU,sBAAsB,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC;AACxE;AACA;AACA,KAAK,EAAE;AACP,MAAM,WAAW;AACjB,MAAM,SAAS;AACf,MAAM,kBAAkB;AACxB;AACA,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,UAAU,CAAC;AACjB,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,MAAM;AACpB,MAAM,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE;AAClC,QAAQ,IAAI,CAAC,YAAY,EAAE;AAC3B,UAAU,QAAQ,CAAC,OAAO,GAAG,UAAU;AACvC,YAAY,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;AAC3C,YAAY;AACZ,WAAW;AACX,UAAU,OAAO,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;AACrD,SAAS,MAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;AACrD,UAAU,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;AACxC,UAAU,WAAW,CAAC,OAAO,GAAG,YAAY;AAC5C,SAAS,MAAM,IAAI,YAAY,KAAK,SAAS,EAAE;AAC/C,UAAU,MAAM,iBAAiB;AACjC;AACA,YAAY,WAAW,CAAC,OAAO,KAAK,CAAC,GAAG,QAAQ;AAChD;AACA,cAAc,QAAQ,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC;AACnE;AACA,WAAW;AACX,UAAU,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM;AAC9C,YAAY,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;AACrC,YAAY,WAAW,CAAC,OAAO,GAAG,CAAC;AACnC,WAAW,EAAE,iBAAiB,CAAC;AAC/B,UAAU,OAAO,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;AACrD;AACA;AACA,KAAK,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AACtD,IAAI,SAAS,CAAC,MAAM;AACpB,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,IAAI,SAAS,EAAE;AACvB,UAAU,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;AACxC,UAAU,iBAAiB,CAAC,OAAO,GAAG,IAAI;AAC1C,SAAS,MAAM,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,OAAO,IAAI,EAAE,OAAO,YAAY,KAAK,QAAQ,CAAC,EAAE;AACnG,UAAU,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE;AAC3C,UAAU,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM;AAC9C,YAAY,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;AACrC,YAAY,iBAAiB,CAAC,OAAO,GAAG,KAAK;AAC7C,WAAW,EAAE,QAAQ,CAAC;AACtB,UAAU,OAAO,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;AACrD;AACA;AACA,KAAK,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC7B,IAAI,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK;AAC7B,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE;AAC3B,QAAQA,OAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;AACpC,QAAQ;AACR;AACA,KAAK;AACL,IAAI,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;AAC1D,IAAI,MAAM,eAAe,GAAG,SAAS,IAAI,CAAC,kBAAkB,GAAG,EAAE,GAAG;AACpE,MAAM;AACN,KAAK;AACL,IAAI,IAAI,QAAQ,KAAK,KAAK,IAAI,OAAO,EAAE;AACvC,MAAM,MAAM,IAAI,KAAK;AACrB,QAAQ;AACR,OAAO;AACP;AACA,IAAI,MAAM,UAAU,GAAG,OAAO,IAAI,OAAO,KAAK,EAAE;AAChD,IAAI,MAAM,WAAW,GAAG,QAAQ,IAAI,IAAI;AACxC,IAAI,MAAM,UAAU,GAAG,OAAO,IAAI,QAAQ,KAAK,KAAK;AACpD,IAAI,uBAAuB,GAAG;AAC9B,MAAM,KAAK;AACX,MAAM;AACN,QAAQ,UAAU,EAAE,OAAO;AAC3B,QAAQ,SAAS,EAAE,kBAAkB;AACrC,QAAQ,KAAK,EAAE,mBAAmB,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE;AACvD,QAAQ,GAAG,EAAE,eAAe;AAC5B,QAAQ,gBAAgB,EAAE,MAAM,cAAc,CAAC,IAAI,CAAC;AACpD,QAAQ,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS;AACpD,QAAQ,GAAG,UAAU;AACrB,QAAQ,QAAQ,kBAAkB,GAAG;AACrC,UAAU,KAAK;AACf,UAAU;AACV,YAAY,SAAS,EAAE,YAAY;AACnC,YAAY,GAAG,UAAU;AACzB,YAAY,GAAG,eAAe;AAC9B,YAAY,GAAG;AACf,YAAY,QAAQ,EAAE,SAAS,IAAI,CAAC,kBAAkB,GAAG,EAAE,GAAG,CAAC;AAC/D,YAAY,QAAQ,EAAE,UAAU,IAAI,WAAW,IAAI,UAAU,mBAAmB,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE;AAC3G,cAAc,UAAU,mBAAmB,GAAG;AAC9C,gBAAgB,KAAK;AACrB,gBAAgB;AAChB,kBAAkB,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;AACxD,kBAAkB,EAAE,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;AACtD,kBAAkB,QAAQ,EAAE;AAC5B;AACA,eAAe,GAAG,IAAI;AACtB,cAAc,WAAW,mBAAmB,GAAG,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,KAAK,eAAe,mBAAmB,GAAG;AACxH,gBAAgB,WAAW;AAC3B,gBAAgB;AAChB,kBAAkB,iBAAiB,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;AACrE,kBAAkB,aAAa,EAAE;AACjC;AACA,eAAe,mBAAmB,GAAG;AACrC,gBAAgB,WAAW;AAC3B,gBAAgB;AAChB,kBAAkB,iBAAiB,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;AACrE,kBAAkB,KAAK,EAAE;AACzB;AACA,eAAe,EAAE,CAAC,GAAG,IAAI;AACzB,cAAc,UAAU,mBAAmB,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE;AACtG,gCAAgC,GAAG;AACnC,kBAAkB,MAAM;AACxB,kBAAkB;AAClB,oBAAoB,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;AAC1D,oBAAoB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;AACpD,oBAAoB,IAAI,EAAE,OAAO;AACjC,oBAAoB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC;AAC9C;AACA,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,SAAS,oBAAoB,GAAG;AACxD,kBAAkB,MAAM;AACxB,kBAAkB;AAClB,oBAAoB,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU;AAC5D,oBAAoB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO;AACtD,oBAAoB,IAAI,EAAE,OAAO;AACjC,oBAAoB,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC;AAChD;AACA;AACA,eAAe,EAAE,CAAC,GAAG;AACrB,aAAa,EAAE,CAAC,GAAG;AACnB;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,KAAK,CAAC,WAAW,GAAG,OAAO;;AAE3B,SAAS,cAAc,CAAC;AACxB,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE,UAAU;AACZ,EAAE,WAAW;AACb,EAAE,UAAU;AACZ,EAAE;AACF,CAAC,EAAE;AACH,EAAE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACvE,EAAE,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC;AAC3C,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACrD,IAAI,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO;AACvC,IAAI,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK;AAC/B,MAAM,IAAI,CAAC,CAAC,aAAa,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE;AACpE,QAAQ;AACR;AACA,MAAM,sBAAsB,CAAC,KAAK,CAAC;AACnC,KAAK;AACL,IAAI,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK;AACxC,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,aAAa,IAAI,QAAQ,CAAC,aAAa;AACvG,MAAM,IAAI,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU,IAAI,aAAa,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,EAAE;AACzL,QAAQ,CAAC,CAAC,cAAc,EAAE;AAC1B,QAAQ,oBAAoB,CAAC,OAAO,GAAG,aAAa;AACpD,QAAQ,MAAM,UAAU,IAAI;AAC5B,QAAQ,IAAI,UAAU,CAAC,OAAO,EAAE;AAChC,UAAU,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE;AACpC,UAAU,sBAAsB,CAAC,IAAI,CAAC;AACtC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC3C,YAAY,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE;AACzC;AACA;AACA,OAAO,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,mBAAmB,EAAE;AAC7D,QAAQ,WAAW,IAAI;AACvB,QAAQ,IAAI,oBAAoB,CAAC,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE;AAC3G,UAAU,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE;AAC9C,SAAS,MAAM;AACf,UAAU,aAAa,CAAC,IAAI,EAAE;AAC9B;AACA;AACA,KAAK;AACL,IAAI,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC;AACxD,IAAI,WAAW,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC;AACzD,IAAI,OAAO,MAAM;AACjB,MAAM,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC;AAC7D,MAAM,WAAW,CAAC,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC;AAC9D,KAAK;AACL,GAAG,EAAE;AACL,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,mBAAmB;AACvB,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE;AACjD;;AAEA,MAAMC,SAAO,GAAG,UAAU;AAC1B,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK;AAClB,IAAI,uBAAuB,GAAG,CAAC,aAAa,EAAE,EAAE,QAAQ,kBAAkB,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;AACtH;AACA,CAAC;AACD,MAAM,cAAc,GAAG,UAAU;AACjC,EAAE,CAAC;AACH,IAAI,SAAS;AACb,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,QAAQ,GAAG,GAAG;AAClB,IAAI,WAAW,GAAG,KAAK;AACvB,IAAI,EAAE;AACN,IAAI,iBAAiB,GAAG,CAAC;AACzB,IAAI,GAAG;AACP,GAAG,EAAE,GAAG,KAAK;AACb,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;AACnC,IAAI,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC;AACtC,IAAI,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC5D,IAAI,MAAM;AACV,MAAM,MAAM;AACZ,MAAM,oBAAoB;AAC1B,MAAM,kBAAkB;AACxB,MAAM,qBAAqB;AAC3B,MAAM,SAAS;AACf,MAAM;AACN,KAAK,GAAG,SAAS,EAAE;AACnB,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM;AACpC,IAAI,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC;AACpC,IAAI,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC;AAC7C,IAAI,MAAM,6BAA6B,GAAG,MAAM,CAAC,KAAK,CAAC;AACvD,IAAI,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,IAAI,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AACzD,IAAI,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;AAC1D,IAAI,MAAM,mBAAmB,GAAG,MAAM;AACtC,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB;AAChD,QAAQ;AACR,OAAO;AACP,MAAM,MAAM,kBAAkB,GAAG;AACjC,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,CAAC,YAAY;AACvD,OAAO;AACP,MAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,QAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK;AACjC,UAAU,UAAU,CAAC,MAAM;AAC3B,YAAY,IAAI,EAAE,CAAC,UAAU,EAAE;AAC/B,cAAc,kBAAkB,CAAC,IAAI;AACrC,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,aAAa;AAC/D,eAAe;AACf;AACA,YAAY,gBAAgB,CAAC,kBAAkB,CAAC;AAChD,WAAW,CAAC;AACZ,SAAS,CAAC;AACV,OAAO,MAAM;AACb,QAAQ,gBAAgB,CAAC,kBAAkB,CAAC;AAC5C;AACA,KAAK;AACL,IAAI,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM;AAChD,MAAM,qBAAqB,CAAC,KAAK,CAAC;AAClC,MAAM,oBAAoB,CAAC,SAAS,CAAC;AACrC,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE;AACxC,QAAQ,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1C;AACA,KAAK,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAC/B,IAAI,SAAS,CAAC,MAAM;AACpB,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK;AACxC,QAAQ,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;AAC1E,QAAQ,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,EAAE;AAChH,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE;AACnF,UAAU;AACV,SAAS,MAAM;AACf;AACA,UAAU,cAAc,CAAC,MAAM,IAAI,EAAE,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB;AAC1F,UAAU;AACV,UAAU;AACV;AACA,QAAQ,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,CAAC,CAAC,MAAM;AACrD,QAAQ,IAAI,SAAS,KAAK,KAAK,EAAE;AACjC,UAAU,MAAM,aAAa,GAAG,UAAU;AAC1C,UAAU,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,KAAK,EAAE,EAAE;AAC1E,YAAY,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC;AACtD;AACA,SAAS,MAAM,IAAI,SAAS,KAAK,QAAQ,EAAE;AAC3C,UAAU,SAAS,CAAC,CAAC,IAAI,KAAK;AAC9B,YAAY,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;AACnC,cAAc,IAAI,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,EAAE;AAC1C,gBAAgB,OAAO;AACvB,kBAAkB,GAAG,CAAC;AACtB,kBAAkB,GAAG;AACrB,iBAAiB;AACjB,eAAe,MAAM;AACrB,gBAAgB,OAAO,CAAC;AACxB;AACA,aAAa,CAAC;AACd,WAAW,CAAC;AACZ,SAAS,MAAM,IAAI,SAAS,KAAK,SAAS,EAAE;AAC5C,UAAU,IAAI,UAAU,CAAC,EAAE,EAAE;AAC7B,YAAY,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;AACrC,WAAW,MAAM;AACjB,YAAY,UAAU,EAAE;AACxB;AACA;AACA,OAAO;AACP,MAAM,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC;AACjE,MAAM,oBAAoB,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,mBAAmB,CAAC;AAC9E,MAAM,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,kBAAkB,CAAC;AACjF,KAAK,EAAE,EAAE,CAAC;AACV,IAAI,SAAS,CAAC,MAAM;AACpB,MAAM,IAAI,oBAAoB,CAAC,OAAO,KAAK,IAAI,EAAE;AACjD,QAAQ,IAAI,UAAU,GAAG,CAAC,IAAI,6BAA6B,CAAC,OAAO,KAAK,KAAK,EAAE;AAC/E,UAAU,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC9D,YAAY,SAAS,EAAE,IAAI;AAC3B,YAAY,OAAO,EAAE;AACrB,WAAW,CAAC;AACZ,UAAU,6BAA6B,CAAC,OAAO,GAAG,IAAI;AACtD,UAAU,mBAAmB,EAAE;AAC/B,SAAS,MAAM,IAAI,UAAU,KAAK,CAAC,IAAI,6BAA6B,CAAC,OAAO,KAAK,IAAI,EAAE;AACvF,UAAU,oBAAoB,CAAC,OAAO,CAAC,UAAU,EAAE;AACnD,UAAU,6BAA6B,CAAC,OAAO,GAAG,KAAK;AACvD;AACA;AACA,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC;AACpB,IAAI,SAAS,CAAC,MAAM;AACpB,MAAM,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AACrD,QAAQ,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AACzC,UAAU,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,KAAK,CAAC,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC;AAC3F,SAAS,CAAC;AACV;AACA,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;AAC7C,IAAI,SAAS,CAAC,MAAM;AACpB,MAAM,IAAI,KAAK;AACf,MAAM,IAAI,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE;AAC/C,QAAQ,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;AAC5C,OAAO,MAAM;AACb,QAAQ,KAAK,GAAG,UAAU,CAAC,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,EAAE,GAAG,CAAC;AAC3E;AACA,MAAM,cAAc,CAAC,OAAO,GAAG,UAAU;AACzC,MAAM,OAAO,MAAM;AACnB,QAAQ,YAAY,CAAC,KAAK,CAAC;AAC3B,OAAO;AACP,KAAK,EAAE,CAAC,gBAAgB,CAAC,CAAC;AAC1B,IAAI,SAAS,CAAC,MAAM;AACpB,MAAM,oBAAoB,CAAC,iBAAiB,CAAC;AAC7C,KAAK,EAAE,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;AACjD,IAAI,MAAM,cAAc,GAAG,UAAU,KAAK,CAAC;AAC3C,IAAI,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC;AAC9C,MAAM,QAAQ,EAAE,cAAc;AAC9B,MAAM,MAAM,EAAE,QAAQ;AACtB,MAAM,UAAU,EAAE,YAAY;AAC9B,QAAQ,qBAAqB,CAAC,IAAI,CAAC;AACnC,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;AACxC,UAAU,UAAU,CAAC,MAAM;AAC3B,YAAY,OAAO,EAAE;AACrB,WAAW,EAAE,GAAG,CAAC;AACjB,SAAS,CAAC;AACV,OAAO;AACP,MAAM,WAAW,EAAE,MAAM;AACzB,QAAQ,qBAAqB,CAAC,KAAK,CAAC;AACpC,QAAQ,iBAAiB,EAAE;AAC3B,OAAO;AACP,MAAM,UAAU,EAAE,aAAa;AAC/B,MAAM,OAAO,EAAE;AACf,KAAK,CAAC;AACN,IAAI,MAAM,4BAA4B,GAAG,+BAA+B,EAAE;AAC1E,IAAI,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC;AACzE,IAAI,MAAM,cAAc,GAAG,CAAC,kBAAkB,IAAI,UAAU,GAAG,iBAAiB;AAChF,IAAI,MAAM,iBAAiB,GAAG,UAAU,GAAG,iBAAiB;AAC5D,IAAI,MAAM,kBAAkB,GAAG,CAAC,EAAE,iBAAiB,CAAC,aAAa,EAAE,iBAAiB,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;AACrG,IAAI,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE;AACzD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,cAAc;AAClD,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG;AACpC,KAAK,CAAC;AACN,IAAI,MAAM,uBAAuB,GAAG,MAAM;AAC1C,MAAM,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS,EAAE;AAC9E,QAAQ,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACxC;AACA,KAAK;AACL,IAAI,MAAM,mBAAmB,GAAG,MAAM;AACtC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE;AACzD,QAAQ,iBAAiB,EAAE;AAC3B;AACA,KAAK;AACL,IAAI,uBAAuB,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE;AACtD,sBAAsB,IAAI;AAC1B,QAAQ,KAAK;AACb,QAAQ;AACR,UAAU,UAAU,EAAE,SAAS;AAC/B,UAAU,iBAAiB,EAAE,EAAE;AAC/B,UAAU,SAAS,EAAE,cAAc;AACnC,UAAU,GAAG,EAAE,gBAAgB;AAC/B,UAAU,WAAW,EAAE,uBAAuB;AAC9C,UAAU,YAAY,EAAE,iBAAiB;AACzC,UAAU,OAAO,EAAE,uBAAuB;AAC1C,UAAU,MAAM,EAAE,mBAAmB;AACrC,UAAU,KAAK,EAAE;AACjB,YAAY,MAAM,EAAE,kBAAkB,GAAG,OAAO,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,mCAAmC;AAC5G,WAAW;AACX,UAAU,GAAG,KAAK;AAClB,UAAU,QAAQ,EAAE;AACpB,YAAY,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,EAAE,KAAK,KAAK;AAC9E,cAAc,MAAM,SAAS,GAAG,CAAC,kBAAkB,IAAI,KAAK,GAAG,UAAU,GAAG,iBAAiB;AAC7F,cAAc,MAAM,oBAAoB,GAAG,KAAK,KAAK,UAAU,GAAG,iBAAiB;AACnF,cAAc,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,iBAAiB,GAAG,CAAC;AACzE,cAAc,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC;AACnE,cAAc,MAAM,qBAAqB,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;AACxE,gBAAgB,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,IAAI,oBAAoB;AACnE,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,IAAI,KAAK,KAAK,UAAU,GAAG,iBAAiB,GAAG,CAAC;AAChG,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,IAAI,KAAK,KAAK,UAAU,GAAG,iBAAiB,GAAG,CAAC;AAChG,gBAAgB,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,QAAQ;AACnD,gBAAgB,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG;AAChD,eAAe,CAAC;AAChB,cAAc,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK;AAC3C,gBAAgB,OAAO,GAAG,CAAC,CAAC;AAC5B,gBAAgB,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE;AAC/C,gBAAgBD,OAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;AAC5C,eAAe;AACf,cAAc,uBAAuB,GAAG;AACxC,gBAAgB,KAAK;AACrB,gBAAgB;AAChB,kBAAkB,kBAAkB,EAAE,qBAAqB;AAC3D,kBAAkB,QAAQ;AAC1B,kBAAkB,KAAK;AACvB,kBAAkB,SAAS;AAC3B,kBAAkB,iBAAiB,EAAE,KAAK,GAAG,UAAU,GAAG,iBAAiB;AAC3E,kBAAkB,OAAO,EAAE,aAAa;AACxC,kBAAkB,YAAY,EAAE,iBAAiB;AACjD,kBAAkB,cAAc,EAAE,YAAY;AAC9C,kBAAkB,GAAG,EAAE,KAAK,KAAK,CAAC,GAAG,aAAa,GAAG,SAAS;AAC9D,kBAAkB,GAAG;AACrB,iBAAiB;AACjB,gBAAgB,UAAU,CAAC;AAC3B,eAAe;AACf,aAAa,CAAC;AACd,YAAY,cAAc,oBAAoB,GAAG;AACjD,cAAc,KAAK;AACnB,cAAc;AACd,gBAAgB,SAAS,EAAE,MAAM,CAAC,4BAA4B,CAAC;AAC/D,gBAAgB,KAAK,EAAE,4BAA4B;AACnD,gBAAgB,QAAQ,kBAAkB,GAAG;AAC7C,kBAAkB,MAAM;AACxB,kBAAkB;AAClB,oBAAoB,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC;AAC7D,oBAAoB,OAAO,EAAE,MAAM,qBAAqB,CAAC,IAAI,CAAC;AAC9D,oBAAoB,UAAU,EAAE,WAAW;AAC3C,oBAAoB,QAAQ,EAAE,CAAC;AAC/B,oBAAoB,QAAQ,EAAE;AAC9B;AACA;AACA;AACA,aAAa;AACb,4BAA4B,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC5E,cAAc,wCAAwC;AACtD,cAAc,QAAQ;AACtB,cAAc;AACd,aAAa,EAAE;AACf;AACA;AACA,OAAO;AACP,MAAM,kBAAkB,oBAAoB,GAAG,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,gCAAgC,CAAC,EAAE,QAAQ,kBAAkB,GAAG;AAC3I,QAAQ,MAAM;AACd,QAAQ;AACR,UAAU,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC;AACnD,UAAU,OAAO,EAAE,iBAAiB;AACpC,UAAU,UAAU,EAAE,WAAW;AACjC,UAAU,QAAQ,EAAE;AACpB;AACA,OAAO,EAAE;AACT,KAAK,EAAE,CAAC;AACR;AACA,CAAC;AACDC,SAAO,CAAC,WAAW,GAAG,SAAS;AAC/B,cAAc,CAAC,WAAW,GAAG,gBAAgB;;AC71BtC,MAAM,OAAU,GAAA,UAAA;AAAA,EACrB,CAAC,OAAyB,GAA6B,KAAA;AACrD,IAAA,uBAAQ,GAAA,CAAAC,SAAA,EAAA,EAAY,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAE7C;;ACLO,MAAM,KAAQ,GAAAC;;;;","x_google_ignoreList":[0,1,2,3]}
|
|
@@ -49,20 +49,6 @@ 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
|
-
|
|
66
52
|
/**
|
|
67
53
|
* @param {Element} el container to check in
|
|
68
54
|
* @param {boolean} includeContainer add container to check
|
|
@@ -181,60 +167,6 @@ var getCandidatesIteratively = function getCandidatesIteratively(elements, inclu
|
|
|
181
167
|
}
|
|
182
168
|
return candidates;
|
|
183
169
|
};
|
|
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
|
-
};
|
|
238
170
|
var isInput = function isInput(node) {
|
|
239
171
|
return node.tagName === 'INPUT';
|
|
240
172
|
};
|
|
@@ -247,42 +179,6 @@ var isDetailsWithSummary = function isDetailsWithSummary(node) {
|
|
|
247
179
|
});
|
|
248
180
|
return r;
|
|
249
181
|
};
|
|
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
|
-
};
|
|
286
182
|
|
|
287
183
|
// determines if a node is ultimately attached to the window's document
|
|
288
184
|
var isNodeAttached = function isNodeAttached(node) {
|
|
@@ -473,65 +369,19 @@ var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(o
|
|
|
473
369
|
}
|
|
474
370
|
return true;
|
|
475
371
|
};
|
|
476
|
-
var
|
|
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) {
|
|
372
|
+
var focusable = function focusable(container, options) {
|
|
522
373
|
options = options || {};
|
|
523
374
|
var candidates;
|
|
524
375
|
if (options.getShadowRoot) {
|
|
525
376
|
candidates = getCandidatesIteratively([container], options.includeContainer, {
|
|
526
|
-
filter:
|
|
527
|
-
flatten:
|
|
528
|
-
getShadowRoot: options.getShadowRoot
|
|
529
|
-
shadowRootFilter: isValidShadowRootTabbable
|
|
377
|
+
filter: isNodeMatchingSelectorFocusable.bind(null, options),
|
|
378
|
+
flatten: true,
|
|
379
|
+
getShadowRoot: options.getShadowRoot
|
|
530
380
|
});
|
|
531
381
|
} else {
|
|
532
|
-
candidates = getCandidates(container, options.includeContainer,
|
|
382
|
+
candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));
|
|
533
383
|
}
|
|
534
|
-
return
|
|
384
|
+
return candidates;
|
|
535
385
|
};
|
|
536
386
|
|
|
537
387
|
const useKeyboardFocusables = (element, options = {
|
|
@@ -544,19 +394,18 @@ const useKeyboardFocusables = (element, options = {
|
|
|
544
394
|
const [focusables, setFocusables] = useState(null);
|
|
545
395
|
const observerRef = useRef();
|
|
546
396
|
useEffect(() => {
|
|
547
|
-
|
|
548
|
-
if (!target) return;
|
|
397
|
+
if (!element.current) return;
|
|
549
398
|
if (observerRef.current) return;
|
|
550
399
|
if (!options.observeChange && !focusables) {
|
|
551
|
-
setFocusables(
|
|
400
|
+
setFocusables(focusable(element.current));
|
|
552
401
|
return;
|
|
553
402
|
}
|
|
554
403
|
const mutationCallback = () => {
|
|
555
|
-
setFocusables(
|
|
404
|
+
setFocusables(focusable(element.current));
|
|
556
405
|
};
|
|
557
406
|
const observer = new MutationObserver(mutationCallback);
|
|
558
407
|
observerRef.current = observer;
|
|
559
|
-
observer.observe(
|
|
408
|
+
observer.observe(element.current, {
|
|
560
409
|
childList: true,
|
|
561
410
|
// Observe changes to child elements
|
|
562
411
|
subtree: true,
|
|
@@ -574,12 +423,10 @@ const useKeyboardFocusables = (element, options = {
|
|
|
574
423
|
};
|
|
575
424
|
}, []);
|
|
576
425
|
const updateFocusables = () => {
|
|
577
|
-
|
|
578
|
-
if (!target) return;
|
|
579
|
-
setFocusables(tabbable(target));
|
|
426
|
+
setFocusables(focusable(element.current));
|
|
580
427
|
};
|
|
581
428
|
return { focusables, updateFocusables };
|
|
582
429
|
};
|
|
583
430
|
|
|
584
431
|
export { useKeyboardFocusables as u };
|
|
585
|
-
//# sourceMappingURL=useKeyboardFocusables-
|
|
432
|
+
//# sourceMappingURL=useKeyboardFocusables-C3hMtJK_-Cz39LRmZ.js.map
|