vrembem 3.0.18 → 3.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js DELETED
@@ -1,2231 +0,0 @@
1
- var ze = (e, t, n) => {
2
- if (!t.has(e))
3
- throw TypeError("Cannot " + n);
4
- }, j = (e, t, n) => (ze(e, t, "read from private field"), n ? n.call(e) : t.get(e)), Rt = (e, t, n) => {
5
- if (t.has(e))
6
- throw TypeError("Cannot add the same private member more than once");
7
- t instanceof WeakSet ? t.add(e) : t.set(e, n);
8
- }, nt = (e, t, n, i) => (ze(e, t, "write to private field"), i ? i.call(e, n) : t.set(e, n), n), V;
9
- let In = class {
10
- constructor(t, n) {
11
- Rt(this, V, void 0), this.value = t, nt(this, V, n), this.mql = null;
12
- }
13
- get handler() {
14
- return j(this, V);
15
- }
16
- // Unmount existing handler before setting a new one.
17
- set handler(t) {
18
- this.mql && this.mql.removeEventListener("change", j(this, V)), nt(this, V, t);
19
- }
20
- mount(t, n) {
21
- return t && (this.value = t), n && nt(this, V, n), this.value ? (this.mql = window.matchMedia(`(min-width: ${this.value})`), this.mql.addEventListener("change", j(this, V)), j(this, V).call(this, this.mql), this) : this;
22
- }
23
- unmount() {
24
- return this.mql ? (this.mql.removeEventListener("change", j(this, V)), this.value = null, nt(this, V, null), this.mql = null, this) : this;
25
- }
26
- };
27
- V = /* @__PURE__ */ new WeakMap();
28
- let An = class {
29
- constructor() {
30
- this.collection = [];
31
- }
32
- async register(t) {
33
- return await this.deregister(t), this.collection.push(t), this.collection;
34
- }
35
- async deregister(t) {
36
- const n = this.collection.findIndex((i) => i === t);
37
- if (n >= 0) {
38
- const i = this.collection[n];
39
- Object.getOwnPropertyNames(i).forEach((r) => {
40
- delete i[r];
41
- }), this.collection.splice(n, 1);
42
- }
43
- return this.collection;
44
- }
45
- async registerCollection(t) {
46
- return await Promise.all(Array.from(t, (n) => {
47
- this.register(n);
48
- })), this.collection;
49
- }
50
- async deregisterCollection() {
51
- for (; this.collection.length > 0; )
52
- await this.deregister(this.collection[0]);
53
- return this.collection;
54
- }
55
- get(t, n = "id") {
56
- return this.collection.find((i) => i[n] === t);
57
- }
58
- };
59
- const p = {
60
- inert: ":not([inert]):not([inert] *)",
61
- negTabIndex: ':not([tabindex^="-"])',
62
- disabled: ":not(:disabled)"
63
- }, Pn = [
64
- `a[href]${p.inert}${p.negTabIndex}`,
65
- `area[href]${p.inert}${p.negTabIndex}`,
66
- `input:not([type="hidden"]):not([type="radio"])${p.inert}${p.negTabIndex}${p.disabled}`,
67
- `input[type="radio"]${p.inert}${p.negTabIndex}${p.disabled}`,
68
- `select${p.inert}${p.negTabIndex}${p.disabled}`,
69
- `textarea${p.inert}${p.negTabIndex}${p.disabled}`,
70
- `button${p.inert}${p.negTabIndex}${p.disabled}`,
71
- `details${p.inert} > summary:first-of-type${p.negTabIndex}`,
72
- // Discard until Firefox supports `:has()`
73
- // See: https://github.com/KittyGiraudel/focusable-selectors/issues/12
74
- // `details:not(:has(> summary))${not.inert}${not.negTabIndex}`,
75
- `iframe${p.inert}${p.negTabIndex}`,
76
- `audio[controls]${p.inert}${p.negTabIndex}`,
77
- `video[controls]${p.inert}${p.negTabIndex}`,
78
- `[contenteditable]${p.inert}${p.negTabIndex}`,
79
- `[tabindex]${p.inert}${p.negTabIndex}`
80
- ];
81
- var wt, at, lt;
82
- let Dn = class {
83
- constructor(t = null, n = "[data-focus]") {
84
- Rt(this, wt, void 0), Rt(this, at, void 0), Rt(this, lt, void 0), this.el = t, this.selectorFocus = n, nt(this, at, Mn.bind(this)), nt(this, lt, jn.bind(this));
85
- }
86
- get focusable() {
87
- return j(this, wt);
88
- }
89
- set focusable(t) {
90
- nt(this, wt, t), j(this, wt).length ? (document.removeEventListener("keydown", j(this, lt)), document.addEventListener("keydown", j(this, at))) : (document.removeEventListener("keydown", j(this, at)), document.addEventListener("keydown", j(this, lt)));
91
- }
92
- get focusableFirst() {
93
- return this.focusable[0];
94
- }
95
- get focusableLast() {
96
- return this.focusable[this.focusable.length - 1];
97
- }
98
- mount(t, n) {
99
- t && (this.el = t), n && (this.selectorFocus = n), this.focusable = this.getFocusable(), this.focus();
100
- }
101
- unmount() {
102
- this.el = null, this.focusable = [], document.removeEventListener("keydown", j(this, at)), document.removeEventListener("keydown", j(this, lt));
103
- }
104
- focus(t = this.el, n = this.selectorFocus) {
105
- (t.querySelector(n) || t).focus();
106
- }
107
- getFocusable(t = this.el) {
108
- const n = [], i = document.activeElement, r = t.scrollTop;
109
- return t.querySelectorAll(Pn.join(",")).forEach((s) => {
110
- s.focus(), document.activeElement === s && n.push(s);
111
- }), t.scrollTop = r, i.focus(), n;
112
- }
113
- };
114
- wt = /* @__PURE__ */ new WeakMap(), at = /* @__PURE__ */ new WeakMap(), lt = /* @__PURE__ */ new WeakMap();
115
- function Mn(e) {
116
- (e.key === "Tab" || e.keyCode === 9) && (e.shiftKey ? (document.activeElement === this.focusableFirst || document.activeElement === this.el) && (e.preventDefault(), this.focusableLast.focus()) : (document.activeElement === this.focusableLast || document.activeElement === this.el) && (e.preventDefault(), this.focusableFirst.focus()));
117
- }
118
- function jn(e) {
119
- (e.key === "Tab" || e.keyCode === 9) && e.preventDefault();
120
- }
121
- function Ke() {
122
- return getComputedStyle(document.body).getPropertyValue("--vrembem-prefix").trim();
123
- }
124
- function Ge(e, t = document.body, n = !0) {
125
- if (n) {
126
- const r = Ke();
127
- r && !e.includes(`--${r}`) && (e = e.replace("--", `--${r}`));
128
- }
129
- const i = getComputedStyle(t).getPropertyValue(e).trim();
130
- if (i)
131
- return i;
132
- throw new Error(`CSS variable "${e}" was not found!`);
133
- }
134
- function qn(e, t) {
135
- const n = (e.getAttribute(`data-${t}`) || "").replace(/'/g, '"');
136
- return n ? JSON.parse(n) : {};
137
- }
138
- function Fn(e, t = !0) {
139
- const n = localStorage.getItem(e), i = n ? JSON.parse(n) : {};
140
- return {
141
- get(r) {
142
- return r ? i[r] : i;
143
- },
144
- set(r, s) {
145
- return s ? i[r] = s : delete i[r], t && localStorage.setItem(e, JSON.stringify(i)), i;
146
- }
147
- };
148
- }
149
- function Nn(e, t, n) {
150
- const i = t.nodeType === Node.COMMENT_NODE, r = t.nodeType === Node.ELEMENT_NODE;
151
- if (t = i || r ? t : document.querySelector(t), i && (n = "after"), !t)
152
- throw new Error(`Not a valid teleport reference: '${t}'`);
153
- if (typeof t[n] != "function")
154
- throw new Error(`Not a valid teleport method: '${n}'`);
155
- let s = null;
156
- return i || (s = document.createComment("teleported #" + e.id), e.before(s)), t[n](e), i && t.remove(), s;
157
- }
158
- function Wn(e, t, n, i = "--transition-duration") {
159
- return new Promise((r) => {
160
- if (typeof i == "string") {
161
- const s = Ge(i, e), a = !!s.includes("ms");
162
- i = parseFloat(s) * (a ? 1 : 1e3);
163
- }
164
- e.classList.remove(t.finish), e.classList.add(n.start), setTimeout(() => {
165
- e.classList.add(n.finish), e.classList.remove(n.start), r(e);
166
- }, i);
167
- });
168
- }
169
- function _n(e, t) {
170
- t && document.querySelectorAll(t).forEach((n) => {
171
- e ? n.style.overflow = "hidden" : n.style.removeProperty("overflow");
172
- });
173
- }
174
- function Bn(e, t) {
175
- t && document.querySelectorAll(t).forEach((n) => {
176
- e ? (n.inert = !0, n.setAttribute("aria-hidden", !0)) : (n.inert = null, n.removeAttribute("aria-hidden"));
177
- });
178
- }
179
- function Rn(e, t) {
180
- Bn(!!e, t.selectorInert), _n(!!e, t.selectorOverflow);
181
- }
182
- const zr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
183
- __proto__: null,
184
- Breakpoint: In,
185
- Collection: An,
186
- FocusTrap: Dn,
187
- cssVar: Ge,
188
- getConfig: qn,
189
- getPrefix: Ke,
190
- localStore: Fn,
191
- teleport: Nn,
192
- transition: Wn,
193
- updateGlobalState: Rn
194
- }, Symbol.toStringTag, { value: "Module" }));
195
- var Qe = (e, t, n) => {
196
- if (!t.has(e))
197
- throw TypeError("Cannot " + n);
198
- }, Wt = (e, t, n) => (Qe(e, t, "read from private field"), n ? n.call(e) : t.get(e)), Ae = (e, t, n) => {
199
- if (t.has(e))
200
- throw TypeError("Cannot add the same private member more than once");
201
- t instanceof WeakSet ? t.add(e) : t.set(e, n);
202
- }, Pe = (e, t, n, i) => (Qe(e, t, "write to private field"), i ? i.call(e, n) : t.set(e, n), n), Ze = (e, t, n) => {
203
- if (!t.has(e))
204
- throw TypeError("Cannot " + n);
205
- }, q = (e, t, n) => (Ze(e, t, "read from private field"), n ? n.call(e) : t.get(e)), Vt = (e, t, n) => {
206
- if (t.has(e))
207
- throw TypeError("Cannot add the same private member more than once");
208
- t instanceof WeakSet ? t.add(e) : t.set(e, n);
209
- }, it = (e, t, n, i) => (Ze(e, t, "write to private field"), i ? i.call(e, n) : t.set(e, n), n), H;
210
- let Vn = class {
211
- constructor(t, n) {
212
- Vt(this, H, void 0), this.value = t, it(this, H, n), this.mql = null;
213
- }
214
- get handler() {
215
- return q(this, H);
216
- }
217
- // Unmount existing handler before setting a new one.
218
- set handler(t) {
219
- this.mql && this.mql.removeEventListener("change", q(this, H)), it(this, H, t);
220
- }
221
- mount(t, n) {
222
- return t && (this.value = t), n && it(this, H, n), this.value ? (this.mql = window.matchMedia(`(min-width: ${this.value})`), this.mql.addEventListener("change", q(this, H)), q(this, H).call(this, this.mql), this) : this;
223
- }
224
- unmount() {
225
- return this.mql ? (this.mql.removeEventListener("change", q(this, H)), this.value = null, it(this, H, null), this.mql = null, this) : this;
226
- }
227
- };
228
- H = /* @__PURE__ */ new WeakMap();
229
- let Hn = class {
230
- constructor() {
231
- this.collection = [];
232
- }
233
- async register(t) {
234
- return await this.deregister(t), this.collection.push(t), this.collection;
235
- }
236
- async deregister(t) {
237
- const n = this.collection.findIndex((i) => i === t);
238
- if (n >= 0) {
239
- const i = this.collection[n];
240
- Object.getOwnPropertyNames(i).forEach((r) => {
241
- delete i[r];
242
- }), this.collection.splice(n, 1);
243
- }
244
- return this.collection;
245
- }
246
- async registerCollection(t) {
247
- return await Promise.all(Array.from(t, (n) => {
248
- this.register(n);
249
- })), this.collection;
250
- }
251
- async deregisterCollection() {
252
- for (; this.collection.length > 0; )
253
- await this.deregister(this.collection[0]);
254
- return this.collection;
255
- }
256
- get(t, n = "id") {
257
- return this.collection.find((i) => i[n] === t);
258
- }
259
- };
260
- const g = {
261
- inert: ":not([inert]):not([inert] *)",
262
- negTabIndex: ':not([tabindex^="-"])',
263
- disabled: ":not(:disabled)"
264
- }, Jn = [
265
- `a[href]${g.inert}${g.negTabIndex}`,
266
- `area[href]${g.inert}${g.negTabIndex}`,
267
- `input:not([type="hidden"]):not([type="radio"])${g.inert}${g.negTabIndex}${g.disabled}`,
268
- `input[type="radio"]${g.inert}${g.negTabIndex}${g.disabled}`,
269
- `select${g.inert}${g.negTabIndex}${g.disabled}`,
270
- `textarea${g.inert}${g.negTabIndex}${g.disabled}`,
271
- `button${g.inert}${g.negTabIndex}${g.disabled}`,
272
- `details${g.inert} > summary:first-of-type${g.negTabIndex}`,
273
- // Discard until Firefox supports `:has()`
274
- // See: https://github.com/KittyGiraudel/focusable-selectors/issues/12
275
- // `details:not(:has(> summary))${not.inert}${not.negTabIndex}`,
276
- `iframe${g.inert}${g.negTabIndex}`,
277
- `audio[controls]${g.inert}${g.negTabIndex}`,
278
- `video[controls]${g.inert}${g.negTabIndex}`,
279
- `[contenteditable]${g.inert}${g.negTabIndex}`,
280
- `[tabindex]${g.inert}${g.negTabIndex}`
281
- ];
282
- var $t, ct, dt;
283
- let zn = class {
284
- constructor(t = null, n = "[data-focus]") {
285
- Vt(this, $t, void 0), Vt(this, ct, void 0), Vt(this, dt, void 0), this.el = t, this.selectorFocus = n, it(this, ct, Kn.bind(this)), it(this, dt, Gn.bind(this));
286
- }
287
- get focusable() {
288
- return q(this, $t);
289
- }
290
- set focusable(t) {
291
- it(this, $t, t), q(this, $t).length ? (document.removeEventListener("keydown", q(this, dt)), document.addEventListener("keydown", q(this, ct))) : (document.removeEventListener("keydown", q(this, ct)), document.addEventListener("keydown", q(this, dt)));
292
- }
293
- get focusableFirst() {
294
- return this.focusable[0];
295
- }
296
- get focusableLast() {
297
- return this.focusable[this.focusable.length - 1];
298
- }
299
- mount(t, n) {
300
- t && (this.el = t), n && (this.selectorFocus = n), this.focusable = this.getFocusable(), this.focus();
301
- }
302
- unmount() {
303
- this.el = null, this.focusable = [], document.removeEventListener("keydown", q(this, ct)), document.removeEventListener("keydown", q(this, dt));
304
- }
305
- focus(t = this.el, n = this.selectorFocus) {
306
- (t.querySelector(n) || t).focus();
307
- }
308
- getFocusable(t = this.el) {
309
- const n = [], i = document.activeElement, r = t.scrollTop;
310
- return t.querySelectorAll(Jn.join(",")).forEach((s) => {
311
- s.focus(), document.activeElement === s && n.push(s);
312
- }), t.scrollTop = r, i.focus(), n;
313
- }
314
- };
315
- $t = /* @__PURE__ */ new WeakMap(), ct = /* @__PURE__ */ new WeakMap(), dt = /* @__PURE__ */ new WeakMap();
316
- function Kn(e) {
317
- (e.key === "Tab" || e.keyCode === 9) && (e.shiftKey ? (document.activeElement === this.focusableFirst || document.activeElement === this.el) && (e.preventDefault(), this.focusableLast.focus()) : (document.activeElement === this.focusableLast || document.activeElement === this.el) && (e.preventDefault(), this.focusableFirst.focus()));
318
- }
319
- function Gn(e) {
320
- (e.key === "Tab" || e.keyCode === 9) && e.preventDefault();
321
- }
322
- function Xe() {
323
- return getComputedStyle(document.body).getPropertyValue("--vrembem-prefix").trim();
324
- }
325
- function Qn(e, t = document.body, n = !0) {
326
- if (n) {
327
- const r = Xe();
328
- r && !e.includes(`--${r}`) && (e = e.replace("--", `--${r}`));
329
- }
330
- const i = getComputedStyle(t).getPropertyValue(e).trim();
331
- if (i)
332
- return i;
333
- throw new Error(`CSS variable "${e}" was not found!`);
334
- }
335
- function Zn(e, t) {
336
- const n = (e.getAttribute(`data-${t}`) || "").replace(/'/g, '"');
337
- return n ? JSON.parse(n) : {};
338
- }
339
- function Xn(e, t = !0) {
340
- const n = localStorage.getItem(e), i = n ? JSON.parse(n) : {};
341
- return {
342
- get(r) {
343
- return r ? i[r] : i;
344
- },
345
- set(r, s) {
346
- return s ? i[r] = s : delete i[r], t && localStorage.setItem(e, JSON.stringify(i)), i;
347
- }
348
- };
349
- }
350
- function Ye(e, t, n, i = "--transition-duration") {
351
- return new Promise((r) => {
352
- if (typeof i == "string") {
353
- const s = Qn(i, e), a = !!s.includes("ms");
354
- i = parseFloat(s) * (a ? 1 : 1e3);
355
- }
356
- e.classList.remove(t.finish), e.classList.add(n.start), setTimeout(() => {
357
- e.classList.add(n.finish), e.classList.remove(n.start), r(e);
358
- }, i);
359
- });
360
- }
361
- function Yn(e, t) {
362
- t && document.querySelectorAll(t).forEach((n) => {
363
- e ? n.style.overflow = "hidden" : n.style.removeProperty("overflow");
364
- });
365
- }
366
- function Un(e, t) {
367
- t && document.querySelectorAll(t).forEach((n) => {
368
- e ? (n.inert = !0, n.setAttribute("aria-hidden", !0)) : (n.inert = null, n.removeAttribute("aria-hidden"));
369
- });
370
- }
371
- function ae(e, t) {
372
- Un(!!e, t.selectorInert), Yn(!!e, t.selectorOverflow);
373
- }
374
- const ti = {
375
- autoInit: !1,
376
- // Data attributes
377
- dataOpen: "drawer-open",
378
- dataClose: "drawer-close",
379
- dataToggle: "drawer-toggle",
380
- dataBreakpoint: "drawer-breakpoint",
381
- dataConfig: "drawer-config",
382
- // Selectors
383
- selectorDrawer: ".drawer",
384
- selectorDialog: ".drawer__dialog",
385
- selectorScreen: ".drawer",
386
- selectorFocus: "[data-focus]",
387
- selectorInert: null,
388
- selectorOverflow: "body",
389
- // State classes
390
- stateOpened: "is-opened",
391
- stateOpening: "is-opening",
392
- stateClosing: "is-closing",
393
- stateClosed: "is-closed",
394
- // Classes
395
- classModal: "drawer_modal",
396
- // Feature toggles
397
- breakpoints: null,
398
- customEventPrefix: "drawer:",
399
- eventListeners: !0,
400
- store: !0,
401
- storeKey: "VB:DrawerState",
402
- setTabindex: !0,
403
- transition: !0,
404
- transitionDuration: "--vb-drawer-transition-duration"
405
- };
406
- async function ei(e) {
407
- const t = e.target.closest(`
408
- [data-${this.settings.dataOpen}],
409
- [data-${this.settings.dataToggle}],
410
- [data-${this.settings.dataClose}]
411
- `);
412
- if (t) {
413
- e.preventDefault(), t.matches(`[data-${this.settings.dataToggle}]`) && t.getAttribute(`data-${this.settings.dataToggle}`).trim().split(" ").forEach((n) => {
414
- const i = this.get(n);
415
- return i.trigger = t, i.toggle();
416
- }), t.matches(`[data-${this.settings.dataOpen}]`) && t.getAttribute(`data-${this.settings.dataOpen}`).trim().split(" ").forEach((n) => {
417
- const i = this.get(n);
418
- return i.trigger = t, i.open();
419
- }), t.matches(`[data-${this.settings.dataClose}]`) && t.getAttribute(`data-${this.settings.dataClose}`).trim().split(" ").forEach((n) => {
420
- if (n) {
421
- const i = this.get(n);
422
- return i.trigger = t, i.close();
423
- } else {
424
- const i = e.target.closest(this.settings.selectorDrawer);
425
- if (i)
426
- return this.close(i);
427
- }
428
- });
429
- return;
430
- }
431
- if (this.activeModal && e.target.matches(this.settings.selectorScreen))
432
- return this.close(this.activeModal.id);
433
- }
434
- function ni(e) {
435
- if (e.key === "Escape" && this.activeModal)
436
- return this.close(this.activeModal);
437
- }
438
- async function ee(e, t = !0) {
439
- const n = this.collection.findIndex((i) => i.id === e.id);
440
- if (n >= 0) {
441
- const i = this.collection[n];
442
- t && i.state === "opened" && await i.close(!1), this.store.set(i.id), i.unmountBreakpoint(), Object.getOwnPropertyNames(i).forEach((r) => {
443
- delete i[r];
444
- }), this.collection.splice(n, 1);
445
- }
446
- return this.collection;
447
- }
448
- function ii(e) {
449
- e.store === "opened" ? e.open(!1, !1) : e.store === "closed" ? e.close(!1, !1) : e.store === "indeterminate" ? e.state = "indeterminate" : e.el.classList.contains(e.getSetting("stateOpened")) ? e.open(!1, !1) : e.el.classList.contains(e.getSetting("stateClosed")) ? e.close(!1, !1) : e.state = "indeterminate";
450
- }
451
- async function ri(e) {
452
- e.store === "opened" ? await e.open(!1, !1) : e.store === "closed" ? await e.close(!1, !1) : e.store === "indeterminate" ? e.state != "indeterminate" && (e.state = "indeterminate") : (e.state != e.inlineState && (e.state = e.inlineState), e.inlineState === "opened" ? await e.open(!1, !1) : e.inlineState === "closed" && await e.close(!1, !1));
453
- }
454
- function si(e) {
455
- const t = Xe(), n = e.getAttribute(`data-${this.settings.dataBreakpoint}`);
456
- return this.settings.breakpoints && this.settings.breakpoints[n] ? this.settings.breakpoints[n] : getComputedStyle(document.body).getPropertyValue(`--${t}breakpoint-${n}`).trim() ? getComputedStyle(document.body).getPropertyValue(`--${t}breakpoint-${n}`).trim() : n;
457
- }
458
- function le(e) {
459
- const t = typeof e == "string" ? this.get(e) : this.get(e.id);
460
- if (t)
461
- return t;
462
- throw new Error(`Drawer not found in collection with id of "${e.id || e}".`);
463
- }
464
- function Ue(e) {
465
- e.state === "opened" ? e.mode === "modal" ? this.focusTrap.mount(e.dialog, this.settings.selectorFocus) : this.focusTrap.focus(e.dialog, this.settings.selectorFocus) : (e.trigger && (e.trigger.focus(), e.trigger = null), this.focusTrap.unmount());
466
- }
467
- async function ce(e, t, n = !0) {
468
- const i = le.call(this, e), r = { ...this.settings, ...i.settings };
469
- return t !== void 0 && (r.transition = t), (i.state === "closed" || i.state === "indeterminate") && (i.state = "opening", r.transition ? await Ye(i.el, {
470
- start: r.stateClosing,
471
- finish: r.stateClosed
472
- }, {
473
- start: r.stateOpening,
474
- finish: r.stateOpened
475
- }, r.transitionDuration) : (i.el.classList.add(r.stateOpened), i.el.classList.remove(r.stateClosed)), i.state = "opened", i.mode === "modal" && ae(!0, r), n && Ue.call(this, i), i.el.dispatchEvent(new CustomEvent(r.customEventPrefix + "opened", {
476
- detail: this,
477
- bubbles: !0
478
- }))), i;
479
- }
480
- async function zt(e, t, n = !0) {
481
- const i = le.call(this, e), r = { ...this.settings, ...i.settings };
482
- return t !== void 0 && (r.transition = t), (i.state === "opened" || i.state === "indeterminate") && (i.state = "closing", document.activeElement.blur(), r.transition ? await Ye(i.el, {
483
- start: r.stateOpening,
484
- finish: r.stateOpened
485
- }, {
486
- start: r.stateClosing,
487
- finish: r.stateClosed
488
- }, r.transitionDuration) : (i.el.classList.add(r.stateClosed), i.el.classList.remove(r.stateOpened)), i.state = "closed", i.mode === "modal" && ae(!1, r), n && Ue.call(this, i), i.el.dispatchEvent(new CustomEvent(r.customEventPrefix + "closed", {
489
- detail: this,
490
- bubbles: !0
491
- }))), i;
492
- }
493
- async function tn(e, t, n) {
494
- const i = le.call(this, e);
495
- return i.state === "closed" ? ce.call(this, i, t, n) : zt.call(this, i, t, n);
496
- }
497
- function oi(e) {
498
- switch (e.mode) {
499
- case "inline":
500
- return ai.call(this, e);
501
- case "modal":
502
- return li.call(this, e);
503
- default:
504
- throw new Error(`"${e.mode}" is not a valid drawer mode.`);
505
- }
506
- }
507
- async function ai(e) {
508
- return e.el.classList.remove(e.getSetting("classModal")), e.dialog.removeAttribute("aria-modal"), ae(!1, { ...this.settings, ...e.settings }), this.focusTrap.unmount(), await ri(e), e.el.dispatchEvent(new CustomEvent(e.getSetting("customEventPrefix") + "switchMode", {
509
- detail: this,
510
- bubbles: !0
511
- })), e;
512
- }
513
- async function li(e) {
514
- return e.el.classList.add(e.getSetting("classModal")), e.dialog.setAttribute("aria-modal", "true"), await zt.call(this, e, !1, !1), e.el.dispatchEvent(new CustomEvent(e.getSetting("customEventPrefix") + "switchMode", {
515
- detail: this,
516
- bubbles: !0
517
- })), e;
518
- }
519
- async function ci(e, t = {}) {
520
- await ee.call(this, e, !1);
521
- const n = this, i = new Vn();
522
- let r, s = "indeterminate";
523
- const a = {
524
- id: e.id,
525
- el: e,
526
- dialog: null,
527
- trigger: null,
528
- settings: { ...Zn(e, this.settings.dataConfig), ...t },
529
- inlineState: "indeterminate",
530
- get breakpoint() {
531
- return si.call(n, e);
532
- },
533
- get store() {
534
- return n.store.get(this.id);
535
- },
536
- get mode() {
537
- return r;
538
- },
539
- set mode(o) {
540
- r = o, oi.call(n, this);
541
- },
542
- get state() {
543
- return s;
544
- },
545
- set state(o) {
546
- s = o, this.mode === "inline" && o != "opening" && o != "closing" && (this.inlineState = o, this.getSetting("store") && n.store.set(this.id, o)), o === "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")));
547
- },
548
- open(o, l) {
549
- return ce.call(n, this, o, l);
550
- },
551
- close(o, l) {
552
- return zt.call(n, this, o, l);
553
- },
554
- toggle(o, l) {
555
- return tn.call(n, this, o, l);
556
- },
557
- deregister() {
558
- return ee.call(n, this);
559
- },
560
- mountBreakpoint() {
561
- const o = this.breakpoint, l = this.handleBreakpoint.bind(this);
562
- return i.mount(o, l), this;
563
- },
564
- unmountBreakpoint() {
565
- return i.unmount(), this;
566
- },
567
- handleBreakpoint(o) {
568
- const l = o.matches ? "inline" : "modal";
569
- return this.mode != l && (this.mode = l), this;
570
- },
571
- getSetting(o) {
572
- return o in this.settings ? this.settings[o] : n.settings[o];
573
- }
574
- };
575
- this.collection.push(a);
576
- const c = e.querySelector(a.getSetting("selectorDialog"));
577
- return a.dialog = c || e, a.getSetting("setTabindex") && a.dialog.setAttribute("tabindex", "-1"), await ii(a), a.inlineState = a.state, a.mode = e.classList.contains(a.getSetting("classModal")) ? "modal" : "inline", a.breakpoint && a.mountBreakpoint(), a;
578
- }
579
- var Et, xt;
580
- let Zr = class extends Hn {
581
- constructor(t) {
582
- super(), Ae(this, Et, void 0), Ae(this, xt, void 0), this.defaults = ti, this.settings = { ...this.defaults, ...t }, this.focusTrap = new zn(), this.store = Xn(this.settings.storeKey, this.settings.store), Pe(this, Et, ei.bind(this)), Pe(this, xt, ni.bind(this)), this.settings.autoInit && this.init();
583
- }
584
- get activeModal() {
585
- return this.collection.find((t) => t.state === "opened" && t.mode === "modal");
586
- }
587
- async init(t = null) {
588
- t && (this.settings = { ...this.settings, ...t });
589
- const n = document.querySelectorAll(this.settings.selectorDrawer);
590
- return await this.registerCollection(n), this.settings.eventListeners && this.initEventListeners(), this;
591
- }
592
- async destroy() {
593
- return await this.deregisterCollection(), this.settings.eventListeners && this.destroyEventListeners(), this;
594
- }
595
- initEventListeners() {
596
- document.addEventListener("click", Wt(this, Et), !1), document.addEventListener("keydown", Wt(this, xt), !1);
597
- }
598
- destroyEventListeners() {
599
- document.removeEventListener("click", Wt(this, Et), !1), document.removeEventListener("keydown", Wt(this, xt), !1);
600
- }
601
- register(t, n = {}) {
602
- let i = typeof t == "string" ? document.getElementById(t) : t;
603
- return i ? ci.call(this, i, n) : Promise.reject(new Error(`Failed to register; drawer not found with ID of: "${t.id || t}".`));
604
- }
605
- deregister(t) {
606
- let n = this.get(t.id || t);
607
- return n ? ee.call(this, n) : Promise.reject(new Error(`Failed to deregister; drawer does not exist in collection with ID of: "${t.id || t}".`));
608
- }
609
- open(t, n, i) {
610
- return ce.call(this, t, n, i);
611
- }
612
- close(t, n, i) {
613
- return zt.call(this, t, n, i);
614
- }
615
- toggle(t, n, i) {
616
- return tn.call(this, t, n, i);
617
- }
618
- };
619
- Et = /* @__PURE__ */ new WeakMap(), xt = /* @__PURE__ */ new WeakMap();
620
- var en = (e, t, n) => {
621
- if (!t.has(e))
622
- throw TypeError("Cannot " + n);
623
- }, _t = (e, t, n) => (en(e, t, "read from private field"), n ? n.call(e) : t.get(e)), De = (e, t, n) => {
624
- if (t.has(e))
625
- throw TypeError("Cannot add the same private member more than once");
626
- t instanceof WeakSet ? t.add(e) : t.set(e, n);
627
- }, Me = (e, t, n, i) => (en(e, t, "write to private field"), i ? i.call(e, n) : t.set(e, n), n), nn = (e, t, n) => {
628
- if (!t.has(e))
629
- throw TypeError("Cannot " + n);
630
- }, Q = (e, t, n) => (nn(e, t, "read from private field"), n ? n.call(e) : t.get(e)), Yt = (e, t, n) => {
631
- if (t.has(e))
632
- throw TypeError("Cannot add the same private member more than once");
633
- t instanceof WeakSet ? t.add(e) : t.set(e, n);
634
- }, Ut = (e, t, n, i) => (nn(e, t, "write to private field"), i ? i.call(e, n) : t.set(e, n), n);
635
- class di {
636
- constructor() {
637
- this.collection = [];
638
- }
639
- async register(t) {
640
- return await this.deregister(t), this.collection.push(t), this.collection;
641
- }
642
- async deregister(t) {
643
- const n = this.collection.findIndex((i) => i === t);
644
- if (n >= 0) {
645
- const i = this.collection[n];
646
- Object.getOwnPropertyNames(i).forEach((r) => {
647
- delete i[r];
648
- }), this.collection.splice(n, 1);
649
- }
650
- return this.collection;
651
- }
652
- async registerCollection(t) {
653
- return await Promise.all(Array.from(t, (n) => {
654
- this.register(n);
655
- })), this.collection;
656
- }
657
- async deregisterCollection() {
658
- for (; this.collection.length > 0; )
659
- await this.deregister(this.collection[0]);
660
- return this.collection;
661
- }
662
- get(t, n = "id") {
663
- return this.collection.find((i) => i[n] === t);
664
- }
665
- }
666
- const m = {
667
- inert: ":not([inert]):not([inert] *)",
668
- negTabIndex: ':not([tabindex^="-"])',
669
- disabled: ":not(:disabled)"
670
- }, ui = [
671
- `a[href]${m.inert}${m.negTabIndex}`,
672
- `area[href]${m.inert}${m.negTabIndex}`,
673
- `input:not([type="hidden"]):not([type="radio"])${m.inert}${m.negTabIndex}${m.disabled}`,
674
- `input[type="radio"]${m.inert}${m.negTabIndex}${m.disabled}`,
675
- `select${m.inert}${m.negTabIndex}${m.disabled}`,
676
- `textarea${m.inert}${m.negTabIndex}${m.disabled}`,
677
- `button${m.inert}${m.negTabIndex}${m.disabled}`,
678
- `details${m.inert} > summary:first-of-type${m.negTabIndex}`,
679
- // Discard until Firefox supports `:has()`
680
- // See: https://github.com/KittyGiraudel/focusable-selectors/issues/12
681
- // `details:not(:has(> summary))${not.inert}${not.negTabIndex}`,
682
- `iframe${m.inert}${m.negTabIndex}`,
683
- `audio[controls]${m.inert}${m.negTabIndex}`,
684
- `video[controls]${m.inert}${m.negTabIndex}`,
685
- `[contenteditable]${m.inert}${m.negTabIndex}`,
686
- `[tabindex]${m.inert}${m.negTabIndex}`
687
- ];
688
- var Ot, ut, ht;
689
- class hi {
690
- constructor(t = null, n = "[data-focus]") {
691
- Yt(this, Ot, void 0), Yt(this, ut, void 0), Yt(this, ht, void 0), this.el = t, this.selectorFocus = n, Ut(this, ut, fi.bind(this)), Ut(this, ht, pi.bind(this));
692
- }
693
- get focusable() {
694
- return Q(this, Ot);
695
- }
696
- set focusable(t) {
697
- Ut(this, Ot, t), Q(this, Ot).length ? (document.removeEventListener("keydown", Q(this, ht)), document.addEventListener("keydown", Q(this, ut))) : (document.removeEventListener("keydown", Q(this, ut)), document.addEventListener("keydown", Q(this, ht)));
698
- }
699
- get focusableFirst() {
700
- return this.focusable[0];
701
- }
702
- get focusableLast() {
703
- return this.focusable[this.focusable.length - 1];
704
- }
705
- mount(t, n) {
706
- t && (this.el = t), n && (this.selectorFocus = n), this.focusable = this.getFocusable(), this.focus();
707
- }
708
- unmount() {
709
- this.el = null, this.focusable = [], document.removeEventListener("keydown", Q(this, ut)), document.removeEventListener("keydown", Q(this, ht));
710
- }
711
- focus(t = this.el, n = this.selectorFocus) {
712
- (t.querySelector(n) || t).focus();
713
- }
714
- getFocusable(t = this.el) {
715
- const n = [], i = document.activeElement, r = t.scrollTop;
716
- return t.querySelectorAll(ui.join(",")).forEach((s) => {
717
- s.focus(), document.activeElement === s && n.push(s);
718
- }), t.scrollTop = r, i.focus(), n;
719
- }
720
- }
721
- Ot = /* @__PURE__ */ new WeakMap(), ut = /* @__PURE__ */ new WeakMap(), ht = /* @__PURE__ */ new WeakMap();
722
- function fi(e) {
723
- (e.key === "Tab" || e.keyCode === 9) && (e.shiftKey ? (document.activeElement === this.focusableFirst || document.activeElement === this.el) && (e.preventDefault(), this.focusableLast.focus()) : (document.activeElement === this.focusableLast || document.activeElement === this.el) && (e.preventDefault(), this.focusableFirst.focus()));
724
- }
725
- function pi(e) {
726
- (e.key === "Tab" || e.keyCode === 9) && e.preventDefault();
727
- }
728
- function gi() {
729
- return getComputedStyle(document.body).getPropertyValue("--vrembem-prefix").trim();
730
- }
731
- function mi(e, t = document.body, n = !0) {
732
- if (n) {
733
- const r = gi();
734
- r && !e.includes(`--${r}`) && (e = e.replace("--", `--${r}`));
735
- }
736
- const i = getComputedStyle(t).getPropertyValue(e).trim();
737
- if (i)
738
- return i;
739
- throw new Error(`CSS variable "${e}" was not found!`);
740
- }
741
- function vi(e, t) {
742
- const n = (e.getAttribute(`data-${t}`) || "").replace(/'/g, '"');
743
- return n ? JSON.parse(n) : {};
744
- }
745
- function je(e, t, n) {
746
- const i = t.nodeType === Node.COMMENT_NODE, r = t.nodeType === Node.ELEMENT_NODE;
747
- if (t = i || r ? t : document.querySelector(t), i && (n = "after"), !t)
748
- throw new Error(`Not a valid teleport reference: '${t}'`);
749
- if (typeof t[n] != "function")
750
- throw new Error(`Not a valid teleport method: '${n}'`);
751
- let s = null;
752
- return i || (s = document.createComment("teleported #" + e.id), e.before(s)), t[n](e), i && t.remove(), s;
753
- }
754
- function rn(e, t, n, i = "--transition-duration") {
755
- return new Promise((r) => {
756
- if (typeof i == "string") {
757
- const s = mi(i, e), a = !!s.includes("ms");
758
- i = parseFloat(s) * (a ? 1 : 1e3);
759
- }
760
- e.classList.remove(t.finish), e.classList.add(n.start), setTimeout(() => {
761
- e.classList.add(n.finish), e.classList.remove(n.start), r(e);
762
- }, i);
763
- });
764
- }
765
- function bi(e, t) {
766
- t && document.querySelectorAll(t).forEach((n) => {
767
- e ? n.style.overflow = "hidden" : n.style.removeProperty("overflow");
768
- });
769
- }
770
- function yi(e, t) {
771
- t && document.querySelectorAll(t).forEach((n) => {
772
- e ? (n.inert = !0, n.setAttribute("aria-hidden", !0)) : (n.inert = null, n.removeAttribute("aria-hidden"));
773
- });
774
- }
775
- function wi(e, t) {
776
- yi(!!e, t.selectorInert), bi(!!e, t.selectorOverflow);
777
- }
778
- const $i = {
779
- autoInit: !1,
780
- // Data attributes
781
- dataOpen: "modal-open",
782
- dataClose: "modal-close",
783
- dataReplace: "modal-replace",
784
- dataConfig: "modal-config",
785
- // Selectors
786
- selectorModal: ".modal",
787
- selectorDialog: ".modal__dialog",
788
- selectorScreen: ".modal",
789
- selectorRequired: '[role="alertdialog"]',
790
- selectorFocus: "[data-focus]",
791
- selectorInert: null,
792
- selectorOverflow: "body",
793
- // State classes
794
- stateOpened: "is-opened",
795
- stateOpening: "is-opening",
796
- stateClosing: "is-closing",
797
- stateClosed: "is-closed",
798
- // Feature settings
799
- customEventPrefix: "modal:",
800
- eventListeners: !0,
801
- teleport: null,
802
- teleportMethod: "append",
803
- setTabindex: !0,
804
- transition: !0,
805
- transitionDuration: "--vb-modal-transition-duration"
806
- };
807
- async function Ei(e) {
808
- const t = e.target.closest(`
809
- [data-${this.settings.dataOpen}],
810
- [data-${this.settings.dataReplace}],
811
- [data-${this.settings.dataClose}]
812
- `);
813
- if (t) {
814
- if (e.preventDefault(), t.matches(`[data-${this.settings.dataOpen}]`)) {
815
- const n = t.getAttribute(`data-${this.settings.dataOpen}`).trim(), i = this.get(n);
816
- return e.target.closest(this.settings.selectorModal) || (this.trigger = t), i.open();
817
- }
818
- if (t.matches(`[data-${this.settings.dataReplace}]`)) {
819
- const n = t.getAttribute(`data-${this.settings.dataReplace}`).trim(), i = this.get(n);
820
- return e.target.closest(this.settings.selectorModal) || (this.trigger = t), i.replace();
821
- }
822
- if (t.matches(`[data-${this.settings.dataClose}]`)) {
823
- const n = t.getAttribute(`data-${this.settings.dataClose}`).trim();
824
- return n === "*" ? this.closeAll() : this.close(n);
825
- }
826
- }
827
- if (this.active && e.target.matches(this.settings.selectorScreen) && !this.active.required)
828
- return this.close(this.active.id);
829
- }
830
- function xi(e) {
831
- if (e.key === "Escape" && this.active && !this.active.dialog.matches(this.settings.selectorRequired))
832
- return this.close();
833
- }
834
- async function ne(e, t = !0) {
835
- const n = this.collection.findIndex((i) => i.id === e.id);
836
- if (n >= 0) {
837
- const i = this.collection[n];
838
- t && i.state === "opened" ? await i.close(!1) : this.stack.remove(i), i.getSetting("teleport") && i.teleportReturn(), Object.getOwnPropertyNames(i).forEach((r) => {
839
- delete i[r];
840
- }), this.collection.splice(n, 1);
841
- }
842
- return this.collection;
843
- }
844
- function de(e) {
845
- const t = typeof e == "string" ? this.get(e) : this.get(e.id);
846
- if (t)
847
- return t;
848
- throw new Error(`Modal not found in collection with id of "${e.id || e}".`);
849
- }
850
- function Kt() {
851
- this.active ? this.focusTrap.mount(this.active.dialog, this.settings.selectorFocus) : (this.trigger && (this.trigger.focus(), this.trigger = null), this.focusTrap.unmount());
852
- }
853
- async function ue(e, t, n = !0) {
854
- const i = de.call(this, e), r = { ...this.settings, ...i.settings };
855
- return t !== void 0 && (r.transition = t), this.stack.moveToTop(i), i.state === "closed" && (i.state = "opening", this.stack.add(i), r.transition ? await rn(i.el, {
856
- start: r.stateClosing,
857
- finish: r.stateClosed
858
- }, {
859
- start: r.stateOpening,
860
- finish: r.stateOpened
861
- }, r.transitionDuration) : (i.el.classList.add(r.stateOpened), i.el.classList.remove(r.stateClosed)), i.state = "opened"), n && Kt.call(this), i.el.dispatchEvent(new CustomEvent(r.customEventPrefix + "opened", {
862
- detail: this,
863
- bubbles: !0
864
- })), i;
865
- }
866
- async function he(e, t, n = !0) {
867
- const i = e ? de.call(this, e) : this.active;
868
- if (i && i.state === "opened") {
869
- i.state = "closing";
870
- const r = { ...this.settings, ...i.settings };
871
- t !== void 0 && (r.transition = t), document.activeElement.blur(), r.transition ? await rn(i.el, {
872
- start: r.stateOpening,
873
- finish: r.stateOpened
874
- }, {
875
- start: r.stateClosing,
876
- finish: r.stateClosed
877
- }, r.transitionDuration) : (i.el.classList.add(r.stateClosed), i.el.classList.remove(r.stateOpened)), this.stack.remove(i), i.state = "closed", n && Kt.call(this), i.el.dispatchEvent(new CustomEvent(r.customEventPrefix + "closed", {
878
- detail: this,
879
- bubbles: !0
880
- }));
881
- }
882
- return i;
883
- }
884
- async function ie(e, t) {
885
- const n = [];
886
- return await Promise.all(this.stack.value.map(async (i) => {
887
- e && e === i.id ? Promise.resolve() : n.push(await he.call(this, i, t, !1)), i.trigger = null;
888
- })), n;
889
- }
890
- async function sn(e, t, n = !0) {
891
- const i = de.call(this, e);
892
- let r, s;
893
- return i.state === "opened" ? (r = i, s = await ie.call(this, i.id, t)) : (s = ie.call(this, !1, t), r = ue.call(this, i, t, !1), await Promise.all([r, s])), n && Kt.call(this), { opened: r, closed: s };
894
- }
895
- async function Oi(e, t = {}) {
896
- await ne.call(this, e, !1);
897
- const n = this, i = {
898
- id: e.id,
899
- state: "closed",
900
- el: e,
901
- dialog: null,
902
- get required() {
903
- return this.dialog.matches(this.getSetting("selectorRequired"));
904
- },
905
- returnRef: null,
906
- settings: { ...vi(e, this.settings.dataConfig), ...t },
907
- open(s, a) {
908
- return ue.call(n, this, s, a);
909
- },
910
- close(s, a) {
911
- return he.call(n, this, s, a);
912
- },
913
- replace(s, a) {
914
- return sn.call(n, this, s, a);
915
- },
916
- deregister() {
917
- return ne.call(n, this);
918
- },
919
- teleport(s = this.getSetting("teleport"), a = this.getSetting("teleportMethod")) {
920
- return this.returnRef ? (console.error("Element has already been teleported:", this.el), !1) : (this.returnRef = je(this.el, s, a), this.el);
921
- },
922
- teleportReturn() {
923
- return this.returnRef ? (this.returnRef = je(this.el, this.returnRef), this.el) : (console.error("No return reference found:", this.el), !1);
924
- },
925
- getSetting(s) {
926
- return s in this.settings ? this.settings[s] : n.settings[s];
927
- }
928
- }, r = e.querySelector(i.getSetting("selectorDialog"));
929
- return i.dialog = r || e, i.dialog.setAttribute("aria-modal", "true"), i.dialog.hasAttribute("role") || i.dialog.setAttribute("role", "dialog"), i.getSetting("setTabindex") && i.dialog.setAttribute("tabindex", "-1"), i.getSetting("teleport") && i.teleport(), this.collection.push(i), i.el.classList.contains(this.settings.stateOpened) ? await i.open(!1) : (i.el.classList.remove(this.settings.stateOpening), i.el.classList.remove(this.settings.stateClosing), i.el.classList.add(this.settings.stateClosed)), i;
930
- }
931
- function Li(e) {
932
- const t = [];
933
- return {
934
- get value() {
935
- return [...t];
936
- },
937
- get top() {
938
- return t[t.length - 1];
939
- },
940
- updateIndex() {
941
- t.forEach((n, i) => {
942
- n.el.style.zIndex = null;
943
- const r = getComputedStyle(n.el)["z-index"];
944
- n.el.style.zIndex = parseInt(r) + i + 1;
945
- });
946
- },
947
- updateGlobalState() {
948
- wi(this.top, e), this.updateIndex();
949
- },
950
- add(n) {
951
- n.el.style.zIndex = null;
952
- const i = getComputedStyle(n.el)["z-index"];
953
- n.el.style.zIndex = parseInt(i) + t.length + 1, t.push(n), this.updateGlobalState();
954
- },
955
- remove(n) {
956
- const i = t.findIndex((r) => r.id === n.id);
957
- i >= 0 && (n.el.style.zIndex = null, t.splice(i, 1), this.updateGlobalState());
958
- },
959
- moveToTop(n) {
960
- const i = t.findIndex((r) => r.id === n.id);
961
- i >= 0 && (t.splice(i, 1), this.add(n));
962
- }
963
- };
964
- }
965
- var Lt, kt;
966
- let Yr = class extends di {
967
- constructor(t) {
968
- super(), De(this, Lt, void 0), De(this, kt, void 0), this.defaults = $i, this.settings = { ...this.defaults, ...t }, this.trigger = null, this.focusTrap = new hi(), this.stack = Li(this.settings), Me(this, Lt, Ei.bind(this)), Me(this, kt, xi.bind(this)), this.settings.autoInit && this.init();
969
- }
970
- get active() {
971
- return this.stack.top;
972
- }
973
- async init(t) {
974
- t && (this.settings = { ...this.settings, ...t });
975
- const n = document.querySelectorAll(this.settings.selectorModal);
976
- return await this.registerCollection(n), this.settings.eventListeners && this.initEventListeners(), this;
977
- }
978
- async destroy() {
979
- return this.trigger = null, await this.deregisterCollection(), this.settings.eventListeners && this.destroyEventListeners(), this;
980
- }
981
- initEventListeners() {
982
- document.addEventListener("click", _t(this, Lt), !1), document.addEventListener("keydown", _t(this, kt), !1);
983
- }
984
- destroyEventListeners() {
985
- document.removeEventListener("click", _t(this, Lt), !1), document.removeEventListener("keydown", _t(this, kt), !1);
986
- }
987
- register(t, n = {}) {
988
- let i = typeof t == "string" ? document.getElementById(t) : t;
989
- return i ? Oi.call(this, i, n) : Promise.reject(new Error(`Failed to register; modal not found with ID of: "${t.id || t}".`));
990
- }
991
- deregister(t) {
992
- let n = this.get(t.id || t);
993
- return n ? ne.call(this, n) : Promise.reject(new Error(`Failed to deregister; modal does not exist in collection with ID of: "${t.id || t}".`));
994
- }
995
- open(t, n, i) {
996
- return ue.call(this, t, n, i);
997
- }
998
- close(t, n, i) {
999
- return he.call(this, t, n, i);
1000
- }
1001
- replace(t, n, i) {
1002
- return sn.call(this, t, n, i);
1003
- }
1004
- async closeAll(t = !1, n, i = !0) {
1005
- const r = await ie.call(this, t, n);
1006
- return i && Kt.call(this), r;
1007
- }
1008
- };
1009
- Lt = /* @__PURE__ */ new WeakMap(), kt = /* @__PURE__ */ new WeakMap();
1010
- var on = (e, t, n) => {
1011
- if (!t.has(e))
1012
- throw TypeError("Cannot " + n);
1013
- }, qe = (e, t, n) => (on(e, t, "read from private field"), n ? n.call(e) : t.get(e)), ki = (e, t, n) => {
1014
- if (t.has(e))
1015
- throw TypeError("Cannot add the same private member more than once");
1016
- t instanceof WeakSet ? t.add(e) : t.set(e, n);
1017
- }, Ti = (e, t, n, i) => (on(e, t, "write to private field"), i ? i.call(e, n) : t.set(e, n), n);
1018
- class Si {
1019
- constructor() {
1020
- this.collection = [];
1021
- }
1022
- async register(t) {
1023
- return await this.deregister(t), this.collection.push(t), this.collection;
1024
- }
1025
- async deregister(t) {
1026
- const n = this.collection.findIndex((i) => i === t);
1027
- if (n >= 0) {
1028
- const i = this.collection[n];
1029
- Object.getOwnPropertyNames(i).forEach((r) => {
1030
- delete i[r];
1031
- }), this.collection.splice(n, 1);
1032
- }
1033
- return this.collection;
1034
- }
1035
- async registerCollection(t) {
1036
- return await Promise.all(Array.from(t, (n) => {
1037
- this.register(n);
1038
- })), this.collection;
1039
- }
1040
- async deregisterCollection() {
1041
- for (; this.collection.length > 0; )
1042
- await this.deregister(this.collection[0]);
1043
- return this.collection;
1044
- }
1045
- get(t, n = "id") {
1046
- return this.collection.find((i) => i[n] === t);
1047
- }
1048
- }
1049
- function Ci() {
1050
- return getComputedStyle(document.body).getPropertyValue("--vrembem-prefix").trim();
1051
- }
1052
- const Ii = {
1053
- autoInit: !1,
1054
- // Selectors
1055
- selectorPopover: ".popover",
1056
- selectorArrow: ".popover__arrow",
1057
- // State classes
1058
- stateActive: "is-active",
1059
- // Feature settings
1060
- eventListeners: !0,
1061
- eventType: "click",
1062
- placement: "bottom"
1063
- };
1064
- function an(e, t) {
1065
- const n = getComputedStyle(e), i = {
1066
- placement: t.placement,
1067
- event: t.eventType,
1068
- offset: 0,
1069
- "overflow-padding": 0,
1070
- "flip-padding": 0,
1071
- "arrow-element": t.selectorArrow,
1072
- "arrow-padding": 0
1073
- };
1074
- for (const r in i) {
1075
- const s = Ci(), a = n.getPropertyValue(`--${s}popover-${r}`).trim();
1076
- a && (i[r] = a);
1077
- }
1078
- return i;
1079
- }
1080
- function te(e) {
1081
- let t;
1082
- const n = typeof e == "string" ? e.trim().split(" ") : [e];
1083
- switch (n.forEach(function(i, r) {
1084
- n[r] = parseInt(i, 10);
1085
- }), n.length) {
1086
- case 1:
1087
- t = n[0];
1088
- break;
1089
- case 2:
1090
- t = {
1091
- top: n[0],
1092
- right: n[1],
1093
- bottom: n[0],
1094
- left: n[1]
1095
- };
1096
- break;
1097
- case 3:
1098
- t = {
1099
- top: n[0],
1100
- right: n[1],
1101
- bottom: n[2],
1102
- left: n[1]
1103
- };
1104
- break;
1105
- case 4:
1106
- t = {
1107
- top: n[0],
1108
- right: n[1],
1109
- bottom: n[2],
1110
- left: n[3]
1111
- };
1112
- break;
1113
- default:
1114
- t = !1;
1115
- break;
1116
- }
1117
- return t;
1118
- }
1119
- function Ai(e) {
1120
- return [{
1121
- name: "offset",
1122
- options: {
1123
- offset: [0, parseInt(e.offset, 10)]
1124
- }
1125
- }, {
1126
- name: "preventOverflow",
1127
- options: {
1128
- padding: te(e["overflow-padding"])
1129
- }
1130
- }, {
1131
- name: "flip",
1132
- options: {
1133
- padding: te(e["flip-padding"])
1134
- }
1135
- }, {
1136
- name: "arrow",
1137
- options: {
1138
- element: e["arrow-element"],
1139
- padding: te(e["arrow-padding"])
1140
- }
1141
- }];
1142
- }
1143
- function ln(e) {
1144
- const t = typeof e == "string" ? this.get(e) : this.get(e.id);
1145
- if (t)
1146
- return t;
1147
- throw new Error(`Popover not found in collection with id of "${e}".`);
1148
- }
1149
- function Pi(e) {
1150
- return typeof e == "string" ? e : typeof e.hasAttribute == "function" ? e.closest(this.settings.selectorPopover) ? (e = e.closest(this.settings.selectorPopover), e.id) : e.hasAttribute("aria-controls") ? e.getAttribute("aria-controls") : e.hasAttribute("aria-describedby") ? e.getAttribute("aria-describedby") : !1 : !1;
1151
- }
1152
- function Di(e) {
1153
- const t = Pi.call(this, e);
1154
- if (t) {
1155
- const n = document.querySelector(`#${t}`), i = document.querySelector(`[aria-controls="${t}"]`) || document.querySelector(`[aria-describedby="${t}"]`);
1156
- return !i && !n ? { error: new Error(`No popover elements found using the ID: "${t}".`) } : i ? n ? { popover: n, trigger: i } : { error: new Error("No popover associated with the provided popover trigger.") } : { error: new Error("No popover trigger associated with the provided popover.") };
1157
- } else
1158
- return { error: new Error("Could not resolve the popover ID.") };
1159
- }
1160
- async function fe(e) {
1161
- const t = e ? ln.call(this, e) : await cn.call(this);
1162
- return t && t.state === "opened" && (t.el.classList.remove(this.settings.stateActive), t.trigger.hasAttribute("aria-controls") && t.trigger.setAttribute("aria-expanded", "false"), t.popper.setOptions({
1163
- modifiers: [{ name: "eventListeners", enabled: !1 }]
1164
- }), t.state = "closed", t.trigger === this.trigger && (this.trigger = null)), t;
1165
- }
1166
- async function cn() {
1167
- const e = [];
1168
- return await Promise.all(this.collection.map(async (t) => {
1169
- t.state === "opened" && e.push(await fe.call(this, t));
1170
- })), e;
1171
- }
1172
- function dn(e) {
1173
- e.state == "opened" && setTimeout(() => {
1174
- const t = e.el.closest(":hover") === e.el || e.trigger.closest(":hover") === e.trigger, n = document.activeElement.closest(
1175
- `#${e.id}, [aria-controls="${e.id}"], [aria-describedby="${e.id}"]`
1176
- );
1177
- return !t && !n && e.close(), e;
1178
- }, 1);
1179
- }
1180
- function Mi(e) {
1181
- e.state === "opened" ? e.close() : (this.trigger = e.trigger, e.open(), un.call(this, e));
1182
- }
1183
- function ji(e) {
1184
- switch (e.key) {
1185
- case "Escape":
1186
- this.trigger && this.trigger.focus(), cn.call(this);
1187
- return;
1188
- case "Tab":
1189
- this.collection.forEach((t) => {
1190
- dn.call(this, t);
1191
- });
1192
- return;
1193
- default:
1194
- return;
1195
- }
1196
- }
1197
- function un(e) {
1198
- const t = this;
1199
- document.addEventListener("click", function n(i) {
1200
- i.target.closest(
1201
- `#${e.id}, [aria-controls="${e.id}"], [aria-describedby="${e.id}"]`
1202
- ) ? e.el && !e.el.classList.contains(t.settings.stateActive) && this.removeEventListener("click", n) : (e.el && e.el.classList.contains(t.settings.stateActive) && e.close(), this.removeEventListener("click", n));
1203
- });
1204
- }
1205
- var P = "top", W = "bottom", _ = "right", D = "left", pe = "auto", Pt = [P, W, _, D], ft = "start", It = "end", qi = "clippingParents", hn = "viewport", yt = "popper", Fi = "reference", Fe = /* @__PURE__ */ Pt.reduce(function(e, t) {
1206
- return e.concat([t + "-" + ft, t + "-" + It]);
1207
- }, []), fn = /* @__PURE__ */ [].concat(Pt, [pe]).reduce(function(e, t) {
1208
- return e.concat([t, t + "-" + ft, t + "-" + It]);
1209
- }, []), Ni = "beforeRead", Wi = "read", _i = "afterRead", Bi = "beforeMain", Ri = "main", Vi = "afterMain", Hi = "beforeWrite", Ji = "write", zi = "afterWrite", Ki = [Ni, Wi, _i, Bi, Ri, Vi, Hi, Ji, zi];
1210
- function z(e) {
1211
- return e ? (e.nodeName || "").toLowerCase() : null;
1212
- }
1213
- function F(e) {
1214
- if (e == null)
1215
- return window;
1216
- if (e.toString() !== "[object Window]") {
1217
- var t = e.ownerDocument;
1218
- return t && t.defaultView || window;
1219
- }
1220
- return e;
1221
- }
1222
- function st(e) {
1223
- var t = F(e).Element;
1224
- return e instanceof t || e instanceof Element;
1225
- }
1226
- function N(e) {
1227
- var t = F(e).HTMLElement;
1228
- return e instanceof t || e instanceof HTMLElement;
1229
- }
1230
- function ge(e) {
1231
- if (typeof ShadowRoot > "u")
1232
- return !1;
1233
- var t = F(e).ShadowRoot;
1234
- return e instanceof t || e instanceof ShadowRoot;
1235
- }
1236
- function Gi(e) {
1237
- var t = e.state;
1238
- Object.keys(t.elements).forEach(function(n) {
1239
- var i = t.styles[n] || {}, r = t.attributes[n] || {}, s = t.elements[n];
1240
- !N(s) || !z(s) || (Object.assign(s.style, i), Object.keys(r).forEach(function(a) {
1241
- var c = r[a];
1242
- c === !1 ? s.removeAttribute(a) : s.setAttribute(a, c === !0 ? "" : c);
1243
- }));
1244
- });
1245
- }
1246
- function Qi(e) {
1247
- var t = e.state, n = {
1248
- popper: {
1249
- position: t.options.strategy,
1250
- left: "0",
1251
- top: "0",
1252
- margin: "0"
1253
- },
1254
- arrow: {
1255
- position: "absolute"
1256
- },
1257
- reference: {}
1258
- };
1259
- return Object.assign(t.elements.popper.style, n.popper), t.styles = n, t.elements.arrow && Object.assign(t.elements.arrow.style, n.arrow), function() {
1260
- Object.keys(t.elements).forEach(function(i) {
1261
- var r = t.elements[i], s = t.attributes[i] || {}, a = Object.keys(t.styles.hasOwnProperty(i) ? t.styles[i] : n[i]), c = a.reduce(function(o, l) {
1262
- return o[l] = "", o;
1263
- }, {});
1264
- !N(r) || !z(r) || (Object.assign(r.style, c), Object.keys(s).forEach(function(o) {
1265
- r.removeAttribute(o);
1266
- }));
1267
- });
1268
- };
1269
- }
1270
- const Zi = {
1271
- name: "applyStyles",
1272
- enabled: !0,
1273
- phase: "write",
1274
- fn: Gi,
1275
- effect: Qi,
1276
- requires: ["computeStyles"]
1277
- };
1278
- function J(e) {
1279
- return e.split("-")[0];
1280
- }
1281
- var rt = Math.max, Jt = Math.min, pt = Math.round;
1282
- function re() {
1283
- var e = navigator.userAgentData;
1284
- return e != null && e.brands && Array.isArray(e.brands) ? e.brands.map(function(t) {
1285
- return t.brand + "/" + t.version;
1286
- }).join(" ") : navigator.userAgent;
1287
- }
1288
- function pn() {
1289
- return !/^((?!chrome|android).)*safari/i.test(re());
1290
- }
1291
- function gt(e, t, n) {
1292
- t === void 0 && (t = !1), n === void 0 && (n = !1);
1293
- var i = e.getBoundingClientRect(), r = 1, s = 1;
1294
- t && N(e) && (r = e.offsetWidth > 0 && pt(i.width) / e.offsetWidth || 1, s = e.offsetHeight > 0 && pt(i.height) / e.offsetHeight || 1);
1295
- var a = st(e) ? F(e) : window, c = a.visualViewport, o = !pn() && n, l = (i.left + (o && c ? c.offsetLeft : 0)) / r, d = (i.top + (o && c ? c.offsetTop : 0)) / s, b = i.width / r, v = i.height / s;
1296
- return {
1297
- width: b,
1298
- height: v,
1299
- top: d,
1300
- right: l + b,
1301
- bottom: d + v,
1302
- left: l,
1303
- x: l,
1304
- y: d
1305
- };
1306
- }
1307
- function me(e) {
1308
- var t = gt(e), n = e.offsetWidth, i = e.offsetHeight;
1309
- return Math.abs(t.width - n) <= 1 && (n = t.width), Math.abs(t.height - i) <= 1 && (i = t.height), {
1310
- x: e.offsetLeft,
1311
- y: e.offsetTop,
1312
- width: n,
1313
- height: i
1314
- };
1315
- }
1316
- function gn(e, t) {
1317
- var n = t.getRootNode && t.getRootNode();
1318
- if (e.contains(t))
1319
- return !0;
1320
- if (n && ge(n)) {
1321
- var i = t;
1322
- do {
1323
- if (i && e.isSameNode(i))
1324
- return !0;
1325
- i = i.parentNode || i.host;
1326
- } while (i);
1327
- }
1328
- return !1;
1329
- }
1330
- function G(e) {
1331
- return F(e).getComputedStyle(e);
1332
- }
1333
- function Xi(e) {
1334
- return ["table", "td", "th"].indexOf(z(e)) >= 0;
1335
- }
1336
- function Z(e) {
1337
- return ((st(e) ? e.ownerDocument : (
1338
- // $FlowFixMe[prop-missing]
1339
- e.document
1340
- )) || window.document).documentElement;
1341
- }
1342
- function Gt(e) {
1343
- return z(e) === "html" ? e : (
1344
- // this is a quicker (but less type safe) way to save quite some bytes from the bundle
1345
- // $FlowFixMe[incompatible-return]
1346
- // $FlowFixMe[prop-missing]
1347
- e.assignedSlot || // step into the shadow DOM of the parent of a slotted node
1348
- e.parentNode || // DOM Element detected
1349
- (ge(e) ? e.host : null) || // ShadowRoot detected
1350
- // $FlowFixMe[incompatible-call]: HTMLElement is a Node
1351
- Z(e)
1352
- );
1353
- }
1354
- function Ne(e) {
1355
- return !N(e) || // https://github.com/popperjs/popper-core/issues/837
1356
- G(e).position === "fixed" ? null : e.offsetParent;
1357
- }
1358
- function Yi(e) {
1359
- var t = /firefox/i.test(re()), n = /Trident/i.test(re());
1360
- if (n && N(e)) {
1361
- var i = G(e);
1362
- if (i.position === "fixed")
1363
- return null;
1364
- }
1365
- var r = Gt(e);
1366
- for (ge(r) && (r = r.host); N(r) && ["html", "body"].indexOf(z(r)) < 0; ) {
1367
- var s = G(r);
1368
- if (s.transform !== "none" || s.perspective !== "none" || s.contain === "paint" || ["transform", "perspective"].indexOf(s.willChange) !== -1 || t && s.willChange === "filter" || t && s.filter && s.filter !== "none")
1369
- return r;
1370
- r = r.parentNode;
1371
- }
1372
- return null;
1373
- }
1374
- function Dt(e) {
1375
- for (var t = F(e), n = Ne(e); n && Xi(n) && G(n).position === "static"; )
1376
- n = Ne(n);
1377
- return n && (z(n) === "html" || z(n) === "body" && G(n).position === "static") ? t : n || Yi(e) || t;
1378
- }
1379
- function ve(e) {
1380
- return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y";
1381
- }
1382
- function St(e, t, n) {
1383
- return rt(e, Jt(t, n));
1384
- }
1385
- function Ui(e, t, n) {
1386
- var i = St(e, t, n);
1387
- return i > n ? n : i;
1388
- }
1389
- function mn() {
1390
- return {
1391
- top: 0,
1392
- right: 0,
1393
- bottom: 0,
1394
- left: 0
1395
- };
1396
- }
1397
- function vn(e) {
1398
- return Object.assign({}, mn(), e);
1399
- }
1400
- function bn(e, t) {
1401
- return t.reduce(function(n, i) {
1402
- return n[i] = e, n;
1403
- }, {});
1404
- }
1405
- var tr = function(e, t) {
1406
- return e = typeof e == "function" ? e(Object.assign({}, t.rects, {
1407
- placement: t.placement
1408
- })) : e, vn(typeof e != "number" ? e : bn(e, Pt));
1409
- };
1410
- function er(e) {
1411
- var t, n = e.state, i = e.name, r = e.options, s = n.elements.arrow, a = n.modifiersData.popperOffsets, c = J(n.placement), o = ve(c), l = [D, _].indexOf(c) >= 0, d = l ? "height" : "width";
1412
- if (!(!s || !a)) {
1413
- var b = tr(r.padding, n), v = me(s), h = o === "y" ? P : D, $ = o === "y" ? W : _, u = n.rects.reference[d] + n.rects.reference[o] - a[o] - n.rects.popper[d], w = a[o] - n.rects.reference[o], E = Dt(s), O = E ? o === "y" ? E.clientHeight || 0 : E.clientWidth || 0 : 0, L = u / 2 - w / 2, f = b[h], y = O - v[d] - b[$], x = O / 2 - v[d] / 2 + L, k = St(f, x, y), T = o;
1414
- n.modifiersData[i] = (t = {}, t[T] = k, t.centerOffset = k - x, t);
1415
- }
1416
- }
1417
- function nr(e) {
1418
- var t = e.state, n = e.options, i = n.element, r = i === void 0 ? "[data-popper-arrow]" : i;
1419
- r != null && (typeof r == "string" && (r = t.elements.popper.querySelector(r), !r) || gn(t.elements.popper, r) && (t.elements.arrow = r));
1420
- }
1421
- const ir = {
1422
- name: "arrow",
1423
- enabled: !0,
1424
- phase: "main",
1425
- fn: er,
1426
- effect: nr,
1427
- requires: ["popperOffsets"],
1428
- requiresIfExists: ["preventOverflow"]
1429
- };
1430
- function mt(e) {
1431
- return e.split("-")[1];
1432
- }
1433
- var rr = {
1434
- top: "auto",
1435
- right: "auto",
1436
- bottom: "auto",
1437
- left: "auto"
1438
- };
1439
- function sr(e, t) {
1440
- var n = e.x, i = e.y, r = t.devicePixelRatio || 1;
1441
- return {
1442
- x: pt(n * r) / r || 0,
1443
- y: pt(i * r) / r || 0
1444
- };
1445
- }
1446
- function We(e) {
1447
- var t, n = e.popper, i = e.popperRect, r = e.placement, s = e.variation, a = e.offsets, c = e.position, o = e.gpuAcceleration, l = e.adaptive, d = e.roundOffsets, b = e.isFixed, v = a.x, h = v === void 0 ? 0 : v, $ = a.y, u = $ === void 0 ? 0 : $, w = typeof d == "function" ? d({
1448
- x: h,
1449
- y: u
1450
- }) : {
1451
- x: h,
1452
- y: u
1453
- };
1454
- h = w.x, u = w.y;
1455
- var E = a.hasOwnProperty("x"), O = a.hasOwnProperty("y"), L = D, f = P, y = window;
1456
- if (l) {
1457
- var x = Dt(n), k = "clientHeight", T = "clientWidth";
1458
- if (x === F(n) && (x = Z(n), G(x).position !== "static" && c === "absolute" && (k = "scrollHeight", T = "scrollWidth")), x = x, r === P || (r === D || r === _) && s === It) {
1459
- f = W;
1460
- var S = b && x === y && y.visualViewport ? y.visualViewport.height : (
1461
- // $FlowFixMe[prop-missing]
1462
- x[k]
1463
- );
1464
- u -= S - i.height, u *= o ? 1 : -1;
1465
- }
1466
- if (r === D || (r === P || r === W) && s === It) {
1467
- L = _;
1468
- var C = b && x === y && y.visualViewport ? y.visualViewport.width : (
1469
- // $FlowFixMe[prop-missing]
1470
- x[T]
1471
- );
1472
- h -= C - i.width, h *= o ? 1 : -1;
1473
- }
1474
- }
1475
- var I = Object.assign({
1476
- position: c
1477
- }, l && rr), B = d === !0 ? sr({
1478
- x: h,
1479
- y: u
1480
- }, F(n)) : {
1481
- x: h,
1482
- y: u
1483
- };
1484
- if (h = B.x, u = B.y, o) {
1485
- var A;
1486
- return Object.assign({}, I, (A = {}, A[f] = O ? "0" : "", A[L] = E ? "0" : "", A.transform = (y.devicePixelRatio || 1) <= 1 ? "translate(" + h + "px, " + u + "px)" : "translate3d(" + h + "px, " + u + "px, 0)", A));
1487
- }
1488
- return Object.assign({}, I, (t = {}, t[f] = O ? u + "px" : "", t[L] = E ? h + "px" : "", t.transform = "", t));
1489
- }
1490
- function or(e) {
1491
- var t = e.state, n = e.options, i = n.gpuAcceleration, r = i === void 0 ? !0 : i, s = n.adaptive, a = s === void 0 ? !0 : s, c = n.roundOffsets, o = c === void 0 ? !0 : c, l = {
1492
- placement: J(t.placement),
1493
- variation: mt(t.placement),
1494
- popper: t.elements.popper,
1495
- popperRect: t.rects.popper,
1496
- gpuAcceleration: r,
1497
- isFixed: t.options.strategy === "fixed"
1498
- };
1499
- t.modifiersData.popperOffsets != null && (t.styles.popper = Object.assign({}, t.styles.popper, We(Object.assign({}, l, {
1500
- offsets: t.modifiersData.popperOffsets,
1501
- position: t.options.strategy,
1502
- adaptive: a,
1503
- roundOffsets: o
1504
- })))), t.modifiersData.arrow != null && (t.styles.arrow = Object.assign({}, t.styles.arrow, We(Object.assign({}, l, {
1505
- offsets: t.modifiersData.arrow,
1506
- position: "absolute",
1507
- adaptive: !1,
1508
- roundOffsets: o
1509
- })))), t.attributes.popper = Object.assign({}, t.attributes.popper, {
1510
- "data-popper-placement": t.placement
1511
- });
1512
- }
1513
- const ar = {
1514
- name: "computeStyles",
1515
- enabled: !0,
1516
- phase: "beforeWrite",
1517
- fn: or,
1518
- data: {}
1519
- };
1520
- var Bt = {
1521
- passive: !0
1522
- };
1523
- function lr(e) {
1524
- var t = e.state, n = e.instance, i = e.options, r = i.scroll, s = r === void 0 ? !0 : r, a = i.resize, c = a === void 0 ? !0 : a, o = F(t.elements.popper), l = [].concat(t.scrollParents.reference, t.scrollParents.popper);
1525
- return s && l.forEach(function(d) {
1526
- d.addEventListener("scroll", n.update, Bt);
1527
- }), c && o.addEventListener("resize", n.update, Bt), function() {
1528
- s && l.forEach(function(d) {
1529
- d.removeEventListener("scroll", n.update, Bt);
1530
- }), c && o.removeEventListener("resize", n.update, Bt);
1531
- };
1532
- }
1533
- const cr = {
1534
- name: "eventListeners",
1535
- enabled: !0,
1536
- phase: "write",
1537
- fn: function() {
1538
- },
1539
- effect: lr,
1540
- data: {}
1541
- };
1542
- var dr = {
1543
- left: "right",
1544
- right: "left",
1545
- bottom: "top",
1546
- top: "bottom"
1547
- };
1548
- function Ht(e) {
1549
- return e.replace(/left|right|bottom|top/g, function(t) {
1550
- return dr[t];
1551
- });
1552
- }
1553
- var ur = {
1554
- start: "end",
1555
- end: "start"
1556
- };
1557
- function _e(e) {
1558
- return e.replace(/start|end/g, function(t) {
1559
- return ur[t];
1560
- });
1561
- }
1562
- function be(e) {
1563
- var t = F(e), n = t.pageXOffset, i = t.pageYOffset;
1564
- return {
1565
- scrollLeft: n,
1566
- scrollTop: i
1567
- };
1568
- }
1569
- function ye(e) {
1570
- return gt(Z(e)).left + be(e).scrollLeft;
1571
- }
1572
- function hr(e, t) {
1573
- var n = F(e), i = Z(e), r = n.visualViewport, s = i.clientWidth, a = i.clientHeight, c = 0, o = 0;
1574
- if (r) {
1575
- s = r.width, a = r.height;
1576
- var l = pn();
1577
- (l || !l && t === "fixed") && (c = r.offsetLeft, o = r.offsetTop);
1578
- }
1579
- return {
1580
- width: s,
1581
- height: a,
1582
- x: c + ye(e),
1583
- y: o
1584
- };
1585
- }
1586
- function fr(e) {
1587
- var t, n = Z(e), i = be(e), r = (t = e.ownerDocument) == null ? void 0 : t.body, s = rt(n.scrollWidth, n.clientWidth, r ? r.scrollWidth : 0, r ? r.clientWidth : 0), a = rt(n.scrollHeight, n.clientHeight, r ? r.scrollHeight : 0, r ? r.clientHeight : 0), c = -i.scrollLeft + ye(e), o = -i.scrollTop;
1588
- return G(r || n).direction === "rtl" && (c += rt(n.clientWidth, r ? r.clientWidth : 0) - s), {
1589
- width: s,
1590
- height: a,
1591
- x: c,
1592
- y: o
1593
- };
1594
- }
1595
- function we(e) {
1596
- var t = G(e), n = t.overflow, i = t.overflowX, r = t.overflowY;
1597
- return /auto|scroll|overlay|hidden/.test(n + r + i);
1598
- }
1599
- function yn(e) {
1600
- return ["html", "body", "#document"].indexOf(z(e)) >= 0 ? e.ownerDocument.body : N(e) && we(e) ? e : yn(Gt(e));
1601
- }
1602
- function Ct(e, t) {
1603
- var n;
1604
- t === void 0 && (t = []);
1605
- var i = yn(e), r = i === ((n = e.ownerDocument) == null ? void 0 : n.body), s = F(i), a = r ? [s].concat(s.visualViewport || [], we(i) ? i : []) : i, c = t.concat(a);
1606
- return r ? c : (
1607
- // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
1608
- c.concat(Ct(Gt(a)))
1609
- );
1610
- }
1611
- function se(e) {
1612
- return Object.assign({}, e, {
1613
- left: e.x,
1614
- top: e.y,
1615
- right: e.x + e.width,
1616
- bottom: e.y + e.height
1617
- });
1618
- }
1619
- function pr(e, t) {
1620
- var n = gt(e, !1, t === "fixed");
1621
- return n.top = n.top + e.clientTop, n.left = n.left + e.clientLeft, n.bottom = n.top + e.clientHeight, n.right = n.left + e.clientWidth, n.width = e.clientWidth, n.height = e.clientHeight, n.x = n.left, n.y = n.top, n;
1622
- }
1623
- function Be(e, t, n) {
1624
- return t === hn ? se(hr(e, n)) : st(t) ? pr(t, n) : se(fr(Z(e)));
1625
- }
1626
- function gr(e) {
1627
- var t = Ct(Gt(e)), n = ["absolute", "fixed"].indexOf(G(e).position) >= 0, i = n && N(e) ? Dt(e) : e;
1628
- return st(i) ? t.filter(function(r) {
1629
- return st(r) && gn(r, i) && z(r) !== "body";
1630
- }) : [];
1631
- }
1632
- function mr(e, t, n, i) {
1633
- var r = t === "clippingParents" ? gr(e) : [].concat(t), s = [].concat(r, [n]), a = s[0], c = s.reduce(function(o, l) {
1634
- var d = Be(e, l, i);
1635
- return o.top = rt(d.top, o.top), o.right = Jt(d.right, o.right), o.bottom = Jt(d.bottom, o.bottom), o.left = rt(d.left, o.left), o;
1636
- }, Be(e, a, i));
1637
- return c.width = c.right - c.left, c.height = c.bottom - c.top, c.x = c.left, c.y = c.top, c;
1638
- }
1639
- function wn(e) {
1640
- var t = e.reference, n = e.element, i = e.placement, r = i ? J(i) : null, s = i ? mt(i) : null, a = t.x + t.width / 2 - n.width / 2, c = t.y + t.height / 2 - n.height / 2, o;
1641
- switch (r) {
1642
- case P:
1643
- o = {
1644
- x: a,
1645
- y: t.y - n.height
1646
- };
1647
- break;
1648
- case W:
1649
- o = {
1650
- x: a,
1651
- y: t.y + t.height
1652
- };
1653
- break;
1654
- case _:
1655
- o = {
1656
- x: t.x + t.width,
1657
- y: c
1658
- };
1659
- break;
1660
- case D:
1661
- o = {
1662
- x: t.x - n.width,
1663
- y: c
1664
- };
1665
- break;
1666
- default:
1667
- o = {
1668
- x: t.x,
1669
- y: t.y
1670
- };
1671
- }
1672
- var l = r ? ve(r) : null;
1673
- if (l != null) {
1674
- var d = l === "y" ? "height" : "width";
1675
- switch (s) {
1676
- case ft:
1677
- o[l] = o[l] - (t[d] / 2 - n[d] / 2);
1678
- break;
1679
- case It:
1680
- o[l] = o[l] + (t[d] / 2 - n[d] / 2);
1681
- break;
1682
- }
1683
- }
1684
- return o;
1685
- }
1686
- function At(e, t) {
1687
- t === void 0 && (t = {});
1688
- var n = t, i = n.placement, r = i === void 0 ? e.placement : i, s = n.strategy, a = s === void 0 ? e.strategy : s, c = n.boundary, o = c === void 0 ? qi : c, l = n.rootBoundary, d = l === void 0 ? hn : l, b = n.elementContext, v = b === void 0 ? yt : b, h = n.altBoundary, $ = h === void 0 ? !1 : h, u = n.padding, w = u === void 0 ? 0 : u, E = vn(typeof w != "number" ? w : bn(w, Pt)), O = v === yt ? Fi : yt, L = e.rects.popper, f = e.elements[$ ? O : v], y = mr(st(f) ? f : f.contextElement || Z(e.elements.popper), o, d, a), x = gt(e.elements.reference), k = wn({
1689
- reference: x,
1690
- element: L,
1691
- strategy: "absolute",
1692
- placement: r
1693
- }), T = se(Object.assign({}, L, k)), S = v === yt ? T : x, C = {
1694
- top: y.top - S.top + E.top,
1695
- bottom: S.bottom - y.bottom + E.bottom,
1696
- left: y.left - S.left + E.left,
1697
- right: S.right - y.right + E.right
1698
- }, I = e.modifiersData.offset;
1699
- if (v === yt && I) {
1700
- var B = I[r];
1701
- Object.keys(C).forEach(function(A) {
1702
- var X = [_, W].indexOf(A) >= 0 ? 1 : -1, Y = [P, W].indexOf(A) >= 0 ? "y" : "x";
1703
- C[A] += B[Y] * X;
1704
- });
1705
- }
1706
- return C;
1707
- }
1708
- function vr(e, t) {
1709
- t === void 0 && (t = {});
1710
- var n = t, i = n.placement, r = n.boundary, s = n.rootBoundary, a = n.padding, c = n.flipVariations, o = n.allowedAutoPlacements, l = o === void 0 ? fn : o, d = mt(i), b = d ? c ? Fe : Fe.filter(function($) {
1711
- return mt($) === d;
1712
- }) : Pt, v = b.filter(function($) {
1713
- return l.indexOf($) >= 0;
1714
- });
1715
- v.length === 0 && (v = b);
1716
- var h = v.reduce(function($, u) {
1717
- return $[u] = At(e, {
1718
- placement: u,
1719
- boundary: r,
1720
- rootBoundary: s,
1721
- padding: a
1722
- })[J(u)], $;
1723
- }, {});
1724
- return Object.keys(h).sort(function($, u) {
1725
- return h[$] - h[u];
1726
- });
1727
- }
1728
- function br(e) {
1729
- if (J(e) === pe)
1730
- return [];
1731
- var t = Ht(e);
1732
- return [_e(e), t, _e(t)];
1733
- }
1734
- function yr(e) {
1735
- var t = e.state, n = e.options, i = e.name;
1736
- if (!t.modifiersData[i]._skip) {
1737
- for (var r = n.mainAxis, s = r === void 0 ? !0 : r, a = n.altAxis, c = a === void 0 ? !0 : a, o = n.fallbackPlacements, l = n.padding, d = n.boundary, b = n.rootBoundary, v = n.altBoundary, h = n.flipVariations, $ = h === void 0 ? !0 : h, u = n.allowedAutoPlacements, w = t.options.placement, E = J(w), O = E === w, L = o || (O || !$ ? [Ht(w)] : br(w)), f = [w].concat(L).reduce(function(tt, K) {
1738
- return tt.concat(J(K) === pe ? vr(t, {
1739
- placement: K,
1740
- boundary: d,
1741
- rootBoundary: b,
1742
- padding: l,
1743
- flipVariations: $,
1744
- allowedAutoPlacements: u
1745
- }) : K);
1746
- }, []), y = t.rects.reference, x = t.rects.popper, k = /* @__PURE__ */ new Map(), T = !0, S = f[0], C = 0; C < f.length; C++) {
1747
- var I = f[C], B = J(I), A = mt(I) === ft, X = [P, W].indexOf(B) >= 0, Y = X ? "width" : "height", M = At(t, {
1748
- placement: I,
1749
- boundary: d,
1750
- rootBoundary: b,
1751
- altBoundary: v,
1752
- padding: l
1753
- }), R = X ? A ? _ : D : A ? W : P;
1754
- y[Y] > x[Y] && (R = Ht(R));
1755
- var Mt = Ht(R), U = [];
1756
- if (s && U.push(M[B] <= 0), c && U.push(M[R] <= 0, M[Mt] <= 0), U.every(function(tt) {
1757
- return tt;
1758
- })) {
1759
- S = I, T = !1;
1760
- break;
1761
- }
1762
- k.set(I, U);
1763
- }
1764
- if (T)
1765
- for (var jt = $ ? 3 : 1, Qt = function(tt) {
1766
- var K = f.find(function(Ft) {
1767
- var bt = k.get(Ft);
1768
- if (bt)
1769
- return bt.slice(0, tt).every(function(ot) {
1770
- return ot;
1771
- });
1772
- });
1773
- if (K)
1774
- return S = K, "break";
1775
- }, vt = jt; vt > 0; vt--) {
1776
- var qt = Qt(vt);
1777
- if (qt === "break")
1778
- break;
1779
- }
1780
- t.placement !== S && (t.modifiersData[i]._skip = !0, t.placement = S, t.reset = !0);
1781
- }
1782
- }
1783
- const wr = {
1784
- name: "flip",
1785
- enabled: !0,
1786
- phase: "main",
1787
- fn: yr,
1788
- requiresIfExists: ["offset"],
1789
- data: {
1790
- _skip: !1
1791
- }
1792
- };
1793
- function Re(e, t, n) {
1794
- return n === void 0 && (n = {
1795
- x: 0,
1796
- y: 0
1797
- }), {
1798
- top: e.top - t.height - n.y,
1799
- right: e.right - t.width + n.x,
1800
- bottom: e.bottom - t.height + n.y,
1801
- left: e.left - t.width - n.x
1802
- };
1803
- }
1804
- function Ve(e) {
1805
- return [P, _, W, D].some(function(t) {
1806
- return e[t] >= 0;
1807
- });
1808
- }
1809
- function $r(e) {
1810
- var t = e.state, n = e.name, i = t.rects.reference, r = t.rects.popper, s = t.modifiersData.preventOverflow, a = At(t, {
1811
- elementContext: "reference"
1812
- }), c = At(t, {
1813
- altBoundary: !0
1814
- }), o = Re(a, i), l = Re(c, r, s), d = Ve(o), b = Ve(l);
1815
- t.modifiersData[n] = {
1816
- referenceClippingOffsets: o,
1817
- popperEscapeOffsets: l,
1818
- isReferenceHidden: d,
1819
- hasPopperEscaped: b
1820
- }, t.attributes.popper = Object.assign({}, t.attributes.popper, {
1821
- "data-popper-reference-hidden": d,
1822
- "data-popper-escaped": b
1823
- });
1824
- }
1825
- const Er = {
1826
- name: "hide",
1827
- enabled: !0,
1828
- phase: "main",
1829
- requiresIfExists: ["preventOverflow"],
1830
- fn: $r
1831
- };
1832
- function xr(e, t, n) {
1833
- var i = J(e), r = [D, P].indexOf(i) >= 0 ? -1 : 1, s = typeof n == "function" ? n(Object.assign({}, t, {
1834
- placement: e
1835
- })) : n, a = s[0], c = s[1];
1836
- return a = a || 0, c = (c || 0) * r, [D, _].indexOf(i) >= 0 ? {
1837
- x: c,
1838
- y: a
1839
- } : {
1840
- x: a,
1841
- y: c
1842
- };
1843
- }
1844
- function Or(e) {
1845
- var t = e.state, n = e.options, i = e.name, r = n.offset, s = r === void 0 ? [0, 0] : r, a = fn.reduce(function(d, b) {
1846
- return d[b] = xr(b, t.rects, s), d;
1847
- }, {}), c = a[t.placement], o = c.x, l = c.y;
1848
- t.modifiersData.popperOffsets != null && (t.modifiersData.popperOffsets.x += o, t.modifiersData.popperOffsets.y += l), t.modifiersData[i] = a;
1849
- }
1850
- const Lr = {
1851
- name: "offset",
1852
- enabled: !0,
1853
- phase: "main",
1854
- requires: ["popperOffsets"],
1855
- fn: Or
1856
- };
1857
- function kr(e) {
1858
- var t = e.state, n = e.name;
1859
- t.modifiersData[n] = wn({
1860
- reference: t.rects.reference,
1861
- element: t.rects.popper,
1862
- strategy: "absolute",
1863
- placement: t.placement
1864
- });
1865
- }
1866
- const Tr = {
1867
- name: "popperOffsets",
1868
- enabled: !0,
1869
- phase: "read",
1870
- fn: kr,
1871
- data: {}
1872
- };
1873
- function Sr(e) {
1874
- return e === "x" ? "y" : "x";
1875
- }
1876
- function Cr(e) {
1877
- var t = e.state, n = e.options, i = e.name, r = n.mainAxis, s = r === void 0 ? !0 : r, a = n.altAxis, c = a === void 0 ? !1 : a, o = n.boundary, l = n.rootBoundary, d = n.altBoundary, b = n.padding, v = n.tether, h = v === void 0 ? !0 : v, $ = n.tetherOffset, u = $ === void 0 ? 0 : $, w = At(t, {
1878
- boundary: o,
1879
- rootBoundary: l,
1880
- padding: b,
1881
- altBoundary: d
1882
- }), E = J(t.placement), O = mt(t.placement), L = !O, f = ve(E), y = Sr(f), x = t.modifiersData.popperOffsets, k = t.rects.reference, T = t.rects.popper, S = typeof u == "function" ? u(Object.assign({}, t.rects, {
1883
- placement: t.placement
1884
- })) : u, C = typeof S == "number" ? {
1885
- mainAxis: S,
1886
- altAxis: S
1887
- } : Object.assign({
1888
- mainAxis: 0,
1889
- altAxis: 0
1890
- }, S), I = t.modifiersData.offset ? t.modifiersData.offset[t.placement] : null, B = {
1891
- x: 0,
1892
- y: 0
1893
- };
1894
- if (x) {
1895
- if (s) {
1896
- var A, X = f === "y" ? P : D, Y = f === "y" ? W : _, M = f === "y" ? "height" : "width", R = x[f], Mt = R + w[X], U = R - w[Y], jt = h ? -T[M] / 2 : 0, Qt = O === ft ? k[M] : T[M], vt = O === ft ? -T[M] : -k[M], qt = t.elements.arrow, tt = h && qt ? me(qt) : {
1897
- width: 0,
1898
- height: 0
1899
- }, K = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : mn(), Ft = K[X], bt = K[Y], ot = St(0, k[M], tt[M]), xn = L ? k[M] / 2 - jt - ot - Ft - C.mainAxis : Qt - ot - Ft - C.mainAxis, On = L ? -k[M] / 2 + jt + ot + bt + C.mainAxis : vt + ot + bt + C.mainAxis, Zt = t.elements.arrow && Dt(t.elements.arrow), Ln = Zt ? f === "y" ? Zt.clientTop || 0 : Zt.clientLeft || 0 : 0, Ee = (A = I == null ? void 0 : I[f]) != null ? A : 0, kn = R + xn - Ee - Ln, Tn = R + On - Ee, xe = St(h ? Jt(Mt, kn) : Mt, R, h ? rt(U, Tn) : U);
1900
- x[f] = xe, B[f] = xe - R;
1901
- }
1902
- if (c) {
1903
- var Oe, Sn = f === "x" ? P : D, Cn = f === "x" ? W : _, et = x[y], Nt = y === "y" ? "height" : "width", Le = et + w[Sn], ke = et - w[Cn], Xt = [P, D].indexOf(E) !== -1, Te = (Oe = I == null ? void 0 : I[y]) != null ? Oe : 0, Se = Xt ? Le : et - k[Nt] - T[Nt] - Te + C.altAxis, Ce = Xt ? et + k[Nt] + T[Nt] - Te - C.altAxis : ke, Ie = h && Xt ? Ui(Se, et, Ce) : St(h ? Se : Le, et, h ? Ce : ke);
1904
- x[y] = Ie, B[y] = Ie - et;
1905
- }
1906
- t.modifiersData[i] = B;
1907
- }
1908
- }
1909
- const Ir = {
1910
- name: "preventOverflow",
1911
- enabled: !0,
1912
- phase: "main",
1913
- fn: Cr,
1914
- requiresIfExists: ["offset"]
1915
- };
1916
- function Ar(e) {
1917
- return {
1918
- scrollLeft: e.scrollLeft,
1919
- scrollTop: e.scrollTop
1920
- };
1921
- }
1922
- function Pr(e) {
1923
- return e === F(e) || !N(e) ? be(e) : Ar(e);
1924
- }
1925
- function Dr(e) {
1926
- var t = e.getBoundingClientRect(), n = pt(t.width) / e.offsetWidth || 1, i = pt(t.height) / e.offsetHeight || 1;
1927
- return n !== 1 || i !== 1;
1928
- }
1929
- function Mr(e, t, n) {
1930
- n === void 0 && (n = !1);
1931
- var i = N(t), r = N(t) && Dr(t), s = Z(t), a = gt(e, r, n), c = {
1932
- scrollLeft: 0,
1933
- scrollTop: 0
1934
- }, o = {
1935
- x: 0,
1936
- y: 0
1937
- };
1938
- return (i || !i && !n) && ((z(t) !== "body" || // https://github.com/popperjs/popper-core/issues/1078
1939
- we(s)) && (c = Pr(t)), N(t) ? (o = gt(t, !0), o.x += t.clientLeft, o.y += t.clientTop) : s && (o.x = ye(s))), {
1940
- x: a.left + c.scrollLeft - o.x,
1941
- y: a.top + c.scrollTop - o.y,
1942
- width: a.width,
1943
- height: a.height
1944
- };
1945
- }
1946
- function jr(e) {
1947
- var t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Set(), i = [];
1948
- e.forEach(function(s) {
1949
- t.set(s.name, s);
1950
- });
1951
- function r(s) {
1952
- n.add(s.name);
1953
- var a = [].concat(s.requires || [], s.requiresIfExists || []);
1954
- a.forEach(function(c) {
1955
- if (!n.has(c)) {
1956
- var o = t.get(c);
1957
- o && r(o);
1958
- }
1959
- }), i.push(s);
1960
- }
1961
- return e.forEach(function(s) {
1962
- n.has(s.name) || r(s);
1963
- }), i;
1964
- }
1965
- function qr(e) {
1966
- var t = jr(e);
1967
- return Ki.reduce(function(n, i) {
1968
- return n.concat(t.filter(function(r) {
1969
- return r.phase === i;
1970
- }));
1971
- }, []);
1972
- }
1973
- function Fr(e) {
1974
- var t;
1975
- return function() {
1976
- return t || (t = new Promise(function(n) {
1977
- Promise.resolve().then(function() {
1978
- t = void 0, n(e());
1979
- });
1980
- })), t;
1981
- };
1982
- }
1983
- function Nr(e) {
1984
- var t = e.reduce(function(n, i) {
1985
- var r = n[i.name];
1986
- return n[i.name] = r ? Object.assign({}, r, i, {
1987
- options: Object.assign({}, r.options, i.options),
1988
- data: Object.assign({}, r.data, i.data)
1989
- }) : i, n;
1990
- }, {});
1991
- return Object.keys(t).map(function(n) {
1992
- return t[n];
1993
- });
1994
- }
1995
- var He = {
1996
- placement: "bottom",
1997
- modifiers: [],
1998
- strategy: "absolute"
1999
- };
2000
- function Je() {
2001
- for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
2002
- t[n] = arguments[n];
2003
- return !t.some(function(i) {
2004
- return !(i && typeof i.getBoundingClientRect == "function");
2005
- });
2006
- }
2007
- function Wr(e) {
2008
- e === void 0 && (e = {});
2009
- var t = e, n = t.defaultModifiers, i = n === void 0 ? [] : n, r = t.defaultOptions, s = r === void 0 ? He : r;
2010
- return function(a, c, o) {
2011
- o === void 0 && (o = s);
2012
- var l = {
2013
- placement: "bottom",
2014
- orderedModifiers: [],
2015
- options: Object.assign({}, He, s),
2016
- modifiersData: {},
2017
- elements: {
2018
- reference: a,
2019
- popper: c
2020
- },
2021
- attributes: {},
2022
- styles: {}
2023
- }, d = [], b = !1, v = {
2024
- state: l,
2025
- setOptions: function(u) {
2026
- var w = typeof u == "function" ? u(l.options) : u;
2027
- $(), l.options = Object.assign({}, s, l.options, w), l.scrollParents = {
2028
- reference: st(a) ? Ct(a) : a.contextElement ? Ct(a.contextElement) : [],
2029
- popper: Ct(c)
2030
- };
2031
- var E = qr(Nr([].concat(i, l.options.modifiers)));
2032
- return l.orderedModifiers = E.filter(function(O) {
2033
- return O.enabled;
2034
- }), h(), v.update();
2035
- },
2036
- // Sync update – it will always be executed, even if not necessary. This
2037
- // is useful for low frequency updates where sync behavior simplifies the
2038
- // logic.
2039
- // For high frequency updates (e.g. `resize` and `scroll` events), always
2040
- // prefer the async Popper#update method
2041
- forceUpdate: function() {
2042
- if (!b) {
2043
- var u = l.elements, w = u.reference, E = u.popper;
2044
- if (Je(w, E)) {
2045
- l.rects = {
2046
- reference: Mr(w, Dt(E), l.options.strategy === "fixed"),
2047
- popper: me(E)
2048
- }, l.reset = !1, l.placement = l.options.placement, l.orderedModifiers.forEach(function(T) {
2049
- return l.modifiersData[T.name] = Object.assign({}, T.data);
2050
- });
2051
- for (var O = 0; O < l.orderedModifiers.length; O++) {
2052
- if (l.reset === !0) {
2053
- l.reset = !1, O = -1;
2054
- continue;
2055
- }
2056
- var L = l.orderedModifiers[O], f = L.fn, y = L.options, x = y === void 0 ? {} : y, k = L.name;
2057
- typeof f == "function" && (l = f({
2058
- state: l,
2059
- options: x,
2060
- name: k,
2061
- instance: v
2062
- }) || l);
2063
- }
2064
- }
2065
- }
2066
- },
2067
- // Async and optimistically optimized update – it will not be executed if
2068
- // not necessary (debounced to run at most once-per-tick)
2069
- update: Fr(function() {
2070
- return new Promise(function(u) {
2071
- v.forceUpdate(), u(l);
2072
- });
2073
- }),
2074
- destroy: function() {
2075
- $(), b = !0;
2076
- }
2077
- };
2078
- if (!Je(a, c))
2079
- return v;
2080
- v.setOptions(o).then(function(u) {
2081
- !b && o.onFirstUpdate && o.onFirstUpdate(u);
2082
- });
2083
- function h() {
2084
- l.orderedModifiers.forEach(function(u) {
2085
- var w = u.name, E = u.options, O = E === void 0 ? {} : E, L = u.effect;
2086
- if (typeof L == "function") {
2087
- var f = L({
2088
- state: l,
2089
- name: w,
2090
- instance: v,
2091
- options: O
2092
- }), y = function() {
2093
- };
2094
- d.push(f || y);
2095
- }
2096
- });
2097
- }
2098
- function $() {
2099
- d.forEach(function(u) {
2100
- return u();
2101
- }), d = [];
2102
- }
2103
- return v;
2104
- };
2105
- }
2106
- var _r = [cr, Tr, ar, Zi, Lr, wr, Ir, ir, Er], Br = /* @__PURE__ */ Wr({
2107
- defaultModifiers: _r
2108
- });
2109
- async function oe(e) {
2110
- const t = this.collection.findIndex((n) => n.id === e.id);
2111
- if (t >= 0) {
2112
- const n = this.collection[t];
2113
- n.state === "opened" && n.close(), n.popper.destroy(), $n(n), Object.getOwnPropertyNames(n).forEach((i) => {
2114
- delete n[i];
2115
- }), this.collection.splice(t, 1);
2116
- }
2117
- return this.collection;
2118
- }
2119
- function $n(e) {
2120
- return e.__eventListeners && (e.__eventListeners.forEach((t) => {
2121
- t.el.forEach((n) => {
2122
- t.type.forEach((i) => {
2123
- e[n].removeEventListener(i, t.listener, !1);
2124
- });
2125
- });
2126
- }), delete e.__eventListeners), e;
2127
- }
2128
- async function $e(e) {
2129
- const t = ln.call(this, e);
2130
- return t.el.classList.add(this.settings.stateActive), t.trigger.hasAttribute("aria-controls") && t.trigger.setAttribute("aria-expanded", "true"), t.config = an(t.el, this.settings), t.popper.setOptions({
2131
- placement: t.config.placement,
2132
- modifiers: [
2133
- { name: "eventListeners", enabled: !0 },
2134
- ...Ai(t.config)
2135
- ]
2136
- }), t.popper.update(), t.state = "opened", t;
2137
- }
2138
- async function Rr(e, t) {
2139
- oe.call(this, e);
2140
- const n = this, i = {
2141
- id: e.id,
2142
- state: "closed",
2143
- el: e,
2144
- trigger: t,
2145
- popper: Br(t, e),
2146
- config: an(e, this.settings),
2147
- open() {
2148
- return $e.call(n, this);
2149
- },
2150
- close() {
2151
- return fe.call(n, this);
2152
- },
2153
- deregister() {
2154
- return oe.call(n, this);
2155
- }
2156
- };
2157
- return i.trigger.hasAttribute("aria-controls") && i.trigger.setAttribute("aria-expanded", "false"), En.call(this, i), this.collection.push(i), i.el.classList.contains(this.settings.stateActive) && (await i.open(), un.call(this, i)), i;
2158
- }
2159
- function En(e) {
2160
- return e.__eventListeners || (e.config.event === "hover" ? (e.__eventListeners = [{
2161
- el: ["trigger"],
2162
- type: ["mouseenter", "focus"],
2163
- listener: $e.bind(this, e)
2164
- }, {
2165
- el: ["el", "trigger"],
2166
- type: ["mouseleave", "focusout"],
2167
- listener: dn.bind(this, e)
2168
- }], e.__eventListeners.forEach((t) => {
2169
- t.el.forEach((n) => {
2170
- t.type.forEach((i) => {
2171
- e[n].addEventListener(i, t.listener, !1);
2172
- });
2173
- });
2174
- })) : (e.__eventListeners = [{
2175
- el: ["trigger"],
2176
- type: ["click"],
2177
- listener: Mi.bind(this, e)
2178
- }], e.__eventListeners.forEach((t) => {
2179
- t.el.forEach((n) => {
2180
- t.type.forEach((i) => {
2181
- e[n].addEventListener(i, t.listener, !1);
2182
- });
2183
- });
2184
- }))), e;
2185
- }
2186
- var Tt;
2187
- class ts extends Si {
2188
- constructor(t) {
2189
- super(), ki(this, Tt, void 0), this.defaults = Ii, this.settings = { ...this.defaults, ...t }, this.trigger = null, Ti(this, Tt, ji.bind(this)), this.settings.autoInit && this.init();
2190
- }
2191
- async init(t) {
2192
- t && (this.settings = { ...this.settings, ...t });
2193
- const n = document.querySelectorAll(this.settings.selectorPopover);
2194
- return await this.registerCollection(n), this.settings.eventListeners && this.initEventListeners(!1), this;
2195
- }
2196
- async destroy() {
2197
- return this.trigger = null, await this.deregisterCollection(), this.settings.eventListeners && this.destroyEventListeners(!1), this;
2198
- }
2199
- initEventListeners(t = !0) {
2200
- t && this.collection.forEach((n) => {
2201
- En.call(this, n);
2202
- }), document.addEventListener("keydown", qe(this, Tt), !1);
2203
- }
2204
- destroyEventListeners(t = !0) {
2205
- t && this.collection.forEach((n) => {
2206
- $n(n);
2207
- }), document.removeEventListener("keydown", qe(this, Tt), !1);
2208
- }
2209
- register(t) {
2210
- const n = Di.call(this, t);
2211
- return n.error ? Promise.reject(n.error) : Rr.call(this, n.popover, n.trigger);
2212
- }
2213
- deregister(t) {
2214
- let n = this.get(t.id || t);
2215
- return n ? oe.call(this, n) : Promise.reject(new Error(`Failed to deregister; popover does not exist in collection with ID of: "${t.id || t}".`));
2216
- }
2217
- open(t) {
2218
- return $e.call(this, t);
2219
- }
2220
- close(t) {
2221
- return fe.call(this, t);
2222
- }
2223
- }
2224
- Tt = /* @__PURE__ */ new WeakMap();
2225
- export {
2226
- Zr as Drawer,
2227
- Yr as Modal,
2228
- ts as Popover,
2229
- zr as core
2230
- };
2231
- //# sourceMappingURL=index.js.map