vrembem 4.0.0-next.32 → 4.0.0-next.33

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.cjs","sources":["../../core/dist/index.js","../../drawer/dist/index.js","../../modal/dist/index.js","../../popover/dist/index.js"],"sourcesContent":["const u = \":not([inert])\", f = ':not([tabindex^=\"-\"])', m = \":not(:disabled)\", k = [\n `a[href]${u}${f}`,\n `area[href]${u}${f}`,\n `input:not([type=\"hidden\"]):not([type=\"radio\"])${u}${f}${m}`,\n `input[type=\"radio\"]${u}${f}${m}`,\n `select${u}${f}${m}`,\n `textarea${u}${f}${m}`,\n `button${u}${f}${m}`,\n `details${u} > summary:first-of-type${f}`,\n `iframe${u}${f}`,\n `audio[controls]${u}${f}`,\n `video[controls]${u}${f}`,\n `[contenteditable]${u}${f}`,\n `[tabindex]${u}${f}`\n];\nfunction C(n, t = \"config\") {\n const s = (n.getAttribute(`data-${t}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction E(n) {\n if (typeof n == \"string\") {\n const t = document.getElementById(n);\n if (t) return t;\n throw new Error(`Element not found with ID: \"${n}\"`);\n } else if (n instanceof HTMLElement) {\n if (!n.id)\n throw new Error(\"HTMLElement must have an ID\");\n return n;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function g(n, t, ...e) {\n t in n && typeof n[t] == \"function\" && await n[t](...e);\n}\nfunction x(n, t, e) {\n if (typeof t == \"string\") {\n const r = document.querySelector(t);\n if (!r)\n throw new Error(`No teleport reference found for selector: ${t}`);\n t = r;\n } else if (!(t instanceof HTMLElement))\n throw new Error(`Not a valid teleport reference: '${t}'`);\n if (typeof t[e] != \"function\")\n throw new Error(`Not a valid teleport method: '${e}'`);\n let s = document.createComment(\n \"teleported #\" + n.id\n );\n return n.before(s), t[e](n), () => {\n s && (s.after(n), s.remove(), s = null);\n };\n}\nfunction v(n) {\n return n.split(\"-\").map(\n (t, e) => e === 0 ? t : t.charAt(0).toUpperCase() + t.slice(1)\n ).join(\"\");\n}\nfunction $(n) {\n return n.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction S(n) {\n if (typeof n == \"number\")\n return n;\n const t = parseFloat(n);\n if (!Number.isNaN(t)) {\n const e = n.includes(\"ms\");\n return t * (e ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${n}`);\n}\nfunction J(n, t, e, s, r = 0) {\n return new Promise((a) => {\n n.classList.remove(t), n.classList.add(e), setTimeout(() => {\n n.classList.add(s), n.classList.remove(e), a(n);\n }, S(r));\n });\n}\nfunction R(n, t = {}) {\n const e = {\n fallback: null,\n element: document.body,\n ...t\n };\n if (!n.startsWith(\"--\")) {\n const r = y();\n r && (n = `${r}${n}`), n = `--${n}`;\n }\n const s = getComputedStyle(e.element).getPropertyValue(n).trim();\n if (s)\n return s;\n if (e.fallback)\n return e.fallback;\n throw new Error(`CSS variable \"${n}\" was not found!`);\n}\nasync function h(n, t, e) {\n await g(t, n, e), e && await g(e, n);\n for (const s of t.plugins)\n await g(s, n, { plugin: s, parent: t, entry: e });\n await t.emit(n, e);\n}\nfunction M(n) {\n const t = getComputedStyle(n.el), e = {}, s = n.getSetting(\"customProps\");\n for (let r = 0; r < s.length; r++) {\n const a = y(), o = n.parent.module.toLowerCase(), i = $(s[r]), c = t.getPropertyValue(`--${a}${o}-${i}`).trim();\n c && (e[i] = c);\n }\n return e;\n}\nfunction y() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction P(n, t, e = \"camel\") {\n return t = e === \"camel\" ? v(t) : $(t), n.split(\".\").concat(t).reduce((s, r) => s?.[r], this);\n}\nfunction A(n, t = {}) {\n const {\n fallback: e,\n props: s = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = t;\n for (const r of s) {\n const a = r !== \"customProps\" ? \"camel\" : \"kebab\", o = P.call(this, r, n, a);\n if (o !== void 0)\n return o;\n }\n if (e !== void 0)\n return e;\n throw new Error(`${this.parent.module} setting does not exist: ${n}`);\n}\nfunction I(n, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n n ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction T(n, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n n ? (s.inert = !0, s.setAttribute(\"aria-hidden\", \"true\")) : (s.inert = !1, s.removeAttribute(\"aria-hidden\"));\n });\n}\nfunction G(n, t, e) {\n T(!!n, t), I(!!n, e);\n}\nconst L = {\n events: {},\n on(n, t, ...e) {\n this.events[n] || (this.events[n] = []), this.events[n].some(\n (r) => r.listener === t\n ) || this.events[n].push({ listener: t, args: e });\n },\n off(n, t) {\n this.events[n] && (this.events[n] = this.events[n].filter(\n (e) => e.listener !== t\n ));\n },\n async emit(n, t) {\n if (n = n.startsWith(\"on\") ? n.slice(2, 3).toLowerCase() + n.slice(3) : n, !!this.events[n])\n for (const { listener: e, args: s } of this.events[n])\n await e(t, ...s);\n }\n};\nclass O extends Array {\n constructor(t = null) {\n super(), this.el = t, this.el && this.set();\n }\n get first() {\n return this[0];\n }\n get last() {\n return this[this.length - 1];\n }\n set(t = this.el) {\n this.length = 0, t && this.push(...t.querySelectorAll(k.join(\",\")));\n }\n clear() {\n this.length = 0;\n }\n}\nclass U {\n constructor(t = null) {\n this.el = t, this.focusable = new O(), this.handleFocusTrap = D.bind(this);\n }\n on(t = this.el) {\n this.focusable.set(t), this.focusable.length ? document.addEventListener(\"keydown\", this.handleFocusTrap) : document.addEventListener(\"keydown\", b);\n }\n off() {\n this.focusable.clear(), document.removeEventListener(\"keydown\", this.handleFocusTrap), document.removeEventListener(\"keydown\", b);\n }\n}\nfunction b(n) {\n (n.key === \"Tab\" || n.keyCode === 9) && n.preventDefault();\n}\nfunction D(n) {\n if (n.key !== \"Tab\" && n.keyCode !== 9) return;\n const { activeElement: t } = document, { el: e, focusable: s } = this, r = n.shiftKey, a = t === s.first || t === e, o = t === s.last || t === e;\n if (r && a || !r && o) {\n n.preventDefault();\n const i = r ? s.last : s.first;\n i && typeof i.focus == \"function\" && i.focus();\n }\n}\nfunction w(n, t = !0) {\n const e = localStorage.getItem(n), s = e ? JSON.parse(e) : {};\n return {\n get(r, a) {\n return r ? r in s ? s[r] : a : s;\n },\n set(r, a) {\n return a ? s[r] = a : delete s[r], t && localStorage.setItem(n, JSON.stringify(s)), s;\n }\n };\n}\nclass H extends Array {\n constructor(t = {}) {\n super(), this.presets = t;\n }\n applySettings(t) {\n const e = t?.defaults || {}, s = this.presets?.[t.name] || {}, r = t?.options || {};\n t.settings = { ...e, ...s, ...r };\n }\n validate(t) {\n return !(\"name\" in t) || typeof t.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(t) {\n return this.find((e) => e.name === t);\n }\n add(t) {\n if (Array.isArray(t))\n t.forEach((e) => this.add(e));\n else if (this.applySettings(t), this.validate(t)) {\n const e = this.findIndex((s) => s.name === t.name);\n ~e ? this[e] = t : this.push(t);\n }\n }\n remove(t) {\n const e = this.findIndex((s) => s.name === t);\n ~e && this.splice(e, 1);\n }\n}\nclass W extends Array {\n constructor(t = {}) {\n super(), this.settings = t;\n }\n get copy() {\n return [...this];\n }\n get top() {\n const t = this[this.length - 1];\n return t || null;\n }\n updateIndex() {\n this.forEach((t, e) => {\n t.el.style.zIndex = \"\";\n const s = getComputedStyle(t.el)[\"z-index\"];\n t.el.style.zIndex = String(parseInt(s, 10) + e + 1);\n });\n }\n onChange() {\n this.updateIndex(), typeof this.settings.onChange == \"function\" && this.settings.onChange();\n }\n add(t) {\n this.push(t), this.onChange();\n }\n remove(t) {\n const e = this.findIndex((s) => s.id === t.id);\n ~e && (t.el.style.zIndex = \"\", this.splice(e, 1), this.onChange());\n }\n moveToTop(t) {\n const e = this.findIndex((s) => s.id === t.id);\n ~e && (this.splice(e, 1), this.add(t));\n }\n}\nconst N = {\n condition: !0\n}, Q = {\n primary: \"hsl(152deg 60% 50%)\",\n secondary: \"hsl(214deg 50% 50%)\",\n neutral: \"hsl(214deg 20% 50%)\",\n important: \"hsl(0deg 80% 50%)\"\n};\nfunction Z(n = {}) {\n const t = {\n name: \"debug\",\n defaults: N,\n options: n\n };\n function e(o, i = [], c = [\"primary\", \"secondary\"]) {\n const l = c.map((d) => `color: ${Q[d]}`);\n console.log(`%c📡 DEBUG: %c${o}`, ...l, ...i);\n }\n function s(o, ...i) {\n return typeof o == \"function\" ? o(...i) : o;\n }\n const r = {\n beforeMountRef: e.bind(null, \"Event > beforeMount()\"),\n afterMountRef: e.bind(null, \"Event > afterMount()\"),\n beforeUnmountRef: e.bind(\n null,\n \"Event > beforeUnmount()\",\n [],\n [\"important\", \"neutral\"]\n ),\n afterUnmountRef: e.bind(\n null,\n \"Event > afterUnmount()\",\n [],\n [\"important\", \"neutral\"]\n ),\n createEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(`Event > createEntry() > [${l}] #${o.id}`);\n }\n },\n registerEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(`Event > registerEntry() > [${l}] #${o.id}`);\n }\n },\n destroyEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(\n `Event > destroyEntry() > [${l}] #${o.id}`,\n [],\n [\"important\", \"neutral\"]\n );\n }\n },\n deregisterEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(\n `Event > deregisterEntry() > [${l}]`,\n [],\n [\"important\", \"neutral\"]\n );\n }\n }\n };\n return { ...t, ...{\n // Plugin setup/teardown methods\n setup({ parent: o }) {\n e(\"Plugin > setup()\", Array.from(arguments), [\"secondary\", \"neutral\"]), o.on(\"beforeMount\", r.beforeMountRef), o.on(\"createEntry\", r.createEntryRef, { parent: o, plugin: this }), o.on(\"registerEntry\", r.registerEntryRef, {\n parent: o,\n plugin: this\n }), o.on(\"afterMount\", r.afterMountRef), o.on(\"beforeUnmount\", r.beforeUnmountRef), o.on(\"destroyEntry\", r.destroyEntryRef, { parent: o, plugin: this }), o.on(\"deregisterEntry\", r.deregisterEntryRef, {\n parent: o,\n plugin: this\n }), o.on(\"afterUnmount\", r.afterUnmountRef);\n },\n teardown({ parent: o }) {\n e(\"Plugin > teardown()\", Array.from(arguments), [\n \"secondary\",\n \"neutral\"\n ]), o.off(\"beforeMount\", r.beforeMountRef), o.off(\"createEntry\", r.createEntryRef), o.off(\"registerEntry\", r.registerEntryRef), o.off(\"afterMount\", r.afterMountRef), o.off(\"beforeUnmount\", r.beforeUnmountRef), o.off(\"destroyEntry\", r.destroyEntryRef), o.off(\"deregisterEntry\", r.deregisterEntryRef), o.off(\"afterUnmount\", r.afterUnmountRef);\n },\n // Mount lifecycle hooks\n beforeMount() {\n e(\"Hook > beforeMount()\", Array.from(arguments));\n },\n onCreateEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length;\n e(\n `Hook > onCreateEntry() > [${c}] #${i.id}`,\n Array.from(arguments)\n );\n }\n },\n onRegisterEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length - 1;\n e(\n `Hook > onRegisterEntry() > [${c}] #${i.id}`,\n Array.from(arguments)\n );\n }\n },\n afterMount() {\n e(\"Hook > afterMount()\", Array.from(arguments));\n },\n // Unmount lifecycle hooks\n beforeUnmount() {\n e(\"Hook > beforeUnmount()\", Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n },\n onDestroyEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length - 1;\n e(\n `Hook > onDestroyEntry() > [${c}] #${i.id}`,\n Array.from(arguments),\n [\"important\", \"neutral\"]\n );\n }\n },\n onDeregisterEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length;\n e(`Hook > onDeregisterEntry() > [${c}]`, Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n }\n },\n afterUnmount() {\n e(\"Hook > afterUnmount()\", Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n }\n } };\n}\nconst q = {\n condition: !0\n};\nfunction _(n = {}) {\n const t = {\n name: \"focusTrap\",\n defaults: q,\n options: n\n }, e = {\n setup({ parent: o }) {\n o.on(\"opened\", r, this), o.on(\"closed\", a, this);\n },\n teardown({ parent: o }) {\n o.off(\"opened\", r), o.off(\"closed\", a);\n },\n onCreateEntry({ entry: o }) {\n o.focusTrap = new U();\n }\n };\n function s(o, ...i) {\n return typeof o == \"function\" ? o(...i) : o;\n }\n function r(o, i) {\n const c = { plugin: i, parent: o.parent, entry: o };\n s(i.settings.condition, c) && o.focusTrap?.on(o.dialog);\n }\n function a(o, i) {\n const c = { plugin: i, parent: o.parent, entry: o };\n s(i.settings.condition, c) && o.focusTrap?.off();\n }\n return { ...t, ...e };\n}\nconst F = {\n // The data attributes to get the breakpoint values from\n dataBreakpoint: \"breakpoint\",\n // The data attributes to get the media query value from\n dataMediaQuery: \"media-query\",\n // The string token to replace in the media query string\n token: \"{{BP}}\",\n // Sets a global breakpoint. Can be overridden by setting a data attribute\n // value. Notice: setting this option will enable a media query breakpoint on\n // all entries.\n breakpoint: null,\n // The default media query string to use. Can be overridden by setting a data\n // attribute value.\n mediaQuery: \"(min-width: {{BP}})\",\n // Maps entry ID or breakpoint key to breakpoint values. This is referenced\n // when getting an entries breakpoint value.\n breakpoints: {},\n // Maps entry ID's to a media query strings. Media query may contain a token.\n // This is referenced when getting an entries media query string.\n mediaQueries: {},\n // The function to run when the MediaQueryList triggers a \"change\" event.\n // This is run once on initial mount.\n onChange: () => {\n }\n};\nfunction X(n = {}) {\n const t = {\n name: \"mediaQuery\",\n defaults: F,\n options: n\n }, e = {\n // Run when an entry is created\n // Sets up the MediaQueryList and event listener\n onCreateEntry({ entry: i }) {\n a.call(this, i);\n },\n // Run when an entry is destroyed\n // Removes the MediaQueryList and event listener\n onDestroyEntry({ entry: i }) {\n o(i);\n }\n };\n function s(i) {\n const c = i.el.getAttribute(`data-${this.settings.dataMediaQuery}`);\n return !c && i.id in this.settings.mediaQueries ? this.settings.mediaQueries[i.id] : c || void 0;\n }\n function r(i) {\n let c = i.el.getAttribute(`data-${this.settings.dataBreakpoint}`);\n return !c && i.id in this.settings.breakpoints && (c = this.settings.breakpoints[i.id]), c && c in this.settings.breakpoints && (c = this.settings.breakpoints[c]), c && (c = getComputedStyle(document.body).getPropertyValue(`--${y()}breakpoint-${c}`).trim() || c), c || this.settings.breakpoint;\n }\n function a(i) {\n let c = s.call(this, i);\n const l = r.call(this, i);\n if (!l && !c) return;\n l && !c && (c = this.settings.mediaQuery);\n const d = c.replace(new RegExp(`${this.settings.token}`, \"g\"), l);\n i.mql = window.matchMedia(d), i.mql.onchange = (p) => {\n this.settings.onChange(p, i);\n }, this.settings.onChange(i.mql, i);\n }\n function o(i) {\n i.mql && (i.mql.onchange = null, i.mql = null);\n }\n return { ...t, ...e };\n}\nconst V = {\n // The property on entry objects to watch\n prop: \"state\",\n // The default value or a function to compute the initial value\n value: null,\n // The local storage key prefix\n keyPrefix: \"VB:\",\n // The local storage key to use. If not provided, module name and prop value\n // will be used e.g., \"VB:ModalState\".\n key: null,\n // Condition to determine whether or not to store the value in local storage\n condition: !1,\n // The function to run whenever the value changes\n onChange() {\n }\n};\nfunction Y(n = {}) {\n const t = {\n name: \"propStore\",\n defaults: V,\n options: n,\n store: null\n }, e = {\n setup({ parent: i }) {\n this.store = w(o.call(this, i.module));\n },\n async onCreateEntry({ entry: i }) {\n await s.call(this, i);\n },\n onDestroyEntry({ entry: i }) {\n a.call(this, i);\n }\n };\n async function s(i) {\n let c = i[this.settings.prop] || null;\n const l = { plugin: this, parent: i.parent, entry: i };\n Object.defineProperty(i, this.settings.prop, {\n configurable: !0,\n get() {\n return c;\n },\n set: async (d) => {\n if (c === d) return;\n const p = c;\n c = d, r(\n this.settings.condition,\n l,\n d,\n p\n ) && this.store.set(i.id, d), await this.settings.onChange(l, d, p);\n }\n }), Object.defineProperty(i, \"store\", {\n configurable: !0,\n get: () => this.store.get(i.id),\n set: (d) => {\n i[this.settings.prop] = d;\n }\n }), i[this.settings.prop] = await r(this.settings.value, l) || i[this.settings.prop];\n }\n function r(i, ...c) {\n return typeof i == \"function\" ? i(...c) : i;\n }\n async function a(i) {\n const c = i[this.settings.prop];\n delete i[this.settings.prop], i[this.settings.prop] = c, this.store.set(i.id, null);\n }\n function o(i) {\n const c = this.settings.prop.charAt(0).toUpperCase() + this.settings.prop.slice(1), l = this.settings.key || i + c;\n return this.settings.keyPrefix + l;\n }\n return { ...t, ...e };\n}\nconst B = {\n where: null,\n how: \"append\"\n};\nfunction tt(n = {}) {\n const t = {\n name: \"teleport\",\n defaults: B,\n options: n\n }, e = {\n onCreateEntry({ plugin: a, entry: o }) {\n s(a, o);\n },\n onDestroyEntry({ plugin: a, entry: o }) {\n r(a, o);\n }\n };\n function s(a, o) {\n o.teleport = () => {\n typeof o.teleportReturn == \"function\" && o.teleportReturn(), o.teleportReturn = x(\n o.el,\n o.getSetting(\"teleport\", { fallback: a.settings.where }),\n o.getSetting(\"teleportMethod\", { fallback: a.settings.how })\n );\n }, o.teleport(), o.parent.emit(\"teleport\", { plugin: a, parent: o.parent, entry: o });\n }\n function r(a, o) {\n typeof o.teleportReturn == \"function\" && o.teleportReturn(), o.parent.emit(\"teleportReturn\", {\n plugin: a,\n parent: o.parent,\n entry: o\n });\n }\n return { ...t, ...e };\n}\nconst j = {\n dataConfig: \"config\",\n customProps: []\n};\nclass z {\n constructor(t, e, s = {}) {\n this.parent = t, this.el = E(e), this.settings = { ...s }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n getSetting(t, e) {\n return A.call(this, t, e);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n C(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, M(this));\n }\n async init(t = {}) {\n this.applySettings(t), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((t) => {\n delete this[t];\n });\n }\n}\nclass et {\n constructor(t = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = z, this.settings = { ...j, ...t }, this.plugins = new H(this.settings.presets), this.events = {}, Object.assign(this, L);\n }\n get(t, e = \"id\") {\n return this.collection.find((s) => s[e] === t);\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n async createEntry(t, e) {\n const s = new this.entryClass(this, t, e);\n return await g(s, \"init\"), await h(\"onCreateEntry\", this, s), s;\n }\n async destroyEntry(t) {\n return await h(\"onDestroyEntry\", this, t), await g(t, \"destroy\"), t;\n }\n async register(t, e = {}) {\n const s = E(t), r = this.collection.findIndex((a) => a.id === s.id);\n if (~r) {\n const a = this.collection[r];\n return a.el = s, typeof a.init == \"function\" && await a.init(e), a;\n } else {\n const a = await this.createEntry(s, e);\n return this.collection.push(a), await h(\"onRegisterEntry\", this, a), a;\n }\n }\n async deregister(t) {\n const e = this.collection.findIndex((s) => s.id === t);\n if (~e) {\n const s = await this.destroyEntry(this.collection[e]);\n return await h(\n \"onDeregisterEntry\",\n this,\n this.collection[e]\n ), this.collection.splice(e, 1), s;\n }\n return null;\n }\n async mount(t = {}) {\n this.applySettings(t);\n for (const s of this.settings?.plugins || [])\n this.plugins.add(s);\n for (const s of this.plugins)\n await g(s, \"setup\", { plugin: s, parent: this });\n await h(\"beforeMount\", this);\n const e = document.querySelectorAll(this.settings.selector);\n for (const s of e)\n await this.register(s);\n return await h(\"afterMount\", this), this;\n }\n async unmount() {\n for (await h(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await h(\"afterUnmount\", this);\n for (const t of this.plugins)\n await g(t, \"teardown\", { plugin: t, parent: this });\n for (const t of [...this.plugins])\n this.plugins.remove(t.name);\n return this;\n }\n}\nfunction nt(n = {}) {\n const t = {\n prefix: R(\"prefix-themes\", { fallback: \"vb-theme-\" }),\n themes: [\"root\", \"light\", \"dark\"],\n storeKey: \"VB:Profile\"\n };\n for (const [a] of Object.entries(t))\n n && n[a] && (t[a] = n[a]);\n const e = {\n onInit() {\n },\n onChange() {\n }\n };\n for (const [a] of Object.entries(e))\n n && n[a] && (e[a] = n[a]);\n const s = w(t.storeKey), r = {\n // Store our settings in the API\n settings: t,\n // Actions\n add(a) {\n t.themes.push(a);\n },\n remove(a) {\n const o = t.themes.indexOf(a);\n ~o && t.themes.splice(o, 1);\n },\n callback(a) {\n e[a].call(this);\n },\n // Getters\n get class() {\n return `${t.prefix}${this.theme}`;\n },\n get classes() {\n return t.themes.map((a) => `${t.prefix}${a}`);\n },\n get themes() {\n return t.themes;\n },\n // Setup the theme get and set methods\n get theme() {\n return s.get(\"theme\") || \"root\";\n },\n set theme(a) {\n t.themes.includes(a) ? this.theme != a && (s.set(\"theme\", a), document.documentElement.classList.remove(...this.classes), document.documentElement.classList.add(`${t.prefix}${a}`), this.callback(\"onChange\")) : console.error(`Not a valid theme value: \"${a}\"`);\n }\n };\n return r.callback(\"onInit\"), r;\n}\nexport {\n et as Collection,\n z as CollectionEntry,\n U as FocusTrap,\n O as FocusableArray,\n H as PluginsArray,\n W as StackArray,\n R as cssVar,\n Z as debug,\n h as dispatchLifecycleHook,\n L as eventEmitter,\n _ as focusTrap,\n k as focusableSelectors,\n M as getCustomProps,\n C as getDataConfig,\n E as getElement,\n y as getPrefix,\n A as getSetting,\n w as localStore,\n g as maybeRunMethod,\n X as mediaQuery,\n Y as propStore,\n G as setGlobalState,\n tt as teleport,\n x as teleportElement,\n nt as themeStore,\n v as toCamel,\n $ as toKebab,\n S as toMilliseconds,\n J as transition\n};\n//# sourceMappingURL=index.js.map\n","function b(t, e = \"config\") {\n const s = (t.getAttribute(`data-${e}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction p(t) {\n if (typeof t == \"string\") {\n const e = document.getElementById(t);\n if (e) return e;\n throw new Error(`Element not found with ID: \"${t}\"`);\n } else if (t instanceof HTMLElement) {\n if (!t.id)\n throw new Error(\"HTMLElement must have an ID\");\n return t;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function r(t, e, ...s) {\n e in t && typeof t[e] == \"function\" && await t[e](...s);\n}\nfunction C(t) {\n return t.split(\"-\").map(\n (e, s) => s === 0 ? e : e.charAt(0).toUpperCase() + e.slice(1)\n ).join(\"\");\n}\nfunction m(t) {\n return t.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction L(t) {\n if (typeof t == \"number\")\n return t;\n const e = parseFloat(t);\n if (!Number.isNaN(e)) {\n const s = t.includes(\"ms\");\n return e * (s ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${t}`);\n}\nfunction w(t, e, s, i, n = 0) {\n return new Promise((a) => {\n t.classList.remove(e), t.classList.add(s), setTimeout(() => {\n t.classList.add(i), t.classList.remove(s), a(t);\n }, L(n));\n });\n}\nasync function o(t, e, s) {\n await r(e, t, s), s && await r(s, t);\n for (const i of e.plugins)\n await r(i, t, { plugin: i, parent: e, entry: s });\n await e.emit(t, s);\n}\nfunction O(t) {\n const e = getComputedStyle(t.el), s = {}, i = t.getSetting(\"customProps\");\n for (let n = 0; n < i.length; n++) {\n const a = M(), c = t.parent.module.toLowerCase(), h = m(i[n]), f = e.getPropertyValue(`--${a}${c}-${h}`).trim();\n f && (s[h] = f);\n }\n return s;\n}\nfunction M() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction $(t, e, s = \"camel\") {\n return e = s === \"camel\" ? C(e) : m(e), t.split(\".\").concat(e).reduce((i, n) => i?.[n], this);\n}\nfunction P(t, e = {}) {\n const {\n fallback: s,\n props: i = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = e;\n for (const n of i) {\n const a = n !== \"customProps\" ? \"camel\" : \"kebab\", c = $.call(this, n, t, a);\n if (c !== void 0)\n return c;\n }\n if (s !== void 0)\n return s;\n throw new Error(`${this.parent.module} setting does not exist: ${t}`);\n}\nfunction x(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n t ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction A(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n t ? (s.inert = !0, s.setAttribute(\"aria-hidden\", \"true\")) : (s.inert = !1, s.removeAttribute(\"aria-hidden\"));\n });\n}\nfunction d(t, e, s) {\n A(!!t, e), x(!!t, s);\n}\nconst D = {\n events: {},\n on(t, e, ...s) {\n this.events[t] || (this.events[t] = []), this.events[t].some(\n (i) => i.listener === e\n ) || this.events[t].push({ listener: e, args: s });\n },\n off(t, e) {\n this.events[t] && (this.events[t] = this.events[t].filter(\n (s) => s.listener !== e\n ));\n },\n async emit(t, e) {\n if (t = t.startsWith(\"on\") ? t.slice(2, 3).toLowerCase() + t.slice(3) : t, !!this.events[t])\n for (const { listener: s, args: i } of this.events[t])\n await s(e, ...i);\n }\n};\nclass y extends Array {\n constructor(e = {}) {\n super(), this.presets = e;\n }\n applySettings(e) {\n const s = e?.defaults || {}, i = this.presets?.[e.name] || {}, n = e?.options || {};\n e.settings = { ...s, ...i, ...n };\n }\n validate(e) {\n return !(\"name\" in e) || typeof e.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(e) {\n return this.find((s) => s.name === e);\n }\n add(e) {\n if (Array.isArray(e))\n e.forEach((s) => this.add(s));\n else if (this.applySettings(e), this.validate(e)) {\n const s = this.findIndex((i) => i.name === e.name);\n ~s ? this[s] = e : this.push(e);\n }\n }\n remove(e) {\n const s = this.findIndex((i) => i.name === e);\n ~s && this.splice(s, 1);\n }\n}\nconst I = {\n dataConfig: \"config\",\n customProps: []\n};\nclass S {\n constructor(e, s, i = {}) {\n this.parent = e, this.el = p(s), this.settings = { ...i }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n getSetting(e, s) {\n return P.call(this, e, s);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n b(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, O(this));\n }\n async init(e = {}) {\n this.applySettings(e), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((e) => {\n delete this[e];\n });\n }\n}\nclass T {\n constructor(e = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = S, this.settings = { ...I, ...e }, this.plugins = new y(this.settings.presets), this.events = {}, Object.assign(this, D);\n }\n get(e, s = \"id\") {\n return this.collection.find((i) => i[s] === e);\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n async createEntry(e, s) {\n const i = new this.entryClass(this, e, s);\n return await r(i, \"init\"), await o(\"onCreateEntry\", this, i), i;\n }\n async destroyEntry(e) {\n return await o(\"onDestroyEntry\", this, e), await r(e, \"destroy\"), e;\n }\n async register(e, s = {}) {\n const i = p(e), n = this.collection.findIndex((a) => a.id === i.id);\n if (~n) {\n const a = this.collection[n];\n return a.el = i, typeof a.init == \"function\" && await a.init(s), a;\n } else {\n const a = await this.createEntry(i, s);\n return this.collection.push(a), await o(\"onRegisterEntry\", this, a), a;\n }\n }\n async deregister(e) {\n const s = this.collection.findIndex((i) => i.id === e);\n if (~s) {\n const i = await this.destroyEntry(this.collection[s]);\n return await o(\n \"onDeregisterEntry\",\n this,\n this.collection[s]\n ), this.collection.splice(s, 1), i;\n }\n return null;\n }\n async mount(e = {}) {\n this.applySettings(e);\n for (const i of this.settings?.plugins || [])\n this.plugins.add(i);\n for (const i of this.plugins)\n await r(i, \"setup\", { plugin: i, parent: this });\n await o(\"beforeMount\", this);\n const s = document.querySelectorAll(this.settings.selector);\n for (const i of s)\n await this.register(i);\n return await o(\"afterMount\", this), this;\n }\n async unmount() {\n for (await o(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await o(\"afterUnmount\", this);\n for (const e of this.plugins)\n await r(e, \"teardown\", { plugin: e, parent: this });\n for (const e of [...this.plugins])\n this.plugins.remove(e.name);\n return this;\n }\n}\nconst k = {\n focusTrap: {\n condition: ({ entry: t }) => t.state === \"closed\" || t.state === \"opened\" && t.mode === \"modal\"\n },\n mediaQuery: {\n onChange(t, e) {\n e.mode = t.matches ? \"inline\" : \"modal\";\n }\n },\n propStore: {\n prop: \"inlineState\",\n value: ({ entry: t }) => t.store,\n condition: ({ entry: t }) => [\"opened\", \"closed\", \"indeterminate\"].includes(t.state),\n onChange: ({ entry: t }) => t.applyState()\n }\n}, j = {\n presets: k,\n dataOpen: \"drawer-open\",\n dataClose: \"drawer-close\",\n dataToggle: \"drawer-toggle\",\n selector: \".drawer\",\n selectorDialog: \".drawer__dialog\",\n selectorScreen: \".drawer\",\n selectorFocus: \"[data-focus]\",\n selectorInert: null,\n selectorOverflow: \"body\",\n stateOpened: \"is-opened\",\n stateOpening: \"is-opening\",\n stateClosing: \"is-closing\",\n stateClosed: \"is-closed\",\n classModal: \"drawer_modal\",\n customProps: [\"transition-duration\"],\n breakpoints: null,\n customEventPrefix: \"drawer:\",\n setTabindex: !0,\n transition: !0,\n transitionDuration: 300\n};\nfunction q(t) {\n switch (t.mode) {\n case \"inline\":\n return H(t);\n case \"modal\":\n return N(t);\n default:\n throw new Error(`\"${t.mode}\" is not a valid drawer mode.`);\n }\n}\nasync function H(t) {\n return t.el.classList.remove(t.getSetting(\"classModal\")), t.dialog.removeAttribute(\"aria-modal\"), d(\n !1,\n t.getSetting(\"selectorInert\"),\n t.getSetting(\"selectorOverflow\")\n ), t.applyState(), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"switchMode\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"switchMode\", t), t;\n}\nasync function N(t) {\n return t.el.classList.add(t.getSetting(\"classModal\")), t.dialog.setAttribute(\"aria-modal\", \"true\"), await t.close(!1, !1), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"switchMode\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"switchMode\", t), t;\n}\nfunction v(t) {\n t.dialog && t.state === \"opened\" ? (t.dialog.querySelector(t.parent.settings.selectorFocus) || t.dialog).focus() : t.trigger && (t.trigger.focus(), t.trigger = null);\n}\nasync function u(t, e, s = !0) {\n return (t.state === \"closed\" || t.state === \"indeterminate\" || t.state === null) && (t.setState(\"opening\"), e ?? t.getSetting(\"transition\") ? await w(\n t.el,\n t.getSetting(\"stateClosed\"),\n t.getSetting(\"stateOpening\"),\n t.getSetting(\"stateOpened\"),\n t.getSetting(\"transitionDuration\")\n ) : (t.el.classList.add(t.getSetting(\"stateOpened\")), t.el.classList.remove(t.getSetting(\"stateClosed\"))), t.setState(\"opened\"), t.mode === \"modal\" && d(\n !0,\n t.getSetting(\"selectorInert\"),\n t.getSetting(\"selectorOverflow\")\n ), s && v(t), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"opened\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"opened\", t)), t;\n}\nasync function g(t, e, s = !0) {\n return (t.state === \"opened\" || t.state === \"indeterminate\" || t.state === null) && (t.setState(\"closing\"), document.activeElement && document.activeElement instanceof HTMLElement && document.activeElement.blur(), e ?? t.getSetting(\"transition\") ? await w(\n t.el,\n t.getSetting(\"stateOpened\"),\n t.getSetting(\"stateClosing\"),\n t.getSetting(\"stateClosed\"),\n t.getSetting(\"transitionDuration\")\n ) : (t.el.classList.add(t.getSetting(\"stateClosed\")), t.el.classList.remove(t.getSetting(\"stateOpened\"))), t.setState(\"closed\"), t.mode === \"modal\" && d(\n !1,\n t.getSetting(\"selectorInert\"),\n t.getSetting(\"selectorOverflow\")\n ), s && v(t), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"closed\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"closed\", t)), t;\n}\nasync function E(t, e, s) {\n return t.state === \"closed\" ? u(t, e, s) : g(t, e, s);\n}\nclass F extends S {\n #t;\n constructor(e, s, i = {}) {\n super(e, s, i), this.#t = \"indeterminate\", this.dialog = this.el.querySelector(this.getSetting(\"selectorDialog\")) || this.el, this.trigger = null, this.state = null, this.inlineState = null;\n }\n get mode() {\n return this.#t;\n }\n set mode(e) {\n this.#t !== e && (this.#t = e, q(this));\n }\n setState(e) {\n this.state = e;\n const s = [\"opening\", \"closing\"];\n this.mode === \"inline\" && !s.includes(e) && (this.inlineState = e), e === \"indeterminate\" && (this.el.classList.remove(this.getSetting(\"stateOpened\")), this.el.classList.remove(this.getSetting(\"stateOpening\")), this.el.classList.remove(this.getSetting(\"stateClosed\")), this.el.classList.remove(this.getSetting(\"stateClosing\")));\n }\n async applyState() {\n if (this.mode === \"modal\") return this;\n if (this.inlineState === \"opened\")\n return await this.open(!1, !1);\n if (this.inlineState === \"closed\")\n return await this.close(!1, !1);\n if (this.state === null) {\n if (this.el.classList.contains(this.getSetting(\"stateOpened\")))\n return await this.open(!1, !1);\n if (this.el.classList.contains(this.getSetting(\"stateClosed\")))\n return await this.close(!1, !1);\n }\n return this.setState(\"indeterminate\"), this;\n }\n async open(e, s) {\n return u(this, e, s);\n }\n async close(e, s) {\n return g(this, e, s);\n }\n async toggle(e, s) {\n return E(this, e, s);\n }\n async deregister() {\n return this.parent.deregister(this.id);\n }\n async onCreateEntry() {\n this.getSetting(\"setTabindex\") && this.dialog && this.dialog.setAttribute(\"tabindex\", \"-1\"), await this.applyState(), this.inlineState = this.state, this.mode = this.el && this.el.classList.contains(this.getSetting(\"classModal\")) ? \"modal\" : \"inline\";\n }\n async onDestroyEntry() {\n this.mode === \"modal\" && this.state === \"opened\" && await this.close(!1);\n }\n}\nfunction l(t) {\n const e = this.get(t);\n if (e)\n return e;\n throw new Error(`Drawer not found in collection with id of \"${t}\"`);\n}\nasync function U(t) {\n const e = t.target;\n if (e) {\n const s = e.closest(`\n [data-${this.settings.dataOpen}],\n [data-${this.settings.dataToggle}],\n [data-${this.settings.dataClose}]\n `);\n if (s) {\n t.preventDefault(), s.matches(`[data-${this.settings.dataToggle}]`) && s.getAttribute(`data-${this.settings.dataToggle}`)?.trim().split(\" \")?.forEach((n) => {\n const a = l.call(this, n);\n return a.trigger = s, a.toggle();\n }), s.matches(`[data-${this.settings.dataOpen}]`) && s.getAttribute(`data-${this.settings.dataOpen}`)?.trim().split(\" \")?.forEach((n) => {\n const a = l.call(this, n);\n return a.trigger = s, a.open();\n }), s.matches(`[data-${this.settings.dataClose}]`) && s.getAttribute(`data-${this.settings.dataClose}`)?.trim().split(\" \")?.forEach((n) => {\n if (n) {\n const a = l.call(this, n);\n return a.trigger = s, a.close();\n } else {\n const a = e.closest(this.settings.selector);\n if (a) return this.close(a.id);\n }\n });\n return;\n }\n if (this.activeModal && e.matches(this.settings.selectorScreen))\n return this.close(this.activeModal.id);\n }\n}\nfunction _(t) {\n if (t.key === \"Escape\" && this.activeModal)\n return this.close(this.activeModal.id);\n}\nclass z extends T {\n #t;\n #e;\n constructor(e) {\n super({ ...j, ...e }), this.module = \"Drawer\", this.entryClass = F, this.#t = U.bind(this), this.#e = _.bind(this);\n }\n get activeModal() {\n return this.collection.find((e) => e.state === \"opened\" && e.mode === \"modal\");\n }\n async open(e, s, i) {\n const n = l.call(this, e);\n return u(n, s, i);\n }\n async close(e, s, i) {\n const n = l.call(this, e);\n return g(n, s, i);\n }\n async toggle(e, s, i) {\n const n = l.call(this, e);\n return E(n, s, i);\n }\n async afterMount() {\n document.addEventListener(\"click\", this.#t, !1), document.addEventListener(\"keydown\", this.#e, !1);\n }\n async afterUnmount() {\n document.removeEventListener(\"click\", this.#t, !1), document.removeEventListener(\"keydown\", this.#e, !1);\n }\n}\nexport {\n z as default\n};\n//# sourceMappingURL=index.js.map\n","function C(e, t = \"config\") {\n const s = (e.getAttribute(`data-${t}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction p(e) {\n if (typeof e == \"string\") {\n const t = document.getElementById(e);\n if (t) return t;\n throw new Error(`Element not found with ID: \"${e}\"`);\n } else if (e instanceof HTMLElement) {\n if (!e.id)\n throw new Error(\"HTMLElement must have an ID\");\n return e;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function r(e, t, ...s) {\n t in e && typeof e[t] == \"function\" && await e[t](...s);\n}\nfunction S(e) {\n return e.split(\"-\").map(\n (t, s) => s === 0 ? t : t.charAt(0).toUpperCase() + t.slice(1)\n ).join(\"\");\n}\nfunction m(e) {\n return e.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction E(e) {\n if (typeof e == \"number\")\n return e;\n const t = parseFloat(e);\n if (!Number.isNaN(t)) {\n const s = e.includes(\"ms\");\n return t * (s ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${e}`);\n}\nfunction w(e, t, s, i, n = 0) {\n return new Promise((o) => {\n e.classList.remove(t), e.classList.add(s), setTimeout(() => {\n e.classList.add(i), e.classList.remove(s), o(e);\n }, E(n));\n });\n}\nasync function a(e, t, s) {\n await r(t, e, s), s && await r(s, e);\n for (const i of t.plugins)\n await r(i, e, { plugin: i, parent: t, entry: s });\n await t.emit(e, s);\n}\nfunction b(e) {\n const t = getComputedStyle(e.el), s = {}, i = e.getSetting(\"customProps\");\n for (let n = 0; n < i.length; n++) {\n const o = A(), c = e.parent.module.toLowerCase(), g = m(i[n]), f = t.getPropertyValue(`--${o}${c}-${g}`).trim();\n f && (s[g] = f);\n }\n return s;\n}\nfunction A() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction x(e, t, s = \"camel\") {\n return t = s === \"camel\" ? S(t) : m(t), e.split(\".\").concat(t).reduce((i, n) => i?.[n], this);\n}\nfunction L(e, t = {}) {\n const {\n fallback: s,\n props: i = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = t;\n for (const n of i) {\n const o = n !== \"customProps\" ? \"camel\" : \"kebab\", c = x.call(this, n, e, o);\n if (c !== void 0)\n return c;\n }\n if (s !== void 0)\n return s;\n throw new Error(`${this.parent.module} setting does not exist: ${e}`);\n}\nfunction O(e, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n e ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction P(e, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n e ? (s.inert = !0, s.setAttribute(\"aria-hidden\", \"true\")) : (s.inert = !1, s.removeAttribute(\"aria-hidden\"));\n });\n}\nfunction $(e, t, s) {\n P(!!e, t), O(!!e, s);\n}\nconst I = {\n events: {},\n on(e, t, ...s) {\n this.events[e] || (this.events[e] = []), this.events[e].some(\n (i) => i.listener === t\n ) || this.events[e].push({ listener: t, args: s });\n },\n off(e, t) {\n this.events[e] && (this.events[e] = this.events[e].filter(\n (s) => s.listener !== t\n ));\n },\n async emit(e, t) {\n if (e = e.startsWith(\"on\") ? e.slice(2, 3).toLowerCase() + e.slice(3) : e, !!this.events[e])\n for (const { listener: s, args: i } of this.events[e])\n await s(t, ...i);\n }\n};\nclass M extends Array {\n constructor(t = {}) {\n super(), this.presets = t;\n }\n applySettings(t) {\n const s = t?.defaults || {}, i = this.presets?.[t.name] || {}, n = t?.options || {};\n t.settings = { ...s, ...i, ...n };\n }\n validate(t) {\n return !(\"name\" in t) || typeof t.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(t) {\n return this.find((s) => s.name === t);\n }\n add(t) {\n if (Array.isArray(t))\n t.forEach((s) => this.add(s));\n else if (this.applySettings(t), this.validate(t)) {\n const s = this.findIndex((i) => i.name === t.name);\n ~s ? this[s] = t : this.push(t);\n }\n }\n remove(t) {\n const s = this.findIndex((i) => i.name === t);\n ~s && this.splice(s, 1);\n }\n}\nclass k extends Array {\n constructor(t = {}) {\n super(), this.settings = t;\n }\n get copy() {\n return [...this];\n }\n get top() {\n return this[this.length - 1] || null;\n }\n updateIndex() {\n this.forEach((t, s) => {\n t.el.style.zIndex = \"\";\n const i = getComputedStyle(t.el)[\"z-index\"];\n t.el.style.zIndex = String(parseInt(i, 10) + s + 1);\n });\n }\n onChange() {\n this.updateIndex(), typeof this.settings.onChange == \"function\" && this.settings.onChange();\n }\n add(t) {\n this.push(t), this.onChange();\n }\n remove(t) {\n const s = this.findIndex((i) => i.id === t.id);\n ~s && (t.el.style.zIndex = \"\", this.splice(s, 1), this.onChange());\n }\n moveToTop(t) {\n const s = this.findIndex((i) => i.id === t.id);\n ~s && (this.splice(s, 1), this.add(t));\n }\n}\nconst D = {\n dataConfig: \"config\",\n customProps: []\n};\nclass v {\n constructor(t, s, i = {}) {\n this.parent = t, this.el = p(s), this.settings = { ...i }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n getSetting(t, s) {\n return L.call(this, t, s);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n C(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, b(this));\n }\n async init(t = {}) {\n this.applySettings(t), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((t) => {\n delete this[t];\n });\n }\n}\nclass q {\n constructor(t = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = v, this.settings = { ...D, ...t }, this.plugins = new M(this.settings.presets), this.events = {}, Object.assign(this, I);\n }\n get(t, s = \"id\") {\n return this.collection.find((i) => i[s] === t);\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n async createEntry(t, s) {\n const i = new this.entryClass(this, t, s);\n return await r(i, \"init\"), await a(\"onCreateEntry\", this, i), i;\n }\n async destroyEntry(t) {\n return await a(\"onDestroyEntry\", this, t), await r(t, \"destroy\"), t;\n }\n async register(t, s = {}) {\n const i = p(t), n = this.collection.findIndex((o) => o.id === i.id);\n if (~n) {\n const o = this.collection[n];\n return o.el = i, typeof o.init == \"function\" && await o.init(s), o;\n } else {\n const o = await this.createEntry(i, s);\n return this.collection.push(o), await a(\"onRegisterEntry\", this, o), o;\n }\n }\n async deregister(t) {\n const s = this.collection.findIndex((i) => i.id === t);\n if (~s) {\n const i = await this.destroyEntry(this.collection[s]);\n return await a(\n \"onDeregisterEntry\",\n this,\n this.collection[s]\n ), this.collection.splice(s, 1), i;\n }\n return null;\n }\n async mount(t = {}) {\n this.applySettings(t);\n for (const i of this.settings?.plugins || [])\n this.plugins.add(i);\n for (const i of this.plugins)\n await r(i, \"setup\", { plugin: i, parent: this });\n await a(\"beforeMount\", this);\n const s = document.querySelectorAll(this.settings.selector);\n for (const i of s)\n await this.register(i);\n return await a(\"afterMount\", this), this;\n }\n async unmount() {\n for (await a(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await a(\"afterUnmount\", this);\n for (const t of this.plugins)\n await r(t, \"teardown\", { plugin: t, parent: this });\n for (const t of [...this.plugins])\n this.plugins.remove(t.name);\n return this;\n }\n}\nconst T = {\n // Data attributes\n dataOpen: \"modal-open\",\n dataClose: \"modal-close\",\n dataReplace: \"modal-replace\",\n // Selectors\n selector: \".modal\",\n selectorDialog: \".modal__dialog\",\n selectorScreen: \".modal\",\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 customProps: [\"transition-duration\"],\n customEventPrefix: \"modal:\",\n setTabindex: !0,\n transition: !0,\n transitionDuration: 300\n};\nfunction d(e) {\n e.active ? (e.active.dialog.querySelector(e.settings.selectorFocus) || e.active.dialog).focus() : e.trigger && (e.trigger.focus(), e.trigger = null);\n}\nasync function u(e, t, s = !0) {\n return e.parent.stack.moveToTop(e), e.state === \"closed\" && (e.state = \"opening\", e.parent.stack.add(e), t ?? e.getSetting(\"transition\") ? await w(\n e.el,\n e.getSetting(\"stateClosed\"),\n e.getSetting(\"stateOpening\"),\n e.getSetting(\"stateOpened\"),\n e.getSetting(\"transitionDuration\")\n ) : (e.el.classList.add(e.getSetting(\"stateOpened\")), e.el.classList.remove(e.getSetting(\"stateClosed\"))), e.state = \"opened\"), s && d(e.parent), e.el.dispatchEvent(\n new CustomEvent(e.getSetting(\"customEventPrefix\") + \"opened\", {\n detail: e.parent,\n bubbles: !0\n })\n ), await e.parent.emit(\"opened\", e), e;\n}\nasync function h(e, t, s = !0) {\n return e && e.state === \"opened\" && (e.state = \"closing\", document.activeElement && document.activeElement instanceof HTMLElement && document.activeElement.blur(), t ?? e.getSetting(\"transition\") ? await w(\n e.el,\n e.getSetting(\"stateOpened\"),\n e.getSetting(\"stateClosing\"),\n e.getSetting(\"stateClosed\"),\n e.getSetting(\"transitionDuration\")\n ) : (e.el.classList.add(e.getSetting(\"stateClosed\")), e.el.classList.remove(e.getSetting(\"stateOpened\"))), e.parent.stack.remove(e), e.state = \"closed\", s && d(e.parent), e.el.dispatchEvent(\n new CustomEvent(e.getSetting(\"customEventPrefix\") + \"closed\", {\n detail: e.parent,\n bubbles: !0\n })\n ), await e.parent.emit(\"closed\", e)), e;\n}\nasync function y(e, t, s = !0) {\n let i, n;\n return e.state === \"opened\" ? (i = e, n = await e.parent.closeAll(e.id, t)) : [n, i] = await Promise.all([\n e.parent.closeAll(\"\", t),\n u(e, t, !1)\n ]), s && d(e.parent), { opened: i, closed: n };\n}\nclass R extends v {\n constructor(t, s, i = {}) {\n super(t, s, i), this.state = \"closed\", this.dialog = this.el.querySelector(this.getSetting(\"selectorDialog\")) || this.el;\n }\n get isRequired() {\n return this.dialog.matches(this.getSetting(\"selectorRequired\"));\n }\n async open(t, s) {\n return u(this, t, s);\n }\n async close(t, s) {\n return h(this, t, s);\n }\n async replace(t, s) {\n return y(this, t, s);\n }\n async deregister() {\n return this.parent.deregister(this.id);\n }\n async onCreateEntry() {\n this.dialog.setAttribute(\"aria-modal\", \"true\"), this.dialog.hasAttribute(\"role\") || this.dialog.setAttribute(\"role\", \"dialog\"), this.getSetting(\"setTabindex\") && this.dialog.setAttribute(\"tabindex\", \"-1\");\n }\n async onRegisterEntry() {\n this.el.classList.contains(this.getSetting(\"stateOpened\")) ? await this.open(!1) : (this.el.classList.remove(this.getSetting(\"stateOpening\")), this.el.classList.remove(this.getSetting(\"stateClosing\")), this.el.classList.add(this.getSetting(\"stateClosed\")));\n }\n async onDestroyEntry() {\n this.state === \"opened\" && await this.close(!1);\n }\n}\nfunction l(e) {\n const t = this.get(e);\n if (t)\n return t;\n throw new Error(`Modal not found in collection with id of \"${e}\".`);\n}\nasync function j(e) {\n const t = e.target;\n if (t) {\n const s = t.closest(`\n [data-${this.settings.dataOpen}],\n [data-${this.settings.dataReplace}],\n [data-${this.settings.dataClose}]\n `);\n if (s) {\n if (e.preventDefault(), s.matches(`[data-${this.settings.dataOpen}]`)) {\n const i = s.getAttribute(`data-${this.settings.dataOpen}`)?.trim(), n = l.call(this, i);\n return t.closest(this.settings.selector) || (this.trigger = s), n.open();\n }\n if (s.matches(`[data-${this.settings.dataReplace}]`)) {\n const i = s.getAttribute(`data-${this.settings.dataReplace}`)?.trim(), n = l.call(this, i);\n return t.closest(this.settings.selector) || (this.trigger = s), n.replace();\n }\n if (s.matches(`[data-${this.settings.dataClose}]`)) {\n const i = s.getAttribute(`data-${this.settings.dataClose}`)?.trim();\n return i === \"*\" ? this.closeAll() : this.close(i || \"\");\n }\n }\n if (this.active && t.matches(this.settings.selectorScreen) && !this.active.isRequired)\n return this.close();\n }\n}\nfunction z(e) {\n if (e.key === \"Escape\" && this.active && !this.active.dialog.matches(this.settings.selectorRequired))\n return this.close();\n}\nasync function H(e = \"\", t) {\n const s = [];\n return await Promise.all(\n this.stack.copy.map(async (i) => {\n e && e === i.id || s.push(await h(i, t, !1));\n })\n ), s;\n}\nclass N extends q {\n #t;\n #e;\n constructor(t) {\n super({ ...T, ...t }), this.module = \"Modal\", this.entryClass = R, this.trigger = null, this.#t = j.bind(this), this.#e = z.bind(this), this.stack = new k({\n onChange: () => {\n $(\n !!this.stack.top,\n this.settings.selectorInert,\n this.settings.selectorOverflow\n );\n }\n });\n }\n get active() {\n return this.stack.top;\n }\n async open(t, s, i) {\n const n = l.call(this, t);\n return u(n, s, i);\n }\n async close(t, s, i) {\n const n = t ? l.call(this, t) : this.active;\n return h(n, s, i);\n }\n async replace(t, s, i) {\n const n = l.call(this, t);\n return y(n, s, i);\n }\n async closeAll(t, s, i = !0) {\n const n = await H.call(this, t, s);\n return i && d(this), n;\n }\n async afterMount() {\n document.addEventListener(\"click\", this.#t, !1), document.addEventListener(\"keydown\", this.#e, !1);\n }\n async beforeUnmount() {\n this.trigger = null;\n }\n async afterUnmount() {\n document.removeEventListener(\"click\", this.#t, !1), document.removeEventListener(\"keydown\", this.#e, !1);\n }\n}\nexport {\n N as default\n};\n//# sourceMappingURL=index.js.map\n","function Jt(t, e = \"config\") {\n const n = (t.getAttribute(`data-${e}`) || \"\").replace(/'/g, '\"');\n return n ? JSON.parse(n) : {};\n}\nfunction Rt(t) {\n if (typeof t == \"string\") {\n const e = document.getElementById(t);\n if (e) return e;\n throw new Error(`Element not found with ID: \"${t}\"`);\n } else if (t instanceof HTMLElement) {\n if (!t.id)\n throw new Error(\"HTMLElement must have an ID\");\n return t;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function z(t, e, ...n) {\n e in t && typeof t[e] == \"function\" && await t[e](...n);\n}\nfunction Zt(t) {\n return t.split(\"-\").map(\n (e, n) => n === 0 ? e : e.charAt(0).toUpperCase() + e.slice(1)\n ).join(\"\");\n}\nfunction kt(t) {\n return t.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nasync function H(t, e, n) {\n await z(e, t, n), n && await z(n, t);\n for (const i of e.plugins)\n await z(i, t, { plugin: i, parent: e, entry: n });\n await e.emit(t, n);\n}\nfunction Gt(t) {\n const e = getComputedStyle(t.el), n = {}, i = t.getSetting(\"customProps\");\n for (let s = 0; s < i.length; s++) {\n const o = Qt(), r = t.parent.module.toLowerCase(), c = kt(i[s]), l = e.getPropertyValue(`--${o}${r}-${c}`).trim();\n l && (n[c] = l);\n }\n return n;\n}\nfunction Qt() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction te(t, e, n = \"camel\") {\n return e = n === \"camel\" ? Zt(e) : kt(e), t.split(\".\").concat(e).reduce((i, s) => i?.[s], this);\n}\nfunction ee(t, e = {}) {\n const {\n fallback: n,\n props: i = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = e;\n for (const s of i) {\n const o = s !== \"customProps\" ? \"camel\" : \"kebab\", r = te.call(this, s, t, o);\n if (r !== void 0)\n return r;\n }\n if (n !== void 0)\n return n;\n throw new Error(`${this.parent.module} setting does not exist: ${t}`);\n}\nconst ne = {\n events: {},\n on(t, e, ...n) {\n this.events[t] || (this.events[t] = []), this.events[t].some(\n (i) => i.listener === e\n ) || this.events[t].push({ listener: e, args: n });\n },\n off(t, e) {\n this.events[t] && (this.events[t] = this.events[t].filter(\n (n) => n.listener !== e\n ));\n },\n async emit(t, e) {\n if (t = t.startsWith(\"on\") ? t.slice(2, 3).toLowerCase() + t.slice(3) : t, !!this.events[t])\n for (const { listener: n, args: i } of this.events[t])\n await n(e, ...i);\n }\n};\nclass ie extends Array {\n constructor(e = {}) {\n super(), this.presets = e;\n }\n applySettings(e) {\n const n = e?.defaults || {}, i = this.presets?.[e.name] || {}, s = e?.options || {};\n e.settings = { ...n, ...i, ...s };\n }\n validate(e) {\n return !(\"name\" in e) || typeof e.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(e) {\n return this.find((n) => n.name === e);\n }\n add(e) {\n if (Array.isArray(e))\n e.forEach((n) => this.add(n));\n else if (this.applySettings(e), this.validate(e)) {\n const n = this.findIndex((i) => i.name === e.name);\n ~n ? this[n] = e : this.push(e);\n }\n }\n remove(e) {\n const n = this.findIndex((i) => i.name === e);\n ~n && this.splice(n, 1);\n }\n}\nconst se = {\n dataConfig: \"config\",\n customProps: []\n};\nclass Dt {\n constructor(e, n, i = {}) {\n this.parent = e, this.el = Rt(n), this.settings = { ...i }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n getSetting(e, n) {\n return ee.call(this, e, n);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n Jt(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, Gt(this));\n }\n async init(e = {}) {\n this.applySettings(e), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((e) => {\n delete this[e];\n });\n }\n}\nclass oe {\n constructor(e = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = Dt, this.settings = { ...se, ...e }, this.plugins = new ie(this.settings.presets), this.events = {}, Object.assign(this, ne);\n }\n get(e, n = \"id\") {\n return this.collection.find((i) => i[n] === e);\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n async createEntry(e, n) {\n const i = new this.entryClass(this, e, n);\n return await z(i, \"init\"), await H(\"onCreateEntry\", this, i), i;\n }\n async destroyEntry(e) {\n return await H(\"onDestroyEntry\", this, e), await z(e, \"destroy\"), e;\n }\n async register(e, n = {}) {\n const i = Rt(e), s = this.collection.findIndex((o) => o.id === i.id);\n if (~s) {\n const o = this.collection[s];\n return o.el = i, typeof o.init == \"function\" && await o.init(n), o;\n } else {\n const o = await this.createEntry(i, n);\n return this.collection.push(o), await H(\"onRegisterEntry\", this, o), o;\n }\n }\n async deregister(e) {\n const n = this.collection.findIndex((i) => i.id === e);\n if (~n) {\n const i = await this.destroyEntry(this.collection[n]);\n return await H(\n \"onDeregisterEntry\",\n this,\n this.collection[n]\n ), this.collection.splice(n, 1), i;\n }\n return null;\n }\n async mount(e = {}) {\n this.applySettings(e);\n for (const i of this.settings?.plugins || [])\n this.plugins.add(i);\n for (const i of this.plugins)\n await z(i, \"setup\", { plugin: i, parent: this });\n await H(\"beforeMount\", this);\n const n = document.querySelectorAll(this.settings.selector);\n for (const i of n)\n await this.register(i);\n return await H(\"afterMount\", this), this;\n }\n async unmount() {\n for (await H(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await H(\"afterUnmount\", this);\n for (const e of this.plugins)\n await z(e, \"teardown\", { plugin: e, parent: this });\n for (const e of [...this.plugins])\n this.plugins.remove(e.name);\n return this;\n }\n}\nconst re = {\n // Selectors\n selector: \".popover\",\n selectorTooltip: \".popover_tooltip\",\n selectorArrow: \".popover__arrow\",\n // State classes\n stateActive: \"is-active\",\n // Custom properties and their defaults\n customProps: [\n \"placement\",\n \"event\",\n \"offset\",\n \"flip-padding\",\n \"shift-padding\",\n \"arrow-padding\",\n \"toggle-delay\"\n ],\n customEventPrefix: \"popover:\",\n placement: \"bottom\",\n event: \"click\",\n offset: 0,\n flipPadding: 0,\n shiftPadding: 0,\n arrowPadding: 0,\n toggleDelay: 0\n}, K = Math.min, j = Math.max, st = Math.round, it = Math.floor, R = (t) => ({\n x: t,\n y: t\n}), ce = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n}, le = {\n start: \"end\",\n end: \"start\"\n};\nfunction dt(t, e, n) {\n return j(t, K(e, n));\n}\nfunction q(t, e) {\n return typeof t == \"function\" ? t(e) : t;\n}\nfunction I(t) {\n return t.split(\"-\")[0];\n}\nfunction et(t) {\n return t.split(\"-\")[1];\n}\nfunction mt(t) {\n return t === \"x\" ? \"y\" : \"x\";\n}\nfunction pt(t) {\n return t === \"y\" ? \"height\" : \"width\";\n}\nconst ae = /* @__PURE__ */ new Set([\"top\", \"bottom\"]);\nfunction N(t) {\n return ae.has(I(t)) ? \"y\" : \"x\";\n}\nfunction wt(t) {\n return mt(N(t));\n}\nfunction fe(t, e, n) {\n n === void 0 && (n = !1);\n const i = et(t), s = wt(t), o = pt(s);\n let r = s === \"x\" ? i === (n ? \"end\" : \"start\") ? \"right\" : \"left\" : i === \"start\" ? \"bottom\" : \"top\";\n return e.reference[o] > e.floating[o] && (r = ot(r)), [r, ot(r)];\n}\nfunction ue(t) {\n const e = ot(t);\n return [gt(t), e, gt(e)];\n}\nfunction gt(t) {\n return t.replace(/start|end/g, (e) => le[e]);\n}\nconst At = [\"left\", \"right\"], Et = [\"right\", \"left\"], de = [\"top\", \"bottom\"], ge = [\"bottom\", \"top\"];\nfunction he(t, e, n) {\n switch (t) {\n case \"top\":\n case \"bottom\":\n return n ? e ? Et : At : e ? At : Et;\n case \"left\":\n case \"right\":\n return e ? de : ge;\n default:\n return [];\n }\n}\nfunction me(t, e, n, i) {\n const s = et(t);\n let o = he(I(t), n === \"start\", i);\n return s && (o = o.map((r) => r + \"-\" + s), e && (o = o.concat(o.map(gt)))), o;\n}\nfunction ot(t) {\n return t.replace(/left|right|bottom|top/g, (e) => ce[e]);\n}\nfunction pe(t) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...t\n };\n}\nfunction Mt(t) {\n return typeof t != \"number\" ? pe(t) : {\n top: t,\n right: t,\n bottom: t,\n left: t\n };\n}\nfunction rt(t) {\n const {\n x: e,\n y: n,\n width: i,\n height: s\n } = t;\n return {\n width: i,\n height: s,\n top: n,\n left: e,\n right: e + i,\n bottom: n + s,\n x: e,\n y: n\n };\n}\nfunction Ct(t, e, n) {\n let {\n reference: i,\n floating: s\n } = t;\n const o = N(e), r = wt(e), c = pt(r), l = I(e), a = o === \"y\", d = i.x + i.width / 2 - s.width / 2, u = i.y + i.height / 2 - s.height / 2, g = i[c] / 2 - s[c] / 2;\n let f;\n switch (l) {\n case \"top\":\n f = {\n x: d,\n y: i.y - s.height\n };\n break;\n case \"bottom\":\n f = {\n x: d,\n y: i.y + i.height\n };\n break;\n case \"right\":\n f = {\n x: i.x + i.width,\n y: u\n };\n break;\n case \"left\":\n f = {\n x: i.x - s.width,\n y: u\n };\n break;\n default:\n f = {\n x: i.x,\n y: i.y\n };\n }\n switch (et(e)) {\n case \"start\":\n f[r] -= g * (n && a ? -1 : 1);\n break;\n case \"end\":\n f[r] += g * (n && a ? -1 : 1);\n break;\n }\n return f;\n}\nconst we = async (t, e, n) => {\n const {\n placement: i = \"bottom\",\n strategy: s = \"absolute\",\n middleware: o = [],\n platform: r\n } = n, c = o.filter(Boolean), l = await (r.isRTL == null ? void 0 : r.isRTL(e));\n let a = await r.getElementRects({\n reference: t,\n floating: e,\n strategy: s\n }), {\n x: d,\n y: u\n } = Ct(a, i, l), g = i, f = {}, h = 0;\n for (let m = 0; m < c.length; m++) {\n const {\n name: p,\n fn: w\n } = c[m], {\n x: y,\n y: x,\n data: b,\n reset: v\n } = await w({\n x: d,\n y: u,\n initialPlacement: i,\n placement: g,\n strategy: s,\n middlewareData: f,\n rects: a,\n platform: r,\n elements: {\n reference: t,\n floating: e\n }\n });\n d = y ?? d, u = x ?? u, f = {\n ...f,\n [p]: {\n ...f[p],\n ...b\n }\n }, v && h <= 50 && (h++, typeof v == \"object\" && (v.placement && (g = v.placement), v.rects && (a = v.rects === !0 ? await r.getElementRects({\n reference: t,\n floating: e,\n strategy: s\n }) : v.rects), {\n x: d,\n y: u\n } = Ct(a, g, l)), m = -1);\n }\n return {\n x: d,\n y: u,\n placement: g,\n strategy: s,\n middlewareData: f\n };\n};\nasync function $t(t, e) {\n var n;\n e === void 0 && (e = {});\n const {\n x: i,\n y: s,\n platform: o,\n rects: r,\n elements: c,\n strategy: l\n } = t, {\n boundary: a = \"clippingAncestors\",\n rootBoundary: d = \"viewport\",\n elementContext: u = \"floating\",\n altBoundary: g = !1,\n padding: f = 0\n } = q(e, t), h = Mt(f), p = c[g ? u === \"floating\" ? \"reference\" : \"floating\" : u], w = rt(await o.getClippingRect({\n element: (n = await (o.isElement == null ? void 0 : o.isElement(p))) == null || n ? p : p.contextElement || await (o.getDocumentElement == null ? void 0 : o.getDocumentElement(c.floating)),\n boundary: a,\n rootBoundary: d,\n strategy: l\n })), y = u === \"floating\" ? {\n x: i,\n y: s,\n width: r.floating.width,\n height: r.floating.height\n } : r.reference, x = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(c.floating)), b = await (o.isElement == null ? void 0 : o.isElement(x)) ? await (o.getScale == null ? void 0 : o.getScale(x)) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n }, v = rt(o.convertOffsetParentRelativeRectToViewportRelativeRect ? await o.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements: c,\n rect: y,\n offsetParent: x,\n strategy: l\n }) : y);\n return {\n top: (w.top - v.top + h.top) / b.y,\n bottom: (v.bottom - w.bottom + h.bottom) / b.y,\n left: (w.left - v.left + h.left) / b.x,\n right: (v.right - w.right + h.right) / b.x\n };\n}\nconst ye = (t) => ({\n name: \"arrow\",\n options: t,\n async fn(e) {\n const {\n x: n,\n y: i,\n placement: s,\n rects: o,\n platform: r,\n elements: c,\n middlewareData: l\n } = e, {\n element: a,\n padding: d = 0\n } = q(t, e) || {};\n if (a == null)\n return {};\n const u = Mt(d), g = {\n x: n,\n y: i\n }, f = wt(s), h = pt(f), m = await r.getDimensions(a), p = f === \"y\", w = p ? \"top\" : \"left\", y = p ? \"bottom\" : \"right\", x = p ? \"clientHeight\" : \"clientWidth\", b = o.reference[h] + o.reference[f] - g[f] - o.floating[h], v = g[f] - o.reference[f], C = await (r.getOffsetParent == null ? void 0 : r.getOffsetParent(a));\n let S = C ? C[x] : 0;\n (!S || !await (r.isElement == null ? void 0 : r.isElement(C))) && (S = c.floating[x] || o.floating[h]);\n const Z = b / 2 - v / 2, B = S / 2 - m[h] / 2 - 1, M = K(u[w], B), G = K(u[y], B), W = M, Q = S - m[h] - G, A = S / 2 - m[h] / 2 + Z, _ = dt(W, A, Q), $ = !l.arrow && et(s) != null && A !== _ && o.reference[h] / 2 - (A < W ? M : G) - m[h] / 2 < 0, L = $ ? A < W ? A - W : A - Q : 0;\n return {\n [f]: g[f] + L,\n data: {\n [f]: _,\n centerOffset: A - _ - L,\n ...$ && {\n alignmentOffset: L\n }\n },\n reset: $\n };\n }\n}), xe = function(t) {\n return t === void 0 && (t = {}), {\n name: \"flip\",\n options: t,\n async fn(e) {\n var n, i;\n const {\n placement: s,\n middlewareData: o,\n rects: r,\n initialPlacement: c,\n platform: l,\n elements: a\n } = e, {\n mainAxis: d = !0,\n crossAxis: u = !0,\n fallbackPlacements: g,\n fallbackStrategy: f = \"bestFit\",\n fallbackAxisSideDirection: h = \"none\",\n flipAlignment: m = !0,\n ...p\n } = q(t, e);\n if ((n = o.arrow) != null && n.alignmentOffset)\n return {};\n const w = I(s), y = N(c), x = I(c) === c, b = await (l.isRTL == null ? void 0 : l.isRTL(a.floating)), v = g || (x || !m ? [ot(c)] : ue(c)), C = h !== \"none\";\n !g && C && v.push(...me(c, m, h, b));\n const S = [c, ...v], Z = await $t(e, p), B = [];\n let M = ((i = o.flip) == null ? void 0 : i.overflows) || [];\n if (d && B.push(Z[w]), u) {\n const A = fe(s, r, b);\n B.push(Z[A[0]], Z[A[1]]);\n }\n if (M = [...M, {\n placement: s,\n overflows: B\n }], !B.every((A) => A <= 0)) {\n var G, W;\n const A = (((G = o.flip) == null ? void 0 : G.index) || 0) + 1, _ = S[A];\n if (_ && (!(u === \"alignment\" ? y !== N(_) : !1) || // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n M.every((O) => O.overflows[0] > 0 && N(O.placement) === y)))\n return {\n data: {\n index: A,\n overflows: M\n },\n reset: {\n placement: _\n }\n };\n let $ = (W = M.filter((L) => L.overflows[0] <= 0).sort((L, O) => L.overflows[1] - O.overflows[1])[0]) == null ? void 0 : W.placement;\n if (!$)\n switch (f) {\n case \"bestFit\": {\n var Q;\n const L = (Q = M.filter((O) => {\n if (C) {\n const F = N(O.placement);\n return F === y || // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n F === \"y\";\n }\n return !0;\n }).map((O) => [O.placement, O.overflows.filter((F) => F > 0).reduce((F, Xt) => F + Xt, 0)]).sort((O, F) => O[1] - F[1])[0]) == null ? void 0 : Q[0];\n L && ($ = L);\n break;\n }\n case \"initialPlacement\":\n $ = c;\n break;\n }\n if (s !== $)\n return {\n reset: {\n placement: $\n }\n };\n }\n return {};\n }\n };\n}, Nt = /* @__PURE__ */ new Set([\"left\", \"top\"]);\nasync function ve(t, e) {\n const {\n placement: n,\n platform: i,\n elements: s\n } = t, o = await (i.isRTL == null ? void 0 : i.isRTL(s.floating)), r = I(n), c = et(n), l = N(n) === \"y\", a = Nt.has(r) ? -1 : 1, d = o && l ? -1 : 1, u = q(e, t);\n let {\n mainAxis: g,\n crossAxis: f,\n alignmentAxis: h\n } = typeof u == \"number\" ? {\n mainAxis: u,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: u.mainAxis || 0,\n crossAxis: u.crossAxis || 0,\n alignmentAxis: u.alignmentAxis\n };\n return c && typeof h == \"number\" && (f = c === \"end\" ? h * -1 : h), l ? {\n x: f * d,\n y: g * a\n } : {\n x: g * a,\n y: f * d\n };\n}\nconst be = function(t) {\n return t === void 0 && (t = 0), {\n name: \"offset\",\n options: t,\n async fn(e) {\n var n, i;\n const {\n x: s,\n y: o,\n placement: r,\n middlewareData: c\n } = e, l = await ve(e, t);\n return r === ((n = c.offset) == null ? void 0 : n.placement) && (i = c.arrow) != null && i.alignmentOffset ? {} : {\n x: s + l.x,\n y: o + l.y,\n data: {\n ...l,\n placement: r\n }\n };\n }\n };\n}, Ae = function(t) {\n return t === void 0 && (t = {}), {\n name: \"shift\",\n options: t,\n async fn(e) {\n const {\n x: n,\n y: i,\n placement: s\n } = e, {\n mainAxis: o = !0,\n crossAxis: r = !1,\n limiter: c = {\n fn: (p) => {\n let {\n x: w,\n y\n } = p;\n return {\n x: w,\n y\n };\n }\n },\n ...l\n } = q(t, e), a = {\n x: n,\n y: i\n }, d = await $t(e, l), u = N(I(s)), g = mt(u);\n let f = a[g], h = a[u];\n if (o) {\n const p = g === \"y\" ? \"top\" : \"left\", w = g === \"y\" ? \"bottom\" : \"right\", y = f + d[p], x = f - d[w];\n f = dt(y, f, x);\n }\n if (r) {\n const p = u === \"y\" ? \"top\" : \"left\", w = u === \"y\" ? \"bottom\" : \"right\", y = h + d[p], x = h - d[w];\n h = dt(y, h, x);\n }\n const m = c.fn({\n ...e,\n [g]: f,\n [u]: h\n });\n return {\n ...m,\n data: {\n x: m.x - n,\n y: m.y - i,\n enabled: {\n [g]: o,\n [u]: r\n }\n }\n };\n }\n };\n}, Ee = function(t) {\n return t === void 0 && (t = {}), {\n options: t,\n fn(e) {\n const {\n x: n,\n y: i,\n placement: s,\n rects: o,\n middlewareData: r\n } = e, {\n offset: c = 0,\n mainAxis: l = !0,\n crossAxis: a = !0\n } = q(t, e), d = {\n x: n,\n y: i\n }, u = N(s), g = mt(u);\n let f = d[g], h = d[u];\n const m = q(c, e), p = typeof m == \"number\" ? {\n mainAxis: m,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...m\n };\n if (l) {\n const x = g === \"y\" ? \"height\" : \"width\", b = o.reference[g] - o.floating[x] + p.mainAxis, v = o.reference[g] + o.reference[x] - p.mainAxis;\n f < b ? f = b : f > v && (f = v);\n }\n if (a) {\n var w, y;\n const x = g === \"y\" ? \"width\" : \"height\", b = Nt.has(I(s)), v = o.reference[u] - o.floating[x] + (b && ((w = r.offset) == null ? void 0 : w[u]) || 0) + (b ? 0 : p.crossAxis), C = o.reference[u] + o.reference[x] + (b ? 0 : ((y = r.offset) == null ? void 0 : y[u]) || 0) - (b ? p.crossAxis : 0);\n h < v ? h = v : h > C && (h = C);\n }\n return {\n [g]: f,\n [u]: h\n };\n }\n };\n};\nfunction ct() {\n return typeof window < \"u\";\n}\nfunction J(t) {\n return Ft(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\";\n}\nfunction E(t) {\n var e;\n return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window;\n}\nfunction D(t) {\n var e;\n return (e = (Ft(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement;\n}\nfunction Ft(t) {\n return ct() ? t instanceof Node || t instanceof E(t).Node : !1;\n}\nfunction P(t) {\n return ct() ? t instanceof Element || t instanceof E(t).Element : !1;\n}\nfunction k(t) {\n return ct() ? t instanceof HTMLElement || t instanceof E(t).HTMLElement : !1;\n}\nfunction St(t) {\n return !ct() || typeof ShadowRoot > \"u\" ? !1 : t instanceof ShadowRoot || t instanceof E(t).ShadowRoot;\n}\nconst Ce = /* @__PURE__ */ new Set([\"inline\", \"contents\"]);\nfunction nt(t) {\n const {\n overflow: e,\n overflowX: n,\n overflowY: i,\n display: s\n } = T(t);\n return /auto|scroll|overlay|hidden|clip/.test(e + i + n) && !Ce.has(s);\n}\nconst Se = /* @__PURE__ */ new Set([\"table\", \"td\", \"th\"]);\nfunction Le(t) {\n return Se.has(J(t));\n}\nconst Oe = [\":popover-open\", \":modal\"];\nfunction lt(t) {\n return Oe.some((e) => {\n try {\n return t.matches(e);\n } catch {\n return !1;\n }\n });\n}\nconst Pe = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\"], Te = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\", \"filter\"], Re = [\"paint\", \"layout\", \"strict\", \"content\"];\nfunction yt(t) {\n const e = xt(), n = P(t) ? T(t) : t;\n return Pe.some((i) => n[i] ? n[i] !== \"none\" : !1) || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || Te.some((i) => (n.willChange || \"\").includes(i)) || Re.some((i) => (n.contain || \"\").includes(i));\n}\nfunction ke(t) {\n let e = V(t);\n for (; k(e) && !X(e); ) {\n if (yt(e))\n return e;\n if (lt(e))\n return null;\n e = V(e);\n }\n return null;\n}\nfunction xt() {\n return typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nconst De = /* @__PURE__ */ new Set([\"html\", \"body\", \"#document\"]);\nfunction X(t) {\n return De.has(J(t));\n}\nfunction T(t) {\n return E(t).getComputedStyle(t);\n}\nfunction at(t) {\n return P(t) ? {\n scrollLeft: t.scrollLeft,\n scrollTop: t.scrollTop\n } : {\n scrollLeft: t.scrollX,\n scrollTop: t.scrollY\n };\n}\nfunction V(t) {\n if (J(t) === \"html\")\n return t;\n const e = (\n // Step into the shadow DOM of the parent of a slotted node.\n t.assignedSlot || // DOM Element detected.\n t.parentNode || // ShadowRoot detected.\n St(t) && t.host || // Fallback.\n D(t)\n );\n return St(e) ? e.host : e;\n}\nfunction Ht(t) {\n const e = V(t);\n return X(e) ? t.ownerDocument ? t.ownerDocument.body : t.body : k(e) && nt(e) ? e : Ht(e);\n}\nfunction tt(t, e, n) {\n var i;\n e === void 0 && (e = []), n === void 0 && (n = !0);\n const s = Ht(t), o = s === ((i = t.ownerDocument) == null ? void 0 : i.body), r = E(s);\n if (o) {\n const c = ht(r);\n return e.concat(r, r.visualViewport || [], nt(s) ? s : [], c && n ? tt(c) : []);\n }\n return e.concat(s, tt(s, [], n));\n}\nfunction ht(t) {\n return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null;\n}\nfunction It(t) {\n const e = T(t);\n let n = parseFloat(e.width) || 0, i = parseFloat(e.height) || 0;\n const s = k(t), o = s ? t.offsetWidth : n, r = s ? t.offsetHeight : i, c = st(n) !== o || st(i) !== r;\n return c && (n = o, i = r), {\n width: n,\n height: i,\n $: c\n };\n}\nfunction vt(t) {\n return P(t) ? t : t.contextElement;\n}\nfunction Y(t) {\n const e = vt(t);\n if (!k(e))\n return R(1);\n const n = e.getBoundingClientRect(), {\n width: i,\n height: s,\n $: o\n } = It(e);\n let r = (o ? st(n.width) : n.width) / i, c = (o ? st(n.height) : n.height) / s;\n return (!r || !Number.isFinite(r)) && (r = 1), (!c || !Number.isFinite(c)) && (c = 1), {\n x: r,\n y: c\n };\n}\nconst Me = /* @__PURE__ */ R(0);\nfunction Vt(t) {\n const e = E(t);\n return !xt() || !e.visualViewport ? Me : {\n x: e.visualViewport.offsetLeft,\n y: e.visualViewport.offsetTop\n };\n}\nfunction $e(t, e, n) {\n return e === void 0 && (e = !1), !n || e && n !== E(t) ? !1 : e;\n}\nfunction U(t, e, n, i) {\n e === void 0 && (e = !1), n === void 0 && (n = !1);\n const s = t.getBoundingClientRect(), o = vt(t);\n let r = R(1);\n e && (i ? P(i) && (r = Y(i)) : r = Y(t));\n const c = $e(o, n, i) ? Vt(o) : R(0);\n let l = (s.left + c.x) / r.x, a = (s.top + c.y) / r.y, d = s.width / r.x, u = s.height / r.y;\n if (o) {\n const g = E(o), f = i && P(i) ? E(i) : i;\n let h = g, m = ht(h);\n for (; m && i && f !== h; ) {\n const p = Y(m), w = m.getBoundingClientRect(), y = T(m), x = w.left + (m.clientLeft + parseFloat(y.paddingLeft)) * p.x, b = w.top + (m.clientTop + parseFloat(y.paddingTop)) * p.y;\n l *= p.x, a *= p.y, d *= p.x, u *= p.y, l += x, a += b, h = E(m), m = ht(h);\n }\n }\n return rt({\n width: d,\n height: u,\n x: l,\n y: a\n });\n}\nfunction bt(t, e) {\n const n = at(t).scrollLeft;\n return e ? e.left + n : U(D(t)).left + n;\n}\nfunction Bt(t, e, n) {\n n === void 0 && (n = !1);\n const i = t.getBoundingClientRect(), s = i.left + e.scrollLeft - (n ? 0 : (\n // RTL <body> scrollbar.\n bt(t, i)\n )), o = i.top + e.scrollTop;\n return {\n x: s,\n y: o\n };\n}\nfunction Ne(t) {\n let {\n elements: e,\n rect: n,\n offsetParent: i,\n strategy: s\n } = t;\n const o = s === \"fixed\", r = D(i), c = e ? lt(e.floating) : !1;\n if (i === r || c && o)\n return n;\n let l = {\n scrollLeft: 0,\n scrollTop: 0\n }, a = R(1);\n const d = R(0), u = k(i);\n if ((u || !u && !o) && ((J(i) !== \"body\" || nt(r)) && (l = at(i)), k(i))) {\n const f = U(i);\n a = Y(i), d.x = f.x + i.clientLeft, d.y = f.y + i.clientTop;\n }\n const g = r && !u && !o ? Bt(r, l, !0) : R(0);\n return {\n width: n.width * a.x,\n height: n.height * a.y,\n x: n.x * a.x - l.scrollLeft * a.x + d.x + g.x,\n y: n.y * a.y - l.scrollTop * a.y + d.y + g.y\n };\n}\nfunction Fe(t) {\n return Array.from(t.getClientRects());\n}\nfunction He(t) {\n const e = D(t), n = at(t), i = t.ownerDocument.body, s = j(e.scrollWidth, e.clientWidth, i.scrollWidth, i.clientWidth), o = j(e.scrollHeight, e.clientHeight, i.scrollHeight, i.clientHeight);\n let r = -n.scrollLeft + bt(t);\n const c = -n.scrollTop;\n return T(i).direction === \"rtl\" && (r += j(e.clientWidth, i.clientWidth) - s), {\n width: s,\n height: o,\n x: r,\n y: c\n };\n}\nfunction Ie(t, e) {\n const n = E(t), i = D(t), s = n.visualViewport;\n let o = i.clientWidth, r = i.clientHeight, c = 0, l = 0;\n if (s) {\n o = s.width, r = s.height;\n const a = xt();\n (!a || a && e === \"fixed\") && (c = s.offsetLeft, l = s.offsetTop);\n }\n return {\n width: o,\n height: r,\n x: c,\n y: l\n };\n}\nconst Ve = /* @__PURE__ */ new Set([\"absolute\", \"fixed\"]);\nfunction Be(t, e) {\n const n = U(t, !0, e === \"fixed\"), i = n.top + t.clientTop, s = n.left + t.clientLeft, o = k(t) ? Y(t) : R(1), r = t.clientWidth * o.x, c = t.clientHeight * o.y, l = s * o.x, a = i * o.y;\n return {\n width: r,\n height: c,\n x: l,\n y: a\n };\n}\nfunction Lt(t, e, n) {\n let i;\n if (e === \"viewport\")\n i = Ie(t, n);\n else if (e === \"document\")\n i = He(D(t));\n else if (P(e))\n i = Be(e, n);\n else {\n const s = Vt(t);\n i = {\n x: e.x - s.x,\n y: e.y - s.y,\n width: e.width,\n height: e.height\n };\n }\n return rt(i);\n}\nfunction Wt(t, e) {\n const n = V(t);\n return n === e || !P(n) || X(n) ? !1 : T(n).position === \"fixed\" || Wt(n, e);\n}\nfunction We(t, e) {\n const n = e.get(t);\n if (n)\n return n;\n let i = tt(t, [], !1).filter((c) => P(c) && J(c) !== \"body\"), s = null;\n const o = T(t).position === \"fixed\";\n let r = o ? V(t) : t;\n for (; P(r) && !X(r); ) {\n const c = T(r), l = yt(r);\n !l && c.position === \"fixed\" && (s = null), (o ? !l && !s : !l && c.position === \"static\" && !!s && Ve.has(s.position) || nt(r) && !l && Wt(t, r)) ? i = i.filter((d) => d !== r) : s = c, r = V(r);\n }\n return e.set(t, i), i;\n}\nfunction _e(t) {\n let {\n element: e,\n boundary: n,\n rootBoundary: i,\n strategy: s\n } = t;\n const r = [...n === \"clippingAncestors\" ? lt(e) ? [] : We(e, this._c) : [].concat(n), i], c = r[0], l = r.reduce((a, d) => {\n const u = Lt(e, d, s);\n return a.top = j(u.top, a.top), a.right = K(u.right, a.right), a.bottom = K(u.bottom, a.bottom), a.left = j(u.left, a.left), a;\n }, Lt(e, c, s));\n return {\n width: l.right - l.left,\n height: l.bottom - l.top,\n x: l.left,\n y: l.top\n };\n}\nfunction ze(t) {\n const {\n width: e,\n height: n\n } = It(t);\n return {\n width: e,\n height: n\n };\n}\nfunction je(t, e, n) {\n const i = k(e), s = D(e), o = n === \"fixed\", r = U(t, !0, o, e);\n let c = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const l = R(0);\n function a() {\n l.x = bt(s);\n }\n if (i || !i && !o)\n if ((J(e) !== \"body\" || nt(s)) && (c = at(e)), i) {\n const f = U(e, !0, o, e);\n l.x = f.x + e.clientLeft, l.y = f.y + e.clientTop;\n } else s && a();\n o && !i && s && a();\n const d = s && !i && !o ? Bt(s, c) : R(0), u = r.left + c.scrollLeft - l.x - d.x, g = r.top + c.scrollTop - l.y - d.y;\n return {\n x: u,\n y: g,\n width: r.width,\n height: r.height\n };\n}\nfunction ft(t) {\n return T(t).position === \"static\";\n}\nfunction Ot(t, e) {\n if (!k(t) || T(t).position === \"fixed\")\n return null;\n if (e)\n return e(t);\n let n = t.offsetParent;\n return D(t) === n && (n = n.ownerDocument.body), n;\n}\nfunction _t(t, e) {\n const n = E(t);\n if (lt(t))\n return n;\n if (!k(t)) {\n let s = V(t);\n for (; s && !X(s); ) {\n if (P(s) && !ft(s))\n return s;\n s = V(s);\n }\n return n;\n }\n let i = Ot(t, e);\n for (; i && Le(i) && ft(i); )\n i = Ot(i, e);\n return i && X(i) && ft(i) && !yt(i) ? n : i || ke(t) || n;\n}\nconst qe = async function(t) {\n const e = this.getOffsetParent || _t, n = this.getDimensions, i = await n(t.floating);\n return {\n reference: je(t.reference, await e(t.floating), t.strategy),\n floating: {\n x: 0,\n y: 0,\n width: i.width,\n height: i.height\n }\n };\n};\nfunction Ue(t) {\n return T(t).direction === \"rtl\";\n}\nconst Ye = {\n convertOffsetParentRelativeRectToViewportRelativeRect: Ne,\n getDocumentElement: D,\n getClippingRect: _e,\n getOffsetParent: _t,\n getElementRects: qe,\n getClientRects: Fe,\n getDimensions: ze,\n getScale: Y,\n isElement: P,\n isRTL: Ue\n};\nfunction zt(t, e) {\n return t.x === e.x && t.y === e.y && t.width === e.width && t.height === e.height;\n}\nfunction Ke(t, e) {\n let n = null, i;\n const s = D(t);\n function o() {\n var c;\n clearTimeout(i), (c = n) == null || c.disconnect(), n = null;\n }\n function r(c, l) {\n c === void 0 && (c = !1), l === void 0 && (l = 1), o();\n const a = t.getBoundingClientRect(), {\n left: d,\n top: u,\n width: g,\n height: f\n } = a;\n if (c || e(), !g || !f)\n return;\n const h = it(u), m = it(s.clientWidth - (d + g)), p = it(s.clientHeight - (u + f)), w = it(d), x = {\n rootMargin: -h + \"px \" + -m + \"px \" + -p + \"px \" + -w + \"px\",\n threshold: j(0, K(1, l)) || 1\n };\n let b = !0;\n function v(C) {\n const S = C[0].intersectionRatio;\n if (S !== l) {\n if (!b)\n return r();\n S ? r(!1, S) : i = setTimeout(() => {\n r(!1, 1e-7);\n }, 1e3);\n }\n S === 1 && !zt(a, t.getBoundingClientRect()) && r(), b = !1;\n }\n try {\n n = new IntersectionObserver(v, {\n ...x,\n // Handle <iframe>s\n root: s.ownerDocument\n });\n } catch {\n n = new IntersectionObserver(v, x);\n }\n n.observe(t);\n }\n return r(!0), o;\n}\nfunction Xe(t, e, n, i) {\n i === void 0 && (i = {});\n const {\n ancestorScroll: s = !0,\n ancestorResize: o = !0,\n elementResize: r = typeof ResizeObserver == \"function\",\n layoutShift: c = typeof IntersectionObserver == \"function\",\n animationFrame: l = !1\n } = i, a = vt(t), d = s || o ? [...a ? tt(a) : [], ...tt(e)] : [];\n d.forEach((w) => {\n s && w.addEventListener(\"scroll\", n, {\n passive: !0\n }), o && w.addEventListener(\"resize\", n);\n });\n const u = a && c ? Ke(a, n) : null;\n let g = -1, f = null;\n r && (f = new ResizeObserver((w) => {\n let [y] = w;\n y && y.target === a && f && (f.unobserve(e), cancelAnimationFrame(g), g = requestAnimationFrame(() => {\n var x;\n (x = f) == null || x.observe(e);\n })), n();\n }), a && !l && f.observe(a), f.observe(e));\n let h, m = l ? U(t) : null;\n l && p();\n function p() {\n const w = U(t);\n m && !zt(m, w) && n(), m = w, h = requestAnimationFrame(p);\n }\n return n(), () => {\n var w;\n d.forEach((y) => {\n s && y.removeEventListener(\"scroll\", n), o && y.removeEventListener(\"resize\", n);\n }), u?.(), (w = f) == null || w.disconnect(), f = null, l && cancelAnimationFrame(h);\n };\n}\nconst Je = be, Ze = Ae, Ge = xe, Qe = ye, tn = Ee, en = (t, e, n) => {\n const i = /* @__PURE__ */ new Map(), s = {\n platform: Ye,\n ...n\n }, o = {\n ...s.platform,\n _c: i\n };\n return we(t, e, {\n ...s,\n platform: o\n });\n};\nfunction Pt(t, e, n) {\n Object.assign(t.style, {\n left: e != null ? `${e}px` : \"\",\n top: n != null ? `${n}px` : \"\"\n });\n}\nfunction jt(t, e) {\n let n = t.getSetting(\"toggle-delay\");\n typeof n == \"string\" && (n.indexOf(\",\") > -1 && (n = n.split(\",\")), n.indexOf(\" \") > -1 && (n = n.split(\" \"))), Array.isArray(n) && (n = n[e]);\n const i = Number(n);\n if (Number.isNaN(i))\n throw new Error(`Provided delay value is not a number: \"${n}\"`);\n return i;\n}\nfunction ut(t) {\n let e;\n const n = typeof t == \"string\" ? t.trim().split(\" \").map((i) => parseFloat(i)).filter((i) => !isNaN(i)) : [t];\n for (let i = 0; i < n.length; i++)\n n[i] = Number(n[i]);\n switch (n.length) {\n case 1:\n e = n[0];\n break;\n case 2:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[0],\n left: n[1]\n };\n break;\n case 3:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[2],\n left: n[1]\n };\n break;\n case 4:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[2],\n left: n[3]\n };\n break;\n default:\n e = void 0;\n break;\n }\n return e;\n}\nfunction nn(t) {\n return {\n offset: Number(t.getSetting(\"offset\")),\n flip: {\n padding: ut(t.getSetting(\"flip-padding\"))\n },\n shift: {\n padding: ut(t.getSetting(\"shift-padding\"))\n },\n arrow: {\n selector: t.getSetting(\"selectorArrow\"),\n element: null,\n padding: ut(t.getSetting(\"arrow-padding\"))\n }\n };\n}\nfunction Tt(t) {\n const e = this.get(t);\n if (e)\n return e;\n throw new Error(`Popover not found in collection with id of \"${t}\".`);\n}\nasync function qt(t) {\n return t && t.state === \"opened\" && (t.el.inert = !0, t.el.classList.remove(t.parent.settings.stateActive), t.isTooltip || t.trigger?.setAttribute(\"aria-expanded\", \"false\"), t.floatingCleanup(), t.state = \"closed\", t.trigger === t.parent.trigger && (t.parent.trigger = null), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"closed\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"closed\", t)), t;\n}\nasync function Ut(t) {\n const e = [];\n for (const n of t.collection)\n n.state === \"opened\" && e.push(await n.close());\n return e;\n}\nfunction Yt(t) {\n t.state == \"opened\" && setTimeout(() => (document.activeElement?.closest(\n `#${t.id}, [aria-controls=\"${t.id}\"], [aria-describedby=\"${t.id}\"]`\n ) || t.close(), t), 1);\n}\nfunction sn(t) {\n t.state === \"opened\" ? t.close() : (this.trigger = t.trigger, t.open());\n}\nfunction on(t) {\n t.isTooltip && (t.toggleDelayId && clearTimeout(t.toggleDelayId), t.close());\n}\nfunction rn(t, e) {\n if (t.isHovered = e, e.type == \"focus\" && t.trigger && !t.trigger.matches(\":focus-visible\"))\n return;\n t.toggleDelayId && clearTimeout(t.toggleDelayId);\n const n = t.trigger?.getAttribute(\"aria-expanded\");\n if (n && n == \"true\") return;\n const i = this.activeHover ? 0 : jt(t, 0);\n this.activeHover && this.activeHover.close(), t.toggleDelayId = setTimeout(() => {\n t.id && t.open();\n }, i);\n}\nfunction cn(t, e) {\n setTimeout(() => {\n t.isHovered = e, !t.isHovered && (t.toggleDelayId && clearTimeout(t.toggleDelayId), t.toggleDelayId = setTimeout(\n () => Yt(t),\n jt(t, 1)\n ));\n }, 1);\n}\nfunction ln(t) {\n switch (t.key) {\n case \"Escape\":\n this.trigger && this.trigger.focus(), Ut(this);\n return;\n case \"Tab\":\n this.collection.forEach((e) => {\n Yt(e);\n });\n return;\n default:\n return;\n }\n}\nfunction an(t) {\n const e = this;\n document.addEventListener(\"click\", function n(i) {\n const s = i.target;\n s && (s.closest(\n `#${t.id}, [aria-controls=\"${t.id}\"], [aria-describedby=\"${t.id}\"]`\n ) ? t.el && !t.el.classList.contains(e.settings.stateActive) && this.removeEventListener(\"click\", n) : (t.el && t.el.classList.contains(e.settings.stateActive) && t.close(), this.removeEventListener(\"click\", n)));\n });\n}\nasync function Kt(t) {\n t.el.inert = !1, t.el.classList.add(t.parent.settings.stateActive), t.isTooltip || t.trigger?.setAttribute(\"aria-expanded\", \"true\"), t.buildCustomProps();\n const e = nn(t), n = t.el.querySelector(\n e.arrow.selector\n );\n return e.arrow.element = n || null, t.trigger instanceof HTMLElement && (t.floatingCleanup = Xe(t.trigger, t.el, () => {\n const i = [\n Ge(e.flip),\n Ze({ ...e.shift, limiter: tn() }),\n Je(e.offset)\n ];\n e.arrow.element && i.push(\n Qe({\n ...e.arrow,\n element: e.arrow.element\n })\n ), en(t.trigger, t.el, {\n placement: t.getSetting(\"placement\"),\n middleware: i\n }).then(({ x: s, y: o, placement: r, middlewareData: c }) => {\n if (t.el) {\n if (Pt(t.el, s, o), e.arrow.element && c.arrow) {\n const { x: l, y: a } = c.arrow;\n Pt(e.arrow.element, l, a);\n }\n t.el.setAttribute(\"data-floating-placement\", r);\n }\n });\n })), t.state = \"opened\", t.getSetting(\"event\") === \"click\" && an.call(t.parent, t), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"opened\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"opened\", t), t;\n}\nclass fn extends Dt {\n #t;\n #e;\n constructor(e, n, i = {}) {\n super(e, n, i), this.state = \"closed\", this.toggleDelayId = null, this.trigger = null, this.#t = null, this.#e = {\n el: !1,\n trigger: !1\n }, this.floatingCleanup = () => {\n };\n }\n get isTooltip() {\n return !!this.el.closest(this.getSetting(\"selectorTooltip\")) || this.el.getAttribute(\"role\") == \"tooltip\";\n }\n get isHovered() {\n return this.#e.el || this.#e.trigger;\n }\n set isHovered(e) {\n const n = e.type == \"mouseenter\" ? !0 : e.type == \"mouseleave\" ? !1 : void 0;\n if (n != null)\n switch (e.target) {\n case this.el:\n this.#e.el = n;\n break;\n case this.trigger:\n this.#e.trigger = n;\n break;\n }\n }\n async open() {\n return Kt(this);\n }\n async close() {\n return qt(this);\n }\n async deregister() {\n return this.parent.deregister(this.id);\n }\n registerEventListeners() {\n this.#t || (this.getSetting(\"event\") === \"hover\" ? (this.#t = [\n {\n el: [\"el\", \"trigger\"],\n type: [\"mouseenter\", \"focus\"],\n listener: rn.bind(this.parent, this)\n },\n {\n el: [\"el\", \"trigger\"],\n type: [\"mouseleave\", \"focusout\"],\n listener: cn.bind(this.parent, this)\n },\n {\n el: [\"trigger\"],\n type: [\"click\"],\n listener: on.bind(this.parent, this)\n }\n ], this.#t.forEach((n) => {\n n.el.forEach((i) => {\n n.type.forEach((s) => {\n this[i].addEventListener(s, n.listener, !1);\n });\n });\n })) : (this.#t = [\n {\n el: [\"trigger\"],\n type: [\"click\"],\n listener: sn.bind(this.parent, this)\n }\n ], this.#t.forEach((n) => {\n n.el.forEach((i) => {\n n.type.forEach((s) => {\n this[i].addEventListener(s, n.listener, !1);\n });\n });\n })));\n }\n deregisterEventListeners() {\n this.#t && (this.#t.forEach((e) => {\n e.el.forEach((n) => {\n e.type.forEach((i) => {\n this[n].removeEventListener(i, e.listener, !1);\n });\n });\n }), this.#t = null);\n }\n async onCreateEntry() {\n this.trigger = document.querySelector(\n `[aria-controls=\"${this.id}\"], [aria-describedby=\"${this.id}\"]`\n ), this.isTooltip ? (this.settings.event = \"hover\", this.el.setAttribute(\"role\", \"tooltip\")) : this.trigger && this.trigger instanceof HTMLElement && this.trigger.setAttribute(\"aria-expanded\", \"false\"), this.registerEventListeners();\n }\n async onRegisterEntry() {\n this.el.classList.contains(this.getSetting(\"stateActive\")) ? await this.open() : this.el.inert = !0;\n }\n async onDestroyEntry() {\n this.state === \"opened\" && await this.close(), this.floatingCleanup(), this.deregisterEventListeners();\n }\n}\nclass un extends oe {\n #t;\n constructor(e) {\n super({ ...re, ...e }), this.module = \"Popover\", this.entryClass = fn, this.trigger = null, this.#t = ln.bind(this);\n }\n get active() {\n return this.get(\"opened\", \"state\");\n }\n get activeHover() {\n return this.collection.find((e) => e.state == \"opened\" && e.getSetting(\"event\") == \"hover\");\n }\n async open(e) {\n const n = Tt.call(this, e);\n return Kt(n);\n }\n async close(e) {\n const n = e ? Tt.call(this, e) : void 0;\n return n ? qt(n) : Ut(this);\n }\n async afterMount() {\n document.addEventListener(\"keydown\", this.#t, !1);\n }\n async beforeUnmount() {\n this.trigger = null;\n }\n async afterUnmount() {\n document.removeEventListener(\"keydown\", this.#t, !1);\n }\n}\nexport {\n un as default\n};\n//# sourceMappingURL=index.js.map\n"],"names":["u","m","k","C","E","g","x","r","v","$","S","J","a","R","y","h","M","o","P","A","I","T","L","O","D","b","w","N","l","d","q","_","U","F","X","p","V","Y","tt","j","z","H","nt","f","Z","B","G","W","Q"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.cjs","sources":["../../core/dist/index.js","../../drawer/dist/index.js","../../modal/dist/index.js","../../popover/dist/index.js"],"sourcesContent":["const u = \":not([inert])\", f = ':not([tabindex^=\"-\"])', m = \":not(:disabled)\", C = [\n `a[href]${u}${f}`,\n `area[href]${u}${f}`,\n `input:not([type=\"hidden\"]):not([type=\"radio\"])${u}${f}${m}`,\n `input[type=\"radio\"]${u}${f}${m}`,\n `select${u}${f}${m}`,\n `textarea${u}${f}${m}`,\n `button${u}${f}${m}`,\n `details${u} > summary:first-of-type${f}`,\n `iframe${u}${f}`,\n `audio[controls]${u}${f}`,\n `video[controls]${u}${f}`,\n `[contenteditable]${u}${f}`,\n `[tabindex]${u}${f}`\n];\nfunction k(n, t = \"config\") {\n const s = (n.getAttribute(`data-${t}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction E(n) {\n if (typeof n == \"string\") {\n const t = document.getElementById(n);\n if (t) return t;\n throw new Error(`Element not found with ID: \"${n}\"`);\n } else if (n instanceof HTMLElement) {\n if (!n.id)\n throw new Error(\"HTMLElement must have an ID\");\n return n;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function g(n, t, ...e) {\n t in n && typeof n[t] == \"function\" && await n[t](...e);\n}\nfunction x(n, t, e) {\n if (typeof t == \"string\") {\n const r = document.querySelector(t);\n if (!r)\n throw new Error(`No teleport reference found for selector: ${t}`);\n t = r;\n } else if (!(t instanceof HTMLElement))\n throw new Error(`Not a valid teleport reference: '${t}'`);\n if (typeof t[e] != \"function\")\n throw new Error(`Not a valid teleport method: '${e}'`);\n let s = document.createComment(\n \"teleported #\" + n.id\n );\n return n.before(s), t[e](n), () => {\n s && (s.after(n), s.remove(), s = null);\n };\n}\nfunction v(n) {\n return n.split(\"-\").map(\n (t, e) => e === 0 ? t : t.charAt(0).toUpperCase() + t.slice(1)\n ).join(\"\");\n}\nfunction $(n) {\n return n.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction S(n) {\n if (typeof n == \"number\")\n return n;\n const t = parseFloat(n);\n if (!Number.isNaN(t)) {\n const e = n.includes(\"ms\");\n return t * (e ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${n}`);\n}\nfunction J(n, t, e, s, r = 0) {\n return new Promise((a) => {\n n.classList.remove(t), n.classList.add(e), setTimeout(() => {\n n.classList.add(s), n.classList.remove(e), a(n);\n }, S(r));\n });\n}\nfunction R(n, t = {}) {\n const e = {\n fallback: null,\n element: document.body,\n ...t\n };\n if (!n.startsWith(\"--\")) {\n const r = y();\n r && (n = `${r}${n}`), n = `--${n}`;\n }\n const s = getComputedStyle(e.element).getPropertyValue(n).trim();\n if (s)\n return s;\n if (e.fallback)\n return e.fallback;\n throw new Error(`CSS variable \"${n}\" was not found!`);\n}\nasync function h(n, t, e) {\n await g(t, n, e), e && await g(e, n);\n for (const s of t.plugins)\n await g(s, n, { plugin: s, parent: t, entry: e });\n await t.emit(n, e);\n}\nfunction M(n) {\n const t = getComputedStyle(n.el), e = {}, s = n.getSetting(\"customProps\");\n for (let r = 0; r < s.length; r++) {\n const a = y(), o = n.parent.module.toLowerCase(), i = $(s[r]), c = t.getPropertyValue(`--${a}${o}-${i}`).trim();\n c && (e[i] = c);\n }\n return e;\n}\nfunction y() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction P(n, t, e = \"camel\") {\n return t = e === \"camel\" ? v(t) : $(t), n.split(\".\").concat(t).reduce((s, r) => s?.[r], this);\n}\nfunction A(n, t = {}) {\n const {\n fallback: e,\n props: s = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = t;\n for (const r of s) {\n const a = r !== \"customProps\" ? \"camel\" : \"kebab\", o = P.call(this, r, n, a);\n if (o !== void 0)\n return o;\n }\n if (e !== void 0)\n return e;\n throw new Error(`${this.parent.module} setting does not exist: ${n}`);\n}\nfunction T(n, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n n ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction I(n, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n s.inert = n;\n });\n}\nfunction G(n, t, e) {\n I(!!n, t), T(!!n, e);\n}\nconst L = {\n events: {},\n on(n, t, ...e) {\n this.events[n] || (this.events[n] = []), this.events[n].some(\n (r) => r.listener === t\n ) || this.events[n].push({ listener: t, args: e });\n },\n off(n, t) {\n this.events[n] && (this.events[n] = this.events[n].filter(\n (e) => e.listener !== t\n ));\n },\n async emit(n, t) {\n if (n = n.startsWith(\"on\") ? n.slice(2, 3).toLowerCase() + n.slice(3) : n, !!this.events[n])\n for (const { listener: e, args: s } of this.events[n])\n await e(t, ...s);\n }\n};\nclass O extends Array {\n constructor(t = null) {\n super(), this.el = t, this.el && this.set();\n }\n get first() {\n return this[0];\n }\n get last() {\n return this[this.length - 1];\n }\n set(t = this.el) {\n this.length = 0, t && this.push(...t.querySelectorAll(C.join(\",\")));\n }\n clear() {\n this.length = 0;\n }\n}\nclass U {\n constructor(t = null) {\n this.el = t, this.focusable = new O(), this.handleFocusTrap = D.bind(this);\n }\n on(t = this.el) {\n this.focusable.set(t), this.focusable.length ? document.addEventListener(\"keydown\", this.handleFocusTrap) : document.addEventListener(\"keydown\", b);\n }\n off() {\n this.focusable.clear(), document.removeEventListener(\"keydown\", this.handleFocusTrap), document.removeEventListener(\"keydown\", b);\n }\n}\nfunction b(n) {\n (n.key === \"Tab\" || n.keyCode === 9) && n.preventDefault();\n}\nfunction D(n) {\n if (n.key !== \"Tab\" && n.keyCode !== 9) return;\n const { activeElement: t } = document, { el: e, focusable: s } = this, r = n.shiftKey, a = t === s.first || t === e, o = t === s.last || t === e;\n if (r && a || !r && o) {\n n.preventDefault();\n const i = r ? s.last : s.first;\n i && typeof i.focus == \"function\" && i.focus();\n }\n}\nfunction w(n, t = !0) {\n const e = localStorage.getItem(n), s = e ? JSON.parse(e) : {};\n return {\n get(r, a) {\n return r ? r in s ? s[r] : a : s;\n },\n set(r, a) {\n return a ? s[r] = a : delete s[r], t && localStorage.setItem(n, JSON.stringify(s)), s;\n }\n };\n}\nclass H extends Array {\n constructor(t = {}) {\n super(), this.presets = t;\n }\n applySettings(t) {\n const e = t?.defaults || {}, s = this.presets?.[t.name] || {}, r = t?.options || {};\n t.settings = { ...e, ...s, ...r };\n }\n validate(t) {\n return !(\"name\" in t) || typeof t.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(t) {\n return this.find((e) => e.name === t);\n }\n add(t) {\n if (Array.isArray(t))\n t.forEach((e) => this.add(e));\n else if (this.applySettings(t), this.validate(t)) {\n const e = this.findIndex((s) => s.name === t.name);\n ~e ? this[e] = t : this.push(t);\n }\n }\n remove(t) {\n const e = this.findIndex((s) => s.name === t);\n ~e && this.splice(e, 1);\n }\n}\nclass W extends Array {\n constructor(t = {}) {\n super(), this.settings = t;\n }\n get copy() {\n return [...this];\n }\n get top() {\n const t = this[this.length - 1];\n return t || null;\n }\n updateIndex() {\n this.forEach((t, e) => {\n t.el.style.zIndex = \"\";\n const s = getComputedStyle(t.el)[\"z-index\"];\n t.el.style.zIndex = String(parseInt(s, 10) + e + 1);\n });\n }\n onChange() {\n this.updateIndex(), typeof this.settings.onChange == \"function\" && this.settings.onChange();\n }\n add(t) {\n this.push(t), this.onChange();\n }\n remove(t) {\n const e = this.findIndex((s) => s.id === t.id);\n ~e && (t.el.style.zIndex = \"\", this.splice(e, 1), this.onChange());\n }\n moveToTop(t) {\n const e = this.findIndex((s) => s.id === t.id);\n ~e && (this.splice(e, 1), this.add(t));\n }\n}\nconst N = {\n condition: !0\n}, Q = {\n primary: \"hsl(152deg 60% 50%)\",\n secondary: \"hsl(214deg 50% 50%)\",\n neutral: \"hsl(214deg 20% 50%)\",\n important: \"hsl(0deg 80% 50%)\"\n};\nfunction Z(n = {}) {\n const t = {\n name: \"debug\",\n defaults: N,\n options: n\n };\n function e(o, i = [], c = [\"primary\", \"secondary\"]) {\n const l = c.map((d) => `color: ${Q[d]}`);\n console.log(`%c📡 DEBUG: %c${o}`, ...l, ...i);\n }\n function s(o, ...i) {\n return typeof o == \"function\" ? o(...i) : o;\n }\n const r = {\n beforeMountRef: e.bind(null, \"Event > beforeMount()\"),\n afterMountRef: e.bind(null, \"Event > afterMount()\"),\n beforeUnmountRef: e.bind(\n null,\n \"Event > beforeUnmount()\",\n [],\n [\"important\", \"neutral\"]\n ),\n afterUnmountRef: e.bind(\n null,\n \"Event > afterUnmount()\",\n [],\n [\"important\", \"neutral\"]\n ),\n createEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(`Event > createEntry() > [${l}] #${o.id}`);\n }\n },\n registerEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(`Event > registerEntry() > [${l}] #${o.id}`);\n }\n },\n destroyEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(\n `Event > destroyEntry() > [${l}] #${o.id}`,\n [],\n [\"important\", \"neutral\"]\n );\n }\n },\n deregisterEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(\n `Event > deregisterEntry() > [${l}]`,\n [],\n [\"important\", \"neutral\"]\n );\n }\n }\n };\n return { ...t, ...{\n // Plugin setup/teardown methods\n setup({ parent: o }) {\n e(\"Plugin > setup()\", Array.from(arguments), [\"secondary\", \"neutral\"]), o.on(\"beforeMount\", r.beforeMountRef), o.on(\"createEntry\", r.createEntryRef, { parent: o, plugin: this }), o.on(\"registerEntry\", r.registerEntryRef, {\n parent: o,\n plugin: this\n }), o.on(\"afterMount\", r.afterMountRef), o.on(\"beforeUnmount\", r.beforeUnmountRef), o.on(\"destroyEntry\", r.destroyEntryRef, { parent: o, plugin: this }), o.on(\"deregisterEntry\", r.deregisterEntryRef, {\n parent: o,\n plugin: this\n }), o.on(\"afterUnmount\", r.afterUnmountRef);\n },\n teardown({ parent: o }) {\n e(\"Plugin > teardown()\", Array.from(arguments), [\n \"secondary\",\n \"neutral\"\n ]), o.off(\"beforeMount\", r.beforeMountRef), o.off(\"createEntry\", r.createEntryRef), o.off(\"registerEntry\", r.registerEntryRef), o.off(\"afterMount\", r.afterMountRef), o.off(\"beforeUnmount\", r.beforeUnmountRef), o.off(\"destroyEntry\", r.destroyEntryRef), o.off(\"deregisterEntry\", r.deregisterEntryRef), o.off(\"afterUnmount\", r.afterUnmountRef);\n },\n // Mount lifecycle hooks\n beforeMount() {\n e(\"Hook > beforeMount()\", Array.from(arguments));\n },\n onCreateEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length;\n e(\n `Hook > onCreateEntry() > [${c}] #${i.id}`,\n Array.from(arguments)\n );\n }\n },\n onRegisterEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length - 1;\n e(\n `Hook > onRegisterEntry() > [${c}] #${i.id}`,\n Array.from(arguments)\n );\n }\n },\n afterMount() {\n e(\"Hook > afterMount()\", Array.from(arguments));\n },\n // Unmount lifecycle hooks\n beforeUnmount() {\n e(\"Hook > beforeUnmount()\", Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n },\n onDestroyEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length - 1;\n e(\n `Hook > onDestroyEntry() > [${c}] #${i.id}`,\n Array.from(arguments),\n [\"important\", \"neutral\"]\n );\n }\n },\n onDeregisterEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length;\n e(`Hook > onDeregisterEntry() > [${c}]`, Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n }\n },\n afterUnmount() {\n e(\"Hook > afterUnmount()\", Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n }\n } };\n}\nconst q = {\n condition: !0\n};\nfunction _(n = {}) {\n const t = {\n name: \"focusTrap\",\n defaults: q,\n options: n\n }, e = {\n setup({ parent: o }) {\n o.on(\"opened\", r, this), o.on(\"closed\", a, this);\n },\n teardown({ parent: o }) {\n o.off(\"opened\", r), o.off(\"closed\", a);\n },\n onCreateEntry({ entry: o }) {\n o.focusTrap = new U();\n }\n };\n function s(o, ...i) {\n return typeof o == \"function\" ? o(...i) : o;\n }\n function r(o, i) {\n const c = { plugin: i, parent: o.parent, entry: o };\n s(i.settings.condition, c) && o.focusTrap?.on(o.dialog);\n }\n function a(o, i) {\n const c = { plugin: i, parent: o.parent, entry: o };\n s(i.settings.condition, c) && o.focusTrap?.off();\n }\n return { ...t, ...e };\n}\nconst F = {\n // The data attributes to get the breakpoint values from\n dataBreakpoint: \"breakpoint\",\n // The data attributes to get the media query value from\n dataMediaQuery: \"media-query\",\n // The string token to replace in the media query string\n token: \"{{BP}}\",\n // Sets a global breakpoint. Can be overridden by setting a data attribute\n // value. Notice: setting this option will enable a media query breakpoint on\n // all entries.\n breakpoint: null,\n // The default media query string to use. Can be overridden by setting a data\n // attribute value.\n mediaQuery: \"(min-width: {{BP}})\",\n // Maps entry ID or breakpoint key to breakpoint values. This is referenced\n // when getting an entries breakpoint value.\n breakpoints: {},\n // Maps entry ID's to a media query strings. Media query may contain a token.\n // This is referenced when getting an entries media query string.\n mediaQueries: {},\n // The function to run when the MediaQueryList triggers a \"change\" event.\n // This is run once on initial mount.\n onChange: () => {\n }\n};\nfunction X(n = {}) {\n const t = {\n name: \"mediaQuery\",\n defaults: F,\n options: n\n }, e = {\n // Run when an entry is created\n // Sets up the MediaQueryList and event listener\n onCreateEntry({ entry: i }) {\n a.call(this, i);\n },\n // Run when an entry is destroyed\n // Removes the MediaQueryList and event listener\n onDestroyEntry({ entry: i }) {\n o(i);\n }\n };\n function s(i) {\n const c = i.el.getAttribute(`data-${this.settings.dataMediaQuery}`);\n return !c && i.id in this.settings.mediaQueries ? this.settings.mediaQueries[i.id] : c || void 0;\n }\n function r(i) {\n let c = i.el.getAttribute(`data-${this.settings.dataBreakpoint}`);\n return !c && i.id in this.settings.breakpoints && (c = this.settings.breakpoints[i.id]), c && c in this.settings.breakpoints && (c = this.settings.breakpoints[c]), c && (c = getComputedStyle(document.body).getPropertyValue(`--${y()}breakpoint-${c}`).trim() || c), c || this.settings.breakpoint;\n }\n function a(i) {\n let c = s.call(this, i);\n const l = r.call(this, i);\n if (!l && !c) return;\n l && !c && (c = this.settings.mediaQuery);\n const d = c.replace(new RegExp(`${this.settings.token}`, \"g\"), l);\n i.mql = window.matchMedia(d), i.mql.onchange = (p) => {\n this.settings.onChange(p, i);\n }, this.settings.onChange(i.mql, i);\n }\n function o(i) {\n i.mql && (i.mql.onchange = null, i.mql = null);\n }\n return { ...t, ...e };\n}\nconst V = {\n // The property on entry objects to watch\n prop: \"state\",\n // The default value or a function to compute the initial value\n value: null,\n // The local storage key prefix\n keyPrefix: \"VB:\",\n // The local storage key to use. If not provided, module name and prop value\n // will be used e.g., \"VB:ModalState\".\n key: null,\n // Condition to determine whether or not to store the value in local storage\n condition: !1,\n // The function to run whenever the value changes\n onChange() {\n }\n};\nfunction Y(n = {}) {\n const t = {\n name: \"propStore\",\n defaults: V,\n options: n,\n store: null\n }, e = {\n setup({ parent: i }) {\n this.store = w(o.call(this, i.module));\n },\n async onCreateEntry({ entry: i }) {\n await s.call(this, i);\n },\n onDestroyEntry({ entry: i }) {\n a.call(this, i);\n }\n };\n async function s(i) {\n let c = i[this.settings.prop] || null;\n const l = { plugin: this, parent: i.parent, entry: i };\n Object.defineProperty(i, this.settings.prop, {\n configurable: !0,\n get() {\n return c;\n },\n set: async (d) => {\n if (c === d) return;\n const p = c;\n c = d, r(\n this.settings.condition,\n l,\n d,\n p\n ) && this.store.set(i.id, d), await this.settings.onChange(l, d, p);\n }\n }), Object.defineProperty(i, \"store\", {\n configurable: !0,\n get: () => this.store.get(i.id),\n set: (d) => {\n i[this.settings.prop] = d;\n }\n }), i[this.settings.prop] = await r(this.settings.value, l) || i[this.settings.prop];\n }\n function r(i, ...c) {\n return typeof i == \"function\" ? i(...c) : i;\n }\n async function a(i) {\n const c = i[this.settings.prop];\n delete i[this.settings.prop], i[this.settings.prop] = c, this.store.set(i.id, null);\n }\n function o(i) {\n const c = this.settings.prop.charAt(0).toUpperCase() + this.settings.prop.slice(1), l = this.settings.key || i + c;\n return this.settings.keyPrefix + l;\n }\n return { ...t, ...e };\n}\nconst B = {\n where: null,\n how: \"append\"\n};\nfunction tt(n = {}) {\n const t = {\n name: \"teleport\",\n defaults: B,\n options: n\n }, e = {\n onCreateEntry({ plugin: a, entry: o }) {\n s(a, o);\n },\n onDestroyEntry({ plugin: a, entry: o }) {\n r(a, o);\n }\n };\n function s(a, o) {\n o.teleport = () => {\n typeof o.teleportReturn == \"function\" && o.teleportReturn(), o.teleportReturn = x(\n o.el,\n o.getSetting(\"teleport\", { fallback: a.settings.where }),\n o.getSetting(\"teleportMethod\", { fallback: a.settings.how })\n );\n }, o.teleport(), o.parent.emit(\"teleport\", { plugin: a, parent: o.parent, entry: o });\n }\n function r(a, o) {\n typeof o.teleportReturn == \"function\" && o.teleportReturn(), o.parent.emit(\"teleportReturn\", {\n plugin: a,\n parent: o.parent,\n entry: o\n });\n }\n return { ...t, ...e };\n}\nconst j = {\n dataConfig: \"config\",\n customProps: []\n};\nclass z {\n constructor(t, e, s = {}) {\n this.parent = t, this.el = E(e), this.settings = { ...s }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n getSetting(t, e) {\n return A.call(this, t, e);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n k(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, M(this));\n }\n async init(t = {}) {\n this.applySettings(t), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((t) => {\n delete this[t];\n });\n }\n}\nclass et {\n constructor(t = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = z, this.settings = { ...j, ...t }, this.plugins = new H(this.settings.presets), this.events = {}, Object.assign(this, L);\n }\n get(t, e = \"id\") {\n return this.collection.find((s) => s[e] === t);\n }\n getOrThrow(t, e = \"id\") {\n const s = this.get(t, e);\n if (s)\n return s;\n throw new Error(\n `${this.module} entry not found in collection with ${e} of \"${t}\"`\n );\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n async createEntry(t, e) {\n const s = new this.entryClass(this, t, e);\n return await g(s, \"init\"), await h(\"onCreateEntry\", this, s), s;\n }\n async destroyEntry(t) {\n return await h(\"onDestroyEntry\", this, t), await g(t, \"destroy\"), t;\n }\n async register(t, e = {}) {\n const s = E(t), r = this.collection.findIndex((a) => a.id === s.id);\n if (~r) {\n const a = this.collection[r];\n return a.el = s, typeof a.init == \"function\" && await a.init(e), a;\n } else {\n const a = await this.createEntry(s, e);\n return this.collection.push(a), await h(\"onRegisterEntry\", this, a), a;\n }\n }\n async deregister(t) {\n const e = this.collection.findIndex((s) => s.id === t);\n if (~e) {\n const s = await this.destroyEntry(this.collection[e]);\n return await h(\n \"onDeregisterEntry\",\n this,\n this.collection[e]\n ), this.collection.splice(e, 1), s;\n }\n return null;\n }\n async mount(t = {}) {\n this.applySettings(t);\n for (const s of this.settings?.plugins || [])\n this.plugins.add(s);\n for (const s of this.plugins)\n await g(s, \"setup\", { plugin: s, parent: this });\n await h(\"beforeMount\", this);\n const e = document.querySelectorAll(this.settings.selector);\n for (const s of e)\n await this.register(s);\n return await h(\"afterMount\", this), this;\n }\n async unmount() {\n for (await h(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await h(\"afterUnmount\", this);\n for (const t of this.plugins)\n await g(t, \"teardown\", { plugin: t, parent: this });\n for (const t of [...this.plugins])\n this.plugins.remove(t.name);\n return this;\n }\n}\nfunction nt(n = {}) {\n const t = {\n prefix: R(\"prefix-themes\", { fallback: \"vb-theme-\" }),\n themes: [\"root\", \"light\", \"dark\"],\n storeKey: \"VB:Profile\"\n };\n for (const [a] of Object.entries(t))\n n && n[a] && (t[a] = n[a]);\n const e = {\n onInit() {\n },\n onChange() {\n }\n };\n for (const [a] of Object.entries(e))\n n && n[a] && (e[a] = n[a]);\n const s = w(t.storeKey), r = {\n // Store our settings in the API\n settings: t,\n // Actions\n add(a) {\n t.themes.push(a);\n },\n remove(a) {\n const o = t.themes.indexOf(a);\n ~o && t.themes.splice(o, 1);\n },\n callback(a) {\n e[a].call(this);\n },\n // Getters\n get class() {\n return `${t.prefix}${this.theme}`;\n },\n get classes() {\n return t.themes.map((a) => `${t.prefix}${a}`);\n },\n get themes() {\n return t.themes;\n },\n // Setup the theme get and set methods\n get theme() {\n return s.get(\"theme\") || \"root\";\n },\n set theme(a) {\n t.themes.includes(a) ? this.theme != a && (s.set(\"theme\", a), document.documentElement.classList.remove(...this.classes), document.documentElement.classList.add(`${t.prefix}${a}`), this.callback(\"onChange\")) : console.error(`Not a valid theme value: \"${a}\"`);\n }\n };\n return r.callback(\"onInit\"), r;\n}\nexport {\n et as Collection,\n z as CollectionEntry,\n U as FocusTrap,\n O as FocusableArray,\n H as PluginsArray,\n W as StackArray,\n R as cssVar,\n Z as debug,\n h as dispatchLifecycleHook,\n L as eventEmitter,\n _ as focusTrap,\n C as focusableSelectors,\n M as getCustomProps,\n k as getDataConfig,\n E as getElement,\n y as getPrefix,\n A as getSetting,\n w as localStore,\n g as maybeRunMethod,\n X as mediaQuery,\n Y as propStore,\n G as setGlobalState,\n tt as teleport,\n x as teleportElement,\n nt as themeStore,\n v as toCamel,\n $ as toKebab,\n S as toMilliseconds,\n J as transition\n};\n//# sourceMappingURL=index.js.map\n","function E(t, e = \"config\") {\n const s = (t.getAttribute(`data-${e}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction f(t) {\n if (typeof t == \"string\") {\n const e = document.getElementById(t);\n if (e) return e;\n throw new Error(`Element not found with ID: \"${t}\"`);\n } else if (t instanceof HTMLElement) {\n if (!t.id)\n throw new Error(\"HTMLElement must have an ID\");\n return t;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function r(t, e, ...s) {\n e in t && typeof t[e] == \"function\" && await t[e](...s);\n}\nfunction b(t) {\n return t.split(\"-\").map(\n (e, s) => s === 0 ? e : e.charAt(0).toUpperCase() + e.slice(1)\n ).join(\"\");\n}\nfunction p(t) {\n return t.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction C(t) {\n if (typeof t == \"number\")\n return t;\n const e = parseFloat(t);\n if (!Number.isNaN(e)) {\n const s = t.includes(\"ms\");\n return e * (s ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${t}`);\n}\nfunction m(t, e, s, i, n = 0) {\n return new Promise((o) => {\n t.classList.remove(e), t.classList.add(s), setTimeout(() => {\n t.classList.add(i), t.classList.remove(s), o(t);\n }, C(n));\n });\n}\nasync function a(t, e, s) {\n await r(e, t, s), s && await r(s, t);\n for (const i of e.plugins)\n await r(i, t, { plugin: i, parent: e, entry: s });\n await e.emit(t, s);\n}\nfunction O(t) {\n const e = getComputedStyle(t.el), s = {}, i = t.getSetting(\"customProps\");\n for (let n = 0; n < i.length; n++) {\n const o = L(), l = t.parent.module.toLowerCase(), h = p(i[n]), u = e.getPropertyValue(`--${o}${l}-${h}`).trim();\n u && (s[h] = u);\n }\n return s;\n}\nfunction L() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction $(t, e, s = \"camel\") {\n return e = s === \"camel\" ? b(e) : p(e), t.split(\".\").concat(e).reduce((i, n) => i?.[n], this);\n}\nfunction M(t, e = {}) {\n const {\n fallback: s,\n props: i = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = e;\n for (const n of i) {\n const o = n !== \"customProps\" ? \"camel\" : \"kebab\", l = $.call(this, n, t, o);\n if (l !== void 0)\n return l;\n }\n if (s !== void 0)\n return s;\n throw new Error(`${this.parent.module} setting does not exist: ${t}`);\n}\nfunction P(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n t ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction T(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n s.inert = t;\n });\n}\nfunction c(t, e, s) {\n T(!!t, e), P(!!t, s);\n}\nconst x = {\n events: {},\n on(t, e, ...s) {\n this.events[t] || (this.events[t] = []), this.events[t].some(\n (i) => i.listener === e\n ) || this.events[t].push({ listener: e, args: s });\n },\n off(t, e) {\n this.events[t] && (this.events[t] = this.events[t].filter(\n (s) => s.listener !== e\n ));\n },\n async emit(t, e) {\n if (t = t.startsWith(\"on\") ? t.slice(2, 3).toLowerCase() + t.slice(3) : t, !!this.events[t])\n for (const { listener: s, args: i } of this.events[t])\n await s(e, ...i);\n }\n};\nclass y extends Array {\n constructor(e = {}) {\n super(), this.presets = e;\n }\n applySettings(e) {\n const s = e?.defaults || {}, i = this.presets?.[e.name] || {}, n = e?.options || {};\n e.settings = { ...s, ...i, ...n };\n }\n validate(e) {\n return !(\"name\" in e) || typeof e.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(e) {\n return this.find((s) => s.name === e);\n }\n add(e) {\n if (Array.isArray(e))\n e.forEach((s) => this.add(s));\n else if (this.applySettings(e), this.validate(e)) {\n const s = this.findIndex((i) => i.name === e.name);\n ~s ? this[s] = e : this.push(e);\n }\n }\n remove(e) {\n const s = this.findIndex((i) => i.name === e);\n ~s && this.splice(s, 1);\n }\n}\nconst A = {\n dataConfig: \"config\",\n customProps: []\n};\nclass w {\n constructor(e, s, i = {}) {\n this.parent = e, this.el = f(s), this.settings = { ...i }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n getSetting(e, s) {\n return M.call(this, e, s);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n E(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, O(this));\n }\n async init(e = {}) {\n this.applySettings(e), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((e) => {\n delete this[e];\n });\n }\n}\nclass D {\n constructor(e = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = w, this.settings = { ...A, ...e }, this.plugins = new y(this.settings.presets), this.events = {}, Object.assign(this, x);\n }\n get(e, s = \"id\") {\n return this.collection.find((i) => i[s] === e);\n }\n getOrThrow(e, s = \"id\") {\n const i = this.get(e, s);\n if (i)\n return i;\n throw new Error(\n `${this.module} entry not found in collection with ${s} of \"${e}\"`\n );\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n async createEntry(e, s) {\n const i = new this.entryClass(this, e, s);\n return await r(i, \"init\"), await a(\"onCreateEntry\", this, i), i;\n }\n async destroyEntry(e) {\n return await a(\"onDestroyEntry\", this, e), await r(e, \"destroy\"), e;\n }\n async register(e, s = {}) {\n const i = f(e), n = this.collection.findIndex((o) => o.id === i.id);\n if (~n) {\n const o = this.collection[n];\n return o.el = i, typeof o.init == \"function\" && await o.init(s), o;\n } else {\n const o = await this.createEntry(i, s);\n return this.collection.push(o), await a(\"onRegisterEntry\", this, o), o;\n }\n }\n async deregister(e) {\n const s = this.collection.findIndex((i) => i.id === e);\n if (~s) {\n const i = await this.destroyEntry(this.collection[s]);\n return await a(\n \"onDeregisterEntry\",\n this,\n this.collection[s]\n ), this.collection.splice(s, 1), i;\n }\n return null;\n }\n async mount(e = {}) {\n this.applySettings(e);\n for (const i of this.settings?.plugins || [])\n this.plugins.add(i);\n for (const i of this.plugins)\n await r(i, \"setup\", { plugin: i, parent: this });\n await a(\"beforeMount\", this);\n const s = document.querySelectorAll(this.settings.selector);\n for (const i of s)\n await this.register(i);\n return await a(\"afterMount\", this), this;\n }\n async unmount() {\n for (await a(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await a(\"afterUnmount\", this);\n for (const e of this.plugins)\n await r(e, \"teardown\", { plugin: e, parent: this });\n for (const e of [...this.plugins])\n this.plugins.remove(e.name);\n return this;\n }\n}\nconst I = {\n focusTrap: {\n condition: ({ entry: t }) => t.state === \"closed\" || t.state === \"opened\" && t.mode === \"modal\"\n },\n mediaQuery: {\n onChange(t, e) {\n e.mode = t.matches ? \"inline\" : \"modal\";\n }\n },\n propStore: {\n prop: \"inlineState\",\n value: ({ entry: t }) => t.store,\n condition: ({ entry: t }) => [\"opened\", \"closed\", \"indeterminate\"].includes(t.state),\n onChange: ({ entry: t }) => t.applyState()\n }\n}, k = {\n presets: I,\n dataOpen: \"drawer-open\",\n dataClose: \"drawer-close\",\n dataToggle: \"drawer-toggle\",\n selector: \".drawer\",\n selectorDialog: \".drawer__dialog\",\n selectorScreen: \".drawer\",\n selectorFocus: \"[data-focus]\",\n selectorInert: null,\n selectorOverflow: \"body\",\n stateOpened: \"is-opened\",\n stateOpening: \"is-opening\",\n stateClosing: \"is-closing\",\n stateClosed: \"is-closed\",\n classModal: \"drawer_modal\",\n customProps: [\"transition-duration\"],\n breakpoints: null,\n customEventPrefix: \"drawer:\",\n setTabindex: !0,\n transition: !0,\n transitionDuration: 300\n};\nfunction j(t) {\n switch (t.mode) {\n case \"inline\":\n return q(t);\n case \"modal\":\n return H(t);\n default:\n throw new Error(`\"${t.mode}\" is not a valid drawer mode.`);\n }\n}\nasync function q(t) {\n return t.el.classList.remove(t.getSetting(\"classModal\")), t.dialog.removeAttribute(\"aria-modal\"), c(\n !1,\n t.getSetting(\"selectorInert\"),\n t.getSetting(\"selectorOverflow\")\n ), t.applyState(), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"switchMode\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"switchMode\", t), t;\n}\nasync function H(t) {\n return t.el.classList.add(t.getSetting(\"classModal\")), t.dialog.setAttribute(\"aria-modal\", \"true\"), await t.close(!1, !1), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"switchMode\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"switchMode\", t), t;\n}\nfunction S(t) {\n t.dialog && t.state === \"opened\" ? (t.dialog.querySelector(t.parent.settings.selectorFocus) || t.dialog).focus() : t.trigger && (t.trigger.focus(), t.trigger = null);\n}\nasync function d(t, e, s = !0) {\n return (t.state === \"closed\" || t.state === \"indeterminate\" || t.state === null) && (t.setState(\"opening\"), e ?? t.getSetting(\"transition\") ? await m(\n t.el,\n t.getSetting(\"stateClosed\"),\n t.getSetting(\"stateOpening\"),\n t.getSetting(\"stateOpened\"),\n t.getSetting(\"transitionDuration\")\n ) : (t.el.classList.add(t.getSetting(\"stateOpened\")), t.el.classList.remove(t.getSetting(\"stateClosed\"))), t.setState(\"opened\"), t.mode === \"modal\" && c(\n !0,\n t.getSetting(\"selectorInert\"),\n t.getSetting(\"selectorOverflow\")\n ), s && S(t), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"opened\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"opened\", t)), t;\n}\nasync function g(t, e, s = !0) {\n return (t.state === \"opened\" || t.state === \"indeterminate\" || t.state === null) && (t.setState(\"closing\"), document.activeElement && document.activeElement instanceof HTMLElement && document.activeElement.blur(), e ?? t.getSetting(\"transition\") ? await m(\n t.el,\n t.getSetting(\"stateOpened\"),\n t.getSetting(\"stateClosing\"),\n t.getSetting(\"stateClosed\"),\n t.getSetting(\"transitionDuration\")\n ) : (t.el.classList.add(t.getSetting(\"stateClosed\")), t.el.classList.remove(t.getSetting(\"stateOpened\"))), t.setState(\"closed\"), t.mode === \"modal\" && c(\n !1,\n t.getSetting(\"selectorInert\"),\n t.getSetting(\"selectorOverflow\")\n ), s && S(t), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"closed\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"closed\", t)), t;\n}\nasync function v(t, e, s) {\n return t.state === \"closed\" ? d(t, e, s) : g(t, e, s);\n}\nclass N extends w {\n #t;\n constructor(e, s, i = {}) {\n super(e, s, i), this.#t = \"indeterminate\", this.dialog = this.el.querySelector(this.getSetting(\"selectorDialog\")) || this.el, this.trigger = null, this.state = null, this.inlineState = null;\n }\n get mode() {\n return this.#t;\n }\n set mode(e) {\n this.#t !== e && (this.#t = e, j(this));\n }\n setState(e) {\n this.state = e;\n const s = [\"opening\", \"closing\"];\n this.mode === \"inline\" && !s.includes(e) && (this.inlineState = e), e === \"indeterminate\" && (this.el.classList.remove(this.getSetting(\"stateOpened\")), this.el.classList.remove(this.getSetting(\"stateOpening\")), this.el.classList.remove(this.getSetting(\"stateClosed\")), this.el.classList.remove(this.getSetting(\"stateClosing\")));\n }\n async applyState() {\n if (this.mode === \"modal\") return this;\n if (this.inlineState === \"opened\")\n return await this.open(!1, !1);\n if (this.inlineState === \"closed\")\n return await this.close(!1, !1);\n if (this.state === null) {\n if (this.el.classList.contains(this.getSetting(\"stateOpened\")))\n return await this.open(!1, !1);\n if (this.el.classList.contains(this.getSetting(\"stateClosed\")))\n return await this.close(!1, !1);\n }\n return this.setState(\"indeterminate\"), this;\n }\n async open(e, s) {\n return d(this, e, s);\n }\n async close(e, s) {\n return g(this, e, s);\n }\n async toggle(e, s) {\n return v(this, e, s);\n }\n async deregister() {\n return this.parent.deregister(this.id);\n }\n async onCreateEntry() {\n this.getSetting(\"setTabindex\") && this.dialog && this.dialog.setAttribute(\"tabindex\", \"-1\"), await this.applyState(), this.inlineState = this.state, this.mode = this.el && this.el.classList.contains(this.getSetting(\"classModal\")) ? \"modal\" : \"inline\";\n }\n async onDestroyEntry() {\n this.mode === \"modal\" && this.state === \"opened\" && await this.close(!1);\n }\n}\nasync function F(t) {\n const e = t.target;\n if (e) {\n const s = e.closest(`\n [data-${this.settings.dataOpen}],\n [data-${this.settings.dataToggle}],\n [data-${this.settings.dataClose}]\n `);\n if (s) {\n t.preventDefault(), s.matches(`[data-${this.settings.dataToggle}]`) && s.getAttribute(`data-${this.settings.dataToggle}`)?.trim().split(\" \")?.forEach((n) => {\n const o = this.getOrThrow(n);\n return o.trigger = s, o.toggle();\n }), s.matches(`[data-${this.settings.dataOpen}]`) && s.getAttribute(`data-${this.settings.dataOpen}`)?.trim().split(\" \")?.forEach((n) => {\n const o = this.getOrThrow(n);\n return o.trigger = s, o.open();\n }), s.matches(`[data-${this.settings.dataClose}]`) && s.getAttribute(`data-${this.settings.dataClose}`)?.trim().split(\" \")?.forEach((n) => {\n if (n) {\n const o = this.getOrThrow(n);\n return o.trigger = s, o.close();\n } else {\n const o = e.closest(this.settings.selector);\n if (o) return this.close(o.id);\n }\n });\n return;\n }\n if (this.activeModal && e.matches(this.settings.selectorScreen))\n return this.close(this.activeModal.id);\n }\n}\nfunction U(t) {\n if (t.key === \"Escape\" && this.activeModal)\n return this.close(this.activeModal.id);\n}\nclass _ extends D {\n #t;\n #e;\n constructor(e) {\n super({ ...k, ...e }), this.module = \"Drawer\", this.entryClass = N, this.#t = F.bind(this), this.#e = U.bind(this);\n }\n get activeModal() {\n return this.collection.find((e) => e.state === \"opened\" && e.mode === \"modal\");\n }\n async open(e, s, i) {\n const n = this.getOrThrow(e);\n return d(n, s, i);\n }\n async close(e, s, i) {\n const n = this.getOrThrow(e);\n return g(n, s, i);\n }\n async toggle(e, s, i) {\n const n = this.getOrThrow(e);\n return v(n, s, i);\n }\n async afterMount() {\n document.addEventListener(\"click\", this.#t, !1), document.addEventListener(\"keydown\", this.#e, !1);\n }\n async afterUnmount() {\n document.removeEventListener(\"click\", this.#t, !1), document.removeEventListener(\"keydown\", this.#e, !1);\n }\n}\nexport {\n _ as default\n};\n//# sourceMappingURL=index.js.map\n","function y(e, t = \"config\") {\n const s = (e.getAttribute(`data-${t}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction f(e) {\n if (typeof e == \"string\") {\n const t = document.getElementById(e);\n if (t) return t;\n throw new Error(`Element not found with ID: \"${e}\"`);\n } else if (e instanceof HTMLElement) {\n if (!e.id)\n throw new Error(\"HTMLElement must have an ID\");\n return e;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function r(e, t, ...s) {\n t in e && typeof e[t] == \"function\" && await e[t](...s);\n}\nfunction C(e) {\n return e.split(\"-\").map(\n (t, s) => s === 0 ? t : t.charAt(0).toUpperCase() + t.slice(1)\n ).join(\"\");\n}\nfunction p(e) {\n return e.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction S(e) {\n if (typeof e == \"number\")\n return e;\n const t = parseFloat(e);\n if (!Number.isNaN(t)) {\n const s = e.includes(\"ms\");\n return t * (s ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${e}`);\n}\nfunction m(e, t, s, i, n = 0) {\n return new Promise((o) => {\n e.classList.remove(t), e.classList.add(s), setTimeout(() => {\n e.classList.add(i), e.classList.remove(s), o(e);\n }, S(n));\n });\n}\nasync function a(e, t, s) {\n await r(t, e, s), s && await r(s, e);\n for (const i of t.plugins)\n await r(i, e, { plugin: i, parent: t, entry: s });\n await t.emit(e, s);\n}\nfunction E(e) {\n const t = getComputedStyle(e.el), s = {}, i = e.getSetting(\"customProps\");\n for (let n = 0; n < i.length; n++) {\n const o = b(), l = e.parent.module.toLowerCase(), u = p(i[n]), g = t.getPropertyValue(`--${o}${l}-${u}`).trim();\n g && (s[u] = g);\n }\n return s;\n}\nfunction b() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction O(e, t, s = \"camel\") {\n return t = s === \"camel\" ? C(t) : p(t), e.split(\".\").concat(t).reduce((i, n) => i?.[n], this);\n}\nfunction x(e, t = {}) {\n const {\n fallback: s,\n props: i = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = t;\n for (const n of i) {\n const o = n !== \"customProps\" ? \"camel\" : \"kebab\", l = O.call(this, n, e, o);\n if (l !== void 0)\n return l;\n }\n if (s !== void 0)\n return s;\n throw new Error(`${this.parent.module} setting does not exist: ${e}`);\n}\nfunction L(e, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n e ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction A(e, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n s.inert = e;\n });\n}\nfunction $(e, t, s) {\n A(!!e, t), L(!!e, s);\n}\nconst P = {\n events: {},\n on(e, t, ...s) {\n this.events[e] || (this.events[e] = []), this.events[e].some(\n (i) => i.listener === t\n ) || this.events[e].push({ listener: t, args: s });\n },\n off(e, t) {\n this.events[e] && (this.events[e] = this.events[e].filter(\n (s) => s.listener !== t\n ));\n },\n async emit(e, t) {\n if (e = e.startsWith(\"on\") ? e.slice(2, 3).toLowerCase() + e.slice(3) : e, !!this.events[e])\n for (const { listener: s, args: i } of this.events[e])\n await s(t, ...i);\n }\n};\nclass I extends Array {\n constructor(t = {}) {\n super(), this.presets = t;\n }\n applySettings(t) {\n const s = t?.defaults || {}, i = this.presets?.[t.name] || {}, n = t?.options || {};\n t.settings = { ...s, ...i, ...n };\n }\n validate(t) {\n return !(\"name\" in t) || typeof t.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(t) {\n return this.find((s) => s.name === t);\n }\n add(t) {\n if (Array.isArray(t))\n t.forEach((s) => this.add(s));\n else if (this.applySettings(t), this.validate(t)) {\n const s = this.findIndex((i) => i.name === t.name);\n ~s ? this[s] = t : this.push(t);\n }\n }\n remove(t) {\n const s = this.findIndex((i) => i.name === t);\n ~s && this.splice(s, 1);\n }\n}\nclass T extends Array {\n constructor(t = {}) {\n super(), this.settings = t;\n }\n get copy() {\n return [...this];\n }\n get top() {\n return this[this.length - 1] || null;\n }\n updateIndex() {\n this.forEach((t, s) => {\n t.el.style.zIndex = \"\";\n const i = getComputedStyle(t.el)[\"z-index\"];\n t.el.style.zIndex = String(parseInt(i, 10) + s + 1);\n });\n }\n onChange() {\n this.updateIndex(), typeof this.settings.onChange == \"function\" && this.settings.onChange();\n }\n add(t) {\n this.push(t), this.onChange();\n }\n remove(t) {\n const s = this.findIndex((i) => i.id === t.id);\n ~s && (t.el.style.zIndex = \"\", this.splice(s, 1), this.onChange());\n }\n moveToTop(t) {\n const s = this.findIndex((i) => i.id === t.id);\n ~s && (this.splice(s, 1), this.add(t));\n }\n}\nconst k = {\n dataConfig: \"config\",\n customProps: []\n};\nclass w {\n constructor(t, s, i = {}) {\n this.parent = t, this.el = f(s), this.settings = { ...i }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n getSetting(t, s) {\n return x.call(this, t, s);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n y(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, E(this));\n }\n async init(t = {}) {\n this.applySettings(t), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((t) => {\n delete this[t];\n });\n }\n}\nclass M {\n constructor(t = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = w, this.settings = { ...k, ...t }, this.plugins = new I(this.settings.presets), this.events = {}, Object.assign(this, P);\n }\n get(t, s = \"id\") {\n return this.collection.find((i) => i[s] === t);\n }\n getOrThrow(t, s = \"id\") {\n const i = this.get(t, s);\n if (i)\n return i;\n throw new Error(\n `${this.module} entry not found in collection with ${s} of \"${t}\"`\n );\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n async createEntry(t, s) {\n const i = new this.entryClass(this, t, s);\n return await r(i, \"init\"), await a(\"onCreateEntry\", this, i), i;\n }\n async destroyEntry(t) {\n return await a(\"onDestroyEntry\", this, t), await r(t, \"destroy\"), t;\n }\n async register(t, s = {}) {\n const i = f(t), n = this.collection.findIndex((o) => o.id === i.id);\n if (~n) {\n const o = this.collection[n];\n return o.el = i, typeof o.init == \"function\" && await o.init(s), o;\n } else {\n const o = await this.createEntry(i, s);\n return this.collection.push(o), await a(\"onRegisterEntry\", this, o), o;\n }\n }\n async deregister(t) {\n const s = this.collection.findIndex((i) => i.id === t);\n if (~s) {\n const i = await this.destroyEntry(this.collection[s]);\n return await a(\n \"onDeregisterEntry\",\n this,\n this.collection[s]\n ), this.collection.splice(s, 1), i;\n }\n return null;\n }\n async mount(t = {}) {\n this.applySettings(t);\n for (const i of this.settings?.plugins || [])\n this.plugins.add(i);\n for (const i of this.plugins)\n await r(i, \"setup\", { plugin: i, parent: this });\n await a(\"beforeMount\", this);\n const s = document.querySelectorAll(this.settings.selector);\n for (const i of s)\n await this.register(i);\n return await a(\"afterMount\", this), this;\n }\n async unmount() {\n for (await a(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await a(\"afterUnmount\", this);\n for (const t of this.plugins)\n await r(t, \"teardown\", { plugin: t, parent: this });\n for (const t of [...this.plugins])\n this.plugins.remove(t.name);\n return this;\n }\n}\nconst D = {\n // Data attributes\n dataOpen: \"modal-open\",\n dataClose: \"modal-close\",\n dataReplace: \"modal-replace\",\n // Selectors\n selector: \".modal\",\n selectorDialog: \".modal__dialog\",\n selectorScreen: \".modal\",\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 customProps: [\"transition-duration\"],\n customEventPrefix: \"modal:\",\n setTabindex: !0,\n transition: !0,\n transitionDuration: 300\n};\nfunction c(e) {\n e.active ? (e.active.dialog.querySelector(e.settings.selectorFocus) || e.active.dialog).focus() : e.trigger && (e.trigger.focus(), e.trigger = null);\n}\nasync function h(e, t, s = !0) {\n return e.parent.stack.moveToTop(e), e.state === \"closed\" && (e.state = \"opening\", e.parent.stack.add(e), t ?? e.getSetting(\"transition\") ? await m(\n e.el,\n e.getSetting(\"stateClosed\"),\n e.getSetting(\"stateOpening\"),\n e.getSetting(\"stateOpened\"),\n e.getSetting(\"transitionDuration\")\n ) : (e.el.classList.add(e.getSetting(\"stateOpened\")), e.el.classList.remove(e.getSetting(\"stateClosed\"))), e.state = \"opened\"), s && c(e.parent), e.el.dispatchEvent(\n new CustomEvent(e.getSetting(\"customEventPrefix\") + \"opened\", {\n detail: e.parent,\n bubbles: !0\n })\n ), await e.parent.emit(\"opened\", e), e;\n}\nasync function d(e, t, s = !0) {\n return e && e.state === \"opened\" && (e.state = \"closing\", document.activeElement && document.activeElement instanceof HTMLElement && document.activeElement.blur(), t ?? e.getSetting(\"transition\") ? await m(\n e.el,\n e.getSetting(\"stateOpened\"),\n e.getSetting(\"stateClosing\"),\n e.getSetting(\"stateClosed\"),\n e.getSetting(\"transitionDuration\")\n ) : (e.el.classList.add(e.getSetting(\"stateClosed\")), e.el.classList.remove(e.getSetting(\"stateOpened\"))), e.parent.stack.remove(e), e.state = \"closed\", s && c(e.parent), e.el.dispatchEvent(\n new CustomEvent(e.getSetting(\"customEventPrefix\") + \"closed\", {\n detail: e.parent,\n bubbles: !0\n })\n ), await e.parent.emit(\"closed\", e)), e;\n}\nasync function v(e, t, s = !0) {\n let i, n;\n return e.state === \"opened\" ? (i = e, n = await e.parent.closeAll(e.id, t)) : [n, i] = await Promise.all([\n e.parent.closeAll(\"\", t),\n h(e, t, !1)\n ]), s && c(e.parent), { opened: i, closed: n };\n}\nclass q extends w {\n constructor(t, s, i = {}) {\n super(t, s, i), this.state = \"closed\", this.dialog = this.el.querySelector(this.getSetting(\"selectorDialog\")) || this.el;\n }\n get isRequired() {\n return this.dialog.matches(this.getSetting(\"selectorRequired\"));\n }\n async open(t, s) {\n return h(this, t, s);\n }\n async close(t, s) {\n return d(this, t, s);\n }\n async replace(t, s) {\n return v(this, t, s);\n }\n async deregister() {\n return this.parent.deregister(this.id);\n }\n async onCreateEntry() {\n this.dialog.setAttribute(\"aria-modal\", \"true\"), this.dialog.hasAttribute(\"role\") || this.dialog.setAttribute(\"role\", \"dialog\"), this.getSetting(\"setTabindex\") && this.dialog.setAttribute(\"tabindex\", \"-1\");\n }\n async onRegisterEntry() {\n this.el.classList.contains(this.getSetting(\"stateOpened\")) ? await this.open(!1) : (this.el.classList.remove(this.getSetting(\"stateOpening\")), this.el.classList.remove(this.getSetting(\"stateClosing\")), this.el.classList.add(this.getSetting(\"stateClosed\")));\n }\n async onDestroyEntry() {\n this.state === \"opened\" && await this.close(!1);\n }\n}\nasync function R(e) {\n const t = e.target;\n if (t) {\n const s = t.closest(`\n [data-${this.settings.dataOpen}],\n [data-${this.settings.dataReplace}],\n [data-${this.settings.dataClose}]\n `);\n if (s) {\n if (e.preventDefault(), s.matches(`[data-${this.settings.dataOpen}]`)) {\n const i = s.getAttribute(`data-${this.settings.dataOpen}`)?.trim(), n = this.getOrThrow(i);\n return t.closest(this.settings.selector) || (this.trigger = s), n.open();\n }\n if (s.matches(`[data-${this.settings.dataReplace}]`)) {\n const i = s.getAttribute(`data-${this.settings.dataReplace}`)?.trim(), n = this.getOrThrow(i);\n return t.closest(this.settings.selector) || (this.trigger = s), n.replace();\n }\n if (s.matches(`[data-${this.settings.dataClose}]`)) {\n const i = s.getAttribute(`data-${this.settings.dataClose}`)?.trim();\n return i === \"*\" ? this.closeAll() : this.close(i || \"\");\n }\n }\n if (this.active && t.matches(this.settings.selectorScreen) && !this.active.isRequired)\n return this.close();\n }\n}\nfunction j(e) {\n if (e.key === \"Escape\" && this.active && !this.active.dialog.matches(this.settings.selectorRequired))\n return this.close();\n}\nasync function z(e = \"\", t) {\n const s = [];\n return await Promise.all(\n this.stack.copy.map(async (i) => {\n e && e === i.id || s.push(await d(i, t, !1));\n })\n ), s;\n}\nclass H extends M {\n #t;\n #e;\n constructor(t) {\n super({ ...D, ...t }), this.module = \"Modal\", this.entryClass = q, this.trigger = null, this.#t = R.bind(this), this.#e = j.bind(this), this.stack = new T({\n onChange: () => {\n $(\n !!this.stack.top,\n this.settings.selectorInert,\n this.settings.selectorOverflow\n );\n }\n });\n }\n get active() {\n return this.stack.top;\n }\n async open(t, s, i) {\n const n = this.getOrThrow(t);\n return h(n, s, i);\n }\n async close(t, s, i) {\n const n = t ? this.getOrThrow(t) : this.active;\n return d(n, s, i);\n }\n async replace(t, s, i) {\n const n = this.getOrThrow(t);\n return v(n, s, i);\n }\n async closeAll(t, s, i = !0) {\n const n = await z.call(this, t, s);\n return i && c(this), n;\n }\n async afterMount() {\n document.addEventListener(\"click\", this.#t, !1), document.addEventListener(\"keydown\", this.#e, !1);\n }\n async beforeUnmount() {\n this.trigger = null;\n }\n async afterUnmount() {\n document.removeEventListener(\"click\", this.#t, !1), document.removeEventListener(\"keydown\", this.#e, !1);\n }\n}\nexport {\n H as default\n};\n//# sourceMappingURL=index.js.map\n","function Jt(t, e = \"config\") {\n const n = (t.getAttribute(`data-${e}`) || \"\").replace(/'/g, '\"');\n return n ? JSON.parse(n) : {};\n}\nfunction Rt(t) {\n if (typeof t == \"string\") {\n const e = document.getElementById(t);\n if (e) return e;\n throw new Error(`Element not found with ID: \"${t}\"`);\n } else if (t instanceof HTMLElement) {\n if (!t.id)\n throw new Error(\"HTMLElement must have an ID\");\n return t;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function z(t, e, ...n) {\n e in t && typeof t[e] == \"function\" && await t[e](...n);\n}\nfunction Zt(t) {\n return t.split(\"-\").map(\n (e, n) => n === 0 ? e : e.charAt(0).toUpperCase() + e.slice(1)\n ).join(\"\");\n}\nfunction kt(t) {\n return t.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nasync function H(t, e, n) {\n await z(e, t, n), n && await z(n, t);\n for (const i of e.plugins)\n await z(i, t, { plugin: i, parent: e, entry: n });\n await e.emit(t, n);\n}\nfunction Gt(t) {\n const e = getComputedStyle(t.el), n = {}, i = t.getSetting(\"customProps\");\n for (let s = 0; s < i.length; s++) {\n const o = Qt(), r = t.parent.module.toLowerCase(), c = kt(i[s]), l = e.getPropertyValue(`--${o}${r}-${c}`).trim();\n l && (n[c] = l);\n }\n return n;\n}\nfunction Qt() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction te(t, e, n = \"camel\") {\n return e = n === \"camel\" ? Zt(e) : kt(e), t.split(\".\").concat(e).reduce((i, s) => i?.[s], this);\n}\nfunction ee(t, e = {}) {\n const {\n fallback: n,\n props: i = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = e;\n for (const s of i) {\n const o = s !== \"customProps\" ? \"camel\" : \"kebab\", r = te.call(this, s, t, o);\n if (r !== void 0)\n return r;\n }\n if (n !== void 0)\n return n;\n throw new Error(`${this.parent.module} setting does not exist: ${t}`);\n}\nconst ne = {\n events: {},\n on(t, e, ...n) {\n this.events[t] || (this.events[t] = []), this.events[t].some(\n (i) => i.listener === e\n ) || this.events[t].push({ listener: e, args: n });\n },\n off(t, e) {\n this.events[t] && (this.events[t] = this.events[t].filter(\n (n) => n.listener !== e\n ));\n },\n async emit(t, e) {\n if (t = t.startsWith(\"on\") ? t.slice(2, 3).toLowerCase() + t.slice(3) : t, !!this.events[t])\n for (const { listener: n, args: i } of this.events[t])\n await n(e, ...i);\n }\n};\nclass ie extends Array {\n constructor(e = {}) {\n super(), this.presets = e;\n }\n applySettings(e) {\n const n = e?.defaults || {}, i = this.presets?.[e.name] || {}, s = e?.options || {};\n e.settings = { ...n, ...i, ...s };\n }\n validate(e) {\n return !(\"name\" in e) || typeof e.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(e) {\n return this.find((n) => n.name === e);\n }\n add(e) {\n if (Array.isArray(e))\n e.forEach((n) => this.add(n));\n else if (this.applySettings(e), this.validate(e)) {\n const n = this.findIndex((i) => i.name === e.name);\n ~n ? this[n] = e : this.push(e);\n }\n }\n remove(e) {\n const n = this.findIndex((i) => i.name === e);\n ~n && this.splice(n, 1);\n }\n}\nconst se = {\n dataConfig: \"config\",\n customProps: []\n};\nclass Dt {\n constructor(e, n, i = {}) {\n this.parent = e, this.el = Rt(n), this.settings = { ...i }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n getSetting(e, n) {\n return ee.call(this, e, n);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n Jt(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, Gt(this));\n }\n async init(e = {}) {\n this.applySettings(e), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((e) => {\n delete this[e];\n });\n }\n}\nclass oe {\n constructor(e = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = Dt, this.settings = { ...se, ...e }, this.plugins = new ie(this.settings.presets), this.events = {}, Object.assign(this, ne);\n }\n get(e, n = \"id\") {\n return this.collection.find((i) => i[n] === e);\n }\n getOrThrow(e, n = \"id\") {\n const i = this.get(e, n);\n if (i)\n return i;\n throw new Error(\n `${this.module} entry not found in collection with ${n} of \"${e}\"`\n );\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n async createEntry(e, n) {\n const i = new this.entryClass(this, e, n);\n return await z(i, \"init\"), await H(\"onCreateEntry\", this, i), i;\n }\n async destroyEntry(e) {\n return await H(\"onDestroyEntry\", this, e), await z(e, \"destroy\"), e;\n }\n async register(e, n = {}) {\n const i = Rt(e), s = this.collection.findIndex((o) => o.id === i.id);\n if (~s) {\n const o = this.collection[s];\n return o.el = i, typeof o.init == \"function\" && await o.init(n), o;\n } else {\n const o = await this.createEntry(i, n);\n return this.collection.push(o), await H(\"onRegisterEntry\", this, o), o;\n }\n }\n async deregister(e) {\n const n = this.collection.findIndex((i) => i.id === e);\n if (~n) {\n const i = await this.destroyEntry(this.collection[n]);\n return await H(\n \"onDeregisterEntry\",\n this,\n this.collection[n]\n ), this.collection.splice(n, 1), i;\n }\n return null;\n }\n async mount(e = {}) {\n this.applySettings(e);\n for (const i of this.settings?.plugins || [])\n this.plugins.add(i);\n for (const i of this.plugins)\n await z(i, \"setup\", { plugin: i, parent: this });\n await H(\"beforeMount\", this);\n const n = document.querySelectorAll(this.settings.selector);\n for (const i of n)\n await this.register(i);\n return await H(\"afterMount\", this), this;\n }\n async unmount() {\n for (await H(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await H(\"afterUnmount\", this);\n for (const e of this.plugins)\n await z(e, \"teardown\", { plugin: e, parent: this });\n for (const e of [...this.plugins])\n this.plugins.remove(e.name);\n return this;\n }\n}\nconst re = {\n // Selectors\n selector: \".popover\",\n selectorTooltip: \".popover_tooltip\",\n selectorArrow: \".popover__arrow\",\n // State classes\n stateActive: \"is-active\",\n // Custom properties and their defaults\n customProps: [\n \"placement\",\n \"event\",\n \"offset\",\n \"flip-padding\",\n \"shift-padding\",\n \"arrow-padding\",\n \"toggle-delay\"\n ],\n customEventPrefix: \"popover:\",\n placement: \"bottom\",\n event: \"click\",\n offset: 0,\n flipPadding: 0,\n shiftPadding: 0,\n arrowPadding: 0,\n toggleDelay: 0\n}, Y = Math.min, j = Math.max, st = Math.round, it = Math.floor, R = (t) => ({\n x: t,\n y: t\n}), ce = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n}, le = {\n start: \"end\",\n end: \"start\"\n};\nfunction gt(t, e, n) {\n return j(t, Y(e, n));\n}\nfunction q(t, e) {\n return typeof t == \"function\" ? t(e) : t;\n}\nfunction I(t) {\n return t.split(\"-\")[0];\n}\nfunction et(t) {\n return t.split(\"-\")[1];\n}\nfunction pt(t) {\n return t === \"x\" ? \"y\" : \"x\";\n}\nfunction wt(t) {\n return t === \"y\" ? \"height\" : \"width\";\n}\nconst ae = /* @__PURE__ */ new Set([\"top\", \"bottom\"]);\nfunction F(t) {\n return ae.has(I(t)) ? \"y\" : \"x\";\n}\nfunction yt(t) {\n return pt(F(t));\n}\nfunction fe(t, e, n) {\n n === void 0 && (n = !1);\n const i = et(t), s = yt(t), o = wt(s);\n let r = s === \"x\" ? i === (n ? \"end\" : \"start\") ? \"right\" : \"left\" : i === \"start\" ? \"bottom\" : \"top\";\n return e.reference[o] > e.floating[o] && (r = ot(r)), [r, ot(r)];\n}\nfunction ue(t) {\n const e = ot(t);\n return [ht(t), e, ht(e)];\n}\nfunction ht(t) {\n return t.replace(/start|end/g, (e) => le[e]);\n}\nconst At = [\"left\", \"right\"], Et = [\"right\", \"left\"], de = [\"top\", \"bottom\"], ge = [\"bottom\", \"top\"];\nfunction he(t, e, n) {\n switch (t) {\n case \"top\":\n case \"bottom\":\n return n ? e ? Et : At : e ? At : Et;\n case \"left\":\n case \"right\":\n return e ? de : ge;\n default:\n return [];\n }\n}\nfunction me(t, e, n, i) {\n const s = et(t);\n let o = he(I(t), n === \"start\", i);\n return s && (o = o.map((r) => r + \"-\" + s), e && (o = o.concat(o.map(ht)))), o;\n}\nfunction ot(t) {\n return t.replace(/left|right|bottom|top/g, (e) => ce[e]);\n}\nfunction pe(t) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...t\n };\n}\nfunction Mt(t) {\n return typeof t != \"number\" ? pe(t) : {\n top: t,\n right: t,\n bottom: t,\n left: t\n };\n}\nfunction rt(t) {\n const {\n x: e,\n y: n,\n width: i,\n height: s\n } = t;\n return {\n width: i,\n height: s,\n top: n,\n left: e,\n right: e + i,\n bottom: n + s,\n x: e,\n y: n\n };\n}\nfunction Ct(t, e, n) {\n let {\n reference: i,\n floating: s\n } = t;\n const o = F(e), r = yt(e), c = wt(r), l = I(e), a = o === \"y\", d = i.x + i.width / 2 - s.width / 2, u = i.y + i.height / 2 - s.height / 2, g = i[c] / 2 - s[c] / 2;\n let f;\n switch (l) {\n case \"top\":\n f = {\n x: d,\n y: i.y - s.height\n };\n break;\n case \"bottom\":\n f = {\n x: d,\n y: i.y + i.height\n };\n break;\n case \"right\":\n f = {\n x: i.x + i.width,\n y: u\n };\n break;\n case \"left\":\n f = {\n x: i.x - s.width,\n y: u\n };\n break;\n default:\n f = {\n x: i.x,\n y: i.y\n };\n }\n switch (et(e)) {\n case \"start\":\n f[r] -= g * (n && a ? -1 : 1);\n break;\n case \"end\":\n f[r] += g * (n && a ? -1 : 1);\n break;\n }\n return f;\n}\nconst we = async (t, e, n) => {\n const {\n placement: i = \"bottom\",\n strategy: s = \"absolute\",\n middleware: o = [],\n platform: r\n } = n, c = o.filter(Boolean), l = await (r.isRTL == null ? void 0 : r.isRTL(e));\n let a = await r.getElementRects({\n reference: t,\n floating: e,\n strategy: s\n }), {\n x: d,\n y: u\n } = Ct(a, i, l), g = i, f = {}, h = 0;\n for (let m = 0; m < c.length; m++) {\n const {\n name: p,\n fn: w\n } = c[m], {\n x: y,\n y: x,\n data: v,\n reset: b\n } = await w({\n x: d,\n y: u,\n initialPlacement: i,\n placement: g,\n strategy: s,\n middlewareData: f,\n rects: a,\n platform: r,\n elements: {\n reference: t,\n floating: e\n }\n });\n d = y ?? d, u = x ?? u, f = {\n ...f,\n [p]: {\n ...f[p],\n ...v\n }\n }, b && h <= 50 && (h++, typeof b == \"object\" && (b.placement && (g = b.placement), b.rects && (a = b.rects === !0 ? await r.getElementRects({\n reference: t,\n floating: e,\n strategy: s\n }) : b.rects), {\n x: d,\n y: u\n } = Ct(a, g, l)), m = -1);\n }\n return {\n x: d,\n y: u,\n placement: g,\n strategy: s,\n middlewareData: f\n };\n};\nasync function $t(t, e) {\n var n;\n e === void 0 && (e = {});\n const {\n x: i,\n y: s,\n platform: o,\n rects: r,\n elements: c,\n strategy: l\n } = t, {\n boundary: a = \"clippingAncestors\",\n rootBoundary: d = \"viewport\",\n elementContext: u = \"floating\",\n altBoundary: g = !1,\n padding: f = 0\n } = q(e, t), h = Mt(f), p = c[g ? u === \"floating\" ? \"reference\" : \"floating\" : u], w = rt(await o.getClippingRect({\n element: (n = await (o.isElement == null ? void 0 : o.isElement(p))) == null || n ? p : p.contextElement || await (o.getDocumentElement == null ? void 0 : o.getDocumentElement(c.floating)),\n boundary: a,\n rootBoundary: d,\n strategy: l\n })), y = u === \"floating\" ? {\n x: i,\n y: s,\n width: r.floating.width,\n height: r.floating.height\n } : r.reference, x = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(c.floating)), v = await (o.isElement == null ? void 0 : o.isElement(x)) ? await (o.getScale == null ? void 0 : o.getScale(x)) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n }, b = rt(o.convertOffsetParentRelativeRectToViewportRelativeRect ? await o.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements: c,\n rect: y,\n offsetParent: x,\n strategy: l\n }) : y);\n return {\n top: (w.top - b.top + h.top) / v.y,\n bottom: (b.bottom - w.bottom + h.bottom) / v.y,\n left: (w.left - b.left + h.left) / v.x,\n right: (b.right - w.right + h.right) / v.x\n };\n}\nconst ye = (t) => ({\n name: \"arrow\",\n options: t,\n async fn(e) {\n const {\n x: n,\n y: i,\n placement: s,\n rects: o,\n platform: r,\n elements: c,\n middlewareData: l\n } = e, {\n element: a,\n padding: d = 0\n } = q(t, e) || {};\n if (a == null)\n return {};\n const u = Mt(d), g = {\n x: n,\n y: i\n }, f = yt(s), h = wt(f), m = await r.getDimensions(a), p = f === \"y\", w = p ? \"top\" : \"left\", y = p ? \"bottom\" : \"right\", x = p ? \"clientHeight\" : \"clientWidth\", v = o.reference[h] + o.reference[f] - g[f] - o.floating[h], b = g[f] - o.reference[f], C = await (r.getOffsetParent == null ? void 0 : r.getOffsetParent(a));\n let S = C ? C[x] : 0;\n (!S || !await (r.isElement == null ? void 0 : r.isElement(C))) && (S = c.floating[x] || o.floating[h]);\n const Z = v / 2 - b / 2, W = S / 2 - m[h] / 2 - 1, M = Y(u[w], W), G = Y(u[y], W), B = M, Q = S - m[h] - G, A = S / 2 - m[h] / 2 + Z, _ = gt(B, A, Q), $ = !l.arrow && et(s) != null && A !== _ && o.reference[h] / 2 - (A < B ? M : G) - m[h] / 2 < 0, L = $ ? A < B ? A - B : A - Q : 0;\n return {\n [f]: g[f] + L,\n data: {\n [f]: _,\n centerOffset: A - _ - L,\n ...$ && {\n alignmentOffset: L\n }\n },\n reset: $\n };\n }\n}), xe = function(t) {\n return t === void 0 && (t = {}), {\n name: \"flip\",\n options: t,\n async fn(e) {\n var n, i;\n const {\n placement: s,\n middlewareData: o,\n rects: r,\n initialPlacement: c,\n platform: l,\n elements: a\n } = e, {\n mainAxis: d = !0,\n crossAxis: u = !0,\n fallbackPlacements: g,\n fallbackStrategy: f = \"bestFit\",\n fallbackAxisSideDirection: h = \"none\",\n flipAlignment: m = !0,\n ...p\n } = q(t, e);\n if ((n = o.arrow) != null && n.alignmentOffset)\n return {};\n const w = I(s), y = F(c), x = I(c) === c, v = await (l.isRTL == null ? void 0 : l.isRTL(a.floating)), b = g || (x || !m ? [ot(c)] : ue(c)), C = h !== \"none\";\n !g && C && b.push(...me(c, m, h, v));\n const S = [c, ...b], Z = await $t(e, p), W = [];\n let M = ((i = o.flip) == null ? void 0 : i.overflows) || [];\n if (d && W.push(Z[w]), u) {\n const A = fe(s, r, v);\n W.push(Z[A[0]], Z[A[1]]);\n }\n if (M = [...M, {\n placement: s,\n overflows: W\n }], !W.every((A) => A <= 0)) {\n var G, B;\n const A = (((G = o.flip) == null ? void 0 : G.index) || 0) + 1, _ = S[A];\n if (_ && (!(u === \"alignment\" ? y !== F(_) : !1) || // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n M.every((O) => F(O.placement) === y ? O.overflows[0] > 0 : !0)))\n return {\n data: {\n index: A,\n overflows: M\n },\n reset: {\n placement: _\n }\n };\n let $ = (B = M.filter((L) => L.overflows[0] <= 0).sort((L, O) => L.overflows[1] - O.overflows[1])[0]) == null ? void 0 : B.placement;\n if (!$)\n switch (f) {\n case \"bestFit\": {\n var Q;\n const L = (Q = M.filter((O) => {\n if (C) {\n const N = F(O.placement);\n return N === y || // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n N === \"y\";\n }\n return !0;\n }).map((O) => [O.placement, O.overflows.filter((N) => N > 0).reduce((N, Kt) => N + Kt, 0)]).sort((O, N) => O[1] - N[1])[0]) == null ? void 0 : Q[0];\n L && ($ = L);\n break;\n }\n case \"initialPlacement\":\n $ = c;\n break;\n }\n if (s !== $)\n return {\n reset: {\n placement: $\n }\n };\n }\n return {};\n }\n };\n}, Ft = /* @__PURE__ */ new Set([\"left\", \"top\"]);\nasync function be(t, e) {\n const {\n placement: n,\n platform: i,\n elements: s\n } = t, o = await (i.isRTL == null ? void 0 : i.isRTL(s.floating)), r = I(n), c = et(n), l = F(n) === \"y\", a = Ft.has(r) ? -1 : 1, d = o && l ? -1 : 1, u = q(e, t);\n let {\n mainAxis: g,\n crossAxis: f,\n alignmentAxis: h\n } = typeof u == \"number\" ? {\n mainAxis: u,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: u.mainAxis || 0,\n crossAxis: u.crossAxis || 0,\n alignmentAxis: u.alignmentAxis\n };\n return c && typeof h == \"number\" && (f = c === \"end\" ? h * -1 : h), l ? {\n x: f * d,\n y: g * a\n } : {\n x: g * a,\n y: f * d\n };\n}\nconst ve = function(t) {\n return t === void 0 && (t = 0), {\n name: \"offset\",\n options: t,\n async fn(e) {\n var n, i;\n const {\n x: s,\n y: o,\n placement: r,\n middlewareData: c\n } = e, l = await be(e, t);\n return r === ((n = c.offset) == null ? void 0 : n.placement) && (i = c.arrow) != null && i.alignmentOffset ? {} : {\n x: s + l.x,\n y: o + l.y,\n data: {\n ...l,\n placement: r\n }\n };\n }\n };\n}, Ae = function(t) {\n return t === void 0 && (t = {}), {\n name: \"shift\",\n options: t,\n async fn(e) {\n const {\n x: n,\n y: i,\n placement: s\n } = e, {\n mainAxis: o = !0,\n crossAxis: r = !1,\n limiter: c = {\n fn: (p) => {\n let {\n x: w,\n y\n } = p;\n return {\n x: w,\n y\n };\n }\n },\n ...l\n } = q(t, e), a = {\n x: n,\n y: i\n }, d = await $t(e, l), u = F(I(s)), g = pt(u);\n let f = a[g], h = a[u];\n if (o) {\n const p = g === \"y\" ? \"top\" : \"left\", w = g === \"y\" ? \"bottom\" : \"right\", y = f + d[p], x = f - d[w];\n f = gt(y, f, x);\n }\n if (r) {\n const p = u === \"y\" ? \"top\" : \"left\", w = u === \"y\" ? \"bottom\" : \"right\", y = h + d[p], x = h - d[w];\n h = gt(y, h, x);\n }\n const m = c.fn({\n ...e,\n [g]: f,\n [u]: h\n });\n return {\n ...m,\n data: {\n x: m.x - n,\n y: m.y - i,\n enabled: {\n [g]: o,\n [u]: r\n }\n }\n };\n }\n };\n}, Ee = function(t) {\n return t === void 0 && (t = {}), {\n options: t,\n fn(e) {\n const {\n x: n,\n y: i,\n placement: s,\n rects: o,\n middlewareData: r\n } = e, {\n offset: c = 0,\n mainAxis: l = !0,\n crossAxis: a = !0\n } = q(t, e), d = {\n x: n,\n y: i\n }, u = F(s), g = pt(u);\n let f = d[g], h = d[u];\n const m = q(c, e), p = typeof m == \"number\" ? {\n mainAxis: m,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...m\n };\n if (l) {\n const x = g === \"y\" ? \"height\" : \"width\", v = o.reference[g] - o.floating[x] + p.mainAxis, b = o.reference[g] + o.reference[x] - p.mainAxis;\n f < v ? f = v : f > b && (f = b);\n }\n if (a) {\n var w, y;\n const x = g === \"y\" ? \"width\" : \"height\", v = Ft.has(I(s)), b = o.reference[u] - o.floating[x] + (v && ((w = r.offset) == null ? void 0 : w[u]) || 0) + (v ? 0 : p.crossAxis), C = o.reference[u] + o.reference[x] + (v ? 0 : ((y = r.offset) == null ? void 0 : y[u]) || 0) - (v ? p.crossAxis : 0);\n h < b ? h = b : h > C && (h = C);\n }\n return {\n [g]: f,\n [u]: h\n };\n }\n };\n};\nfunction ct() {\n return typeof window < \"u\";\n}\nfunction J(t) {\n return Nt(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\";\n}\nfunction E(t) {\n var e;\n return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window;\n}\nfunction D(t) {\n var e;\n return (e = (Nt(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement;\n}\nfunction Nt(t) {\n return ct() ? t instanceof Node || t instanceof E(t).Node : !1;\n}\nfunction T(t) {\n return ct() ? t instanceof Element || t instanceof E(t).Element : !1;\n}\nfunction k(t) {\n return ct() ? t instanceof HTMLElement || t instanceof E(t).HTMLElement : !1;\n}\nfunction St(t) {\n return !ct() || typeof ShadowRoot > \"u\" ? !1 : t instanceof ShadowRoot || t instanceof E(t).ShadowRoot;\n}\nconst Ce = /* @__PURE__ */ new Set([\"inline\", \"contents\"]);\nfunction nt(t) {\n const {\n overflow: e,\n overflowX: n,\n overflowY: i,\n display: s\n } = P(t);\n return /auto|scroll|overlay|hidden|clip/.test(e + i + n) && !Ce.has(s);\n}\nconst Se = /* @__PURE__ */ new Set([\"table\", \"td\", \"th\"]);\nfunction Le(t) {\n return Se.has(J(t));\n}\nconst Oe = [\":popover-open\", \":modal\"];\nfunction lt(t) {\n return Oe.some((e) => {\n try {\n return t.matches(e);\n } catch {\n return !1;\n }\n });\n}\nconst Te = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\"], Pe = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\", \"filter\"], Re = [\"paint\", \"layout\", \"strict\", \"content\"];\nfunction xt(t) {\n const e = bt(), n = T(t) ? P(t) : t;\n return Te.some((i) => n[i] ? n[i] !== \"none\" : !1) || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || Pe.some((i) => (n.willChange || \"\").includes(i)) || Re.some((i) => (n.contain || \"\").includes(i));\n}\nfunction ke(t) {\n let e = V(t);\n for (; k(e) && !K(e); ) {\n if (xt(e))\n return e;\n if (lt(e))\n return null;\n e = V(e);\n }\n return null;\n}\nfunction bt() {\n return typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nconst De = /* @__PURE__ */ new Set([\"html\", \"body\", \"#document\"]);\nfunction K(t) {\n return De.has(J(t));\n}\nfunction P(t) {\n return E(t).getComputedStyle(t);\n}\nfunction at(t) {\n return T(t) ? {\n scrollLeft: t.scrollLeft,\n scrollTop: t.scrollTop\n } : {\n scrollLeft: t.scrollX,\n scrollTop: t.scrollY\n };\n}\nfunction V(t) {\n if (J(t) === \"html\")\n return t;\n const e = (\n // Step into the shadow DOM of the parent of a slotted node.\n t.assignedSlot || // DOM Element detected.\n t.parentNode || // ShadowRoot detected.\n St(t) && t.host || // Fallback.\n D(t)\n );\n return St(e) ? e.host : e;\n}\nfunction Ht(t) {\n const e = V(t);\n return K(e) ? t.ownerDocument ? t.ownerDocument.body : t.body : k(e) && nt(e) ? e : Ht(e);\n}\nfunction tt(t, e, n) {\n var i;\n e === void 0 && (e = []), n === void 0 && (n = !0);\n const s = Ht(t), o = s === ((i = t.ownerDocument) == null ? void 0 : i.body), r = E(s);\n if (o) {\n const c = mt(r);\n return e.concat(r, r.visualViewport || [], nt(s) ? s : [], c && n ? tt(c) : []);\n }\n return e.concat(s, tt(s, [], n));\n}\nfunction mt(t) {\n return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null;\n}\nfunction It(t) {\n const e = P(t);\n let n = parseFloat(e.width) || 0, i = parseFloat(e.height) || 0;\n const s = k(t), o = s ? t.offsetWidth : n, r = s ? t.offsetHeight : i, c = st(n) !== o || st(i) !== r;\n return c && (n = o, i = r), {\n width: n,\n height: i,\n $: c\n };\n}\nfunction vt(t) {\n return T(t) ? t : t.contextElement;\n}\nfunction X(t) {\n const e = vt(t);\n if (!k(e))\n return R(1);\n const n = e.getBoundingClientRect(), {\n width: i,\n height: s,\n $: o\n } = It(e);\n let r = (o ? st(n.width) : n.width) / i, c = (o ? st(n.height) : n.height) / s;\n return (!r || !Number.isFinite(r)) && (r = 1), (!c || !Number.isFinite(c)) && (c = 1), {\n x: r,\n y: c\n };\n}\nconst Me = /* @__PURE__ */ R(0);\nfunction Vt(t) {\n const e = E(t);\n return !bt() || !e.visualViewport ? Me : {\n x: e.visualViewport.offsetLeft,\n y: e.visualViewport.offsetTop\n };\n}\nfunction $e(t, e, n) {\n return e === void 0 && (e = !1), !n || e && n !== E(t) ? !1 : e;\n}\nfunction U(t, e, n, i) {\n e === void 0 && (e = !1), n === void 0 && (n = !1);\n const s = t.getBoundingClientRect(), o = vt(t);\n let r = R(1);\n e && (i ? T(i) && (r = X(i)) : r = X(t));\n const c = $e(o, n, i) ? Vt(o) : R(0);\n let l = (s.left + c.x) / r.x, a = (s.top + c.y) / r.y, d = s.width / r.x, u = s.height / r.y;\n if (o) {\n const g = E(o), f = i && T(i) ? E(i) : i;\n let h = g, m = mt(h);\n for (; m && i && f !== h; ) {\n const p = X(m), w = m.getBoundingClientRect(), y = P(m), x = w.left + (m.clientLeft + parseFloat(y.paddingLeft)) * p.x, v = w.top + (m.clientTop + parseFloat(y.paddingTop)) * p.y;\n l *= p.x, a *= p.y, d *= p.x, u *= p.y, l += x, a += v, h = E(m), m = mt(h);\n }\n }\n return rt({\n width: d,\n height: u,\n x: l,\n y: a\n });\n}\nfunction ft(t, e) {\n const n = at(t).scrollLeft;\n return e ? e.left + n : U(D(t)).left + n;\n}\nfunction Wt(t, e) {\n const n = t.getBoundingClientRect(), i = n.left + e.scrollLeft - ft(t, n), s = n.top + e.scrollTop;\n return {\n x: i,\n y: s\n };\n}\nfunction Fe(t) {\n let {\n elements: e,\n rect: n,\n offsetParent: i,\n strategy: s\n } = t;\n const o = s === \"fixed\", r = D(i), c = e ? lt(e.floating) : !1;\n if (i === r || c && o)\n return n;\n let l = {\n scrollLeft: 0,\n scrollTop: 0\n }, a = R(1);\n const d = R(0), u = k(i);\n if ((u || !u && !o) && ((J(i) !== \"body\" || nt(r)) && (l = at(i)), k(i))) {\n const f = U(i);\n a = X(i), d.x = f.x + i.clientLeft, d.y = f.y + i.clientTop;\n }\n const g = r && !u && !o ? Wt(r, l) : R(0);\n return {\n width: n.width * a.x,\n height: n.height * a.y,\n x: n.x * a.x - l.scrollLeft * a.x + d.x + g.x,\n y: n.y * a.y - l.scrollTop * a.y + d.y + g.y\n };\n}\nfunction Ne(t) {\n return Array.from(t.getClientRects());\n}\nfunction He(t) {\n const e = D(t), n = at(t), i = t.ownerDocument.body, s = j(e.scrollWidth, e.clientWidth, i.scrollWidth, i.clientWidth), o = j(e.scrollHeight, e.clientHeight, i.scrollHeight, i.clientHeight);\n let r = -n.scrollLeft + ft(t);\n const c = -n.scrollTop;\n return P(i).direction === \"rtl\" && (r += j(e.clientWidth, i.clientWidth) - s), {\n width: s,\n height: o,\n x: r,\n y: c\n };\n}\nconst Lt = 25;\nfunction Ie(t, e) {\n const n = E(t), i = D(t), s = n.visualViewport;\n let o = i.clientWidth, r = i.clientHeight, c = 0, l = 0;\n if (s) {\n o = s.width, r = s.height;\n const d = bt();\n (!d || d && e === \"fixed\") && (c = s.offsetLeft, l = s.offsetTop);\n }\n const a = ft(i);\n if (a <= 0) {\n const d = i.ownerDocument, u = d.body, g = getComputedStyle(u), f = d.compatMode === \"CSS1Compat\" && parseFloat(g.marginLeft) + parseFloat(g.marginRight) || 0, h = Math.abs(i.clientWidth - u.clientWidth - f);\n h <= Lt && (o -= h);\n } else a <= Lt && (o += a);\n return {\n width: o,\n height: r,\n x: c,\n y: l\n };\n}\nconst Ve = /* @__PURE__ */ new Set([\"absolute\", \"fixed\"]);\nfunction We(t, e) {\n const n = U(t, !0, e === \"fixed\"), i = n.top + t.clientTop, s = n.left + t.clientLeft, o = k(t) ? X(t) : R(1), r = t.clientWidth * o.x, c = t.clientHeight * o.y, l = s * o.x, a = i * o.y;\n return {\n width: r,\n height: c,\n x: l,\n y: a\n };\n}\nfunction Ot(t, e, n) {\n let i;\n if (e === \"viewport\")\n i = Ie(t, n);\n else if (e === \"document\")\n i = He(D(t));\n else if (T(e))\n i = We(e, n);\n else {\n const s = Vt(t);\n i = {\n x: e.x - s.x,\n y: e.y - s.y,\n width: e.width,\n height: e.height\n };\n }\n return rt(i);\n}\nfunction Bt(t, e) {\n const n = V(t);\n return n === e || !T(n) || K(n) ? !1 : P(n).position === \"fixed\" || Bt(n, e);\n}\nfunction Be(t, e) {\n const n = e.get(t);\n if (n)\n return n;\n let i = tt(t, [], !1).filter((c) => T(c) && J(c) !== \"body\"), s = null;\n const o = P(t).position === \"fixed\";\n let r = o ? V(t) : t;\n for (; T(r) && !K(r); ) {\n const c = P(r), l = xt(r);\n !l && c.position === \"fixed\" && (s = null), (o ? !l && !s : !l && c.position === \"static\" && !!s && Ve.has(s.position) || nt(r) && !l && Bt(t, r)) ? i = i.filter((d) => d !== r) : s = c, r = V(r);\n }\n return e.set(t, i), i;\n}\nfunction _e(t) {\n let {\n element: e,\n boundary: n,\n rootBoundary: i,\n strategy: s\n } = t;\n const r = [...n === \"clippingAncestors\" ? lt(e) ? [] : Be(e, this._c) : [].concat(n), i], c = r[0], l = r.reduce((a, d) => {\n const u = Ot(e, d, s);\n return a.top = j(u.top, a.top), a.right = Y(u.right, a.right), a.bottom = Y(u.bottom, a.bottom), a.left = j(u.left, a.left), a;\n }, Ot(e, c, s));\n return {\n width: l.right - l.left,\n height: l.bottom - l.top,\n x: l.left,\n y: l.top\n };\n}\nfunction ze(t) {\n const {\n width: e,\n height: n\n } = It(t);\n return {\n width: e,\n height: n\n };\n}\nfunction je(t, e, n) {\n const i = k(e), s = D(e), o = n === \"fixed\", r = U(t, !0, o, e);\n let c = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const l = R(0);\n function a() {\n l.x = ft(s);\n }\n if (i || !i && !o)\n if ((J(e) !== \"body\" || nt(s)) && (c = at(e)), i) {\n const f = U(e, !0, o, e);\n l.x = f.x + e.clientLeft, l.y = f.y + e.clientTop;\n } else s && a();\n o && !i && s && a();\n const d = s && !i && !o ? Wt(s, c) : R(0), u = r.left + c.scrollLeft - l.x - d.x, g = r.top + c.scrollTop - l.y - d.y;\n return {\n x: u,\n y: g,\n width: r.width,\n height: r.height\n };\n}\nfunction ut(t) {\n return P(t).position === \"static\";\n}\nfunction Tt(t, e) {\n if (!k(t) || P(t).position === \"fixed\")\n return null;\n if (e)\n return e(t);\n let n = t.offsetParent;\n return D(t) === n && (n = n.ownerDocument.body), n;\n}\nfunction _t(t, e) {\n const n = E(t);\n if (lt(t))\n return n;\n if (!k(t)) {\n let s = V(t);\n for (; s && !K(s); ) {\n if (T(s) && !ut(s))\n return s;\n s = V(s);\n }\n return n;\n }\n let i = Tt(t, e);\n for (; i && Le(i) && ut(i); )\n i = Tt(i, e);\n return i && K(i) && ut(i) && !xt(i) ? n : i || ke(t) || n;\n}\nconst qe = async function(t) {\n const e = this.getOffsetParent || _t, n = this.getDimensions, i = await n(t.floating);\n return {\n reference: je(t.reference, await e(t.floating), t.strategy),\n floating: {\n x: 0,\n y: 0,\n width: i.width,\n height: i.height\n }\n };\n};\nfunction Ue(t) {\n return P(t).direction === \"rtl\";\n}\nconst Xe = {\n convertOffsetParentRelativeRectToViewportRelativeRect: Fe,\n getDocumentElement: D,\n getClippingRect: _e,\n getOffsetParent: _t,\n getElementRects: qe,\n getClientRects: Ne,\n getDimensions: ze,\n getScale: X,\n isElement: T,\n isRTL: Ue\n};\nfunction zt(t, e) {\n return t.x === e.x && t.y === e.y && t.width === e.width && t.height === e.height;\n}\nfunction Ye(t, e) {\n let n = null, i;\n const s = D(t);\n function o() {\n var c;\n clearTimeout(i), (c = n) == null || c.disconnect(), n = null;\n }\n function r(c, l) {\n c === void 0 && (c = !1), l === void 0 && (l = 1), o();\n const a = t.getBoundingClientRect(), {\n left: d,\n top: u,\n width: g,\n height: f\n } = a;\n if (c || e(), !g || !f)\n return;\n const h = it(u), m = it(s.clientWidth - (d + g)), p = it(s.clientHeight - (u + f)), w = it(d), x = {\n rootMargin: -h + \"px \" + -m + \"px \" + -p + \"px \" + -w + \"px\",\n threshold: j(0, Y(1, l)) || 1\n };\n let v = !0;\n function b(C) {\n const S = C[0].intersectionRatio;\n if (S !== l) {\n if (!v)\n return r();\n S ? r(!1, S) : i = setTimeout(() => {\n r(!1, 1e-7);\n }, 1e3);\n }\n S === 1 && !zt(a, t.getBoundingClientRect()) && r(), v = !1;\n }\n try {\n n = new IntersectionObserver(b, {\n ...x,\n // Handle <iframe>s\n root: s.ownerDocument\n });\n } catch {\n n = new IntersectionObserver(b, x);\n }\n n.observe(t);\n }\n return r(!0), o;\n}\nfunction Ke(t, e, n, i) {\n i === void 0 && (i = {});\n const {\n ancestorScroll: s = !0,\n ancestorResize: o = !0,\n elementResize: r = typeof ResizeObserver == \"function\",\n layoutShift: c = typeof IntersectionObserver == \"function\",\n animationFrame: l = !1\n } = i, a = vt(t), d = s || o ? [...a ? tt(a) : [], ...tt(e)] : [];\n d.forEach((w) => {\n s && w.addEventListener(\"scroll\", n, {\n passive: !0\n }), o && w.addEventListener(\"resize\", n);\n });\n const u = a && c ? Ye(a, n) : null;\n let g = -1, f = null;\n r && (f = new ResizeObserver((w) => {\n let [y] = w;\n y && y.target === a && f && (f.unobserve(e), cancelAnimationFrame(g), g = requestAnimationFrame(() => {\n var x;\n (x = f) == null || x.observe(e);\n })), n();\n }), a && !l && f.observe(a), f.observe(e));\n let h, m = l ? U(t) : null;\n l && p();\n function p() {\n const w = U(t);\n m && !zt(m, w) && n(), m = w, h = requestAnimationFrame(p);\n }\n return n(), () => {\n var w;\n d.forEach((y) => {\n s && y.removeEventListener(\"scroll\", n), o && y.removeEventListener(\"resize\", n);\n }), u?.(), (w = f) == null || w.disconnect(), f = null, l && cancelAnimationFrame(h);\n };\n}\nconst Je = ve, Ze = Ae, Ge = xe, Qe = ye, tn = Ee, en = (t, e, n) => {\n const i = /* @__PURE__ */ new Map(), s = {\n platform: Xe,\n ...n\n }, o = {\n ...s.platform,\n _c: i\n };\n return we(t, e, {\n ...s,\n platform: o\n });\n};\nfunction Pt(t, e, n) {\n Object.assign(t.style, {\n left: e != null ? `${e}px` : \"\",\n top: n != null ? `${n}px` : \"\"\n });\n}\nfunction jt(t, e) {\n let n = t.getSetting(\"toggle-delay\");\n typeof n == \"string\" && (n.indexOf(\",\") > -1 && (n = n.split(\",\")), n.indexOf(\" \") > -1 && (n = n.split(\" \"))), Array.isArray(n) && (n = n[e]);\n const i = Number(n);\n if (Number.isNaN(i))\n throw new Error(`Provided delay value is not a number: \"${n}\"`);\n return i;\n}\nfunction dt(t) {\n let e;\n const n = typeof t == \"string\" ? t.trim().split(\" \").map((i) => parseFloat(i)).filter((i) => !isNaN(i)) : [t];\n for (let i = 0; i < n.length; i++)\n n[i] = Number(n[i]);\n switch (n.length) {\n case 1:\n e = n[0];\n break;\n case 2:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[0],\n left: n[1]\n };\n break;\n case 3:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[2],\n left: n[1]\n };\n break;\n case 4:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[2],\n left: n[3]\n };\n break;\n default:\n e = void 0;\n break;\n }\n return e;\n}\nfunction nn(t) {\n return {\n offset: Number(t.getSetting(\"offset\")),\n flip: {\n padding: dt(t.getSetting(\"flip-padding\"))\n },\n shift: {\n padding: dt(t.getSetting(\"shift-padding\"))\n },\n arrow: {\n selector: t.getSetting(\"selectorArrow\"),\n element: null,\n padding: dt(t.getSetting(\"arrow-padding\"))\n }\n };\n}\nasync function qt(t) {\n return t && t.state === \"opened\" && (t.el.inert = !0, t.el.classList.remove(t.parent.settings.stateActive), t.isTooltip || t.trigger?.setAttribute(\"aria-expanded\", \"false\"), t.floatingCleanup(), t.state = \"closed\", t.trigger === t.parent.trigger && (t.parent.trigger = null), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"closed\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"closed\", t)), t;\n}\nasync function Ut(t) {\n const e = [];\n for (const n of t.collection)\n n.state === \"opened\" && e.push(await n.close());\n return e;\n}\nfunction Xt(t) {\n t.state == \"opened\" && setTimeout(() => (document.activeElement?.closest(\n `#${t.id}, [aria-controls=\"${t.id}\"], [aria-describedby=\"${t.id}\"]`\n ) || t.close(), t), 1);\n}\nfunction sn(t) {\n t.state === \"opened\" ? t.close() : (this.trigger = t.trigger, t.open());\n}\nfunction on(t) {\n t.isTooltip && (t.toggleDelayId && clearTimeout(t.toggleDelayId), t.close());\n}\nfunction rn(t, e) {\n if (t.isHovered = e, e.type == \"focus\" && t.trigger && !t.trigger.matches(\":focus-visible\"))\n return;\n t.toggleDelayId && clearTimeout(t.toggleDelayId);\n const n = t.trigger?.getAttribute(\"aria-expanded\");\n if (n && n == \"true\") return;\n const i = this.activeHover ? 0 : jt(t, 0);\n this.activeHover && this.activeHover.close(), t.toggleDelayId = setTimeout(() => {\n t.id && t.open();\n }, i);\n}\nfunction cn(t, e) {\n setTimeout(() => {\n t.isHovered = e, !t.isHovered && (t.toggleDelayId && clearTimeout(t.toggleDelayId), t.toggleDelayId = setTimeout(\n () => Xt(t),\n jt(t, 1)\n ));\n }, 1);\n}\nfunction ln(t) {\n switch (t.key) {\n case \"Escape\":\n this.trigger && this.trigger.focus(), Ut(this);\n return;\n case \"Tab\":\n this.collection.forEach((e) => {\n Xt(e);\n });\n return;\n default:\n return;\n }\n}\nfunction an(t) {\n const e = this;\n document.addEventListener(\"click\", function n(i) {\n const s = i.target;\n s && (s.closest(\n `#${t.id}, [aria-controls=\"${t.id}\"], [aria-describedby=\"${t.id}\"]`\n ) ? t.el && !t.el.classList.contains(e.settings.stateActive) && this.removeEventListener(\"click\", n) : (t.el && t.el.classList.contains(e.settings.stateActive) && t.close(), this.removeEventListener(\"click\", n)));\n });\n}\nasync function Yt(t) {\n t.el.inert = !1, t.el.classList.add(t.parent.settings.stateActive), t.isTooltip || t.trigger?.setAttribute(\"aria-expanded\", \"true\"), t.buildCustomProps();\n const e = nn(t), n = t.el.querySelector(\n e.arrow.selector\n );\n return e.arrow.element = n || null, t.trigger instanceof HTMLElement && (t.floatingCleanup = Ke(t.trigger, t.el, () => {\n const i = [\n Ge(e.flip),\n Ze({ ...e.shift, limiter: tn() }),\n Je(e.offset)\n ];\n e.arrow.element && i.push(\n Qe({\n ...e.arrow,\n element: e.arrow.element\n })\n ), en(t.trigger, t.el, {\n placement: t.getSetting(\"placement\"),\n middleware: i\n }).then(({ x: s, y: o, placement: r, middlewareData: c }) => {\n if (t.el) {\n if (Pt(t.el, s, o), e.arrow.element && c.arrow) {\n const { x: l, y: a } = c.arrow;\n Pt(e.arrow.element, l, a);\n }\n t.el.setAttribute(\"data-floating-placement\", r);\n }\n });\n })), t.state = \"opened\", t.getSetting(\"event\") === \"click\" && an.call(t.parent, t), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"opened\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"opened\", t), t;\n}\nclass fn extends Dt {\n #t;\n #e;\n constructor(e, n, i = {}) {\n super(e, n, i), this.state = \"closed\", this.toggleDelayId = null, this.trigger = null, this.#t = null, this.#e = {\n el: !1,\n trigger: !1\n }, this.floatingCleanup = () => {\n };\n }\n get isTooltip() {\n return !!this.el.closest(this.getSetting(\"selectorTooltip\")) || this.el.getAttribute(\"role\") == \"tooltip\";\n }\n get isHovered() {\n return this.#e.el || this.#e.trigger;\n }\n set isHovered(e) {\n const n = e.type == \"mouseenter\" ? !0 : e.type == \"mouseleave\" ? !1 : void 0;\n if (n != null)\n switch (e.target) {\n case this.el:\n this.#e.el = n;\n break;\n case this.trigger:\n this.#e.trigger = n;\n break;\n }\n }\n async open() {\n return Yt(this);\n }\n async close() {\n return qt(this);\n }\n async deregister() {\n return this.parent.deregister(this.id);\n }\n registerEventListeners() {\n this.#t || (this.getSetting(\"event\") === \"hover\" ? (this.#t = [\n {\n el: [\"el\", \"trigger\"],\n type: [\"mouseenter\", \"focus\"],\n listener: rn.bind(this.parent, this)\n },\n {\n el: [\"el\", \"trigger\"],\n type: [\"mouseleave\", \"focusout\"],\n listener: cn.bind(this.parent, this)\n },\n {\n el: [\"trigger\"],\n type: [\"click\"],\n listener: on.bind(this.parent, this)\n }\n ], this.#t.forEach((n) => {\n n.el.forEach((i) => {\n n.type.forEach((s) => {\n this[i].addEventListener(s, n.listener, !1);\n });\n });\n })) : (this.#t = [\n {\n el: [\"trigger\"],\n type: [\"click\"],\n listener: sn.bind(this.parent, this)\n }\n ], this.#t.forEach((n) => {\n n.el.forEach((i) => {\n n.type.forEach((s) => {\n this[i].addEventListener(s, n.listener, !1);\n });\n });\n })));\n }\n deregisterEventListeners() {\n this.#t && (this.#t.forEach((e) => {\n e.el.forEach((n) => {\n e.type.forEach((i) => {\n this[n].removeEventListener(i, e.listener, !1);\n });\n });\n }), this.#t = null);\n }\n async onCreateEntry() {\n this.trigger = document.querySelector(\n `[aria-controls=\"${this.id}\"], [aria-describedby=\"${this.id}\"]`\n ), this.isTooltip ? (this.settings.event = \"hover\", this.el.setAttribute(\"role\", \"tooltip\")) : this.trigger && this.trigger instanceof HTMLElement && this.trigger.setAttribute(\"aria-expanded\", \"false\"), this.registerEventListeners();\n }\n async onRegisterEntry() {\n this.el.classList.contains(this.getSetting(\"stateActive\")) ? await this.open() : this.el.inert = !0;\n }\n async onDestroyEntry() {\n this.state === \"opened\" && await this.close(), this.floatingCleanup(), this.deregisterEventListeners();\n }\n}\nclass un extends oe {\n #t;\n constructor(e) {\n super({ ...re, ...e }), this.module = \"Popover\", this.entryClass = fn, this.trigger = null, this.#t = ln.bind(this);\n }\n get active() {\n return this.get(\"opened\", \"state\");\n }\n get activeHover() {\n return this.collection.find((e) => e.state == \"opened\" && e.getSetting(\"event\") == \"hover\");\n }\n async open(e) {\n const n = this.getOrThrow(e);\n return Yt(n);\n }\n async close(e) {\n const n = e ? this.getOrThrow(e) : void 0;\n return n ? qt(n) : Ut(this);\n }\n async afterMount() {\n document.addEventListener(\"keydown\", this.#t, !1);\n }\n async beforeUnmount() {\n this.trigger = null;\n }\n async afterUnmount() {\n document.removeEventListener(\"keydown\", this.#t, !1);\n }\n}\nexport {\n un as default\n};\n//# sourceMappingURL=index.js.map\n"],"names":["f","m","C","k","E","g","x","r","v","$","S","J","a","R","y","h","M","c","P","A","T","I","L","O","D","b","w","N","d","q","_","U","F","X","p","V","Y","tt","j","z","H","nt","u","Z","W","G","B","Q"],"mappings":"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"}