vanilla-drawers 1.1.18 → 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 +142 -142
- package/dist/drawers.umd.js +2 -2
- package/package.json +1 -1
package/dist/drawers.es.js
CHANGED
@@ -2,55 +2,55 @@ 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);
|
9
|
-
}, v = (n, t, e,
|
9
|
+
}, v = (n, t, e, l) => (X(n, t, "write to private field"), l ? l.call(n, e) : t.set(n, e), e);
|
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
|
-
function
|
16
|
+
function l() {
|
17
17
|
}
|
18
|
-
Object.create && (
|
19
|
-
function
|
18
|
+
Object.create && (l.prototype = /* @__PURE__ */ Object.create(null), new l().__proto__ || (e = !1));
|
19
|
+
function a(o, i, c) {
|
20
20
|
this.fn = o, this.context = i, this.once = c || !1;
|
21
21
|
}
|
22
22
|
function g(o, i, c, h, b) {
|
23
23
|
if (typeof c != "function")
|
24
24
|
throw new TypeError("The listener must be a function");
|
25
|
-
var y = new
|
26
|
-
return o._events[
|
25
|
+
var y = new a(c, h || o, b), f = e ? e + i : i;
|
26
|
+
return o._events[f] ? o._events[f].fn ? o._events[f] = [o._events[f], y] : o._events[f].push(y) : (o._events[f] = y, o._eventsCount++), o;
|
27
27
|
}
|
28
28
|
function p(o, i) {
|
29
|
-
--o._eventsCount === 0 ? o._events = new
|
29
|
+
--o._eventsCount === 0 ? o._events = new l() : delete o._events[i];
|
30
30
|
}
|
31
|
-
function
|
32
|
-
this._events = new
|
31
|
+
function s() {
|
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 [];
|
45
45
|
if (h.fn)
|
46
46
|
return [h.fn];
|
47
|
-
for (var b = 0, y = h.length,
|
48
|
-
|
49
|
-
return
|
50
|
-
},
|
47
|
+
for (var b = 0, y = h.length, f = new Array(y); b < y; b++)
|
48
|
+
f[b] = h[b].fn;
|
49
|
+
return f;
|
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;
|
@@ -68,7 +68,7 @@ var se = { exports: {} };
|
|
68
68
|
case 5:
|
69
69
|
return u.fn.call(u.context, c, h, b, y), !0;
|
70
70
|
case 6:
|
71
|
-
return u.fn.call(u.context, c, h, b, y,
|
71
|
+
return u.fn.call(u.context, c, h, b, y, f), !0;
|
72
72
|
}
|
73
73
|
for (w = 1, S = new Array(L - 1); w < L; w++)
|
74
74
|
S[w - 1] = arguments[w];
|
@@ -97,33 +97,33 @@ 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;
|
108
108
|
if (!c)
|
109
109
|
return p(this, y), this;
|
110
|
-
var
|
111
|
-
if (
|
112
|
-
|
110
|
+
var f = this._events[y];
|
111
|
+
if (f.fn)
|
112
|
+
f.fn === c && (!b || f.once) && (!h || f.context === h) && p(this, y);
|
113
113
|
else {
|
114
|
-
for (var _ = 0, u = [], L =
|
115
|
-
(
|
114
|
+
for (var _ = 0, u = [], L = f.length; _ < L; _++)
|
115
|
+
(f[_].fn !== c || b && !f[_].once || h && f[_].context !== h) && u.push(f[_]);
|
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
|
-
return i ? (c = e ? e + i : i, this._events[c] && p(this, c)) : (this._events = new
|
122
|
-
},
|
123
|
-
})(
|
124
|
-
var ie =
|
125
|
-
const
|
126
|
-
var
|
121
|
+
return i ? (c = e ? e + i : i, this._events[c] && p(this, c)) : (this._events = new l(), this._eventsCount = 0), this;
|
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
|
+
const ae = /* @__PURE__ */ ne(ie);
|
126
|
+
var le = function(t) {
|
127
127
|
return ce(t) && !he(t);
|
128
128
|
};
|
129
129
|
function ce(n) {
|
@@ -131,11 +131,11 @@ function ce(n) {
|
|
131
131
|
}
|
132
132
|
function he(n) {
|
133
133
|
var t = Object.prototype.toString.call(n);
|
134
|
-
return t === "[object RegExp]" || t === "[object Date]" ||
|
134
|
+
return t === "[object RegExp]" || t === "[object Date]" || fe(n);
|
135
135
|
}
|
136
|
-
var ue = typeof Symbol == "function" && Symbol.for,
|
137
|
-
function
|
138
|
-
return n.$$typeof ===
|
136
|
+
var ue = typeof Symbol == "function" && Symbol.for, de = ue ? Symbol.for("react.element") : 60103;
|
137
|
+
function fe(n) {
|
138
|
+
return n.$$typeof === de;
|
139
139
|
}
|
140
140
|
function pe(n) {
|
141
141
|
return Array.isArray(n) ? [] : {};
|
@@ -144,8 +144,8 @@ function R(n, t) {
|
|
144
144
|
return t.clone !== !1 && t.isMergeableObject(n) ? U(pe(n), n, t) : n;
|
145
145
|
}
|
146
146
|
function we(n, t, e) {
|
147
|
-
return n.concat(t).map(function(
|
148
|
-
return R(
|
147
|
+
return n.concat(t).map(function(l) {
|
148
|
+
return R(l, e);
|
149
149
|
});
|
150
150
|
}
|
151
151
|
function me(n, 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,26 +170,26 @@ 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
|
-
var
|
177
|
-
return e.isMergeableObject(n) && Z(n).forEach(function(
|
178
|
-
a
|
179
|
-
}), Z(t).forEach(function(
|
180
|
-
ge(n,
|
181
|
-
}),
|
176
|
+
var l = {};
|
177
|
+
return e.isMergeableObject(n) && Z(n).forEach(function(a) {
|
178
|
+
l[a] = R(n[a], e);
|
179
|
+
}), Z(t).forEach(function(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
|
+
}), l;
|
182
182
|
}
|
183
183
|
function U(n, t, e) {
|
184
|
-
e = e || {}, e.arrayMerge = e.arrayMerge || we, e.isMergeableObject = e.isMergeableObject ||
|
185
|
-
var
|
186
|
-
return g ?
|
184
|
+
e = e || {}, e.arrayMerge = e.arrayMerge || we, e.isMergeableObject = e.isMergeableObject || le, e.cloneUnlessOtherwiseSpecified = R;
|
185
|
+
var l = Array.isArray(t), a = Array.isArray(n), g = l === a;
|
186
|
+
return g ? l ? e.arrayMerge(n, t, e) : ye(n, t, e) : R(t, e);
|
187
187
|
}
|
188
188
|
U.all = function(t, e) {
|
189
189
|
if (!Array.isArray(t))
|
190
190
|
throw new Error("first argument should be an array");
|
191
|
-
return t.reduce(function(
|
192
|
-
return U(
|
191
|
+
return t.reduce(function(l, a) {
|
192
|
+
return U(l, a, e);
|
193
193
|
}, {});
|
194
194
|
};
|
195
195
|
var ve = U, Oe = ve;
|
@@ -252,69 +252,69 @@ function te(n) {
|
|
252
252
|
}
|
253
253
|
var A, O, P, B;
|
254
254
|
class Y {
|
255
|
-
constructor({ target: t, type: e, owner:
|
255
|
+
constructor({ target: t, type: e, owner: l }) {
|
256
256
|
m(this, A, void 0);
|
257
257
|
m(this, O, void 0);
|
258
258
|
m(this, P, void 0);
|
259
259
|
m(this, B, !1);
|
260
|
-
const
|
261
|
-
if (!l)
|
262
|
-
throw new Error("Trigger element cannot be found");
|
260
|
+
const a = W(t);
|
263
261
|
if (!a)
|
262
|
+
throw new Error("Trigger element cannot be found");
|
263
|
+
if (!l)
|
264
264
|
throw new Error("Owning drawer instance hasn't been provided");
|
265
|
-
v(this, A,
|
265
|
+
v(this, A, a), v(this, O, l), v(this, P, e), this.init();
|
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();
|
286
|
-
var
|
287
|
-
class Le extends
|
288
|
-
constructor({ target: e, options:
|
286
|
+
var d, K, j, H, T;
|
287
|
+
class Le extends ae {
|
288
|
+
constructor({ target: e, options: l }) {
|
289
289
|
super();
|
290
|
-
m(this,
|
290
|
+
m(this, d, void 0);
|
291
291
|
m(this, K, void 0);
|
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
|
-
const
|
307
|
+
const a = te(l ? [J, l] : [J]), g = W(e);
|
308
308
|
if (g === null)
|
309
309
|
throw new Error("Drawer's root cannot be found");
|
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
|
317
|
-
}, this.setOptions(
|
317
|
+
}, this.setOptions(a), this.dom.panel.setAttribute("tabindex", "-1"), this.dom.root.classList.add("drawer_initialized");
|
318
318
|
}
|
319
319
|
addEventListeners() {
|
320
320
|
this.dom.root.addEventListener("keydown", this.handleKeydown), document.addEventListener("click", this.handleDocumentClick);
|
@@ -324,40 +324,40 @@ class Le extends le {
|
|
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();
|
@@ -367,27 +367,27 @@ class Le extends le {
|
|
367
367
|
return e ? (e.focus(), !0) : !1;
|
368
368
|
}
|
369
369
|
setOptions(e) {
|
370
|
-
var
|
371
|
-
e.hasOwnProperty("modal") && ((
|
370
|
+
var 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);
|
375
375
|
}
|
376
376
|
}
|
377
|
-
|
377
|
+
d = new WeakMap(), K = new WeakMap(), j = new WeakMap(), H = new WeakMap(), T = new WeakMap();
|
378
378
|
var M;
|
379
379
|
class ke {
|
380
380
|
constructor() {
|
381
381
|
m(this, M, /* @__PURE__ */ new Map());
|
382
382
|
}
|
383
383
|
lock(t, e) {
|
384
|
-
|
385
|
-
const
|
386
|
-
|
384
|
+
r(this, M).has(t) || r(this, M).set(t, /* @__PURE__ */ new Set());
|
385
|
+
const l = r(this, M).get(t);
|
386
|
+
l.size === 0 && t.classList.add("scroll-lock-by-drawer"), l.add(e);
|
387
387
|
}
|
388
388
|
unlock(t, e) {
|
389
|
-
const
|
390
|
-
|
389
|
+
const l = r(this, M).get(t);
|
390
|
+
l == null || l.delete(e), (!l || l.size === 0) && t.classList.remove("scroll-lock-by-drawer");
|
391
391
|
}
|
392
392
|
}
|
393
393
|
M = new WeakMap();
|
@@ -399,31 +399,31 @@ const $ = class $ {
|
|
399
399
|
m(this, C, void 0);
|
400
400
|
m(this, D, void 0);
|
401
401
|
m(this, k, void 0);
|
402
|
-
v(this, E, []), v(this, C, []), v(this, k, /* @__PURE__ */ new Map()), this.onBeforeOpen = ({ drawer:
|
403
|
-
|
404
|
-
}, this.onCloseAnimationEnd = ({ drawer:
|
405
|
-
const p =
|
406
|
-
for (delete p[
|
402
|
+
v(this, E, []), v(this, C, []), v(this, k, /* @__PURE__ */ new Map()), this.onBeforeOpen = ({ drawer: a, trigger: g }) => {
|
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
|
+
}, this.onCloseAnimationEnd = ({ drawer: a, trigger: g }) => {
|
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
|
415
|
-
if (
|
414
|
+
const l = r(this, x).closest("[data-scrollable], html") || r(this, x).matches("[data-scrollable], html") && r(this, x);
|
415
|
+
if (l === null)
|
416
416
|
throw new Error("Scrollable container for group root cannot be found");
|
417
|
-
v(this, D,
|
417
|
+
v(this, D, l);
|
418
418
|
}
|
419
419
|
add(t) {
|
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,65 +438,65 @@ 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
|
-
open(t, { trigger: e, options:
|
483
|
-
var
|
484
|
-
(
|
482
|
+
open(t, { trigger: e, options: l } = {}) {
|
483
|
+
var a;
|
484
|
+
(a = this.get(t)) == null || a.open(e);
|
485
485
|
}
|
486
|
-
close(t, { trigger: e, options:
|
487
|
-
var
|
488
|
-
(
|
486
|
+
close(t, { trigger: e, options: l } = {}) {
|
487
|
+
var a;
|
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
|
-
on(t, e,
|
494
|
-
var
|
493
|
+
on(t, e, l) {
|
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
|
499
|
-
p.on(e,
|
498
|
+
for (const [g, p] of r(this, I))
|
499
|
+
p.on(e, l);
|
500
500
|
}
|
501
501
|
};
|
502
502
|
I = new WeakMap(), z = new WeakMap();
|
package/dist/drawers.umd.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
(function(
|
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 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,
|
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"}})});
|