vrembem 3.0.13 → 4.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../core/dist/index.js","../../checkbox/dist/index.js","../../drawer/dist/index.js","../../modal/dist/index.js","../../popover/dist/index.js"],"sourcesContent":["var b = (t, e, n) => {\n if (!e.has(t))\n throw TypeError(\"Cannot \" + n);\n};\nvar o = (t, e, n) => (b(t, e, \"read from private field\"), n ? n.call(t) : e.get(t)), f = (t, e, n) => {\n if (e.has(t))\n throw TypeError(\"Cannot add the same private member more than once\");\n e instanceof WeakSet ? e.add(t) : e.set(t, n);\n}, a = (t, e, n, i) => (b(t, e, \"write to private field\"), i ? i.call(t, n) : e.set(t, n), n);\nvar r;\nclass $ {\n constructor(e, n) {\n f(this, r, void 0);\n this.value = e, a(this, r, n), this.mql = null;\n }\n get handler() {\n return o(this, r);\n }\n // Unmount existing handler before setting a new one.\n set handler(e) {\n this.mql && (typeof this.mql.removeEventListener == \"function\" ? this.mql.removeEventListener(\"change\", o(this, r)) : this.mql.removeListener(o(this, r))), a(this, r, e);\n }\n mount(e, n) {\n return e && (this.value = e), n && a(this, r, n), this.value ? (this.mql = window.matchMedia(`(min-width: ${this.value})`), typeof this.mql.addEventListener == \"function\" ? this.mql.addEventListener(\"change\", o(this, r)) : this.mql.addListener(o(this, r)), o(this, r).call(this, this.mql), this) : this;\n }\n unmount() {\n return this.mql ? (typeof this.mql.removeEventListener == \"function\" ? this.mql.removeEventListener(\"change\", o(this, r)) : this.mql.removeListener(o(this, r)), this.value = null, a(this, r, null), this.mql = null, this) : this;\n }\n}\nr = new WeakMap();\nclass T {\n constructor() {\n this.collection = [];\n }\n async register(e) {\n return await this.deregister(e), this.collection.push(e), this.collection;\n }\n async deregister(e) {\n const n = this.collection.findIndex((i) => i === e);\n if (n >= 0) {\n const i = this.collection[n];\n Object.getOwnPropertyNames(i).forEach((l) => {\n delete i[l];\n }), this.collection.splice(n, 1);\n }\n return this.collection;\n }\n async registerCollection(e) {\n return await Promise.all(Array.from(e, (n) => {\n this.register(n);\n })), this.collection;\n }\n async deregisterCollection() {\n for (; this.collection.length > 0; )\n await this.deregister(this.collection[0]);\n return this.collection;\n }\n get(e, n = \"id\") {\n return this.collection.find((i) => i[n] === e);\n }\n}\nconst s = {\n inert: \":not([inert]):not([inert] *)\",\n negTabIndex: ':not([tabindex^=\"-\"])',\n disabled: \":not(:disabled)\"\n}, v = [\n `a[href]${s.inert}${s.negTabIndex}`,\n `area[href]${s.inert}${s.negTabIndex}`,\n `input:not([type=\"hidden\"]):not([type=\"radio\"])${s.inert}${s.negTabIndex}${s.disabled}`,\n `input[type=\"radio\"]${s.inert}${s.negTabIndex}${s.disabled}`,\n `select${s.inert}${s.negTabIndex}${s.disabled}`,\n `textarea${s.inert}${s.negTabIndex}${s.disabled}`,\n `button${s.inert}${s.negTabIndex}${s.disabled}`,\n `details${s.inert} > summary:first-of-type${s.negTabIndex}`,\n // Discard until Firefox supports `:has()`\n // See: https://github.com/KittyGiraudel/focusable-selectors/issues/12\n // `details:not(:has(> summary))${not.inert}${not.negTabIndex}`,\n `iframe${s.inert}${s.negTabIndex}`,\n `audio[controls]${s.inert}${s.negTabIndex}`,\n `video[controls]${s.inert}${s.negTabIndex}`,\n `[contenteditable]${s.inert}${s.negTabIndex}`,\n `[tabindex]${s.inert}${s.negTabIndex}`\n];\nvar h, d, u;\nclass x {\n constructor(e = null, n = \"[data-focus]\") {\n f(this, h, void 0);\n f(this, d, void 0);\n f(this, u, void 0);\n this.el = e, this.selectorFocus = n, a(this, d, p.bind(this)), a(this, u, g.bind(this));\n }\n get focusable() {\n return o(this, h);\n }\n set focusable(e) {\n a(this, h, e), o(this, h).length ? (document.removeEventListener(\"keydown\", o(this, u)), document.addEventListener(\"keydown\", o(this, d))) : (document.removeEventListener(\"keydown\", o(this, d)), document.addEventListener(\"keydown\", o(this, u)));\n }\n get focusableFirst() {\n return this.focusable[0];\n }\n get focusableLast() {\n return this.focusable[this.focusable.length - 1];\n }\n mount(e, n) {\n e && (this.el = e), n && (this.selectorFocus = n), this.focusable = this.getFocusable(), this.focus();\n }\n unmount() {\n this.el = null, this.focusable = [], document.removeEventListener(\"keydown\", o(this, d)), document.removeEventListener(\"keydown\", o(this, u));\n }\n focus(e = this.el, n = this.selectorFocus) {\n (e.querySelector(n) || e).focus();\n }\n getFocusable(e = this.el) {\n const n = [], i = document.activeElement, l = e.scrollTop;\n return e.querySelectorAll(v.join(\",\")).forEach((m) => {\n m.focus(), document.activeElement === m && n.push(m);\n }), e.scrollTop = l, i.focus(), n;\n }\n}\nh = new WeakMap(), d = new WeakMap(), u = new WeakMap();\nfunction p(t) {\n (t.key === \"Tab\" || t.keyCode === 9) && (t.shiftKey ? (document.activeElement === this.focusableFirst || document.activeElement === this.el) && (t.preventDefault(), this.focusableLast.focus()) : (document.activeElement === this.focusableLast || document.activeElement === this.el) && (t.preventDefault(), this.focusableFirst.focus()));\n}\nfunction g(t) {\n (t.key === \"Tab\" || t.keyCode === 9) && t.preventDefault();\n}\nfunction q(t, e) {\n const i = (t.getAttribute(`data-${e}`) || \"\").replace(/'/g, '\"');\n return i ? JSON.parse(i) : {};\n}\nfunction I() {\n return getComputedStyle(document.body).getPropertyValue(\"--vrembem-variable-prefix\").trim();\n}\nfunction C(t, e = !0) {\n const n = localStorage.getItem(t), i = n ? JSON.parse(n) : {};\n return {\n get(l) {\n return l ? i[l] : i;\n },\n set(l, c) {\n return c ? i[l] = c : delete i[l], e && localStorage.setItem(t, JSON.stringify(i)), i;\n }\n };\n}\nfunction O(t, e, n) {\n const i = e.nodeType === Node.COMMENT_NODE, l = e.nodeType === Node.ELEMENT_NODE;\n if (e = i || l ? e : document.querySelector(e), i && (n = \"after\"), !e)\n throw new Error(`Not a valid teleport reference: '${e}'`);\n if (typeof e[n] != \"function\")\n throw new Error(`Not a valid teleport method: '${n}'`);\n let c = null;\n return i || (c = document.createComment(\"teleported #\" + t.id), t.before(c)), e[n](t), i && e.remove(), c;\n}\nconst S = (t, e) => new Promise((n) => {\n e.transition ? (t.classList.remove(e.stateClosed), t.classList.add(e.stateOpening), t.addEventListener(\"transitionend\", function i() {\n t.classList.add(e.stateOpened), t.classList.remove(e.stateOpening), n(t), this.removeEventListener(\"transitionend\", i);\n })) : (t.classList.add(e.stateOpened), t.classList.remove(e.stateClosed), n(t));\n}), F = (t, e) => new Promise((n) => {\n e.transition ? (t.classList.add(e.stateClosing), t.classList.remove(e.stateOpened), t.addEventListener(\"transitionend\", function i() {\n t.classList.remove(e.stateClosing), t.classList.add(e.stateClosed), n(t), this.removeEventListener(\"transitionend\", i);\n })) : (t.classList.add(e.stateClosed), t.classList.remove(e.stateOpened), n(t));\n});\nfunction y(t, e) {\n e && document.querySelectorAll(e).forEach((i) => {\n t ? i.style.overflow = \"hidden\" : i.style.removeProperty(\"overflow\");\n });\n}\nfunction L(t, e) {\n e && document.querySelectorAll(e).forEach((i) => {\n t ? (i.inert = !0, i.setAttribute(\"aria-hidden\", !0)) : (i.inert = null, i.removeAttribute(\"aria-hidden\"));\n });\n}\nfunction k(t, e) {\n L(!!t, e.selectorInert), y(!!t, e.selectorOverflow);\n}\nexport {\n $ as Breakpoint,\n T as Collection,\n x as FocusTrap,\n F as closeTransition,\n q as getConfig,\n I as getPrefix,\n C as localStore,\n S as openTransition,\n O as teleport,\n k as updateGlobalState\n};\n//# sourceMappingURL=index.js.map\n","const i = {\n autoInit: !1,\n stateAttr: \"aria-checked\",\n stateValue: \"mixed\"\n};\nclass r {\n constructor(t) {\n this.defaults = i, this.settings = { ...this.defaults, ...t }, this.__handlerClick = this.handlerClick.bind(this), this.settings.autoInit && this.init();\n }\n init(t = null) {\n t && (this.settings = { ...this.settings, ...t });\n const e = `[${this.settings.stateAttr}=\"${this.settings.stateValue}\"]`, s = document.querySelectorAll(e);\n this.setIndeterminate(s), document.addEventListener(\"click\", this.__handlerClick, !1);\n }\n destroy() {\n document.removeEventListener(\"click\", this.__handlerClick, !1);\n }\n handlerClick(t) {\n const e = `[${this.settings.stateAttr}=\"${this.settings.stateValue}\"]`, s = t.target.closest(e);\n s && (this.removeAriaState(s), this.setIndeterminate(s));\n }\n setAriaState(t, e = this.settings.stateValue) {\n t = t.forEach ? t : [t], t.forEach((s) => {\n s.setAttribute(this.settings.stateAttr, e);\n });\n }\n removeAriaState(t) {\n t = t.forEach ? t : [t], t.forEach((e) => {\n e.removeAttribute(this.settings.stateAttr);\n });\n }\n setIndeterminate(t) {\n t = t.forEach ? t : [t], t.forEach((e) => {\n e.hasAttribute(this.settings.stateAttr) ? e.indeterminate = !0 : e.indeterminate = !1;\n });\n }\n}\nexport {\n r as default\n};\n//# sourceMappingURL=index.js.map\n","var S = (t, e, s) => {\n if (!e.has(t))\n throw TypeError(\"Cannot \" + s);\n};\nvar p = (t, e, s) => (S(t, e, \"read from private field\"), s ? s.call(t) : e.get(t)), E = (t, e, s) => {\n if (e.has(t))\n throw TypeError(\"Cannot add the same private member more than once\");\n e instanceof WeakSet ? e.add(t) : e.set(t, s);\n}, $ = (t, e, s, i) => (S(t, e, \"write to private field\"), i ? i.call(t, s) : e.set(t, s), s);\nvar I = (t, e, s) => {\n if (!e.has(t))\n throw TypeError(\"Cannot \" + s);\n}, l = (t, e, s) => (I(t, e, \"read from private field\"), s ? s.call(t) : e.get(t)), w = (t, e, s) => {\n if (e.has(t))\n throw TypeError(\"Cannot add the same private member more than once\");\n e instanceof WeakSet ? e.add(t) : e.set(t, s);\n}, h = (t, e, s, i) => (I(t, e, \"write to private field\"), i ? i.call(t, s) : e.set(t, s), s), c;\nclass M {\n constructor(e, s) {\n w(this, c, void 0), this.value = e, h(this, c, s), this.mql = null;\n }\n get handler() {\n return l(this, c);\n }\n // Unmount existing handler before setting a new one.\n set handler(e) {\n this.mql && (typeof this.mql.removeEventListener == \"function\" ? this.mql.removeEventListener(\"change\", l(this, c)) : this.mql.removeListener(l(this, c))), h(this, c, e);\n }\n mount(e, s) {\n return e && (this.value = e), s && h(this, c, s), this.value ? (this.mql = window.matchMedia(`(min-width: ${this.value})`), typeof this.mql.addEventListener == \"function\" ? this.mql.addEventListener(\"change\", l(this, c)) : this.mql.addListener(l(this, c)), l(this, c).call(this, this.mql), this) : this;\n }\n unmount() {\n return this.mql ? (typeof this.mql.removeEventListener == \"function\" ? this.mql.removeEventListener(\"change\", l(this, c)) : this.mql.removeListener(l(this, c)), this.value = null, h(this, c, null), this.mql = null, this) : this;\n }\n}\nc = /* @__PURE__ */ new WeakMap();\nclass P {\n constructor() {\n this.collection = [];\n }\n async register(e) {\n return await this.deregister(e), this.collection.push(e), this.collection;\n }\n async deregister(e) {\n const s = this.collection.findIndex((i) => i === e);\n if (s >= 0) {\n const i = this.collection[s];\n Object.getOwnPropertyNames(i).forEach((n) => {\n delete i[n];\n }), this.collection.splice(s, 1);\n }\n return this.collection;\n }\n async registerCollection(e) {\n return await Promise.all(Array.from(e, (s) => {\n this.register(s);\n })), this.collection;\n }\n async deregisterCollection() {\n for (; this.collection.length > 0; )\n await this.deregister(this.collection[0]);\n return this.collection;\n }\n get(e, s = \"id\") {\n return this.collection.find((i) => i[s] === e);\n }\n}\nconst r = {\n inert: \":not([inert]):not([inert] *)\",\n negTabIndex: ':not([tabindex^=\"-\"])',\n disabled: \":not(:disabled)\"\n}, F = [\n `a[href]${r.inert}${r.negTabIndex}`,\n `area[href]${r.inert}${r.negTabIndex}`,\n `input:not([type=\"hidden\"]):not([type=\"radio\"])${r.inert}${r.negTabIndex}${r.disabled}`,\n `input[type=\"radio\"]${r.inert}${r.negTabIndex}${r.disabled}`,\n `select${r.inert}${r.negTabIndex}${r.disabled}`,\n `textarea${r.inert}${r.negTabIndex}${r.disabled}`,\n `button${r.inert}${r.negTabIndex}${r.disabled}`,\n `details${r.inert} > summary:first-of-type${r.negTabIndex}`,\n // Discard until Firefox supports `:has()`\n // See: https://github.com/KittyGiraudel/focusable-selectors/issues/12\n // `details:not(:has(> summary))${not.inert}${not.negTabIndex}`,\n `iframe${r.inert}${r.negTabIndex}`,\n `audio[controls]${r.inert}${r.negTabIndex}`,\n `video[controls]${r.inert}${r.negTabIndex}`,\n `[contenteditable]${r.inert}${r.negTabIndex}`,\n `[tabindex]${r.inert}${r.negTabIndex}`\n];\nvar v, u, g;\nclass B {\n constructor(e = null, s = \"[data-focus]\") {\n w(this, v, void 0), w(this, u, void 0), w(this, g, void 0), this.el = e, this.selectorFocus = s, h(this, u, _.bind(this)), h(this, g, N.bind(this));\n }\n get focusable() {\n return l(this, v);\n }\n set focusable(e) {\n h(this, v, e), l(this, v).length ? (document.removeEventListener(\"keydown\", l(this, g)), document.addEventListener(\"keydown\", l(this, u))) : (document.removeEventListener(\"keydown\", l(this, u)), document.addEventListener(\"keydown\", l(this, g)));\n }\n get focusableFirst() {\n return this.focusable[0];\n }\n get focusableLast() {\n return this.focusable[this.focusable.length - 1];\n }\n mount(e, s) {\n e && (this.el = e), s && (this.selectorFocus = s), this.focusable = this.getFocusable(), this.focus();\n }\n unmount() {\n this.el = null, this.focusable = [], document.removeEventListener(\"keydown\", l(this, u)), document.removeEventListener(\"keydown\", l(this, g));\n }\n focus(e = this.el, s = this.selectorFocus) {\n (e.querySelector(s) || e).focus();\n }\n getFocusable(e = this.el) {\n const s = [], i = document.activeElement, n = e.scrollTop;\n return e.querySelectorAll(F.join(\",\")).forEach((a) => {\n a.focus(), document.activeElement === a && s.push(a);\n }), e.scrollTop = n, i.focus(), s;\n }\n}\nv = /* @__PURE__ */ new WeakMap(), u = /* @__PURE__ */ new WeakMap(), g = /* @__PURE__ */ new WeakMap();\nfunction _(t) {\n (t.key === \"Tab\" || t.keyCode === 9) && (t.shiftKey ? (document.activeElement === this.focusableFirst || document.activeElement === this.el) && (t.preventDefault(), this.focusableLast.focus()) : (document.activeElement === this.focusableLast || document.activeElement === this.el) && (t.preventDefault(), this.focusableFirst.focus()));\n}\nfunction N(t) {\n (t.key === \"Tab\" || t.keyCode === 9) && t.preventDefault();\n}\nfunction K(t, e) {\n const s = (t.getAttribute(`data-${e}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction W() {\n return getComputedStyle(document.body).getPropertyValue(\"--vrembem-variable-prefix\").trim();\n}\nfunction V(t, e = !0) {\n const s = localStorage.getItem(t), i = s ? JSON.parse(s) : {};\n return {\n get(n) {\n return n ? i[n] : i;\n },\n set(n, a) {\n return a ? i[n] = a : delete i[n], e && localStorage.setItem(t, JSON.stringify(i)), i;\n }\n };\n}\nconst J = (t, e) => new Promise((s) => {\n e.transition ? (t.classList.remove(e.stateClosed), t.classList.add(e.stateOpening), t.addEventListener(\"transitionend\", function i() {\n t.classList.add(e.stateOpened), t.classList.remove(e.stateOpening), s(t), this.removeEventListener(\"transitionend\", i);\n })) : (t.classList.add(e.stateOpened), t.classList.remove(e.stateClosed), s(t));\n}), z = (t, e) => new Promise((s) => {\n e.transition ? (t.classList.add(e.stateClosing), t.classList.remove(e.stateOpened), t.addEventListener(\"transitionend\", function i() {\n t.classList.remove(e.stateClosing), t.classList.add(e.stateClosed), s(t), this.removeEventListener(\"transitionend\", i);\n })) : (t.classList.add(e.stateClosed), t.classList.remove(e.stateOpened), s(t));\n});\nfunction G(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n t ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction H(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n t ? (s.inert = !0, s.setAttribute(\"aria-hidden\", !0)) : (s.inert = null, s.removeAttribute(\"aria-hidden\"));\n });\n}\nfunction k(t, e) {\n H(!!t, e.selectorInert), G(!!t, e.selectorOverflow);\n}\nconst Q = {\n autoInit: !1,\n // Data attributes\n dataOpen: \"drawer-open\",\n dataClose: \"drawer-close\",\n dataToggle: \"drawer-toggle\",\n dataBreakpoint: \"drawer-breakpoint\",\n dataConfig: \"drawer-config\",\n // Selectors\n selectorDrawer: \".drawer\",\n selectorDialog: \".drawer__dialog\",\n selectorFocus: \"[data-focus]\",\n selectorInert: null,\n selectorOverflow: \"body\",\n // State classes\n stateOpened: \"is-opened\",\n stateOpening: \"is-opening\",\n stateClosing: \"is-closing\",\n stateClosed: \"is-closed\",\n // Classes\n classModal: \"drawer_modal\",\n // Feature toggles\n breakpoints: null,\n customEventPrefix: \"drawer:\",\n eventListeners: !0,\n store: !0,\n storeKey: \"VB:DrawerState\",\n setTabindex: !0,\n transition: !0\n};\nfunction R(t) {\n const e = t.target.closest(`\n [data-${this.settings.dataOpen}],\n [data-${this.settings.dataToggle}],\n [data-${this.settings.dataClose}]\n `);\n if (e) {\n t.preventDefault(), e.matches(`[data-${this.settings.dataToggle}]`) && e.getAttribute(`data-${this.settings.dataToggle}`).trim().split(\" \").forEach((i) => {\n const n = this.get(i);\n n.trigger = e, n.toggle();\n }), e.matches(`[data-${this.settings.dataOpen}]`) && e.getAttribute(`data-${this.settings.dataOpen}`).trim().split(\" \").forEach((i) => {\n const n = this.get(i);\n n.trigger = e, n.open();\n }), e.matches(`[data-${this.settings.dataClose}]`) && e.getAttribute(`data-${this.settings.dataClose}`).trim().split(\" \").forEach((i) => {\n if (i) {\n const n = this.get(i);\n n.trigger = e, n.close();\n } else {\n const n = t.target.closest(this.settings.selectorDrawer);\n n && this.close(n);\n }\n });\n return;\n }\n t.target.matches(this.settings.selectorDrawer) && this.close(t.target.id);\n}\nfunction U(t) {\n if (t.key === \"Escape\") {\n const e = this.activeModal;\n e && this.close(e);\n }\n}\nasync function L(t, e = !0) {\n if (!t)\n return this.collection;\n const s = this.collection.findIndex((i) => i.id === t.id);\n if (s >= 0) {\n const i = this.collection[s];\n e && i.state === \"opened\" && await i.close(!1), this.store.set(i.id), i.unmountBreakpoint(), Object.getOwnPropertyNames(i).forEach((n) => {\n delete i[n];\n }), this.collection.splice(s, 1);\n }\n return this.collection;\n}\nfunction X(t) {\n const e = W(), s = t.getAttribute(`data-${this.settings.dataBreakpoint}`);\n return this.settings.breakpoints && this.settings.breakpoints[s] ? this.settings.breakpoints[s] : getComputedStyle(document.body).getPropertyValue(`--${e}breakpoint-${s}`).trim() ? getComputedStyle(document.body).getPropertyValue(`--${e}breakpoint-${s}`).trim() : s;\n}\nfunction y(t) {\n const e = typeof t == \"string\" ? this.get(t) : this.get(t.id);\n if (e)\n return e;\n throw new Error(`Drawer not found in collection with id of \"${t.id || t}\".`);\n}\nfunction O(t) {\n return typeof t == \"string\" ? t : typeof t.hasAttribute == \"function\" ? t.hasAttribute(`data-${this.settings.dataOpen}`) ? t.getAttribute(`data-${this.settings.dataOpen}`) : t.hasAttribute(`data-${this.settings.dataClose}`) ? t.getAttribute(`data-${this.settings.dataClose}`) || !1 : t.hasAttribute(`data-${this.settings.dataToggle}`) ? t.getAttribute(`data-${this.settings.dataToggle}`) : t.closest(this.settings.selectorDrawer) ? (t = t.closest(this.settings.selectorDrawer), t.id || !1) : !1 : t.id ? t.id : !1;\n}\nfunction Y(t) {\n const e = O.call(this, t);\n if (e) {\n const s = document.querySelector(`#${e}`), i = s ? s.querySelector(this.settings.selectorDialog) : null;\n return !s && !i ? { error: new Error(`No drawer elements found using the ID: \"${e}\".`) } : i ? { drawer: s, dialog: i } : { error: new Error(\"Drawer is missing dialog element.\") };\n } else\n return { error: new Error(\"Could not resolve the drawer ID.\") };\n}\nasync function A(t) {\n this.store.get(t.id) ? this.store.get(t.id) === \"opened\" ? await t.open(!1, !1) : await t.close(!1, !1) : t.el.classList.contains(this.settings.stateOpened) ? t.state = \"opened\" : (t.el.classList.remove(this.settings.stateOpening), t.el.classList.remove(this.settings.stateClosing), t.el.classList.add(this.settings.stateClosed));\n}\nfunction D(t) {\n t.state === \"opened\" ? t.mode === \"modal\" ? this.focusTrap.mount(t.dialog, this.settings.selectorFocus) : this.focusTrap.focus(t.dialog, this.settings.selectorFocus) : (t.trigger && (t.trigger.focus(), t.trigger = null), this.focusTrap.unmount());\n}\nasync function C(t, e, s = !0) {\n const i = y.call(this, t), n = { ...this.settings, ...i.settings };\n return e !== void 0 && (n.transition = e), i.state === \"closed\" && (i.state = \"opening\", await J(i.el, n), i.mode === \"modal\" && k(!0, n), i.state = \"opened\"), s && D.call(this, i), i.el.dispatchEvent(new CustomEvent(n.customEventPrefix + \"opened\", {\n detail: this,\n bubbles: !0\n })), i;\n}\nasync function b(t, e, s = !0) {\n const i = y.call(this, t), n = { ...this.settings, ...i.settings };\n return e !== void 0 && (n.transition = e), i.state === \"opened\" && (i.state = \"closing\", document.activeElement.blur(), await z(i.el, n), i.mode === \"modal\" && k(!1, n), s && D.call(this, i), i.state = \"closed\", i.el.dispatchEvent(new CustomEvent(n.customEventPrefix + \"closed\", {\n detail: this,\n bubbles: !0\n }))), i;\n}\nasync function q(t, e, s) {\n const i = y.call(this, t);\n return i.state === \"closed\" ? C.call(this, i, e, s) : b.call(this, i, e, s);\n}\nfunction Z(t) {\n switch (t.mode) {\n case \"inline\":\n return j.call(this, t);\n case \"modal\":\n return tt.call(this, t);\n default:\n throw new Error(`\"${t.mode}\" is not a valid drawer mode.`);\n }\n}\nasync function j(t) {\n return t.el.classList.remove(t.getSetting(\"classModal\")), t.dialog.removeAttribute(\"aria-modal\"), k(!1, { ...this.settings, ...t.settings }), this.focusTrap.unmount(), await A.call(this, t), t.el.dispatchEvent(new CustomEvent(t.getSetting(\"customEventPrefix\") + \"switchMode\", {\n detail: this,\n bubbles: !0\n })), t;\n}\nasync function tt(t) {\n return t.el.classList.add(t.getSetting(\"classModal\")), t.dialog.setAttribute(\"aria-modal\", \"true\"), !this.store.get(t.id) && t.el.classList.contains(t.getSetting(\"stateOpened\")) && this.store.set(t.id, \"opened\"), await b.call(this, t, !1, !1), t.el.dispatchEvent(new CustomEvent(t.getSetting(\"customEventPrefix\") + \"switchMode\", {\n detail: this,\n bubbles: !0\n })), t;\n}\nasync function et(t, e) {\n await L.call(this, t, !1);\n const s = this, i = new M(), n = {\n open(o, d) {\n return C.call(s, this, o, d);\n },\n close(o, d) {\n return b.call(s, this, o, d);\n },\n toggle(o, d) {\n return q.call(s, this, o, d);\n },\n deregister() {\n return L.call(s, this);\n },\n mountBreakpoint() {\n const o = this.breakpoint, d = this.handleBreakpoint.bind(this);\n return i.mount(o, d), this;\n },\n unmountBreakpoint() {\n return i.unmount(), this;\n },\n handleBreakpoint(o) {\n return this.mode = o.matches ? \"inline\" : \"modal\", this;\n },\n getSetting(o) {\n return o in this.settings ? this.settings[o] : s.settings[o];\n }\n }, a = {\n id: t.id,\n el: t,\n dialog: e,\n trigger: null,\n settings: K(t, this.settings.dataConfig),\n get breakpoint() {\n return X.call(s, t);\n },\n get state() {\n return T;\n },\n set state(o) {\n T = o, (o === \"opened\" || o === \"closed\") && this.mode === \"inline\" && s.store.set(this.id, this.state);\n },\n get mode() {\n return x;\n },\n set mode(o) {\n x = o, Z.call(s, this);\n },\n ...n\n };\n let T = t.classList.contains(a.getSetting(\"stateOpened\")) ? \"opened\" : \"closed\", x = t.classList.contains(a.getSetting(\"classModal\")) ? \"modal\" : \"inline\";\n return a.mode === \"modal\" ? a.dialog.setAttribute(\"aria-modal\", \"true\") : a.dialog.removeAttribute(\"aria-modal\"), a.getSetting(\"setTabindex\") && a.dialog.setAttribute(\"tabindex\", \"-1\"), this.collection.push(a), a.breakpoint ? a.mountBreakpoint() : await A.call(this, a), a;\n}\nvar f, m;\nclass it extends P {\n constructor(s) {\n super();\n E(this, f, void 0);\n E(this, m, void 0);\n this.defaults = Q, this.settings = { ...this.defaults, ...s }, this.focusTrap = new B(), this.store = V(this.settings.storeKey, this.settings.store), $(this, f, R.bind(this)), $(this, m, U.bind(this)), this.settings.autoInit && this.init();\n }\n get activeModal() {\n return this.collection.find((s) => s.state === \"opened\" && s.mode === \"modal\");\n }\n async init(s = null) {\n s && (this.settings = { ...this.settings, ...s });\n const i = document.querySelectorAll(this.settings.selectorDrawer);\n return await this.registerCollection(i), this.settings.eventListeners && this.initEventListeners(), this;\n }\n async destroy() {\n return await this.deregisterCollection(), this.settings.eventListeners && this.destroyEventListeners(), this;\n }\n initEventListeners() {\n document.addEventListener(\"click\", p(this, f), !1), document.addEventListener(\"keydown\", p(this, m), !1);\n }\n destroyEventListeners() {\n document.removeEventListener(\"click\", p(this, f), !1), document.removeEventListener(\"keydown\", p(this, m), !1);\n }\n register(s) {\n const i = Y.call(this, s);\n return i.error ? Promise.reject(i.error) : et.call(this, i.drawer, i.dialog);\n }\n deregister(s) {\n const i = this.get(O.call(this, s));\n return L.call(this, i);\n }\n open(s, i, n) {\n return C.call(this, s, i, n);\n }\n close(s, i, n) {\n return b.call(this, s, i, n);\n }\n toggle(s, i, n) {\n return q.call(this, s, i, n);\n }\n}\nf = new WeakMap(), m = new WeakMap();\nexport {\n it as default\n};\n//# sourceMappingURL=index.js.map\n","var I = (t, e, s) => {\n if (!e.has(t))\n throw TypeError(\"Cannot \" + s);\n};\nvar f = (t, e, s) => (I(t, e, \"read from private field\"), s ? s.call(t) : e.get(t)), v = (t, e, s) => {\n if (e.has(t))\n throw TypeError(\"Cannot add the same private member more than once\");\n e instanceof WeakSet ? e.add(t) : e.set(t, s);\n}, b = (t, e, s, i) => (I(t, e, \"write to private field\"), i ? i.call(t, s) : e.set(t, s), s);\nvar k = (t, e, s) => {\n if (!e.has(t))\n throw TypeError(\"Cannot \" + s);\n}, o = (t, e, s) => (k(t, e, \"read from private field\"), s ? s.call(t) : e.get(t)), y = (t, e, s) => {\n if (e.has(t))\n throw TypeError(\"Cannot add the same private member more than once\");\n e instanceof WeakSet ? e.add(t) : e.set(t, s);\n}, E = (t, e, s, i) => (k(t, e, \"write to private field\"), i ? i.call(t, s) : e.set(t, s), s);\nclass A {\n constructor() {\n this.collection = [];\n }\n async register(e) {\n return await this.deregister(e), this.collection.push(e), this.collection;\n }\n async deregister(e) {\n const s = this.collection.findIndex((i) => i === e);\n if (s >= 0) {\n const i = this.collection[s];\n Object.getOwnPropertyNames(i).forEach((n) => {\n delete i[n];\n }), this.collection.splice(s, 1);\n }\n return this.collection;\n }\n async registerCollection(e) {\n return await Promise.all(Array.from(e, (s) => {\n this.register(s);\n })), this.collection;\n }\n async deregisterCollection() {\n for (; this.collection.length > 0; )\n await this.deregister(this.collection[0]);\n return this.collection;\n }\n get(e, s = \"id\") {\n return this.collection.find((i) => i[s] === e);\n }\n}\nconst l = {\n inert: \":not([inert]):not([inert] *)\",\n negTabIndex: ':not([tabindex^=\"-\"])',\n disabled: \":not(:disabled)\"\n}, S = [\n `a[href]${l.inert}${l.negTabIndex}`,\n `area[href]${l.inert}${l.negTabIndex}`,\n `input:not([type=\"hidden\"]):not([type=\"radio\"])${l.inert}${l.negTabIndex}${l.disabled}`,\n `input[type=\"radio\"]${l.inert}${l.negTabIndex}${l.disabled}`,\n `select${l.inert}${l.negTabIndex}${l.disabled}`,\n `textarea${l.inert}${l.negTabIndex}${l.disabled}`,\n `button${l.inert}${l.negTabIndex}${l.disabled}`,\n `details${l.inert} > summary:first-of-type${l.negTabIndex}`,\n // Discard until Firefox supports `:has()`\n // See: https://github.com/KittyGiraudel/focusable-selectors/issues/12\n // `details:not(:has(> summary))${not.inert}${not.negTabIndex}`,\n `iframe${l.inert}${l.negTabIndex}`,\n `audio[controls]${l.inert}${l.negTabIndex}`,\n `video[controls]${l.inert}${l.negTabIndex}`,\n `[contenteditable]${l.inert}${l.negTabIndex}`,\n `[tabindex]${l.inert}${l.negTabIndex}`\n];\nvar g, c, d;\nclass M {\n constructor(e = null, s = \"[data-focus]\") {\n y(this, g, void 0), y(this, c, void 0), y(this, d, void 0), this.el = e, this.selectorFocus = s, E(this, c, R.bind(this)), E(this, d, N.bind(this));\n }\n get focusable() {\n return o(this, g);\n }\n set focusable(e) {\n E(this, g, e), o(this, g).length ? (document.removeEventListener(\"keydown\", o(this, d)), document.addEventListener(\"keydown\", o(this, c))) : (document.removeEventListener(\"keydown\", o(this, c)), document.addEventListener(\"keydown\", o(this, d)));\n }\n get focusableFirst() {\n return this.focusable[0];\n }\n get focusableLast() {\n return this.focusable[this.focusable.length - 1];\n }\n mount(e, s) {\n e && (this.el = e), s && (this.selectorFocus = s), this.focusable = this.getFocusable(), this.focus();\n }\n unmount() {\n this.el = null, this.focusable = [], document.removeEventListener(\"keydown\", o(this, c)), document.removeEventListener(\"keydown\", o(this, d));\n }\n focus(e = this.el, s = this.selectorFocus) {\n (e.querySelector(s) || e).focus();\n }\n getFocusable(e = this.el) {\n const s = [], i = document.activeElement, n = e.scrollTop;\n return e.querySelectorAll(S.join(\",\")).forEach((r) => {\n r.focus(), document.activeElement === r && s.push(r);\n }), e.scrollTop = n, i.focus(), s;\n }\n}\ng = /* @__PURE__ */ new WeakMap(), c = /* @__PURE__ */ new WeakMap(), d = /* @__PURE__ */ new WeakMap();\nfunction R(t) {\n (t.key === \"Tab\" || t.keyCode === 9) && (t.shiftKey ? (document.activeElement === this.focusableFirst || document.activeElement === this.el) && (t.preventDefault(), this.focusableLast.focus()) : (document.activeElement === this.focusableLast || document.activeElement === this.el) && (t.preventDefault(), this.focusableFirst.focus()));\n}\nfunction N(t) {\n (t.key === \"Tab\" || t.keyCode === 9) && t.preventDefault();\n}\nfunction P(t, e) {\n const s = (t.getAttribute(`data-${e}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction T(t, e, s) {\n const i = e.nodeType === Node.COMMENT_NODE, n = e.nodeType === Node.ELEMENT_NODE;\n if (e = i || n ? e : document.querySelector(e), i && (s = \"after\"), !e)\n throw new Error(`Not a valid teleport reference: '${e}'`);\n if (typeof e[s] != \"function\")\n throw new Error(`Not a valid teleport method: '${s}'`);\n let r = null;\n return i || (r = document.createComment(\"teleported #\" + t.id), t.before(r)), e[s](t), i && e.remove(), r;\n}\nconst D = (t, e) => new Promise((s) => {\n e.transition ? (t.classList.remove(e.stateClosed), t.classList.add(e.stateOpening), t.addEventListener(\"transitionend\", function i() {\n t.classList.add(e.stateOpened), t.classList.remove(e.stateOpening), s(t), this.removeEventListener(\"transitionend\", i);\n })) : (t.classList.add(e.stateOpened), t.classList.remove(e.stateClosed), s(t));\n}), F = (t, e) => new Promise((s) => {\n e.transition ? (t.classList.add(e.stateClosing), t.classList.remove(e.stateOpened), t.addEventListener(\"transitionend\", function i() {\n t.classList.remove(e.stateClosing), t.classList.add(e.stateClosed), s(t), this.removeEventListener(\"transitionend\", i);\n })) : (t.classList.add(e.stateClosed), t.classList.remove(e.stateOpened), s(t));\n});\nfunction q(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n t ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction z(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n t ? (s.inert = !0, s.setAttribute(\"aria-hidden\", !0)) : (s.inert = null, s.removeAttribute(\"aria-hidden\"));\n });\n}\nfunction W(t, e) {\n z(!!t, e.selectorInert), q(!!t, e.selectorOverflow);\n}\nconst _ = {\n autoInit: !1,\n // Data attributes\n dataOpen: \"modal-open\",\n dataClose: \"modal-close\",\n dataReplace: \"modal-replace\",\n dataConfig: \"modal-config\",\n // Selectors\n selectorModal: \".modal\",\n selectorDialog: \".modal__dialog\",\n selectorRequired: '[role=\"alertdialog\"]',\n selectorFocus: \"[data-focus]\",\n selectorInert: null,\n selectorOverflow: \"body\",\n // State classes\n stateOpened: \"is-opened\",\n stateOpening: \"is-opening\",\n stateClosing: \"is-closing\",\n stateClosed: \"is-closed\",\n // Feature settings\n customEventPrefix: \"modal:\",\n eventListeners: !0,\n teleport: null,\n teleportMethod: \"append\",\n setTabindex: !0,\n transition: !0\n};\nfunction L(t) {\n const e = typeof t == \"string\" ? this.get(t) : this.get(t.id);\n if (e)\n return e;\n throw new Error(`Modal not found in collection with id of \"${t.id || t}\".`);\n}\nfunction p(t) {\n return typeof t == \"string\" ? t : typeof t.hasAttribute == \"function\" ? t.hasAttribute(`data-${this.settings.dataOpen}`) ? t.getAttribute(`data-${this.settings.dataOpen}`) : t.hasAttribute(`data-${this.settings.dataClose}`) ? t.getAttribute(`data-${this.settings.dataClose}`) || !1 : t.hasAttribute(`data-${this.settings.dataReplace}`) ? t.getAttribute(`data-${this.settings.dataReplace}`) : t.closest(this.settings.selectorModal) ? (t = t.closest(this.settings.selectorModal), t.id || !1) : !1 : t.id ? t.id : !1;\n}\nfunction G(t) {\n const e = p.call(this, t);\n if (e) {\n const s = document.querySelector(`#${e}`), i = s ? s.querySelector(this.settings.selectorDialog) : null;\n return !s && !i ? { error: new Error(`No modal elements found using the ID: \"${e}\".`) } : i ? { modal: s, dialog: i } : { error: new Error(\"Modal is missing dialog element.\") };\n } else\n return { error: new Error(\"Could not resolve the modal ID.\") };\n}\nfunction m() {\n this.active ? this.focusTrap.mount(this.active.dialog, this.settings.selectorFocus) : (this.trigger && (this.trigger.focus(), this.trigger = null), this.focusTrap.unmount());\n}\nasync function K(t) {\n let e = t.target.closest(\n `[data-${this.settings.dataOpen}], [data-${this.settings.dataReplace}]`\n );\n if (e) {\n t.preventDefault(), t.target.closest(this.settings.selectorModal) || (this.trigger = e);\n const i = this.get(p.call(this, e));\n return e.matches(`[data-${this.settings.dataOpen}]`) ? i.open() : i.replace();\n }\n if (e = t.target.closest(`[data-${this.settings.dataClose}]`), e) {\n t.preventDefault();\n const s = e.getAttribute(`data-${this.settings.dataClose}`);\n return s === \"*\" ? this.closeAll() : this.close(s);\n }\n if (t.target.matches(this.settings.selectorModal) && !t.target.querySelector(this.settings.selectorRequired))\n return this.close(p.call(this, t.target));\n}\nfunction J(t) {\n if (t.key === \"Escape\" && this.active && !this.active.dialog.matches(this.settings.selectorRequired))\n return this.close();\n}\nasync function w(t, e = !0) {\n if (!t)\n return this.collection;\n const s = this.collection.findIndex((i) => i.id === t.id);\n if (s >= 0) {\n const i = this.collection[s];\n e && i.state === \"opened\" ? await i.close(!1) : this.stack.remove(i), i.getSetting(\"teleport\") && i.teleportReturn(), Object.getOwnPropertyNames(i).forEach((n) => {\n delete i[n];\n }), this.collection.splice(s, 1);\n }\n return this.collection;\n}\nasync function x(t, e, s = !0) {\n const i = L.call(this, t), n = { ...this.settings, ...i.settings };\n return e !== void 0 && (n.transition = e), this.stack.moveToTop(i), i.state === \"closed\" && (i.state = \"opening\", this.stack.add(i), await D(i.el, n), i.state = \"opened\"), s && m.call(this), i.el.dispatchEvent(new CustomEvent(n.customEventPrefix + \"opened\", {\n detail: this,\n bubbles: !0\n })), i;\n}\nasync function C(t, e, s = !0) {\n const i = t ? L.call(this, t) : this.active;\n if (i && i.state === \"opened\") {\n i.state = \"closing\";\n const n = { ...this.settings, ...i.settings };\n e !== void 0 && (n.transition = e), document.activeElement.blur(), await F(i.el, n), this.stack.remove(i), s && m.call(this), i.state = \"closed\", i.el.dispatchEvent(new CustomEvent(n.customEventPrefix + \"closed\", {\n detail: this,\n bubbles: !0\n }));\n }\n return i;\n}\nasync function $(t, e) {\n const s = [];\n return await Promise.all(this.stack.value.map(async (i) => {\n t && t === i.id ? Promise.resolve() : s.push(await C.call(this, i, e, !1)), i.trigger = null;\n })), s;\n}\nasync function O(t, e, s = !0) {\n const i = L.call(this, t);\n let n, r;\n return i.state === \"opened\" ? (n = i, r = await $.call(this, i.id, e)) : (n = x.call(this, i, e, !1), r = $.call(this, !1, e), await Promise.all([n, r])), s && m.call(this), { opened: n, closed: r };\n}\nasync function B(t, e) {\n await w.call(this, t, !1);\n const s = this, i = {\n open(r, a) {\n return x.call(s, this, r, a);\n },\n close(r, a) {\n return C.call(s, this, r, a);\n },\n replace(r, a) {\n return O.call(s, this, r, a);\n },\n deregister() {\n return w.call(s, this);\n },\n teleport(r = this.getSetting(\"teleport\"), a = this.getSetting(\"teleportMethod\")) {\n return this.returnRef ? (console.error(\"Element has already been teleported:\", this.el), !1) : (this.returnRef = T(this.el, r, a), this.el);\n },\n teleportReturn() {\n return this.returnRef ? (this.returnRef = T(this.el, this.returnRef), this.el) : (console.error(\"No return reference found:\", this.el), !1);\n },\n getSetting(r) {\n return r in this.settings ? this.settings[r] : s.settings[r];\n }\n }, n = {\n id: t.id,\n state: \"closed\",\n el: t,\n dialog: e,\n returnRef: null,\n settings: P(t, this.settings.dataConfig),\n ...i\n };\n return n.dialog.setAttribute(\"aria-modal\", \"true\"), n.dialog.hasAttribute(\"role\") || n.dialog.setAttribute(\"role\", \"dialog\"), n.getSetting(\"setTabindex\") && n.dialog.setAttribute(\"tabindex\", \"-1\"), n.getSetting(\"teleport\") && n.teleport(), this.collection.push(n), n.el.classList.contains(this.settings.stateOpened) ? await n.open(!1) : (n.el.classList.remove(this.settings.stateOpening), n.el.classList.remove(this.settings.stateClosing), n.el.classList.add(this.settings.stateClosed)), n;\n}\nfunction H(t) {\n const e = [];\n return {\n get value() {\n return [...e];\n },\n get top() {\n return e[e.length - 1];\n },\n updateIndex() {\n e.forEach((s, i) => {\n s.el.style.zIndex = null;\n const n = getComputedStyle(s.el)[\"z-index\"];\n s.el.style.zIndex = parseInt(n) + i + 1;\n });\n },\n updateGlobalState() {\n W(this.top, t), this.updateIndex();\n },\n add(s) {\n s.el.style.zIndex = null;\n const i = getComputedStyle(s.el)[\"z-index\"];\n s.el.style.zIndex = parseInt(i) + e.length + 1, e.push(s), this.updateGlobalState();\n },\n remove(s) {\n const i = e.findIndex((n) => n.id === s.id);\n i >= 0 && (s.el.style.zIndex = null, e.splice(i, 1), this.updateGlobalState());\n },\n moveToTop(s) {\n const i = e.findIndex((n) => n.id === s.id);\n i >= 0 && (e.splice(i, 1), this.add(s));\n }\n };\n}\nvar u, h;\nclass U extends A {\n constructor(s) {\n super();\n v(this, u, void 0);\n v(this, h, void 0);\n this.defaults = _, this.settings = { ...this.defaults, ...s }, this.trigger = null, this.focusTrap = new M(), this.stack = H(this.settings), b(this, u, K.bind(this)), b(this, h, J.bind(this)), this.settings.autoInit && this.init();\n }\n get active() {\n return this.stack.top;\n }\n async init(s) {\n s && (this.settings = { ...this.settings, ...s });\n const i = document.querySelectorAll(this.settings.selectorModal);\n return await this.registerCollection(i), this.settings.eventListeners && this.initEventListeners(), this;\n }\n async destroy() {\n return this.trigger = null, await this.deregisterCollection(), this.settings.eventListeners && this.destroyEventListeners(), this;\n }\n initEventListeners() {\n document.addEventListener(\"click\", f(this, u), !1), document.addEventListener(\"keydown\", f(this, h), !1);\n }\n destroyEventListeners() {\n document.removeEventListener(\"click\", f(this, u), !1), document.removeEventListener(\"keydown\", f(this, h), !1);\n }\n register(s) {\n const i = G.call(this, s);\n return i.error ? Promise.reject(i.error) : B.call(this, i.modal, i.dialog);\n }\n deregister(s) {\n const i = this.get(p.call(this, s));\n return w.call(this, i);\n }\n open(s, i, n) {\n return x.call(this, s, i, n);\n }\n close(s, i, n) {\n return C.call(this, s, i, n);\n }\n replace(s, i, n) {\n return O.call(this, s, i, n);\n }\n async closeAll(s = !1, i, n = !0) {\n const r = await $.call(this, s, i);\n return n && m.call(this), r;\n }\n}\nu = new WeakMap(), h = new WeakMap();\nexport {\n U as default\n};\n//# sourceMappingURL=index.js.map\n","var Ue = (e, t, r) => {\n if (!t.has(e))\n throw TypeError(\"Cannot \" + r);\n};\nvar Ae = (e, t, r) => (Ue(e, t, \"read from private field\"), r ? r.call(e) : t.get(e)), _e = (e, t, r) => {\n if (t.has(e))\n throw TypeError(\"Cannot add the same private member more than once\");\n t instanceof WeakSet ? t.add(e) : t.set(e, r);\n}, Ke = (e, t, r, i) => (Ue(e, t, \"write to private field\"), i ? i.call(e, r) : t.set(e, r), r);\nclass Ct {\n constructor() {\n this.collection = [];\n }\n async register(t) {\n return await this.deregister(t), this.collection.push(t), this.collection;\n }\n async deregister(t) {\n const r = this.collection.findIndex((i) => i === t);\n if (r >= 0) {\n const i = this.collection[r];\n Object.getOwnPropertyNames(i).forEach((n) => {\n delete i[n];\n }), this.collection.splice(r, 1);\n }\n return this.collection;\n }\n async registerCollection(t) {\n return await Promise.all(Array.from(t, (r) => {\n this.register(r);\n })), this.collection;\n }\n async deregisterCollection() {\n for (; this.collection.length > 0; )\n await this.deregister(this.collection[0]);\n return this.collection;\n }\n get(t, r = \"id\") {\n return this.collection.find((i) => i[r] === t);\n }\n}\nfunction kt() {\n return getComputedStyle(document.body).getPropertyValue(\"--vrembem-variable-prefix\").trim();\n}\nconst Dt = {\n autoInit: !1,\n // Selectors\n selectorPopover: \".popover\",\n selectorArrow: \".popover__arrow\",\n // State classes\n stateActive: \"is-active\",\n // Feature settings\n eventListeners: !0,\n eventType: \"click\",\n placement: \"bottom\"\n};\nfunction ot(e, t) {\n const r = getComputedStyle(e), i = {\n placement: t.placement,\n event: t.eventType,\n offset: 0,\n \"overflow-padding\": 0,\n \"flip-padding\": 0,\n \"arrow-element\": t.selectorArrow,\n \"arrow-padding\": 0\n };\n for (const n in i) {\n const o = kt(), l = r.getPropertyValue(`--${o}popover-${n}`).trim();\n l && (i[n] = l);\n }\n return i;\n}\nfunction Pe(e) {\n let t;\n const r = typeof e == \"string\" ? e.trim().split(\" \") : [e];\n switch (r.forEach(function(i, n) {\n r[n] = parseInt(i, 10);\n }), r.length) {\n case 1:\n t = r[0];\n break;\n case 2:\n t = {\n top: r[0],\n right: r[1],\n bottom: r[0],\n left: r[1]\n };\n break;\n case 3:\n t = {\n top: r[0],\n right: r[1],\n bottom: r[2],\n left: r[1]\n };\n break;\n case 4:\n t = {\n top: r[0],\n right: r[1],\n bottom: r[2],\n left: r[3]\n };\n break;\n default:\n t = !1;\n break;\n }\n return t;\n}\nfunction Rt(e) {\n return [{\n name: \"offset\",\n options: {\n offset: [0, parseInt(e.offset, 10)]\n }\n }, {\n name: \"preventOverflow\",\n options: {\n padding: Pe(e[\"overflow-padding\"])\n }\n }, {\n name: \"flip\",\n options: {\n padding: Pe(e[\"flip-padding\"])\n }\n }, {\n name: \"arrow\",\n options: {\n element: e[\"arrow-element\"],\n padding: Pe(e[\"arrow-padding\"])\n }\n }];\n}\nfunction at(e) {\n const t = typeof e == \"string\" ? this.get(e) : this.get(e.id);\n if (t)\n return t;\n throw new Error(`Popover not found in collection with id of \"${e}\".`);\n}\nfunction st(e) {\n return typeof e == \"string\" ? e : typeof e.hasAttribute == \"function\" ? e.closest(this.settings.selectorPopover) ? (e = e.closest(this.settings.selectorPopover), e.id) : e.hasAttribute(\"aria-controls\") ? e.getAttribute(\"aria-controls\") : e.hasAttribute(\"aria-describedby\") ? e.getAttribute(\"aria-describedby\") : !1 : e.id ? e.id : !1;\n}\nfunction Bt(e) {\n const t = st.call(this, e);\n if (t) {\n const r = document.querySelector(`#${t}`), i = document.querySelector(`[aria-controls=\"${t}\"]`) || document.querySelector(`[aria-describedby=\"${t}\"]`);\n return !i && !r ? { error: new Error(`No popover elements found using the ID: \"${t}\".`) } : i ? r ? { popover: r, trigger: i } : { error: new Error(\"No popover associated with the provided popover trigger.\") } : { error: new Error(\"No popover trigger associated with the provided popover.\") };\n } else\n return { error: new Error(\"Could not resolve the popover ID.\") };\n}\nasync function ke(e) {\n const t = e ? at.call(this, e) : await ct.call(this);\n return t && t.state === \"opened\" && (t.el.classList.remove(this.settings.stateActive), t.trigger.hasAttribute(\"aria-controls\") && t.trigger.setAttribute(\"aria-expanded\", \"false\"), t.popper.setOptions({\n modifiers: [{ name: \"eventListeners\", enabled: !1 }]\n }), t.state = \"closed\", t.trigger === this.trigger && (this.trigger = null)), t;\n}\nasync function ct() {\n const e = [];\n return await Promise.all(this.collection.map(async (t) => {\n t.state === \"opened\" && e.push(await ke.call(this, t));\n })), e;\n}\nfunction lt(e) {\n e.state == \"opened\" && setTimeout(() => {\n const t = e.el.closest(\":hover\") === e.el || e.trigger.closest(\":hover\") === e.trigger, r = document.activeElement.closest(\n `#${e.id}, [aria-controls=\"${e.id}\"], [aria-describedby=\"${e.id}\"]`\n );\n return !t && !r && e.close(), e;\n }, 1);\n}\nfunction Tt(e) {\n e.state === \"opened\" ? e.close() : (this.trigger = e.trigger, e.open(), ft.call(this, e));\n}\nfunction St(e) {\n switch (e.key) {\n case \"Escape\":\n this.trigger && this.trigger.focus(), ct.call(this);\n return;\n case \"Tab\":\n this.collection.forEach((t) => {\n lt.call(this, t);\n });\n return;\n default:\n return;\n }\n}\nfunction ft(e) {\n const t = this;\n document.addEventListener(\"click\", function r(i) {\n i.target.closest(\n `#${e.id}, [aria-controls=\"${e.id}\"], [aria-describedby=\"${e.id}\"]`\n ) ? e.el && !e.el.classList.contains(t.settings.stateActive) && this.removeEventListener(\"click\", r) : (e.el && e.el.classList.contains(t.settings.stateActive) && e.close(), this.removeEventListener(\"click\", r));\n });\n}\nvar k = \"top\", S = \"bottom\", M = \"right\", D = \"left\", De = \"auto\", le = [k, S, M, D], Q = \"start\", se = \"end\", Mt = \"clippingParents\", ut = \"viewport\", ne = \"popper\", Wt = \"reference\", Ge = /* @__PURE__ */ le.reduce(function(e, t) {\n return e.concat([t + \"-\" + Q, t + \"-\" + se]);\n}, []), pt = /* @__PURE__ */ [].concat(le, [De]).reduce(function(e, t) {\n return e.concat([t, t + \"-\" + Q, t + \"-\" + se]);\n}, []), jt = \"beforeRead\", Ht = \"read\", Nt = \"afterRead\", It = \"beforeMain\", Vt = \"main\", Ft = \"afterMain\", qt = \"beforeWrite\", Xt = \"write\", Yt = \"afterWrite\", zt = [jt, Ht, Nt, It, Vt, Ft, qt, Xt, Yt];\nfunction N(e) {\n return e ? (e.nodeName || \"\").toLowerCase() : null;\n}\nfunction B(e) {\n if (e == null)\n return window;\n if (e.toString() !== \"[object Window]\") {\n var t = e.ownerDocument;\n return t && t.defaultView || window;\n }\n return e;\n}\nfunction K(e) {\n var t = B(e).Element;\n return e instanceof t || e instanceof Element;\n}\nfunction T(e) {\n var t = B(e).HTMLElement;\n return e instanceof t || e instanceof HTMLElement;\n}\nfunction Re(e) {\n if (typeof ShadowRoot > \"u\")\n return !1;\n var t = B(e).ShadowRoot;\n return e instanceof t || e instanceof ShadowRoot;\n}\nfunction Ut(e) {\n var t = e.state;\n Object.keys(t.elements).forEach(function(r) {\n var i = t.styles[r] || {}, n = t.attributes[r] || {}, o = t.elements[r];\n !T(o) || !N(o) || (Object.assign(o.style, i), Object.keys(n).forEach(function(l) {\n var s = n[l];\n s === !1 ? o.removeAttribute(l) : o.setAttribute(l, s === !0 ? \"\" : s);\n }));\n });\n}\nfunction _t(e) {\n var t = e.state, r = {\n popper: {\n position: t.options.strategy,\n left: \"0\",\n top: \"0\",\n margin: \"0\"\n },\n arrow: {\n position: \"absolute\"\n },\n reference: {}\n };\n return Object.assign(t.elements.popper.style, r.popper), t.styles = r, t.elements.arrow && Object.assign(t.elements.arrow.style, r.arrow), function() {\n Object.keys(t.elements).forEach(function(i) {\n var n = t.elements[i], o = t.attributes[i] || {}, l = Object.keys(t.styles.hasOwnProperty(i) ? t.styles[i] : r[i]), s = l.reduce(function(a, f) {\n return a[f] = \"\", a;\n }, {});\n !T(n) || !N(n) || (Object.assign(n.style, s), Object.keys(o).forEach(function(a) {\n n.removeAttribute(a);\n }));\n });\n };\n}\nconst Kt = {\n name: \"applyStyles\",\n enabled: !0,\n phase: \"write\",\n fn: Ut,\n effect: _t,\n requires: [\"computeStyles\"]\n};\nfunction H(e) {\n return e.split(\"-\")[0];\n}\nvar _ = Math.max, ye = Math.min, Z = Math.round;\nfunction Le() {\n var e = navigator.userAgentData;\n return e != null && e.brands && Array.isArray(e.brands) ? e.brands.map(function(t) {\n return t.brand + \"/\" + t.version;\n }).join(\" \") : navigator.userAgent;\n}\nfunction dt() {\n return !/^((?!chrome|android).)*safari/i.test(Le());\n}\nfunction ee(e, t, r) {\n t === void 0 && (t = !1), r === void 0 && (r = !1);\n var i = e.getBoundingClientRect(), n = 1, o = 1;\n t && T(e) && (n = e.offsetWidth > 0 && Z(i.width) / e.offsetWidth || 1, o = e.offsetHeight > 0 && Z(i.height) / e.offsetHeight || 1);\n var l = K(e) ? B(e) : window, s = l.visualViewport, a = !dt() && r, f = (i.left + (a && s ? s.offsetLeft : 0)) / n, c = (i.top + (a && s ? s.offsetTop : 0)) / o, h = i.width / n, y = i.height / o;\n return {\n width: h,\n height: y,\n top: c,\n right: f + h,\n bottom: c + y,\n left: f,\n x: f,\n y: c\n };\n}\nfunction Be(e) {\n var t = ee(e), r = e.offsetWidth, i = e.offsetHeight;\n return Math.abs(t.width - r) <= 1 && (r = t.width), Math.abs(t.height - i) <= 1 && (i = t.height), {\n x: e.offsetLeft,\n y: e.offsetTop,\n width: r,\n height: i\n };\n}\nfunction vt(e, t) {\n var r = t.getRootNode && t.getRootNode();\n if (e.contains(t))\n return !0;\n if (r && Re(r)) {\n var i = t;\n do {\n if (i && e.isSameNode(i))\n return !0;\n i = i.parentNode || i.host;\n } while (i);\n }\n return !1;\n}\nfunction I(e) {\n return B(e).getComputedStyle(e);\n}\nfunction Gt(e) {\n return [\"table\", \"td\", \"th\"].indexOf(N(e)) >= 0;\n}\nfunction F(e) {\n return ((K(e) ? e.ownerDocument : (\n // $FlowFixMe[prop-missing]\n e.document\n )) || window.document).documentElement;\n}\nfunction we(e) {\n return N(e) === \"html\" ? e : (\n // this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n e.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n e.parentNode || // DOM Element detected\n (Re(e) ? e.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n F(e)\n );\n}\nfunction Je(e) {\n return !T(e) || // https://github.com/popperjs/popper-core/issues/837\n I(e).position === \"fixed\" ? null : e.offsetParent;\n}\nfunction Jt(e) {\n var t = /firefox/i.test(Le()), r = /Trident/i.test(Le());\n if (r && T(e)) {\n var i = I(e);\n if (i.position === \"fixed\")\n return null;\n }\n var n = we(e);\n for (Re(n) && (n = n.host); T(n) && [\"html\", \"body\"].indexOf(N(n)) < 0; ) {\n var o = I(n);\n if (o.transform !== \"none\" || o.perspective !== \"none\" || o.contain === \"paint\" || [\"transform\", \"perspective\"].indexOf(o.willChange) !== -1 || t && o.willChange === \"filter\" || t && o.filter && o.filter !== \"none\")\n return n;\n n = n.parentNode;\n }\n return null;\n}\nfunction fe(e) {\n for (var t = B(e), r = Je(e); r && Gt(r) && I(r).position === \"static\"; )\n r = Je(r);\n return r && (N(r) === \"html\" || N(r) === \"body\" && I(r).position === \"static\") ? t : r || Jt(e) || t;\n}\nfunction Te(e) {\n return [\"top\", \"bottom\"].indexOf(e) >= 0 ? \"x\" : \"y\";\n}\nfunction oe(e, t, r) {\n return _(e, ye(t, r));\n}\nfunction Qt(e, t, r) {\n var i = oe(e, t, r);\n return i > r ? r : i;\n}\nfunction ht() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}\nfunction gt(e) {\n return Object.assign({}, ht(), e);\n}\nfunction mt(e, t) {\n return t.reduce(function(r, i) {\n return r[i] = e, r;\n }, {});\n}\nvar Zt = function(t, r) {\n return t = typeof t == \"function\" ? t(Object.assign({}, r.rects, {\n placement: r.placement\n })) : t, gt(typeof t != \"number\" ? t : mt(t, le));\n};\nfunction er(e) {\n var t, r = e.state, i = e.name, n = e.options, o = r.elements.arrow, l = r.modifiersData.popperOffsets, s = H(r.placement), a = Te(s), f = [D, M].indexOf(s) >= 0, c = f ? \"height\" : \"width\";\n if (!(!o || !l)) {\n var h = Zt(n.padding, r), y = Be(o), u = a === \"y\" ? k : D, b = a === \"y\" ? S : M, v = r.rects.reference[c] + r.rects.reference[a] - l[a] - r.rects.popper[c], d = l[a] - r.rects.reference[a], w = fe(o), O = w ? a === \"y\" ? w.clientHeight || 0 : w.clientWidth || 0 : 0, E = v / 2 - d / 2, p = h[u], g = O - y[c] - h[b], m = O / 2 - y[c] / 2 + E, x = oe(p, m, g), L = a;\n r.modifiersData[i] = (t = {}, t[L] = x, t.centerOffset = x - m, t);\n }\n}\nfunction tr(e) {\n var t = e.state, r = e.options, i = r.element, n = i === void 0 ? \"[data-popper-arrow]\" : i;\n n != null && (typeof n == \"string\" && (n = t.elements.popper.querySelector(n), !n) || vt(t.elements.popper, n) && (t.elements.arrow = n));\n}\nconst rr = {\n name: \"arrow\",\n enabled: !0,\n phase: \"main\",\n fn: er,\n effect: tr,\n requires: [\"popperOffsets\"],\n requiresIfExists: [\"preventOverflow\"]\n};\nfunction te(e) {\n return e.split(\"-\")[1];\n}\nvar ir = {\n top: \"auto\",\n right: \"auto\",\n bottom: \"auto\",\n left: \"auto\"\n};\nfunction nr(e, t) {\n var r = e.x, i = e.y, n = t.devicePixelRatio || 1;\n return {\n x: Z(r * n) / n || 0,\n y: Z(i * n) / n || 0\n };\n}\nfunction Qe(e) {\n var t, r = e.popper, i = e.popperRect, n = e.placement, o = e.variation, l = e.offsets, s = e.position, a = e.gpuAcceleration, f = e.adaptive, c = e.roundOffsets, h = e.isFixed, y = l.x, u = y === void 0 ? 0 : y, b = l.y, v = b === void 0 ? 0 : b, d = typeof c == \"function\" ? c({\n x: u,\n y: v\n }) : {\n x: u,\n y: v\n };\n u = d.x, v = d.y;\n var w = l.hasOwnProperty(\"x\"), O = l.hasOwnProperty(\"y\"), E = D, p = k, g = window;\n if (f) {\n var m = fe(r), x = \"clientHeight\", L = \"clientWidth\";\n if (m === B(r) && (m = F(r), I(m).position !== \"static\" && s === \"absolute\" && (x = \"scrollHeight\", L = \"scrollWidth\")), m = m, n === k || (n === D || n === M) && o === se) {\n p = S;\n var P = h && m === g && g.visualViewport ? g.visualViewport.height : (\n // $FlowFixMe[prop-missing]\n m[x]\n );\n v -= P - i.height, v *= a ? 1 : -1;\n }\n if (n === D || (n === k || n === S) && o === se) {\n E = M;\n var A = h && m === g && g.visualViewport ? g.visualViewport.width : (\n // $FlowFixMe[prop-missing]\n m[L]\n );\n u -= A - i.width, u *= a ? 1 : -1;\n }\n }\n var $ = Object.assign({\n position: s\n }, f && ir), W = c === !0 ? nr({\n x: u,\n y: v\n }, B(r)) : {\n x: u,\n y: v\n };\n if (u = W.x, v = W.y, a) {\n var C;\n return Object.assign({}, $, (C = {}, C[p] = O ? \"0\" : \"\", C[E] = w ? \"0\" : \"\", C.transform = (g.devicePixelRatio || 1) <= 1 ? \"translate(\" + u + \"px, \" + v + \"px)\" : \"translate3d(\" + u + \"px, \" + v + \"px, 0)\", C));\n }\n return Object.assign({}, $, (t = {}, t[p] = O ? v + \"px\" : \"\", t[E] = w ? u + \"px\" : \"\", t.transform = \"\", t));\n}\nfunction or(e) {\n var t = e.state, r = e.options, i = r.gpuAcceleration, n = i === void 0 ? !0 : i, o = r.adaptive, l = o === void 0 ? !0 : o, s = r.roundOffsets, a = s === void 0 ? !0 : s, f = {\n placement: H(t.placement),\n variation: te(t.placement),\n popper: t.elements.popper,\n popperRect: t.rects.popper,\n gpuAcceleration: n,\n isFixed: t.options.strategy === \"fixed\"\n };\n t.modifiersData.popperOffsets != null && (t.styles.popper = Object.assign({}, t.styles.popper, Qe(Object.assign({}, f, {\n offsets: t.modifiersData.popperOffsets,\n position: t.options.strategy,\n adaptive: l,\n roundOffsets: a\n })))), t.modifiersData.arrow != null && (t.styles.arrow = Object.assign({}, t.styles.arrow, Qe(Object.assign({}, f, {\n offsets: t.modifiersData.arrow,\n position: \"absolute\",\n adaptive: !1,\n roundOffsets: a\n })))), t.attributes.popper = Object.assign({}, t.attributes.popper, {\n \"data-popper-placement\": t.placement\n });\n}\nconst ar = {\n name: \"computeStyles\",\n enabled: !0,\n phase: \"beforeWrite\",\n fn: or,\n data: {}\n};\nvar ge = {\n passive: !0\n};\nfunction sr(e) {\n var t = e.state, r = e.instance, i = e.options, n = i.scroll, o = n === void 0 ? !0 : n, l = i.resize, s = l === void 0 ? !0 : l, a = B(t.elements.popper), f = [].concat(t.scrollParents.reference, t.scrollParents.popper);\n return o && f.forEach(function(c) {\n c.addEventListener(\"scroll\", r.update, ge);\n }), s && a.addEventListener(\"resize\", r.update, ge), function() {\n o && f.forEach(function(c) {\n c.removeEventListener(\"scroll\", r.update, ge);\n }), s && a.removeEventListener(\"resize\", r.update, ge);\n };\n}\nconst cr = {\n name: \"eventListeners\",\n enabled: !0,\n phase: \"write\",\n fn: function() {\n },\n effect: sr,\n data: {}\n};\nvar lr = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n};\nfunction me(e) {\n return e.replace(/left|right|bottom|top/g, function(t) {\n return lr[t];\n });\n}\nvar fr = {\n start: \"end\",\n end: \"start\"\n};\nfunction Ze(e) {\n return e.replace(/start|end/g, function(t) {\n return fr[t];\n });\n}\nfunction Se(e) {\n var t = B(e), r = t.pageXOffset, i = t.pageYOffset;\n return {\n scrollLeft: r,\n scrollTop: i\n };\n}\nfunction Me(e) {\n return ee(F(e)).left + Se(e).scrollLeft;\n}\nfunction ur(e, t) {\n var r = B(e), i = F(e), n = r.visualViewport, o = i.clientWidth, l = i.clientHeight, s = 0, a = 0;\n if (n) {\n o = n.width, l = n.height;\n var f = dt();\n (f || !f && t === \"fixed\") && (s = n.offsetLeft, a = n.offsetTop);\n }\n return {\n width: o,\n height: l,\n x: s + Me(e),\n y: a\n };\n}\nfunction pr(e) {\n var t, r = F(e), i = Se(e), n = (t = e.ownerDocument) == null ? void 0 : t.body, o = _(r.scrollWidth, r.clientWidth, n ? n.scrollWidth : 0, n ? n.clientWidth : 0), l = _(r.scrollHeight, r.clientHeight, n ? n.scrollHeight : 0, n ? n.clientHeight : 0), s = -i.scrollLeft + Me(e), a = -i.scrollTop;\n return I(n || r).direction === \"rtl\" && (s += _(r.clientWidth, n ? n.clientWidth : 0) - o), {\n width: o,\n height: l,\n x: s,\n y: a\n };\n}\nfunction We(e) {\n var t = I(e), r = t.overflow, i = t.overflowX, n = t.overflowY;\n return /auto|scroll|overlay|hidden/.test(r + n + i);\n}\nfunction yt(e) {\n return [\"html\", \"body\", \"#document\"].indexOf(N(e)) >= 0 ? e.ownerDocument.body : T(e) && We(e) ? e : yt(we(e));\n}\nfunction ae(e, t) {\n var r;\n t === void 0 && (t = []);\n var i = yt(e), n = i === ((r = e.ownerDocument) == null ? void 0 : r.body), o = B(i), l = n ? [o].concat(o.visualViewport || [], We(i) ? i : []) : i, s = t.concat(l);\n return n ? s : (\n // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n s.concat(ae(we(l)))\n );\n}\nfunction $e(e) {\n return Object.assign({}, e, {\n left: e.x,\n top: e.y,\n right: e.x + e.width,\n bottom: e.y + e.height\n });\n}\nfunction dr(e, t) {\n var r = ee(e, !1, t === \"fixed\");\n return r.top = r.top + e.clientTop, r.left = r.left + e.clientLeft, r.bottom = r.top + e.clientHeight, r.right = r.left + e.clientWidth, r.width = e.clientWidth, r.height = e.clientHeight, r.x = r.left, r.y = r.top, r;\n}\nfunction et(e, t, r) {\n return t === ut ? $e(ur(e, r)) : K(t) ? dr(t, r) : $e(pr(F(e)));\n}\nfunction vr(e) {\n var t = ae(we(e)), r = [\"absolute\", \"fixed\"].indexOf(I(e).position) >= 0, i = r && T(e) ? fe(e) : e;\n return K(i) ? t.filter(function(n) {\n return K(n) && vt(n, i) && N(n) !== \"body\";\n }) : [];\n}\nfunction hr(e, t, r, i) {\n var n = t === \"clippingParents\" ? vr(e) : [].concat(t), o = [].concat(n, [r]), l = o[0], s = o.reduce(function(a, f) {\n var c = et(e, f, i);\n return a.top = _(c.top, a.top), a.right = ye(c.right, a.right), a.bottom = ye(c.bottom, a.bottom), a.left = _(c.left, a.left), a;\n }, et(e, l, i));\n return s.width = s.right - s.left, s.height = s.bottom - s.top, s.x = s.left, s.y = s.top, s;\n}\nfunction wt(e) {\n var t = e.reference, r = e.element, i = e.placement, n = i ? H(i) : null, o = i ? te(i) : null, l = t.x + t.width / 2 - r.width / 2, s = t.y + t.height / 2 - r.height / 2, a;\n switch (n) {\n case k:\n a = {\n x: l,\n y: t.y - r.height\n };\n break;\n case S:\n a = {\n x: l,\n y: t.y + t.height\n };\n break;\n case M:\n a = {\n x: t.x + t.width,\n y: s\n };\n break;\n case D:\n a = {\n x: t.x - r.width,\n y: s\n };\n break;\n default:\n a = {\n x: t.x,\n y: t.y\n };\n }\n var f = n ? Te(n) : null;\n if (f != null) {\n var c = f === \"y\" ? \"height\" : \"width\";\n switch (o) {\n case Q:\n a[f] = a[f] - (t[c] / 2 - r[c] / 2);\n break;\n case se:\n a[f] = a[f] + (t[c] / 2 - r[c] / 2);\n break;\n }\n }\n return a;\n}\nfunction ce(e, t) {\n t === void 0 && (t = {});\n var r = t, i = r.placement, n = i === void 0 ? e.placement : i, o = r.strategy, l = o === void 0 ? e.strategy : o, s = r.boundary, a = s === void 0 ? Mt : s, f = r.rootBoundary, c = f === void 0 ? ut : f, h = r.elementContext, y = h === void 0 ? ne : h, u = r.altBoundary, b = u === void 0 ? !1 : u, v = r.padding, d = v === void 0 ? 0 : v, w = gt(typeof d != \"number\" ? d : mt(d, le)), O = y === ne ? Wt : ne, E = e.rects.popper, p = e.elements[b ? O : y], g = hr(K(p) ? p : p.contextElement || F(e.elements.popper), a, c, l), m = ee(e.elements.reference), x = wt({\n reference: m,\n element: E,\n strategy: \"absolute\",\n placement: n\n }), L = $e(Object.assign({}, E, x)), P = y === ne ? L : m, A = {\n top: g.top - P.top + w.top,\n bottom: P.bottom - g.bottom + w.bottom,\n left: g.left - P.left + w.left,\n right: P.right - g.right + w.right\n }, $ = e.modifiersData.offset;\n if (y === ne && $) {\n var W = $[n];\n Object.keys(A).forEach(function(C) {\n var q = [M, S].indexOf(C) >= 0 ? 1 : -1, X = [k, S].indexOf(C) >= 0 ? \"y\" : \"x\";\n A[C] += W[X] * q;\n });\n }\n return A;\n}\nfunction gr(e, t) {\n t === void 0 && (t = {});\n var r = t, i = r.placement, n = r.boundary, o = r.rootBoundary, l = r.padding, s = r.flipVariations, a = r.allowedAutoPlacements, f = a === void 0 ? pt : a, c = te(i), h = c ? s ? Ge : Ge.filter(function(b) {\n return te(b) === c;\n }) : le, y = h.filter(function(b) {\n return f.indexOf(b) >= 0;\n });\n y.length === 0 && (y = h);\n var u = y.reduce(function(b, v) {\n return b[v] = ce(e, {\n placement: v,\n boundary: n,\n rootBoundary: o,\n padding: l\n })[H(v)], b;\n }, {});\n return Object.keys(u).sort(function(b, v) {\n return u[b] - u[v];\n });\n}\nfunction mr(e) {\n if (H(e) === De)\n return [];\n var t = me(e);\n return [Ze(e), t, Ze(t)];\n}\nfunction yr(e) {\n var t = e.state, r = e.options, i = e.name;\n if (!t.modifiersData[i]._skip) {\n for (var n = r.mainAxis, o = n === void 0 ? !0 : n, l = r.altAxis, s = l === void 0 ? !0 : l, a = r.fallbackPlacements, f = r.padding, c = r.boundary, h = r.rootBoundary, y = r.altBoundary, u = r.flipVariations, b = u === void 0 ? !0 : u, v = r.allowedAutoPlacements, d = t.options.placement, w = H(d), O = w === d, E = a || (O || !b ? [me(d)] : mr(d)), p = [d].concat(E).reduce(function(G, V) {\n return G.concat(H(V) === De ? gr(t, {\n placement: V,\n boundary: c,\n rootBoundary: h,\n padding: f,\n flipVariations: b,\n allowedAutoPlacements: v\n }) : V);\n }, []), g = t.rects.reference, m = t.rects.popper, x = /* @__PURE__ */ new Map(), L = !0, P = p[0], A = 0; A < p.length; A++) {\n var $ = p[A], W = H($), C = te($) === Q, q = [k, S].indexOf(W) >= 0, X = q ? \"width\" : \"height\", R = ce(t, {\n placement: $,\n boundary: c,\n rootBoundary: h,\n altBoundary: y,\n padding: f\n }), j = q ? C ? M : D : C ? S : k;\n g[X] > m[X] && (j = me(j));\n var ue = me(j), Y = [];\n if (o && Y.push(R[W] <= 0), s && Y.push(R[j] <= 0, R[ue] <= 0), Y.every(function(G) {\n return G;\n })) {\n P = $, L = !1;\n break;\n }\n x.set($, Y);\n }\n if (L)\n for (var pe = b ? 3 : 1, be = function(V) {\n var ie = p.find(function(ve) {\n var z = x.get(ve);\n if (z)\n return z.slice(0, V).every(function(xe) {\n return xe;\n });\n });\n if (ie)\n return P = ie, \"break\";\n }, re = pe; re > 0; re--) {\n var de = be(re);\n if (de === \"break\")\n break;\n }\n t.placement !== P && (t.modifiersData[i]._skip = !0, t.placement = P, t.reset = !0);\n }\n}\nconst wr = {\n name: \"flip\",\n enabled: !0,\n phase: \"main\",\n fn: yr,\n requiresIfExists: [\"offset\"],\n data: {\n _skip: !1\n }\n};\nfunction tt(e, t, r) {\n return r === void 0 && (r = {\n x: 0,\n y: 0\n }), {\n top: e.top - t.height - r.y,\n right: e.right - t.width + r.x,\n bottom: e.bottom - t.height + r.y,\n left: e.left - t.width - r.x\n };\n}\nfunction rt(e) {\n return [k, M, S, D].some(function(t) {\n return e[t] >= 0;\n });\n}\nfunction br(e) {\n var t = e.state, r = e.name, i = t.rects.reference, n = t.rects.popper, o = t.modifiersData.preventOverflow, l = ce(t, {\n elementContext: \"reference\"\n }), s = ce(t, {\n altBoundary: !0\n }), a = tt(l, i), f = tt(s, n, o), c = rt(a), h = rt(f);\n t.modifiersData[r] = {\n referenceClippingOffsets: a,\n popperEscapeOffsets: f,\n isReferenceHidden: c,\n hasPopperEscaped: h\n }, t.attributes.popper = Object.assign({}, t.attributes.popper, {\n \"data-popper-reference-hidden\": c,\n \"data-popper-escaped\": h\n });\n}\nconst xr = {\n name: \"hide\",\n enabled: !0,\n phase: \"main\",\n requiresIfExists: [\"preventOverflow\"],\n fn: br\n};\nfunction Or(e, t, r) {\n var i = H(e), n = [D, k].indexOf(i) >= 0 ? -1 : 1, o = typeof r == \"function\" ? r(Object.assign({}, t, {\n placement: e\n })) : r, l = o[0], s = o[1];\n return l = l || 0, s = (s || 0) * n, [D, M].indexOf(i) >= 0 ? {\n x: s,\n y: l\n } : {\n x: l,\n y: s\n };\n}\nfunction Er(e) {\n var t = e.state, r = e.options, i = e.name, n = r.offset, o = n === void 0 ? [0, 0] : n, l = pt.reduce(function(c, h) {\n return c[h] = Or(h, t.rects, o), c;\n }, {}), s = l[t.placement], a = s.x, f = s.y;\n t.modifiersData.popperOffsets != null && (t.modifiersData.popperOffsets.x += a, t.modifiersData.popperOffsets.y += f), t.modifiersData[i] = l;\n}\nconst Ar = {\n name: \"offset\",\n enabled: !0,\n phase: \"main\",\n requires: [\"popperOffsets\"],\n fn: Er\n};\nfunction Pr(e) {\n var t = e.state, r = e.name;\n t.modifiersData[r] = wt({\n reference: t.rects.reference,\n element: t.rects.popper,\n strategy: \"absolute\",\n placement: t.placement\n });\n}\nconst Lr = {\n name: \"popperOffsets\",\n enabled: !0,\n phase: \"read\",\n fn: Pr,\n data: {}\n};\nfunction $r(e) {\n return e === \"x\" ? \"y\" : \"x\";\n}\nfunction Cr(e) {\n var t = e.state, r = e.options, i = e.name, n = r.mainAxis, o = n === void 0 ? !0 : n, l = r.altAxis, s = l === void 0 ? !1 : l, a = r.boundary, f = r.rootBoundary, c = r.altBoundary, h = r.padding, y = r.tether, u = y === void 0 ? !0 : y, b = r.tetherOffset, v = b === void 0 ? 0 : b, d = ce(t, {\n boundary: a,\n rootBoundary: f,\n padding: h,\n altBoundary: c\n }), w = H(t.placement), O = te(t.placement), E = !O, p = Te(w), g = $r(p), m = t.modifiersData.popperOffsets, x = t.rects.reference, L = t.rects.popper, P = typeof v == \"function\" ? v(Object.assign({}, t.rects, {\n placement: t.placement\n })) : v, A = typeof P == \"number\" ? {\n mainAxis: P,\n altAxis: P\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, P), $ = t.modifiersData.offset ? t.modifiersData.offset[t.placement] : null, W = {\n x: 0,\n y: 0\n };\n if (m) {\n if (o) {\n var C, q = p === \"y\" ? k : D, X = p === \"y\" ? S : M, R = p === \"y\" ? \"height\" : \"width\", j = m[p], ue = j + d[q], Y = j - d[X], pe = u ? -L[R] / 2 : 0, be = O === Q ? x[R] : L[R], re = O === Q ? -L[R] : -x[R], de = t.elements.arrow, G = u && de ? Be(de) : {\n width: 0,\n height: 0\n }, V = t.modifiersData[\"arrow#persistent\"] ? t.modifiersData[\"arrow#persistent\"].padding : ht(), ie = V[q], ve = V[X], z = oe(0, x[R], G[R]), xe = E ? x[R] / 2 - pe - z - ie - A.mainAxis : be - z - ie - A.mainAxis, Ot = E ? -x[R] / 2 + pe + z + ve + A.mainAxis : re + z + ve + A.mainAxis, Oe = t.elements.arrow && fe(t.elements.arrow), Et = Oe ? p === \"y\" ? Oe.clientTop || 0 : Oe.clientLeft || 0 : 0, He = (C = $ == null ? void 0 : $[p]) != null ? C : 0, At = j + xe - He - Et, Pt = j + Ot - He, Ne = oe(u ? ye(ue, At) : ue, j, u ? _(Y, Pt) : Y);\n m[p] = Ne, W[p] = Ne - j;\n }\n if (s) {\n var Ie, Lt = p === \"x\" ? k : D, $t = p === \"x\" ? S : M, U = m[g], he = g === \"y\" ? \"height\" : \"width\", Ve = U + d[Lt], Fe = U - d[$t], Ee = [k, D].indexOf(w) !== -1, qe = (Ie = $ == null ? void 0 : $[g]) != null ? Ie : 0, Xe = Ee ? Ve : U - x[he] - L[he] - qe + A.altAxis, Ye = Ee ? U + x[he] + L[he] - qe - A.altAxis : Fe, ze = u && Ee ? Qt(Xe, U, Ye) : oe(u ? Xe : Ve, U, u ? Ye : Fe);\n m[g] = ze, W[g] = ze - U;\n }\n t.modifiersData[i] = W;\n }\n}\nconst kr = {\n name: \"preventOverflow\",\n enabled: !0,\n phase: \"main\",\n fn: Cr,\n requiresIfExists: [\"offset\"]\n};\nfunction Dr(e) {\n return {\n scrollLeft: e.scrollLeft,\n scrollTop: e.scrollTop\n };\n}\nfunction Rr(e) {\n return e === B(e) || !T(e) ? Se(e) : Dr(e);\n}\nfunction Br(e) {\n var t = e.getBoundingClientRect(), r = Z(t.width) / e.offsetWidth || 1, i = Z(t.height) / e.offsetHeight || 1;\n return r !== 1 || i !== 1;\n}\nfunction Tr(e, t, r) {\n r === void 0 && (r = !1);\n var i = T(t), n = T(t) && Br(t), o = F(t), l = ee(e, n, r), s = {\n scrollLeft: 0,\n scrollTop: 0\n }, a = {\n x: 0,\n y: 0\n };\n return (i || !i && !r) && ((N(t) !== \"body\" || // https://github.com/popperjs/popper-core/issues/1078\n We(o)) && (s = Rr(t)), T(t) ? (a = ee(t, !0), a.x += t.clientLeft, a.y += t.clientTop) : o && (a.x = Me(o))), {\n x: l.left + s.scrollLeft - a.x,\n y: l.top + s.scrollTop - a.y,\n width: l.width,\n height: l.height\n };\n}\nfunction Sr(e) {\n var t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), i = [];\n e.forEach(function(o) {\n t.set(o.name, o);\n });\n function n(o) {\n r.add(o.name);\n var l = [].concat(o.requires || [], o.requiresIfExists || []);\n l.forEach(function(s) {\n if (!r.has(s)) {\n var a = t.get(s);\n a && n(a);\n }\n }), i.push(o);\n }\n return e.forEach(function(o) {\n r.has(o.name) || n(o);\n }), i;\n}\nfunction Mr(e) {\n var t = Sr(e);\n return zt.reduce(function(r, i) {\n return r.concat(t.filter(function(n) {\n return n.phase === i;\n }));\n }, []);\n}\nfunction Wr(e) {\n var t;\n return function() {\n return t || (t = new Promise(function(r) {\n Promise.resolve().then(function() {\n t = void 0, r(e());\n });\n })), t;\n };\n}\nfunction jr(e) {\n var t = e.reduce(function(r, i) {\n var n = r[i.name];\n return r[i.name] = n ? Object.assign({}, n, i, {\n options: Object.assign({}, n.options, i.options),\n data: Object.assign({}, n.data, i.data)\n }) : i, r;\n }, {});\n return Object.keys(t).map(function(r) {\n return t[r];\n });\n}\nvar it = {\n placement: \"bottom\",\n modifiers: [],\n strategy: \"absolute\"\n};\nfunction nt() {\n for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++)\n t[r] = arguments[r];\n return !t.some(function(i) {\n return !(i && typeof i.getBoundingClientRect == \"function\");\n });\n}\nfunction Hr(e) {\n e === void 0 && (e = {});\n var t = e, r = t.defaultModifiers, i = r === void 0 ? [] : r, n = t.defaultOptions, o = n === void 0 ? it : n;\n return function(s, a, f) {\n f === void 0 && (f = o);\n var c = {\n placement: \"bottom\",\n orderedModifiers: [],\n options: Object.assign({}, it, o),\n modifiersData: {},\n elements: {\n reference: s,\n popper: a\n },\n attributes: {},\n styles: {}\n }, h = [], y = !1, u = {\n state: c,\n setOptions: function(w) {\n var O = typeof w == \"function\" ? w(c.options) : w;\n v(), c.options = Object.assign({}, o, c.options, O), c.scrollParents = {\n reference: K(s) ? ae(s) : s.contextElement ? ae(s.contextElement) : [],\n popper: ae(a)\n };\n var E = Mr(jr([].concat(i, c.options.modifiers)));\n return c.orderedModifiers = E.filter(function(p) {\n return p.enabled;\n }), b(), u.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function() {\n if (!y) {\n var w = c.elements, O = w.reference, E = w.popper;\n if (nt(O, E)) {\n c.rects = {\n reference: Tr(O, fe(E), c.options.strategy === \"fixed\"),\n popper: Be(E)\n }, c.reset = !1, c.placement = c.options.placement, c.orderedModifiers.forEach(function(A) {\n return c.modifiersData[A.name] = Object.assign({}, A.data);\n });\n for (var p = 0; p < c.orderedModifiers.length; p++) {\n if (c.reset === !0) {\n c.reset = !1, p = -1;\n continue;\n }\n var g = c.orderedModifiers[p], m = g.fn, x = g.options, L = x === void 0 ? {} : x, P = g.name;\n typeof m == \"function\" && (c = m({\n state: c,\n options: L,\n name: P,\n instance: u\n }) || c);\n }\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: Wr(function() {\n return new Promise(function(d) {\n u.forceUpdate(), d(c);\n });\n }),\n destroy: function() {\n v(), y = !0;\n }\n };\n if (!nt(s, a))\n return u;\n u.setOptions(f).then(function(d) {\n !y && f.onFirstUpdate && f.onFirstUpdate(d);\n });\n function b() {\n c.orderedModifiers.forEach(function(d) {\n var w = d.name, O = d.options, E = O === void 0 ? {} : O, p = d.effect;\n if (typeof p == \"function\") {\n var g = p({\n state: c,\n name: w,\n instance: u,\n options: E\n }), m = function() {\n };\n h.push(g || m);\n }\n });\n }\n function v() {\n h.forEach(function(d) {\n return d();\n }), h = [];\n }\n return u;\n };\n}\nvar Nr = [cr, Lr, ar, Kt, Ar, wr, kr, rr, xr], Ir = /* @__PURE__ */ Hr({\n defaultModifiers: Nr\n});\nasync function Ce(e) {\n if (!e)\n return this.collection;\n const t = this.collection.findIndex((r) => r.id === e.id);\n if (t >= 0) {\n const r = this.collection[t];\n r.state === \"opened\" && r.close(), r.popper.destroy(), bt(r), Object.getOwnPropertyNames(r).forEach((i) => {\n delete r[i];\n }), this.collection.splice(t, 1);\n }\n return this.collection;\n}\nfunction bt(e) {\n return e.__eventListeners && (e.__eventListeners.forEach((t) => {\n t.el.forEach((r) => {\n t.type.forEach((i) => {\n e[r].removeEventListener(i, t.listener, !1);\n });\n });\n }), delete e.__eventListeners), e;\n}\nasync function je(e) {\n const t = at.call(this, e);\n return t.el.classList.add(this.settings.stateActive), t.trigger.hasAttribute(\"aria-controls\") && t.trigger.setAttribute(\"aria-expanded\", \"true\"), t.config = ot(t.el, this.settings), t.popper.setOptions({\n placement: t.config.placement,\n modifiers: [\n { name: \"eventListeners\", enabled: !0 },\n ...Rt(t.config)\n ]\n }), t.popper.update(), t.state = \"opened\", t;\n}\nasync function Vr(e, t) {\n Ce.call(this, e);\n const r = this, i = {\n open() {\n return je.call(r, this);\n },\n close() {\n return ke.call(r, this);\n },\n deregister() {\n return Ce.call(r, this);\n }\n }, n = {\n id: e.id,\n state: \"closed\",\n el: e,\n trigger: t,\n popper: Ir(t, e),\n config: ot(e, this.settings),\n ...i\n };\n return n.trigger.hasAttribute(\"aria-controls\") && n.trigger.setAttribute(\"aria-expanded\", \"false\"), xt.call(this, n), this.collection.push(n), n.el.classList.contains(this.settings.stateActive) && (await n.open(), ft.call(this, n)), n;\n}\nfunction xt(e) {\n return e.__eventListeners || (e.config.event === \"hover\" ? (e.__eventListeners = [{\n el: [\"trigger\"],\n type: [\"mouseenter\", \"focus\"],\n listener: je.bind(this, e)\n }, {\n el: [\"el\", \"trigger\"],\n type: [\"mouseleave\", \"focusout\"],\n listener: lt.bind(this, e)\n }], e.__eventListeners.forEach((r) => {\n r.el.forEach((i) => {\n r.type.forEach((n) => {\n e[i].addEventListener(n, r.listener, !1);\n });\n });\n })) : (e.__eventListeners = [{\n el: [\"trigger\"],\n type: [\"click\"],\n listener: Tt.bind(this, e)\n }], e.__eventListeners.forEach((r) => {\n r.el.forEach((i) => {\n r.type.forEach((n) => {\n e[i].addEventListener(n, r.listener, !1);\n });\n });\n }))), e;\n}\nvar J;\nclass qr extends Ct {\n constructor(r) {\n super();\n _e(this, J, void 0);\n this.defaults = Dt, this.settings = { ...this.defaults, ...r }, this.trigger = null, Ke(this, J, St.bind(this)), this.settings.autoInit && this.init();\n }\n async init(r) {\n r && (this.settings = { ...this.settings, ...r });\n const i = document.querySelectorAll(this.settings.selectorPopover);\n return await this.registerCollection(i), this.settings.eventListeners && this.initEventListeners(!1), this;\n }\n async destroy() {\n return this.trigger = null, await this.deregisterCollection(), this.settings.eventListeners && this.destroyEventListeners(!1), this;\n }\n initEventListeners(r = !0) {\n r && this.collection.forEach((i) => {\n xt.call(this, i);\n }), document.addEventListener(\"keydown\", Ae(this, J), !1);\n }\n destroyEventListeners(r = !0) {\n r && this.collection.forEach((i) => {\n bt(i);\n }), document.removeEventListener(\"keydown\", Ae(this, J), !1);\n }\n register(r) {\n const i = Bt.call(this, r);\n return i.error ? Promise.reject(i.error) : Vr.call(this, i.popover, i.trigger);\n }\n deregister(r) {\n const i = this.get(st.call(this, r));\n return Ce.call(this, i);\n }\n open(r) {\n return je.call(this, r);\n }\n close(r) {\n return ke.call(this, r);\n }\n}\nJ = new WeakMap();\nexport {\n qr as default\n};\n//# sourceMappingURL=index.js.map\n"],"names":["b","o","f","i","r","l","v","h","d","u","p","g","m","q","I","C","c","O","S","F","y","L","k","s","E","$","w","_","N","a","K","W","J","z","G","H","Q","R","U","A","D","Z","tt","et","M","T","x","P","B","X","V","j","Y","it"],"mappings":"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"}