vanilla-drawers 1.1.19 → 1.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/drawers.es.js +77 -77
- package/dist/drawers.umd.js +2 -2
- package/package.json +1 -1
package/dist/drawers.es.js
CHANGED
@@ -2,7 +2,7 @@ var X = (n, t, e) => {
|
|
2
2
|
if (!t.has(n))
|
3
3
|
throw TypeError("Cannot " + e);
|
4
4
|
};
|
5
|
-
var
|
5
|
+
var r = (n, t, e) => (X(n, t, "read from private field"), e ? e.call(n) : t.get(n)), m = (n, t, e) => {
|
6
6
|
if (t.has(n))
|
7
7
|
throw TypeError("Cannot add the same private member more than once");
|
8
8
|
t instanceof WeakSet ? t.add(n) : t.set(n, e);
|
@@ -10,7 +10,7 @@ var s = (n, t, e) => (X(n, t, "read from private field"), e ? e.call(n) : t.get(
|
|
10
10
|
function ne(n) {
|
11
11
|
return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
|
12
12
|
}
|
13
|
-
var
|
13
|
+
var re = { exports: {} };
|
14
14
|
(function(n) {
|
15
15
|
var t = Object.prototype.hasOwnProperty, e = "~";
|
16
16
|
function l() {
|
@@ -28,17 +28,17 @@ var se = { exports: {} };
|
|
28
28
|
function p(o, i) {
|
29
29
|
--o._eventsCount === 0 ? o._events = new l() : delete o._events[i];
|
30
30
|
}
|
31
|
-
function
|
31
|
+
function s() {
|
32
32
|
this._events = new l(), this._eventsCount = 0;
|
33
33
|
}
|
34
|
-
|
34
|
+
s.prototype.eventNames = function() {
|
35
35
|
var i = [], c, h;
|
36
36
|
if (this._eventsCount === 0)
|
37
37
|
return i;
|
38
38
|
for (h in c = this._events)
|
39
39
|
t.call(c, h) && i.push(e ? h.slice(1) : h);
|
40
40
|
return Object.getOwnPropertySymbols ? i.concat(Object.getOwnPropertySymbols(c)) : i;
|
41
|
-
},
|
41
|
+
}, s.prototype.listeners = function(i) {
|
42
42
|
var c = e ? e + i : i, h = this._events[c];
|
43
43
|
if (!h)
|
44
44
|
return [];
|
@@ -47,10 +47,10 @@ var se = { exports: {} };
|
|
47
47
|
for (var b = 0, y = h.length, f = new Array(y); b < y; b++)
|
48
48
|
f[b] = h[b].fn;
|
49
49
|
return f;
|
50
|
-
},
|
50
|
+
}, s.prototype.listenerCount = function(i) {
|
51
51
|
var c = e ? e + i : i, h = this._events[c];
|
52
52
|
return h ? h.fn ? 1 : h.length : 0;
|
53
|
-
},
|
53
|
+
}, s.prototype.emit = function(i, c, h, b, y, f) {
|
54
54
|
var _ = e ? e + i : i;
|
55
55
|
if (!this._events[_])
|
56
56
|
return !1;
|
@@ -97,11 +97,11 @@ var se = { exports: {} };
|
|
97
97
|
}
|
98
98
|
}
|
99
99
|
return !0;
|
100
|
-
},
|
100
|
+
}, s.prototype.on = function(i, c, h) {
|
101
101
|
return g(this, i, c, h, !1);
|
102
|
-
},
|
102
|
+
}, s.prototype.once = function(i, c, h) {
|
103
103
|
return g(this, i, c, h, !0);
|
104
|
-
},
|
104
|
+
}, s.prototype.removeListener = function(i, c, h, b) {
|
105
105
|
var y = e ? e + i : i;
|
106
106
|
if (!this._events[y])
|
107
107
|
return this;
|
@@ -116,12 +116,12 @@ var se = { exports: {} };
|
|
116
116
|
u.length ? this._events[y] = u.length === 1 ? u[0] : u : p(this, y);
|
117
117
|
}
|
118
118
|
return this;
|
119
|
-
},
|
119
|
+
}, s.prototype.removeAllListeners = function(i) {
|
120
120
|
var c;
|
121
121
|
return i ? (c = e ? e + i : i, this._events[c] && p(this, c)) : (this._events = new l(), this._eventsCount = 0), this;
|
122
|
-
},
|
123
|
-
})(
|
124
|
-
var ie =
|
122
|
+
}, s.prototype.off = s.prototype.removeListener, s.prototype.addListener = s.prototype.on, s.prefixed = e, s.EventEmitter = s, n.exports = s;
|
123
|
+
})(re);
|
124
|
+
var ie = re.exports;
|
125
125
|
const ae = /* @__PURE__ */ ne(ie);
|
126
126
|
var le = function(t) {
|
127
127
|
return ce(t) && !he(t);
|
@@ -162,7 +162,7 @@ function be(n) {
|
|
162
162
|
function Z(n) {
|
163
163
|
return Object.keys(n).concat(be(n));
|
164
164
|
}
|
165
|
-
function
|
165
|
+
function se(n, t) {
|
166
166
|
try {
|
167
167
|
return t in n;
|
168
168
|
} catch {
|
@@ -170,14 +170,14 @@ function re(n, t) {
|
|
170
170
|
}
|
171
171
|
}
|
172
172
|
function ge(n, t) {
|
173
|
-
return
|
173
|
+
return se(n, t) && !(Object.hasOwnProperty.call(n, t) && Object.propertyIsEnumerable.call(n, t));
|
174
174
|
}
|
175
175
|
function ye(n, t, e) {
|
176
176
|
var l = {};
|
177
177
|
return e.isMergeableObject(n) && Z(n).forEach(function(a) {
|
178
178
|
l[a] = R(n[a], e);
|
179
179
|
}), Z(t).forEach(function(a) {
|
180
|
-
ge(n, a) || (
|
180
|
+
ge(n, a) || (se(n, a) && e.isMergeableObject(t[a]) ? l[a] = me(a, e)(n[a], t[a], e) : l[a] = R(t[a], e));
|
181
181
|
}), l;
|
182
182
|
}
|
183
183
|
function U(n, t, e) {
|
@@ -266,20 +266,20 @@ class Y {
|
|
266
266
|
}
|
267
267
|
// Accessors
|
268
268
|
get isActive() {
|
269
|
-
return
|
269
|
+
return r(this, B);
|
270
270
|
}
|
271
271
|
get owner() {
|
272
|
-
return
|
272
|
+
return r(this, O);
|
273
273
|
}
|
274
274
|
// Methods
|
275
275
|
init() {
|
276
|
-
|
276
|
+
r(this, A).addEventListener("click", (t) => this.clickHandler(t)), r(this, O).on("open", () => this.setActive(!0)), r(this, O).on("close", () => this.setActive(!1));
|
277
277
|
}
|
278
278
|
clickHandler(t) {
|
279
|
-
t.__drawerTrigger = this,
|
279
|
+
t.__drawerTrigger = this, r(this, P) === "open" ? r(this, O).isOpen || r(this, O).open(r(this, A)) : r(this, P) === "close" ? r(this, O).isOpen && r(this, O).close(r(this, A)) : r(this, O).isOpen ? r(this, O).close(r(this, A)) : r(this, O).open(r(this, A));
|
280
280
|
}
|
281
281
|
setActive(t) {
|
282
|
-
v(this, B, t), t ?
|
282
|
+
v(this, B, t), t ? r(this, A).classList.add("drawer-trigger_active") : r(this, A).classList.remove("drawer-trigger_active");
|
283
283
|
}
|
284
284
|
}
|
285
285
|
A = new WeakMap(), O = new WeakMap(), P = new WeakMap(), B = new WeakMap();
|
@@ -292,17 +292,17 @@ class Le extends ae {
|
|
292
292
|
m(this, j, void 0);
|
293
293
|
m(this, H, void 0);
|
294
294
|
m(this, T, void 0);
|
295
|
-
this.handleDocumentClick = async (
|
295
|
+
this.handleDocumentClick = async (s) => {
|
296
296
|
var c;
|
297
|
-
if (((c =
|
297
|
+
if (((c = s.__drawerTrigger) == null ? void 0 : c.owner) === this)
|
298
298
|
return;
|
299
|
-
const o =
|
300
|
-
if (
|
299
|
+
const o = s.target;
|
300
|
+
if (s.composedPath(), this.dom.panel.contains(o))
|
301
301
|
return;
|
302
302
|
const i = o == null ? void 0 : o.closest("[data-drawer]");
|
303
|
-
i ? i.getAttribute("data-drawer") ===
|
304
|
-
}, this.handleKeydown = (
|
305
|
-
|
303
|
+
i ? i.getAttribute("data-drawer") === r(this, T) ? this.handleUnderlayClick(s) : this.handleOtherDrawerClick(s) : this.handleOutsideClick(s);
|
304
|
+
}, this.handleKeydown = (s) => {
|
305
|
+
r(this, d).closeOnEsc && s.key === "Escape" && this.close();
|
306
306
|
};
|
307
307
|
const a = te(l ? [J, l] : [J]), g = W(e);
|
308
308
|
if (g === null)
|
@@ -310,7 +310,7 @@ class Le extends ae {
|
|
310
310
|
v(this, T, g.getAttribute("data-drawer"));
|
311
311
|
const p = g.querySelector(Ce);
|
312
312
|
if (p === null)
|
313
|
-
throw new Error(`Drawer's panel cannot be found. Alias: ${
|
313
|
+
throw new Error(`Drawer's panel cannot be found. Alias: ${r(this, T)}`);
|
314
314
|
this.dom = {
|
315
315
|
root: g,
|
316
316
|
panel: p
|
@@ -324,40 +324,40 @@ class Le extends ae {
|
|
324
324
|
}
|
325
325
|
// Accessors
|
326
326
|
get isOpen() {
|
327
|
-
return
|
327
|
+
return r(this, j);
|
328
328
|
}
|
329
329
|
get isModal() {
|
330
|
-
return
|
330
|
+
return r(this, d).modal;
|
331
331
|
}
|
332
332
|
set isModal(e) {
|
333
333
|
this.dom.root.classList[e ? "add" : "remove"]("drawer_modal");
|
334
334
|
}
|
335
335
|
get willLockScroll() {
|
336
|
-
return
|
336
|
+
return r(this, d).lockPageScroll;
|
337
337
|
}
|
338
338
|
set zIndex(e) {
|
339
339
|
this.dom.root.style.setProperty("--z-index", String(e)), v(this, K, e);
|
340
340
|
}
|
341
341
|
get zIndex() {
|
342
|
-
return
|
342
|
+
return r(this, K);
|
343
343
|
}
|
344
344
|
// Methods
|
345
345
|
async open(e) {
|
346
|
-
await V(0), !
|
346
|
+
await V(0), !r(this, j) && (this.emit("beforeOpen", { drawer: this, trigger: e }), v(this, j, !0), this.dom.root.classList.add(r(this, d).openingClass), this.emit("open", { drawer: this, trigger: e }), typeof r(this, d).openAnimationDuration == "number" && await V(r(this, d).openAnimationDuration), this.dom.root.classList.remove(r(this, d).openingClass), this.dom.root.classList.add(r(this, d).openClass), this.emit("openAnimationEnd", { drawer: this, trigger: e }), this.focus(), this.addEventListeners());
|
347
347
|
}
|
348
348
|
async close(e) {
|
349
|
-
|
349
|
+
r(this, d).onCloseConfirm && !r(this, d).onCloseConfirm(this, e) || (this.emit("beforeClose", { drawer: this, trigger: e }), this.removeEventListeners(), v(this, j, !1), this.dom.root.classList.remove(r(this, d).openClass), this.dom.root.classList.add(r(this, d).closingClass), this.emit("close", { drawer: this, trigger: e }), typeof r(this, d).closeAnimationDuration == "number" && await V(r(this, d).closeAnimationDuration), this.dom.root.classList.remove(r(this, d).closingClass), this.emit("closeAnimationEnd", { drawer: this, trigger: e }));
|
350
350
|
}
|
351
351
|
handleOtherDrawerClick(e) {
|
352
352
|
}
|
353
353
|
handleOutsideClick(e) {
|
354
|
-
|
354
|
+
r(this, d).closeOnOutsideClick && (typeof r(this, d).closeOnOutsideClick == "object" && r(this, d).closeOnOutsideClick.hasOwnProperty("checkTarget") ? r(this, d).closeOnOutsideClick.checkTarget(e.target) && this.close() : this.close());
|
355
355
|
}
|
356
356
|
handleUnderlayClick(e) {
|
357
|
-
|
357
|
+
r(this, d).closeOnOutsideClick && this.close();
|
358
358
|
}
|
359
359
|
focus() {
|
360
|
-
|
360
|
+
r(this, d).focusOnChild && this.focusChild() || this.focusSelf();
|
361
361
|
}
|
362
362
|
focusSelf() {
|
363
363
|
this.dom.panel.focus();
|
@@ -368,7 +368,7 @@ class Le extends ae {
|
|
368
368
|
}
|
369
369
|
setOptions(e) {
|
370
370
|
var l;
|
371
|
-
e.hasOwnProperty("modal") && ((l =
|
371
|
+
e.hasOwnProperty("modal") && ((l = r(this, d)) == null ? void 0 : l.modal) !== e.modal && (this.isModal = e.modal), v(this, d, r(this, d) ? te([r(this, d), e]) : e);
|
372
372
|
}
|
373
373
|
assignGroup(e) {
|
374
374
|
v(this, H, e);
|
@@ -381,12 +381,12 @@ class ke {
|
|
381
381
|
m(this, M, /* @__PURE__ */ new Map());
|
382
382
|
}
|
383
383
|
lock(t, e) {
|
384
|
-
|
385
|
-
const l =
|
384
|
+
r(this, M).has(t) || r(this, M).set(t, /* @__PURE__ */ new Set());
|
385
|
+
const l = r(this, M).get(t);
|
386
386
|
l.size === 0 && t.classList.add("scroll-lock-by-drawer"), l.add(e);
|
387
387
|
}
|
388
388
|
unlock(t, e) {
|
389
|
-
const l =
|
389
|
+
const l = r(this, M).get(t);
|
390
390
|
l == null || l.delete(e), (!l || l.size === 0) && t.classList.remove("scroll-lock-by-drawer");
|
391
391
|
}
|
392
392
|
}
|
@@ -400,18 +400,18 @@ const $ = class $ {
|
|
400
400
|
m(this, D, void 0);
|
401
401
|
m(this, k, void 0);
|
402
402
|
v(this, E, []), v(this, C, []), v(this, k, /* @__PURE__ */ new Map()), this.onBeforeOpen = ({ drawer: a, trigger: g }) => {
|
403
|
-
a.isModal ? (
|
403
|
+
a.isModal ? (r(this, k).set(a, r(this, E).length), r(this, E).push(a), a.zIndex = r(this, C).length + r(this, E).length) : (r(this, k).set(a, r(this, C).length), r(this, C).push(a), a.zIndex = r(this, C).length, r(this, E).length > 0 && r(this, E).forEach((p, s) => p.zIndex = r(this, C).length + s + 1)), a.willLockScroll && this.lockScroll(a);
|
404
404
|
}, this.onCloseAnimationEnd = ({ drawer: a, trigger: g }) => {
|
405
|
-
const p = a.isModal ?
|
406
|
-
for (delete p[
|
405
|
+
const p = a.isModal ? r(this, E) : r(this, C);
|
406
|
+
for (delete p[r(this, k).get(a)]; p.length && !p.at(-1); )
|
407
407
|
p.pop();
|
408
|
-
|
408
|
+
r(this, k).delete(a), this.unlockScroll(a);
|
409
409
|
};
|
410
410
|
const e = W(t);
|
411
411
|
if (e === null)
|
412
412
|
throw new Error("Drawer's group root cannot be found");
|
413
413
|
v(this, x, e);
|
414
|
-
const l =
|
414
|
+
const l = r(this, x).closest("[data-scrollable], html") || r(this, x).matches("[data-scrollable], html") && r(this, x);
|
415
415
|
if (l === null)
|
416
416
|
throw new Error("Scrollable container for group root cannot be found");
|
417
417
|
v(this, D, l);
|
@@ -420,10 +420,10 @@ const $ = class $ {
|
|
420
420
|
t.on("beforeOpen", this.onBeforeOpen), t.on("closeAnimationEnd", this.onCloseAnimationEnd), t.assignGroup(this);
|
421
421
|
}
|
422
422
|
lockScroll(t) {
|
423
|
-
$.scrollLock.lock(
|
423
|
+
$.scrollLock.lock(r(this, D), t);
|
424
424
|
}
|
425
425
|
unlockScroll(t) {
|
426
|
-
$.scrollLock.unlock(
|
426
|
+
$.scrollLock.unlock(r(this, D), t);
|
427
427
|
}
|
428
428
|
};
|
429
429
|
x = new WeakMap(), E = new WeakMap(), C = new WeakMap(), D = new WeakMap(), k = new WeakMap(), $.scrollLock = new ke();
|
@@ -438,45 +438,45 @@ const q = class q {
|
|
438
438
|
q.instance = this;
|
439
439
|
}
|
440
440
|
init(t = J) {
|
441
|
-
document.querySelectorAll(`[${F}]`).forEach((
|
442
|
-
const o =
|
443
|
-
typeof o == "string" &&
|
444
|
-
}),
|
441
|
+
document.querySelectorAll(`[${F}]`).forEach((s) => {
|
442
|
+
const o = s.getAttribute(F);
|
443
|
+
typeof o == "string" && r(this, z).set(o, new G(s));
|
444
|
+
}), r(this, z).set("default", new G(document.documentElement)), document.querySelectorAll("[data-drawer]").forEach((s) => {
|
445
445
|
var b;
|
446
|
-
const o =
|
446
|
+
const o = s.getAttribute("data-drawer");
|
447
447
|
if (typeof o != "string")
|
448
448
|
return;
|
449
|
-
const i = new Le({ target:
|
450
|
-
|
451
|
-
const c =
|
449
|
+
const i = new Le({ target: s, options: { ...t, modal: s.matches('[data-modal]:not([data-modal="false"])') || t.modal } });
|
450
|
+
r(this, I).set(o, i);
|
451
|
+
const c = s.closest(`[${F}]`), h = c ? c.getAttribute(F) : "default";
|
452
452
|
if (typeof h != "string")
|
453
453
|
throw new Error("Group doesn't have alias set correctly");
|
454
|
-
(b =
|
455
|
-
}), document.querySelectorAll("[data-drawer-open], [data-drawer-close], [data-drawer-toggle]").forEach((
|
456
|
-
if (
|
457
|
-
const o =
|
458
|
-
g(
|
454
|
+
(b = r(this, z).get(h)) == null || b.add(i);
|
455
|
+
}), document.querySelectorAll("[data-drawer-open], [data-drawer-close], [data-drawer-toggle]").forEach((s) => {
|
456
|
+
if (s.hasAttribute("data-drawer-open")) {
|
457
|
+
const o = s.getAttribute("data-drawer-open");
|
458
|
+
g(s, o);
|
459
459
|
const i = this.get(o);
|
460
|
-
p(
|
461
|
-
} else if (
|
462
|
-
const o =
|
463
|
-
g(
|
460
|
+
p(s, i, o), new Y({ target: s, type: "open", owner: i });
|
461
|
+
} else if (s.hasAttribute("data-drawer-close")) {
|
462
|
+
const o = s.getAttribute("data-drawer-close");
|
463
|
+
g(s, o);
|
464
464
|
const i = this.get(o);
|
465
|
-
p(
|
465
|
+
p(s, i, o), new Y({ target: s, type: "close", owner: i });
|
466
466
|
} else {
|
467
|
-
const o =
|
468
|
-
g(
|
467
|
+
const o = s.getAttribute("data-drawer-toggle");
|
468
|
+
g(s, o);
|
469
469
|
const i = this.get(o);
|
470
|
-
p(
|
470
|
+
p(s, i, o), new Y({ target: s, type: "toggle", owner: i });
|
471
471
|
}
|
472
472
|
});
|
473
|
-
function g(
|
473
|
+
function g(s, o) {
|
474
474
|
if (!o)
|
475
|
-
throw new Error(`Drawer alias should be specified in the trigger attribute. Trigger elem: ${
|
475
|
+
throw new Error(`Drawer alias should be specified in the trigger attribute. Trigger elem: ${s}`);
|
476
476
|
}
|
477
|
-
function p(
|
477
|
+
function p(s, o, i) {
|
478
478
|
if (!o)
|
479
|
-
throw new Error(`Drawer hasn't been found for the trigger elem: ${
|
479
|
+
throw new Error(`Drawer hasn't been found for the trigger elem: ${s}. Alias: ${i}`);
|
480
480
|
}
|
481
481
|
}
|
482
482
|
open(t, { trigger: e, options: l } = {}) {
|
@@ -488,14 +488,14 @@ const q = class q {
|
|
488
488
|
(a = this.get(t)) == null || a.close(e);
|
489
489
|
}
|
490
490
|
get(t) {
|
491
|
-
return typeof t == "string" &&
|
491
|
+
return typeof t == "string" && r(this, I).get(t) || null;
|
492
492
|
}
|
493
493
|
on(t, e, l) {
|
494
494
|
var a;
|
495
495
|
if (t)
|
496
496
|
(a = this.get(t)) == null || a.on(e, l);
|
497
497
|
else
|
498
|
-
for (const [g, p] of
|
498
|
+
for (const [g, p] of r(this, I))
|
499
499
|
p.on(e, l);
|
500
500
|
}
|
501
501
|
};
|
package/dist/drawers.umd.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
(function(f,g){typeof exports=="object"&&typeof module<"u"?g(exports):typeof define=="function"&&define.amd?define(["exports"],g):(f=typeof globalThis<"u"?globalThis:f||self,g(f.Drawers={}))})(this,function(f){"use strict";var le=(f,g,C)=>{if(!g.has(f))throw TypeError("Cannot "+C)};var n=(f,g,C)=>(le(f,g,"read from private field"),C?C.call(f):g.get(f)),b=(f,g,C)=>{if(g.has(f))throw TypeError("Cannot add the same private member more than once");g instanceof WeakSet?g.add(f):g.set(f,C)},A=(f,g,C,Y)=>(le(f,g,"write to private field"),Y?Y.call(f,C):g.set(f,C),C);var _,E,z,K,d,F,x,X,U,T,P,L,k,N,j,$,q;function g(
|
1
|
+
(function(f,g){typeof exports=="object"&&typeof module<"u"?g(exports):typeof define=="function"&&define.amd?define(["exports"],g):(f=typeof globalThis<"u"?globalThis:f||self,g(f.Drawers={}))})(this,function(f){"use strict";var le=(f,g,C)=>{if(!g.has(f))throw TypeError("Cannot "+C)};var n=(f,g,C)=>(le(f,g,"read from private field"),C?C.call(f):g.get(f)),b=(f,g,C)=>{if(g.has(f))throw TypeError("Cannot add the same private member more than once");g instanceof WeakSet?g.add(f):g.set(f,C)},A=(f,g,C,Y)=>(le(f,g,"write to private field"),Y?Y.call(f,C):g.set(f,C),C);var _,E,z,K,d,F,x,X,U,T,P,L,k,N,j,$,q;function g(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var C={exports:{}};(function(r){var t=Object.prototype.hasOwnProperty,e="~";function a(){}Object.create&&(a.prototype=Object.create(null),new a().__proto__||(e=!1));function l(o,i,c){this.fn=o,this.context=i,this.once=c||!1}function v(o,i,c,h,y){if(typeof c!="function")throw new TypeError("The listener must be a function");var O=new l(c,h||o,y),p=e?e+i:i;return o._events[p]?o._events[p].fn?o._events[p]=[o._events[p],O]:o._events[p].push(O):(o._events[p]=O,o._eventsCount++),o}function w(o,i){--o._eventsCount===0?o._events=new a:delete o._events[i]}function s(){this._events=new a,this._eventsCount=0}s.prototype.eventNames=function(){var i=[],c,h;if(this._eventsCount===0)return i;for(h in c=this._events)t.call(c,h)&&i.push(e?h.slice(1):h);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(c)):i},s.prototype.listeners=function(i){var c=e?e+i:i,h=this._events[c];if(!h)return[];if(h.fn)return[h.fn];for(var y=0,O=h.length,p=new Array(O);y<O;y++)p[y]=h[y].fn;return p},s.prototype.listenerCount=function(i){var c=e?e+i:i,h=this._events[c];return h?h.fn?1:h.length:0},s.prototype.emit=function(i,c,h,y,O,p){var S=e?e+i:i;if(!this._events[S])return!1;var u=this._events[S],M=arguments.length,D,m;if(u.fn){switch(u.once&&this.removeListener(i,u.fn,void 0,!0),M){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,c),!0;case 3:return u.fn.call(u.context,c,h),!0;case 4:return u.fn.call(u.context,c,h,y),!0;case 5:return u.fn.call(u.context,c,h,y,O),!0;case 6:return u.fn.call(u.context,c,h,y,O,p),!0}for(m=1,D=new Array(M-1);m<M;m++)D[m-1]=arguments[m];u.fn.apply(u.context,D)}else{var Se=u.length,V;for(m=0;m<Se;m++)switch(u[m].once&&this.removeListener(i,u[m].fn,void 0,!0),M){case 1:u[m].fn.call(u[m].context);break;case 2:u[m].fn.call(u[m].context,c);break;case 3:u[m].fn.call(u[m].context,c,h);break;case 4:u[m].fn.call(u[m].context,c,h,y);break;default:if(!D)for(V=1,D=new Array(M-1);V<M;V++)D[V-1]=arguments[V];u[m].fn.apply(u[m].context,D)}}return!0},s.prototype.on=function(i,c,h){return v(this,i,c,h,!1)},s.prototype.once=function(i,c,h){return v(this,i,c,h,!0)},s.prototype.removeListener=function(i,c,h,y){var O=e?e+i:i;if(!this._events[O])return this;if(!c)return w(this,O),this;var p=this._events[O];if(p.fn)p.fn===c&&(!y||p.once)&&(!h||p.context===h)&&w(this,O);else{for(var S=0,u=[],M=p.length;S<M;S++)(p[S].fn!==c||y&&!p[S].once||h&&p[S].context!==h)&&u.push(p[S]);u.length?this._events[O]=u.length===1?u[0]:u:w(this,O)}return this},s.prototype.removeAllListeners=function(i){var c;return i?(c=e?e+i:i,this._events[c]&&w(this,c)):(this._events=new a,this._eventsCount=0),this},s.prototype.off=s.prototype.removeListener,s.prototype.addListener=s.prototype.on,s.prefixed=e,s.EventEmitter=s,r.exports=s})(C);var Y=C.exports;const ae=g(Y);var ce=function(t){return he(t)&&!ue(t)};function he(r){return!!r&&typeof r=="object"}function ue(r){var t=Object.prototype.toString.call(r);return t==="[object RegExp]"||t==="[object Date]"||pe(r)}var de=typeof Symbol=="function"&&Symbol.for,fe=de?Symbol.for("react.element"):60103;function pe(r){return r.$$typeof===fe}function we(r){return Array.isArray(r)?[]:{}}function R(r,t){return t.clone!==!1&&t.isMergeableObject(r)?I(we(r),r,t):r}function me(r,t,e){return r.concat(t).map(function(a){return R(a,e)})}function ge(r,t){if(!t.customMerge)return I;var e=t.customMerge(r);return typeof e=="function"?e:I}function be(r){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(r).filter(function(t){return Object.propertyIsEnumerable.call(r,t)}):[]}function ne(r){return Object.keys(r).concat(be(r))}function re(r,t){try{return t in r}catch{return!1}}function ye(r,t){return re(r,t)&&!(Object.hasOwnProperty.call(r,t)&&Object.propertyIsEnumerable.call(r,t))}function ve(r,t,e){var a={};return e.isMergeableObject(r)&&ne(r).forEach(function(l){a[l]=R(r[l],e)}),ne(t).forEach(function(l){ye(r,l)||(re(r,l)&&e.isMergeableObject(t[l])?a[l]=ge(l,e)(r[l],t[l],e):a[l]=R(t[l],e))}),a}function I(r,t,e){e=e||{},e.arrayMerge=e.arrayMerge||me,e.isMergeableObject=e.isMergeableObject||ce,e.cloneUnlessOtherwiseSpecified=R;var a=Array.isArray(t),l=Array.isArray(r),v=a===l;return v?a?e.arrayMerge(r,t,e):ve(r,t,e):R(t,e)}I.all=function(t,e){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(a,l){return I(a,l,e)},{})};var Oe=I,Ae=Oe;const Ee=g(Ae);/*!
|
2
2
|
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
|
3
3
|
*
|
4
4
|
* Copyright (c) 2014-2017, Jon Schlinkert.
|
5
5
|
* Released under the MIT License.
|
6
|
-
*/function
|
6
|
+
*/function se(r){return Object.prototype.toString.call(r)==="[object Object]"}function Ce(r){var t,e;return se(r)===!1?!1:(t=r.constructor,t===void 0?!0:(e=t.prototype,!(se(e)===!1||e.hasOwnProperty("isPrototypeOf")===!1)))}function Z(r){return r instanceof Element?r:document.querySelector(r)}async function ee(r){return await new Promise(t=>setTimeout(t,r))}const _e='[data-elem="drawer.panel"]',J="data-drawers-group",Le=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","[contenteditable]",'[tabindex]:not([tabindex^="-"])'],te={modal:!0,focusOnChild:!0,closeOnEsc:!0,closeOnOutsideClick:!0,closeOnUnderlayClick:!0,onCloseConfirm:()=>!0,onBeforeClose:null,onClose:null,onCloseAnimationEnd:null,onBeforeOpen:null,onOpen:null,onOpenAnimationEnd:null,openClass:"drawer_open",closingClass:"drawer_closing",openingClass:"drawer_opening",openAnimationDuration:0,closeAnimationDuration:0,lockPageScroll:!0};function oe(r){return Ee.all(r,{isMergeableObject:Ce})}class Q{constructor({target:t,type:e,owner:a}){b(this,_,void 0);b(this,E,void 0);b(this,z,void 0);b(this,K,!1);const l=Z(t);if(!l)throw new Error("Trigger element cannot be found");if(!a)throw new Error("Owning drawer instance hasn't been provided");A(this,_,l),A(this,E,a),A(this,z,e),this.init()}get isActive(){return n(this,K)}get owner(){return n(this,E)}init(){n(this,_).addEventListener("click",t=>this.clickHandler(t)),n(this,E).on("open",()=>this.setActive(!0)),n(this,E).on("close",()=>this.setActive(!1))}clickHandler(t){t.__drawerTrigger=this,n(this,z)==="open"?n(this,E).isOpen||n(this,E).open(n(this,_)):n(this,z)==="close"?n(this,E).isOpen&&n(this,E).close(n(this,_)):n(this,E).isOpen?n(this,E).close(n(this,_)):n(this,E).open(n(this,_))}setActive(t){A(this,K,t),t?n(this,_).classList.add("drawer-trigger_active"):n(this,_).classList.remove("drawer-trigger_active")}}_=new WeakMap,E=new WeakMap,z=new WeakMap,K=new WeakMap;class ie extends ae{constructor({target:e,options:a}){super();b(this,d,void 0);b(this,F,void 0);b(this,x,void 0);b(this,X,void 0);b(this,U,void 0);this.handleDocumentClick=async s=>{var c;if(((c=s.__drawerTrigger)==null?void 0:c.owner)===this)return;const o=s.target;if(s.composedPath(),this.dom.panel.contains(o))return;const i=o==null?void 0:o.closest("[data-drawer]");i?i.getAttribute("data-drawer")===n(this,U)?this.handleUnderlayClick(s):this.handleOtherDrawerClick(s):this.handleOutsideClick(s)},this.handleKeydown=s=>{n(this,d).closeOnEsc&&s.key==="Escape"&&this.close()};const l=oe(a?[te,a]:[te]),v=Z(e);if(v===null)throw new Error("Drawer's root cannot be found");A(this,U,v.getAttribute("data-drawer"));const w=v.querySelector(_e);if(w===null)throw new Error(`Drawer's panel cannot be found. Alias: ${n(this,U)}`);this.dom={root:v,panel:w},this.setOptions(l),this.dom.panel.setAttribute("tabindex","-1"),this.dom.root.classList.add("drawer_initialized")}addEventListeners(){this.dom.root.addEventListener("keydown",this.handleKeydown),document.addEventListener("click",this.handleDocumentClick)}removeEventListeners(){this.dom.root.removeEventListener("keydown",this.handleKeydown),document.removeEventListener("click",this.handleDocumentClick)}get isOpen(){return n(this,x)}get isModal(){return n(this,d).modal}set isModal(e){this.dom.root.classList[e?"add":"remove"]("drawer_modal")}get willLockScroll(){return n(this,d).lockPageScroll}set zIndex(e){this.dom.root.style.setProperty("--z-index",String(e)),A(this,F,e)}get zIndex(){return n(this,F)}async open(e){await ee(0),!n(this,x)&&(this.emit("beforeOpen",{drawer:this,trigger:e}),A(this,x,!0),this.dom.root.classList.add(n(this,d).openingClass),this.emit("open",{drawer:this,trigger:e}),typeof n(this,d).openAnimationDuration=="number"&&await ee(n(this,d).openAnimationDuration),this.dom.root.classList.remove(n(this,d).openingClass),this.dom.root.classList.add(n(this,d).openClass),this.emit("openAnimationEnd",{drawer:this,trigger:e}),this.focus(),this.addEventListeners())}async close(e){n(this,d).onCloseConfirm&&!n(this,d).onCloseConfirm(this,e)||(this.emit("beforeClose",{drawer:this,trigger:e}),this.removeEventListeners(),A(this,x,!1),this.dom.root.classList.remove(n(this,d).openClass),this.dom.root.classList.add(n(this,d).closingClass),this.emit("close",{drawer:this,trigger:e}),typeof n(this,d).closeAnimationDuration=="number"&&await ee(n(this,d).closeAnimationDuration),this.dom.root.classList.remove(n(this,d).closingClass),this.emit("closeAnimationEnd",{drawer:this,trigger:e}))}handleOtherDrawerClick(e){}handleOutsideClick(e){n(this,d).closeOnOutsideClick&&(typeof n(this,d).closeOnOutsideClick=="object"&&n(this,d).closeOnOutsideClick.hasOwnProperty("checkTarget")?n(this,d).closeOnOutsideClick.checkTarget(e.target)&&this.close():this.close())}handleUnderlayClick(e){n(this,d).closeOnOutsideClick&&this.close()}focus(){n(this,d).focusOnChild&&this.focusChild()||this.focusSelf()}focusSelf(){this.dom.panel.focus()}focusChild(){const e=this.dom.panel.querySelector(Le.join(","));return e?(e.focus(),!0):!1}setOptions(e){var a;e.hasOwnProperty("modal")&&((a=n(this,d))==null?void 0:a.modal)!==e.modal&&(this.isModal=e.modal),A(this,d,n(this,d)?oe([n(this,d),e]):e)}assignGroup(e){A(this,X,e)}}d=new WeakMap,F=new WeakMap,x=new WeakMap,X=new WeakMap,U=new WeakMap;class ke{constructor(){b(this,T,new Map)}lock(t,e){n(this,T).has(t)||n(this,T).set(t,new Set);const a=n(this,T).get(t);a.size===0&&t.classList.add("scroll-lock-by-drawer"),a.add(e)}unlock(t,e){const a=n(this,T).get(t);a==null||a.delete(e),(!a||a.size===0)&&t.classList.remove("scroll-lock-by-drawer")}}T=new WeakMap;const G=class G{constructor(t){b(this,P,void 0);b(this,L,void 0);b(this,k,void 0);b(this,N,void 0);b(this,j,void 0);A(this,L,[]),A(this,k,[]),A(this,j,new Map),this.onBeforeOpen=({drawer:l,trigger:v})=>{l.isModal?(n(this,j).set(l,n(this,L).length),n(this,L).push(l),l.zIndex=n(this,k).length+n(this,L).length):(n(this,j).set(l,n(this,k).length),n(this,k).push(l),l.zIndex=n(this,k).length,n(this,L).length>0&&n(this,L).forEach((w,s)=>w.zIndex=n(this,k).length+s+1)),l.willLockScroll&&this.lockScroll(l)},this.onCloseAnimationEnd=({drawer:l,trigger:v})=>{const w=l.isModal?n(this,L):n(this,k);for(delete w[n(this,j).get(l)];w.length&&!w.at(-1);)w.pop();n(this,j).delete(l),this.unlockScroll(l)};const e=Z(t);if(e===null)throw new Error("Drawer's group root cannot be found");A(this,P,e);const a=n(this,P).closest("[data-scrollable], html")||n(this,P).matches("[data-scrollable], html")&&n(this,P);if(a===null)throw new Error("Scrollable container for group root cannot be found");A(this,N,a)}add(t){t.on("beforeOpen",this.onBeforeOpen),t.on("closeAnimationEnd",this.onCloseAnimationEnd),t.assignGroup(this)}lockScroll(t){G.scrollLock.lock(n(this,N),t)}unlockScroll(t){G.scrollLock.unlock(n(this,N),t)}};P=new WeakMap,L=new WeakMap,k=new WeakMap,N=new WeakMap,j=new WeakMap,G.scrollLock=new ke;let B=G;const H=class H{constructor(){b(this,$,new Map);b(this,q,new Map);if(H.instance)return H.instance;H.instance=this}init(t=te){document.querySelectorAll(`[${J}]`).forEach(s=>{const o=s.getAttribute(J);typeof o=="string"&&n(this,q).set(o,new B(s))}),n(this,q).set("default",new B(document.documentElement)),document.querySelectorAll("[data-drawer]").forEach(s=>{var y;const o=s.getAttribute("data-drawer");if(typeof o!="string")return;const i=new ie({target:s,options:{...t,modal:s.matches('[data-modal]:not([data-modal="false"])')||t.modal}});n(this,$).set(o,i);const c=s.closest(`[${J}]`),h=c?c.getAttribute(J):"default";if(typeof h!="string")throw new Error("Group doesn't have alias set correctly");(y=n(this,q).get(h))==null||y.add(i)}),document.querySelectorAll("[data-drawer-open], [data-drawer-close], [data-drawer-toggle]").forEach(s=>{if(s.hasAttribute("data-drawer-open")){const o=s.getAttribute("data-drawer-open");v(s,o);const i=this.get(o);w(s,i,o),new Q({target:s,type:"open",owner:i})}else if(s.hasAttribute("data-drawer-close")){const o=s.getAttribute("data-drawer-close");v(s,o);const i=this.get(o);w(s,i,o),new Q({target:s,type:"close",owner:i})}else{const o=s.getAttribute("data-drawer-toggle");v(s,o);const i=this.get(o);w(s,i,o),new Q({target:s,type:"toggle",owner:i})}});function v(s,o){if(!o)throw new Error(`Drawer alias should be specified in the trigger attribute. Trigger elem: ${s}`)}function w(s,o,i){if(!o)throw new Error(`Drawer hasn't been found for the trigger elem: ${s}. Alias: ${i}`)}}open(t,{trigger:e,options:a}={}){var l;(l=this.get(t))==null||l.open(e)}close(t,{trigger:e,options:a}={}){var l;(l=this.get(t))==null||l.close(e)}get(t){return typeof t=="string"&&n(this,$).get(t)||null}on(t,e,a){var l;if(t)(l=this.get(t))==null||l.on(e,a);else for(const[v,w]of n(this,$))w.on(e,a)}};$=new WeakMap,q=new WeakMap;let W=H;typeof window<"u"&&(window.hasOwnProperty("app")||(window.app={}),window.app.drawers=new W),f.Drawer=ie,f.DrawersGroup=B,f.Trigger=Q,f.default=W,Object.defineProperties(f,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|