vrembem 3.0.18 → 3.0.19

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