v-sistec-features 1.0.0
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/core.js +2085 -0
- package/dist/iframeCommunicator.js +5 -0
- package/dist/index.js +8 -0
- package/dist/useThemeFromParent-CYvPb79h.js +29 -0
- package/dist/v-sistec-features.css +11 -0
- package/dist/vite.svg +1 -0
- package/package.json +59 -0
- package/src/core/index.ts +3 -0
- package/src/core/plugin.ts +39 -0
- package/src/iframeCommunicator/index.ts +4 -0
- package/src/iframeCommunicator/useIframeCommunicator.ts +39 -0
- package/src/iframeCommunicator/useThemeFromParent.ts +32 -0
- package/src/index.ts +8 -0
- package/src/types/global.d.ts +1 -0
package/dist/core.js
ADDED
|
@@ -0,0 +1,2085 @@
|
|
|
1
|
+
function Wr(Y, Ye) {
|
|
2
|
+
for (var $ = 0; $ < Ye.length; $++) {
|
|
3
|
+
const Z = Ye[$];
|
|
4
|
+
if (typeof Z != "string" && !Array.isArray(Z)) {
|
|
5
|
+
for (const he in Z)
|
|
6
|
+
if (he !== "default" && !(he in Y)) {
|
|
7
|
+
const D = Object.getOwnPropertyDescriptor(Z, he);
|
|
8
|
+
D && Object.defineProperty(Y, he, D.get ? D : {
|
|
9
|
+
enumerable: !0,
|
|
10
|
+
get: () => Z[he]
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return Object.freeze(Object.defineProperty(Y, Symbol.toStringTag, { value: "Module" }));
|
|
16
|
+
}
|
|
17
|
+
function Rr(Y) {
|
|
18
|
+
return Y && Y.__esModule && Object.prototype.hasOwnProperty.call(Y, "default") ? Y.default : Y;
|
|
19
|
+
}
|
|
20
|
+
var ot = { exports: {} };
|
|
21
|
+
/*!
|
|
22
|
+
* Tabler v1.4.0 (https://tabler.io)
|
|
23
|
+
* Copyright 2018-2025 The Tabler Authors
|
|
24
|
+
* Copyright 2018-2025 codecalm.net Paweł Kuna
|
|
25
|
+
* Licensed under MIT (https://github.com/tabler/tabler/blob/master/LICENSE)
|
|
26
|
+
*/
|
|
27
|
+
var Br = ot.exports, hs;
|
|
28
|
+
function Vr() {
|
|
29
|
+
return hs || (hs = 1, (function(Y, Ye) {
|
|
30
|
+
(function($, Z) {
|
|
31
|
+
Z(Ye);
|
|
32
|
+
})(Br, function($) {
|
|
33
|
+
const Z = document.querySelectorAll('[data-bs-toggle="autosize"]');
|
|
34
|
+
Z.length && Z.forEach(function(i) {
|
|
35
|
+
window.autosize && window.autosize(i);
|
|
36
|
+
});
|
|
37
|
+
const he = document.querySelectorAll("[data-countup]");
|
|
38
|
+
he.length && he.forEach(function(i) {
|
|
39
|
+
let e = {};
|
|
40
|
+
try {
|
|
41
|
+
const n = i.getAttribute("data-countup") ? JSON.parse(i.getAttribute("data-countup")) : {};
|
|
42
|
+
e = Object.assign({ enableScrollSpy: !0 }, n);
|
|
43
|
+
} catch {
|
|
44
|
+
}
|
|
45
|
+
const t = parseInt(i.innerHTML, 10);
|
|
46
|
+
if (window.countUp && window.countUp.CountUp) {
|
|
47
|
+
const n = new window.countUp.CountUp(i, t, e);
|
|
48
|
+
n.error || n.start();
|
|
49
|
+
}
|
|
50
|
+
}), [].slice.call(document.querySelectorAll("[data-mask]")).map(function(i) {
|
|
51
|
+
window.IMask && new window.IMask(i, { mask: i.dataset.mask, lazy: i.dataset["mask-visible"] === "true" });
|
|
52
|
+
});
|
|
53
|
+
var D = "top", F = "bottom", H = "right", P = "left", rt = "auto", $e = [D, F, H, P], ye = "start", De = "end", gi = "clippingParents", xt = "viewport", Ie = "popper", _i = "reference", kt = $e.reduce(function(i, e) {
|
|
54
|
+
return i.concat([e + "-" + ye, e + "-" + De]);
|
|
55
|
+
}, []), St = [].concat($e, [rt]).reduce(function(i, e) {
|
|
56
|
+
return i.concat([e, e + "-" + ye, e + "-" + De]);
|
|
57
|
+
}, []), bi = "beforeRead", vi = "read", yi = "afterRead", wi = "beforeMain", Ai = "main", Ei = "afterMain", Ti = "beforeWrite", Ci = "write", Oi = "afterWrite", xi = [bi, vi, yi, wi, Ai, Ei, Ti, Ci, Oi];
|
|
58
|
+
function ee(i) {
|
|
59
|
+
return i ? (i.nodeName || "").toLowerCase() : null;
|
|
60
|
+
}
|
|
61
|
+
function z(i) {
|
|
62
|
+
if (i == null) return window;
|
|
63
|
+
if (i.toString() !== "[object Window]") {
|
|
64
|
+
var e = i.ownerDocument;
|
|
65
|
+
return e && e.defaultView || window;
|
|
66
|
+
}
|
|
67
|
+
return i;
|
|
68
|
+
}
|
|
69
|
+
function we(i) {
|
|
70
|
+
return i instanceof z(i).Element || i instanceof Element;
|
|
71
|
+
}
|
|
72
|
+
function R(i) {
|
|
73
|
+
return i instanceof z(i).HTMLElement || i instanceof HTMLElement;
|
|
74
|
+
}
|
|
75
|
+
function Lt(i) {
|
|
76
|
+
return typeof ShadowRoot < "u" && (i instanceof z(i).ShadowRoot || i instanceof ShadowRoot);
|
|
77
|
+
}
|
|
78
|
+
const $t = { name: "applyStyles", enabled: !0, phase: "write", fn: function(i) {
|
|
79
|
+
var e = i.state;
|
|
80
|
+
Object.keys(e.elements).forEach(function(t) {
|
|
81
|
+
var n = e.styles[t] || {}, s = e.attributes[t] || {}, o = e.elements[t];
|
|
82
|
+
R(o) && ee(o) && (Object.assign(o.style, n), Object.keys(s).forEach(function(r) {
|
|
83
|
+
var a = s[r];
|
|
84
|
+
a === !1 ? o.removeAttribute(r) : o.setAttribute(r, a === !0 ? "" : a);
|
|
85
|
+
}));
|
|
86
|
+
});
|
|
87
|
+
}, effect: function(i) {
|
|
88
|
+
var e = i.state, t = { popper: { position: e.options.strategy, left: "0", top: "0", margin: "0" }, arrow: { position: "absolute" }, reference: {} };
|
|
89
|
+
return Object.assign(e.elements.popper.style, t.popper), e.styles = t, e.elements.arrow && Object.assign(e.elements.arrow.style, t.arrow), function() {
|
|
90
|
+
Object.keys(e.elements).forEach(function(n) {
|
|
91
|
+
var s = e.elements[n], o = e.attributes[n] || {}, r = Object.keys(e.styles.hasOwnProperty(n) ? e.styles[n] : t[n]).reduce(function(a, c) {
|
|
92
|
+
return a[c] = "", a;
|
|
93
|
+
}, {});
|
|
94
|
+
R(s) && ee(s) && (Object.assign(s.style, r), Object.keys(o).forEach(function(a) {
|
|
95
|
+
s.removeAttribute(a);
|
|
96
|
+
}));
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
}, requires: ["computeStyles"] };
|
|
100
|
+
function te(i) {
|
|
101
|
+
return i.split("-")[0];
|
|
102
|
+
}
|
|
103
|
+
var Ae = Math.max, at = Math.min, Pe = Math.round;
|
|
104
|
+
function Dt() {
|
|
105
|
+
var i = navigator.userAgentData;
|
|
106
|
+
return i != null && i.brands && Array.isArray(i.brands) ? i.brands.map(function(e) {
|
|
107
|
+
return e.brand + "/" + e.version;
|
|
108
|
+
}).join(" ") : navigator.userAgent;
|
|
109
|
+
}
|
|
110
|
+
function ki() {
|
|
111
|
+
return !/^((?!chrome|android).)*safari/i.test(Dt());
|
|
112
|
+
}
|
|
113
|
+
function Ne(i, e, t) {
|
|
114
|
+
e === void 0 && (e = !1), t === void 0 && (t = !1);
|
|
115
|
+
var n = i.getBoundingClientRect(), s = 1, o = 1;
|
|
116
|
+
e && R(i) && (s = i.offsetWidth > 0 && Pe(n.width) / i.offsetWidth || 1, o = i.offsetHeight > 0 && Pe(n.height) / i.offsetHeight || 1);
|
|
117
|
+
var r = (we(i) ? z(i) : window).visualViewport, a = !ki() && t, c = (n.left + (a && r ? r.offsetLeft : 0)) / s, h = (n.top + (a && r ? r.offsetTop : 0)) / o, d = n.width / s, u = n.height / o;
|
|
118
|
+
return { width: d, height: u, top: h, right: c + d, bottom: h + u, left: c, x: c, y: h };
|
|
119
|
+
}
|
|
120
|
+
function It(i) {
|
|
121
|
+
var e = Ne(i), t = i.offsetWidth, n = i.offsetHeight;
|
|
122
|
+
return Math.abs(e.width - t) <= 1 && (t = e.width), Math.abs(e.height - n) <= 1 && (n = e.height), { x: i.offsetLeft, y: i.offsetTop, width: t, height: n };
|
|
123
|
+
}
|
|
124
|
+
function Si(i, e) {
|
|
125
|
+
var t = e.getRootNode && e.getRootNode();
|
|
126
|
+
if (i.contains(e)) return !0;
|
|
127
|
+
if (t && Lt(t)) {
|
|
128
|
+
var n = e;
|
|
129
|
+
do {
|
|
130
|
+
if (n && i.isSameNode(n)) return !0;
|
|
131
|
+
n = n.parentNode || n.host;
|
|
132
|
+
} while (n);
|
|
133
|
+
}
|
|
134
|
+
return !1;
|
|
135
|
+
}
|
|
136
|
+
function oe(i) {
|
|
137
|
+
return z(i).getComputedStyle(i);
|
|
138
|
+
}
|
|
139
|
+
function fs(i) {
|
|
140
|
+
return ["table", "td", "th"].indexOf(ee(i)) >= 0;
|
|
141
|
+
}
|
|
142
|
+
function de(i) {
|
|
143
|
+
return ((we(i) ? i.ownerDocument : i.document) || window.document).documentElement;
|
|
144
|
+
}
|
|
145
|
+
function lt(i) {
|
|
146
|
+
return ee(i) === "html" ? i : i.assignedSlot || i.parentNode || (Lt(i) ? i.host : null) || de(i);
|
|
147
|
+
}
|
|
148
|
+
function Li(i) {
|
|
149
|
+
return R(i) && oe(i).position !== "fixed" ? i.offsetParent : null;
|
|
150
|
+
}
|
|
151
|
+
function Je(i) {
|
|
152
|
+
for (var e = z(i), t = Li(i); t && fs(t) && oe(t).position === "static"; ) t = Li(t);
|
|
153
|
+
return t && (ee(t) === "html" || ee(t) === "body" && oe(t).position === "static") ? e : t || (function(n) {
|
|
154
|
+
var s = /firefox/i.test(Dt());
|
|
155
|
+
if (/Trident/i.test(Dt()) && R(n) && oe(n).position === "fixed") return null;
|
|
156
|
+
var o = lt(n);
|
|
157
|
+
for (Lt(o) && (o = o.host); R(o) && ["html", "body"].indexOf(ee(o)) < 0; ) {
|
|
158
|
+
var r = oe(o);
|
|
159
|
+
if (r.transform !== "none" || r.perspective !== "none" || r.contain === "paint" || ["transform", "perspective"].indexOf(r.willChange) !== -1 || s && r.willChange === "filter" || s && r.filter && r.filter !== "none") return o;
|
|
160
|
+
o = o.parentNode;
|
|
161
|
+
}
|
|
162
|
+
return null;
|
|
163
|
+
})(i) || e;
|
|
164
|
+
}
|
|
165
|
+
function Pt(i) {
|
|
166
|
+
return ["top", "bottom"].indexOf(i) >= 0 ? "x" : "y";
|
|
167
|
+
}
|
|
168
|
+
function Ge(i, e, t) {
|
|
169
|
+
return Ae(i, at(e, t));
|
|
170
|
+
}
|
|
171
|
+
function $i(i) {
|
|
172
|
+
return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, i);
|
|
173
|
+
}
|
|
174
|
+
function Di(i, e) {
|
|
175
|
+
return e.reduce(function(t, n) {
|
|
176
|
+
return t[n] = i, t;
|
|
177
|
+
}, {});
|
|
178
|
+
}
|
|
179
|
+
const Ii = { name: "arrow", enabled: !0, phase: "main", fn: function(i) {
|
|
180
|
+
var e, t = i.state, n = i.name, s = i.options, o = t.elements.arrow, r = t.modifiersData.popperOffsets, a = te(t.placement), c = Pt(a), h = [P, H].indexOf(a) >= 0 ? "height" : "width";
|
|
181
|
+
if (o && r) {
|
|
182
|
+
var d = (function(O, T) {
|
|
183
|
+
return $i(typeof (O = typeof O == "function" ? O(Object.assign({}, T.rects, { placement: T.placement })) : O) != "number" ? O : Di(O, $e));
|
|
184
|
+
})(s.padding, t), u = It(o), b = c === "y" ? D : P, p = c === "y" ? F : H, g = t.rects.reference[h] + t.rects.reference[c] - r[c] - t.rects.popper[h], m = r[c] - t.rects.reference[c], _ = Je(o), C = _ ? c === "y" ? _.clientHeight || 0 : _.clientWidth || 0 : 0, k = g / 2 - m / 2, y = d[b], A = C - u[h] - d[p], v = C / 2 - u[h] / 2 + k, w = Ge(y, v, A), E = c;
|
|
185
|
+
t.modifiersData[n] = ((e = {})[E] = w, e.centerOffset = w - v, e);
|
|
186
|
+
}
|
|
187
|
+
}, effect: function(i) {
|
|
188
|
+
var e = i.state, t = i.options.element, n = t === void 0 ? "[data-popper-arrow]" : t;
|
|
189
|
+
n != null && (typeof n != "string" || (n = e.elements.popper.querySelector(n))) && Si(e.elements.popper, n) && (e.elements.arrow = n);
|
|
190
|
+
}, requires: ["popperOffsets"], requiresIfExists: ["preventOverflow"] };
|
|
191
|
+
function je(i) {
|
|
192
|
+
return i.split("-")[1];
|
|
193
|
+
}
|
|
194
|
+
var ps = { top: "auto", right: "auto", bottom: "auto", left: "auto" };
|
|
195
|
+
function Pi(i) {
|
|
196
|
+
var e, t = i.popper, n = i.popperRect, s = i.placement, o = i.variation, r = i.offsets, a = i.position, c = i.gpuAcceleration, h = i.adaptive, d = i.roundOffsets, u = i.isFixed, b = r.x, p = b === void 0 ? 0 : b, g = r.y, m = g === void 0 ? 0 : g, _ = typeof d == "function" ? d({ x: p, y: m }) : { x: p, y: m };
|
|
197
|
+
p = _.x, m = _.y;
|
|
198
|
+
var C = r.hasOwnProperty("x"), k = r.hasOwnProperty("y"), y = P, A = D, v = window;
|
|
199
|
+
if (h) {
|
|
200
|
+
var w = Je(t), E = "clientHeight", O = "clientWidth";
|
|
201
|
+
w === z(t) && oe(w = de(t)).position !== "static" && a === "absolute" && (E = "scrollHeight", O = "scrollWidth"), (s === D || (s === P || s === H) && o === De) && (A = F, m -= (u && w === v && v.visualViewport ? v.visualViewport.height : w[E]) - n.height, m *= c ? 1 : -1), s !== P && (s !== D && s !== F || o !== De) || (y = H, p -= (u && w === v && v.visualViewport ? v.visualViewport.width : w[O]) - n.width, p *= c ? 1 : -1);
|
|
202
|
+
}
|
|
203
|
+
var T, L = Object.assign({ position: a }, h && ps), W = d === !0 ? (function(G, N) {
|
|
204
|
+
var K = G.x, Q = G.y, S = N.devicePixelRatio || 1;
|
|
205
|
+
return { x: Pe(K * S) / S || 0, y: Pe(Q * S) / S || 0 };
|
|
206
|
+
})({ x: p, y: m }, z(t)) : { x: p, y: m };
|
|
207
|
+
return p = W.x, m = W.y, c ? Object.assign({}, L, ((T = {})[A] = k ? "0" : "", T[y] = C ? "0" : "", T.transform = (v.devicePixelRatio || 1) <= 1 ? "translate(" + p + "px, " + m + "px)" : "translate3d(" + p + "px, " + m + "px, 0)", T)) : Object.assign({}, L, ((e = {})[A] = k ? m + "px" : "", e[y] = C ? p + "px" : "", e.transform = "", e));
|
|
208
|
+
}
|
|
209
|
+
const Nt = { name: "computeStyles", enabled: !0, phase: "beforeWrite", fn: function(i) {
|
|
210
|
+
var e = i.state, t = i.options, n = t.gpuAcceleration, s = n === void 0 || n, o = t.adaptive, r = o === void 0 || o, a = t.roundOffsets, c = a === void 0 || a, h = { placement: te(e.placement), variation: je(e.placement), popper: e.elements.popper, popperRect: e.rects.popper, gpuAcceleration: s, isFixed: e.options.strategy === "fixed" };
|
|
211
|
+
e.modifiersData.popperOffsets != null && (e.styles.popper = Object.assign({}, e.styles.popper, Pi(Object.assign({}, h, { offsets: e.modifiersData.popperOffsets, position: e.options.strategy, adaptive: r, roundOffsets: c })))), e.modifiersData.arrow != null && (e.styles.arrow = Object.assign({}, e.styles.arrow, Pi(Object.assign({}, h, { offsets: e.modifiersData.arrow, position: "absolute", adaptive: !1, roundOffsets: c })))), e.attributes.popper = Object.assign({}, e.attributes.popper, { "data-popper-placement": e.placement });
|
|
212
|
+
}, data: {} };
|
|
213
|
+
var ct = { passive: !0 };
|
|
214
|
+
const jt = { name: "eventListeners", enabled: !0, phase: "write", fn: function() {
|
|
215
|
+
}, effect: function(i) {
|
|
216
|
+
var e = i.state, t = i.instance, n = i.options, s = n.scroll, o = s === void 0 || s, r = n.resize, a = r === void 0 || r, c = z(e.elements.popper), h = [].concat(e.scrollParents.reference, e.scrollParents.popper);
|
|
217
|
+
return o && h.forEach(function(d) {
|
|
218
|
+
d.addEventListener("scroll", t.update, ct);
|
|
219
|
+
}), a && c.addEventListener("resize", t.update, ct), function() {
|
|
220
|
+
o && h.forEach(function(d) {
|
|
221
|
+
d.removeEventListener("scroll", t.update, ct);
|
|
222
|
+
}), a && c.removeEventListener("resize", t.update, ct);
|
|
223
|
+
};
|
|
224
|
+
}, data: {} };
|
|
225
|
+
var ms = { left: "right", right: "left", bottom: "top", top: "bottom" };
|
|
226
|
+
function ut(i) {
|
|
227
|
+
return i.replace(/left|right|bottom|top/g, function(e) {
|
|
228
|
+
return ms[e];
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
var gs = { start: "end", end: "start" };
|
|
232
|
+
function Ni(i) {
|
|
233
|
+
return i.replace(/start|end/g, function(e) {
|
|
234
|
+
return gs[e];
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
function Mt(i) {
|
|
238
|
+
var e = z(i);
|
|
239
|
+
return { scrollLeft: e.pageXOffset, scrollTop: e.pageYOffset };
|
|
240
|
+
}
|
|
241
|
+
function Ft(i) {
|
|
242
|
+
return Ne(de(i)).left + Mt(i).scrollLeft;
|
|
243
|
+
}
|
|
244
|
+
function Ht(i) {
|
|
245
|
+
var e = oe(i), t = e.overflow, n = e.overflowX, s = e.overflowY;
|
|
246
|
+
return /auto|scroll|overlay|hidden/.test(t + s + n);
|
|
247
|
+
}
|
|
248
|
+
function ji(i) {
|
|
249
|
+
return ["html", "body", "#document"].indexOf(ee(i)) >= 0 ? i.ownerDocument.body : R(i) && Ht(i) ? i : ji(lt(i));
|
|
250
|
+
}
|
|
251
|
+
function Ze(i, e) {
|
|
252
|
+
var t;
|
|
253
|
+
e === void 0 && (e = []);
|
|
254
|
+
var n = ji(i), s = n === ((t = i.ownerDocument) == null ? void 0 : t.body), o = z(n), r = s ? [o].concat(o.visualViewport || [], Ht(n) ? n : []) : n, a = e.concat(r);
|
|
255
|
+
return s ? a : a.concat(Ze(lt(r)));
|
|
256
|
+
}
|
|
257
|
+
function zt(i) {
|
|
258
|
+
return Object.assign({}, i, { left: i.x, top: i.y, right: i.x + i.width, bottom: i.y + i.height });
|
|
259
|
+
}
|
|
260
|
+
function Mi(i, e, t) {
|
|
261
|
+
return e === xt ? zt((function(n, s) {
|
|
262
|
+
var o = z(n), r = de(n), a = o.visualViewport, c = r.clientWidth, h = r.clientHeight, d = 0, u = 0;
|
|
263
|
+
if (a) {
|
|
264
|
+
c = a.width, h = a.height;
|
|
265
|
+
var b = ki();
|
|
266
|
+
(b || !b && s === "fixed") && (d = a.offsetLeft, u = a.offsetTop);
|
|
267
|
+
}
|
|
268
|
+
return { width: c, height: h, x: d + Ft(n), y: u };
|
|
269
|
+
})(i, t)) : we(e) ? (function(n, s) {
|
|
270
|
+
var o = Ne(n, !1, s === "fixed");
|
|
271
|
+
return o.top = o.top + n.clientTop, o.left = o.left + n.clientLeft, o.bottom = o.top + n.clientHeight, o.right = o.left + n.clientWidth, o.width = n.clientWidth, o.height = n.clientHeight, o.x = o.left, o.y = o.top, o;
|
|
272
|
+
})(e, t) : zt((function(n) {
|
|
273
|
+
var s, o = de(n), r = Mt(n), a = (s = n.ownerDocument) == null ? void 0 : s.body, c = Ae(o.scrollWidth, o.clientWidth, a ? a.scrollWidth : 0, a ? a.clientWidth : 0), h = Ae(o.scrollHeight, o.clientHeight, a ? a.scrollHeight : 0, a ? a.clientHeight : 0), d = -r.scrollLeft + Ft(n), u = -r.scrollTop;
|
|
274
|
+
return oe(a || o).direction === "rtl" && (d += Ae(o.clientWidth, a ? a.clientWidth : 0) - c), { width: c, height: h, x: d, y: u };
|
|
275
|
+
})(de(i)));
|
|
276
|
+
}
|
|
277
|
+
function Fi(i) {
|
|
278
|
+
var e, t = i.reference, n = i.element, s = i.placement, o = s ? te(s) : null, r = s ? je(s) : null, a = t.x + t.width / 2 - n.width / 2, c = t.y + t.height / 2 - n.height / 2;
|
|
279
|
+
switch (o) {
|
|
280
|
+
case D:
|
|
281
|
+
e = { x: a, y: t.y - n.height };
|
|
282
|
+
break;
|
|
283
|
+
case F:
|
|
284
|
+
e = { x: a, y: t.y + t.height };
|
|
285
|
+
break;
|
|
286
|
+
case H:
|
|
287
|
+
e = { x: t.x + t.width, y: c };
|
|
288
|
+
break;
|
|
289
|
+
case P:
|
|
290
|
+
e = { x: t.x - n.width, y: c };
|
|
291
|
+
break;
|
|
292
|
+
default:
|
|
293
|
+
e = { x: t.x, y: t.y };
|
|
294
|
+
}
|
|
295
|
+
var h = o ? Pt(o) : null;
|
|
296
|
+
if (h != null) {
|
|
297
|
+
var d = h === "y" ? "height" : "width";
|
|
298
|
+
switch (r) {
|
|
299
|
+
case ye:
|
|
300
|
+
e[h] = e[h] - (t[d] / 2 - n[d] / 2);
|
|
301
|
+
break;
|
|
302
|
+
case De:
|
|
303
|
+
e[h] = e[h] + (t[d] / 2 - n[d] / 2);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
return e;
|
|
307
|
+
}
|
|
308
|
+
function Me(i, e) {
|
|
309
|
+
e === void 0 && (e = {});
|
|
310
|
+
var t = e, n = t.placement, s = n === void 0 ? i.placement : n, o = t.strategy, r = o === void 0 ? i.strategy : o, a = t.boundary, c = a === void 0 ? gi : a, h = t.rootBoundary, d = h === void 0 ? xt : h, u = t.elementContext, b = u === void 0 ? Ie : u, p = t.altBoundary, g = p !== void 0 && p, m = t.padding, _ = m === void 0 ? 0 : m, C = $i(typeof _ != "number" ? _ : Di(_, $e)), k = b === Ie ? _i : Ie, y = i.rects.popper, A = i.elements[g ? k : b], v = (function(N, K, Q, S) {
|
|
311
|
+
var ne = K === "clippingParents" ? (function(x) {
|
|
312
|
+
var j = Ze(lt(x)), X = ["absolute", "fixed"].indexOf(oe(x).position) >= 0 && R(x) ? Je(x) : x;
|
|
313
|
+
return we(X) ? j.filter(function(ve) {
|
|
314
|
+
return we(ve) && Si(ve, X) && ee(ve) !== "body";
|
|
315
|
+
}) : [];
|
|
316
|
+
})(N) : [].concat(K), se = [].concat(ne, [Q]), Xe = se[0], I = se.reduce(function(x, j) {
|
|
317
|
+
var X = Mi(N, j, S);
|
|
318
|
+
return x.top = Ae(X.top, x.top), x.right = at(X.right, x.right), x.bottom = at(X.bottom, x.bottom), x.left = Ae(X.left, x.left), x;
|
|
319
|
+
}, Mi(N, Xe, S));
|
|
320
|
+
return I.width = I.right - I.left, I.height = I.bottom - I.top, I.x = I.left, I.y = I.top, I;
|
|
321
|
+
})(we(A) ? A : A.contextElement || de(i.elements.popper), c, d, r), w = Ne(i.elements.reference), E = Fi({ reference: w, element: y, placement: s }), O = zt(Object.assign({}, y, E)), T = b === Ie ? O : w, L = { top: v.top - T.top + C.top, bottom: T.bottom - v.bottom + C.bottom, left: v.left - T.left + C.left, right: T.right - v.right + C.right }, W = i.modifiersData.offset;
|
|
322
|
+
if (b === Ie && W) {
|
|
323
|
+
var G = W[s];
|
|
324
|
+
Object.keys(L).forEach(function(N) {
|
|
325
|
+
var K = [H, F].indexOf(N) >= 0 ? 1 : -1, Q = [D, F].indexOf(N) >= 0 ? "y" : "x";
|
|
326
|
+
L[N] += G[Q] * K;
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
return L;
|
|
330
|
+
}
|
|
331
|
+
function _s(i, e) {
|
|
332
|
+
e === void 0 && (e = {});
|
|
333
|
+
var t = e, n = t.placement, s = t.boundary, o = t.rootBoundary, r = t.padding, a = t.flipVariations, c = t.allowedAutoPlacements, h = c === void 0 ? St : c, d = je(n), u = d ? a ? kt : kt.filter(function(g) {
|
|
334
|
+
return je(g) === d;
|
|
335
|
+
}) : $e, b = u.filter(function(g) {
|
|
336
|
+
return h.indexOf(g) >= 0;
|
|
337
|
+
});
|
|
338
|
+
b.length === 0 && (b = u);
|
|
339
|
+
var p = b.reduce(function(g, m) {
|
|
340
|
+
return g[m] = Me(i, { placement: m, boundary: s, rootBoundary: o, padding: r })[te(m)], g;
|
|
341
|
+
}, {});
|
|
342
|
+
return Object.keys(p).sort(function(g, m) {
|
|
343
|
+
return p[g] - p[m];
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
const Hi = { name: "flip", enabled: !0, phase: "main", fn: function(i) {
|
|
347
|
+
var e = i.state, t = i.options, n = i.name;
|
|
348
|
+
if (!e.modifiersData[n]._skip) {
|
|
349
|
+
for (var s = t.mainAxis, o = s === void 0 || s, r = t.altAxis, a = r === void 0 || r, c = t.fallbackPlacements, h = t.padding, d = t.boundary, u = t.rootBoundary, b = t.altBoundary, p = t.flipVariations, g = p === void 0 || p, m = t.allowedAutoPlacements, _ = e.options.placement, C = te(_), k = c || (C !== _ && g ? (function(x) {
|
|
350
|
+
if (te(x) === rt) return [];
|
|
351
|
+
var j = ut(x);
|
|
352
|
+
return [Ni(x), j, Ni(j)];
|
|
353
|
+
})(_) : [ut(_)]), y = [_].concat(k).reduce(function(x, j) {
|
|
354
|
+
return x.concat(te(j) === rt ? _s(e, { placement: j, boundary: d, rootBoundary: u, padding: h, flipVariations: g, allowedAutoPlacements: m }) : j);
|
|
355
|
+
}, []), A = e.rects.reference, v = e.rects.popper, w = /* @__PURE__ */ new Map(), E = !0, O = y[0], T = 0; T < y.length; T++) {
|
|
356
|
+
var L = y[T], W = te(L), G = je(L) === ye, N = [D, F].indexOf(W) >= 0, K = N ? "width" : "height", Q = Me(e, { placement: L, boundary: d, rootBoundary: u, altBoundary: b, padding: h }), S = N ? G ? H : P : G ? F : D;
|
|
357
|
+
A[K] > v[K] && (S = ut(S));
|
|
358
|
+
var ne = ut(S), se = [];
|
|
359
|
+
if (o && se.push(Q[W] <= 0), a && se.push(Q[S] <= 0, Q[ne] <= 0), se.every(function(x) {
|
|
360
|
+
return x;
|
|
361
|
+
})) {
|
|
362
|
+
O = L, E = !1;
|
|
363
|
+
break;
|
|
364
|
+
}
|
|
365
|
+
w.set(L, se);
|
|
366
|
+
}
|
|
367
|
+
if (E) for (var Xe = function(x) {
|
|
368
|
+
var j = y.find(function(X) {
|
|
369
|
+
var ve = w.get(X);
|
|
370
|
+
if (ve) return ve.slice(0, x).every(function(Tt) {
|
|
371
|
+
return Tt;
|
|
372
|
+
});
|
|
373
|
+
});
|
|
374
|
+
if (j) return O = j, "break";
|
|
375
|
+
}, I = g ? 3 : 1; I > 0 && Xe(I) !== "break"; I--) ;
|
|
376
|
+
e.placement !== O && (e.modifiersData[n]._skip = !0, e.placement = O, e.reset = !0);
|
|
377
|
+
}
|
|
378
|
+
}, requiresIfExists: ["offset"], data: { _skip: !1 } };
|
|
379
|
+
function zi(i, e, t) {
|
|
380
|
+
return t === void 0 && (t = { x: 0, y: 0 }), { top: i.top - e.height - t.y, right: i.right - e.width + t.x, bottom: i.bottom - e.height + t.y, left: i.left - e.width - t.x };
|
|
381
|
+
}
|
|
382
|
+
function qi(i) {
|
|
383
|
+
return [D, H, F, P].some(function(e) {
|
|
384
|
+
return i[e] >= 0;
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
const Wi = { name: "hide", enabled: !0, phase: "main", requiresIfExists: ["preventOverflow"], fn: function(i) {
|
|
388
|
+
var e = i.state, t = i.name, n = e.rects.reference, s = e.rects.popper, o = e.modifiersData.preventOverflow, r = Me(e, { elementContext: "reference" }), a = Me(e, { altBoundary: !0 }), c = zi(r, n), h = zi(a, s, o), d = qi(c), u = qi(h);
|
|
389
|
+
e.modifiersData[t] = { referenceClippingOffsets: c, popperEscapeOffsets: h, isReferenceHidden: d, hasPopperEscaped: u }, e.attributes.popper = Object.assign({}, e.attributes.popper, { "data-popper-reference-hidden": d, "data-popper-escaped": u });
|
|
390
|
+
} }, Ri = { name: "offset", enabled: !0, phase: "main", requires: ["popperOffsets"], fn: function(i) {
|
|
391
|
+
var e = i.state, t = i.options, n = i.name, s = t.offset, o = s === void 0 ? [0, 0] : s, r = St.reduce(function(d, u) {
|
|
392
|
+
return d[u] = (function(b, p, g) {
|
|
393
|
+
var m = te(b), _ = [P, D].indexOf(m) >= 0 ? -1 : 1, C = typeof g == "function" ? g(Object.assign({}, p, { placement: b })) : g, k = C[0], y = C[1];
|
|
394
|
+
return k = k || 0, y = (y || 0) * _, [P, H].indexOf(m) >= 0 ? { x: y, y: k } : { x: k, y };
|
|
395
|
+
})(u, e.rects, o), d;
|
|
396
|
+
}, {}), a = r[e.placement], c = a.x, h = a.y;
|
|
397
|
+
e.modifiersData.popperOffsets != null && (e.modifiersData.popperOffsets.x += c, e.modifiersData.popperOffsets.y += h), e.modifiersData[n] = r;
|
|
398
|
+
} }, qt = { name: "popperOffsets", enabled: !0, phase: "read", fn: function(i) {
|
|
399
|
+
var e = i.state, t = i.name;
|
|
400
|
+
e.modifiersData[t] = Fi({ reference: e.rects.reference, element: e.rects.popper, placement: e.placement });
|
|
401
|
+
}, data: {} }, Bi = { name: "preventOverflow", enabled: !0, phase: "main", fn: function(i) {
|
|
402
|
+
var e = i.state, t = i.options, n = i.name, s = t.mainAxis, o = s === void 0 || s, r = t.altAxis, a = r !== void 0 && r, c = t.boundary, h = t.rootBoundary, d = t.altBoundary, u = t.padding, b = t.tether, p = b === void 0 || b, g = t.tetherOffset, m = g === void 0 ? 0 : g, _ = Me(e, { boundary: c, rootBoundary: h, padding: u, altBoundary: d }), C = te(e.placement), k = je(e.placement), y = !k, A = Pt(C), v = A === "x" ? "y" : "x", w = e.modifiersData.popperOffsets, E = e.rects.reference, O = e.rects.popper, T = typeof m == "function" ? m(Object.assign({}, e.rects, { placement: e.placement })) : m, L = typeof T == "number" ? { mainAxis: T, altAxis: T } : Object.assign({ mainAxis: 0, altAxis: 0 }, T), W = e.modifiersData.offset ? e.modifiersData.offset[e.placement] : null, G = { x: 0, y: 0 };
|
|
403
|
+
if (w) {
|
|
404
|
+
if (o) {
|
|
405
|
+
var N, K = A === "y" ? D : P, Q = A === "y" ? F : H, S = A === "y" ? "height" : "width", ne = w[A], se = ne + _[K], Xe = ne - _[Q], I = p ? -O[S] / 2 : 0, x = k === ye ? E[S] : O[S], j = k === ye ? -O[S] : -E[S], X = e.elements.arrow, ve = p && X ? It(X) : { width: 0, height: 0 }, Tt = e.modifiersData["arrow#persistent"] ? e.modifiersData["arrow#persistent"].padding : { top: 0, right: 0, bottom: 0, left: 0 }, Zn = Tt[K], es = Tt[Q], Ct = Ge(0, E[S], ve[S]), Pr = y ? E[S] / 2 - I - Ct - Zn - L.mainAxis : x - Ct - Zn - L.mainAxis, Nr = y ? -E[S] / 2 + I + Ct + es + L.mainAxis : j + Ct + es + L.mainAxis, fi = e.elements.arrow && Je(e.elements.arrow), jr = fi ? A === "y" ? fi.clientTop || 0 : fi.clientLeft || 0 : 0, ts = (N = W?.[A]) != null ? N : 0, Mr = ne + Nr - ts, is = Ge(p ? at(se, ne + Pr - ts - jr) : se, ne, p ? Ae(Xe, Mr) : Xe);
|
|
406
|
+
w[A] = is, G[A] = is - ne;
|
|
407
|
+
}
|
|
408
|
+
if (a) {
|
|
409
|
+
var ns, Fr = A === "x" ? D : P, Hr = A === "x" ? F : H, Le = w[v], Ot = v === "y" ? "height" : "width", ss = Le + _[Fr], os = Le - _[Hr], pi = [D, P].indexOf(C) !== -1, rs = (ns = W?.[v]) != null ? ns : 0, as = pi ? ss : Le - E[Ot] - O[Ot] - rs + L.altAxis, ls = pi ? Le + E[Ot] + O[Ot] - rs - L.altAxis : os, cs = p && pi ? (function(zr, qr, mi) {
|
|
410
|
+
var us = Ge(zr, qr, mi);
|
|
411
|
+
return us > mi ? mi : us;
|
|
412
|
+
})(as, Le, ls) : Ge(p ? as : ss, Le, p ? ls : os);
|
|
413
|
+
w[v] = cs, G[v] = cs - Le;
|
|
414
|
+
}
|
|
415
|
+
e.modifiersData[n] = G;
|
|
416
|
+
}
|
|
417
|
+
}, requiresIfExists: ["offset"] };
|
|
418
|
+
function bs(i, e, t) {
|
|
419
|
+
t === void 0 && (t = !1);
|
|
420
|
+
var n, s, o = R(e), r = R(e) && (function(u) {
|
|
421
|
+
var b = u.getBoundingClientRect(), p = Pe(b.width) / u.offsetWidth || 1, g = Pe(b.height) / u.offsetHeight || 1;
|
|
422
|
+
return p !== 1 || g !== 1;
|
|
423
|
+
})(e), a = de(e), c = Ne(i, r, t), h = { scrollLeft: 0, scrollTop: 0 }, d = { x: 0, y: 0 };
|
|
424
|
+
return (o || !o && !t) && ((ee(e) !== "body" || Ht(a)) && (h = (n = e) !== z(n) && R(n) ? { scrollLeft: (s = n).scrollLeft, scrollTop: s.scrollTop } : Mt(n)), R(e) ? ((d = Ne(e, !0)).x += e.clientLeft, d.y += e.clientTop) : a && (d.x = Ft(a))), { x: c.left + h.scrollLeft - d.x, y: c.top + h.scrollTop - d.y, width: c.width, height: c.height };
|
|
425
|
+
}
|
|
426
|
+
function vs(i) {
|
|
427
|
+
var e = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Set(), n = [];
|
|
428
|
+
function s(o) {
|
|
429
|
+
t.add(o.name), [].concat(o.requires || [], o.requiresIfExists || []).forEach(function(r) {
|
|
430
|
+
if (!t.has(r)) {
|
|
431
|
+
var a = e.get(r);
|
|
432
|
+
a && s(a);
|
|
433
|
+
}
|
|
434
|
+
}), n.push(o);
|
|
435
|
+
}
|
|
436
|
+
return i.forEach(function(o) {
|
|
437
|
+
e.set(o.name, o);
|
|
438
|
+
}), i.forEach(function(o) {
|
|
439
|
+
t.has(o.name) || s(o);
|
|
440
|
+
}), n;
|
|
441
|
+
}
|
|
442
|
+
var Vi = { placement: "bottom", modifiers: [], strategy: "absolute" };
|
|
443
|
+
function Ui() {
|
|
444
|
+
for (var i = arguments.length, e = new Array(i), t = 0; t < i; t++) e[t] = arguments[t];
|
|
445
|
+
return !e.some(function(n) {
|
|
446
|
+
return !(n && typeof n.getBoundingClientRect == "function");
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
function ht(i) {
|
|
450
|
+
i === void 0 && (i = {});
|
|
451
|
+
var e = i, t = e.defaultModifiers, n = t === void 0 ? [] : t, s = e.defaultOptions, o = s === void 0 ? Vi : s;
|
|
452
|
+
return function(r, a, c) {
|
|
453
|
+
c === void 0 && (c = o);
|
|
454
|
+
var h, d, u = { placement: "bottom", orderedModifiers: [], options: Object.assign({}, Vi, o), modifiersData: {}, elements: { reference: r, popper: a }, attributes: {}, styles: {} }, b = [], p = !1, g = { state: u, setOptions: function(_) {
|
|
455
|
+
var C = typeof _ == "function" ? _(u.options) : _;
|
|
456
|
+
m(), u.options = Object.assign({}, o, u.options, C), u.scrollParents = { reference: we(r) ? Ze(r) : r.contextElement ? Ze(r.contextElement) : [], popper: Ze(a) };
|
|
457
|
+
var k, y, A = (function(v) {
|
|
458
|
+
var w = vs(v);
|
|
459
|
+
return xi.reduce(function(E, O) {
|
|
460
|
+
return E.concat(w.filter(function(T) {
|
|
461
|
+
return T.phase === O;
|
|
462
|
+
}));
|
|
463
|
+
}, []);
|
|
464
|
+
})((k = [].concat(n, u.options.modifiers), y = k.reduce(function(v, w) {
|
|
465
|
+
var E = v[w.name];
|
|
466
|
+
return v[w.name] = E ? Object.assign({}, E, w, { options: Object.assign({}, E.options, w.options), data: Object.assign({}, E.data, w.data) }) : w, v;
|
|
467
|
+
}, {}), Object.keys(y).map(function(v) {
|
|
468
|
+
return y[v];
|
|
469
|
+
})));
|
|
470
|
+
return u.orderedModifiers = A.filter(function(v) {
|
|
471
|
+
return v.enabled;
|
|
472
|
+
}), u.orderedModifiers.forEach(function(v) {
|
|
473
|
+
var w = v.name, E = v.options, O = E === void 0 ? {} : E, T = v.effect;
|
|
474
|
+
if (typeof T == "function") {
|
|
475
|
+
var L = T({ state: u, name: w, instance: g, options: O });
|
|
476
|
+
b.push(L || function() {
|
|
477
|
+
});
|
|
478
|
+
}
|
|
479
|
+
}), g.update();
|
|
480
|
+
}, forceUpdate: function() {
|
|
481
|
+
if (!p) {
|
|
482
|
+
var _ = u.elements, C = _.reference, k = _.popper;
|
|
483
|
+
if (Ui(C, k)) {
|
|
484
|
+
u.rects = { reference: bs(C, Je(k), u.options.strategy === "fixed"), popper: It(k) }, u.reset = !1, u.placement = u.options.placement, u.orderedModifiers.forEach(function(T) {
|
|
485
|
+
return u.modifiersData[T.name] = Object.assign({}, T.data);
|
|
486
|
+
});
|
|
487
|
+
for (var y = 0; y < u.orderedModifiers.length; y++) if (u.reset !== !0) {
|
|
488
|
+
var A = u.orderedModifiers[y], v = A.fn, w = A.options, E = w === void 0 ? {} : w, O = A.name;
|
|
489
|
+
typeof v == "function" && (u = v({ state: u, options: E, name: O, instance: g }) || u);
|
|
490
|
+
} else u.reset = !1, y = -1;
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
}, update: (h = function() {
|
|
494
|
+
return new Promise(function(_) {
|
|
495
|
+
g.forceUpdate(), _(u);
|
|
496
|
+
});
|
|
497
|
+
}, function() {
|
|
498
|
+
return d || (d = new Promise(function(_) {
|
|
499
|
+
Promise.resolve().then(function() {
|
|
500
|
+
d = void 0, _(h());
|
|
501
|
+
});
|
|
502
|
+
})), d;
|
|
503
|
+
}), destroy: function() {
|
|
504
|
+
m(), p = !0;
|
|
505
|
+
} };
|
|
506
|
+
if (!Ui(r, a)) return g;
|
|
507
|
+
function m() {
|
|
508
|
+
b.forEach(function(_) {
|
|
509
|
+
return _();
|
|
510
|
+
}), b = [];
|
|
511
|
+
}
|
|
512
|
+
return g.setOptions(c).then(function(_) {
|
|
513
|
+
!p && c.onFirstUpdate && c.onFirstUpdate(_);
|
|
514
|
+
}), g;
|
|
515
|
+
};
|
|
516
|
+
}
|
|
517
|
+
var ys = ht(), ws = ht({ defaultModifiers: [jt, qt, Nt, $t] }), Wt = ht({ defaultModifiers: [jt, qt, Nt, $t, Ri, Hi, Bi, Ii, Wi] });
|
|
518
|
+
const Ki = Object.freeze(Object.defineProperty({ __proto__: null, afterMain: Ei, afterRead: yi, afterWrite: Oi, applyStyles: $t, arrow: Ii, auto: rt, basePlacements: $e, beforeMain: wi, beforeRead: bi, beforeWrite: Ti, bottom: F, clippingParents: gi, computeStyles: Nt, createPopper: Wt, createPopperBase: ys, createPopperLite: ws, detectOverflow: Me, end: De, eventListeners: jt, flip: Hi, hide: Wi, left: P, main: Ai, modifierPhases: xi, offset: Ri, placements: St, popper: Ie, popperGenerator: ht, popperOffsets: qt, preventOverflow: Bi, read: vi, reference: _i, right: H, start: ye, top: D, variationPlacements: kt, viewport: xt, write: Ci }, Symbol.toStringTag, { value: "Module" })), fe = /* @__PURE__ */ new Map(), Rt = { set(i, e, t) {
|
|
519
|
+
fe.has(i) || fe.set(i, /* @__PURE__ */ new Map());
|
|
520
|
+
const n = fe.get(i);
|
|
521
|
+
n.has(e) || n.size === 0 ? n.set(e, t) : console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`);
|
|
522
|
+
}, get: (i, e) => fe.has(i) && fe.get(i).get(e) || null, remove(i, e) {
|
|
523
|
+
if (!fe.has(i)) return;
|
|
524
|
+
const t = fe.get(i);
|
|
525
|
+
t.delete(e), t.size === 0 && fe.delete(i);
|
|
526
|
+
} }, Bt = "transitionend", Qi = (i) => (i && window.CSS && window.CSS.escape && (i = i.replace(/#([^\s"#']+)/g, (e, t) => `#${CSS.escape(t)}`)), i), As = (i) => i == null ? `${i}` : Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase(), Xi = (i) => {
|
|
527
|
+
i.dispatchEvent(new Event(Bt));
|
|
528
|
+
}, re = (i) => !(!i || typeof i != "object") && (i.jquery !== void 0 && (i = i[0]), i.nodeType !== void 0), pe = (i) => re(i) ? i.jquery ? i[0] : i : typeof i == "string" && i.length > 0 ? document.querySelector(Qi(i)) : null, Fe = (i) => {
|
|
529
|
+
if (!re(i) || i.getClientRects().length === 0) return !1;
|
|
530
|
+
const e = getComputedStyle(i).getPropertyValue("visibility") === "visible", t = i.closest("details:not([open])");
|
|
531
|
+
if (!t) return e;
|
|
532
|
+
if (t !== i) {
|
|
533
|
+
const n = i.closest("summary");
|
|
534
|
+
if (n && n.parentNode !== t || n === null) return !1;
|
|
535
|
+
}
|
|
536
|
+
return e;
|
|
537
|
+
}, me = (i) => !i || i.nodeType !== Node.ELEMENT_NODE || !!i.classList.contains("disabled") || (i.disabled !== void 0 ? i.disabled : i.hasAttribute("disabled") && i.getAttribute("disabled") !== "false"), Yi = (i) => {
|
|
538
|
+
if (!document.documentElement.attachShadow) return null;
|
|
539
|
+
if (typeof i.getRootNode == "function") {
|
|
540
|
+
const e = i.getRootNode();
|
|
541
|
+
return e instanceof ShadowRoot ? e : null;
|
|
542
|
+
}
|
|
543
|
+
return i instanceof ShadowRoot ? i : i.parentNode ? Yi(i.parentNode) : null;
|
|
544
|
+
}, dt = () => {
|
|
545
|
+
}, et = (i) => {
|
|
546
|
+
i.offsetHeight;
|
|
547
|
+
}, Ji = () => window.jQuery && !document.body.hasAttribute("data-bs-no-jquery") ? window.jQuery : null, Vt = [], B = () => document.documentElement.dir === "rtl", V = (i) => {
|
|
548
|
+
var e;
|
|
549
|
+
e = () => {
|
|
550
|
+
const t = Ji();
|
|
551
|
+
if (t) {
|
|
552
|
+
const n = i.NAME, s = t.fn[n];
|
|
553
|
+
t.fn[n] = i.jQueryInterface, t.fn[n].Constructor = i, t.fn[n].noConflict = () => (t.fn[n] = s, i.jQueryInterface);
|
|
554
|
+
}
|
|
555
|
+
}, document.readyState === "loading" ? (Vt.length || document.addEventListener("DOMContentLoaded", () => {
|
|
556
|
+
for (const t of Vt) t();
|
|
557
|
+
}), Vt.push(e)) : e();
|
|
558
|
+
}, M = (i, e = [], t = i) => typeof i == "function" ? i.call(...e) : t, Gi = (i, e, t = !0) => {
|
|
559
|
+
if (!t) return void M(i);
|
|
560
|
+
const n = ((r) => {
|
|
561
|
+
if (!r) return 0;
|
|
562
|
+
let { transitionDuration: a, transitionDelay: c } = window.getComputedStyle(r);
|
|
563
|
+
const h = Number.parseFloat(a), d = Number.parseFloat(c);
|
|
564
|
+
return h || d ? (a = a.split(",")[0], c = c.split(",")[0], 1e3 * (Number.parseFloat(a) + Number.parseFloat(c))) : 0;
|
|
565
|
+
})(e) + 5;
|
|
566
|
+
let s = !1;
|
|
567
|
+
const o = ({ target: r }) => {
|
|
568
|
+
r === e && (s = !0, e.removeEventListener(Bt, o), M(i));
|
|
569
|
+
};
|
|
570
|
+
e.addEventListener(Bt, o), setTimeout(() => {
|
|
571
|
+
s || Xi(e);
|
|
572
|
+
}, n);
|
|
573
|
+
}, Ut = (i, e, t, n) => {
|
|
574
|
+
const s = i.length;
|
|
575
|
+
let o = i.indexOf(e);
|
|
576
|
+
return o === -1 ? !t && n ? i[s - 1] : i[0] : (o += t ? 1 : -1, n && (o = (o + s) % s), i[Math.max(0, Math.min(o, s - 1))]);
|
|
577
|
+
}, Es = /[^.]*(?=\..*)\.|.*/, Ts = /\..*/, Cs = /::\d+$/, Kt = {};
|
|
578
|
+
/*!
|
|
579
|
+
* Bootstrap v5.3.7 (https://getbootstrap.com/)
|
|
580
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
|
581
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
582
|
+
*/
|
|
583
|
+
let Zi = 1;
|
|
584
|
+
const en = { mouseenter: "mouseover", mouseleave: "mouseout" }, Os = /* @__PURE__ */ new Set(["click", "dblclick", "mouseup", "mousedown", "contextmenu", "mousewheel", "DOMMouseScroll", "mouseover", "mouseout", "mousemove", "selectstart", "selectend", "keydown", "keypress", "keyup", "orientationchange", "touchstart", "touchmove", "touchend", "touchcancel", "pointerdown", "pointermove", "pointerup", "pointerleave", "pointercancel", "gesturestart", "gesturechange", "gestureend", "focus", "blur", "change", "reset", "select", "submit", "focusin", "focusout", "load", "unload", "beforeunload", "resize", "move", "DOMContentLoaded", "readystatechange", "error", "abort", "scroll"]);
|
|
585
|
+
function tn(i, e) {
|
|
586
|
+
return e && `${e}::${Zi++}` || i.uidEvent || Zi++;
|
|
587
|
+
}
|
|
588
|
+
function nn(i) {
|
|
589
|
+
const e = tn(i);
|
|
590
|
+
return i.uidEvent = e, Kt[e] = Kt[e] || {}, Kt[e];
|
|
591
|
+
}
|
|
592
|
+
function sn(i, e, t = null) {
|
|
593
|
+
return Object.values(i).find((n) => n.callable === e && n.delegationSelector === t);
|
|
594
|
+
}
|
|
595
|
+
function on(i, e, t) {
|
|
596
|
+
const n = typeof e == "string", s = n ? t : e || t;
|
|
597
|
+
let o = an(i);
|
|
598
|
+
return Os.has(o) || (o = i), [n, s, o];
|
|
599
|
+
}
|
|
600
|
+
function rn(i, e, t, n, s) {
|
|
601
|
+
if (typeof e != "string" || !i) return;
|
|
602
|
+
let [o, r, a] = on(e, t, n);
|
|
603
|
+
e in en && (r = ((g) => function(m) {
|
|
604
|
+
if (!m.relatedTarget || m.relatedTarget !== m.delegateTarget && !m.delegateTarget.contains(m.relatedTarget)) return g.call(this, m);
|
|
605
|
+
})(r));
|
|
606
|
+
const c = nn(i), h = c[a] || (c[a] = {}), d = sn(h, r, o ? t : null);
|
|
607
|
+
if (d) return void (d.oneOff = d.oneOff && s);
|
|
608
|
+
const u = tn(r, e.replace(Es, "")), b = o ? /* @__PURE__ */ (function(p, g, m) {
|
|
609
|
+
return function _(C) {
|
|
610
|
+
const k = p.querySelectorAll(g);
|
|
611
|
+
for (let { target: y } = C; y && y !== this; y = y.parentNode) for (const A of k) if (A === y) return Xt(C, { delegateTarget: y }), _.oneOff && l.off(p, C.type, g, m), m.apply(y, [C]);
|
|
612
|
+
};
|
|
613
|
+
})(i, t, r) : /* @__PURE__ */ (function(p, g) {
|
|
614
|
+
return function m(_) {
|
|
615
|
+
return Xt(_, { delegateTarget: p }), m.oneOff && l.off(p, _.type, g), g.apply(p, [_]);
|
|
616
|
+
};
|
|
617
|
+
})(i, r);
|
|
618
|
+
b.delegationSelector = o ? t : null, b.callable = r, b.oneOff = s, b.uidEvent = u, h[u] = b, i.addEventListener(a, b, o);
|
|
619
|
+
}
|
|
620
|
+
function Qt(i, e, t, n, s) {
|
|
621
|
+
const o = sn(e[t], n, s);
|
|
622
|
+
o && (i.removeEventListener(t, o, !!s), delete e[t][o.uidEvent]);
|
|
623
|
+
}
|
|
624
|
+
function xs(i, e, t, n) {
|
|
625
|
+
const s = e[t] || {};
|
|
626
|
+
for (const [o, r] of Object.entries(s)) o.includes(n) && Qt(i, e, t, r.callable, r.delegationSelector);
|
|
627
|
+
}
|
|
628
|
+
function an(i) {
|
|
629
|
+
return i = i.replace(Ts, ""), en[i] || i;
|
|
630
|
+
}
|
|
631
|
+
const l = { on(i, e, t, n) {
|
|
632
|
+
rn(i, e, t, n, !1);
|
|
633
|
+
}, one(i, e, t, n) {
|
|
634
|
+
rn(i, e, t, n, !0);
|
|
635
|
+
}, off(i, e, t, n) {
|
|
636
|
+
if (typeof e != "string" || !i) return;
|
|
637
|
+
const [s, o, r] = on(e, t, n), a = r !== e, c = nn(i), h = c[r] || {}, d = e.startsWith(".");
|
|
638
|
+
if (o === void 0) {
|
|
639
|
+
if (d) for (const u of Object.keys(c)) xs(i, c, u, e.slice(1));
|
|
640
|
+
for (const [u, b] of Object.entries(h)) {
|
|
641
|
+
const p = u.replace(Cs, "");
|
|
642
|
+
a && !e.includes(p) || Qt(i, c, r, b.callable, b.delegationSelector);
|
|
643
|
+
}
|
|
644
|
+
} else {
|
|
645
|
+
if (!Object.keys(h).length) return;
|
|
646
|
+
Qt(i, c, r, o, s ? t : null);
|
|
647
|
+
}
|
|
648
|
+
}, trigger(i, e, t) {
|
|
649
|
+
if (typeof e != "string" || !i) return null;
|
|
650
|
+
const n = Ji();
|
|
651
|
+
let s = null, o = !0, r = !0, a = !1;
|
|
652
|
+
e !== an(e) && n && (s = n.Event(e, t), n(i).trigger(s), o = !s.isPropagationStopped(), r = !s.isImmediatePropagationStopped(), a = s.isDefaultPrevented());
|
|
653
|
+
const c = Xt(new Event(e, { bubbles: o, cancelable: !0 }), t);
|
|
654
|
+
return a && c.preventDefault(), r && i.dispatchEvent(c), c.defaultPrevented && s && s.preventDefault(), c;
|
|
655
|
+
} };
|
|
656
|
+
function Xt(i, e = {}) {
|
|
657
|
+
for (const [t, n] of Object.entries(e)) try {
|
|
658
|
+
i[t] = n;
|
|
659
|
+
} catch {
|
|
660
|
+
Object.defineProperty(i, t, { configurable: !0, get: () => n });
|
|
661
|
+
}
|
|
662
|
+
return i;
|
|
663
|
+
}
|
|
664
|
+
function ln(i) {
|
|
665
|
+
if (i === "true") return !0;
|
|
666
|
+
if (i === "false") return !1;
|
|
667
|
+
if (i === Number(i).toString()) return Number(i);
|
|
668
|
+
if (i === "" || i === "null") return null;
|
|
669
|
+
if (typeof i != "string") return i;
|
|
670
|
+
try {
|
|
671
|
+
return JSON.parse(decodeURIComponent(i));
|
|
672
|
+
} catch {
|
|
673
|
+
return i;
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
function Yt(i) {
|
|
677
|
+
return i.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`);
|
|
678
|
+
}
|
|
679
|
+
const ae = { setDataAttribute(i, e, t) {
|
|
680
|
+
i.setAttribute(`data-bs-${Yt(e)}`, t);
|
|
681
|
+
}, removeDataAttribute(i, e) {
|
|
682
|
+
i.removeAttribute(`data-bs-${Yt(e)}`);
|
|
683
|
+
}, getDataAttributes(i) {
|
|
684
|
+
if (!i) return {};
|
|
685
|
+
const e = {}, t = Object.keys(i.dataset).filter((n) => n.startsWith("bs") && !n.startsWith("bsConfig"));
|
|
686
|
+
for (const n of t) {
|
|
687
|
+
let s = n.replace(/^bs/, "");
|
|
688
|
+
s = s.charAt(0).toLowerCase() + s.slice(1), e[s] = ln(i.dataset[n]);
|
|
689
|
+
}
|
|
690
|
+
return e;
|
|
691
|
+
}, getDataAttribute: (i, e) => ln(i.getAttribute(`data-bs-${Yt(e)}`)) };
|
|
692
|
+
class tt {
|
|
693
|
+
static get Default() {
|
|
694
|
+
return {};
|
|
695
|
+
}
|
|
696
|
+
static get DefaultType() {
|
|
697
|
+
return {};
|
|
698
|
+
}
|
|
699
|
+
static get NAME() {
|
|
700
|
+
throw new Error('You have to implement the static method "NAME", for each component!');
|
|
701
|
+
}
|
|
702
|
+
_getConfig(e) {
|
|
703
|
+
return e = this._mergeConfigObj(e), e = this._configAfterMerge(e), this._typeCheckConfig(e), e;
|
|
704
|
+
}
|
|
705
|
+
_configAfterMerge(e) {
|
|
706
|
+
return e;
|
|
707
|
+
}
|
|
708
|
+
_mergeConfigObj(e, t) {
|
|
709
|
+
const n = re(t) ? ae.getDataAttribute(t, "config") : {};
|
|
710
|
+
return { ...this.constructor.Default, ...typeof n == "object" ? n : {}, ...re(t) ? ae.getDataAttributes(t) : {}, ...typeof e == "object" ? e : {} };
|
|
711
|
+
}
|
|
712
|
+
_typeCheckConfig(e, t = this.constructor.DefaultType) {
|
|
713
|
+
for (const [n, s] of Object.entries(t)) {
|
|
714
|
+
const o = e[n], r = re(o) ? "element" : As(o);
|
|
715
|
+
if (!new RegExp(s).test(r)) throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`);
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
class J extends tt {
|
|
720
|
+
constructor(e, t) {
|
|
721
|
+
super(), (e = pe(e)) && (this._element = e, this._config = this._getConfig(t), Rt.set(this._element, this.constructor.DATA_KEY, this));
|
|
722
|
+
}
|
|
723
|
+
dispose() {
|
|
724
|
+
Rt.remove(this._element, this.constructor.DATA_KEY), l.off(this._element, this.constructor.EVENT_KEY);
|
|
725
|
+
for (const e of Object.getOwnPropertyNames(this)) this[e] = null;
|
|
726
|
+
}
|
|
727
|
+
_queueCallback(e, t, n = !0) {
|
|
728
|
+
Gi(e, t, n);
|
|
729
|
+
}
|
|
730
|
+
_getConfig(e) {
|
|
731
|
+
return e = this._mergeConfigObj(e, this._element), e = this._configAfterMerge(e), this._typeCheckConfig(e), e;
|
|
732
|
+
}
|
|
733
|
+
static getInstance(e) {
|
|
734
|
+
return Rt.get(pe(e), this.DATA_KEY);
|
|
735
|
+
}
|
|
736
|
+
static getOrCreateInstance(e, t = {}) {
|
|
737
|
+
return this.getInstance(e) || new this(e, typeof t == "object" ? t : null);
|
|
738
|
+
}
|
|
739
|
+
static get VERSION() {
|
|
740
|
+
return "5.3.7";
|
|
741
|
+
}
|
|
742
|
+
static get DATA_KEY() {
|
|
743
|
+
return `bs.${this.NAME}`;
|
|
744
|
+
}
|
|
745
|
+
static get EVENT_KEY() {
|
|
746
|
+
return `.${this.DATA_KEY}`;
|
|
747
|
+
}
|
|
748
|
+
static eventName(e) {
|
|
749
|
+
return `${e}${this.EVENT_KEY}`;
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
const Jt = (i) => {
|
|
753
|
+
let e = i.getAttribute("data-bs-target");
|
|
754
|
+
if (!e || e === "#") {
|
|
755
|
+
let t = i.getAttribute("href");
|
|
756
|
+
if (!t || !t.includes("#") && !t.startsWith(".")) return null;
|
|
757
|
+
t.includes("#") && !t.startsWith("#") && (t = `#${t.split("#")[1]}`), e = t && t !== "#" ? t.trim() : null;
|
|
758
|
+
}
|
|
759
|
+
return e ? e.split(",").map((t) => Qi(t)).join(",") : null;
|
|
760
|
+
}, f = { find: (i, e = document.documentElement) => [].concat(...Element.prototype.querySelectorAll.call(e, i)), findOne: (i, e = document.documentElement) => Element.prototype.querySelector.call(e, i), children: (i, e) => [].concat(...i.children).filter((t) => t.matches(e)), parents(i, e) {
|
|
761
|
+
const t = [];
|
|
762
|
+
let n = i.parentNode.closest(e);
|
|
763
|
+
for (; n; ) t.push(n), n = n.parentNode.closest(e);
|
|
764
|
+
return t;
|
|
765
|
+
}, prev(i, e) {
|
|
766
|
+
let t = i.previousElementSibling;
|
|
767
|
+
for (; t; ) {
|
|
768
|
+
if (t.matches(e)) return [t];
|
|
769
|
+
t = t.previousElementSibling;
|
|
770
|
+
}
|
|
771
|
+
return [];
|
|
772
|
+
}, next(i, e) {
|
|
773
|
+
let t = i.nextElementSibling;
|
|
774
|
+
for (; t; ) {
|
|
775
|
+
if (t.matches(e)) return [t];
|
|
776
|
+
t = t.nextElementSibling;
|
|
777
|
+
}
|
|
778
|
+
return [];
|
|
779
|
+
}, focusableChildren(i) {
|
|
780
|
+
const e = ["a", "button", "input", "textarea", "select", "details", "[tabindex]", '[contenteditable="true"]'].map((t) => `${t}:not([tabindex^="-"])`).join(",");
|
|
781
|
+
return this.find(e, i).filter((t) => !me(t) && Fe(t));
|
|
782
|
+
}, getSelectorFromElement(i) {
|
|
783
|
+
const e = Jt(i);
|
|
784
|
+
return e && f.findOne(e) ? e : null;
|
|
785
|
+
}, getElementFromSelector(i) {
|
|
786
|
+
const e = Jt(i);
|
|
787
|
+
return e ? f.findOne(e) : null;
|
|
788
|
+
}, getMultipleElementsFromSelector(i) {
|
|
789
|
+
const e = Jt(i);
|
|
790
|
+
return e ? f.find(e) : [];
|
|
791
|
+
} }, ft = (i, e = "hide") => {
|
|
792
|
+
const t = `click.dismiss${i.EVENT_KEY}`, n = i.NAME;
|
|
793
|
+
l.on(document, t, `[data-bs-dismiss="${n}"]`, function(s) {
|
|
794
|
+
if (["A", "AREA"].includes(this.tagName) && s.preventDefault(), me(this)) return;
|
|
795
|
+
const o = f.getElementFromSelector(this) || this.closest(`.${n}`);
|
|
796
|
+
i.getOrCreateInstance(o)[e]();
|
|
797
|
+
});
|
|
798
|
+
}, cn = ".bs.alert", ks = `close${cn}`, Ss = `closed${cn}`;
|
|
799
|
+
class He extends J {
|
|
800
|
+
static get NAME() {
|
|
801
|
+
return "alert";
|
|
802
|
+
}
|
|
803
|
+
close() {
|
|
804
|
+
if (l.trigger(this._element, ks).defaultPrevented) return;
|
|
805
|
+
this._element.classList.remove("show");
|
|
806
|
+
const e = this._element.classList.contains("fade");
|
|
807
|
+
this._queueCallback(() => this._destroyElement(), this._element, e);
|
|
808
|
+
}
|
|
809
|
+
_destroyElement() {
|
|
810
|
+
this._element.remove(), l.trigger(this._element, Ss), this.dispose();
|
|
811
|
+
}
|
|
812
|
+
static jQueryInterface(e) {
|
|
813
|
+
return this.each(function() {
|
|
814
|
+
const t = He.getOrCreateInstance(this);
|
|
815
|
+
if (typeof e == "string") {
|
|
816
|
+
if (t[e] === void 0 || e.startsWith("_") || e === "constructor") throw new TypeError(`No method named "${e}"`);
|
|
817
|
+
t[e](this);
|
|
818
|
+
}
|
|
819
|
+
});
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
ft(He, "close"), V(He);
|
|
823
|
+
const un = '[data-bs-toggle="button"]';
|
|
824
|
+
class ze extends J {
|
|
825
|
+
static get NAME() {
|
|
826
|
+
return "button";
|
|
827
|
+
}
|
|
828
|
+
toggle() {
|
|
829
|
+
this._element.setAttribute("aria-pressed", this._element.classList.toggle("active"));
|
|
830
|
+
}
|
|
831
|
+
static jQueryInterface(e) {
|
|
832
|
+
return this.each(function() {
|
|
833
|
+
const t = ze.getOrCreateInstance(this);
|
|
834
|
+
e === "toggle" && t[e]();
|
|
835
|
+
});
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
l.on(document, "click.bs.button.data-api", un, (i) => {
|
|
839
|
+
i.preventDefault();
|
|
840
|
+
const e = i.target.closest(un);
|
|
841
|
+
ze.getOrCreateInstance(e).toggle();
|
|
842
|
+
}), V(ze);
|
|
843
|
+
const qe = ".bs.swipe", Ls = `touchstart${qe}`, $s = `touchmove${qe}`, Ds = `touchend${qe}`, Is = `pointerdown${qe}`, Ps = `pointerup${qe}`, Ns = { endCallback: null, leftCallback: null, rightCallback: null }, js = { endCallback: "(function|null)", leftCallback: "(function|null)", rightCallback: "(function|null)" };
|
|
844
|
+
class pt extends tt {
|
|
845
|
+
constructor(e, t) {
|
|
846
|
+
super(), this._element = e, e && pt.isSupported() && (this._config = this._getConfig(t), this._deltaX = 0, this._supportPointerEvents = !!window.PointerEvent, this._initEvents());
|
|
847
|
+
}
|
|
848
|
+
static get Default() {
|
|
849
|
+
return Ns;
|
|
850
|
+
}
|
|
851
|
+
static get DefaultType() {
|
|
852
|
+
return js;
|
|
853
|
+
}
|
|
854
|
+
static get NAME() {
|
|
855
|
+
return "swipe";
|
|
856
|
+
}
|
|
857
|
+
dispose() {
|
|
858
|
+
l.off(this._element, qe);
|
|
859
|
+
}
|
|
860
|
+
_start(e) {
|
|
861
|
+
this._supportPointerEvents ? this._eventIsPointerPenTouch(e) && (this._deltaX = e.clientX) : this._deltaX = e.touches[0].clientX;
|
|
862
|
+
}
|
|
863
|
+
_end(e) {
|
|
864
|
+
this._eventIsPointerPenTouch(e) && (this._deltaX = e.clientX - this._deltaX), this._handleSwipe(), M(this._config.endCallback);
|
|
865
|
+
}
|
|
866
|
+
_move(e) {
|
|
867
|
+
this._deltaX = e.touches && e.touches.length > 1 ? 0 : e.touches[0].clientX - this._deltaX;
|
|
868
|
+
}
|
|
869
|
+
_handleSwipe() {
|
|
870
|
+
const e = Math.abs(this._deltaX);
|
|
871
|
+
if (e <= 40) return;
|
|
872
|
+
const t = e / this._deltaX;
|
|
873
|
+
this._deltaX = 0, t && M(t > 0 ? this._config.rightCallback : this._config.leftCallback);
|
|
874
|
+
}
|
|
875
|
+
_initEvents() {
|
|
876
|
+
this._supportPointerEvents ? (l.on(this._element, Is, (e) => this._start(e)), l.on(this._element, Ps, (e) => this._end(e)), this._element.classList.add("pointer-event")) : (l.on(this._element, Ls, (e) => this._start(e)), l.on(this._element, $s, (e) => this._move(e)), l.on(this._element, Ds, (e) => this._end(e)));
|
|
877
|
+
}
|
|
878
|
+
_eventIsPointerPenTouch(e) {
|
|
879
|
+
return this._supportPointerEvents && (e.pointerType === "pen" || e.pointerType === "touch");
|
|
880
|
+
}
|
|
881
|
+
static isSupported() {
|
|
882
|
+
return "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0;
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
const ge = ".bs.carousel", hn = ".data-api", Ms = "ArrowLeft", Fs = "ArrowRight", it = "next", We = "prev", Re = "left", mt = "right", Hs = `slide${ge}`, Gt = `slid${ge}`, zs = `keydown${ge}`, qs = `mouseenter${ge}`, Ws = `mouseleave${ge}`, Rs = `dragstart${ge}`, Bs = `load${ge}${hn}`, Vs = `click${ge}${hn}`, dn = "carousel", gt = "active", fn = ".active", pn = ".carousel-item", Us = fn + pn, Ks = { [Ms]: mt, [Fs]: Re }, Qs = { interval: 5e3, keyboard: !0, pause: "hover", ride: !1, touch: !0, wrap: !0 }, Xs = { interval: "(number|boolean)", keyboard: "boolean", pause: "(string|boolean)", ride: "(boolean|string)", touch: "boolean", wrap: "boolean" };
|
|
886
|
+
class Ee extends J {
|
|
887
|
+
constructor(e, t) {
|
|
888
|
+
super(e, t), this._interval = null, this._activeElement = null, this._isSliding = !1, this.touchTimeout = null, this._swipeHelper = null, this._indicatorsElement = f.findOne(".carousel-indicators", this._element), this._addEventListeners(), this._config.ride === dn && this.cycle();
|
|
889
|
+
}
|
|
890
|
+
static get Default() {
|
|
891
|
+
return Qs;
|
|
892
|
+
}
|
|
893
|
+
static get DefaultType() {
|
|
894
|
+
return Xs;
|
|
895
|
+
}
|
|
896
|
+
static get NAME() {
|
|
897
|
+
return "carousel";
|
|
898
|
+
}
|
|
899
|
+
next() {
|
|
900
|
+
this._slide(it);
|
|
901
|
+
}
|
|
902
|
+
nextWhenVisible() {
|
|
903
|
+
!document.hidden && Fe(this._element) && this.next();
|
|
904
|
+
}
|
|
905
|
+
prev() {
|
|
906
|
+
this._slide(We);
|
|
907
|
+
}
|
|
908
|
+
pause() {
|
|
909
|
+
this._isSliding && Xi(this._element), this._clearInterval();
|
|
910
|
+
}
|
|
911
|
+
cycle() {
|
|
912
|
+
this._clearInterval(), this._updateInterval(), this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval);
|
|
913
|
+
}
|
|
914
|
+
_maybeEnableCycle() {
|
|
915
|
+
this._config.ride && (this._isSliding ? l.one(this._element, Gt, () => this.cycle()) : this.cycle());
|
|
916
|
+
}
|
|
917
|
+
to(e) {
|
|
918
|
+
const t = this._getItems();
|
|
919
|
+
if (e > t.length - 1 || e < 0) return;
|
|
920
|
+
if (this._isSliding) return void l.one(this._element, Gt, () => this.to(e));
|
|
921
|
+
const n = this._getItemIndex(this._getActive());
|
|
922
|
+
if (n === e) return;
|
|
923
|
+
const s = e > n ? it : We;
|
|
924
|
+
this._slide(s, t[e]);
|
|
925
|
+
}
|
|
926
|
+
dispose() {
|
|
927
|
+
this._swipeHelper && this._swipeHelper.dispose(), super.dispose();
|
|
928
|
+
}
|
|
929
|
+
_configAfterMerge(e) {
|
|
930
|
+
return e.defaultInterval = e.interval, e;
|
|
931
|
+
}
|
|
932
|
+
_addEventListeners() {
|
|
933
|
+
this._config.keyboard && l.on(this._element, zs, (e) => this._keydown(e)), this._config.pause === "hover" && (l.on(this._element, qs, () => this.pause()), l.on(this._element, Ws, () => this._maybeEnableCycle())), this._config.touch && pt.isSupported() && this._addTouchEventListeners();
|
|
934
|
+
}
|
|
935
|
+
_addTouchEventListeners() {
|
|
936
|
+
for (const t of f.find(".carousel-item img", this._element)) l.on(t, Rs, (n) => n.preventDefault());
|
|
937
|
+
const e = { leftCallback: () => this._slide(this._directionToOrder(Re)), rightCallback: () => this._slide(this._directionToOrder(mt)), endCallback: () => {
|
|
938
|
+
this._config.pause === "hover" && (this.pause(), this.touchTimeout && clearTimeout(this.touchTimeout), this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), 500 + this._config.interval));
|
|
939
|
+
} };
|
|
940
|
+
this._swipeHelper = new pt(this._element, e);
|
|
941
|
+
}
|
|
942
|
+
_keydown(e) {
|
|
943
|
+
if (/input|textarea/i.test(e.target.tagName)) return;
|
|
944
|
+
const t = Ks[e.key];
|
|
945
|
+
t && (e.preventDefault(), this._slide(this._directionToOrder(t)));
|
|
946
|
+
}
|
|
947
|
+
_getItemIndex(e) {
|
|
948
|
+
return this._getItems().indexOf(e);
|
|
949
|
+
}
|
|
950
|
+
_setActiveIndicatorElement(e) {
|
|
951
|
+
if (!this._indicatorsElement) return;
|
|
952
|
+
const t = f.findOne(fn, this._indicatorsElement);
|
|
953
|
+
t.classList.remove(gt), t.removeAttribute("aria-current");
|
|
954
|
+
const n = f.findOne(`[data-bs-slide-to="${e}"]`, this._indicatorsElement);
|
|
955
|
+
n && (n.classList.add(gt), n.setAttribute("aria-current", "true"));
|
|
956
|
+
}
|
|
957
|
+
_updateInterval() {
|
|
958
|
+
const e = this._activeElement || this._getActive();
|
|
959
|
+
if (!e) return;
|
|
960
|
+
const t = Number.parseInt(e.getAttribute("data-bs-interval"), 10);
|
|
961
|
+
this._config.interval = t || this._config.defaultInterval;
|
|
962
|
+
}
|
|
963
|
+
_slide(e, t = null) {
|
|
964
|
+
if (this._isSliding) return;
|
|
965
|
+
const n = this._getActive(), s = e === it, o = t || Ut(this._getItems(), n, s, this._config.wrap);
|
|
966
|
+
if (o === n) return;
|
|
967
|
+
const r = this._getItemIndex(o), a = (u) => l.trigger(this._element, u, { relatedTarget: o, direction: this._orderToDirection(e), from: this._getItemIndex(n), to: r });
|
|
968
|
+
if (a(Hs).defaultPrevented || !n || !o) return;
|
|
969
|
+
const c = !!this._interval;
|
|
970
|
+
this.pause(), this._isSliding = !0, this._setActiveIndicatorElement(r), this._activeElement = o;
|
|
971
|
+
const h = s ? "carousel-item-start" : "carousel-item-end", d = s ? "carousel-item-next" : "carousel-item-prev";
|
|
972
|
+
o.classList.add(d), et(o), n.classList.add(h), o.classList.add(h), this._queueCallback(() => {
|
|
973
|
+
o.classList.remove(h, d), o.classList.add(gt), n.classList.remove(gt, d, h), this._isSliding = !1, a(Gt);
|
|
974
|
+
}, n, this._isAnimated()), c && this.cycle();
|
|
975
|
+
}
|
|
976
|
+
_isAnimated() {
|
|
977
|
+
return this._element.classList.contains("slide");
|
|
978
|
+
}
|
|
979
|
+
_getActive() {
|
|
980
|
+
return f.findOne(Us, this._element);
|
|
981
|
+
}
|
|
982
|
+
_getItems() {
|
|
983
|
+
return f.find(pn, this._element);
|
|
984
|
+
}
|
|
985
|
+
_clearInterval() {
|
|
986
|
+
this._interval && (clearInterval(this._interval), this._interval = null);
|
|
987
|
+
}
|
|
988
|
+
_directionToOrder(e) {
|
|
989
|
+
return B() ? e === Re ? We : it : e === Re ? it : We;
|
|
990
|
+
}
|
|
991
|
+
_orderToDirection(e) {
|
|
992
|
+
return B() ? e === We ? Re : mt : e === We ? mt : Re;
|
|
993
|
+
}
|
|
994
|
+
static jQueryInterface(e) {
|
|
995
|
+
return this.each(function() {
|
|
996
|
+
const t = Ee.getOrCreateInstance(this, e);
|
|
997
|
+
if (typeof e != "number") {
|
|
998
|
+
if (typeof e == "string") {
|
|
999
|
+
if (t[e] === void 0 || e.startsWith("_") || e === "constructor") throw new TypeError(`No method named "${e}"`);
|
|
1000
|
+
t[e]();
|
|
1001
|
+
}
|
|
1002
|
+
} else t.to(e);
|
|
1003
|
+
});
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
l.on(document, Vs, "[data-bs-slide], [data-bs-slide-to]", function(i) {
|
|
1007
|
+
const e = f.getElementFromSelector(this);
|
|
1008
|
+
if (!e || !e.classList.contains(dn)) return;
|
|
1009
|
+
i.preventDefault();
|
|
1010
|
+
const t = Ee.getOrCreateInstance(e), n = this.getAttribute("data-bs-slide-to");
|
|
1011
|
+
return n ? (t.to(n), void t._maybeEnableCycle()) : ae.getDataAttribute(this, "slide") === "next" ? (t.next(), void t._maybeEnableCycle()) : (t.prev(), void t._maybeEnableCycle());
|
|
1012
|
+
}), l.on(window, Bs, () => {
|
|
1013
|
+
const i = f.find('[data-bs-ride="carousel"]');
|
|
1014
|
+
for (const e of i) Ee.getOrCreateInstance(e);
|
|
1015
|
+
}), V(Ee);
|
|
1016
|
+
const nt = ".bs.collapse", Ys = `show${nt}`, Js = `shown${nt}`, Gs = `hide${nt}`, Zs = `hidden${nt}`, eo = `click${nt}.data-api`, Zt = "show", Be = "collapse", _t = "collapsing", to = `:scope .${Be} .${Be}`, ei = '[data-bs-toggle="collapse"]', io = { parent: null, toggle: !0 }, no = { parent: "(null|element)", toggle: "boolean" };
|
|
1017
|
+
class Te extends J {
|
|
1018
|
+
constructor(e, t) {
|
|
1019
|
+
super(e, t), this._isTransitioning = !1, this._triggerArray = [];
|
|
1020
|
+
const n = f.find(ei);
|
|
1021
|
+
for (const s of n) {
|
|
1022
|
+
const o = f.getSelectorFromElement(s), r = f.find(o).filter((a) => a === this._element);
|
|
1023
|
+
o !== null && r.length && this._triggerArray.push(s);
|
|
1024
|
+
}
|
|
1025
|
+
this._initializeChildren(), this._config.parent || this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()), this._config.toggle && this.toggle();
|
|
1026
|
+
}
|
|
1027
|
+
static get Default() {
|
|
1028
|
+
return io;
|
|
1029
|
+
}
|
|
1030
|
+
static get DefaultType() {
|
|
1031
|
+
return no;
|
|
1032
|
+
}
|
|
1033
|
+
static get NAME() {
|
|
1034
|
+
return "collapse";
|
|
1035
|
+
}
|
|
1036
|
+
toggle() {
|
|
1037
|
+
this._isShown() ? this.hide() : this.show();
|
|
1038
|
+
}
|
|
1039
|
+
show() {
|
|
1040
|
+
if (this._isTransitioning || this._isShown()) return;
|
|
1041
|
+
let e = [];
|
|
1042
|
+
if (this._config.parent && (e = this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((s) => s !== this._element).map((s) => Te.getOrCreateInstance(s, { toggle: !1 }))), e.length && e[0]._isTransitioning || l.trigger(this._element, Ys).defaultPrevented) return;
|
|
1043
|
+
for (const s of e) s.hide();
|
|
1044
|
+
const t = this._getDimension();
|
|
1045
|
+
this._element.classList.remove(Be), this._element.classList.add(_t), this._element.style[t] = 0, this._addAriaAndCollapsedClass(this._triggerArray, !0), this._isTransitioning = !0;
|
|
1046
|
+
const n = `scroll${t[0].toUpperCase() + t.slice(1)}`;
|
|
1047
|
+
this._queueCallback(() => {
|
|
1048
|
+
this._isTransitioning = !1, this._element.classList.remove(_t), this._element.classList.add(Be, Zt), this._element.style[t] = "", l.trigger(this._element, Js);
|
|
1049
|
+
}, this._element, !0), this._element.style[t] = `${this._element[n]}px`;
|
|
1050
|
+
}
|
|
1051
|
+
hide() {
|
|
1052
|
+
if (this._isTransitioning || !this._isShown() || l.trigger(this._element, Gs).defaultPrevented) return;
|
|
1053
|
+
const e = this._getDimension();
|
|
1054
|
+
this._element.style[e] = `${this._element.getBoundingClientRect()[e]}px`, et(this._element), this._element.classList.add(_t), this._element.classList.remove(Be, Zt);
|
|
1055
|
+
for (const t of this._triggerArray) {
|
|
1056
|
+
const n = f.getElementFromSelector(t);
|
|
1057
|
+
n && !this._isShown(n) && this._addAriaAndCollapsedClass([t], !1);
|
|
1058
|
+
}
|
|
1059
|
+
this._isTransitioning = !0, this._element.style[e] = "", this._queueCallback(() => {
|
|
1060
|
+
this._isTransitioning = !1, this._element.classList.remove(_t), this._element.classList.add(Be), l.trigger(this._element, Zs);
|
|
1061
|
+
}, this._element, !0);
|
|
1062
|
+
}
|
|
1063
|
+
_isShown(e = this._element) {
|
|
1064
|
+
return e.classList.contains(Zt);
|
|
1065
|
+
}
|
|
1066
|
+
_configAfterMerge(e) {
|
|
1067
|
+
return e.toggle = !!e.toggle, e.parent = pe(e.parent), e;
|
|
1068
|
+
}
|
|
1069
|
+
_getDimension() {
|
|
1070
|
+
return this._element.classList.contains("collapse-horizontal") ? "width" : "height";
|
|
1071
|
+
}
|
|
1072
|
+
_initializeChildren() {
|
|
1073
|
+
if (!this._config.parent) return;
|
|
1074
|
+
const e = this._getFirstLevelChildren(ei);
|
|
1075
|
+
for (const t of e) {
|
|
1076
|
+
const n = f.getElementFromSelector(t);
|
|
1077
|
+
n && this._addAriaAndCollapsedClass([t], this._isShown(n));
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
_getFirstLevelChildren(e) {
|
|
1081
|
+
const t = f.find(to, this._config.parent);
|
|
1082
|
+
return f.find(e, this._config.parent).filter((n) => !t.includes(n));
|
|
1083
|
+
}
|
|
1084
|
+
_addAriaAndCollapsedClass(e, t) {
|
|
1085
|
+
if (e.length) for (const n of e) n.classList.toggle("collapsed", !t), n.setAttribute("aria-expanded", t);
|
|
1086
|
+
}
|
|
1087
|
+
static jQueryInterface(e) {
|
|
1088
|
+
const t = {};
|
|
1089
|
+
return typeof e == "string" && /show|hide/.test(e) && (t.toggle = !1), this.each(function() {
|
|
1090
|
+
const n = Te.getOrCreateInstance(this, t);
|
|
1091
|
+
if (typeof e == "string") {
|
|
1092
|
+
if (n[e] === void 0) throw new TypeError(`No method named "${e}"`);
|
|
1093
|
+
n[e]();
|
|
1094
|
+
}
|
|
1095
|
+
});
|
|
1096
|
+
}
|
|
1097
|
+
}
|
|
1098
|
+
l.on(document, eo, ei, function(i) {
|
|
1099
|
+
(i.target.tagName === "A" || i.delegateTarget && i.delegateTarget.tagName === "A") && i.preventDefault();
|
|
1100
|
+
for (const e of f.getMultipleElementsFromSelector(this)) Te.getOrCreateInstance(e, { toggle: !1 }).toggle();
|
|
1101
|
+
}), V(Te);
|
|
1102
|
+
const mn = "dropdown", Ce = ".bs.dropdown", ti = ".data-api", so = "ArrowUp", gn = "ArrowDown", oo = `hide${Ce}`, ro = `hidden${Ce}`, ao = `show${Ce}`, lo = `shown${Ce}`, _n = `click${Ce}${ti}`, bn = `keydown${Ce}${ti}`, co = `keyup${Ce}${ti}`, Ve = "show", Oe = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)', uo = `${Oe}.${Ve}`, bt = ".dropdown-menu", ho = B() ? "top-end" : "top-start", fo = B() ? "top-start" : "top-end", po = B() ? "bottom-end" : "bottom-start", mo = B() ? "bottom-start" : "bottom-end", go = B() ? "left-start" : "right-start", _o = B() ? "right-start" : "left-start", bo = { autoClose: !0, boundary: "clippingParents", display: "dynamic", offset: [0, 2], popperConfig: null, reference: "toggle" }, vo = { autoClose: "(boolean|string)", boundary: "(string|element)", display: "string", offset: "(array|string|function)", popperConfig: "(null|object|function)", reference: "(string|element|object)" };
|
|
1103
|
+
class q extends J {
|
|
1104
|
+
constructor(e, t) {
|
|
1105
|
+
super(e, t), this._popper = null, this._parent = this._element.parentNode, this._menu = f.next(this._element, bt)[0] || f.prev(this._element, bt)[0] || f.findOne(bt, this._parent), this._inNavbar = this._detectNavbar();
|
|
1106
|
+
}
|
|
1107
|
+
static get Default() {
|
|
1108
|
+
return bo;
|
|
1109
|
+
}
|
|
1110
|
+
static get DefaultType() {
|
|
1111
|
+
return vo;
|
|
1112
|
+
}
|
|
1113
|
+
static get NAME() {
|
|
1114
|
+
return mn;
|
|
1115
|
+
}
|
|
1116
|
+
toggle() {
|
|
1117
|
+
return this._isShown() ? this.hide() : this.show();
|
|
1118
|
+
}
|
|
1119
|
+
show() {
|
|
1120
|
+
if (me(this._element) || this._isShown()) return;
|
|
1121
|
+
const e = { relatedTarget: this._element };
|
|
1122
|
+
if (!l.trigger(this._element, ao, e).defaultPrevented) {
|
|
1123
|
+
if (this._createPopper(), "ontouchstart" in document.documentElement && !this._parent.closest(".navbar-nav")) for (const t of [].concat(...document.body.children)) l.on(t, "mouseover", dt);
|
|
1124
|
+
this._element.focus(), this._element.setAttribute("aria-expanded", !0), this._menu.classList.add(Ve), this._element.classList.add(Ve), l.trigger(this._element, lo, e);
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1127
|
+
hide() {
|
|
1128
|
+
if (me(this._element) || !this._isShown()) return;
|
|
1129
|
+
const e = { relatedTarget: this._element };
|
|
1130
|
+
this._completeHide(e);
|
|
1131
|
+
}
|
|
1132
|
+
dispose() {
|
|
1133
|
+
this._popper && this._popper.destroy(), super.dispose();
|
|
1134
|
+
}
|
|
1135
|
+
update() {
|
|
1136
|
+
this._inNavbar = this._detectNavbar(), this._popper && this._popper.update();
|
|
1137
|
+
}
|
|
1138
|
+
_completeHide(e) {
|
|
1139
|
+
if (!l.trigger(this._element, oo, e).defaultPrevented) {
|
|
1140
|
+
if ("ontouchstart" in document.documentElement) for (const t of [].concat(...document.body.children)) l.off(t, "mouseover", dt);
|
|
1141
|
+
this._popper && this._popper.destroy(), this._menu.classList.remove(Ve), this._element.classList.remove(Ve), this._element.setAttribute("aria-expanded", "false"), ae.removeDataAttribute(this._menu, "popper"), l.trigger(this._element, ro, e), this._element.focus();
|
|
1142
|
+
}
|
|
1143
|
+
}
|
|
1144
|
+
_getConfig(e) {
|
|
1145
|
+
if (typeof (e = super._getConfig(e)).reference == "object" && !re(e.reference) && typeof e.reference.getBoundingClientRect != "function") throw new TypeError(`${mn.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
|
|
1146
|
+
return e;
|
|
1147
|
+
}
|
|
1148
|
+
_createPopper() {
|
|
1149
|
+
if (Ki === void 0) throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)");
|
|
1150
|
+
let e = this._element;
|
|
1151
|
+
this._config.reference === "parent" ? e = this._parent : re(this._config.reference) ? e = pe(this._config.reference) : typeof this._config.reference == "object" && (e = this._config.reference);
|
|
1152
|
+
const t = this._getPopperConfig();
|
|
1153
|
+
this._popper = Wt(e, this._menu, t);
|
|
1154
|
+
}
|
|
1155
|
+
_isShown() {
|
|
1156
|
+
return this._menu.classList.contains(Ve);
|
|
1157
|
+
}
|
|
1158
|
+
_getPlacement() {
|
|
1159
|
+
const e = this._parent;
|
|
1160
|
+
if (e.classList.contains("dropend")) return go;
|
|
1161
|
+
if (e.classList.contains("dropstart")) return _o;
|
|
1162
|
+
if (e.classList.contains("dropup-center")) return "top";
|
|
1163
|
+
if (e.classList.contains("dropdown-center")) return "bottom";
|
|
1164
|
+
const t = getComputedStyle(this._menu).getPropertyValue("--bs-position").trim() === "end";
|
|
1165
|
+
return e.classList.contains("dropup") ? t ? fo : ho : t ? mo : po;
|
|
1166
|
+
}
|
|
1167
|
+
_detectNavbar() {
|
|
1168
|
+
return this._element.closest(".navbar") !== null;
|
|
1169
|
+
}
|
|
1170
|
+
_getOffset() {
|
|
1171
|
+
const { offset: e } = this._config;
|
|
1172
|
+
return typeof e == "string" ? e.split(",").map((t) => Number.parseInt(t, 10)) : typeof e == "function" ? (t) => e(t, this._element) : e;
|
|
1173
|
+
}
|
|
1174
|
+
_getPopperConfig() {
|
|
1175
|
+
const e = { placement: this._getPlacement(), modifiers: [{ name: "preventOverflow", options: { boundary: this._config.boundary } }, { name: "offset", options: { offset: this._getOffset() } }] };
|
|
1176
|
+
return (this._inNavbar || this._config.display === "static") && (ae.setDataAttribute(this._menu, "popper", "static"), e.modifiers = [{ name: "applyStyles", enabled: !1 }]), { ...e, ...M(this._config.popperConfig, [void 0, e]) };
|
|
1177
|
+
}
|
|
1178
|
+
_selectMenuItem({ key: e, target: t }) {
|
|
1179
|
+
const n = f.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", this._menu).filter((s) => Fe(s));
|
|
1180
|
+
n.length && Ut(n, t, e === gn, !n.includes(t)).focus();
|
|
1181
|
+
}
|
|
1182
|
+
static jQueryInterface(e) {
|
|
1183
|
+
return this.each(function() {
|
|
1184
|
+
const t = q.getOrCreateInstance(this, e);
|
|
1185
|
+
if (typeof e == "string") {
|
|
1186
|
+
if (t[e] === void 0) throw new TypeError(`No method named "${e}"`);
|
|
1187
|
+
t[e]();
|
|
1188
|
+
}
|
|
1189
|
+
});
|
|
1190
|
+
}
|
|
1191
|
+
static clearMenus(e) {
|
|
1192
|
+
if (e.button === 2 || e.type === "keyup" && e.key !== "Tab") return;
|
|
1193
|
+
const t = f.find(uo);
|
|
1194
|
+
for (const n of t) {
|
|
1195
|
+
const s = q.getInstance(n);
|
|
1196
|
+
if (!s || s._config.autoClose === !1) continue;
|
|
1197
|
+
const o = e.composedPath(), r = o.includes(s._menu);
|
|
1198
|
+
if (o.includes(s._element) || s._config.autoClose === "inside" && !r || s._config.autoClose === "outside" && r || s._menu.contains(e.target) && (e.type === "keyup" && e.key === "Tab" || /input|select|option|textarea|form/i.test(e.target.tagName))) continue;
|
|
1199
|
+
const a = { relatedTarget: s._element };
|
|
1200
|
+
e.type === "click" && (a.clickEvent = e), s._completeHide(a);
|
|
1201
|
+
}
|
|
1202
|
+
}
|
|
1203
|
+
static dataApiKeydownHandler(e) {
|
|
1204
|
+
const t = /input|textarea/i.test(e.target.tagName), n = e.key === "Escape", s = [so, gn].includes(e.key);
|
|
1205
|
+
if (!s && !n || t && !n) return;
|
|
1206
|
+
e.preventDefault();
|
|
1207
|
+
const o = this.matches(Oe) ? this : f.prev(this, Oe)[0] || f.next(this, Oe)[0] || f.findOne(Oe, e.delegateTarget.parentNode), r = q.getOrCreateInstance(o);
|
|
1208
|
+
if (s) return e.stopPropagation(), r.show(), void r._selectMenuItem(e);
|
|
1209
|
+
r._isShown() && (e.stopPropagation(), r.hide(), o.focus());
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
l.on(document, bn, Oe, q.dataApiKeydownHandler), l.on(document, bn, bt, q.dataApiKeydownHandler), l.on(document, _n, q.clearMenus), l.on(document, co, q.clearMenus), l.on(document, _n, Oe, function(i) {
|
|
1213
|
+
i.preventDefault(), q.getOrCreateInstance(this).toggle();
|
|
1214
|
+
}), V(q);
|
|
1215
|
+
const vn = "backdrop", yn = "show", wn = `mousedown.bs.${vn}`, yo = { className: "modal-backdrop", clickCallback: null, isAnimated: !1, isVisible: !0, rootElement: "body" }, wo = { className: "string", clickCallback: "(function|null)", isAnimated: "boolean", isVisible: "boolean", rootElement: "(element|string)" };
|
|
1216
|
+
class An extends tt {
|
|
1217
|
+
constructor(e) {
|
|
1218
|
+
super(), this._config = this._getConfig(e), this._isAppended = !1, this._element = null;
|
|
1219
|
+
}
|
|
1220
|
+
static get Default() {
|
|
1221
|
+
return yo;
|
|
1222
|
+
}
|
|
1223
|
+
static get DefaultType() {
|
|
1224
|
+
return wo;
|
|
1225
|
+
}
|
|
1226
|
+
static get NAME() {
|
|
1227
|
+
return vn;
|
|
1228
|
+
}
|
|
1229
|
+
show(e) {
|
|
1230
|
+
if (!this._config.isVisible) return void M(e);
|
|
1231
|
+
this._append();
|
|
1232
|
+
const t = this._getElement();
|
|
1233
|
+
this._config.isAnimated && et(t), t.classList.add(yn), this._emulateAnimation(() => {
|
|
1234
|
+
M(e);
|
|
1235
|
+
});
|
|
1236
|
+
}
|
|
1237
|
+
hide(e) {
|
|
1238
|
+
this._config.isVisible ? (this._getElement().classList.remove(yn), this._emulateAnimation(() => {
|
|
1239
|
+
this.dispose(), M(e);
|
|
1240
|
+
})) : M(e);
|
|
1241
|
+
}
|
|
1242
|
+
dispose() {
|
|
1243
|
+
this._isAppended && (l.off(this._element, wn), this._element.remove(), this._isAppended = !1);
|
|
1244
|
+
}
|
|
1245
|
+
_getElement() {
|
|
1246
|
+
if (!this._element) {
|
|
1247
|
+
const e = document.createElement("div");
|
|
1248
|
+
e.className = this._config.className, this._config.isAnimated && e.classList.add("fade"), this._element = e;
|
|
1249
|
+
}
|
|
1250
|
+
return this._element;
|
|
1251
|
+
}
|
|
1252
|
+
_configAfterMerge(e) {
|
|
1253
|
+
return e.rootElement = pe(e.rootElement), e;
|
|
1254
|
+
}
|
|
1255
|
+
_append() {
|
|
1256
|
+
if (this._isAppended) return;
|
|
1257
|
+
const e = this._getElement();
|
|
1258
|
+
this._config.rootElement.append(e), l.on(e, wn, () => {
|
|
1259
|
+
M(this._config.clickCallback);
|
|
1260
|
+
}), this._isAppended = !0;
|
|
1261
|
+
}
|
|
1262
|
+
_emulateAnimation(e) {
|
|
1263
|
+
Gi(e, this._getElement(), this._config.isAnimated);
|
|
1264
|
+
}
|
|
1265
|
+
}
|
|
1266
|
+
const vt = ".bs.focustrap", Ao = `focusin${vt}`, Eo = `keydown.tab${vt}`, En = "backward", To = { autofocus: !0, trapElement: null }, Co = { autofocus: "boolean", trapElement: "element" };
|
|
1267
|
+
class Tn extends tt {
|
|
1268
|
+
constructor(e) {
|
|
1269
|
+
super(), this._config = this._getConfig(e), this._isActive = !1, this._lastTabNavDirection = null;
|
|
1270
|
+
}
|
|
1271
|
+
static get Default() {
|
|
1272
|
+
return To;
|
|
1273
|
+
}
|
|
1274
|
+
static get DefaultType() {
|
|
1275
|
+
return Co;
|
|
1276
|
+
}
|
|
1277
|
+
static get NAME() {
|
|
1278
|
+
return "focustrap";
|
|
1279
|
+
}
|
|
1280
|
+
activate() {
|
|
1281
|
+
this._isActive || (this._config.autofocus && this._config.trapElement.focus(), l.off(document, vt), l.on(document, Ao, (e) => this._handleFocusin(e)), l.on(document, Eo, (e) => this._handleKeydown(e)), this._isActive = !0);
|
|
1282
|
+
}
|
|
1283
|
+
deactivate() {
|
|
1284
|
+
this._isActive && (this._isActive = !1, l.off(document, vt));
|
|
1285
|
+
}
|
|
1286
|
+
_handleFocusin(e) {
|
|
1287
|
+
const { trapElement: t } = this._config;
|
|
1288
|
+
if (e.target === document || e.target === t || t.contains(e.target)) return;
|
|
1289
|
+
const n = f.focusableChildren(t);
|
|
1290
|
+
n.length === 0 ? t.focus() : this._lastTabNavDirection === En ? n[n.length - 1].focus() : n[0].focus();
|
|
1291
|
+
}
|
|
1292
|
+
_handleKeydown(e) {
|
|
1293
|
+
e.key === "Tab" && (this._lastTabNavDirection = e.shiftKey ? En : "forward");
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1296
|
+
const Cn = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", On = ".sticky-top", yt = "padding-right", xn = "margin-right";
|
|
1297
|
+
class ii {
|
|
1298
|
+
constructor() {
|
|
1299
|
+
this._element = document.body;
|
|
1300
|
+
}
|
|
1301
|
+
getWidth() {
|
|
1302
|
+
const e = document.documentElement.clientWidth;
|
|
1303
|
+
return Math.abs(window.innerWidth - e);
|
|
1304
|
+
}
|
|
1305
|
+
hide() {
|
|
1306
|
+
const e = this.getWidth();
|
|
1307
|
+
this._disableOverFlow(), this._setElementAttributes(this._element, yt, (t) => t + e), this._setElementAttributes(Cn, yt, (t) => t + e), this._setElementAttributes(On, xn, (t) => t - e);
|
|
1308
|
+
}
|
|
1309
|
+
reset() {
|
|
1310
|
+
this._resetElementAttributes(this._element, "overflow"), this._resetElementAttributes(this._element, yt), this._resetElementAttributes(Cn, yt), this._resetElementAttributes(On, xn);
|
|
1311
|
+
}
|
|
1312
|
+
isOverflowing() {
|
|
1313
|
+
return this.getWidth() > 0;
|
|
1314
|
+
}
|
|
1315
|
+
_disableOverFlow() {
|
|
1316
|
+
this._saveInitialAttribute(this._element, "overflow"), this._element.style.overflow = "hidden";
|
|
1317
|
+
}
|
|
1318
|
+
_setElementAttributes(e, t, n) {
|
|
1319
|
+
const s = this.getWidth();
|
|
1320
|
+
this._applyManipulationCallback(e, (o) => {
|
|
1321
|
+
if (o !== this._element && window.innerWidth > o.clientWidth + s) return;
|
|
1322
|
+
this._saveInitialAttribute(o, t);
|
|
1323
|
+
const r = window.getComputedStyle(o).getPropertyValue(t);
|
|
1324
|
+
o.style.setProperty(t, `${n(Number.parseFloat(r))}px`);
|
|
1325
|
+
});
|
|
1326
|
+
}
|
|
1327
|
+
_saveInitialAttribute(e, t) {
|
|
1328
|
+
const n = e.style.getPropertyValue(t);
|
|
1329
|
+
n && ae.setDataAttribute(e, t, n);
|
|
1330
|
+
}
|
|
1331
|
+
_resetElementAttributes(e, t) {
|
|
1332
|
+
this._applyManipulationCallback(e, (n) => {
|
|
1333
|
+
const s = ae.getDataAttribute(n, t);
|
|
1334
|
+
s !== null ? (ae.removeDataAttribute(n, t), n.style.setProperty(t, s)) : n.style.removeProperty(t);
|
|
1335
|
+
});
|
|
1336
|
+
}
|
|
1337
|
+
_applyManipulationCallback(e, t) {
|
|
1338
|
+
if (re(e)) t(e);
|
|
1339
|
+
else for (const n of f.find(e, this._element)) t(n);
|
|
1340
|
+
}
|
|
1341
|
+
}
|
|
1342
|
+
const U = ".bs.modal", Oo = `hide${U}`, xo = `hidePrevented${U}`, kn = `hidden${U}`, Sn = `show${U}`, ko = `shown${U}`, So = `resize${U}`, Lo = `click.dismiss${U}`, $o = `mousedown.dismiss${U}`, Do = `keydown.dismiss${U}`, Io = `click${U}.data-api`, Ln = "modal-open", $n = "show", ni = "modal-static", Po = { backdrop: !0, focus: !0, keyboard: !0 }, No = { backdrop: "(boolean|string)", focus: "boolean", keyboard: "boolean" };
|
|
1343
|
+
class _e extends J {
|
|
1344
|
+
constructor(e, t) {
|
|
1345
|
+
super(e, t), this._dialog = f.findOne(".modal-dialog", this._element), this._backdrop = this._initializeBackDrop(), this._focustrap = this._initializeFocusTrap(), this._isShown = !1, this._isTransitioning = !1, this._scrollBar = new ii(), this._addEventListeners();
|
|
1346
|
+
}
|
|
1347
|
+
static get Default() {
|
|
1348
|
+
return Po;
|
|
1349
|
+
}
|
|
1350
|
+
static get DefaultType() {
|
|
1351
|
+
return No;
|
|
1352
|
+
}
|
|
1353
|
+
static get NAME() {
|
|
1354
|
+
return "modal";
|
|
1355
|
+
}
|
|
1356
|
+
toggle(e) {
|
|
1357
|
+
return this._isShown ? this.hide() : this.show(e);
|
|
1358
|
+
}
|
|
1359
|
+
show(e) {
|
|
1360
|
+
this._isShown || this._isTransitioning || l.trigger(this._element, Sn, { relatedTarget: e }).defaultPrevented || (this._isShown = !0, this._isTransitioning = !0, this._scrollBar.hide(), document.body.classList.add(Ln), this._adjustDialog(), this._backdrop.show(() => this._showElement(e)));
|
|
1361
|
+
}
|
|
1362
|
+
hide() {
|
|
1363
|
+
this._isShown && !this._isTransitioning && (l.trigger(this._element, Oo).defaultPrevented || (this._isShown = !1, this._isTransitioning = !0, this._focustrap.deactivate(), this._element.classList.remove($n), this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())));
|
|
1364
|
+
}
|
|
1365
|
+
dispose() {
|
|
1366
|
+
l.off(window, U), l.off(this._dialog, U), this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose();
|
|
1367
|
+
}
|
|
1368
|
+
handleUpdate() {
|
|
1369
|
+
this._adjustDialog();
|
|
1370
|
+
}
|
|
1371
|
+
_initializeBackDrop() {
|
|
1372
|
+
return new An({ isVisible: !!this._config.backdrop, isAnimated: this._isAnimated() });
|
|
1373
|
+
}
|
|
1374
|
+
_initializeFocusTrap() {
|
|
1375
|
+
return new Tn({ trapElement: this._element });
|
|
1376
|
+
}
|
|
1377
|
+
_showElement(e) {
|
|
1378
|
+
document.body.contains(this._element) || document.body.append(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.scrollTop = 0;
|
|
1379
|
+
const t = f.findOne(".modal-body", this._dialog);
|
|
1380
|
+
t && (t.scrollTop = 0), et(this._element), this._element.classList.add($n), this._queueCallback(() => {
|
|
1381
|
+
this._config.focus && this._focustrap.activate(), this._isTransitioning = !1, l.trigger(this._element, ko, { relatedTarget: e });
|
|
1382
|
+
}, this._dialog, this._isAnimated());
|
|
1383
|
+
}
|
|
1384
|
+
_addEventListeners() {
|
|
1385
|
+
l.on(this._element, Do, (e) => {
|
|
1386
|
+
e.key === "Escape" && (this._config.keyboard ? this.hide() : this._triggerBackdropTransition());
|
|
1387
|
+
}), l.on(window, So, () => {
|
|
1388
|
+
this._isShown && !this._isTransitioning && this._adjustDialog();
|
|
1389
|
+
}), l.on(this._element, $o, (e) => {
|
|
1390
|
+
l.one(this._element, Lo, (t) => {
|
|
1391
|
+
this._element === e.target && this._element === t.target && (this._config.backdrop !== "static" ? this._config.backdrop && this.hide() : this._triggerBackdropTransition());
|
|
1392
|
+
});
|
|
1393
|
+
});
|
|
1394
|
+
}
|
|
1395
|
+
_hideModal() {
|
|
1396
|
+
this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._isTransitioning = !1, this._backdrop.hide(() => {
|
|
1397
|
+
document.body.classList.remove(Ln), this._resetAdjustments(), this._scrollBar.reset(), l.trigger(this._element, kn);
|
|
1398
|
+
});
|
|
1399
|
+
}
|
|
1400
|
+
_isAnimated() {
|
|
1401
|
+
return this._element.classList.contains("fade");
|
|
1402
|
+
}
|
|
1403
|
+
_triggerBackdropTransition() {
|
|
1404
|
+
if (l.trigger(this._element, xo).defaultPrevented) return;
|
|
1405
|
+
const e = this._element.scrollHeight > document.documentElement.clientHeight, t = this._element.style.overflowY;
|
|
1406
|
+
t === "hidden" || this._element.classList.contains(ni) || (e || (this._element.style.overflowY = "hidden"), this._element.classList.add(ni), this._queueCallback(() => {
|
|
1407
|
+
this._element.classList.remove(ni), this._queueCallback(() => {
|
|
1408
|
+
this._element.style.overflowY = t;
|
|
1409
|
+
}, this._dialog);
|
|
1410
|
+
}, this._dialog), this._element.focus());
|
|
1411
|
+
}
|
|
1412
|
+
_adjustDialog() {
|
|
1413
|
+
const e = this._element.scrollHeight > document.documentElement.clientHeight, t = this._scrollBar.getWidth(), n = t > 0;
|
|
1414
|
+
if (n && !e) {
|
|
1415
|
+
const s = B() ? "paddingLeft" : "paddingRight";
|
|
1416
|
+
this._element.style[s] = `${t}px`;
|
|
1417
|
+
}
|
|
1418
|
+
if (!n && e) {
|
|
1419
|
+
const s = B() ? "paddingRight" : "paddingLeft";
|
|
1420
|
+
this._element.style[s] = `${t}px`;
|
|
1421
|
+
}
|
|
1422
|
+
}
|
|
1423
|
+
_resetAdjustments() {
|
|
1424
|
+
this._element.style.paddingLeft = "", this._element.style.paddingRight = "";
|
|
1425
|
+
}
|
|
1426
|
+
static jQueryInterface(e, t) {
|
|
1427
|
+
return this.each(function() {
|
|
1428
|
+
const n = _e.getOrCreateInstance(this, e);
|
|
1429
|
+
if (typeof e == "string") {
|
|
1430
|
+
if (n[e] === void 0) throw new TypeError(`No method named "${e}"`);
|
|
1431
|
+
n[e](t);
|
|
1432
|
+
}
|
|
1433
|
+
});
|
|
1434
|
+
}
|
|
1435
|
+
}
|
|
1436
|
+
l.on(document, Io, '[data-bs-toggle="modal"]', function(i) {
|
|
1437
|
+
const e = f.getElementFromSelector(this);
|
|
1438
|
+
["A", "AREA"].includes(this.tagName) && i.preventDefault(), l.one(e, Sn, (n) => {
|
|
1439
|
+
n.defaultPrevented || l.one(e, kn, () => {
|
|
1440
|
+
Fe(this) && this.focus();
|
|
1441
|
+
});
|
|
1442
|
+
});
|
|
1443
|
+
const t = f.findOne(".modal.show");
|
|
1444
|
+
t && _e.getInstance(t).hide(), _e.getOrCreateInstance(e).toggle(this);
|
|
1445
|
+
}), ft(_e), V(_e);
|
|
1446
|
+
const le = ".bs.offcanvas", Dn = ".data-api", jo = `load${le}${Dn}`, In = "show", Pn = "showing", Nn = "hiding", jn = ".offcanvas.show", Mo = `show${le}`, Fo = `shown${le}`, Ho = `hide${le}`, Mn = `hidePrevented${le}`, Fn = `hidden${le}`, zo = `resize${le}`, qo = `click${le}${Dn}`, Wo = `keydown.dismiss${le}`, Ro = { backdrop: !0, keyboard: !0, scroll: !1 }, Bo = { backdrop: "(boolean|string)", keyboard: "boolean", scroll: "boolean" };
|
|
1447
|
+
class ie extends J {
|
|
1448
|
+
constructor(e, t) {
|
|
1449
|
+
super(e, t), this._isShown = !1, this._backdrop = this._initializeBackDrop(), this._focustrap = this._initializeFocusTrap(), this._addEventListeners();
|
|
1450
|
+
}
|
|
1451
|
+
static get Default() {
|
|
1452
|
+
return Ro;
|
|
1453
|
+
}
|
|
1454
|
+
static get DefaultType() {
|
|
1455
|
+
return Bo;
|
|
1456
|
+
}
|
|
1457
|
+
static get NAME() {
|
|
1458
|
+
return "offcanvas";
|
|
1459
|
+
}
|
|
1460
|
+
toggle(e) {
|
|
1461
|
+
return this._isShown ? this.hide() : this.show(e);
|
|
1462
|
+
}
|
|
1463
|
+
show(e) {
|
|
1464
|
+
this._isShown || l.trigger(this._element, Mo, { relatedTarget: e }).defaultPrevented || (this._isShown = !0, this._backdrop.show(), this._config.scroll || new ii().hide(), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.classList.add(Pn), this._queueCallback(() => {
|
|
1465
|
+
this._config.scroll && !this._config.backdrop || this._focustrap.activate(), this._element.classList.add(In), this._element.classList.remove(Pn), l.trigger(this._element, Fo, { relatedTarget: e });
|
|
1466
|
+
}, this._element, !0));
|
|
1467
|
+
}
|
|
1468
|
+
hide() {
|
|
1469
|
+
this._isShown && (l.trigger(this._element, Ho).defaultPrevented || (this._focustrap.deactivate(), this._element.blur(), this._isShown = !1, this._element.classList.add(Nn), this._backdrop.hide(), this._queueCallback(() => {
|
|
1470
|
+
this._element.classList.remove(In, Nn), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._config.scroll || new ii().reset(), l.trigger(this._element, Fn);
|
|
1471
|
+
}, this._element, !0)));
|
|
1472
|
+
}
|
|
1473
|
+
dispose() {
|
|
1474
|
+
this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose();
|
|
1475
|
+
}
|
|
1476
|
+
_initializeBackDrop() {
|
|
1477
|
+
const e = !!this._config.backdrop;
|
|
1478
|
+
return new An({ className: "offcanvas-backdrop", isVisible: e, isAnimated: !0, rootElement: this._element.parentNode, clickCallback: e ? () => {
|
|
1479
|
+
this._config.backdrop !== "static" ? this.hide() : l.trigger(this._element, Mn);
|
|
1480
|
+
} : null });
|
|
1481
|
+
}
|
|
1482
|
+
_initializeFocusTrap() {
|
|
1483
|
+
return new Tn({ trapElement: this._element });
|
|
1484
|
+
}
|
|
1485
|
+
_addEventListeners() {
|
|
1486
|
+
l.on(this._element, Wo, (e) => {
|
|
1487
|
+
e.key === "Escape" && (this._config.keyboard ? this.hide() : l.trigger(this._element, Mn));
|
|
1488
|
+
});
|
|
1489
|
+
}
|
|
1490
|
+
static jQueryInterface(e) {
|
|
1491
|
+
return this.each(function() {
|
|
1492
|
+
const t = ie.getOrCreateInstance(this, e);
|
|
1493
|
+
if (typeof e == "string") {
|
|
1494
|
+
if (t[e] === void 0 || e.startsWith("_") || e === "constructor") throw new TypeError(`No method named "${e}"`);
|
|
1495
|
+
t[e](this);
|
|
1496
|
+
}
|
|
1497
|
+
});
|
|
1498
|
+
}
|
|
1499
|
+
}
|
|
1500
|
+
l.on(document, qo, '[data-bs-toggle="offcanvas"]', function(i) {
|
|
1501
|
+
const e = f.getElementFromSelector(this);
|
|
1502
|
+
if (["A", "AREA"].includes(this.tagName) && i.preventDefault(), me(this)) return;
|
|
1503
|
+
l.one(e, Fn, () => {
|
|
1504
|
+
Fe(this) && this.focus();
|
|
1505
|
+
});
|
|
1506
|
+
const t = f.findOne(jn);
|
|
1507
|
+
t && t !== e && ie.getInstance(t).hide(), ie.getOrCreateInstance(e).toggle(this);
|
|
1508
|
+
}), l.on(window, jo, () => {
|
|
1509
|
+
for (const i of f.find(jn)) ie.getOrCreateInstance(i).show();
|
|
1510
|
+
}), l.on(window, zo, () => {
|
|
1511
|
+
for (const i of f.find("[aria-modal][class*=show][class*=offcanvas-]")) getComputedStyle(i).position !== "fixed" && ie.getOrCreateInstance(i).hide();
|
|
1512
|
+
}), ft(ie), V(ie);
|
|
1513
|
+
const Hn = { "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i], a: ["target", "href", "title", "rel"], area: [], b: [], br: [], col: [], code: [], dd: [], div: [], dl: [], dt: [], em: [], hr: [], h1: [], h2: [], h3: [], h4: [], h5: [], h6: [], i: [], img: ["src", "srcset", "alt", "title", "width", "height"], li: [], ol: [], p: [], pre: [], s: [], small: [], span: [], sub: [], sup: [], strong: [], u: [], ul: [] }, Vo = /* @__PURE__ */ new Set(["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"]), Uo = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i, Ko = (i, e) => {
|
|
1514
|
+
const t = i.nodeName.toLowerCase();
|
|
1515
|
+
return e.includes(t) ? !Vo.has(t) || !!Uo.test(i.nodeValue) : e.filter((n) => n instanceof RegExp).some((n) => n.test(t));
|
|
1516
|
+
}, Qo = { allowList: Hn, content: {}, extraClass: "", html: !1, sanitize: !0, sanitizeFn: null, template: "<div></div>" }, Xo = { allowList: "object", content: "object", extraClass: "(string|function)", html: "boolean", sanitize: "boolean", sanitizeFn: "(null|function)", template: "string" }, Yo = { entry: "(string|element|function|null)", selector: "(string|element)" };
|
|
1517
|
+
class Jo extends tt {
|
|
1518
|
+
constructor(e) {
|
|
1519
|
+
super(), this._config = this._getConfig(e);
|
|
1520
|
+
}
|
|
1521
|
+
static get Default() {
|
|
1522
|
+
return Qo;
|
|
1523
|
+
}
|
|
1524
|
+
static get DefaultType() {
|
|
1525
|
+
return Xo;
|
|
1526
|
+
}
|
|
1527
|
+
static get NAME() {
|
|
1528
|
+
return "TemplateFactory";
|
|
1529
|
+
}
|
|
1530
|
+
getContent() {
|
|
1531
|
+
return Object.values(this._config.content).map((e) => this._resolvePossibleFunction(e)).filter(Boolean);
|
|
1532
|
+
}
|
|
1533
|
+
hasContent() {
|
|
1534
|
+
return this.getContent().length > 0;
|
|
1535
|
+
}
|
|
1536
|
+
changeContent(e) {
|
|
1537
|
+
return this._checkContent(e), this._config.content = { ...this._config.content, ...e }, this;
|
|
1538
|
+
}
|
|
1539
|
+
toHtml() {
|
|
1540
|
+
const e = document.createElement("div");
|
|
1541
|
+
e.innerHTML = this._maybeSanitize(this._config.template);
|
|
1542
|
+
for (const [s, o] of Object.entries(this._config.content)) this._setContent(e, o, s);
|
|
1543
|
+
const t = e.children[0], n = this._resolvePossibleFunction(this._config.extraClass);
|
|
1544
|
+
return n && t.classList.add(...n.split(" ")), t;
|
|
1545
|
+
}
|
|
1546
|
+
_typeCheckConfig(e) {
|
|
1547
|
+
super._typeCheckConfig(e), this._checkContent(e.content);
|
|
1548
|
+
}
|
|
1549
|
+
_checkContent(e) {
|
|
1550
|
+
for (const [t, n] of Object.entries(e)) super._typeCheckConfig({ selector: t, entry: n }, Yo);
|
|
1551
|
+
}
|
|
1552
|
+
_setContent(e, t, n) {
|
|
1553
|
+
const s = f.findOne(n, e);
|
|
1554
|
+
s && ((t = this._resolvePossibleFunction(t)) ? re(t) ? this._putElementInTemplate(pe(t), s) : this._config.html ? s.innerHTML = this._maybeSanitize(t) : s.textContent = t : s.remove());
|
|
1555
|
+
}
|
|
1556
|
+
_maybeSanitize(e) {
|
|
1557
|
+
return this._config.sanitize ? (function(t, n, s) {
|
|
1558
|
+
if (!t.length) return t;
|
|
1559
|
+
if (s && typeof s == "function") return s(t);
|
|
1560
|
+
const o = new window.DOMParser().parseFromString(t, "text/html"), r = [].concat(...o.body.querySelectorAll("*"));
|
|
1561
|
+
for (const a of r) {
|
|
1562
|
+
const c = a.nodeName.toLowerCase();
|
|
1563
|
+
if (!Object.keys(n).includes(c)) {
|
|
1564
|
+
a.remove();
|
|
1565
|
+
continue;
|
|
1566
|
+
}
|
|
1567
|
+
const h = [].concat(...a.attributes), d = [].concat(n["*"] || [], n[c] || []);
|
|
1568
|
+
for (const u of h) Ko(u, d) || a.removeAttribute(u.nodeName);
|
|
1569
|
+
}
|
|
1570
|
+
return o.body.innerHTML;
|
|
1571
|
+
})(e, this._config.allowList, this._config.sanitizeFn) : e;
|
|
1572
|
+
}
|
|
1573
|
+
_resolvePossibleFunction(e) {
|
|
1574
|
+
return M(e, [void 0, this]);
|
|
1575
|
+
}
|
|
1576
|
+
_putElementInTemplate(e, t) {
|
|
1577
|
+
if (this._config.html) return t.innerHTML = "", void t.append(e);
|
|
1578
|
+
t.textContent = e.textContent;
|
|
1579
|
+
}
|
|
1580
|
+
}
|
|
1581
|
+
const Go = /* @__PURE__ */ new Set(["sanitize", "allowList", "sanitizeFn"]), si = "fade", wt = "show", Zo = ".tooltip-inner", zn = ".modal", qn = "hide.bs.modal", st = "hover", oi = "focus", ri = "click", er = { AUTO: "auto", TOP: "top", RIGHT: B() ? "left" : "right", BOTTOM: "bottom", LEFT: B() ? "right" : "left" }, tr = { allowList: Hn, animation: !0, boundary: "clippingParents", container: !1, customClass: "", delay: 0, fallbackPlacements: ["top", "right", "bottom", "left"], html: !1, offset: [0, 6], placement: "top", popperConfig: null, sanitize: !0, sanitizeFn: null, selector: !1, template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', title: "", trigger: "hover focus" }, ir = { allowList: "object", animation: "boolean", boundary: "(string|element)", container: "(string|element|boolean)", customClass: "(string|function)", delay: "(number|object)", fallbackPlacements: "array", html: "boolean", offset: "(array|string|function)", placement: "(string|function)", popperConfig: "(null|object|function)", sanitize: "boolean", sanitizeFn: "(null|function)", selector: "(string|boolean)", template: "string", title: "(string|element|function)", trigger: "string" };
|
|
1582
|
+
class ce extends J {
|
|
1583
|
+
constructor(e, t) {
|
|
1584
|
+
if (Ki === void 0) throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");
|
|
1585
|
+
super(e, t), this._isEnabled = !0, this._timeout = 0, this._isHovered = null, this._activeTrigger = {}, this._popper = null, this._templateFactory = null, this._newContent = null, this.tip = null, this._setListeners(), this._config.selector || this._fixTitle();
|
|
1586
|
+
}
|
|
1587
|
+
static get Default() {
|
|
1588
|
+
return tr;
|
|
1589
|
+
}
|
|
1590
|
+
static get DefaultType() {
|
|
1591
|
+
return ir;
|
|
1592
|
+
}
|
|
1593
|
+
static get NAME() {
|
|
1594
|
+
return "tooltip";
|
|
1595
|
+
}
|
|
1596
|
+
enable() {
|
|
1597
|
+
this._isEnabled = !0;
|
|
1598
|
+
}
|
|
1599
|
+
disable() {
|
|
1600
|
+
this._isEnabled = !1;
|
|
1601
|
+
}
|
|
1602
|
+
toggleEnabled() {
|
|
1603
|
+
this._isEnabled = !this._isEnabled;
|
|
1604
|
+
}
|
|
1605
|
+
toggle() {
|
|
1606
|
+
this._isEnabled && (this._isShown() ? this._leave() : this._enter());
|
|
1607
|
+
}
|
|
1608
|
+
dispose() {
|
|
1609
|
+
clearTimeout(this._timeout), l.off(this._element.closest(zn), qn, this._hideModalHandler), this._element.getAttribute("data-bs-original-title") && this._element.setAttribute("title", this._element.getAttribute("data-bs-original-title")), this._disposePopper(), super.dispose();
|
|
1610
|
+
}
|
|
1611
|
+
show() {
|
|
1612
|
+
if (this._element.style.display === "none") throw new Error("Please use show on visible elements");
|
|
1613
|
+
if (!this._isWithContent() || !this._isEnabled) return;
|
|
1614
|
+
const e = l.trigger(this._element, this.constructor.eventName("show")), t = (Yi(this._element) || this._element.ownerDocument.documentElement).contains(this._element);
|
|
1615
|
+
if (e.defaultPrevented || !t) return;
|
|
1616
|
+
this._disposePopper();
|
|
1617
|
+
const n = this._getTipElement();
|
|
1618
|
+
this._element.setAttribute("aria-describedby", n.getAttribute("id"));
|
|
1619
|
+
const { container: s } = this._config;
|
|
1620
|
+
if (this._element.ownerDocument.documentElement.contains(this.tip) || (s.append(n), l.trigger(this._element, this.constructor.eventName("inserted"))), this._popper = this._createPopper(n), n.classList.add(wt), "ontouchstart" in document.documentElement) for (const o of [].concat(...document.body.children)) l.on(o, "mouseover", dt);
|
|
1621
|
+
this._queueCallback(() => {
|
|
1622
|
+
l.trigger(this._element, this.constructor.eventName("shown")), this._isHovered === !1 && this._leave(), this._isHovered = !1;
|
|
1623
|
+
}, this.tip, this._isAnimated());
|
|
1624
|
+
}
|
|
1625
|
+
hide() {
|
|
1626
|
+
if (this._isShown() && !l.trigger(this._element, this.constructor.eventName("hide")).defaultPrevented) {
|
|
1627
|
+
if (this._getTipElement().classList.remove(wt), "ontouchstart" in document.documentElement) for (const e of [].concat(...document.body.children)) l.off(e, "mouseover", dt);
|
|
1628
|
+
this._activeTrigger[ri] = !1, this._activeTrigger[oi] = !1, this._activeTrigger[st] = !1, this._isHovered = null, this._queueCallback(() => {
|
|
1629
|
+
this._isWithActiveTrigger() || (this._isHovered || this._disposePopper(), this._element.removeAttribute("aria-describedby"), l.trigger(this._element, this.constructor.eventName("hidden")));
|
|
1630
|
+
}, this.tip, this._isAnimated());
|
|
1631
|
+
}
|
|
1632
|
+
}
|
|
1633
|
+
update() {
|
|
1634
|
+
this._popper && this._popper.update();
|
|
1635
|
+
}
|
|
1636
|
+
_isWithContent() {
|
|
1637
|
+
return !!this._getTitle();
|
|
1638
|
+
}
|
|
1639
|
+
_getTipElement() {
|
|
1640
|
+
return this.tip || (this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())), this.tip;
|
|
1641
|
+
}
|
|
1642
|
+
_createTipElement(e) {
|
|
1643
|
+
const t = this._getTemplateFactory(e).toHtml();
|
|
1644
|
+
if (!t) return null;
|
|
1645
|
+
t.classList.remove(si, wt), t.classList.add(`bs-${this.constructor.NAME}-auto`);
|
|
1646
|
+
const n = ((s) => {
|
|
1647
|
+
do
|
|
1648
|
+
s += Math.floor(1e6 * Math.random());
|
|
1649
|
+
while (document.getElementById(s));
|
|
1650
|
+
return s;
|
|
1651
|
+
})(this.constructor.NAME).toString();
|
|
1652
|
+
return t.setAttribute("id", n), this._isAnimated() && t.classList.add(si), t;
|
|
1653
|
+
}
|
|
1654
|
+
setContent(e) {
|
|
1655
|
+
this._newContent = e, this._isShown() && (this._disposePopper(), this.show());
|
|
1656
|
+
}
|
|
1657
|
+
_getTemplateFactory(e) {
|
|
1658
|
+
return this._templateFactory ? this._templateFactory.changeContent(e) : this._templateFactory = new Jo({ ...this._config, content: e, extraClass: this._resolvePossibleFunction(this._config.customClass) }), this._templateFactory;
|
|
1659
|
+
}
|
|
1660
|
+
_getContentForTemplate() {
|
|
1661
|
+
return { [Zo]: this._getTitle() };
|
|
1662
|
+
}
|
|
1663
|
+
_getTitle() {
|
|
1664
|
+
return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute("data-bs-original-title");
|
|
1665
|
+
}
|
|
1666
|
+
_initializeOnDelegatedTarget(e) {
|
|
1667
|
+
return this.constructor.getOrCreateInstance(e.delegateTarget, this._getDelegateConfig());
|
|
1668
|
+
}
|
|
1669
|
+
_isAnimated() {
|
|
1670
|
+
return this._config.animation || this.tip && this.tip.classList.contains(si);
|
|
1671
|
+
}
|
|
1672
|
+
_isShown() {
|
|
1673
|
+
return this.tip && this.tip.classList.contains(wt);
|
|
1674
|
+
}
|
|
1675
|
+
_createPopper(e) {
|
|
1676
|
+
const t = M(this._config.placement, [this, e, this._element]), n = er[t.toUpperCase()];
|
|
1677
|
+
return Wt(this._element, e, this._getPopperConfig(n));
|
|
1678
|
+
}
|
|
1679
|
+
_getOffset() {
|
|
1680
|
+
const { offset: e } = this._config;
|
|
1681
|
+
return typeof e == "string" ? e.split(",").map((t) => Number.parseInt(t, 10)) : typeof e == "function" ? (t) => e(t, this._element) : e;
|
|
1682
|
+
}
|
|
1683
|
+
_resolvePossibleFunction(e) {
|
|
1684
|
+
return M(e, [this._element, this._element]);
|
|
1685
|
+
}
|
|
1686
|
+
_getPopperConfig(e) {
|
|
1687
|
+
const t = { placement: e, modifiers: [{ name: "flip", options: { fallbackPlacements: this._config.fallbackPlacements } }, { name: "offset", options: { offset: this._getOffset() } }, { name: "preventOverflow", options: { boundary: this._config.boundary } }, { name: "arrow", options: { element: `.${this.constructor.NAME}-arrow` } }, { name: "preSetPlacement", enabled: !0, phase: "beforeMain", fn: (n) => {
|
|
1688
|
+
this._getTipElement().setAttribute("data-popper-placement", n.state.placement);
|
|
1689
|
+
} }] };
|
|
1690
|
+
return { ...t, ...M(this._config.popperConfig, [void 0, t]) };
|
|
1691
|
+
}
|
|
1692
|
+
_setListeners() {
|
|
1693
|
+
const e = this._config.trigger.split(" ");
|
|
1694
|
+
for (const t of e) if (t === "click") l.on(this._element, this.constructor.eventName("click"), this._config.selector, (n) => {
|
|
1695
|
+
const s = this._initializeOnDelegatedTarget(n);
|
|
1696
|
+
s._activeTrigger[ri] = !(s._isShown() && s._activeTrigger[ri]), s.toggle();
|
|
1697
|
+
});
|
|
1698
|
+
else if (t !== "manual") {
|
|
1699
|
+
const n = t === st ? this.constructor.eventName("mouseenter") : this.constructor.eventName("focusin"), s = t === st ? this.constructor.eventName("mouseleave") : this.constructor.eventName("focusout");
|
|
1700
|
+
l.on(this._element, n, this._config.selector, (o) => {
|
|
1701
|
+
const r = this._initializeOnDelegatedTarget(o);
|
|
1702
|
+
r._activeTrigger[o.type === "focusin" ? oi : st] = !0, r._enter();
|
|
1703
|
+
}), l.on(this._element, s, this._config.selector, (o) => {
|
|
1704
|
+
const r = this._initializeOnDelegatedTarget(o);
|
|
1705
|
+
r._activeTrigger[o.type === "focusout" ? oi : st] = r._element.contains(o.relatedTarget), r._leave();
|
|
1706
|
+
});
|
|
1707
|
+
}
|
|
1708
|
+
this._hideModalHandler = () => {
|
|
1709
|
+
this._element && this.hide();
|
|
1710
|
+
}, l.on(this._element.closest(zn), qn, this._hideModalHandler);
|
|
1711
|
+
}
|
|
1712
|
+
_fixTitle() {
|
|
1713
|
+
const e = this._element.getAttribute("title");
|
|
1714
|
+
e && (this._element.getAttribute("aria-label") || this._element.textContent.trim() || this._element.setAttribute("aria-label", e), this._element.setAttribute("data-bs-original-title", e), this._element.removeAttribute("title"));
|
|
1715
|
+
}
|
|
1716
|
+
_enter() {
|
|
1717
|
+
this._isShown() || this._isHovered ? this._isHovered = !0 : (this._isHovered = !0, this._setTimeout(() => {
|
|
1718
|
+
this._isHovered && this.show();
|
|
1719
|
+
}, this._config.delay.show));
|
|
1720
|
+
}
|
|
1721
|
+
_leave() {
|
|
1722
|
+
this._isWithActiveTrigger() || (this._isHovered = !1, this._setTimeout(() => {
|
|
1723
|
+
this._isHovered || this.hide();
|
|
1724
|
+
}, this._config.delay.hide));
|
|
1725
|
+
}
|
|
1726
|
+
_setTimeout(e, t) {
|
|
1727
|
+
clearTimeout(this._timeout), this._timeout = setTimeout(e, t);
|
|
1728
|
+
}
|
|
1729
|
+
_isWithActiveTrigger() {
|
|
1730
|
+
return Object.values(this._activeTrigger).includes(!0);
|
|
1731
|
+
}
|
|
1732
|
+
_getConfig(e) {
|
|
1733
|
+
const t = ae.getDataAttributes(this._element);
|
|
1734
|
+
for (const n of Object.keys(t)) Go.has(n) && delete t[n];
|
|
1735
|
+
return e = { ...t, ...typeof e == "object" && e ? e : {} }, e = this._mergeConfigObj(e), e = this._configAfterMerge(e), this._typeCheckConfig(e), e;
|
|
1736
|
+
}
|
|
1737
|
+
_configAfterMerge(e) {
|
|
1738
|
+
return e.container = e.container === !1 ? document.body : pe(e.container), typeof e.delay == "number" && (e.delay = { show: e.delay, hide: e.delay }), typeof e.title == "number" && (e.title = e.title.toString()), typeof e.content == "number" && (e.content = e.content.toString()), e;
|
|
1739
|
+
}
|
|
1740
|
+
_getDelegateConfig() {
|
|
1741
|
+
const e = {};
|
|
1742
|
+
for (const [t, n] of Object.entries(this._config)) this.constructor.Default[t] !== n && (e[t] = n);
|
|
1743
|
+
return e.selector = !1, e.trigger = "manual", e;
|
|
1744
|
+
}
|
|
1745
|
+
_disposePopper() {
|
|
1746
|
+
this._popper && (this._popper.destroy(), this._popper = null), this.tip && (this.tip.remove(), this.tip = null);
|
|
1747
|
+
}
|
|
1748
|
+
static jQueryInterface(e) {
|
|
1749
|
+
return this.each(function() {
|
|
1750
|
+
const t = ce.getOrCreateInstance(this, e);
|
|
1751
|
+
if (typeof e == "string") {
|
|
1752
|
+
if (t[e] === void 0) throw new TypeError(`No method named "${e}"`);
|
|
1753
|
+
t[e]();
|
|
1754
|
+
}
|
|
1755
|
+
});
|
|
1756
|
+
}
|
|
1757
|
+
}
|
|
1758
|
+
V(ce);
|
|
1759
|
+
const nr = ".popover-header", sr = ".popover-body", or = { ...ce.Default, content: "", offset: [0, 8], placement: "right", template: '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>', trigger: "click" }, rr = { ...ce.DefaultType, content: "(null|string|element|function)" };
|
|
1760
|
+
class Ue extends ce {
|
|
1761
|
+
static get Default() {
|
|
1762
|
+
return or;
|
|
1763
|
+
}
|
|
1764
|
+
static get DefaultType() {
|
|
1765
|
+
return rr;
|
|
1766
|
+
}
|
|
1767
|
+
static get NAME() {
|
|
1768
|
+
return "popover";
|
|
1769
|
+
}
|
|
1770
|
+
_isWithContent() {
|
|
1771
|
+
return this._getTitle() || this._getContent();
|
|
1772
|
+
}
|
|
1773
|
+
_getContentForTemplate() {
|
|
1774
|
+
return { [nr]: this._getTitle(), [sr]: this._getContent() };
|
|
1775
|
+
}
|
|
1776
|
+
_getContent() {
|
|
1777
|
+
return this._resolvePossibleFunction(this._config.content);
|
|
1778
|
+
}
|
|
1779
|
+
static jQueryInterface(e) {
|
|
1780
|
+
return this.each(function() {
|
|
1781
|
+
const t = Ue.getOrCreateInstance(this, e);
|
|
1782
|
+
if (typeof e == "string") {
|
|
1783
|
+
if (t[e] === void 0) throw new TypeError(`No method named "${e}"`);
|
|
1784
|
+
t[e]();
|
|
1785
|
+
}
|
|
1786
|
+
});
|
|
1787
|
+
}
|
|
1788
|
+
}
|
|
1789
|
+
V(Ue);
|
|
1790
|
+
const ai = ".bs.scrollspy", ar = `activate${ai}`, Wn = `click${ai}`, lr = `load${ai}.data-api`, Ke = "active", li = "[href]", Rn = ".nav-link", cr = `${Rn}, .nav-item > ${Rn}, .list-group-item`, ur = { offset: null, rootMargin: "0px 0px -25%", smoothScroll: !1, target: null, threshold: [0.1, 0.5, 1] }, hr = { offset: "(number|null)", rootMargin: "string", smoothScroll: "boolean", target: "element", threshold: "array" };
|
|
1791
|
+
class Qe extends J {
|
|
1792
|
+
constructor(e, t) {
|
|
1793
|
+
super(e, t), this._targetLinks = /* @__PURE__ */ new Map(), this._observableSections = /* @__PURE__ */ new Map(), this._rootElement = getComputedStyle(this._element).overflowY === "visible" ? null : this._element, this._activeTarget = null, this._observer = null, this._previousScrollData = { visibleEntryTop: 0, parentScrollTop: 0 }, this.refresh();
|
|
1794
|
+
}
|
|
1795
|
+
static get Default() {
|
|
1796
|
+
return ur;
|
|
1797
|
+
}
|
|
1798
|
+
static get DefaultType() {
|
|
1799
|
+
return hr;
|
|
1800
|
+
}
|
|
1801
|
+
static get NAME() {
|
|
1802
|
+
return "scrollspy";
|
|
1803
|
+
}
|
|
1804
|
+
refresh() {
|
|
1805
|
+
this._initializeTargetsAndObservables(), this._maybeEnableSmoothScroll(), this._observer ? this._observer.disconnect() : this._observer = this._getNewObserver();
|
|
1806
|
+
for (const e of this._observableSections.values()) this._observer.observe(e);
|
|
1807
|
+
}
|
|
1808
|
+
dispose() {
|
|
1809
|
+
this._observer.disconnect(), super.dispose();
|
|
1810
|
+
}
|
|
1811
|
+
_configAfterMerge(e) {
|
|
1812
|
+
return e.target = pe(e.target) || document.body, e.rootMargin = e.offset ? `${e.offset}px 0px -30%` : e.rootMargin, typeof e.threshold == "string" && (e.threshold = e.threshold.split(",").map((t) => Number.parseFloat(t))), e;
|
|
1813
|
+
}
|
|
1814
|
+
_maybeEnableSmoothScroll() {
|
|
1815
|
+
this._config.smoothScroll && (l.off(this._config.target, Wn), l.on(this._config.target, Wn, li, (e) => {
|
|
1816
|
+
const t = this._observableSections.get(e.target.hash);
|
|
1817
|
+
if (t) {
|
|
1818
|
+
e.preventDefault();
|
|
1819
|
+
const n = this._rootElement || window, s = t.offsetTop - this._element.offsetTop;
|
|
1820
|
+
if (n.scrollTo) return void n.scrollTo({ top: s, behavior: "smooth" });
|
|
1821
|
+
n.scrollTop = s;
|
|
1822
|
+
}
|
|
1823
|
+
}));
|
|
1824
|
+
}
|
|
1825
|
+
_getNewObserver() {
|
|
1826
|
+
const e = { root: this._rootElement, threshold: this._config.threshold, rootMargin: this._config.rootMargin };
|
|
1827
|
+
return new IntersectionObserver((t) => this._observerCallback(t), e);
|
|
1828
|
+
}
|
|
1829
|
+
_observerCallback(e) {
|
|
1830
|
+
const t = (r) => this._targetLinks.get(`#${r.target.id}`), n = (r) => {
|
|
1831
|
+
this._previousScrollData.visibleEntryTop = r.target.offsetTop, this._process(t(r));
|
|
1832
|
+
}, s = (this._rootElement || document.documentElement).scrollTop, o = s >= this._previousScrollData.parentScrollTop;
|
|
1833
|
+
this._previousScrollData.parentScrollTop = s;
|
|
1834
|
+
for (const r of e) {
|
|
1835
|
+
if (!r.isIntersecting) {
|
|
1836
|
+
this._activeTarget = null, this._clearActiveClass(t(r));
|
|
1837
|
+
continue;
|
|
1838
|
+
}
|
|
1839
|
+
const a = r.target.offsetTop >= this._previousScrollData.visibleEntryTop;
|
|
1840
|
+
if (o && a) {
|
|
1841
|
+
if (n(r), !s) return;
|
|
1842
|
+
} else o || a || n(r);
|
|
1843
|
+
}
|
|
1844
|
+
}
|
|
1845
|
+
_initializeTargetsAndObservables() {
|
|
1846
|
+
this._targetLinks = /* @__PURE__ */ new Map(), this._observableSections = /* @__PURE__ */ new Map();
|
|
1847
|
+
const e = f.find(li, this._config.target);
|
|
1848
|
+
for (const t of e) {
|
|
1849
|
+
if (!t.hash || me(t)) continue;
|
|
1850
|
+
const n = f.findOne(decodeURI(t.hash), this._element);
|
|
1851
|
+
Fe(n) && (this._targetLinks.set(decodeURI(t.hash), t), this._observableSections.set(t.hash, n));
|
|
1852
|
+
}
|
|
1853
|
+
}
|
|
1854
|
+
_process(e) {
|
|
1855
|
+
this._activeTarget !== e && (this._clearActiveClass(this._config.target), this._activeTarget = e, e.classList.add(Ke), this._activateParents(e), l.trigger(this._element, ar, { relatedTarget: e }));
|
|
1856
|
+
}
|
|
1857
|
+
_activateParents(e) {
|
|
1858
|
+
if (e.classList.contains("dropdown-item")) f.findOne(".dropdown-toggle", e.closest(".dropdown")).classList.add(Ke);
|
|
1859
|
+
else for (const t of f.parents(e, ".nav, .list-group")) for (const n of f.prev(t, cr)) n.classList.add(Ke);
|
|
1860
|
+
}
|
|
1861
|
+
_clearActiveClass(e) {
|
|
1862
|
+
e.classList.remove(Ke);
|
|
1863
|
+
const t = f.find(`${li}.${Ke}`, e);
|
|
1864
|
+
for (const n of t) n.classList.remove(Ke);
|
|
1865
|
+
}
|
|
1866
|
+
static jQueryInterface(e) {
|
|
1867
|
+
return this.each(function() {
|
|
1868
|
+
const t = Qe.getOrCreateInstance(this, e);
|
|
1869
|
+
if (typeof e == "string") {
|
|
1870
|
+
if (t[e] === void 0 || e.startsWith("_") || e === "constructor") throw new TypeError(`No method named "${e}"`);
|
|
1871
|
+
t[e]();
|
|
1872
|
+
}
|
|
1873
|
+
});
|
|
1874
|
+
}
|
|
1875
|
+
}
|
|
1876
|
+
l.on(window, lr, () => {
|
|
1877
|
+
for (const i of f.find('[data-bs-spy="scroll"]')) Qe.getOrCreateInstance(i);
|
|
1878
|
+
}), V(Qe);
|
|
1879
|
+
const xe = ".bs.tab", dr = `hide${xe}`, fr = `hidden${xe}`, pr = `show${xe}`, mr = `shown${xe}`, gr = `click${xe}`, _r = `keydown${xe}`, br = `load${xe}`, vr = "ArrowLeft", Bn = "ArrowRight", yr = "ArrowUp", Vn = "ArrowDown", ci = "Home", Un = "End", ke = "active", Kn = "fade", ui = "show", Qn = ".dropdown-toggle", hi = `:not(${Qn})`, Xn = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]', di = `.nav-link${hi}, .list-group-item${hi}, [role="tab"]${hi}, ${Xn}`, wr = `.${ke}[data-bs-toggle="tab"], .${ke}[data-bs-toggle="pill"], .${ke}[data-bs-toggle="list"]`;
|
|
1880
|
+
class ue extends J {
|
|
1881
|
+
constructor(e) {
|
|
1882
|
+
super(e), this._parent = this._element.closest('.list-group, .nav, [role="tablist"]'), this._parent && (this._setInitialAttributes(this._parent, this._getChildren()), l.on(this._element, _r, (t) => this._keydown(t)));
|
|
1883
|
+
}
|
|
1884
|
+
static get NAME() {
|
|
1885
|
+
return "tab";
|
|
1886
|
+
}
|
|
1887
|
+
show() {
|
|
1888
|
+
const e = this._element;
|
|
1889
|
+
if (this._elemIsActive(e)) return;
|
|
1890
|
+
const t = this._getActiveElem(), n = t ? l.trigger(t, dr, { relatedTarget: e }) : null;
|
|
1891
|
+
l.trigger(e, pr, { relatedTarget: t }).defaultPrevented || n && n.defaultPrevented || (this._deactivate(t, e), this._activate(e, t));
|
|
1892
|
+
}
|
|
1893
|
+
_activate(e, t) {
|
|
1894
|
+
e && (e.classList.add(ke), this._activate(f.getElementFromSelector(e)), this._queueCallback(() => {
|
|
1895
|
+
e.getAttribute("role") === "tab" ? (e.removeAttribute("tabindex"), e.setAttribute("aria-selected", !0), this._toggleDropDown(e, !0), l.trigger(e, mr, { relatedTarget: t })) : e.classList.add(ui);
|
|
1896
|
+
}, e, e.classList.contains(Kn)));
|
|
1897
|
+
}
|
|
1898
|
+
_deactivate(e, t) {
|
|
1899
|
+
e && (e.classList.remove(ke), e.blur(), this._deactivate(f.getElementFromSelector(e)), this._queueCallback(() => {
|
|
1900
|
+
e.getAttribute("role") === "tab" ? (e.setAttribute("aria-selected", !1), e.setAttribute("tabindex", "-1"), this._toggleDropDown(e, !1), l.trigger(e, fr, { relatedTarget: t })) : e.classList.remove(ui);
|
|
1901
|
+
}, e, e.classList.contains(Kn)));
|
|
1902
|
+
}
|
|
1903
|
+
_keydown(e) {
|
|
1904
|
+
if (![vr, Bn, yr, Vn, ci, Un].includes(e.key)) return;
|
|
1905
|
+
e.stopPropagation(), e.preventDefault();
|
|
1906
|
+
const t = this._getChildren().filter((s) => !me(s));
|
|
1907
|
+
let n;
|
|
1908
|
+
if ([ci, Un].includes(e.key)) n = t[e.key === ci ? 0 : t.length - 1];
|
|
1909
|
+
else {
|
|
1910
|
+
const s = [Bn, Vn].includes(e.key);
|
|
1911
|
+
n = Ut(t, e.target, s, !0);
|
|
1912
|
+
}
|
|
1913
|
+
n && (n.focus({ preventScroll: !0 }), ue.getOrCreateInstance(n).show());
|
|
1914
|
+
}
|
|
1915
|
+
_getChildren() {
|
|
1916
|
+
return f.find(di, this._parent);
|
|
1917
|
+
}
|
|
1918
|
+
_getActiveElem() {
|
|
1919
|
+
return this._getChildren().find((e) => this._elemIsActive(e)) || null;
|
|
1920
|
+
}
|
|
1921
|
+
_setInitialAttributes(e, t) {
|
|
1922
|
+
this._setAttributeIfNotExists(e, "role", "tablist");
|
|
1923
|
+
for (const n of t) this._setInitialAttributesOnChild(n);
|
|
1924
|
+
}
|
|
1925
|
+
_setInitialAttributesOnChild(e) {
|
|
1926
|
+
e = this._getInnerElement(e);
|
|
1927
|
+
const t = this._elemIsActive(e), n = this._getOuterElement(e);
|
|
1928
|
+
e.setAttribute("aria-selected", t), n !== e && this._setAttributeIfNotExists(n, "role", "presentation"), t || e.setAttribute("tabindex", "-1"), this._setAttributeIfNotExists(e, "role", "tab"), this._setInitialAttributesOnTargetPanel(e);
|
|
1929
|
+
}
|
|
1930
|
+
_setInitialAttributesOnTargetPanel(e) {
|
|
1931
|
+
const t = f.getElementFromSelector(e);
|
|
1932
|
+
t && (this._setAttributeIfNotExists(t, "role", "tabpanel"), e.id && this._setAttributeIfNotExists(t, "aria-labelledby", `${e.id}`));
|
|
1933
|
+
}
|
|
1934
|
+
_toggleDropDown(e, t) {
|
|
1935
|
+
const n = this._getOuterElement(e);
|
|
1936
|
+
if (!n.classList.contains("dropdown")) return;
|
|
1937
|
+
const s = (o, r) => {
|
|
1938
|
+
const a = f.findOne(o, n);
|
|
1939
|
+
a && a.classList.toggle(r, t);
|
|
1940
|
+
};
|
|
1941
|
+
s(Qn, ke), s(".dropdown-menu", ui), n.setAttribute("aria-expanded", t);
|
|
1942
|
+
}
|
|
1943
|
+
_setAttributeIfNotExists(e, t, n) {
|
|
1944
|
+
e.hasAttribute(t) || e.setAttribute(t, n);
|
|
1945
|
+
}
|
|
1946
|
+
_elemIsActive(e) {
|
|
1947
|
+
return e.classList.contains(ke);
|
|
1948
|
+
}
|
|
1949
|
+
_getInnerElement(e) {
|
|
1950
|
+
return e.matches(di) ? e : f.findOne(di, e);
|
|
1951
|
+
}
|
|
1952
|
+
_getOuterElement(e) {
|
|
1953
|
+
return e.closest(".nav-item, .list-group-item") || e;
|
|
1954
|
+
}
|
|
1955
|
+
static jQueryInterface(e) {
|
|
1956
|
+
return this.each(function() {
|
|
1957
|
+
const t = ue.getOrCreateInstance(this);
|
|
1958
|
+
if (typeof e == "string") {
|
|
1959
|
+
if (t[e] === void 0 || e.startsWith("_") || e === "constructor") throw new TypeError(`No method named "${e}"`);
|
|
1960
|
+
t[e]();
|
|
1961
|
+
}
|
|
1962
|
+
});
|
|
1963
|
+
}
|
|
1964
|
+
}
|
|
1965
|
+
l.on(document, gr, Xn, function(i) {
|
|
1966
|
+
["A", "AREA"].includes(this.tagName) && i.preventDefault(), me(this) || ue.getOrCreateInstance(this).show();
|
|
1967
|
+
}), l.on(window, br, () => {
|
|
1968
|
+
for (const i of f.find(wr)) ue.getOrCreateInstance(i);
|
|
1969
|
+
}), V(ue);
|
|
1970
|
+
const be = ".bs.toast", Ar = `mouseover${be}`, Er = `mouseout${be}`, Tr = `focusin${be}`, Cr = `focusout${be}`, Or = `hide${be}`, xr = `hidden${be}`, kr = `show${be}`, Sr = `shown${be}`, Yn = "hide", At = "show", Et = "showing", Lr = { animation: "boolean", autohide: "boolean", delay: "number" }, $r = { animation: !0, autohide: !0, delay: 5e3 };
|
|
1971
|
+
class Se extends J {
|
|
1972
|
+
constructor(e, t) {
|
|
1973
|
+
super(e, t), this._timeout = null, this._hasMouseInteraction = !1, this._hasKeyboardInteraction = !1, this._setListeners();
|
|
1974
|
+
}
|
|
1975
|
+
static get Default() {
|
|
1976
|
+
return $r;
|
|
1977
|
+
}
|
|
1978
|
+
static get DefaultType() {
|
|
1979
|
+
return Lr;
|
|
1980
|
+
}
|
|
1981
|
+
static get NAME() {
|
|
1982
|
+
return "toast";
|
|
1983
|
+
}
|
|
1984
|
+
show() {
|
|
1985
|
+
l.trigger(this._element, kr).defaultPrevented || (this._clearTimeout(), this._config.animation && this._element.classList.add("fade"), this._element.classList.remove(Yn), et(this._element), this._element.classList.add(At, Et), this._queueCallback(() => {
|
|
1986
|
+
this._element.classList.remove(Et), l.trigger(this._element, Sr), this._maybeScheduleHide();
|
|
1987
|
+
}, this._element, this._config.animation));
|
|
1988
|
+
}
|
|
1989
|
+
hide() {
|
|
1990
|
+
this.isShown() && (l.trigger(this._element, Or).defaultPrevented || (this._element.classList.add(Et), this._queueCallback(() => {
|
|
1991
|
+
this._element.classList.add(Yn), this._element.classList.remove(Et, At), l.trigger(this._element, xr);
|
|
1992
|
+
}, this._element, this._config.animation)));
|
|
1993
|
+
}
|
|
1994
|
+
dispose() {
|
|
1995
|
+
this._clearTimeout(), this.isShown() && this._element.classList.remove(At), super.dispose();
|
|
1996
|
+
}
|
|
1997
|
+
isShown() {
|
|
1998
|
+
return this._element.classList.contains(At);
|
|
1999
|
+
}
|
|
2000
|
+
_maybeScheduleHide() {
|
|
2001
|
+
this._config.autohide && (this._hasMouseInteraction || this._hasKeyboardInteraction || (this._timeout = setTimeout(() => {
|
|
2002
|
+
this.hide();
|
|
2003
|
+
}, this._config.delay)));
|
|
2004
|
+
}
|
|
2005
|
+
_onInteraction(e, t) {
|
|
2006
|
+
switch (e.type) {
|
|
2007
|
+
case "mouseover":
|
|
2008
|
+
case "mouseout":
|
|
2009
|
+
this._hasMouseInteraction = t;
|
|
2010
|
+
break;
|
|
2011
|
+
case "focusin":
|
|
2012
|
+
case "focusout":
|
|
2013
|
+
this._hasKeyboardInteraction = t;
|
|
2014
|
+
}
|
|
2015
|
+
if (t) return void this._clearTimeout();
|
|
2016
|
+
const n = e.relatedTarget;
|
|
2017
|
+
this._element === n || this._element.contains(n) || this._maybeScheduleHide();
|
|
2018
|
+
}
|
|
2019
|
+
_setListeners() {
|
|
2020
|
+
l.on(this._element, Ar, (e) => this._onInteraction(e, !0)), l.on(this._element, Er, (e) => this._onInteraction(e, !1)), l.on(this._element, Tr, (e) => this._onInteraction(e, !0)), l.on(this._element, Cr, (e) => this._onInteraction(e, !1));
|
|
2021
|
+
}
|
|
2022
|
+
_clearTimeout() {
|
|
2023
|
+
clearTimeout(this._timeout), this._timeout = null;
|
|
2024
|
+
}
|
|
2025
|
+
static jQueryInterface(e) {
|
|
2026
|
+
return this.each(function() {
|
|
2027
|
+
const t = Se.getOrCreateInstance(this, e);
|
|
2028
|
+
if (typeof e == "string") {
|
|
2029
|
+
if (t[e] === void 0) throw new TypeError(`No method named "${e}"`);
|
|
2030
|
+
t[e](this);
|
|
2031
|
+
}
|
|
2032
|
+
});
|
|
2033
|
+
}
|
|
2034
|
+
}
|
|
2035
|
+
ft(Se), V(Se);
|
|
2036
|
+
const Dr = Object.freeze(Object.defineProperty({ __proto__: null, Alert: He, Button: ze, Carousel: Ee, Collapse: Te, Dropdown: q, Modal: _e, Offcanvas: ie, Popover: Ue, ScrollSpy: Qe, Tab: ue, Toast: Se, Tooltip: ce }, Symbol.toStringTag, { value: "Module" }));
|
|
2037
|
+
[].slice.call(document.querySelectorAll('[data-bs-toggle="dropdown"]')).map(function(i) {
|
|
2038
|
+
let e = { boundary: i.getAttribute("data-bs-boundary") === "viewport" ? document.querySelector(".btn") : "clippingParents" };
|
|
2039
|
+
return new q(i, e);
|
|
2040
|
+
}), [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map(function(i) {
|
|
2041
|
+
let e = { delay: { show: 50, hide: 50 }, html: i.getAttribute("data-bs-html") === "true", placement: i.getAttribute("data-bs-placement") ?? "auto" };
|
|
2042
|
+
return new ce(i, e);
|
|
2043
|
+
}), [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')).map(function(i) {
|
|
2044
|
+
let e = { delay: { show: 50, hide: 50 }, html: i.getAttribute("data-bs-html") === "true", placement: i.getAttribute("data-bs-placement") ?? "auto" };
|
|
2045
|
+
return new Ue(i, e);
|
|
2046
|
+
}), [].slice.call(document.querySelectorAll('[data-bs-toggle="switch-icon"]')).map(function(i) {
|
|
2047
|
+
i.addEventListener("click", (e) => {
|
|
2048
|
+
e.stopPropagation(), i.classList.toggle("active");
|
|
2049
|
+
});
|
|
2050
|
+
}), (() => {
|
|
2051
|
+
const i = window.location.hash;
|
|
2052
|
+
i && [].slice.call(document.querySelectorAll('[data-bs-toggle="tab"]')).filter((e) => e.hash === i).map((e) => {
|
|
2053
|
+
new ue(e).show();
|
|
2054
|
+
});
|
|
2055
|
+
})(), [].slice.call(document.querySelectorAll('[data-bs-toggle="toast"]')).map(function(i) {
|
|
2056
|
+
if (!i.hasAttribute("data-bs-target")) return;
|
|
2057
|
+
const e = new Se(i.getAttribute("data-bs-target"));
|
|
2058
|
+
i.addEventListener("click", () => {
|
|
2059
|
+
e.show();
|
|
2060
|
+
});
|
|
2061
|
+
});
|
|
2062
|
+
const Jn = "tblr-", Gn = (i, e) => {
|
|
2063
|
+
const t = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(i);
|
|
2064
|
+
return t ? `rgba(${parseInt(t[1], 16)}, ${parseInt(t[2], 16)}, ${parseInt(t[3], 16)}, ${e})` : null;
|
|
2065
|
+
}, Ir = Object.freeze(Object.defineProperty({ __proto__: null, getColor: (i, e = 1) => {
|
|
2066
|
+
const t = getComputedStyle(document.body).getPropertyValue(`--${Jn}${i}`).trim();
|
|
2067
|
+
return e !== 1 ? Gn(t, e) : t;
|
|
2068
|
+
}, hexToRgba: Gn, prefix: Jn }, Symbol.toStringTag, { value: "Module" }));
|
|
2069
|
+
$.Alert = He, $.Button = ze, $.Carousel = Ee, $.Collapse = Te, $.Dropdown = q, $.Modal = _e, $.Offcanvas = ie, $.Popover = Ue, $.ScrollSpy = Qe, $.Tab = ue, $.Toast = Se, $.Tooltip = ce, $.bootstrap = Dr, $.tabler = Ir, Object.defineProperty($, Symbol.toStringTag, { value: "Module" });
|
|
2070
|
+
});
|
|
2071
|
+
})(ot, ot.exports)), ot.exports;
|
|
2072
|
+
}
|
|
2073
|
+
var ds = Vr();
|
|
2074
|
+
const Ur = /* @__PURE__ */ Rr(ds), Kr = /* @__PURE__ */ Wr({
|
|
2075
|
+
__proto__: null,
|
|
2076
|
+
default: Ur
|
|
2077
|
+
}, [ds]), Qr = {
|
|
2078
|
+
// até o momento não usamos opções nem o app, mas deixei aqui caso precise no futuro
|
|
2079
|
+
install: (Y, Ye) => {
|
|
2080
|
+
window.bootstrap = Kr;
|
|
2081
|
+
}
|
|
2082
|
+
};
|
|
2083
|
+
export {
|
|
2084
|
+
Qr as SistecPlugin
|
|
2085
|
+
};
|