@servicetitan/anvil2 1.27.1 → 1.27.2

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