fnschool 20251011.80531.840__py3-none-any.whl → 20251011.81705.829__py3-none-any.whl

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.

Potentially problematic release.


This version of fnschool might be problematic. Click here for more details.

Files changed (117) hide show
  1. fnschoo1/__init__.py +2 -1
  2. fnschoo1/db.sqlite3 +0 -0
  3. fnschoo1/static/images/favicon.ico +0 -0
  4. {fnschool-20251011.80531.840.dist-info → fnschool-20251011.81705.829.dist-info}/METADATA +1 -1
  5. fnschool-20251011.81705.829.dist-info/RECORD +101 -0
  6. fnschoo1/static_collected/admin/css/autocomplete.css +0 -377
  7. fnschoo1/static_collected/admin/css/base.css +0 -1224
  8. fnschoo1/static_collected/admin/css/changelists.css +0 -334
  9. fnschoo1/static_collected/admin/css/dark_mode.css +0 -136
  10. fnschoo1/static_collected/admin/css/dashboard.css +0 -30
  11. fnschoo1/static_collected/admin/css/forms.css +0 -546
  12. fnschoo1/static_collected/admin/css/login.css +0 -62
  13. fnschoo1/static_collected/admin/css/nav_sidebar.css +0 -145
  14. fnschoo1/static_collected/admin/css/responsive.css +0 -1043
  15. fnschoo1/static_collected/admin/css/responsive_rtl.css +0 -84
  16. fnschoo1/static_collected/admin/css/rtl.css +0 -311
  17. fnschoo1/static_collected/admin/css/vendor/select2/select2.css +0 -708
  18. fnschoo1/static_collected/admin/css/vendor/select2/select2.min.css +0 -1
  19. fnschoo1/static_collected/admin/css/widgets.css +0 -639
  20. fnschoo1/static_collected/admin/js/SelectBox.js +0 -128
  21. fnschoo1/static_collected/admin/js/SelectFilter2.js +0 -503
  22. fnschoo1/static_collected/admin/js/actions.js +0 -232
  23. fnschoo1/static_collected/admin/js/admin/DateTimeShortcuts.js +0 -496
  24. fnschoo1/static_collected/admin/js/admin/RelatedObjectLookups.js +0 -276
  25. fnschoo1/static_collected/admin/js/autocomplete.js +0 -33
  26. fnschoo1/static_collected/admin/js/calendar.js +0 -251
  27. fnschoo1/static_collected/admin/js/cancel.js +0 -29
  28. fnschoo1/static_collected/admin/js/change_form.js +0 -21
  29. fnschoo1/static_collected/admin/js/collapse.js +0 -43
  30. fnschoo1/static_collected/admin/js/core.js +0 -174
  31. fnschoo1/static_collected/admin/js/filters.js +0 -37
  32. fnschoo1/static_collected/admin/js/inlines.js +0 -439
  33. fnschoo1/static_collected/admin/js/jquery.init.js +0 -8
  34. fnschoo1/static_collected/admin/js/nav_sidebar.js +0 -81
  35. fnschoo1/static_collected/admin/js/popup_response.js +0 -24
  36. fnschoo1/static_collected/admin/js/prepopulate.js +0 -43
  37. fnschoo1/static_collected/admin/js/prepopulate_init.js +0 -20
  38. fnschoo1/static_collected/admin/js/theme.js +0 -57
  39. fnschoo1/static_collected/admin/js/urlify.js +0 -529
  40. fnschoo1/static_collected/admin/js/vendor/jquery/jquery.js +0 -10913
  41. fnschoo1/static_collected/admin/js/vendor/jquery/jquery.min.js +0 -2
  42. fnschoo1/static_collected/admin/js/vendor/select2/i18n/af.js +0 -43
  43. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ar.js +0 -36
  44. fnschoo1/static_collected/admin/js/vendor/select2/i18n/az.js +0 -33
  45. fnschoo1/static_collected/admin/js/vendor/select2/i18n/bg.js +0 -38
  46. fnschoo1/static_collected/admin/js/vendor/select2/i18n/bn.js +0 -39
  47. fnschoo1/static_collected/admin/js/vendor/select2/i18n/bs.js +0 -48
  48. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ca.js +0 -41
  49. fnschoo1/static_collected/admin/js/vendor/select2/i18n/cs.js +0 -62
  50. fnschoo1/static_collected/admin/js/vendor/select2/i18n/da.js +0 -37
  51. fnschoo1/static_collected/admin/js/vendor/select2/i18n/de.js +0 -41
  52. fnschoo1/static_collected/admin/js/vendor/select2/i18n/dsb.js +0 -51
  53. fnschoo1/static_collected/admin/js/vendor/select2/i18n/el.js +0 -43
  54. fnschoo1/static_collected/admin/js/vendor/select2/i18n/en.js +0 -41
  55. fnschoo1/static_collected/admin/js/vendor/select2/i18n/es.js +0 -41
  56. fnschoo1/static_collected/admin/js/vendor/select2/i18n/et.js +0 -38
  57. fnschoo1/static_collected/admin/js/vendor/select2/i18n/eu.js +0 -45
  58. fnschoo1/static_collected/admin/js/vendor/select2/i18n/fa.js +0 -42
  59. fnschoo1/static_collected/admin/js/vendor/select2/i18n/fi.js +0 -42
  60. fnschoo1/static_collected/admin/js/vendor/select2/i18n/fr.js +0 -43
  61. fnschoo1/static_collected/admin/js/vendor/select2/i18n/gl.js +0 -40
  62. fnschoo1/static_collected/admin/js/vendor/select2/i18n/he.js +0 -44
  63. fnschoo1/static_collected/admin/js/vendor/select2/i18n/hi.js +0 -40
  64. fnschoo1/static_collected/admin/js/vendor/select2/i18n/hr.js +0 -45
  65. fnschoo1/static_collected/admin/js/vendor/select2/i18n/hsb.js +0 -51
  66. fnschoo1/static_collected/admin/js/vendor/select2/i18n/hu.js +0 -44
  67. fnschoo1/static_collected/admin/js/vendor/select2/i18n/hy.js +0 -40
  68. fnschoo1/static_collected/admin/js/vendor/select2/i18n/id.js +0 -36
  69. fnschoo1/static_collected/admin/js/vendor/select2/i18n/is.js +0 -37
  70. fnschoo1/static_collected/admin/js/vendor/select2/i18n/it.js +0 -43
  71. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ja.js +0 -40
  72. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ka.js +0 -42
  73. fnschoo1/static_collected/admin/js/vendor/select2/i18n/km.js +0 -38
  74. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ko.js +0 -42
  75. fnschoo1/static_collected/admin/js/vendor/select2/i18n/lt.js +0 -45
  76. fnschoo1/static_collected/admin/js/vendor/select2/i18n/lv.js +0 -41
  77. fnschoo1/static_collected/admin/js/vendor/select2/i18n/mk.js +0 -42
  78. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ms.js +0 -38
  79. fnschoo1/static_collected/admin/js/vendor/select2/i18n/nb.js +0 -38
  80. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ne.js +0 -44
  81. fnschoo1/static_collected/admin/js/vendor/select2/i18n/nl.js +0 -46
  82. fnschoo1/static_collected/admin/js/vendor/select2/i18n/pl.js +0 -43
  83. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ps.js +0 -41
  84. fnschoo1/static_collected/admin/js/vendor/select2/i18n/pt-BR.js +0 -39
  85. fnschoo1/static_collected/admin/js/vendor/select2/i18n/pt.js +0 -41
  86. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ro.js +0 -43
  87. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ru.js +0 -48
  88. fnschoo1/static_collected/admin/js/vendor/select2/i18n/sk.js +0 -61
  89. fnschoo1/static_collected/admin/js/vendor/select2/i18n/sl.js +0 -41
  90. fnschoo1/static_collected/admin/js/vendor/select2/i18n/sq.js +0 -43
  91. fnschoo1/static_collected/admin/js/vendor/select2/i18n/sr-Cyrl.js +0 -48
  92. fnschoo1/static_collected/admin/js/vendor/select2/i18n/sr.js +0 -48
  93. fnschoo1/static_collected/admin/js/vendor/select2/i18n/sv.js +0 -40
  94. fnschoo1/static_collected/admin/js/vendor/select2/i18n/th.js +0 -36
  95. fnschoo1/static_collected/admin/js/vendor/select2/i18n/tk.js +0 -36
  96. fnschoo1/static_collected/admin/js/vendor/select2/i18n/tr.js +0 -40
  97. fnschoo1/static_collected/admin/js/vendor/select2/i18n/uk.js +0 -59
  98. fnschoo1/static_collected/admin/js/vendor/select2/i18n/vi.js +0 -37
  99. fnschoo1/static_collected/admin/js/vendor/select2/i18n/zh-CN.js +0 -36
  100. fnschoo1/static_collected/admin/js/vendor/select2/i18n/zh-TW.js +0 -33
  101. fnschoo1/static_collected/admin/js/vendor/select2/select2.full.js +0 -7115
  102. fnschoo1/static_collected/admin/js/vendor/select2/select2.full.min.js +0 -2
  103. fnschoo1/static_collected/admin/js/vendor/xregexp/xregexp.js +0 -4993
  104. fnschoo1/static_collected/admin/js/vendor/xregexp/xregexp.min.js +0 -160
  105. fnschoo1/static_collected/css/bootstrap.min.css +0 -11776
  106. fnschoo1/static_collected/css/fnschool.css +0 -26
  107. fnschoo1/static_collected/js/bootstrap.bundle.min.js +0 -4223
  108. fnschoo1/static_collected/js/bootstrap.min.js +0 -2919
  109. fnschoo1/static_collected/js/fnschool.js +0 -84
  110. fnschoo1/static_collected/js/jquery.min.js +0 -5413
  111. fnschoo1/static_collected/js/jquery.slim.min.js +0 -4331
  112. fnschoo1/static_collected/js/popper.min.js +0 -1306
  113. fnschool-20251011.80531.840.dist-info/RECORD +0 -207
  114. {fnschool-20251011.80531.840.dist-info → fnschool-20251011.81705.829.dist-info}/WHEEL +0 -0
  115. {fnschool-20251011.80531.840.dist-info → fnschool-20251011.81705.829.dist-info}/entry_points.txt +0 -0
  116. {fnschool-20251011.80531.840.dist-info → fnschool-20251011.81705.829.dist-info}/licenses/LICENSE +0 -0
  117. {fnschool-20251011.80531.840.dist-info → fnschool-20251011.81705.829.dist-info}/top_level.txt +0 -0
@@ -1,4223 +0,0 @@
1
- /*!
2
- * Bootstrap v5.3.8 (https://getbootstrap.com/)
3
- * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
- */
6
- !(function (t, e) {
7
- "object" == typeof exports && "undefined" != typeof module
8
- ? (module.exports = e())
9
- : "function" == typeof define && define.amd
10
- ? define(e)
11
- : ((t =
12
- "undefined" != typeof globalThis ? globalThis : t || self).bootstrap =
13
- e());
14
- })(this, function () {
15
- "use strict";
16
- const t = new Map(),
17
- e = {
18
- set(e, i, n) {
19
- t.has(e) || t.set(e, new Map());
20
- const s = t.get(e);
21
- s.has(i) || 0 === s.size
22
- ? s.set(i, n)
23
- : console.error(
24
- `Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`,
25
- );
26
- },
27
- get: (e, i) => (t.has(e) && t.get(e).get(i)) || null,
28
- remove(e, i) {
29
- if (!t.has(e)) return;
30
- const n = t.get(e);
31
- n.delete(i), 0 === n.size && t.delete(e);
32
- },
33
- },
34
- i = "transitionend",
35
- n = (t) => (
36
- t &&
37
- window.CSS &&
38
- window.CSS.escape &&
39
- (t = t.replace(/#([^\s"#']+)/g, (t, e) => `#${CSS.escape(e)}`)),
40
- t
41
- ),
42
- s = (t) =>
43
- null == t
44
- ? `${t}`
45
- : Object.prototype.toString
46
- .call(t)
47
- .match(/\s([a-z]+)/i)[1]
48
- .toLowerCase(),
49
- o = (t) => {
50
- t.dispatchEvent(new Event(i));
51
- },
52
- r = (t) =>
53
- !(!t || "object" != typeof t) &&
54
- (void 0 !== t.jquery && (t = t[0]), void 0 !== t.nodeType),
55
- a = (t) =>
56
- r(t)
57
- ? t.jquery
58
- ? t[0]
59
- : t
60
- : "string" == typeof t && t.length > 0
61
- ? document.querySelector(n(t))
62
- : null,
63
- l = (t) => {
64
- if (!r(t) || 0 === t.getClientRects().length) return !1;
65
- const e =
66
- "visible" === getComputedStyle(t).getPropertyValue("visibility"),
67
- i = t.closest("details:not([open])");
68
- if (!i) return e;
69
- if (i !== t) {
70
- const e = t.closest("summary");
71
- if (e && e.parentNode !== i) return !1;
72
- if (null === e) return !1;
73
- }
74
- return e;
75
- },
76
- c = (t) =>
77
- !t ||
78
- t.nodeType !== Node.ELEMENT_NODE ||
79
- !!t.classList.contains("disabled") ||
80
- (void 0 !== t.disabled
81
- ? t.disabled
82
- : t.hasAttribute("disabled") && "false" !== t.getAttribute("disabled")),
83
- h = (t) => {
84
- if (!document.documentElement.attachShadow) return null;
85
- if ("function" == typeof t.getRootNode) {
86
- const e = t.getRootNode();
87
- return e instanceof ShadowRoot ? e : null;
88
- }
89
- return t instanceof ShadowRoot
90
- ? t
91
- : t.parentNode
92
- ? h(t.parentNode)
93
- : null;
94
- },
95
- d = () => {},
96
- u = (t) => {
97
- t.offsetHeight;
98
- },
99
- f = () =>
100
- window.jQuery && !document.body.hasAttribute("data-bs-no-jquery")
101
- ? window.jQuery
102
- : null,
103
- p = [],
104
- m = () => "rtl" === document.documentElement.dir,
105
- g = (t) => {
106
- var e;
107
- (e = () => {
108
- const e = f();
109
- if (e) {
110
- const i = t.NAME,
111
- n = e.fn[i];
112
- (e.fn[i] = t.jQueryInterface),
113
- (e.fn[i].Constructor = t),
114
- (e.fn[i].noConflict = () => ((e.fn[i] = n), t.jQueryInterface));
115
- }
116
- }),
117
- "loading" === document.readyState
118
- ? (p.length ||
119
- document.addEventListener("DOMContentLoaded", () => {
120
- for (const t of p) t();
121
- }),
122
- p.push(e))
123
- : e();
124
- },
125
- _ = (t, e = [], i = t) => ("function" == typeof t ? t.call(...e) : i),
126
- b = (t, e, n = !0) => {
127
- if (!n) return void _(t);
128
- const s =
129
- ((t) => {
130
- if (!t) return 0;
131
- let { transitionDuration: e, transitionDelay: i } =
132
- window.getComputedStyle(t);
133
- const n = Number.parseFloat(e),
134
- s = Number.parseFloat(i);
135
- return n || s
136
- ? ((e = e.split(",")[0]),
137
- (i = i.split(",")[0]),
138
- 1e3 * (Number.parseFloat(e) + Number.parseFloat(i)))
139
- : 0;
140
- })(e) + 5;
141
- let r = !1;
142
- const a = ({ target: n }) => {
143
- n === e && ((r = !0), e.removeEventListener(i, a), _(t));
144
- };
145
- e.addEventListener(i, a),
146
- setTimeout(() => {
147
- r || o(e);
148
- }, s);
149
- },
150
- v = (t, e, i, n) => {
151
- const s = t.length;
152
- let o = t.indexOf(e);
153
- return -1 === o
154
- ? !i && n
155
- ? t[s - 1]
156
- : t[0]
157
- : ((o += i ? 1 : -1),
158
- n && (o = (o + s) % s),
159
- t[Math.max(0, Math.min(o, s - 1))]);
160
- },
161
- y = /[^.]*(?=\..*)\.|.*/,
162
- w = /\..*/,
163
- A = /::\d+$/,
164
- E = {};
165
- let T = 1;
166
- const C = { mouseenter: "mouseover", mouseleave: "mouseout" },
167
- O = new Set([
168
- "click",
169
- "dblclick",
170
- "mouseup",
171
- "mousedown",
172
- "contextmenu",
173
- "mousewheel",
174
- "DOMMouseScroll",
175
- "mouseover",
176
- "mouseout",
177
- "mousemove",
178
- "selectstart",
179
- "selectend",
180
- "keydown",
181
- "keypress",
182
- "keyup",
183
- "orientationchange",
184
- "touchstart",
185
- "touchmove",
186
- "touchend",
187
- "touchcancel",
188
- "pointerdown",
189
- "pointermove",
190
- "pointerup",
191
- "pointerleave",
192
- "pointercancel",
193
- "gesturestart",
194
- "gesturechange",
195
- "gestureend",
196
- "focus",
197
- "blur",
198
- "change",
199
- "reset",
200
- "select",
201
- "submit",
202
- "focusin",
203
- "focusout",
204
- "load",
205
- "unload",
206
- "beforeunload",
207
- "resize",
208
- "move",
209
- "DOMContentLoaded",
210
- "readystatechange",
211
- "error",
212
- "abort",
213
- "scroll",
214
- ]);
215
- function x(t, e) {
216
- return (e && `${e}::${T++}`) || t.uidEvent || T++;
217
- }
218
- function k(t) {
219
- const e = x(t);
220
- return (t.uidEvent = e), (E[e] = E[e] || {}), E[e];
221
- }
222
- function L(t, e, i = null) {
223
- return Object.values(t).find(
224
- (t) => t.callable === e && t.delegationSelector === i,
225
- );
226
- }
227
- function S(t, e, i) {
228
- const n = "string" == typeof e,
229
- s = n ? i : e || i;
230
- let o = N(t);
231
- return O.has(o) || (o = t), [n, s, o];
232
- }
233
- function D(t, e, i, n, s) {
234
- if ("string" != typeof e || !t) return;
235
- let [o, r, a] = S(e, i, n);
236
- if (e in C) {
237
- const t = (t) =>
238
- function (e) {
239
- if (
240
- !e.relatedTarget ||
241
- (e.relatedTarget !== e.delegateTarget &&
242
- !e.delegateTarget.contains(e.relatedTarget))
243
- )
244
- return t.call(this, e);
245
- };
246
- r = t(r);
247
- }
248
- const l = k(t),
249
- c = l[a] || (l[a] = {}),
250
- h = L(c, r, o ? i : null);
251
- if (h) return void (h.oneOff = h.oneOff && s);
252
- const d = x(r, e.replace(y, "")),
253
- u = o
254
- ? (function (t, e, i) {
255
- return function n(s) {
256
- const o = t.querySelectorAll(e);
257
- for (let { target: r } = s; r && r !== this; r = r.parentNode)
258
- for (const a of o)
259
- if (a === r)
260
- return (
261
- j(s, { delegateTarget: r }),
262
- n.oneOff && P.off(t, s.type, e, i),
263
- i.apply(r, [s])
264
- );
265
- };
266
- })(t, i, r)
267
- : (function (t, e) {
268
- return function i(n) {
269
- return (
270
- j(n, { delegateTarget: t }),
271
- i.oneOff && P.off(t, n.type, e),
272
- e.apply(t, [n])
273
- );
274
- };
275
- })(t, r);
276
- (u.delegationSelector = o ? i : null),
277
- (u.callable = r),
278
- (u.oneOff = s),
279
- (u.uidEvent = d),
280
- (c[d] = u),
281
- t.addEventListener(a, u, o);
282
- }
283
- function $(t, e, i, n, s) {
284
- const o = L(e[i], n, s);
285
- o && (t.removeEventListener(i, o, Boolean(s)), delete e[i][o.uidEvent]);
286
- }
287
- function I(t, e, i, n) {
288
- const s = e[i] || {};
289
- for (const [o, r] of Object.entries(s))
290
- o.includes(n) && $(t, e, i, r.callable, r.delegationSelector);
291
- }
292
- function N(t) {
293
- return (t = t.replace(w, "")), C[t] || t;
294
- }
295
- const P = {
296
- on(t, e, i, n) {
297
- D(t, e, i, n, !1);
298
- },
299
- one(t, e, i, n) {
300
- D(t, e, i, n, !0);
301
- },
302
- off(t, e, i, n) {
303
- if ("string" != typeof e || !t) return;
304
- const [s, o, r] = S(e, i, n),
305
- a = r !== e,
306
- l = k(t),
307
- c = l[r] || {},
308
- h = e.startsWith(".");
309
- if (void 0 === o) {
310
- if (h) for (const i of Object.keys(l)) I(t, l, i, e.slice(1));
311
- for (const [i, n] of Object.entries(c)) {
312
- const s = i.replace(A, "");
313
- (a && !e.includes(s)) || $(t, l, r, n.callable, n.delegationSelector);
314
- }
315
- } else {
316
- if (!Object.keys(c).length) return;
317
- $(t, l, r, o, s ? i : null);
318
- }
319
- },
320
- trigger(t, e, i) {
321
- if ("string" != typeof e || !t) return null;
322
- const n = f();
323
- let s = null,
324
- o = !0,
325
- r = !0,
326
- a = !1;
327
- e !== N(e) &&
328
- n &&
329
- ((s = n.Event(e, i)),
330
- n(t).trigger(s),
331
- (o = !s.isPropagationStopped()),
332
- (r = !s.isImmediatePropagationStopped()),
333
- (a = s.isDefaultPrevented()));
334
- const l = j(new Event(e, { bubbles: o, cancelable: !0 }), i);
335
- return (
336
- a && l.preventDefault(),
337
- r && t.dispatchEvent(l),
338
- l.defaultPrevented && s && s.preventDefault(),
339
- l
340
- );
341
- },
342
- };
343
- function j(t, e = {}) {
344
- for (const [i, n] of Object.entries(e))
345
- try {
346
- t[i] = n;
347
- } catch (e) {
348
- Object.defineProperty(t, i, { configurable: !0, get: () => n });
349
- }
350
- return t;
351
- }
352
- function M(t) {
353
- if ("true" === t) return !0;
354
- if ("false" === t) return !1;
355
- if (t === Number(t).toString()) return Number(t);
356
- if ("" === t || "null" === t) return null;
357
- if ("string" != typeof t) return t;
358
- try {
359
- return JSON.parse(decodeURIComponent(t));
360
- } catch (e) {
361
- return t;
362
- }
363
- }
364
- function F(t) {
365
- return t.replace(/[A-Z]/g, (t) => `-${t.toLowerCase()}`);
366
- }
367
- const H = {
368
- setDataAttribute(t, e, i) {
369
- t.setAttribute(`data-bs-${F(e)}`, i);
370
- },
371
- removeDataAttribute(t, e) {
372
- t.removeAttribute(`data-bs-${F(e)}`);
373
- },
374
- getDataAttributes(t) {
375
- if (!t) return {};
376
- const e = {},
377
- i = Object.keys(t.dataset).filter(
378
- (t) => t.startsWith("bs") && !t.startsWith("bsConfig"),
379
- );
380
- for (const n of i) {
381
- let i = n.replace(/^bs/, "");
382
- (i = i.charAt(0).toLowerCase() + i.slice(1)), (e[i] = M(t.dataset[n]));
383
- }
384
- return e;
385
- },
386
- getDataAttribute: (t, e) => M(t.getAttribute(`data-bs-${F(e)}`)),
387
- };
388
- class W {
389
- static get Default() {
390
- return {};
391
- }
392
- static get DefaultType() {
393
- return {};
394
- }
395
- static get NAME() {
396
- throw new Error(
397
- 'You have to implement the static method "NAME", for each component!',
398
- );
399
- }
400
- _getConfig(t) {
401
- return (
402
- (t = this._mergeConfigObj(t)),
403
- (t = this._configAfterMerge(t)),
404
- this._typeCheckConfig(t),
405
- t
406
- );
407
- }
408
- _configAfterMerge(t) {
409
- return t;
410
- }
411
- _mergeConfigObj(t, e) {
412
- const i = r(e) ? H.getDataAttribute(e, "config") : {};
413
- return {
414
- ...this.constructor.Default,
415
- ...("object" == typeof i ? i : {}),
416
- ...(r(e) ? H.getDataAttributes(e) : {}),
417
- ...("object" == typeof t ? t : {}),
418
- };
419
- }
420
- _typeCheckConfig(t, e = this.constructor.DefaultType) {
421
- for (const [i, n] of Object.entries(e)) {
422
- const e = t[i],
423
- o = r(e) ? "element" : s(e);
424
- if (!new RegExp(n).test(o))
425
- throw new TypeError(
426
- `${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${o}" but expected type "${n}".`,
427
- );
428
- }
429
- }
430
- }
431
- class B extends W {
432
- constructor(t, i) {
433
- super(),
434
- (t = a(t)) &&
435
- ((this._element = t),
436
- (this._config = this._getConfig(i)),
437
- e.set(this._element, this.constructor.DATA_KEY, this));
438
- }
439
- dispose() {
440
- e.remove(this._element, this.constructor.DATA_KEY),
441
- P.off(this._element, this.constructor.EVENT_KEY);
442
- for (const t of Object.getOwnPropertyNames(this)) this[t] = null;
443
- }
444
- _queueCallback(t, e, i = !0) {
445
- b(t, e, i);
446
- }
447
- _getConfig(t) {
448
- return (
449
- (t = this._mergeConfigObj(t, this._element)),
450
- (t = this._configAfterMerge(t)),
451
- this._typeCheckConfig(t),
452
- t
453
- );
454
- }
455
- static getInstance(t) {
456
- return e.get(a(t), this.DATA_KEY);
457
- }
458
- static getOrCreateInstance(t, e = {}) {
459
- return (
460
- this.getInstance(t) || new this(t, "object" == typeof e ? e : null)
461
- );
462
- }
463
- static get VERSION() {
464
- return "5.3.8";
465
- }
466
- static get DATA_KEY() {
467
- return `bs.${this.NAME}`;
468
- }
469
- static get EVENT_KEY() {
470
- return `.${this.DATA_KEY}`;
471
- }
472
- static eventName(t) {
473
- return `${t}${this.EVENT_KEY}`;
474
- }
475
- }
476
- const z = (t) => {
477
- let e = t.getAttribute("data-bs-target");
478
- if (!e || "#" === e) {
479
- let i = t.getAttribute("href");
480
- if (!i || (!i.includes("#") && !i.startsWith("."))) return null;
481
- i.includes("#") && !i.startsWith("#") && (i = `#${i.split("#")[1]}`),
482
- (e = i && "#" !== i ? i.trim() : null);
483
- }
484
- return e
485
- ? e
486
- .split(",")
487
- .map((t) => n(t))
488
- .join(",")
489
- : null;
490
- },
491
- R = {
492
- find: (t, e = document.documentElement) =>
493
- [].concat(...Element.prototype.querySelectorAll.call(e, t)),
494
- findOne: (t, e = document.documentElement) =>
495
- Element.prototype.querySelector.call(e, t),
496
- children: (t, e) => [].concat(...t.children).filter((t) => t.matches(e)),
497
- parents(t, e) {
498
- const i = [];
499
- let n = t.parentNode.closest(e);
500
- for (; n; ) i.push(n), (n = n.parentNode.closest(e));
501
- return i;
502
- },
503
- prev(t, e) {
504
- let i = t.previousElementSibling;
505
- for (; i; ) {
506
- if (i.matches(e)) return [i];
507
- i = i.previousElementSibling;
508
- }
509
- return [];
510
- },
511
- next(t, e) {
512
- let i = t.nextElementSibling;
513
- for (; i; ) {
514
- if (i.matches(e)) return [i];
515
- i = i.nextElementSibling;
516
- }
517
- return [];
518
- },
519
- focusableChildren(t) {
520
- const e = [
521
- "a",
522
- "button",
523
- "input",
524
- "textarea",
525
- "select",
526
- "details",
527
- "[tabindex]",
528
- '[contenteditable="true"]',
529
- ]
530
- .map((t) => `${t}:not([tabindex^="-"])`)
531
- .join(",");
532
- return this.find(e, t).filter((t) => !c(t) && l(t));
533
- },
534
- getSelectorFromElement(t) {
535
- const e = z(t);
536
- return e && R.findOne(e) ? e : null;
537
- },
538
- getElementFromSelector(t) {
539
- const e = z(t);
540
- return e ? R.findOne(e) : null;
541
- },
542
- getMultipleElementsFromSelector(t) {
543
- const e = z(t);
544
- return e ? R.find(e) : [];
545
- },
546
- },
547
- q = (t, e = "hide") => {
548
- const i = `click.dismiss${t.EVENT_KEY}`,
549
- n = t.NAME;
550
- P.on(document, i, `[data-bs-dismiss="${n}"]`, function (i) {
551
- if (
552
- (["A", "AREA"].includes(this.tagName) && i.preventDefault(), c(this))
553
- )
554
- return;
555
- const s = R.getElementFromSelector(this) || this.closest(`.${n}`);
556
- t.getOrCreateInstance(s)[e]();
557
- });
558
- },
559
- V = ".bs.alert",
560
- K = `close${V}`,
561
- Q = `closed${V}`;
562
- class X extends B {
563
- static get NAME() {
564
- return "alert";
565
- }
566
- close() {
567
- if (P.trigger(this._element, K).defaultPrevented) return;
568
- this._element.classList.remove("show");
569
- const t = this._element.classList.contains("fade");
570
- this._queueCallback(() => this._destroyElement(), this._element, t);
571
- }
572
- _destroyElement() {
573
- this._element.remove(), P.trigger(this._element, Q), this.dispose();
574
- }
575
- static jQueryInterface(t) {
576
- return this.each(function () {
577
- const e = X.getOrCreateInstance(this);
578
- if ("string" == typeof t) {
579
- if (void 0 === e[t] || t.startsWith("_") || "constructor" === t)
580
- throw new TypeError(`No method named "${t}"`);
581
- e[t](this);
582
- }
583
- });
584
- }
585
- }
586
- q(X, "close"), g(X);
587
- const Y = '[data-bs-toggle="button"]';
588
- class U extends B {
589
- static get NAME() {
590
- return "button";
591
- }
592
- toggle() {
593
- this._element.setAttribute(
594
- "aria-pressed",
595
- this._element.classList.toggle("active"),
596
- );
597
- }
598
- static jQueryInterface(t) {
599
- return this.each(function () {
600
- const e = U.getOrCreateInstance(this);
601
- "toggle" === t && e[t]();
602
- });
603
- }
604
- }
605
- P.on(document, "click.bs.button.data-api", Y, (t) => {
606
- t.preventDefault();
607
- const e = t.target.closest(Y);
608
- U.getOrCreateInstance(e).toggle();
609
- }),
610
- g(U);
611
- const G = ".bs.swipe",
612
- J = `touchstart${G}`,
613
- Z = `touchmove${G}`,
614
- tt = `touchend${G}`,
615
- et = `pointerdown${G}`,
616
- it = `pointerup${G}`,
617
- nt = { endCallback: null, leftCallback: null, rightCallback: null },
618
- st = {
619
- endCallback: "(function|null)",
620
- leftCallback: "(function|null)",
621
- rightCallback: "(function|null)",
622
- };
623
- class ot extends W {
624
- constructor(t, e) {
625
- super(),
626
- (this._element = t),
627
- t &&
628
- ot.isSupported() &&
629
- ((this._config = this._getConfig(e)),
630
- (this._deltaX = 0),
631
- (this._supportPointerEvents = Boolean(window.PointerEvent)),
632
- this._initEvents());
633
- }
634
- static get Default() {
635
- return nt;
636
- }
637
- static get DefaultType() {
638
- return st;
639
- }
640
- static get NAME() {
641
- return "swipe";
642
- }
643
- dispose() {
644
- P.off(this._element, G);
645
- }
646
- _start(t) {
647
- this._supportPointerEvents
648
- ? this._eventIsPointerPenTouch(t) && (this._deltaX = t.clientX)
649
- : (this._deltaX = t.touches[0].clientX);
650
- }
651
- _end(t) {
652
- this._eventIsPointerPenTouch(t) &&
653
- (this._deltaX = t.clientX - this._deltaX),
654
- this._handleSwipe(),
655
- _(this._config.endCallback);
656
- }
657
- _move(t) {
658
- this._deltaX =
659
- t.touches && t.touches.length > 1
660
- ? 0
661
- : t.touches[0].clientX - this._deltaX;
662
- }
663
- _handleSwipe() {
664
- const t = Math.abs(this._deltaX);
665
- if (t <= 40) return;
666
- const e = t / this._deltaX;
667
- (this._deltaX = 0),
668
- e && _(e > 0 ? this._config.rightCallback : this._config.leftCallback);
669
- }
670
- _initEvents() {
671
- this._supportPointerEvents
672
- ? (P.on(this._element, et, (t) => this._start(t)),
673
- P.on(this._element, it, (t) => this._end(t)),
674
- this._element.classList.add("pointer-event"))
675
- : (P.on(this._element, J, (t) => this._start(t)),
676
- P.on(this._element, Z, (t) => this._move(t)),
677
- P.on(this._element, tt, (t) => this._end(t)));
678
- }
679
- _eventIsPointerPenTouch(t) {
680
- return (
681
- this._supportPointerEvents &&
682
- ("pen" === t.pointerType || "touch" === t.pointerType)
683
- );
684
- }
685
- static isSupported() {
686
- return (
687
- "ontouchstart" in document.documentElement ||
688
- navigator.maxTouchPoints > 0
689
- );
690
- }
691
- }
692
- const rt = ".bs.carousel",
693
- at = ".data-api",
694
- lt = "ArrowLeft",
695
- ct = "ArrowRight",
696
- ht = "next",
697
- dt = "prev",
698
- ut = "left",
699
- ft = "right",
700
- pt = `slide${rt}`,
701
- mt = `slid${rt}`,
702
- gt = `keydown${rt}`,
703
- _t = `mouseenter${rt}`,
704
- bt = `mouseleave${rt}`,
705
- vt = `dragstart${rt}`,
706
- yt = `load${rt}${at}`,
707
- wt = `click${rt}${at}`,
708
- At = "carousel",
709
- Et = "active",
710
- Tt = ".active",
711
- Ct = ".carousel-item",
712
- Ot = Tt + Ct,
713
- xt = { [lt]: ft, [ct]: ut },
714
- kt = {
715
- interval: 5e3,
716
- keyboard: !0,
717
- pause: "hover",
718
- ride: !1,
719
- touch: !0,
720
- wrap: !0,
721
- },
722
- Lt = {
723
- interval: "(number|boolean)",
724
- keyboard: "boolean",
725
- pause: "(string|boolean)",
726
- ride: "(boolean|string)",
727
- touch: "boolean",
728
- wrap: "boolean",
729
- };
730
- class St extends B {
731
- constructor(t, e) {
732
- super(t, e),
733
- (this._interval = null),
734
- (this._activeElement = null),
735
- (this._isSliding = !1),
736
- (this.touchTimeout = null),
737
- (this._swipeHelper = null),
738
- (this._indicatorsElement = R.findOne(
739
- ".carousel-indicators",
740
- this._element,
741
- )),
742
- this._addEventListeners(),
743
- this._config.ride === At && this.cycle();
744
- }
745
- static get Default() {
746
- return kt;
747
- }
748
- static get DefaultType() {
749
- return Lt;
750
- }
751
- static get NAME() {
752
- return "carousel";
753
- }
754
- next() {
755
- this._slide(ht);
756
- }
757
- nextWhenVisible() {
758
- !document.hidden && l(this._element) && this.next();
759
- }
760
- prev() {
761
- this._slide(dt);
762
- }
763
- pause() {
764
- this._isSliding && o(this._element), this._clearInterval();
765
- }
766
- cycle() {
767
- this._clearInterval(),
768
- this._updateInterval(),
769
- (this._interval = setInterval(
770
- () => this.nextWhenVisible(),
771
- this._config.interval,
772
- ));
773
- }
774
- _maybeEnableCycle() {
775
- this._config.ride &&
776
- (this._isSliding
777
- ? P.one(this._element, mt, () => this.cycle())
778
- : this.cycle());
779
- }
780
- to(t) {
781
- const e = this._getItems();
782
- if (t > e.length - 1 || t < 0) return;
783
- if (this._isSliding)
784
- return void P.one(this._element, mt, () => this.to(t));
785
- const i = this._getItemIndex(this._getActive());
786
- if (i === t) return;
787
- const n = t > i ? ht : dt;
788
- this._slide(n, e[t]);
789
- }
790
- dispose() {
791
- this._swipeHelper && this._swipeHelper.dispose(), super.dispose();
792
- }
793
- _configAfterMerge(t) {
794
- return (t.defaultInterval = t.interval), t;
795
- }
796
- _addEventListeners() {
797
- this._config.keyboard && P.on(this._element, gt, (t) => this._keydown(t)),
798
- "hover" === this._config.pause &&
799
- (P.on(this._element, _t, () => this.pause()),
800
- P.on(this._element, bt, () => this._maybeEnableCycle())),
801
- this._config.touch &&
802
- ot.isSupported() &&
803
- this._addTouchEventListeners();
804
- }
805
- _addTouchEventListeners() {
806
- for (const t of R.find(".carousel-item img", this._element))
807
- P.on(t, vt, (t) => t.preventDefault());
808
- const t = {
809
- leftCallback: () => this._slide(this._directionToOrder(ut)),
810
- rightCallback: () => this._slide(this._directionToOrder(ft)),
811
- endCallback: () => {
812
- "hover" === this._config.pause &&
813
- (this.pause(),
814
- this.touchTimeout && clearTimeout(this.touchTimeout),
815
- (this.touchTimeout = setTimeout(
816
- () => this._maybeEnableCycle(),
817
- 500 + this._config.interval,
818
- )));
819
- },
820
- };
821
- this._swipeHelper = new ot(this._element, t);
822
- }
823
- _keydown(t) {
824
- if (/input|textarea/i.test(t.target.tagName)) return;
825
- const e = xt[t.key];
826
- e && (t.preventDefault(), this._slide(this._directionToOrder(e)));
827
- }
828
- _getItemIndex(t) {
829
- return this._getItems().indexOf(t);
830
- }
831
- _setActiveIndicatorElement(t) {
832
- if (!this._indicatorsElement) return;
833
- const e = R.findOne(Tt, this._indicatorsElement);
834
- e.classList.remove(Et), e.removeAttribute("aria-current");
835
- const i = R.findOne(`[data-bs-slide-to="${t}"]`, this._indicatorsElement);
836
- i && (i.classList.add(Et), i.setAttribute("aria-current", "true"));
837
- }
838
- _updateInterval() {
839
- const t = this._activeElement || this._getActive();
840
- if (!t) return;
841
- const e = Number.parseInt(t.getAttribute("data-bs-interval"), 10);
842
- this._config.interval = e || this._config.defaultInterval;
843
- }
844
- _slide(t, e = null) {
845
- if (this._isSliding) return;
846
- const i = this._getActive(),
847
- n = t === ht,
848
- s = e || v(this._getItems(), i, n, this._config.wrap);
849
- if (s === i) return;
850
- const o = this._getItemIndex(s),
851
- r = (e) =>
852
- P.trigger(this._element, e, {
853
- relatedTarget: s,
854
- direction: this._orderToDirection(t),
855
- from: this._getItemIndex(i),
856
- to: o,
857
- });
858
- if (r(pt).defaultPrevented) return;
859
- if (!i || !s) return;
860
- const a = Boolean(this._interval);
861
- this.pause(),
862
- (this._isSliding = !0),
863
- this._setActiveIndicatorElement(o),
864
- (this._activeElement = s);
865
- const l = n ? "carousel-item-start" : "carousel-item-end",
866
- c = n ? "carousel-item-next" : "carousel-item-prev";
867
- s.classList.add(c),
868
- u(s),
869
- i.classList.add(l),
870
- s.classList.add(l),
871
- this._queueCallback(
872
- () => {
873
- s.classList.remove(l, c),
874
- s.classList.add(Et),
875
- i.classList.remove(Et, c, l),
876
- (this._isSliding = !1),
877
- r(mt);
878
- },
879
- i,
880
- this._isAnimated(),
881
- ),
882
- a && this.cycle();
883
- }
884
- _isAnimated() {
885
- return this._element.classList.contains("slide");
886
- }
887
- _getActive() {
888
- return R.findOne(Ot, this._element);
889
- }
890
- _getItems() {
891
- return R.find(Ct, this._element);
892
- }
893
- _clearInterval() {
894
- this._interval &&
895
- (clearInterval(this._interval), (this._interval = null));
896
- }
897
- _directionToOrder(t) {
898
- return m() ? (t === ut ? dt : ht) : t === ut ? ht : dt;
899
- }
900
- _orderToDirection(t) {
901
- return m() ? (t === dt ? ut : ft) : t === dt ? ft : ut;
902
- }
903
- static jQueryInterface(t) {
904
- return this.each(function () {
905
- const e = St.getOrCreateInstance(this, t);
906
- if ("number" != typeof t) {
907
- if ("string" == typeof t) {
908
- if (void 0 === e[t] || t.startsWith("_") || "constructor" === t)
909
- throw new TypeError(`No method named "${t}"`);
910
- e[t]();
911
- }
912
- } else e.to(t);
913
- });
914
- }
915
- }
916
- P.on(document, wt, "[data-bs-slide], [data-bs-slide-to]", function (t) {
917
- const e = R.getElementFromSelector(this);
918
- if (!e || !e.classList.contains(At)) return;
919
- t.preventDefault();
920
- const i = St.getOrCreateInstance(e),
921
- n = this.getAttribute("data-bs-slide-to");
922
- return n
923
- ? (i.to(n), void i._maybeEnableCycle())
924
- : "next" === H.getDataAttribute(this, "slide")
925
- ? (i.next(), void i._maybeEnableCycle())
926
- : (i.prev(), void i._maybeEnableCycle());
927
- }),
928
- P.on(window, yt, () => {
929
- const t = R.find('[data-bs-ride="carousel"]');
930
- for (const e of t) St.getOrCreateInstance(e);
931
- }),
932
- g(St);
933
- const Dt = ".bs.collapse",
934
- $t = `show${Dt}`,
935
- It = `shown${Dt}`,
936
- Nt = `hide${Dt}`,
937
- Pt = `hidden${Dt}`,
938
- jt = `click${Dt}.data-api`,
939
- Mt = "show",
940
- Ft = "collapse",
941
- Ht = "collapsing",
942
- Wt = `:scope .${Ft} .${Ft}`,
943
- Bt = '[data-bs-toggle="collapse"]',
944
- zt = { parent: null, toggle: !0 },
945
- Rt = { parent: "(null|element)", toggle: "boolean" };
946
- class qt extends B {
947
- constructor(t, e) {
948
- super(t, e), (this._isTransitioning = !1), (this._triggerArray = []);
949
- const i = R.find(Bt);
950
- for (const t of i) {
951
- const e = R.getSelectorFromElement(t),
952
- i = R.find(e).filter((t) => t === this._element);
953
- null !== e && i.length && this._triggerArray.push(t);
954
- }
955
- this._initializeChildren(),
956
- this._config.parent ||
957
- this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()),
958
- this._config.toggle && this.toggle();
959
- }
960
- static get Default() {
961
- return zt;
962
- }
963
- static get DefaultType() {
964
- return Rt;
965
- }
966
- static get NAME() {
967
- return "collapse";
968
- }
969
- toggle() {
970
- this._isShown() ? this.hide() : this.show();
971
- }
972
- show() {
973
- if (this._isTransitioning || this._isShown()) return;
974
- let t = [];
975
- if (
976
- (this._config.parent &&
977
- (t = this._getFirstLevelChildren(
978
- ".collapse.show, .collapse.collapsing",
979
- )
980
- .filter((t) => t !== this._element)
981
- .map((t) => qt.getOrCreateInstance(t, { toggle: !1 }))),
982
- t.length && t[0]._isTransitioning)
983
- )
984
- return;
985
- if (P.trigger(this._element, $t).defaultPrevented) return;
986
- for (const e of t) e.hide();
987
- const e = this._getDimension();
988
- this._element.classList.remove(Ft),
989
- this._element.classList.add(Ht),
990
- (this._element.style[e] = 0),
991
- this._addAriaAndCollapsedClass(this._triggerArray, !0),
992
- (this._isTransitioning = !0);
993
- const i = `scroll${e[0].toUpperCase() + e.slice(1)}`;
994
- this._queueCallback(
995
- () => {
996
- (this._isTransitioning = !1),
997
- this._element.classList.remove(Ht),
998
- this._element.classList.add(Ft, Mt),
999
- (this._element.style[e] = ""),
1000
- P.trigger(this._element, It);
1001
- },
1002
- this._element,
1003
- !0,
1004
- ),
1005
- (this._element.style[e] = `${this._element[i]}px`);
1006
- }
1007
- hide() {
1008
- if (this._isTransitioning || !this._isShown()) return;
1009
- if (P.trigger(this._element, Nt).defaultPrevented) return;
1010
- const t = this._getDimension();
1011
- (this._element.style[t] =
1012
- `${this._element.getBoundingClientRect()[t]}px`),
1013
- u(this._element),
1014
- this._element.classList.add(Ht),
1015
- this._element.classList.remove(Ft, Mt);
1016
- for (const t of this._triggerArray) {
1017
- const e = R.getElementFromSelector(t);
1018
- e && !this._isShown(e) && this._addAriaAndCollapsedClass([t], !1);
1019
- }
1020
- (this._isTransitioning = !0),
1021
- (this._element.style[t] = ""),
1022
- this._queueCallback(
1023
- () => {
1024
- (this._isTransitioning = !1),
1025
- this._element.classList.remove(Ht),
1026
- this._element.classList.add(Ft),
1027
- P.trigger(this._element, Pt);
1028
- },
1029
- this._element,
1030
- !0,
1031
- );
1032
- }
1033
- _isShown(t = this._element) {
1034
- return t.classList.contains(Mt);
1035
- }
1036
- _configAfterMerge(t) {
1037
- return (t.toggle = Boolean(t.toggle)), (t.parent = a(t.parent)), t;
1038
- }
1039
- _getDimension() {
1040
- return this._element.classList.contains("collapse-horizontal")
1041
- ? "width"
1042
- : "height";
1043
- }
1044
- _initializeChildren() {
1045
- if (!this._config.parent) return;
1046
- const t = this._getFirstLevelChildren(Bt);
1047
- for (const e of t) {
1048
- const t = R.getElementFromSelector(e);
1049
- t && this._addAriaAndCollapsedClass([e], this._isShown(t));
1050
- }
1051
- }
1052
- _getFirstLevelChildren(t) {
1053
- const e = R.find(Wt, this._config.parent);
1054
- return R.find(t, this._config.parent).filter((t) => !e.includes(t));
1055
- }
1056
- _addAriaAndCollapsedClass(t, e) {
1057
- if (t.length)
1058
- for (const i of t)
1059
- i.classList.toggle("collapsed", !e),
1060
- i.setAttribute("aria-expanded", e);
1061
- }
1062
- static jQueryInterface(t) {
1063
- const e = {};
1064
- return (
1065
- "string" == typeof t && /show|hide/.test(t) && (e.toggle = !1),
1066
- this.each(function () {
1067
- const i = qt.getOrCreateInstance(this, e);
1068
- if ("string" == typeof t) {
1069
- if (void 0 === i[t]) throw new TypeError(`No method named "${t}"`);
1070
- i[t]();
1071
- }
1072
- })
1073
- );
1074
- }
1075
- }
1076
- P.on(document, jt, Bt, function (t) {
1077
- ("A" === t.target.tagName ||
1078
- (t.delegateTarget && "A" === t.delegateTarget.tagName)) &&
1079
- t.preventDefault();
1080
- for (const t of R.getMultipleElementsFromSelector(this))
1081
- qt.getOrCreateInstance(t, { toggle: !1 }).toggle();
1082
- }),
1083
- g(qt);
1084
- var Vt = "top",
1085
- Kt = "bottom",
1086
- Qt = "right",
1087
- Xt = "left",
1088
- Yt = "auto",
1089
- Ut = [Vt, Kt, Qt, Xt],
1090
- Gt = "start",
1091
- Jt = "end",
1092
- Zt = "clippingParents",
1093
- te = "viewport",
1094
- ee = "popper",
1095
- ie = "reference",
1096
- ne = Ut.reduce(function (t, e) {
1097
- return t.concat([e + "-" + Gt, e + "-" + Jt]);
1098
- }, []),
1099
- se = [].concat(Ut, [Yt]).reduce(function (t, e) {
1100
- return t.concat([e, e + "-" + Gt, e + "-" + Jt]);
1101
- }, []),
1102
- oe = "beforeRead",
1103
- re = "read",
1104
- ae = "afterRead",
1105
- le = "beforeMain",
1106
- ce = "main",
1107
- he = "afterMain",
1108
- de = "beforeWrite",
1109
- ue = "write",
1110
- fe = "afterWrite",
1111
- pe = [oe, re, ae, le, ce, he, de, ue, fe];
1112
- function me(t) {
1113
- return t ? (t.nodeName || "").toLowerCase() : null;
1114
- }
1115
- function ge(t) {
1116
- if (null == t) return window;
1117
- if ("[object Window]" !== t.toString()) {
1118
- var e = t.ownerDocument;
1119
- return (e && e.defaultView) || window;
1120
- }
1121
- return t;
1122
- }
1123
- function _e(t) {
1124
- return t instanceof ge(t).Element || t instanceof Element;
1125
- }
1126
- function be(t) {
1127
- return t instanceof ge(t).HTMLElement || t instanceof HTMLElement;
1128
- }
1129
- function ve(t) {
1130
- return (
1131
- "undefined" != typeof ShadowRoot &&
1132
- (t instanceof ge(t).ShadowRoot || t instanceof ShadowRoot)
1133
- );
1134
- }
1135
- const ye = {
1136
- name: "applyStyles",
1137
- enabled: !0,
1138
- phase: "write",
1139
- fn: function (t) {
1140
- var e = t.state;
1141
- Object.keys(e.elements).forEach(function (t) {
1142
- var i = e.styles[t] || {},
1143
- n = e.attributes[t] || {},
1144
- s = e.elements[t];
1145
- be(s) &&
1146
- me(s) &&
1147
- (Object.assign(s.style, i),
1148
- Object.keys(n).forEach(function (t) {
1149
- var e = n[t];
1150
- !1 === e
1151
- ? s.removeAttribute(t)
1152
- : s.setAttribute(t, !0 === e ? "" : e);
1153
- }));
1154
- });
1155
- },
1156
- effect: function (t) {
1157
- var e = t.state,
1158
- i = {
1159
- popper: {
1160
- position: e.options.strategy,
1161
- left: "0",
1162
- top: "0",
1163
- margin: "0",
1164
- },
1165
- arrow: { position: "absolute" },
1166
- reference: {},
1167
- };
1168
- return (
1169
- Object.assign(e.elements.popper.style, i.popper),
1170
- (e.styles = i),
1171
- e.elements.arrow && Object.assign(e.elements.arrow.style, i.arrow),
1172
- function () {
1173
- Object.keys(e.elements).forEach(function (t) {
1174
- var n = e.elements[t],
1175
- s = e.attributes[t] || {},
1176
- o = Object.keys(
1177
- e.styles.hasOwnProperty(t) ? e.styles[t] : i[t],
1178
- ).reduce(function (t, e) {
1179
- return (t[e] = ""), t;
1180
- }, {});
1181
- be(n) &&
1182
- me(n) &&
1183
- (Object.assign(n.style, o),
1184
- Object.keys(s).forEach(function (t) {
1185
- n.removeAttribute(t);
1186
- }));
1187
- });
1188
- }
1189
- );
1190
- },
1191
- requires: ["computeStyles"],
1192
- };
1193
- function we(t) {
1194
- return t.split("-")[0];
1195
- }
1196
- var Ae = Math.max,
1197
- Ee = Math.min,
1198
- Te = Math.round;
1199
- function Ce() {
1200
- var t = navigator.userAgentData;
1201
- return null != t && t.brands && Array.isArray(t.brands)
1202
- ? t.brands
1203
- .map(function (t) {
1204
- return t.brand + "/" + t.version;
1205
- })
1206
- .join(" ")
1207
- : navigator.userAgent;
1208
- }
1209
- function Oe() {
1210
- return !/^((?!chrome|android).)*safari/i.test(Ce());
1211
- }
1212
- function xe(t, e, i) {
1213
- void 0 === e && (e = !1), void 0 === i && (i = !1);
1214
- var n = t.getBoundingClientRect(),
1215
- s = 1,
1216
- o = 1;
1217
- e &&
1218
- be(t) &&
1219
- ((s = (t.offsetWidth > 0 && Te(n.width) / t.offsetWidth) || 1),
1220
- (o = (t.offsetHeight > 0 && Te(n.height) / t.offsetHeight) || 1));
1221
- var r = (_e(t) ? ge(t) : window).visualViewport,
1222
- a = !Oe() && i,
1223
- l = (n.left + (a && r ? r.offsetLeft : 0)) / s,
1224
- c = (n.top + (a && r ? r.offsetTop : 0)) / o,
1225
- h = n.width / s,
1226
- d = n.height / o;
1227
- return {
1228
- width: h,
1229
- height: d,
1230
- top: c,
1231
- right: l + h,
1232
- bottom: c + d,
1233
- left: l,
1234
- x: l,
1235
- y: c,
1236
- };
1237
- }
1238
- function ke(t) {
1239
- var e = xe(t),
1240
- i = t.offsetWidth,
1241
- n = t.offsetHeight;
1242
- return (
1243
- Math.abs(e.width - i) <= 1 && (i = e.width),
1244
- Math.abs(e.height - n) <= 1 && (n = e.height),
1245
- { x: t.offsetLeft, y: t.offsetTop, width: i, height: n }
1246
- );
1247
- }
1248
- function Le(t, e) {
1249
- var i = e.getRootNode && e.getRootNode();
1250
- if (t.contains(e)) return !0;
1251
- if (i && ve(i)) {
1252
- var n = e;
1253
- do {
1254
- if (n && t.isSameNode(n)) return !0;
1255
- n = n.parentNode || n.host;
1256
- } while (n);
1257
- }
1258
- return !1;
1259
- }
1260
- function Se(t) {
1261
- return ge(t).getComputedStyle(t);
1262
- }
1263
- function De(t) {
1264
- return ["table", "td", "th"].indexOf(me(t)) >= 0;
1265
- }
1266
- function $e(t) {
1267
- return ((_e(t) ? t.ownerDocument : t.document) || window.document)
1268
- .documentElement;
1269
- }
1270
- function Ie(t) {
1271
- return "html" === me(t)
1272
- ? t
1273
- : t.assignedSlot || t.parentNode || (ve(t) ? t.host : null) || $e(t);
1274
- }
1275
- function Ne(t) {
1276
- return be(t) && "fixed" !== Se(t).position ? t.offsetParent : null;
1277
- }
1278
- function Pe(t) {
1279
- for (var e = ge(t), i = Ne(t); i && De(i) && "static" === Se(i).position; )
1280
- i = Ne(i);
1281
- return i &&
1282
- ("html" === me(i) || ("body" === me(i) && "static" === Se(i).position))
1283
- ? e
1284
- : i ||
1285
- (function (t) {
1286
- var e = /firefox/i.test(Ce());
1287
- if (/Trident/i.test(Ce()) && be(t) && "fixed" === Se(t).position)
1288
- return null;
1289
- var i = Ie(t);
1290
- for (
1291
- ve(i) && (i = i.host);
1292
- be(i) && ["html", "body"].indexOf(me(i)) < 0;
1293
-
1294
- ) {
1295
- var n = Se(i);
1296
- if (
1297
- "none" !== n.transform ||
1298
- "none" !== n.perspective ||
1299
- "paint" === n.contain ||
1300
- -1 !== ["transform", "perspective"].indexOf(n.willChange) ||
1301
- (e && "filter" === n.willChange) ||
1302
- (e && n.filter && "none" !== n.filter)
1303
- )
1304
- return i;
1305
- i = i.parentNode;
1306
- }
1307
- return null;
1308
- })(t) ||
1309
- e;
1310
- }
1311
- function je(t) {
1312
- return ["top", "bottom"].indexOf(t) >= 0 ? "x" : "y";
1313
- }
1314
- function Me(t, e, i) {
1315
- return Ae(t, Ee(e, i));
1316
- }
1317
- function Fe(t) {
1318
- return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, t);
1319
- }
1320
- function He(t, e) {
1321
- return e.reduce(function (e, i) {
1322
- return (e[i] = t), e;
1323
- }, {});
1324
- }
1325
- const We = {
1326
- name: "arrow",
1327
- enabled: !0,
1328
- phase: "main",
1329
- fn: function (t) {
1330
- var e,
1331
- i = t.state,
1332
- n = t.name,
1333
- s = t.options,
1334
- o = i.elements.arrow,
1335
- r = i.modifiersData.popperOffsets,
1336
- a = we(i.placement),
1337
- l = je(a),
1338
- c = [Xt, Qt].indexOf(a) >= 0 ? "height" : "width";
1339
- if (o && r) {
1340
- var h = (function (t, e) {
1341
- return Fe(
1342
- "number" !=
1343
- typeof (t =
1344
- "function" == typeof t
1345
- ? t(Object.assign({}, e.rects, { placement: e.placement }))
1346
- : t)
1347
- ? t
1348
- : He(t, Ut),
1349
- );
1350
- })(s.padding, i),
1351
- d = ke(o),
1352
- u = "y" === l ? Vt : Xt,
1353
- f = "y" === l ? Kt : Qt,
1354
- p =
1355
- i.rects.reference[c] +
1356
- i.rects.reference[l] -
1357
- r[l] -
1358
- i.rects.popper[c],
1359
- m = r[l] - i.rects.reference[l],
1360
- g = Pe(o),
1361
- _ = g ? ("y" === l ? g.clientHeight || 0 : g.clientWidth || 0) : 0,
1362
- b = p / 2 - m / 2,
1363
- v = h[u],
1364
- y = _ - d[c] - h[f],
1365
- w = _ / 2 - d[c] / 2 + b,
1366
- A = Me(v, w, y),
1367
- E = l;
1368
- i.modifiersData[n] = (((e = {})[E] = A), (e.centerOffset = A - w), e);
1369
- }
1370
- },
1371
- effect: function (t) {
1372
- var e = t.state,
1373
- i = t.options.element,
1374
- n = void 0 === i ? "[data-popper-arrow]" : i;
1375
- null != n &&
1376
- ("string" != typeof n || (n = e.elements.popper.querySelector(n))) &&
1377
- Le(e.elements.popper, n) &&
1378
- (e.elements.arrow = n);
1379
- },
1380
- requires: ["popperOffsets"],
1381
- requiresIfExists: ["preventOverflow"],
1382
- };
1383
- function Be(t) {
1384
- return t.split("-")[1];
1385
- }
1386
- var ze = { top: "auto", right: "auto", bottom: "auto", left: "auto" };
1387
- function Re(t) {
1388
- var e,
1389
- i = t.popper,
1390
- n = t.popperRect,
1391
- s = t.placement,
1392
- o = t.variation,
1393
- r = t.offsets,
1394
- a = t.position,
1395
- l = t.gpuAcceleration,
1396
- c = t.adaptive,
1397
- h = t.roundOffsets,
1398
- d = t.isFixed,
1399
- u = r.x,
1400
- f = void 0 === u ? 0 : u,
1401
- p = r.y,
1402
- m = void 0 === p ? 0 : p,
1403
- g = "function" == typeof h ? h({ x: f, y: m }) : { x: f, y: m };
1404
- (f = g.x), (m = g.y);
1405
- var _ = r.hasOwnProperty("x"),
1406
- b = r.hasOwnProperty("y"),
1407
- v = Xt,
1408
- y = Vt,
1409
- w = window;
1410
- if (c) {
1411
- var A = Pe(i),
1412
- E = "clientHeight",
1413
- T = "clientWidth";
1414
- A === ge(i) &&
1415
- "static" !== Se((A = $e(i))).position &&
1416
- "absolute" === a &&
1417
- ((E = "scrollHeight"), (T = "scrollWidth")),
1418
- (s === Vt || ((s === Xt || s === Qt) && o === Jt)) &&
1419
- ((y = Kt),
1420
- (m -=
1421
- (d && A === w && w.visualViewport
1422
- ? w.visualViewport.height
1423
- : A[E]) - n.height),
1424
- (m *= l ? 1 : -1)),
1425
- (s !== Xt && ((s !== Vt && s !== Kt) || o !== Jt)) ||
1426
- ((v = Qt),
1427
- (f -=
1428
- (d && A === w && w.visualViewport ? w.visualViewport.width : A[T]) -
1429
- n.width),
1430
- (f *= l ? 1 : -1));
1431
- }
1432
- var C,
1433
- O = Object.assign({ position: a }, c && ze),
1434
- x =
1435
- !0 === h
1436
- ? (function (t, e) {
1437
- var i = t.x,
1438
- n = t.y,
1439
- s = e.devicePixelRatio || 1;
1440
- return { x: Te(i * s) / s || 0, y: Te(n * s) / s || 0 };
1441
- })({ x: f, y: m }, ge(i))
1442
- : { x: f, y: m };
1443
- return (
1444
- (f = x.x),
1445
- (m = x.y),
1446
- l
1447
- ? Object.assign(
1448
- {},
1449
- O,
1450
- (((C = {})[y] = b ? "0" : ""),
1451
- (C[v] = _ ? "0" : ""),
1452
- (C.transform =
1453
- (w.devicePixelRatio || 1) <= 1
1454
- ? "translate(" + f + "px, " + m + "px)"
1455
- : "translate3d(" + f + "px, " + m + "px, 0)"),
1456
- C),
1457
- )
1458
- : Object.assign(
1459
- {},
1460
- O,
1461
- (((e = {})[y] = b ? m + "px" : ""),
1462
- (e[v] = _ ? f + "px" : ""),
1463
- (e.transform = ""),
1464
- e),
1465
- )
1466
- );
1467
- }
1468
- const qe = {
1469
- name: "computeStyles",
1470
- enabled: !0,
1471
- phase: "beforeWrite",
1472
- fn: function (t) {
1473
- var e = t.state,
1474
- i = t.options,
1475
- n = i.gpuAcceleration,
1476
- s = void 0 === n || n,
1477
- o = i.adaptive,
1478
- r = void 0 === o || o,
1479
- a = i.roundOffsets,
1480
- l = void 0 === a || a,
1481
- c = {
1482
- placement: we(e.placement),
1483
- variation: Be(e.placement),
1484
- popper: e.elements.popper,
1485
- popperRect: e.rects.popper,
1486
- gpuAcceleration: s,
1487
- isFixed: "fixed" === e.options.strategy,
1488
- };
1489
- null != e.modifiersData.popperOffsets &&
1490
- (e.styles.popper = Object.assign(
1491
- {},
1492
- e.styles.popper,
1493
- Re(
1494
- Object.assign({}, c, {
1495
- offsets: e.modifiersData.popperOffsets,
1496
- position: e.options.strategy,
1497
- adaptive: r,
1498
- roundOffsets: l,
1499
- }),
1500
- ),
1501
- )),
1502
- null != e.modifiersData.arrow &&
1503
- (e.styles.arrow = Object.assign(
1504
- {},
1505
- e.styles.arrow,
1506
- Re(
1507
- Object.assign({}, c, {
1508
- offsets: e.modifiersData.arrow,
1509
- position: "absolute",
1510
- adaptive: !1,
1511
- roundOffsets: l,
1512
- }),
1513
- ),
1514
- )),
1515
- (e.attributes.popper = Object.assign({}, e.attributes.popper, {
1516
- "data-popper-placement": e.placement,
1517
- }));
1518
- },
1519
- data: {},
1520
- };
1521
- var Ve = { passive: !0 };
1522
- const Ke = {
1523
- name: "eventListeners",
1524
- enabled: !0,
1525
- phase: "write",
1526
- fn: function () {},
1527
- effect: function (t) {
1528
- var e = t.state,
1529
- i = t.instance,
1530
- n = t.options,
1531
- s = n.scroll,
1532
- o = void 0 === s || s,
1533
- r = n.resize,
1534
- a = void 0 === r || r,
1535
- l = ge(e.elements.popper),
1536
- c = [].concat(e.scrollParents.reference, e.scrollParents.popper);
1537
- return (
1538
- o &&
1539
- c.forEach(function (t) {
1540
- t.addEventListener("scroll", i.update, Ve);
1541
- }),
1542
- a && l.addEventListener("resize", i.update, Ve),
1543
- function () {
1544
- o &&
1545
- c.forEach(function (t) {
1546
- t.removeEventListener("scroll", i.update, Ve);
1547
- }),
1548
- a && l.removeEventListener("resize", i.update, Ve);
1549
- }
1550
- );
1551
- },
1552
- data: {},
1553
- };
1554
- var Qe = { left: "right", right: "left", bottom: "top", top: "bottom" };
1555
- function Xe(t) {
1556
- return t.replace(/left|right|bottom|top/g, function (t) {
1557
- return Qe[t];
1558
- });
1559
- }
1560
- var Ye = { start: "end", end: "start" };
1561
- function Ue(t) {
1562
- return t.replace(/start|end/g, function (t) {
1563
- return Ye[t];
1564
- });
1565
- }
1566
- function Ge(t) {
1567
- var e = ge(t);
1568
- return { scrollLeft: e.pageXOffset, scrollTop: e.pageYOffset };
1569
- }
1570
- function Je(t) {
1571
- return xe($e(t)).left + Ge(t).scrollLeft;
1572
- }
1573
- function Ze(t) {
1574
- var e = Se(t),
1575
- i = e.overflow,
1576
- n = e.overflowX,
1577
- s = e.overflowY;
1578
- return /auto|scroll|overlay|hidden/.test(i + s + n);
1579
- }
1580
- function ti(t) {
1581
- return ["html", "body", "#document"].indexOf(me(t)) >= 0
1582
- ? t.ownerDocument.body
1583
- : be(t) && Ze(t)
1584
- ? t
1585
- : ti(Ie(t));
1586
- }
1587
- function ei(t, e) {
1588
- var i;
1589
- void 0 === e && (e = []);
1590
- var n = ti(t),
1591
- s = n === (null == (i = t.ownerDocument) ? void 0 : i.body),
1592
- o = ge(n),
1593
- r = s ? [o].concat(o.visualViewport || [], Ze(n) ? n : []) : n,
1594
- a = e.concat(r);
1595
- return s ? a : a.concat(ei(Ie(r)));
1596
- }
1597
- function ii(t) {
1598
- return Object.assign({}, t, {
1599
- left: t.x,
1600
- top: t.y,
1601
- right: t.x + t.width,
1602
- bottom: t.y + t.height,
1603
- });
1604
- }
1605
- function ni(t, e, i) {
1606
- return e === te
1607
- ? ii(
1608
- (function (t, e) {
1609
- var i = ge(t),
1610
- n = $e(t),
1611
- s = i.visualViewport,
1612
- o = n.clientWidth,
1613
- r = n.clientHeight,
1614
- a = 0,
1615
- l = 0;
1616
- if (s) {
1617
- (o = s.width), (r = s.height);
1618
- var c = Oe();
1619
- (c || (!c && "fixed" === e)) &&
1620
- ((a = s.offsetLeft), (l = s.offsetTop));
1621
- }
1622
- return { width: o, height: r, x: a + Je(t), y: l };
1623
- })(t, i),
1624
- )
1625
- : _e(e)
1626
- ? (function (t, e) {
1627
- var i = xe(t, !1, "fixed" === e);
1628
- return (
1629
- (i.top = i.top + t.clientTop),
1630
- (i.left = i.left + t.clientLeft),
1631
- (i.bottom = i.top + t.clientHeight),
1632
- (i.right = i.left + t.clientWidth),
1633
- (i.width = t.clientWidth),
1634
- (i.height = t.clientHeight),
1635
- (i.x = i.left),
1636
- (i.y = i.top),
1637
- i
1638
- );
1639
- })(e, i)
1640
- : ii(
1641
- (function (t) {
1642
- var e,
1643
- i = $e(t),
1644
- n = Ge(t),
1645
- s = null == (e = t.ownerDocument) ? void 0 : e.body,
1646
- o = Ae(
1647
- i.scrollWidth,
1648
- i.clientWidth,
1649
- s ? s.scrollWidth : 0,
1650
- s ? s.clientWidth : 0,
1651
- ),
1652
- r = Ae(
1653
- i.scrollHeight,
1654
- i.clientHeight,
1655
- s ? s.scrollHeight : 0,
1656
- s ? s.clientHeight : 0,
1657
- ),
1658
- a = -n.scrollLeft + Je(t),
1659
- l = -n.scrollTop;
1660
- return (
1661
- "rtl" === Se(s || i).direction &&
1662
- (a += Ae(i.clientWidth, s ? s.clientWidth : 0) - o),
1663
- { width: o, height: r, x: a, y: l }
1664
- );
1665
- })($e(t)),
1666
- );
1667
- }
1668
- function si(t) {
1669
- var e,
1670
- i = t.reference,
1671
- n = t.element,
1672
- s = t.placement,
1673
- o = s ? we(s) : null,
1674
- r = s ? Be(s) : null,
1675
- a = i.x + i.width / 2 - n.width / 2,
1676
- l = i.y + i.height / 2 - n.height / 2;
1677
- switch (o) {
1678
- case Vt:
1679
- e = { x: a, y: i.y - n.height };
1680
- break;
1681
- case Kt:
1682
- e = { x: a, y: i.y + i.height };
1683
- break;
1684
- case Qt:
1685
- e = { x: i.x + i.width, y: l };
1686
- break;
1687
- case Xt:
1688
- e = { x: i.x - n.width, y: l };
1689
- break;
1690
- default:
1691
- e = { x: i.x, y: i.y };
1692
- }
1693
- var c = o ? je(o) : null;
1694
- if (null != c) {
1695
- var h = "y" === c ? "height" : "width";
1696
- switch (r) {
1697
- case Gt:
1698
- e[c] = e[c] - (i[h] / 2 - n[h] / 2);
1699
- break;
1700
- case Jt:
1701
- e[c] = e[c] + (i[h] / 2 - n[h] / 2);
1702
- }
1703
- }
1704
- return e;
1705
- }
1706
- function oi(t, e) {
1707
- void 0 === e && (e = {});
1708
- var i = e,
1709
- n = i.placement,
1710
- s = void 0 === n ? t.placement : n,
1711
- o = i.strategy,
1712
- r = void 0 === o ? t.strategy : o,
1713
- a = i.boundary,
1714
- l = void 0 === a ? Zt : a,
1715
- c = i.rootBoundary,
1716
- h = void 0 === c ? te : c,
1717
- d = i.elementContext,
1718
- u = void 0 === d ? ee : d,
1719
- f = i.altBoundary,
1720
- p = void 0 !== f && f,
1721
- m = i.padding,
1722
- g = void 0 === m ? 0 : m,
1723
- _ = Fe("number" != typeof g ? g : He(g, Ut)),
1724
- b = u === ee ? ie : ee,
1725
- v = t.rects.popper,
1726
- y = t.elements[p ? b : u],
1727
- w = (function (t, e, i, n) {
1728
- var s =
1729
- "clippingParents" === e
1730
- ? (function (t) {
1731
- var e = ei(Ie(t)),
1732
- i =
1733
- ["absolute", "fixed"].indexOf(Se(t).position) >= 0 &&
1734
- be(t)
1735
- ? Pe(t)
1736
- : t;
1737
- return _e(i)
1738
- ? e.filter(function (t) {
1739
- return _e(t) && Le(t, i) && "body" !== me(t);
1740
- })
1741
- : [];
1742
- })(t)
1743
- : [].concat(e),
1744
- o = [].concat(s, [i]),
1745
- r = o[0],
1746
- a = o.reduce(
1747
- function (e, i) {
1748
- var s = ni(t, i, n);
1749
- return (
1750
- (e.top = Ae(s.top, e.top)),
1751
- (e.right = Ee(s.right, e.right)),
1752
- (e.bottom = Ee(s.bottom, e.bottom)),
1753
- (e.left = Ae(s.left, e.left)),
1754
- e
1755
- );
1756
- },
1757
- ni(t, r, n),
1758
- );
1759
- return (
1760
- (a.width = a.right - a.left),
1761
- (a.height = a.bottom - a.top),
1762
- (a.x = a.left),
1763
- (a.y = a.top),
1764
- a
1765
- );
1766
- })(_e(y) ? y : y.contextElement || $e(t.elements.popper), l, h, r),
1767
- A = xe(t.elements.reference),
1768
- E = si({ reference: A, element: v, placement: s }),
1769
- T = ii(Object.assign({}, v, E)),
1770
- C = u === ee ? T : A,
1771
- O = {
1772
- top: w.top - C.top + _.top,
1773
- bottom: C.bottom - w.bottom + _.bottom,
1774
- left: w.left - C.left + _.left,
1775
- right: C.right - w.right + _.right,
1776
- },
1777
- x = t.modifiersData.offset;
1778
- if (u === ee && x) {
1779
- var k = x[s];
1780
- Object.keys(O).forEach(function (t) {
1781
- var e = [Qt, Kt].indexOf(t) >= 0 ? 1 : -1,
1782
- i = [Vt, Kt].indexOf(t) >= 0 ? "y" : "x";
1783
- O[t] += k[i] * e;
1784
- });
1785
- }
1786
- return O;
1787
- }
1788
- function ri(t, e) {
1789
- void 0 === e && (e = {});
1790
- var i = e,
1791
- n = i.placement,
1792
- s = i.boundary,
1793
- o = i.rootBoundary,
1794
- r = i.padding,
1795
- a = i.flipVariations,
1796
- l = i.allowedAutoPlacements,
1797
- c = void 0 === l ? se : l,
1798
- h = Be(n),
1799
- d = h
1800
- ? a
1801
- ? ne
1802
- : ne.filter(function (t) {
1803
- return Be(t) === h;
1804
- })
1805
- : Ut,
1806
- u = d.filter(function (t) {
1807
- return c.indexOf(t) >= 0;
1808
- });
1809
- 0 === u.length && (u = d);
1810
- var f = u.reduce(function (e, i) {
1811
- return (
1812
- (e[i] = oi(t, {
1813
- placement: i,
1814
- boundary: s,
1815
- rootBoundary: o,
1816
- padding: r,
1817
- })[we(i)]),
1818
- e
1819
- );
1820
- }, {});
1821
- return Object.keys(f).sort(function (t, e) {
1822
- return f[t] - f[e];
1823
- });
1824
- }
1825
- const ai = {
1826
- name: "flip",
1827
- enabled: !0,
1828
- phase: "main",
1829
- fn: function (t) {
1830
- var e = t.state,
1831
- i = t.options,
1832
- n = t.name;
1833
- if (!e.modifiersData[n]._skip) {
1834
- for (
1835
- var s = i.mainAxis,
1836
- o = void 0 === s || s,
1837
- r = i.altAxis,
1838
- a = void 0 === r || r,
1839
- l = i.fallbackPlacements,
1840
- c = i.padding,
1841
- h = i.boundary,
1842
- d = i.rootBoundary,
1843
- u = i.altBoundary,
1844
- f = i.flipVariations,
1845
- p = void 0 === f || f,
1846
- m = i.allowedAutoPlacements,
1847
- g = e.options.placement,
1848
- _ = we(g),
1849
- b =
1850
- l ||
1851
- (_ !== g && p
1852
- ? (function (t) {
1853
- if (we(t) === Yt) return [];
1854
- var e = Xe(t);
1855
- return [Ue(t), e, Ue(e)];
1856
- })(g)
1857
- : [Xe(g)]),
1858
- v = [g].concat(b).reduce(function (t, i) {
1859
- return t.concat(
1860
- we(i) === Yt
1861
- ? ri(e, {
1862
- placement: i,
1863
- boundary: h,
1864
- rootBoundary: d,
1865
- padding: c,
1866
- flipVariations: p,
1867
- allowedAutoPlacements: m,
1868
- })
1869
- : i,
1870
- );
1871
- }, []),
1872
- y = e.rects.reference,
1873
- w = e.rects.popper,
1874
- A = new Map(),
1875
- E = !0,
1876
- T = v[0],
1877
- C = 0;
1878
- C < v.length;
1879
- C++
1880
- ) {
1881
- var O = v[C],
1882
- x = we(O),
1883
- k = Be(O) === Gt,
1884
- L = [Vt, Kt].indexOf(x) >= 0,
1885
- S = L ? "width" : "height",
1886
- D = oi(e, {
1887
- placement: O,
1888
- boundary: h,
1889
- rootBoundary: d,
1890
- altBoundary: u,
1891
- padding: c,
1892
- }),
1893
- $ = L ? (k ? Qt : Xt) : k ? Kt : Vt;
1894
- y[S] > w[S] && ($ = Xe($));
1895
- var I = Xe($),
1896
- N = [];
1897
- if (
1898
- (o && N.push(D[x] <= 0),
1899
- a && N.push(D[$] <= 0, D[I] <= 0),
1900
- N.every(function (t) {
1901
- return t;
1902
- }))
1903
- ) {
1904
- (T = O), (E = !1);
1905
- break;
1906
- }
1907
- A.set(O, N);
1908
- }
1909
- if (E)
1910
- for (
1911
- var P = function (t) {
1912
- var e = v.find(function (e) {
1913
- var i = A.get(e);
1914
- if (i)
1915
- return i.slice(0, t).every(function (t) {
1916
- return t;
1917
- });
1918
- });
1919
- if (e) return (T = e), "break";
1920
- },
1921
- j = p ? 3 : 1;
1922
- j > 0 && "break" !== P(j);
1923
- j--
1924
- );
1925
- e.placement !== T &&
1926
- ((e.modifiersData[n]._skip = !0), (e.placement = T), (e.reset = !0));
1927
- }
1928
- },
1929
- requiresIfExists: ["offset"],
1930
- data: { _skip: !1 },
1931
- };
1932
- function li(t, e, i) {
1933
- return (
1934
- void 0 === i && (i = { x: 0, y: 0 }),
1935
- {
1936
- top: t.top - e.height - i.y,
1937
- right: t.right - e.width + i.x,
1938
- bottom: t.bottom - e.height + i.y,
1939
- left: t.left - e.width - i.x,
1940
- }
1941
- );
1942
- }
1943
- function ci(t) {
1944
- return [Vt, Qt, Kt, Xt].some(function (e) {
1945
- return t[e] >= 0;
1946
- });
1947
- }
1948
- const hi = {
1949
- name: "hide",
1950
- enabled: !0,
1951
- phase: "main",
1952
- requiresIfExists: ["preventOverflow"],
1953
- fn: function (t) {
1954
- var e = t.state,
1955
- i = t.name,
1956
- n = e.rects.reference,
1957
- s = e.rects.popper,
1958
- o = e.modifiersData.preventOverflow,
1959
- r = oi(e, { elementContext: "reference" }),
1960
- a = oi(e, { altBoundary: !0 }),
1961
- l = li(r, n),
1962
- c = li(a, s, o),
1963
- h = ci(l),
1964
- d = ci(c);
1965
- (e.modifiersData[i] = {
1966
- referenceClippingOffsets: l,
1967
- popperEscapeOffsets: c,
1968
- isReferenceHidden: h,
1969
- hasPopperEscaped: d,
1970
- }),
1971
- (e.attributes.popper = Object.assign({}, e.attributes.popper, {
1972
- "data-popper-reference-hidden": h,
1973
- "data-popper-escaped": d,
1974
- }));
1975
- },
1976
- },
1977
- di = {
1978
- name: "offset",
1979
- enabled: !0,
1980
- phase: "main",
1981
- requires: ["popperOffsets"],
1982
- fn: function (t) {
1983
- var e = t.state,
1984
- i = t.options,
1985
- n = t.name,
1986
- s = i.offset,
1987
- o = void 0 === s ? [0, 0] : s,
1988
- r = se.reduce(function (t, i) {
1989
- return (
1990
- (t[i] = (function (t, e, i) {
1991
- var n = we(t),
1992
- s = [Xt, Vt].indexOf(n) >= 0 ? -1 : 1,
1993
- o =
1994
- "function" == typeof i
1995
- ? i(Object.assign({}, e, { placement: t }))
1996
- : i,
1997
- r = o[0],
1998
- a = o[1];
1999
- return (
2000
- (r = r || 0),
2001
- (a = (a || 0) * s),
2002
- [Xt, Qt].indexOf(n) >= 0 ? { x: a, y: r } : { x: r, y: a }
2003
- );
2004
- })(i, e.rects, o)),
2005
- t
2006
- );
2007
- }, {}),
2008
- a = r[e.placement],
2009
- l = a.x,
2010
- c = a.y;
2011
- null != e.modifiersData.popperOffsets &&
2012
- ((e.modifiersData.popperOffsets.x += l),
2013
- (e.modifiersData.popperOffsets.y += c)),
2014
- (e.modifiersData[n] = r);
2015
- },
2016
- },
2017
- ui = {
2018
- name: "popperOffsets",
2019
- enabled: !0,
2020
- phase: "read",
2021
- fn: function (t) {
2022
- var e = t.state,
2023
- i = t.name;
2024
- e.modifiersData[i] = si({
2025
- reference: e.rects.reference,
2026
- element: e.rects.popper,
2027
- placement: e.placement,
2028
- });
2029
- },
2030
- data: {},
2031
- },
2032
- fi = {
2033
- name: "preventOverflow",
2034
- enabled: !0,
2035
- phase: "main",
2036
- fn: function (t) {
2037
- var e = t.state,
2038
- i = t.options,
2039
- n = t.name,
2040
- s = i.mainAxis,
2041
- o = void 0 === s || s,
2042
- r = i.altAxis,
2043
- a = void 0 !== r && r,
2044
- l = i.boundary,
2045
- c = i.rootBoundary,
2046
- h = i.altBoundary,
2047
- d = i.padding,
2048
- u = i.tether,
2049
- f = void 0 === u || u,
2050
- p = i.tetherOffset,
2051
- m = void 0 === p ? 0 : p,
2052
- g = oi(e, {
2053
- boundary: l,
2054
- rootBoundary: c,
2055
- padding: d,
2056
- altBoundary: h,
2057
- }),
2058
- _ = we(e.placement),
2059
- b = Be(e.placement),
2060
- v = !b,
2061
- y = je(_),
2062
- w = "x" === y ? "y" : "x",
2063
- A = e.modifiersData.popperOffsets,
2064
- E = e.rects.reference,
2065
- T = e.rects.popper,
2066
- C =
2067
- "function" == typeof m
2068
- ? m(Object.assign({}, e.rects, { placement: e.placement }))
2069
- : m,
2070
- O =
2071
- "number" == typeof C
2072
- ? { mainAxis: C, altAxis: C }
2073
- : Object.assign({ mainAxis: 0, altAxis: 0 }, C),
2074
- x = e.modifiersData.offset
2075
- ? e.modifiersData.offset[e.placement]
2076
- : null,
2077
- k = { x: 0, y: 0 };
2078
- if (A) {
2079
- if (o) {
2080
- var L,
2081
- S = "y" === y ? Vt : Xt,
2082
- D = "y" === y ? Kt : Qt,
2083
- $ = "y" === y ? "height" : "width",
2084
- I = A[y],
2085
- N = I + g[S],
2086
- P = I - g[D],
2087
- j = f ? -T[$] / 2 : 0,
2088
- M = b === Gt ? E[$] : T[$],
2089
- F = b === Gt ? -T[$] : -E[$],
2090
- H = e.elements.arrow,
2091
- W = f && H ? ke(H) : { width: 0, height: 0 },
2092
- B = e.modifiersData["arrow#persistent"]
2093
- ? e.modifiersData["arrow#persistent"].padding
2094
- : { top: 0, right: 0, bottom: 0, left: 0 },
2095
- z = B[S],
2096
- R = B[D],
2097
- q = Me(0, E[$], W[$]),
2098
- V = v
2099
- ? E[$] / 2 - j - q - z - O.mainAxis
2100
- : M - q - z - O.mainAxis,
2101
- K = v
2102
- ? -E[$] / 2 + j + q + R + O.mainAxis
2103
- : F + q + R + O.mainAxis,
2104
- Q = e.elements.arrow && Pe(e.elements.arrow),
2105
- X = Q ? ("y" === y ? Q.clientTop || 0 : Q.clientLeft || 0) : 0,
2106
- Y = null != (L = null == x ? void 0 : x[y]) ? L : 0,
2107
- U = I + K - Y,
2108
- G = Me(f ? Ee(N, I + V - Y - X) : N, I, f ? Ae(P, U) : P);
2109
- (A[y] = G), (k[y] = G - I);
2110
- }
2111
- if (a) {
2112
- var J,
2113
- Z = "x" === y ? Vt : Xt,
2114
- tt = "x" === y ? Kt : Qt,
2115
- et = A[w],
2116
- it = "y" === w ? "height" : "width",
2117
- nt = et + g[Z],
2118
- st = et - g[tt],
2119
- ot = -1 !== [Vt, Xt].indexOf(_),
2120
- rt = null != (J = null == x ? void 0 : x[w]) ? J : 0,
2121
- at = ot ? nt : et - E[it] - T[it] - rt + O.altAxis,
2122
- lt = ot ? et + E[it] + T[it] - rt - O.altAxis : st,
2123
- ct =
2124
- f && ot
2125
- ? (function (t, e, i) {
2126
- var n = Me(t, e, i);
2127
- return n > i ? i : n;
2128
- })(at, et, lt)
2129
- : Me(f ? at : nt, et, f ? lt : st);
2130
- (A[w] = ct), (k[w] = ct - et);
2131
- }
2132
- e.modifiersData[n] = k;
2133
- }
2134
- },
2135
- requiresIfExists: ["offset"],
2136
- };
2137
- function pi(t, e, i) {
2138
- void 0 === i && (i = !1);
2139
- var n,
2140
- s,
2141
- o = be(e),
2142
- r =
2143
- be(e) &&
2144
- (function (t) {
2145
- var e = t.getBoundingClientRect(),
2146
- i = Te(e.width) / t.offsetWidth || 1,
2147
- n = Te(e.height) / t.offsetHeight || 1;
2148
- return 1 !== i || 1 !== n;
2149
- })(e),
2150
- a = $e(e),
2151
- l = xe(t, r, i),
2152
- c = { scrollLeft: 0, scrollTop: 0 },
2153
- h = { x: 0, y: 0 };
2154
- return (
2155
- (o || (!o && !i)) &&
2156
- (("body" !== me(e) || Ze(a)) &&
2157
- (c =
2158
- (n = e) !== ge(n) && be(n)
2159
- ? { scrollLeft: (s = n).scrollLeft, scrollTop: s.scrollTop }
2160
- : Ge(n)),
2161
- be(e)
2162
- ? (((h = xe(e, !0)).x += e.clientLeft), (h.y += e.clientTop))
2163
- : a && (h.x = Je(a))),
2164
- {
2165
- x: l.left + c.scrollLeft - h.x,
2166
- y: l.top + c.scrollTop - h.y,
2167
- width: l.width,
2168
- height: l.height,
2169
- }
2170
- );
2171
- }
2172
- function mi(t) {
2173
- var e = new Map(),
2174
- i = new Set(),
2175
- n = [];
2176
- function s(t) {
2177
- i.add(t.name),
2178
- []
2179
- .concat(t.requires || [], t.requiresIfExists || [])
2180
- .forEach(function (t) {
2181
- if (!i.has(t)) {
2182
- var n = e.get(t);
2183
- n && s(n);
2184
- }
2185
- }),
2186
- n.push(t);
2187
- }
2188
- return (
2189
- t.forEach(function (t) {
2190
- e.set(t.name, t);
2191
- }),
2192
- t.forEach(function (t) {
2193
- i.has(t.name) || s(t);
2194
- }),
2195
- n
2196
- );
2197
- }
2198
- var gi = { placement: "bottom", modifiers: [], strategy: "absolute" };
2199
- function _i() {
2200
- for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++)
2201
- e[i] = arguments[i];
2202
- return !e.some(function (t) {
2203
- return !(t && "function" == typeof t.getBoundingClientRect);
2204
- });
2205
- }
2206
- function bi(t) {
2207
- void 0 === t && (t = {});
2208
- var e = t,
2209
- i = e.defaultModifiers,
2210
- n = void 0 === i ? [] : i,
2211
- s = e.defaultOptions,
2212
- o = void 0 === s ? gi : s;
2213
- return function (t, e, i) {
2214
- void 0 === i && (i = o);
2215
- var s,
2216
- r,
2217
- a = {
2218
- placement: "bottom",
2219
- orderedModifiers: [],
2220
- options: Object.assign({}, gi, o),
2221
- modifiersData: {},
2222
- elements: { reference: t, popper: e },
2223
- attributes: {},
2224
- styles: {},
2225
- },
2226
- l = [],
2227
- c = !1,
2228
- h = {
2229
- state: a,
2230
- setOptions: function (i) {
2231
- var s = "function" == typeof i ? i(a.options) : i;
2232
- d(),
2233
- (a.options = Object.assign({}, o, a.options, s)),
2234
- (a.scrollParents = {
2235
- reference: _e(t)
2236
- ? ei(t)
2237
- : t.contextElement
2238
- ? ei(t.contextElement)
2239
- : [],
2240
- popper: ei(e),
2241
- });
2242
- var r,
2243
- c,
2244
- u = (function (t) {
2245
- var e = mi(t);
2246
- return pe.reduce(function (t, i) {
2247
- return t.concat(
2248
- e.filter(function (t) {
2249
- return t.phase === i;
2250
- }),
2251
- );
2252
- }, []);
2253
- })(
2254
- ((r = [].concat(n, a.options.modifiers)),
2255
- (c = r.reduce(function (t, e) {
2256
- var i = t[e.name];
2257
- return (
2258
- (t[e.name] = i
2259
- ? Object.assign({}, i, e, {
2260
- options: Object.assign({}, i.options, e.options),
2261
- data: Object.assign({}, i.data, e.data),
2262
- })
2263
- : e),
2264
- t
2265
- );
2266
- }, {})),
2267
- Object.keys(c).map(function (t) {
2268
- return c[t];
2269
- })),
2270
- );
2271
- return (
2272
- (a.orderedModifiers = u.filter(function (t) {
2273
- return t.enabled;
2274
- })),
2275
- a.orderedModifiers.forEach(function (t) {
2276
- var e = t.name,
2277
- i = t.options,
2278
- n = void 0 === i ? {} : i,
2279
- s = t.effect;
2280
- if ("function" == typeof s) {
2281
- var o = s({ state: a, name: e, instance: h, options: n });
2282
- l.push(o || function () {});
2283
- }
2284
- }),
2285
- h.update()
2286
- );
2287
- },
2288
- forceUpdate: function () {
2289
- if (!c) {
2290
- var t = a.elements,
2291
- e = t.reference,
2292
- i = t.popper;
2293
- if (_i(e, i)) {
2294
- (a.rects = {
2295
- reference: pi(e, Pe(i), "fixed" === a.options.strategy),
2296
- popper: ke(i),
2297
- }),
2298
- (a.reset = !1),
2299
- (a.placement = a.options.placement),
2300
- a.orderedModifiers.forEach(function (t) {
2301
- return (a.modifiersData[t.name] = Object.assign(
2302
- {},
2303
- t.data,
2304
- ));
2305
- });
2306
- for (var n = 0; n < a.orderedModifiers.length; n++)
2307
- if (!0 !== a.reset) {
2308
- var s = a.orderedModifiers[n],
2309
- o = s.fn,
2310
- r = s.options,
2311
- l = void 0 === r ? {} : r,
2312
- d = s.name;
2313
- "function" == typeof o &&
2314
- (a =
2315
- o({ state: a, options: l, name: d, instance: h }) || a);
2316
- } else (a.reset = !1), (n = -1);
2317
- }
2318
- }
2319
- },
2320
- update:
2321
- ((s = function () {
2322
- return new Promise(function (t) {
2323
- h.forceUpdate(), t(a);
2324
- });
2325
- }),
2326
- function () {
2327
- return (
2328
- r ||
2329
- (r = new Promise(function (t) {
2330
- Promise.resolve().then(function () {
2331
- (r = void 0), t(s());
2332
- });
2333
- })),
2334
- r
2335
- );
2336
- }),
2337
- destroy: function () {
2338
- d(), (c = !0);
2339
- },
2340
- };
2341
- if (!_i(t, e)) return h;
2342
- function d() {
2343
- l.forEach(function (t) {
2344
- return t();
2345
- }),
2346
- (l = []);
2347
- }
2348
- return (
2349
- h.setOptions(i).then(function (t) {
2350
- !c && i.onFirstUpdate && i.onFirstUpdate(t);
2351
- }),
2352
- h
2353
- );
2354
- };
2355
- }
2356
- var vi = bi(),
2357
- yi = bi({ defaultModifiers: [Ke, ui, qe, ye] }),
2358
- wi = bi({ defaultModifiers: [Ke, ui, qe, ye, di, ai, fi, We, hi] });
2359
- const Ai = Object.freeze(
2360
- Object.defineProperty(
2361
- {
2362
- __proto__: null,
2363
- afterMain: he,
2364
- afterRead: ae,
2365
- afterWrite: fe,
2366
- applyStyles: ye,
2367
- arrow: We,
2368
- auto: Yt,
2369
- basePlacements: Ut,
2370
- beforeMain: le,
2371
- beforeRead: oe,
2372
- beforeWrite: de,
2373
- bottom: Kt,
2374
- clippingParents: Zt,
2375
- computeStyles: qe,
2376
- createPopper: wi,
2377
- createPopperBase: vi,
2378
- createPopperLite: yi,
2379
- detectOverflow: oi,
2380
- end: Jt,
2381
- eventListeners: Ke,
2382
- flip: ai,
2383
- hide: hi,
2384
- left: Xt,
2385
- main: ce,
2386
- modifierPhases: pe,
2387
- offset: di,
2388
- placements: se,
2389
- popper: ee,
2390
- popperGenerator: bi,
2391
- popperOffsets: ui,
2392
- preventOverflow: fi,
2393
- read: re,
2394
- reference: ie,
2395
- right: Qt,
2396
- start: Gt,
2397
- top: Vt,
2398
- variationPlacements: ne,
2399
- viewport: te,
2400
- write: ue,
2401
- },
2402
- Symbol.toStringTag,
2403
- { value: "Module" },
2404
- ),
2405
- ),
2406
- Ei = "dropdown",
2407
- Ti = ".bs.dropdown",
2408
- Ci = ".data-api",
2409
- Oi = "ArrowUp",
2410
- xi = "ArrowDown",
2411
- ki = `hide${Ti}`,
2412
- Li = `hidden${Ti}`,
2413
- Si = `show${Ti}`,
2414
- Di = `shown${Ti}`,
2415
- $i = `click${Ti}${Ci}`,
2416
- Ii = `keydown${Ti}${Ci}`,
2417
- Ni = `keyup${Ti}${Ci}`,
2418
- Pi = "show",
2419
- ji = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',
2420
- Mi = `${ji}.${Pi}`,
2421
- Fi = ".dropdown-menu",
2422
- Hi = m() ? "top-end" : "top-start",
2423
- Wi = m() ? "top-start" : "top-end",
2424
- Bi = m() ? "bottom-end" : "bottom-start",
2425
- zi = m() ? "bottom-start" : "bottom-end",
2426
- Ri = m() ? "left-start" : "right-start",
2427
- qi = m() ? "right-start" : "left-start",
2428
- Vi = {
2429
- autoClose: !0,
2430
- boundary: "clippingParents",
2431
- display: "dynamic",
2432
- offset: [0, 2],
2433
- popperConfig: null,
2434
- reference: "toggle",
2435
- },
2436
- Ki = {
2437
- autoClose: "(boolean|string)",
2438
- boundary: "(string|element)",
2439
- display: "string",
2440
- offset: "(array|string|function)",
2441
- popperConfig: "(null|object|function)",
2442
- reference: "(string|element|object)",
2443
- };
2444
- class Qi extends B {
2445
- constructor(t, e) {
2446
- super(t, e),
2447
- (this._popper = null),
2448
- (this._parent = this._element.parentNode),
2449
- (this._menu =
2450
- R.next(this._element, Fi)[0] ||
2451
- R.prev(this._element, Fi)[0] ||
2452
- R.findOne(Fi, this._parent)),
2453
- (this._inNavbar = this._detectNavbar());
2454
- }
2455
- static get Default() {
2456
- return Vi;
2457
- }
2458
- static get DefaultType() {
2459
- return Ki;
2460
- }
2461
- static get NAME() {
2462
- return Ei;
2463
- }
2464
- toggle() {
2465
- return this._isShown() ? this.hide() : this.show();
2466
- }
2467
- show() {
2468
- if (c(this._element) || this._isShown()) return;
2469
- const t = { relatedTarget: this._element };
2470
- if (!P.trigger(this._element, Si, t).defaultPrevented) {
2471
- if (
2472
- (this._createPopper(),
2473
- "ontouchstart" in document.documentElement &&
2474
- !this._parent.closest(".navbar-nav"))
2475
- )
2476
- for (const t of [].concat(...document.body.children))
2477
- P.on(t, "mouseover", d);
2478
- this._element.focus(),
2479
- this._element.setAttribute("aria-expanded", !0),
2480
- this._menu.classList.add(Pi),
2481
- this._element.classList.add(Pi),
2482
- P.trigger(this._element, Di, t);
2483
- }
2484
- }
2485
- hide() {
2486
- if (c(this._element) || !this._isShown()) return;
2487
- const t = { relatedTarget: this._element };
2488
- this._completeHide(t);
2489
- }
2490
- dispose() {
2491
- this._popper && this._popper.destroy(), super.dispose();
2492
- }
2493
- update() {
2494
- (this._inNavbar = this._detectNavbar()),
2495
- this._popper && this._popper.update();
2496
- }
2497
- _completeHide(t) {
2498
- if (!P.trigger(this._element, ki, t).defaultPrevented) {
2499
- if ("ontouchstart" in document.documentElement)
2500
- for (const t of [].concat(...document.body.children))
2501
- P.off(t, "mouseover", d);
2502
- this._popper && this._popper.destroy(),
2503
- this._menu.classList.remove(Pi),
2504
- this._element.classList.remove(Pi),
2505
- this._element.setAttribute("aria-expanded", "false"),
2506
- H.removeDataAttribute(this._menu, "popper"),
2507
- P.trigger(this._element, Li, t);
2508
- }
2509
- }
2510
- _getConfig(t) {
2511
- if (
2512
- "object" == typeof (t = super._getConfig(t)).reference &&
2513
- !r(t.reference) &&
2514
- "function" != typeof t.reference.getBoundingClientRect
2515
- )
2516
- throw new TypeError(
2517
- `${Ei.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`,
2518
- );
2519
- return t;
2520
- }
2521
- _createPopper() {
2522
- if (void 0 === Ai)
2523
- throw new TypeError(
2524
- "Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)",
2525
- );
2526
- let t = this._element;
2527
- "parent" === this._config.reference
2528
- ? (t = this._parent)
2529
- : r(this._config.reference)
2530
- ? (t = a(this._config.reference))
2531
- : "object" == typeof this._config.reference &&
2532
- (t = this._config.reference);
2533
- const e = this._getPopperConfig();
2534
- this._popper = wi(t, this._menu, e);
2535
- }
2536
- _isShown() {
2537
- return this._menu.classList.contains(Pi);
2538
- }
2539
- _getPlacement() {
2540
- const t = this._parent;
2541
- if (t.classList.contains("dropend")) return Ri;
2542
- if (t.classList.contains("dropstart")) return qi;
2543
- if (t.classList.contains("dropup-center")) return "top";
2544
- if (t.classList.contains("dropdown-center")) return "bottom";
2545
- const e =
2546
- "end" ===
2547
- getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();
2548
- return t.classList.contains("dropup") ? (e ? Wi : Hi) : e ? zi : Bi;
2549
- }
2550
- _detectNavbar() {
2551
- return null !== this._element.closest(".navbar");
2552
- }
2553
- _getOffset() {
2554
- const { offset: t } = this._config;
2555
- return "string" == typeof t
2556
- ? t.split(",").map((t) => Number.parseInt(t, 10))
2557
- : "function" == typeof t
2558
- ? (e) => t(e, this._element)
2559
- : t;
2560
- }
2561
- _getPopperConfig() {
2562
- const t = {
2563
- placement: this._getPlacement(),
2564
- modifiers: [
2565
- {
2566
- name: "preventOverflow",
2567
- options: { boundary: this._config.boundary },
2568
- },
2569
- { name: "offset", options: { offset: this._getOffset() } },
2570
- ],
2571
- };
2572
- return (
2573
- (this._inNavbar || "static" === this._config.display) &&
2574
- (H.setDataAttribute(this._menu, "popper", "static"),
2575
- (t.modifiers = [{ name: "applyStyles", enabled: !1 }])),
2576
- { ...t, ..._(this._config.popperConfig, [void 0, t]) }
2577
- );
2578
- }
2579
- _selectMenuItem({ key: t, target: e }) {
2580
- const i = R.find(
2581
- ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",
2582
- this._menu,
2583
- ).filter((t) => l(t));
2584
- i.length && v(i, e, t === xi, !i.includes(e)).focus();
2585
- }
2586
- static jQueryInterface(t) {
2587
- return this.each(function () {
2588
- const e = Qi.getOrCreateInstance(this, t);
2589
- if ("string" == typeof t) {
2590
- if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
2591
- e[t]();
2592
- }
2593
- });
2594
- }
2595
- static clearMenus(t) {
2596
- if (2 === t.button || ("keyup" === t.type && "Tab" !== t.key)) return;
2597
- const e = R.find(Mi);
2598
- for (const i of e) {
2599
- const e = Qi.getInstance(i);
2600
- if (!e || !1 === e._config.autoClose) continue;
2601
- const n = t.composedPath(),
2602
- s = n.includes(e._menu);
2603
- if (
2604
- n.includes(e._element) ||
2605
- ("inside" === e._config.autoClose && !s) ||
2606
- ("outside" === e._config.autoClose && s)
2607
- )
2608
- continue;
2609
- if (
2610
- e._menu.contains(t.target) &&
2611
- (("keyup" === t.type && "Tab" === t.key) ||
2612
- /input|select|option|textarea|form/i.test(t.target.tagName))
2613
- )
2614
- continue;
2615
- const o = { relatedTarget: e._element };
2616
- "click" === t.type && (o.clickEvent = t), e._completeHide(o);
2617
- }
2618
- }
2619
- static dataApiKeydownHandler(t) {
2620
- const e = /input|textarea/i.test(t.target.tagName),
2621
- i = "Escape" === t.key,
2622
- n = [Oi, xi].includes(t.key);
2623
- if (!n && !i) return;
2624
- if (e && !i) return;
2625
- t.preventDefault();
2626
- const s = this.matches(ji)
2627
- ? this
2628
- : R.prev(this, ji)[0] ||
2629
- R.next(this, ji)[0] ||
2630
- R.findOne(ji, t.delegateTarget.parentNode),
2631
- o = Qi.getOrCreateInstance(s);
2632
- if (n) return t.stopPropagation(), o.show(), void o._selectMenuItem(t);
2633
- o._isShown() && (t.stopPropagation(), o.hide(), s.focus());
2634
- }
2635
- }
2636
- P.on(document, Ii, ji, Qi.dataApiKeydownHandler),
2637
- P.on(document, Ii, Fi, Qi.dataApiKeydownHandler),
2638
- P.on(document, $i, Qi.clearMenus),
2639
- P.on(document, Ni, Qi.clearMenus),
2640
- P.on(document, $i, ji, function (t) {
2641
- t.preventDefault(), Qi.getOrCreateInstance(this).toggle();
2642
- }),
2643
- g(Qi);
2644
- const Xi = "backdrop",
2645
- Yi = "show",
2646
- Ui = `mousedown.bs.${Xi}`,
2647
- Gi = {
2648
- className: "modal-backdrop",
2649
- clickCallback: null,
2650
- isAnimated: !1,
2651
- isVisible: !0,
2652
- rootElement: "body",
2653
- },
2654
- Ji = {
2655
- className: "string",
2656
- clickCallback: "(function|null)",
2657
- isAnimated: "boolean",
2658
- isVisible: "boolean",
2659
- rootElement: "(element|string)",
2660
- };
2661
- class Zi extends W {
2662
- constructor(t) {
2663
- super(),
2664
- (this._config = this._getConfig(t)),
2665
- (this._isAppended = !1),
2666
- (this._element = null);
2667
- }
2668
- static get Default() {
2669
- return Gi;
2670
- }
2671
- static get DefaultType() {
2672
- return Ji;
2673
- }
2674
- static get NAME() {
2675
- return Xi;
2676
- }
2677
- show(t) {
2678
- if (!this._config.isVisible) return void _(t);
2679
- this._append();
2680
- const e = this._getElement();
2681
- this._config.isAnimated && u(e),
2682
- e.classList.add(Yi),
2683
- this._emulateAnimation(() => {
2684
- _(t);
2685
- });
2686
- }
2687
- hide(t) {
2688
- this._config.isVisible
2689
- ? (this._getElement().classList.remove(Yi),
2690
- this._emulateAnimation(() => {
2691
- this.dispose(), _(t);
2692
- }))
2693
- : _(t);
2694
- }
2695
- dispose() {
2696
- this._isAppended &&
2697
- (P.off(this._element, Ui),
2698
- this._element.remove(),
2699
- (this._isAppended = !1));
2700
- }
2701
- _getElement() {
2702
- if (!this._element) {
2703
- const t = document.createElement("div");
2704
- (t.className = this._config.className),
2705
- this._config.isAnimated && t.classList.add("fade"),
2706
- (this._element = t);
2707
- }
2708
- return this._element;
2709
- }
2710
- _configAfterMerge(t) {
2711
- return (t.rootElement = a(t.rootElement)), t;
2712
- }
2713
- _append() {
2714
- if (this._isAppended) return;
2715
- const t = this._getElement();
2716
- this._config.rootElement.append(t),
2717
- P.on(t, Ui, () => {
2718
- _(this._config.clickCallback);
2719
- }),
2720
- (this._isAppended = !0);
2721
- }
2722
- _emulateAnimation(t) {
2723
- b(t, this._getElement(), this._config.isAnimated);
2724
- }
2725
- }
2726
- const tn = ".bs.focustrap",
2727
- en = `focusin${tn}`,
2728
- nn = `keydown.tab${tn}`,
2729
- sn = "backward",
2730
- on = { autofocus: !0, trapElement: null },
2731
- rn = { autofocus: "boolean", trapElement: "element" };
2732
- class an extends W {
2733
- constructor(t) {
2734
- super(),
2735
- (this._config = this._getConfig(t)),
2736
- (this._isActive = !1),
2737
- (this._lastTabNavDirection = null);
2738
- }
2739
- static get Default() {
2740
- return on;
2741
- }
2742
- static get DefaultType() {
2743
- return rn;
2744
- }
2745
- static get NAME() {
2746
- return "focustrap";
2747
- }
2748
- activate() {
2749
- this._isActive ||
2750
- (this._config.autofocus && this._config.trapElement.focus(),
2751
- P.off(document, tn),
2752
- P.on(document, en, (t) => this._handleFocusin(t)),
2753
- P.on(document, nn, (t) => this._handleKeydown(t)),
2754
- (this._isActive = !0));
2755
- }
2756
- deactivate() {
2757
- this._isActive && ((this._isActive = !1), P.off(document, tn));
2758
- }
2759
- _handleFocusin(t) {
2760
- const { trapElement: e } = this._config;
2761
- if (t.target === document || t.target === e || e.contains(t.target))
2762
- return;
2763
- const i = R.focusableChildren(e);
2764
- 0 === i.length
2765
- ? e.focus()
2766
- : this._lastTabNavDirection === sn
2767
- ? i[i.length - 1].focus()
2768
- : i[0].focus();
2769
- }
2770
- _handleKeydown(t) {
2771
- "Tab" === t.key &&
2772
- (this._lastTabNavDirection = t.shiftKey ? sn : "forward");
2773
- }
2774
- }
2775
- const ln = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",
2776
- cn = ".sticky-top",
2777
- hn = "padding-right",
2778
- dn = "margin-right";
2779
- class un {
2780
- constructor() {
2781
- this._element = document.body;
2782
- }
2783
- getWidth() {
2784
- const t = document.documentElement.clientWidth;
2785
- return Math.abs(window.innerWidth - t);
2786
- }
2787
- hide() {
2788
- const t = this.getWidth();
2789
- this._disableOverFlow(),
2790
- this._setElementAttributes(this._element, hn, (e) => e + t),
2791
- this._setElementAttributes(ln, hn, (e) => e + t),
2792
- this._setElementAttributes(cn, dn, (e) => e - t);
2793
- }
2794
- reset() {
2795
- this._resetElementAttributes(this._element, "overflow"),
2796
- this._resetElementAttributes(this._element, hn),
2797
- this._resetElementAttributes(ln, hn),
2798
- this._resetElementAttributes(cn, dn);
2799
- }
2800
- isOverflowing() {
2801
- return this.getWidth() > 0;
2802
- }
2803
- _disableOverFlow() {
2804
- this._saveInitialAttribute(this._element, "overflow"),
2805
- (this._element.style.overflow = "hidden");
2806
- }
2807
- _setElementAttributes(t, e, i) {
2808
- const n = this.getWidth();
2809
- this._applyManipulationCallback(t, (t) => {
2810
- if (t !== this._element && window.innerWidth > t.clientWidth + n)
2811
- return;
2812
- this._saveInitialAttribute(t, e);
2813
- const s = window.getComputedStyle(t).getPropertyValue(e);
2814
- t.style.setProperty(e, `${i(Number.parseFloat(s))}px`);
2815
- });
2816
- }
2817
- _saveInitialAttribute(t, e) {
2818
- const i = t.style.getPropertyValue(e);
2819
- i && H.setDataAttribute(t, e, i);
2820
- }
2821
- _resetElementAttributes(t, e) {
2822
- this._applyManipulationCallback(t, (t) => {
2823
- const i = H.getDataAttribute(t, e);
2824
- null !== i
2825
- ? (H.removeDataAttribute(t, e), t.style.setProperty(e, i))
2826
- : t.style.removeProperty(e);
2827
- });
2828
- }
2829
- _applyManipulationCallback(t, e) {
2830
- if (r(t)) e(t);
2831
- else for (const i of R.find(t, this._element)) e(i);
2832
- }
2833
- }
2834
- const fn = ".bs.modal",
2835
- pn = `hide${fn}`,
2836
- mn = `hidePrevented${fn}`,
2837
- gn = `hidden${fn}`,
2838
- _n = `show${fn}`,
2839
- bn = `shown${fn}`,
2840
- vn = `resize${fn}`,
2841
- yn = `click.dismiss${fn}`,
2842
- wn = `mousedown.dismiss${fn}`,
2843
- An = `keydown.dismiss${fn}`,
2844
- En = `click${fn}.data-api`,
2845
- Tn = "modal-open",
2846
- Cn = "show",
2847
- On = "modal-static",
2848
- xn = { backdrop: !0, focus: !0, keyboard: !0 },
2849
- kn = {
2850
- backdrop: "(boolean|string)",
2851
- focus: "boolean",
2852
- keyboard: "boolean",
2853
- };
2854
- class Ln extends B {
2855
- constructor(t, e) {
2856
- super(t, e),
2857
- (this._dialog = R.findOne(".modal-dialog", this._element)),
2858
- (this._backdrop = this._initializeBackDrop()),
2859
- (this._focustrap = this._initializeFocusTrap()),
2860
- (this._isShown = !1),
2861
- (this._isTransitioning = !1),
2862
- (this._scrollBar = new un()),
2863
- this._addEventListeners();
2864
- }
2865
- static get Default() {
2866
- return xn;
2867
- }
2868
- static get DefaultType() {
2869
- return kn;
2870
- }
2871
- static get NAME() {
2872
- return "modal";
2873
- }
2874
- toggle(t) {
2875
- return this._isShown ? this.hide() : this.show(t);
2876
- }
2877
- show(t) {
2878
- this._isShown ||
2879
- this._isTransitioning ||
2880
- P.trigger(this._element, _n, { relatedTarget: t }).defaultPrevented ||
2881
- ((this._isShown = !0),
2882
- (this._isTransitioning = !0),
2883
- this._scrollBar.hide(),
2884
- document.body.classList.add(Tn),
2885
- this._adjustDialog(),
2886
- this._backdrop.show(() => this._showElement(t)));
2887
- }
2888
- hide() {
2889
- this._isShown &&
2890
- !this._isTransitioning &&
2891
- (P.trigger(this._element, pn).defaultPrevented ||
2892
- ((this._isShown = !1),
2893
- (this._isTransitioning = !0),
2894
- this._focustrap.deactivate(),
2895
- this._element.classList.remove(Cn),
2896
- this._queueCallback(
2897
- () => this._hideModal(),
2898
- this._element,
2899
- this._isAnimated(),
2900
- )));
2901
- }
2902
- dispose() {
2903
- P.off(window, fn),
2904
- P.off(this._dialog, fn),
2905
- this._backdrop.dispose(),
2906
- this._focustrap.deactivate(),
2907
- super.dispose();
2908
- }
2909
- handleUpdate() {
2910
- this._adjustDialog();
2911
- }
2912
- _initializeBackDrop() {
2913
- return new Zi({
2914
- isVisible: Boolean(this._config.backdrop),
2915
- isAnimated: this._isAnimated(),
2916
- });
2917
- }
2918
- _initializeFocusTrap() {
2919
- return new an({ trapElement: this._element });
2920
- }
2921
- _showElement(t) {
2922
- document.body.contains(this._element) ||
2923
- document.body.append(this._element),
2924
- (this._element.style.display = "block"),
2925
- this._element.removeAttribute("aria-hidden"),
2926
- this._element.setAttribute("aria-modal", !0),
2927
- this._element.setAttribute("role", "dialog"),
2928
- (this._element.scrollTop = 0);
2929
- const e = R.findOne(".modal-body", this._dialog);
2930
- e && (e.scrollTop = 0),
2931
- u(this._element),
2932
- this._element.classList.add(Cn),
2933
- this._queueCallback(
2934
- () => {
2935
- this._config.focus && this._focustrap.activate(),
2936
- (this._isTransitioning = !1),
2937
- P.trigger(this._element, bn, { relatedTarget: t });
2938
- },
2939
- this._dialog,
2940
- this._isAnimated(),
2941
- );
2942
- }
2943
- _addEventListeners() {
2944
- P.on(this._element, An, (t) => {
2945
- "Escape" === t.key &&
2946
- (this._config.keyboard
2947
- ? this.hide()
2948
- : this._triggerBackdropTransition());
2949
- }),
2950
- P.on(window, vn, () => {
2951
- this._isShown && !this._isTransitioning && this._adjustDialog();
2952
- }),
2953
- P.on(this._element, wn, (t) => {
2954
- P.one(this._element, yn, (e) => {
2955
- this._element === t.target &&
2956
- this._element === e.target &&
2957
- ("static" !== this._config.backdrop
2958
- ? this._config.backdrop && this.hide()
2959
- : this._triggerBackdropTransition());
2960
- });
2961
- });
2962
- }
2963
- _hideModal() {
2964
- (this._element.style.display = "none"),
2965
- this._element.setAttribute("aria-hidden", !0),
2966
- this._element.removeAttribute("aria-modal"),
2967
- this._element.removeAttribute("role"),
2968
- (this._isTransitioning = !1),
2969
- this._backdrop.hide(() => {
2970
- document.body.classList.remove(Tn),
2971
- this._resetAdjustments(),
2972
- this._scrollBar.reset(),
2973
- P.trigger(this._element, gn);
2974
- });
2975
- }
2976
- _isAnimated() {
2977
- return this._element.classList.contains("fade");
2978
- }
2979
- _triggerBackdropTransition() {
2980
- if (P.trigger(this._element, mn).defaultPrevented) return;
2981
- const t =
2982
- this._element.scrollHeight > document.documentElement.clientHeight,
2983
- e = this._element.style.overflowY;
2984
- "hidden" === e ||
2985
- this._element.classList.contains(On) ||
2986
- (t || (this._element.style.overflowY = "hidden"),
2987
- this._element.classList.add(On),
2988
- this._queueCallback(() => {
2989
- this._element.classList.remove(On),
2990
- this._queueCallback(() => {
2991
- this._element.style.overflowY = e;
2992
- }, this._dialog);
2993
- }, this._dialog),
2994
- this._element.focus());
2995
- }
2996
- _adjustDialog() {
2997
- const t =
2998
- this._element.scrollHeight > document.documentElement.clientHeight,
2999
- e = this._scrollBar.getWidth(),
3000
- i = e > 0;
3001
- if (i && !t) {
3002
- const t = m() ? "paddingLeft" : "paddingRight";
3003
- this._element.style[t] = `${e}px`;
3004
- }
3005
- if (!i && t) {
3006
- const t = m() ? "paddingRight" : "paddingLeft";
3007
- this._element.style[t] = `${e}px`;
3008
- }
3009
- }
3010
- _resetAdjustments() {
3011
- (this._element.style.paddingLeft = ""),
3012
- (this._element.style.paddingRight = "");
3013
- }
3014
- static jQueryInterface(t, e) {
3015
- return this.each(function () {
3016
- const i = Ln.getOrCreateInstance(this, t);
3017
- if ("string" == typeof t) {
3018
- if (void 0 === i[t]) throw new TypeError(`No method named "${t}"`);
3019
- i[t](e);
3020
- }
3021
- });
3022
- }
3023
- }
3024
- P.on(document, En, '[data-bs-toggle="modal"]', function (t) {
3025
- const e = R.getElementFromSelector(this);
3026
- ["A", "AREA"].includes(this.tagName) && t.preventDefault(),
3027
- P.one(e, _n, (t) => {
3028
- t.defaultPrevented ||
3029
- P.one(e, gn, () => {
3030
- l(this) && this.focus();
3031
- });
3032
- });
3033
- const i = R.findOne(".modal.show");
3034
- i && Ln.getInstance(i).hide(), Ln.getOrCreateInstance(e).toggle(this);
3035
- }),
3036
- q(Ln),
3037
- g(Ln);
3038
- const Sn = ".bs.offcanvas",
3039
- Dn = ".data-api",
3040
- $n = `load${Sn}${Dn}`,
3041
- In = "show",
3042
- Nn = "showing",
3043
- Pn = "hiding",
3044
- jn = ".offcanvas.show",
3045
- Mn = `show${Sn}`,
3046
- Fn = `shown${Sn}`,
3047
- Hn = `hide${Sn}`,
3048
- Wn = `hidePrevented${Sn}`,
3049
- Bn = `hidden${Sn}`,
3050
- zn = `resize${Sn}`,
3051
- Rn = `click${Sn}${Dn}`,
3052
- qn = `keydown.dismiss${Sn}`,
3053
- Vn = { backdrop: !0, keyboard: !0, scroll: !1 },
3054
- Kn = {
3055
- backdrop: "(boolean|string)",
3056
- keyboard: "boolean",
3057
- scroll: "boolean",
3058
- };
3059
- class Qn extends B {
3060
- constructor(t, e) {
3061
- super(t, e),
3062
- (this._isShown = !1),
3063
- (this._backdrop = this._initializeBackDrop()),
3064
- (this._focustrap = this._initializeFocusTrap()),
3065
- this._addEventListeners();
3066
- }
3067
- static get Default() {
3068
- return Vn;
3069
- }
3070
- static get DefaultType() {
3071
- return Kn;
3072
- }
3073
- static get NAME() {
3074
- return "offcanvas";
3075
- }
3076
- toggle(t) {
3077
- return this._isShown ? this.hide() : this.show(t);
3078
- }
3079
- show(t) {
3080
- this._isShown ||
3081
- P.trigger(this._element, Mn, { relatedTarget: t }).defaultPrevented ||
3082
- ((this._isShown = !0),
3083
- this._backdrop.show(),
3084
- this._config.scroll || new un().hide(),
3085
- this._element.setAttribute("aria-modal", !0),
3086
- this._element.setAttribute("role", "dialog"),
3087
- this._element.classList.add(Nn),
3088
- this._queueCallback(
3089
- () => {
3090
- (this._config.scroll && !this._config.backdrop) ||
3091
- this._focustrap.activate(),
3092
- this._element.classList.add(In),
3093
- this._element.classList.remove(Nn),
3094
- P.trigger(this._element, Fn, { relatedTarget: t });
3095
- },
3096
- this._element,
3097
- !0,
3098
- ));
3099
- }
3100
- hide() {
3101
- this._isShown &&
3102
- (P.trigger(this._element, Hn).defaultPrevented ||
3103
- (this._focustrap.deactivate(),
3104
- this._element.blur(),
3105
- (this._isShown = !1),
3106
- this._element.classList.add(Pn),
3107
- this._backdrop.hide(),
3108
- this._queueCallback(
3109
- () => {
3110
- this._element.classList.remove(In, Pn),
3111
- this._element.removeAttribute("aria-modal"),
3112
- this._element.removeAttribute("role"),
3113
- this._config.scroll || new un().reset(),
3114
- P.trigger(this._element, Bn);
3115
- },
3116
- this._element,
3117
- !0,
3118
- )));
3119
- }
3120
- dispose() {
3121
- this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose();
3122
- }
3123
- _initializeBackDrop() {
3124
- const t = Boolean(this._config.backdrop);
3125
- return new Zi({
3126
- className: "offcanvas-backdrop",
3127
- isVisible: t,
3128
- isAnimated: !0,
3129
- rootElement: this._element.parentNode,
3130
- clickCallback: t
3131
- ? () => {
3132
- "static" !== this._config.backdrop
3133
- ? this.hide()
3134
- : P.trigger(this._element, Wn);
3135
- }
3136
- : null,
3137
- });
3138
- }
3139
- _initializeFocusTrap() {
3140
- return new an({ trapElement: this._element });
3141
- }
3142
- _addEventListeners() {
3143
- P.on(this._element, qn, (t) => {
3144
- "Escape" === t.key &&
3145
- (this._config.keyboard ? this.hide() : P.trigger(this._element, Wn));
3146
- });
3147
- }
3148
- static jQueryInterface(t) {
3149
- return this.each(function () {
3150
- const e = Qn.getOrCreateInstance(this, t);
3151
- if ("string" == typeof t) {
3152
- if (void 0 === e[t] || t.startsWith("_") || "constructor" === t)
3153
- throw new TypeError(`No method named "${t}"`);
3154
- e[t](this);
3155
- }
3156
- });
3157
- }
3158
- }
3159
- P.on(document, Rn, '[data-bs-toggle="offcanvas"]', function (t) {
3160
- const e = R.getElementFromSelector(this);
3161
- if ((["A", "AREA"].includes(this.tagName) && t.preventDefault(), c(this)))
3162
- return;
3163
- P.one(e, Bn, () => {
3164
- l(this) && this.focus();
3165
- });
3166
- const i = R.findOne(jn);
3167
- i && i !== e && Qn.getInstance(i).hide(),
3168
- Qn.getOrCreateInstance(e).toggle(this);
3169
- }),
3170
- P.on(window, $n, () => {
3171
- for (const t of R.find(jn)) Qn.getOrCreateInstance(t).show();
3172
- }),
3173
- P.on(window, zn, () => {
3174
- for (const t of R.find("[aria-modal][class*=show][class*=offcanvas-]"))
3175
- "fixed" !== getComputedStyle(t).position &&
3176
- Qn.getOrCreateInstance(t).hide();
3177
- }),
3178
- q(Qn),
3179
- g(Qn);
3180
- const Xn = {
3181
- "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
3182
- a: ["target", "href", "title", "rel"],
3183
- area: [],
3184
- b: [],
3185
- br: [],
3186
- col: [],
3187
- code: [],
3188
- dd: [],
3189
- div: [],
3190
- dl: [],
3191
- dt: [],
3192
- em: [],
3193
- hr: [],
3194
- h1: [],
3195
- h2: [],
3196
- h3: [],
3197
- h4: [],
3198
- h5: [],
3199
- h6: [],
3200
- i: [],
3201
- img: ["src", "srcset", "alt", "title", "width", "height"],
3202
- li: [],
3203
- ol: [],
3204
- p: [],
3205
- pre: [],
3206
- s: [],
3207
- small: [],
3208
- span: [],
3209
- sub: [],
3210
- sup: [],
3211
- strong: [],
3212
- u: [],
3213
- ul: [],
3214
- },
3215
- Yn = new Set([
3216
- "background",
3217
- "cite",
3218
- "href",
3219
- "itemtype",
3220
- "longdesc",
3221
- "poster",
3222
- "src",
3223
- "xlink:href",
3224
- ]),
3225
- Un = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,
3226
- Gn = (t, e) => {
3227
- const i = t.nodeName.toLowerCase();
3228
- return e.includes(i)
3229
- ? !Yn.has(i) || Boolean(Un.test(t.nodeValue))
3230
- : e.filter((t) => t instanceof RegExp).some((t) => t.test(i));
3231
- },
3232
- Jn = {
3233
- allowList: Xn,
3234
- content: {},
3235
- extraClass: "",
3236
- html: !1,
3237
- sanitize: !0,
3238
- sanitizeFn: null,
3239
- template: "<div></div>",
3240
- },
3241
- Zn = {
3242
- allowList: "object",
3243
- content: "object",
3244
- extraClass: "(string|function)",
3245
- html: "boolean",
3246
- sanitize: "boolean",
3247
- sanitizeFn: "(null|function)",
3248
- template: "string",
3249
- },
3250
- ts = {
3251
- entry: "(string|element|function|null)",
3252
- selector: "(string|element)",
3253
- };
3254
- class es extends W {
3255
- constructor(t) {
3256
- super(), (this._config = this._getConfig(t));
3257
- }
3258
- static get Default() {
3259
- return Jn;
3260
- }
3261
- static get DefaultType() {
3262
- return Zn;
3263
- }
3264
- static get NAME() {
3265
- return "TemplateFactory";
3266
- }
3267
- getContent() {
3268
- return Object.values(this._config.content)
3269
- .map((t) => this._resolvePossibleFunction(t))
3270
- .filter(Boolean);
3271
- }
3272
- hasContent() {
3273
- return this.getContent().length > 0;
3274
- }
3275
- changeContent(t) {
3276
- return (
3277
- this._checkContent(t),
3278
- (this._config.content = { ...this._config.content, ...t }),
3279
- this
3280
- );
3281
- }
3282
- toHtml() {
3283
- const t = document.createElement("div");
3284
- t.innerHTML = this._maybeSanitize(this._config.template);
3285
- for (const [e, i] of Object.entries(this._config.content))
3286
- this._setContent(t, i, e);
3287
- const e = t.children[0],
3288
- i = this._resolvePossibleFunction(this._config.extraClass);
3289
- return i && e.classList.add(...i.split(" ")), e;
3290
- }
3291
- _typeCheckConfig(t) {
3292
- super._typeCheckConfig(t), this._checkContent(t.content);
3293
- }
3294
- _checkContent(t) {
3295
- for (const [e, i] of Object.entries(t))
3296
- super._typeCheckConfig({ selector: e, entry: i }, ts);
3297
- }
3298
- _setContent(t, e, i) {
3299
- const n = R.findOne(i, t);
3300
- n &&
3301
- ((e = this._resolvePossibleFunction(e))
3302
- ? r(e)
3303
- ? this._putElementInTemplate(a(e), n)
3304
- : this._config.html
3305
- ? (n.innerHTML = this._maybeSanitize(e))
3306
- : (n.textContent = e)
3307
- : n.remove());
3308
- }
3309
- _maybeSanitize(t) {
3310
- return this._config.sanitize
3311
- ? (function (t, e, i) {
3312
- if (!t.length) return t;
3313
- if (i && "function" == typeof i) return i(t);
3314
- const n = new window.DOMParser().parseFromString(t, "text/html"),
3315
- s = [].concat(...n.body.querySelectorAll("*"));
3316
- for (const t of s) {
3317
- const i = t.nodeName.toLowerCase();
3318
- if (!Object.keys(e).includes(i)) {
3319
- t.remove();
3320
- continue;
3321
- }
3322
- const n = [].concat(...t.attributes),
3323
- s = [].concat(e["*"] || [], e[i] || []);
3324
- for (const e of n) Gn(e, s) || t.removeAttribute(e.nodeName);
3325
- }
3326
- return n.body.innerHTML;
3327
- })(t, this._config.allowList, this._config.sanitizeFn)
3328
- : t;
3329
- }
3330
- _resolvePossibleFunction(t) {
3331
- return _(t, [void 0, this]);
3332
- }
3333
- _putElementInTemplate(t, e) {
3334
- if (this._config.html) return (e.innerHTML = ""), void e.append(t);
3335
- e.textContent = t.textContent;
3336
- }
3337
- }
3338
- const is = new Set(["sanitize", "allowList", "sanitizeFn"]),
3339
- ns = "fade",
3340
- ss = "show",
3341
- os = ".tooltip-inner",
3342
- rs = ".modal",
3343
- as = "hide.bs.modal",
3344
- ls = "hover",
3345
- cs = "focus",
3346
- hs = "click",
3347
- ds = {
3348
- AUTO: "auto",
3349
- TOP: "top",
3350
- RIGHT: m() ? "left" : "right",
3351
- BOTTOM: "bottom",
3352
- LEFT: m() ? "right" : "left",
3353
- },
3354
- us = {
3355
- allowList: Xn,
3356
- animation: !0,
3357
- boundary: "clippingParents",
3358
- container: !1,
3359
- customClass: "",
3360
- delay: 0,
3361
- fallbackPlacements: ["top", "right", "bottom", "left"],
3362
- html: !1,
3363
- offset: [0, 6],
3364
- placement: "top",
3365
- popperConfig: null,
3366
- sanitize: !0,
3367
- sanitizeFn: null,
3368
- selector: !1,
3369
- template:
3370
- '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
3371
- title: "",
3372
- trigger: "hover focus",
3373
- },
3374
- fs = {
3375
- allowList: "object",
3376
- animation: "boolean",
3377
- boundary: "(string|element)",
3378
- container: "(string|element|boolean)",
3379
- customClass: "(string|function)",
3380
- delay: "(number|object)",
3381
- fallbackPlacements: "array",
3382
- html: "boolean",
3383
- offset: "(array|string|function)",
3384
- placement: "(string|function)",
3385
- popperConfig: "(null|object|function)",
3386
- sanitize: "boolean",
3387
- sanitizeFn: "(null|function)",
3388
- selector: "(string|boolean)",
3389
- template: "string",
3390
- title: "(string|element|function)",
3391
- trigger: "string",
3392
- };
3393
- class ps extends B {
3394
- constructor(t, e) {
3395
- if (void 0 === Ai)
3396
- throw new TypeError(
3397
- "Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)",
3398
- );
3399
- super(t, e),
3400
- (this._isEnabled = !0),
3401
- (this._timeout = 0),
3402
- (this._isHovered = null),
3403
- (this._activeTrigger = {}),
3404
- (this._popper = null),
3405
- (this._templateFactory = null),
3406
- (this._newContent = null),
3407
- (this.tip = null),
3408
- this._setListeners(),
3409
- this._config.selector || this._fixTitle();
3410
- }
3411
- static get Default() {
3412
- return us;
3413
- }
3414
- static get DefaultType() {
3415
- return fs;
3416
- }
3417
- static get NAME() {
3418
- return "tooltip";
3419
- }
3420
- enable() {
3421
- this._isEnabled = !0;
3422
- }
3423
- disable() {
3424
- this._isEnabled = !1;
3425
- }
3426
- toggleEnabled() {
3427
- this._isEnabled = !this._isEnabled;
3428
- }
3429
- toggle() {
3430
- this._isEnabled && (this._isShown() ? this._leave() : this._enter());
3431
- }
3432
- dispose() {
3433
- clearTimeout(this._timeout),
3434
- P.off(this._element.closest(rs), as, this._hideModalHandler),
3435
- this._element.getAttribute("data-bs-original-title") &&
3436
- this._element.setAttribute(
3437
- "title",
3438
- this._element.getAttribute("data-bs-original-title"),
3439
- ),
3440
- this._disposePopper(),
3441
- super.dispose();
3442
- }
3443
- show() {
3444
- if ("none" === this._element.style.display)
3445
- throw new Error("Please use show on visible elements");
3446
- if (!this._isWithContent() || !this._isEnabled) return;
3447
- const t = P.trigger(this._element, this.constructor.eventName("show")),
3448
- e = (
3449
- h(this._element) || this._element.ownerDocument.documentElement
3450
- ).contains(this._element);
3451
- if (t.defaultPrevented || !e) return;
3452
- this._disposePopper();
3453
- const i = this._getTipElement();
3454
- this._element.setAttribute("aria-describedby", i.getAttribute("id"));
3455
- const { container: n } = this._config;
3456
- if (
3457
- (this._element.ownerDocument.documentElement.contains(this.tip) ||
3458
- (n.append(i),
3459
- P.trigger(this._element, this.constructor.eventName("inserted"))),
3460
- (this._popper = this._createPopper(i)),
3461
- i.classList.add(ss),
3462
- "ontouchstart" in document.documentElement)
3463
- )
3464
- for (const t of [].concat(...document.body.children))
3465
- P.on(t, "mouseover", d);
3466
- this._queueCallback(
3467
- () => {
3468
- P.trigger(this._element, this.constructor.eventName("shown")),
3469
- !1 === this._isHovered && this._leave(),
3470
- (this._isHovered = !1);
3471
- },
3472
- this.tip,
3473
- this._isAnimated(),
3474
- );
3475
- }
3476
- hide() {
3477
- if (
3478
- this._isShown() &&
3479
- !P.trigger(this._element, this.constructor.eventName("hide"))
3480
- .defaultPrevented
3481
- ) {
3482
- if (
3483
- (this._getTipElement().classList.remove(ss),
3484
- "ontouchstart" in document.documentElement)
3485
- )
3486
- for (const t of [].concat(...document.body.children))
3487
- P.off(t, "mouseover", d);
3488
- (this._activeTrigger[hs] = !1),
3489
- (this._activeTrigger[cs] = !1),
3490
- (this._activeTrigger[ls] = !1),
3491
- (this._isHovered = null),
3492
- this._queueCallback(
3493
- () => {
3494
- this._isWithActiveTrigger() ||
3495
- (this._isHovered || this._disposePopper(),
3496
- this._element.removeAttribute("aria-describedby"),
3497
- P.trigger(this._element, this.constructor.eventName("hidden")));
3498
- },
3499
- this.tip,
3500
- this._isAnimated(),
3501
- );
3502
- }
3503
- }
3504
- update() {
3505
- this._popper && this._popper.update();
3506
- }
3507
- _isWithContent() {
3508
- return Boolean(this._getTitle());
3509
- }
3510
- _getTipElement() {
3511
- return (
3512
- this.tip ||
3513
- (this.tip = this._createTipElement(
3514
- this._newContent || this._getContentForTemplate(),
3515
- )),
3516
- this.tip
3517
- );
3518
- }
3519
- _createTipElement(t) {
3520
- const e = this._getTemplateFactory(t).toHtml();
3521
- if (!e) return null;
3522
- e.classList.remove(ns, ss),
3523
- e.classList.add(`bs-${this.constructor.NAME}-auto`);
3524
- const i = ((t) => {
3525
- do {
3526
- t += Math.floor(1e6 * Math.random());
3527
- } while (document.getElementById(t));
3528
- return t;
3529
- })(this.constructor.NAME).toString();
3530
- return (
3531
- e.setAttribute("id", i), this._isAnimated() && e.classList.add(ns), e
3532
- );
3533
- }
3534
- setContent(t) {
3535
- (this._newContent = t),
3536
- this._isShown() && (this._disposePopper(), this.show());
3537
- }
3538
- _getTemplateFactory(t) {
3539
- return (
3540
- this._templateFactory
3541
- ? this._templateFactory.changeContent(t)
3542
- : (this._templateFactory = new es({
3543
- ...this._config,
3544
- content: t,
3545
- extraClass: this._resolvePossibleFunction(
3546
- this._config.customClass,
3547
- ),
3548
- })),
3549
- this._templateFactory
3550
- );
3551
- }
3552
- _getContentForTemplate() {
3553
- return { [os]: this._getTitle() };
3554
- }
3555
- _getTitle() {
3556
- return (
3557
- this._resolvePossibleFunction(this._config.title) ||
3558
- this._element.getAttribute("data-bs-original-title")
3559
- );
3560
- }
3561
- _initializeOnDelegatedTarget(t) {
3562
- return this.constructor.getOrCreateInstance(
3563
- t.delegateTarget,
3564
- this._getDelegateConfig(),
3565
- );
3566
- }
3567
- _isAnimated() {
3568
- return (
3569
- this._config.animation || (this.tip && this.tip.classList.contains(ns))
3570
- );
3571
- }
3572
- _isShown() {
3573
- return this.tip && this.tip.classList.contains(ss);
3574
- }
3575
- _createPopper(t) {
3576
- const e = _(this._config.placement, [this, t, this._element]),
3577
- i = ds[e.toUpperCase()];
3578
- return wi(this._element, t, this._getPopperConfig(i));
3579
- }
3580
- _getOffset() {
3581
- const { offset: t } = this._config;
3582
- return "string" == typeof t
3583
- ? t.split(",").map((t) => Number.parseInt(t, 10))
3584
- : "function" == typeof t
3585
- ? (e) => t(e, this._element)
3586
- : t;
3587
- }
3588
- _resolvePossibleFunction(t) {
3589
- return _(t, [this._element, this._element]);
3590
- }
3591
- _getPopperConfig(t) {
3592
- const e = {
3593
- placement: t,
3594
- modifiers: [
3595
- {
3596
- name: "flip",
3597
- options: { fallbackPlacements: this._config.fallbackPlacements },
3598
- },
3599
- { name: "offset", options: { offset: this._getOffset() } },
3600
- {
3601
- name: "preventOverflow",
3602
- options: { boundary: this._config.boundary },
3603
- },
3604
- {
3605
- name: "arrow",
3606
- options: { element: `.${this.constructor.NAME}-arrow` },
3607
- },
3608
- {
3609
- name: "preSetPlacement",
3610
- enabled: !0,
3611
- phase: "beforeMain",
3612
- fn: (t) => {
3613
- this._getTipElement().setAttribute(
3614
- "data-popper-placement",
3615
- t.state.placement,
3616
- );
3617
- },
3618
- },
3619
- ],
3620
- };
3621
- return { ...e, ..._(this._config.popperConfig, [void 0, e]) };
3622
- }
3623
- _setListeners() {
3624
- const t = this._config.trigger.split(" ");
3625
- for (const e of t)
3626
- if ("click" === e)
3627
- P.on(
3628
- this._element,
3629
- this.constructor.eventName("click"),
3630
- this._config.selector,
3631
- (t) => {
3632
- const e = this._initializeOnDelegatedTarget(t);
3633
- (e._activeTrigger[hs] = !(e._isShown() && e._activeTrigger[hs])),
3634
- e.toggle();
3635
- },
3636
- );
3637
- else if ("manual" !== e) {
3638
- const t =
3639
- e === ls
3640
- ? this.constructor.eventName("mouseenter")
3641
- : this.constructor.eventName("focusin"),
3642
- i =
3643
- e === ls
3644
- ? this.constructor.eventName("mouseleave")
3645
- : this.constructor.eventName("focusout");
3646
- P.on(this._element, t, this._config.selector, (t) => {
3647
- const e = this._initializeOnDelegatedTarget(t);
3648
- (e._activeTrigger["focusin" === t.type ? cs : ls] = !0), e._enter();
3649
- }),
3650
- P.on(this._element, i, this._config.selector, (t) => {
3651
- const e = this._initializeOnDelegatedTarget(t);
3652
- (e._activeTrigger["focusout" === t.type ? cs : ls] =
3653
- e._element.contains(t.relatedTarget)),
3654
- e._leave();
3655
- });
3656
- }
3657
- (this._hideModalHandler = () => {
3658
- this._element && this.hide();
3659
- }),
3660
- P.on(this._element.closest(rs), as, this._hideModalHandler);
3661
- }
3662
- _fixTitle() {
3663
- const t = this._element.getAttribute("title");
3664
- t &&
3665
- (this._element.getAttribute("aria-label") ||
3666
- this._element.textContent.trim() ||
3667
- this._element.setAttribute("aria-label", t),
3668
- this._element.setAttribute("data-bs-original-title", t),
3669
- this._element.removeAttribute("title"));
3670
- }
3671
- _enter() {
3672
- this._isShown() || this._isHovered
3673
- ? (this._isHovered = !0)
3674
- : ((this._isHovered = !0),
3675
- this._setTimeout(() => {
3676
- this._isHovered && this.show();
3677
- }, this._config.delay.show));
3678
- }
3679
- _leave() {
3680
- this._isWithActiveTrigger() ||
3681
- ((this._isHovered = !1),
3682
- this._setTimeout(() => {
3683
- this._isHovered || this.hide();
3684
- }, this._config.delay.hide));
3685
- }
3686
- _setTimeout(t, e) {
3687
- clearTimeout(this._timeout), (this._timeout = setTimeout(t, e));
3688
- }
3689
- _isWithActiveTrigger() {
3690
- return Object.values(this._activeTrigger).includes(!0);
3691
- }
3692
- _getConfig(t) {
3693
- const e = H.getDataAttributes(this._element);
3694
- for (const t of Object.keys(e)) is.has(t) && delete e[t];
3695
- return (
3696
- (t = { ...e, ...("object" == typeof t && t ? t : {}) }),
3697
- (t = this._mergeConfigObj(t)),
3698
- (t = this._configAfterMerge(t)),
3699
- this._typeCheckConfig(t),
3700
- t
3701
- );
3702
- }
3703
- _configAfterMerge(t) {
3704
- return (
3705
- (t.container = !1 === t.container ? document.body : a(t.container)),
3706
- "number" == typeof t.delay &&
3707
- (t.delay = { show: t.delay, hide: t.delay }),
3708
- "number" == typeof t.title && (t.title = t.title.toString()),
3709
- "number" == typeof t.content && (t.content = t.content.toString()),
3710
- t
3711
- );
3712
- }
3713
- _getDelegateConfig() {
3714
- const t = {};
3715
- for (const [e, i] of Object.entries(this._config))
3716
- this.constructor.Default[e] !== i && (t[e] = i);
3717
- return (t.selector = !1), (t.trigger = "manual"), t;
3718
- }
3719
- _disposePopper() {
3720
- this._popper && (this._popper.destroy(), (this._popper = null)),
3721
- this.tip && (this.tip.remove(), (this.tip = null));
3722
- }
3723
- static jQueryInterface(t) {
3724
- return this.each(function () {
3725
- const e = ps.getOrCreateInstance(this, t);
3726
- if ("string" == typeof t) {
3727
- if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
3728
- e[t]();
3729
- }
3730
- });
3731
- }
3732
- }
3733
- g(ps);
3734
- const ms = ".popover-header",
3735
- gs = ".popover-body",
3736
- _s = {
3737
- ...ps.Default,
3738
- content: "",
3739
- offset: [0, 8],
3740
- placement: "right",
3741
- template:
3742
- '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',
3743
- trigger: "click",
3744
- },
3745
- bs = { ...ps.DefaultType, content: "(null|string|element|function)" };
3746
- class vs extends ps {
3747
- static get Default() {
3748
- return _s;
3749
- }
3750
- static get DefaultType() {
3751
- return bs;
3752
- }
3753
- static get NAME() {
3754
- return "popover";
3755
- }
3756
- _isWithContent() {
3757
- return this._getTitle() || this._getContent();
3758
- }
3759
- _getContentForTemplate() {
3760
- return { [ms]: this._getTitle(), [gs]: this._getContent() };
3761
- }
3762
- _getContent() {
3763
- return this._resolvePossibleFunction(this._config.content);
3764
- }
3765
- static jQueryInterface(t) {
3766
- return this.each(function () {
3767
- const e = vs.getOrCreateInstance(this, t);
3768
- if ("string" == typeof t) {
3769
- if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
3770
- e[t]();
3771
- }
3772
- });
3773
- }
3774
- }
3775
- g(vs);
3776
- const ys = ".bs.scrollspy",
3777
- ws = `activate${ys}`,
3778
- As = `click${ys}`,
3779
- Es = `load${ys}.data-api`,
3780
- Ts = "active",
3781
- Cs = "[href]",
3782
- Os = ".nav-link",
3783
- xs = `${Os}, .nav-item > ${Os}, .list-group-item`,
3784
- ks = {
3785
- offset: null,
3786
- rootMargin: "0px 0px -25%",
3787
- smoothScroll: !1,
3788
- target: null,
3789
- threshold: [0.1, 0.5, 1],
3790
- },
3791
- Ls = {
3792
- offset: "(number|null)",
3793
- rootMargin: "string",
3794
- smoothScroll: "boolean",
3795
- target: "element",
3796
- threshold: "array",
3797
- };
3798
- class Ss extends B {
3799
- constructor(t, e) {
3800
- super(t, e),
3801
- (this._targetLinks = new Map()),
3802
- (this._observableSections = new Map()),
3803
- (this._rootElement =
3804
- "visible" === getComputedStyle(this._element).overflowY
3805
- ? null
3806
- : this._element),
3807
- (this._activeTarget = null),
3808
- (this._observer = null),
3809
- (this._previousScrollData = { visibleEntryTop: 0, parentScrollTop: 0 }),
3810
- this.refresh();
3811
- }
3812
- static get Default() {
3813
- return ks;
3814
- }
3815
- static get DefaultType() {
3816
- return Ls;
3817
- }
3818
- static get NAME() {
3819
- return "scrollspy";
3820
- }
3821
- refresh() {
3822
- this._initializeTargetsAndObservables(),
3823
- this._maybeEnableSmoothScroll(),
3824
- this._observer
3825
- ? this._observer.disconnect()
3826
- : (this._observer = this._getNewObserver());
3827
- for (const t of this._observableSections.values())
3828
- this._observer.observe(t);
3829
- }
3830
- dispose() {
3831
- this._observer.disconnect(), super.dispose();
3832
- }
3833
- _configAfterMerge(t) {
3834
- return (
3835
- (t.target = a(t.target) || document.body),
3836
- (t.rootMargin = t.offset ? `${t.offset}px 0px -30%` : t.rootMargin),
3837
- "string" == typeof t.threshold &&
3838
- (t.threshold = t.threshold
3839
- .split(",")
3840
- .map((t) => Number.parseFloat(t))),
3841
- t
3842
- );
3843
- }
3844
- _maybeEnableSmoothScroll() {
3845
- this._config.smoothScroll &&
3846
- (P.off(this._config.target, As),
3847
- P.on(this._config.target, As, Cs, (t) => {
3848
- const e = this._observableSections.get(t.target.hash);
3849
- if (e) {
3850
- t.preventDefault();
3851
- const i = this._rootElement || window,
3852
- n = e.offsetTop - this._element.offsetTop;
3853
- if (i.scrollTo)
3854
- return void i.scrollTo({ top: n, behavior: "smooth" });
3855
- i.scrollTop = n;
3856
- }
3857
- }));
3858
- }
3859
- _getNewObserver() {
3860
- const t = {
3861
- root: this._rootElement,
3862
- threshold: this._config.threshold,
3863
- rootMargin: this._config.rootMargin,
3864
- };
3865
- return new IntersectionObserver((t) => this._observerCallback(t), t);
3866
- }
3867
- _observerCallback(t) {
3868
- const e = (t) => this._targetLinks.get(`#${t.target.id}`),
3869
- i = (t) => {
3870
- (this._previousScrollData.visibleEntryTop = t.target.offsetTop),
3871
- this._process(e(t));
3872
- },
3873
- n = (this._rootElement || document.documentElement).scrollTop,
3874
- s = n >= this._previousScrollData.parentScrollTop;
3875
- this._previousScrollData.parentScrollTop = n;
3876
- for (const o of t) {
3877
- if (!o.isIntersecting) {
3878
- (this._activeTarget = null), this._clearActiveClass(e(o));
3879
- continue;
3880
- }
3881
- const t =
3882
- o.target.offsetTop >= this._previousScrollData.visibleEntryTop;
3883
- if (s && t) {
3884
- if ((i(o), !n)) return;
3885
- } else s || t || i(o);
3886
- }
3887
- }
3888
- _initializeTargetsAndObservables() {
3889
- (this._targetLinks = new Map()), (this._observableSections = new Map());
3890
- const t = R.find(Cs, this._config.target);
3891
- for (const e of t) {
3892
- if (!e.hash || c(e)) continue;
3893
- const t = R.findOne(decodeURI(e.hash), this._element);
3894
- l(t) &&
3895
- (this._targetLinks.set(decodeURI(e.hash), e),
3896
- this._observableSections.set(e.hash, t));
3897
- }
3898
- }
3899
- _process(t) {
3900
- this._activeTarget !== t &&
3901
- (this._clearActiveClass(this._config.target),
3902
- (this._activeTarget = t),
3903
- t.classList.add(Ts),
3904
- this._activateParents(t),
3905
- P.trigger(this._element, ws, { relatedTarget: t }));
3906
- }
3907
- _activateParents(t) {
3908
- if (t.classList.contains("dropdown-item"))
3909
- R.findOne(".dropdown-toggle", t.closest(".dropdown")).classList.add(Ts);
3910
- else
3911
- for (const e of R.parents(t, ".nav, .list-group"))
3912
- for (const t of R.prev(e, xs)) t.classList.add(Ts);
3913
- }
3914
- _clearActiveClass(t) {
3915
- t.classList.remove(Ts);
3916
- const e = R.find(`${Cs}.${Ts}`, t);
3917
- for (const t of e) t.classList.remove(Ts);
3918
- }
3919
- static jQueryInterface(t) {
3920
- return this.each(function () {
3921
- const e = Ss.getOrCreateInstance(this, t);
3922
- if ("string" == typeof t) {
3923
- if (void 0 === e[t] || t.startsWith("_") || "constructor" === t)
3924
- throw new TypeError(`No method named "${t}"`);
3925
- e[t]();
3926
- }
3927
- });
3928
- }
3929
- }
3930
- P.on(window, Es, () => {
3931
- for (const t of R.find('[data-bs-spy="scroll"]')) Ss.getOrCreateInstance(t);
3932
- }),
3933
- g(Ss);
3934
- const Ds = ".bs.tab",
3935
- $s = `hide${Ds}`,
3936
- Is = `hidden${Ds}`,
3937
- Ns = `show${Ds}`,
3938
- Ps = `shown${Ds}`,
3939
- js = `click${Ds}`,
3940
- Ms = `keydown${Ds}`,
3941
- Fs = `load${Ds}`,
3942
- Hs = "ArrowLeft",
3943
- Ws = "ArrowRight",
3944
- Bs = "ArrowUp",
3945
- zs = "ArrowDown",
3946
- Rs = "Home",
3947
- qs = "End",
3948
- Vs = "active",
3949
- Ks = "fade",
3950
- Qs = "show",
3951
- Xs = ".dropdown-toggle",
3952
- Ys = `:not(${Xs})`,
3953
- Us =
3954
- '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',
3955
- Gs = `.nav-link${Ys}, .list-group-item${Ys}, [role="tab"]${Ys}, ${Us}`,
3956
- Js = `.${Vs}[data-bs-toggle="tab"], .${Vs}[data-bs-toggle="pill"], .${Vs}[data-bs-toggle="list"]`;
3957
- class Zs extends B {
3958
- constructor(t) {
3959
- super(t),
3960
- (this._parent = this._element.closest(
3961
- '.list-group, .nav, [role="tablist"]',
3962
- )),
3963
- this._parent &&
3964
- (this._setInitialAttributes(this._parent, this._getChildren()),
3965
- P.on(this._element, Ms, (t) => this._keydown(t)));
3966
- }
3967
- static get NAME() {
3968
- return "tab";
3969
- }
3970
- show() {
3971
- const t = this._element;
3972
- if (this._elemIsActive(t)) return;
3973
- const e = this._getActiveElem(),
3974
- i = e ? P.trigger(e, $s, { relatedTarget: t }) : null;
3975
- P.trigger(t, Ns, { relatedTarget: e }).defaultPrevented ||
3976
- (i && i.defaultPrevented) ||
3977
- (this._deactivate(e, t), this._activate(t, e));
3978
- }
3979
- _activate(t, e) {
3980
- t &&
3981
- (t.classList.add(Vs),
3982
- this._activate(R.getElementFromSelector(t)),
3983
- this._queueCallback(
3984
- () => {
3985
- "tab" === t.getAttribute("role")
3986
- ? (t.removeAttribute("tabindex"),
3987
- t.setAttribute("aria-selected", !0),
3988
- this._toggleDropDown(t, !0),
3989
- P.trigger(t, Ps, { relatedTarget: e }))
3990
- : t.classList.add(Qs);
3991
- },
3992
- t,
3993
- t.classList.contains(Ks),
3994
- ));
3995
- }
3996
- _deactivate(t, e) {
3997
- t &&
3998
- (t.classList.remove(Vs),
3999
- t.blur(),
4000
- this._deactivate(R.getElementFromSelector(t)),
4001
- this._queueCallback(
4002
- () => {
4003
- "tab" === t.getAttribute("role")
4004
- ? (t.setAttribute("aria-selected", !1),
4005
- t.setAttribute("tabindex", "-1"),
4006
- this._toggleDropDown(t, !1),
4007
- P.trigger(t, Is, { relatedTarget: e }))
4008
- : t.classList.remove(Qs);
4009
- },
4010
- t,
4011
- t.classList.contains(Ks),
4012
- ));
4013
- }
4014
- _keydown(t) {
4015
- if (![Hs, Ws, Bs, zs, Rs, qs].includes(t.key)) return;
4016
- t.stopPropagation(), t.preventDefault();
4017
- const e = this._getChildren().filter((t) => !c(t));
4018
- let i;
4019
- if ([Rs, qs].includes(t.key)) i = e[t.key === Rs ? 0 : e.length - 1];
4020
- else {
4021
- const n = [Ws, zs].includes(t.key);
4022
- i = v(e, t.target, n, !0);
4023
- }
4024
- i && (i.focus({ preventScroll: !0 }), Zs.getOrCreateInstance(i).show());
4025
- }
4026
- _getChildren() {
4027
- return R.find(Gs, this._parent);
4028
- }
4029
- _getActiveElem() {
4030
- return this._getChildren().find((t) => this._elemIsActive(t)) || null;
4031
- }
4032
- _setInitialAttributes(t, e) {
4033
- this._setAttributeIfNotExists(t, "role", "tablist");
4034
- for (const t of e) this._setInitialAttributesOnChild(t);
4035
- }
4036
- _setInitialAttributesOnChild(t) {
4037
- t = this._getInnerElement(t);
4038
- const e = this._elemIsActive(t),
4039
- i = this._getOuterElement(t);
4040
- t.setAttribute("aria-selected", e),
4041
- i !== t && this._setAttributeIfNotExists(i, "role", "presentation"),
4042
- e || t.setAttribute("tabindex", "-1"),
4043
- this._setAttributeIfNotExists(t, "role", "tab"),
4044
- this._setInitialAttributesOnTargetPanel(t);
4045
- }
4046
- _setInitialAttributesOnTargetPanel(t) {
4047
- const e = R.getElementFromSelector(t);
4048
- e &&
4049
- (this._setAttributeIfNotExists(e, "role", "tabpanel"),
4050
- t.id && this._setAttributeIfNotExists(e, "aria-labelledby", `${t.id}`));
4051
- }
4052
- _toggleDropDown(t, e) {
4053
- const i = this._getOuterElement(t);
4054
- if (!i.classList.contains("dropdown")) return;
4055
- const n = (t, n) => {
4056
- const s = R.findOne(t, i);
4057
- s && s.classList.toggle(n, e);
4058
- };
4059
- n(Xs, Vs), n(".dropdown-menu", Qs), i.setAttribute("aria-expanded", e);
4060
- }
4061
- _setAttributeIfNotExists(t, e, i) {
4062
- t.hasAttribute(e) || t.setAttribute(e, i);
4063
- }
4064
- _elemIsActive(t) {
4065
- return t.classList.contains(Vs);
4066
- }
4067
- _getInnerElement(t) {
4068
- return t.matches(Gs) ? t : R.findOne(Gs, t);
4069
- }
4070
- _getOuterElement(t) {
4071
- return t.closest(".nav-item, .list-group-item") || t;
4072
- }
4073
- static jQueryInterface(t) {
4074
- return this.each(function () {
4075
- const e = Zs.getOrCreateInstance(this);
4076
- if ("string" == typeof t) {
4077
- if (void 0 === e[t] || t.startsWith("_") || "constructor" === t)
4078
- throw new TypeError(`No method named "${t}"`);
4079
- e[t]();
4080
- }
4081
- });
4082
- }
4083
- }
4084
- P.on(document, js, Us, function (t) {
4085
- ["A", "AREA"].includes(this.tagName) && t.preventDefault(),
4086
- c(this) || Zs.getOrCreateInstance(this).show();
4087
- }),
4088
- P.on(window, Fs, () => {
4089
- for (const t of R.find(Js)) Zs.getOrCreateInstance(t);
4090
- }),
4091
- g(Zs);
4092
- const to = ".bs.toast",
4093
- eo = `mouseover${to}`,
4094
- io = `mouseout${to}`,
4095
- no = `focusin${to}`,
4096
- so = `focusout${to}`,
4097
- oo = `hide${to}`,
4098
- ro = `hidden${to}`,
4099
- ao = `show${to}`,
4100
- lo = `shown${to}`,
4101
- co = "hide",
4102
- ho = "show",
4103
- uo = "showing",
4104
- fo = { animation: "boolean", autohide: "boolean", delay: "number" },
4105
- po = { animation: !0, autohide: !0, delay: 5e3 };
4106
- class mo extends B {
4107
- constructor(t, e) {
4108
- super(t, e),
4109
- (this._timeout = null),
4110
- (this._hasMouseInteraction = !1),
4111
- (this._hasKeyboardInteraction = !1),
4112
- this._setListeners();
4113
- }
4114
- static get Default() {
4115
- return po;
4116
- }
4117
- static get DefaultType() {
4118
- return fo;
4119
- }
4120
- static get NAME() {
4121
- return "toast";
4122
- }
4123
- show() {
4124
- P.trigger(this._element, ao).defaultPrevented ||
4125
- (this._clearTimeout(),
4126
- this._config.animation && this._element.classList.add("fade"),
4127
- this._element.classList.remove(co),
4128
- u(this._element),
4129
- this._element.classList.add(ho, uo),
4130
- this._queueCallback(
4131
- () => {
4132
- this._element.classList.remove(uo),
4133
- P.trigger(this._element, lo),
4134
- this._maybeScheduleHide();
4135
- },
4136
- this._element,
4137
- this._config.animation,
4138
- ));
4139
- }
4140
- hide() {
4141
- this.isShown() &&
4142
- (P.trigger(this._element, oo).defaultPrevented ||
4143
- (this._element.classList.add(uo),
4144
- this._queueCallback(
4145
- () => {
4146
- this._element.classList.add(co),
4147
- this._element.classList.remove(uo, ho),
4148
- P.trigger(this._element, ro);
4149
- },
4150
- this._element,
4151
- this._config.animation,
4152
- )));
4153
- }
4154
- dispose() {
4155
- this._clearTimeout(),
4156
- this.isShown() && this._element.classList.remove(ho),
4157
- super.dispose();
4158
- }
4159
- isShown() {
4160
- return this._element.classList.contains(ho);
4161
- }
4162
- _maybeScheduleHide() {
4163
- this._config.autohide &&
4164
- (this._hasMouseInteraction ||
4165
- this._hasKeyboardInteraction ||
4166
- (this._timeout = setTimeout(() => {
4167
- this.hide();
4168
- }, this._config.delay)));
4169
- }
4170
- _onInteraction(t, e) {
4171
- switch (t.type) {
4172
- case "mouseover":
4173
- case "mouseout":
4174
- this._hasMouseInteraction = e;
4175
- break;
4176
- case "focusin":
4177
- case "focusout":
4178
- this._hasKeyboardInteraction = e;
4179
- }
4180
- if (e) return void this._clearTimeout();
4181
- const i = t.relatedTarget;
4182
- this._element === i ||
4183
- this._element.contains(i) ||
4184
- this._maybeScheduleHide();
4185
- }
4186
- _setListeners() {
4187
- P.on(this._element, eo, (t) => this._onInteraction(t, !0)),
4188
- P.on(this._element, io, (t) => this._onInteraction(t, !1)),
4189
- P.on(this._element, no, (t) => this._onInteraction(t, !0)),
4190
- P.on(this._element, so, (t) => this._onInteraction(t, !1));
4191
- }
4192
- _clearTimeout() {
4193
- clearTimeout(this._timeout), (this._timeout = null);
4194
- }
4195
- static jQueryInterface(t) {
4196
- return this.each(function () {
4197
- const e = mo.getOrCreateInstance(this, t);
4198
- if ("string" == typeof t) {
4199
- if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
4200
- e[t](this);
4201
- }
4202
- });
4203
- }
4204
- }
4205
- return (
4206
- q(mo),
4207
- g(mo),
4208
- {
4209
- Alert: X,
4210
- Button: U,
4211
- Carousel: St,
4212
- Collapse: qt,
4213
- Dropdown: Qi,
4214
- Modal: Ln,
4215
- Offcanvas: Qn,
4216
- Popover: vs,
4217
- ScrollSpy: Ss,
4218
- Tab: Zs,
4219
- Toast: mo,
4220
- Tooltip: ps,
4221
- }
4222
- );
4223
- });