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