vuiii 1.0.0-beta.76 → 1.0.0-beta.78

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.
Files changed (38) hide show
  1. package/dist/{arrow-narrow-down-BeayrxGn.js → arrow-narrow-down-BN5AJO0l.js} +1 -1
  2. package/dist/{arrow-narrow-left-COUNwY5k.js → arrow-narrow-left-DjWiaIhd.js} +1 -1
  3. package/dist/{arrow-narrow-right-8vOr4jLc.js → arrow-narrow-right-DkXaxeYG.js} +1 -1
  4. package/dist/{arrow-narrow-up-BmPohRLI.js → arrow-narrow-up-0cxnjCrw.js} +1 -1
  5. package/dist/{arrow-up-tray-BYENO0PJ.js → arrow-up-tray-DDl5rSQ4.js} +1 -1
  6. package/dist/{caret-sort-BC9YHvXt.js → caret-sort-DEFlBZh4.js} +1 -1
  7. package/dist/{check-CUXEbR-a.js → check-QTX9-01-.js} +1 -1
  8. package/dist/{chevron-down-RQewoNLk.js → chevron-down-DeBIOait.js} +1 -1
  9. package/dist/{chevron-left-CLRbU2Ue.js → chevron-left-BNN4Fuex.js} +1 -1
  10. package/dist/{chevron-right-DsjLJe--.js → chevron-right-clNRHSw7.js} +1 -1
  11. package/dist/{chevron-up-C3F3Jx-l.js → chevron-up-NuAcuUuQ.js} +1 -1
  12. package/dist/components/FilePicker.vue.d.ts +36 -0
  13. package/dist/composables/useDropArea.d.ts +9 -0
  14. package/dist/{exclamation-Uh7fNzBH.js → exclamation-BOJsQn7-.js} +1 -1
  15. package/dist/index-C1i_1Muv.js +2809 -0
  16. package/dist/index.d.ts +5 -0
  17. package/dist/{mail-u5_Welh4.js → mail-CREsU-P5.js} +1 -1
  18. package/dist/{minus-CLhvfY4M.js → minus-BaYbC5to.js} +1 -1
  19. package/dist/{pencil-DU9pgsa9.js → pencil-CEoP4TmR.js} +1 -1
  20. package/dist/{plus-D41GRHpB.js → plus-DY-H-DKb.js} +1 -1
  21. package/dist/{search-Bcl8sUjf.js → search-BYRmS3Jf.js} +1 -1
  22. package/dist/{spinner-DkfoExGp.js → spinner-CH_nnEa7.js} +1 -1
  23. package/dist/{trash-CKv7CSP5.js → trash-PXwpMiVT.js} +1 -1
  24. package/dist/{triangle-down-DaCdvYeU.js → triangle-down-cBa2wgWF.js} +1 -1
  25. package/dist/{triangle-left-DSK7oRAV.js → triangle-left-ChW4v-yZ.js} +1 -1
  26. package/dist/{triangle-right-sHOC1rCl.js → triangle-right-DSWOPUi8.js} +1 -1
  27. package/dist/{triangle-up-2QujZVso.js → triangle-up-C02JTADo.js} +1 -1
  28. package/dist/utils/debounce.d.ts +1 -0
  29. package/dist/utils/loadURLAsFile.d.ts +1 -0
  30. package/dist/utils/resolveFilesFromClipboardEvent.d.ts +4 -0
  31. package/dist/utils/retrieveFilesFromDataTransfer.d.ts +1 -0
  32. package/dist/utils/retrieveMediaUrlFromHTML copy.d.ts +1 -0
  33. package/dist/utils/retrieveMediaUrlFromHTML.d.ts +1 -0
  34. package/dist/vuiii.css +1 -1
  35. package/dist/vuiii.js +37 -31
  36. package/dist/{x-D7UTChyJ.js → x-BtutIGv7.js} +1 -1
  37. package/package.json +1 -1
  38. package/dist/index-BU6XsMzi.js +0 -2684
@@ -1,2684 +0,0 @@
1
- import { defineComponent as z, ref as V, watch as ye, createElementBlock as v, openBlock as p, createCommentVNode as O, Fragment as H, renderList as Y, normalizeClass as j, renderSlot as w, mergeProps as q, createElementVNode as B, createTextVNode as re, toDisplayString as A, defineAsyncComponent as go, shallowRef as yo, createBlock as L, resolveDynamicComponent as Ie, useAttrs as Xe, useSlots as Ye, computed as k, unref as S, withModifiers as it, withCtx as P, useCssVars as $o, Transition as Nt, onUnmounted as Gt, onMounted as Le, mergeModels as Q, useModel as ne, createSlots as Qe, createVNode as U, nextTick as ko, resolveComponent as Ht, normalizeProps as lt, guardReactiveProps as ut, markRaw as _o, normalizeStyle as He, onBeforeUnmount as wo, Teleport as Ut, TransitionGroup as Xt } from "vue";
2
- import { useRouter as Yt, useRoute as Co } from "vue-router";
3
- const Io = { class: "DropdownMenu" }, Oo = {
4
- key: 0,
5
- class: "DropdownMenu__items"
6
- }, Do = ["onClick", "onMouseenter", "onMouseleave"], Bo = /* @__PURE__ */ z({
7
- __name: "DropdownMenu",
8
- props: {
9
- items: {},
10
- cursorIndex: {}
11
- },
12
- emits: ["itemClick", "itemMouseenter", "itemMouseleave"],
13
- setup(e, { emit: t }) {
14
- const o = e, r = t, n = V([]);
15
- return ye(
16
- () => o.cursorIndex,
17
- (l) => {
18
- l !== void 0 && l >= 0 && n.value[l]?.scrollIntoView({
19
- block: "nearest",
20
- behavior: "smooth"
21
- });
22
- }
23
- ), (l, c) => (p(), v("div", Io, [
24
- e.items?.length ? (p(), v("ul", Oo, [
25
- (p(!0), v(H, null, Y(e.items, (a, s) => (p(), v("li", {
26
- key: s,
27
- class: j(["DropdownMenu__item", { "DropdownMenu__item--withCursor": e.cursorIndex === s }]),
28
- ref_for: !0,
29
- ref_key: "itemElements",
30
- ref: n
31
- }, [
32
- w(l.$slots, "item", q({ ref_for: !0 }, { item: a, index: s, cursorIndex: e.cursorIndex }), () => [
33
- B("button", {
34
- class: "DropdownMenu__button",
35
- onClick: (i) => r("itemClick", { item: a, index: s }),
36
- onMouseenter: (i) => r("itemMouseenter", { item: a, index: s }),
37
- onMouseleave: (i) => r("itemMouseleave", { item: a, index: s })
38
- }, [
39
- w(l.$slots, "itemLabel", q({ ref_for: !0 }, { item: a, index: s, cursorIndex: e.cursorIndex }), () => [
40
- re(A(a), 1)
41
- ])
42
- ], 40, Do)
43
- ])
44
- ], 2))), 128))
45
- ])) : O("", !0)
46
- ]));
47
- }
48
- }), Mt = /* @__PURE__ */ Object.assign({ "../icons/arrow-narrow-down.vue": () => import("./arrow-narrow-down-BeayrxGn.js"), "../icons/arrow-narrow-left.vue": () => import("./arrow-narrow-left-COUNwY5k.js"), "../icons/arrow-narrow-right.vue": () => import("./arrow-narrow-right-8vOr4jLc.js"), "../icons/arrow-narrow-up.vue": () => import("./arrow-narrow-up-BmPohRLI.js"), "../icons/arrow-up-tray.vue": () => import("./arrow-up-tray-BYENO0PJ.js"), "../icons/caret-sort.vue": () => import("./caret-sort-BC9YHvXt.js"), "../icons/check.vue": () => import("./check-CUXEbR-a.js"), "../icons/chevron-down.vue": () => import("./chevron-down-RQewoNLk.js"), "../icons/chevron-left.vue": () => import("./chevron-left-CLRbU2Ue.js"), "../icons/chevron-right.vue": () => import("./chevron-right-DsjLJe--.js"), "../icons/chevron-up.vue": () => import("./chevron-up-C3F3Jx-l.js"), "../icons/exclamation.vue": () => import("./exclamation-Uh7fNzBH.js"), "../icons/mail.vue": () => import("./mail-u5_Welh4.js"), "../icons/minus.vue": () => import("./minus-CLhvfY4M.js"), "../icons/pencil.vue": () => import("./pencil-DU9pgsa9.js"), "../icons/plus.vue": () => import("./plus-D41GRHpB.js"), "../icons/search.vue": () => import("./search-Bcl8sUjf.js"), "../icons/spinner.vue": () => import("./spinner-DkfoExGp.js"), "../icons/trash.vue": () => import("./trash-CKv7CSP5.js"), "../icons/triangle-down.vue": () => import("./triangle-down-DaCdvYeU.js"), "../icons/triangle-left.vue": () => import("./triangle-left-DSK7oRAV.js"), "../icons/triangle-right.vue": () => import("./triangle-right-sHOC1rCl.js"), "../icons/triangle-up.vue": () => import("./triangle-up-2QujZVso.js"), "../icons/x.vue": () => import("./x-D7UTChyJ.js") });
49
- let ct;
50
- function So(e) {
51
- const t = Object.keys(Mt).find((o) => o.endsWith(`/${e}.vue`));
52
- if (t)
53
- return go(Mt[t]);
54
- }
55
- function Pa(e) {
56
- ct = e;
57
- }
58
- function Po(e) {
59
- let t;
60
- return ct && (t = ct(e)), t || (t = So(e)), t || console.error("Unable to resolve icon component for name: " + e), t;
61
- }
62
- const Vo = /* @__PURE__ */ z({
63
- __name: "Icon",
64
- props: {
65
- name: {},
66
- size: {}
67
- },
68
- setup(e) {
69
- const t = e, o = yo(void 0);
70
- return ye(
71
- () => t.name,
72
- () => o.value = Po(t.name),
73
- { immediate: !0 }
74
- ), (r, n) => (p(), L(Ie(o.value), {
75
- class: j(["Icon", { [`Icon--${r.$props.size}`]: r.$props.size }])
76
- }, null, 8, ["class"]));
77
- }
78
- }), G = (e, t) => {
79
- const o = e.__vccOpts || e;
80
- for (const [r, n] of t)
81
- o[r] = n;
82
- return o;
83
- }, ae = /* @__PURE__ */ G(Vo, [["__scopeId", "data-v-716f90e6"]]), Mo = {
84
- inheritAttrs: !1
85
- }, Ao = /* @__PURE__ */ z({
86
- ...Mo,
87
- __name: "InputWrapper",
88
- props: {
89
- prefixIcon: {},
90
- suffixIcon: {},
91
- size: {},
92
- invalid: { type: Boolean },
93
- pill: { type: Boolean }
94
- },
95
- emits: ["click", "prefix-icon-click", "suffix-icon-click"],
96
- setup(e) {
97
- const t = e, o = Xe(), r = Ye(), n = k(() => !!o.onPrefixIconClick), l = k(() => !!o.onSuffixIconClick);
98
- return (c, a) => (p(), v("div", {
99
- class: j(["InputWrapper vuiii-input", [
100
- c.$attrs.class,
101
- {
102
- "vuiii-input--invalid": c.$props.invalid,
103
- "vuiii-input--disabled": c.$attrs.disabled,
104
- "InputWrapper--pill": c.$props.pill,
105
- [`vuiii-input--${c.$props.size}`]: c.$props.size
106
- }
107
- ]]),
108
- onClick: a[2] || (a[2] = (s) => c.$emit("click", s))
109
- }, [
110
- S(r).prefix || t.prefixIcon ? w(c.$slots, "prefix", { key: 0 }, () => [
111
- (p(), L(Ie(n.value ? "button" : "div"), {
112
- class: j(["vuiii-input__prefix-icon", { InputWrapper__icon: n.value }]),
113
- tabindex: "-1",
114
- onClick: a[0] || (a[0] = it((s) => c.$emit("prefix-icon-click"), ["prevent"]))
115
- }, {
116
- default: P(() => [
117
- c.$props.prefixIcon ? (p(), L(ae, {
118
- key: 0,
119
- name: c.$props.prefixIcon || "",
120
- size: c.$props.size
121
- }, null, 8, ["name", "size"])) : O("", !0)
122
- ]),
123
- _: 1
124
- }, 8, ["class"]))
125
- ], !0) : O("", !0),
126
- w(c.$slots, "default", {}, void 0, !0),
127
- S(r).suffix || t.suffixIcon ? w(c.$slots, "suffix", { key: 1 }, () => [
128
- (p(), L(Ie(l.value ? "button" : "div"), {
129
- class: j(["vuiii-input__suffix-icon", { InputWrapper__icon: l.value }]),
130
- tabindex: "-1",
131
- onClick: a[1] || (a[1] = it((s) => c.$emit("suffix-icon-click"), ["prevent"]))
132
- }, {
133
- default: P(() => [
134
- c.$props.suffixIcon ? (p(), L(ae, {
135
- key: 0,
136
- name: c.$props.suffixIcon || "",
137
- size: c.$props.size
138
- }, null, 8, ["name", "size"])) : O("", !0)
139
- ]),
140
- _: 1
141
- }, 8, ["class"]))
142
- ], !0) : O("", !0)
143
- ], 2));
144
- }
145
- }), Ke = /* @__PURE__ */ G(Ao, [["__scopeId", "data-v-12a63e74"]]), Qt = /* @__PURE__ */ z({
146
- __name: "FadeTransition",
147
- props: {
148
- duration: { default: 300 }
149
- },
150
- setup(e) {
151
- return $o((t) => ({
152
- d1bc765e: t.duration + "ms"
153
- })), (t, o) => (p(), L(Nt, { name: "fade" }, {
154
- default: P(() => [
155
- w(t.$slots, "default")
156
- ]),
157
- _: 3
158
- }));
159
- }
160
- });
161
- function Pe() {
162
- const e = Xe();
163
- return k(() => {
164
- const { class: t, ...o } = e;
165
- return o;
166
- });
167
- }
168
- function Eo(e, t = {}) {
169
- const o = V(0), r = k(() => S(e)[o.value]), n = () => {
170
- const a = o.value + 1, s = S(e).length;
171
- o.value = t.cycle ? a % s : Math.min(a, s - 1);
172
- }, l = () => {
173
- const a = o.value - 1, s = S(e).length;
174
- o.value = t.cycle ? (a + s) % s : Math.max(a, 0);
175
- }, c = () => {
176
- o.value = 0;
177
- };
178
- return ye(o, () => t.onCursorMove?.()), ye(() => S(e).length, c), {
179
- cursorIndex: o,
180
- cursorItem: r,
181
- moveCursorForward: n,
182
- moveCursorBack: l,
183
- resetCursor: c
184
- };
185
- }
186
- function Kt(e, t) {
187
- const o = (r) => {
188
- e.value?.contains(r.target) || t(r);
189
- };
190
- window.addEventListener("mousedown", o), Gt(() => {
191
- window.removeEventListener("mousedown", o);
192
- });
193
- }
194
- var Z = "top", se = "bottom", ue = "right", oe = "left", mt = "auto", Je = [Z, se, ue, oe], Oe = "start", xe = "end", xo = "clippingParents", Jt = "viewport", Ae = "popper", Lo = "reference", At = /* @__PURE__ */ Je.reduce(function(e, t) {
195
- return e.concat([t + "-" + Oe, t + "-" + xe]);
196
- }, []), Zt = /* @__PURE__ */ [].concat(Je, [mt]).reduce(function(e, t) {
197
- return e.concat([t, t + "-" + Oe, t + "-" + xe]);
198
- }, []), zo = "beforeRead", Ro = "read", Fo = "afterRead", jo = "beforeMain", To = "main", Wo = "afterMain", qo = "beforeWrite", No = "write", Go = "afterWrite", Ho = [zo, Ro, Fo, jo, To, Wo, qo, No, Go];
199
- function ie(e) {
200
- return e ? (e.nodeName || "").toLowerCase() : null;
201
- }
202
- function K(e) {
203
- if (e == null)
204
- return window;
205
- if (e.toString() !== "[object Window]") {
206
- var t = e.ownerDocument;
207
- return t && t.defaultView || window;
208
- }
209
- return e;
210
- }
211
- function $e(e) {
212
- var t = K(e).Element;
213
- return e instanceof t || e instanceof Element;
214
- }
215
- function ee(e) {
216
- var t = K(e).HTMLElement;
217
- return e instanceof t || e instanceof HTMLElement;
218
- }
219
- function bt(e) {
220
- if (typeof ShadowRoot > "u")
221
- return !1;
222
- var t = K(e).ShadowRoot;
223
- return e instanceof t || e instanceof ShadowRoot;
224
- }
225
- function Uo(e) {
226
- var t = e.state;
227
- Object.keys(t.elements).forEach(function(o) {
228
- var r = t.styles[o] || {}, n = t.attributes[o] || {}, l = t.elements[o];
229
- !ee(l) || !ie(l) || (Object.assign(l.style, r), Object.keys(n).forEach(function(c) {
230
- var a = n[c];
231
- a === !1 ? l.removeAttribute(c) : l.setAttribute(c, a === !0 ? "" : a);
232
- }));
233
- });
234
- }
235
- function Xo(e) {
236
- var t = e.state, o = {
237
- popper: {
238
- position: t.options.strategy,
239
- left: "0",
240
- top: "0",
241
- margin: "0"
242
- },
243
- arrow: {
244
- position: "absolute"
245
- },
246
- reference: {}
247
- };
248
- return Object.assign(t.elements.popper.style, o.popper), t.styles = o, t.elements.arrow && Object.assign(t.elements.arrow.style, o.arrow), function() {
249
- Object.keys(t.elements).forEach(function(r) {
250
- var n = t.elements[r], l = t.attributes[r] || {}, c = Object.keys(t.styles.hasOwnProperty(r) ? t.styles[r] : o[r]), a = c.reduce(function(s, i) {
251
- return s[i] = "", s;
252
- }, {});
253
- !ee(n) || !ie(n) || (Object.assign(n.style, a), Object.keys(l).forEach(function(s) {
254
- n.removeAttribute(s);
255
- }));
256
- });
257
- };
258
- }
259
- const Yo = {
260
- name: "applyStyles",
261
- enabled: !0,
262
- phase: "write",
263
- fn: Uo,
264
- effect: Xo,
265
- requires: ["computeStyles"]
266
- };
267
- function le(e) {
268
- return e.split("-")[0];
269
- }
270
- var ge = Math.max, Ue = Math.min, De = Math.round;
271
- function dt() {
272
- var e = navigator.userAgentData;
273
- return e != null && e.brands && Array.isArray(e.brands) ? e.brands.map(function(t) {
274
- return t.brand + "/" + t.version;
275
- }).join(" ") : navigator.userAgent;
276
- }
277
- function eo() {
278
- return !/^((?!chrome|android).)*safari/i.test(dt());
279
- }
280
- function Be(e, t, o) {
281
- t === void 0 && (t = !1), o === void 0 && (o = !1);
282
- var r = e.getBoundingClientRect(), n = 1, l = 1;
283
- t && ee(e) && (n = e.offsetWidth > 0 && De(r.width) / e.offsetWidth || 1, l = e.offsetHeight > 0 && De(r.height) / e.offsetHeight || 1);
284
- var c = $e(e) ? K(e) : window, a = c.visualViewport, s = !eo() && o, i = (r.left + (s && a ? a.offsetLeft : 0)) / n, u = (r.top + (s && a ? a.offsetTop : 0)) / l, d = r.width / n, m = r.height / l;
285
- return {
286
- width: d,
287
- height: m,
288
- top: u,
289
- right: i + d,
290
- bottom: u + m,
291
- left: i,
292
- x: i,
293
- y: u
294
- };
295
- }
296
- function to(e) {
297
- var t = Be(e), o = e.offsetWidth, r = e.offsetHeight;
298
- return Math.abs(t.width - o) <= 1 && (o = t.width), Math.abs(t.height - r) <= 1 && (r = t.height), {
299
- x: e.offsetLeft,
300
- y: e.offsetTop,
301
- width: o,
302
- height: r
303
- };
304
- }
305
- function Qo(e, t) {
306
- var o = t.getRootNode && t.getRootNode();
307
- if (e.contains(t))
308
- return !0;
309
- if (o && bt(o)) {
310
- var r = t;
311
- do {
312
- if (r && e.isSameNode(r))
313
- return !0;
314
- r = r.parentNode || r.host;
315
- } while (r);
316
- }
317
- return !1;
318
- }
319
- function ce(e) {
320
- return K(e).getComputedStyle(e);
321
- }
322
- function Ko(e) {
323
- return ["table", "td", "th"].indexOf(ie(e)) >= 0;
324
- }
325
- function fe(e) {
326
- return (($e(e) ? e.ownerDocument : (
327
- // $FlowFixMe[prop-missing]
328
- e.document
329
- )) || window.document).documentElement;
330
- }
331
- function Ze(e) {
332
- return ie(e) === "html" ? e : (
333
- // this is a quicker (but less type safe) way to save quite some bytes from the bundle
334
- // $FlowFixMe[incompatible-return]
335
- // $FlowFixMe[prop-missing]
336
- e.assignedSlot || // step into the shadow DOM of the parent of a slotted node
337
- e.parentNode || // DOM Element detected
338
- (bt(e) ? e.host : null) || // ShadowRoot detected
339
- // $FlowFixMe[incompatible-call]: HTMLElement is a Node
340
- fe(e)
341
- );
342
- }
343
- function Et(e) {
344
- return !ee(e) || // https://github.com/popperjs/popper-core/issues/837
345
- ce(e).position === "fixed" ? null : e.offsetParent;
346
- }
347
- function Jo(e) {
348
- var t = /firefox/i.test(dt()), o = /Trident/i.test(dt());
349
- if (o && ee(e)) {
350
- var r = ce(e);
351
- if (r.position === "fixed")
352
- return null;
353
- }
354
- var n = Ze(e);
355
- for (bt(n) && (n = n.host); ee(n) && ["html", "body"].indexOf(ie(n)) < 0; ) {
356
- var l = ce(n);
357
- if (l.transform !== "none" || l.perspective !== "none" || l.contain === "paint" || ["transform", "perspective"].indexOf(l.willChange) !== -1 || t && l.willChange === "filter" || t && l.filter && l.filter !== "none")
358
- return n;
359
- n = n.parentNode;
360
- }
361
- return null;
362
- }
363
- function et(e) {
364
- for (var t = K(e), o = Et(e); o && Ko(o) && ce(o).position === "static"; )
365
- o = Et(o);
366
- return o && (ie(o) === "html" || ie(o) === "body" && ce(o).position === "static") ? t : o || Jo(e) || t;
367
- }
368
- function oo(e) {
369
- return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y";
370
- }
371
- function qe(e, t, o) {
372
- return ge(e, Ue(t, o));
373
- }
374
- function Zo(e, t, o) {
375
- var r = qe(e, t, o);
376
- return r > o ? o : r;
377
- }
378
- function ro() {
379
- return {
380
- top: 0,
381
- right: 0,
382
- bottom: 0,
383
- left: 0
384
- };
385
- }
386
- function er(e) {
387
- return Object.assign({}, ro(), e);
388
- }
389
- function tr(e, t) {
390
- return t.reduce(function(o, r) {
391
- return o[r] = e, o;
392
- }, {});
393
- }
394
- function Se(e) {
395
- return e.split("-")[1];
396
- }
397
- var or = {
398
- top: "auto",
399
- right: "auto",
400
- bottom: "auto",
401
- left: "auto"
402
- };
403
- function rr(e, t) {
404
- var o = e.x, r = e.y, n = t.devicePixelRatio || 1;
405
- return {
406
- x: De(o * n) / n || 0,
407
- y: De(r * n) / n || 0
408
- };
409
- }
410
- function xt(e) {
411
- var t, o = e.popper, r = e.popperRect, n = e.placement, l = e.variation, c = e.offsets, a = e.position, s = e.gpuAcceleration, i = e.adaptive, u = e.roundOffsets, d = e.isFixed, m = c.x, f = m === void 0 ? 0 : m, h = c.y, b = h === void 0 ? 0 : h, g = typeof u == "function" ? u({
412
- x: f,
413
- y: b
414
- }) : {
415
- x: f,
416
- y: b
417
- };
418
- f = g.x, b = g.y;
419
- var $ = c.hasOwnProperty("x"), M = c.hasOwnProperty("y"), E = oe, _ = Z, C = window;
420
- if (i) {
421
- var I = et(o), R = "clientHeight", N = "clientWidth";
422
- if (I === K(o) && (I = fe(o), ce(I).position !== "static" && a === "absolute" && (R = "scrollHeight", N = "scrollWidth")), I = I, n === Z || (n === oe || n === ue) && l === xe) {
423
- _ = se;
424
- var T = d && I === C && C.visualViewport ? C.visualViewport.height : (
425
- // $FlowFixMe[prop-missing]
426
- I[R]
427
- );
428
- b -= T - r.height, b *= s ? 1 : -1;
429
- }
430
- if (n === oe || (n === Z || n === se) && l === xe) {
431
- E = ue;
432
- var F = d && I === C && C.visualViewport ? C.visualViewport.width : (
433
- // $FlowFixMe[prop-missing]
434
- I[N]
435
- );
436
- f -= F - r.width, f *= s ? 1 : -1;
437
- }
438
- }
439
- var W = Object.assign({
440
- position: a
441
- }, i && or), y = u === !0 ? rr({
442
- x: f,
443
- y: b
444
- }, K(o)) : {
445
- x: f,
446
- y: b
447
- };
448
- if (f = y.x, b = y.y, s) {
449
- var D;
450
- return Object.assign({}, W, (D = {}, D[_] = M ? "0" : "", D[E] = $ ? "0" : "", D.transform = (C.devicePixelRatio || 1) <= 1 ? "translate(" + f + "px, " + b + "px)" : "translate3d(" + f + "px, " + b + "px, 0)", D));
451
- }
452
- return Object.assign({}, W, (t = {}, t[_] = M ? b + "px" : "", t[E] = $ ? f + "px" : "", t.transform = "", t));
453
- }
454
- function nr(e) {
455
- var t = e.state, o = e.options, r = o.gpuAcceleration, n = r === void 0 ? !0 : r, l = o.adaptive, c = l === void 0 ? !0 : l, a = o.roundOffsets, s = a === void 0 ? !0 : a, i = {
456
- placement: le(t.placement),
457
- variation: Se(t.placement),
458
- popper: t.elements.popper,
459
- popperRect: t.rects.popper,
460
- gpuAcceleration: n,
461
- isFixed: t.options.strategy === "fixed"
462
- };
463
- t.modifiersData.popperOffsets != null && (t.styles.popper = Object.assign({}, t.styles.popper, xt(Object.assign({}, i, {
464
- offsets: t.modifiersData.popperOffsets,
465
- position: t.options.strategy,
466
- adaptive: c,
467
- roundOffsets: s
468
- })))), t.modifiersData.arrow != null && (t.styles.arrow = Object.assign({}, t.styles.arrow, xt(Object.assign({}, i, {
469
- offsets: t.modifiersData.arrow,
470
- position: "absolute",
471
- adaptive: !1,
472
- roundOffsets: s
473
- })))), t.attributes.popper = Object.assign({}, t.attributes.popper, {
474
- "data-popper-placement": t.placement
475
- });
476
- }
477
- const ar = {
478
- name: "computeStyles",
479
- enabled: !0,
480
- phase: "beforeWrite",
481
- fn: nr,
482
- data: {}
483
- };
484
- var We = {
485
- passive: !0
486
- };
487
- function sr(e) {
488
- var t = e.state, o = e.instance, r = e.options, n = r.scroll, l = n === void 0 ? !0 : n, c = r.resize, a = c === void 0 ? !0 : c, s = K(t.elements.popper), i = [].concat(t.scrollParents.reference, t.scrollParents.popper);
489
- return l && i.forEach(function(u) {
490
- u.addEventListener("scroll", o.update, We);
491
- }), a && s.addEventListener("resize", o.update, We), function() {
492
- l && i.forEach(function(u) {
493
- u.removeEventListener("scroll", o.update, We);
494
- }), a && s.removeEventListener("resize", o.update, We);
495
- };
496
- }
497
- const ir = {
498
- name: "eventListeners",
499
- enabled: !0,
500
- phase: "write",
501
- fn: function() {
502
- },
503
- effect: sr,
504
- data: {}
505
- };
506
- var lr = {
507
- left: "right",
508
- right: "left",
509
- bottom: "top",
510
- top: "bottom"
511
- };
512
- function Ne(e) {
513
- return e.replace(/left|right|bottom|top/g, function(t) {
514
- return lr[t];
515
- });
516
- }
517
- var ur = {
518
- start: "end",
519
- end: "start"
520
- };
521
- function Lt(e) {
522
- return e.replace(/start|end/g, function(t) {
523
- return ur[t];
524
- });
525
- }
526
- function ht(e) {
527
- var t = K(e), o = t.pageXOffset, r = t.pageYOffset;
528
- return {
529
- scrollLeft: o,
530
- scrollTop: r
531
- };
532
- }
533
- function gt(e) {
534
- return Be(fe(e)).left + ht(e).scrollLeft;
535
- }
536
- function cr(e, t) {
537
- var o = K(e), r = fe(e), n = o.visualViewport, l = r.clientWidth, c = r.clientHeight, a = 0, s = 0;
538
- if (n) {
539
- l = n.width, c = n.height;
540
- var i = eo();
541
- (i || !i && t === "fixed") && (a = n.offsetLeft, s = n.offsetTop);
542
- }
543
- return {
544
- width: l,
545
- height: c,
546
- x: a + gt(e),
547
- y: s
548
- };
549
- }
550
- function dr(e) {
551
- var t, o = fe(e), r = ht(e), n = (t = e.ownerDocument) == null ? void 0 : t.body, l = ge(o.scrollWidth, o.clientWidth, n ? n.scrollWidth : 0, n ? n.clientWidth : 0), c = ge(o.scrollHeight, o.clientHeight, n ? n.scrollHeight : 0, n ? n.clientHeight : 0), a = -r.scrollLeft + gt(e), s = -r.scrollTop;
552
- return ce(n || o).direction === "rtl" && (a += ge(o.clientWidth, n ? n.clientWidth : 0) - l), {
553
- width: l,
554
- height: c,
555
- x: a,
556
- y: s
557
- };
558
- }
559
- function yt(e) {
560
- var t = ce(e), o = t.overflow, r = t.overflowX, n = t.overflowY;
561
- return /auto|scroll|overlay|hidden/.test(o + n + r);
562
- }
563
- function no(e) {
564
- return ["html", "body", "#document"].indexOf(ie(e)) >= 0 ? e.ownerDocument.body : ee(e) && yt(e) ? e : no(Ze(e));
565
- }
566
- function Ee(e, t) {
567
- var o;
568
- t === void 0 && (t = []);
569
- var r = no(e), n = r === ((o = e.ownerDocument) == null ? void 0 : o.body), l = K(r), c = n ? [l].concat(l.visualViewport || [], yt(r) ? r : []) : r, a = t.concat(c);
570
- return n ? a : (
571
- // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
572
- a.concat(Ee(Ze(c)))
573
- );
574
- }
575
- function pt(e) {
576
- return Object.assign({}, e, {
577
- left: e.x,
578
- top: e.y,
579
- right: e.x + e.width,
580
- bottom: e.y + e.height
581
- });
582
- }
583
- function pr(e, t) {
584
- var o = Be(e, !1, t === "fixed");
585
- return o.top = o.top + e.clientTop, o.left = o.left + e.clientLeft, o.bottom = o.top + e.clientHeight, o.right = o.left + e.clientWidth, o.width = e.clientWidth, o.height = e.clientHeight, o.x = o.left, o.y = o.top, o;
586
- }
587
- function zt(e, t, o) {
588
- return t === Jt ? pt(cr(e, o)) : $e(t) ? pr(t, o) : pt(dr(fe(e)));
589
- }
590
- function fr(e) {
591
- var t = Ee(Ze(e)), o = ["absolute", "fixed"].indexOf(ce(e).position) >= 0, r = o && ee(e) ? et(e) : e;
592
- return $e(r) ? t.filter(function(n) {
593
- return $e(n) && Qo(n, r) && ie(n) !== "body";
594
- }) : [];
595
- }
596
- function vr(e, t, o, r) {
597
- var n = t === "clippingParents" ? fr(e) : [].concat(t), l = [].concat(n, [o]), c = l[0], a = l.reduce(function(s, i) {
598
- var u = zt(e, i, r);
599
- return s.top = ge(u.top, s.top), s.right = Ue(u.right, s.right), s.bottom = Ue(u.bottom, s.bottom), s.left = ge(u.left, s.left), s;
600
- }, zt(e, c, r));
601
- return a.width = a.right - a.left, a.height = a.bottom - a.top, a.x = a.left, a.y = a.top, a;
602
- }
603
- function ao(e) {
604
- var t = e.reference, o = e.element, r = e.placement, n = r ? le(r) : null, l = r ? Se(r) : null, c = t.x + t.width / 2 - o.width / 2, a = t.y + t.height / 2 - o.height / 2, s;
605
- switch (n) {
606
- case Z:
607
- s = {
608
- x: c,
609
- y: t.y - o.height
610
- };
611
- break;
612
- case se:
613
- s = {
614
- x: c,
615
- y: t.y + t.height
616
- };
617
- break;
618
- case ue:
619
- s = {
620
- x: t.x + t.width,
621
- y: a
622
- };
623
- break;
624
- case oe:
625
- s = {
626
- x: t.x - o.width,
627
- y: a
628
- };
629
- break;
630
- default:
631
- s = {
632
- x: t.x,
633
- y: t.y
634
- };
635
- }
636
- var i = n ? oo(n) : null;
637
- if (i != null) {
638
- var u = i === "y" ? "height" : "width";
639
- switch (l) {
640
- case Oe:
641
- s[i] = s[i] - (t[u] / 2 - o[u] / 2);
642
- break;
643
- case xe:
644
- s[i] = s[i] + (t[u] / 2 - o[u] / 2);
645
- break;
646
- }
647
- }
648
- return s;
649
- }
650
- function $t(e, t) {
651
- t === void 0 && (t = {});
652
- var o = t, r = o.placement, n = r === void 0 ? e.placement : r, l = o.strategy, c = l === void 0 ? e.strategy : l, a = o.boundary, s = a === void 0 ? xo : a, i = o.rootBoundary, u = i === void 0 ? Jt : i, d = o.elementContext, m = d === void 0 ? Ae : d, f = o.altBoundary, h = f === void 0 ? !1 : f, b = o.padding, g = b === void 0 ? 0 : b, $ = er(typeof g != "number" ? g : tr(g, Je)), M = m === Ae ? Lo : Ae, E = e.rects.popper, _ = e.elements[h ? M : m], C = vr($e(_) ? _ : _.contextElement || fe(e.elements.popper), s, u, c), I = Be(e.elements.reference), R = ao({
653
- reference: I,
654
- element: E,
655
- placement: n
656
- }), N = pt(Object.assign({}, E, R)), T = m === Ae ? N : I, F = {
657
- top: C.top - T.top + $.top,
658
- bottom: T.bottom - C.bottom + $.bottom,
659
- left: C.left - T.left + $.left,
660
- right: T.right - C.right + $.right
661
- }, W = e.modifiersData.offset;
662
- if (m === Ae && W) {
663
- var y = W[n];
664
- Object.keys(F).forEach(function(D) {
665
- var x = [ue, se].indexOf(D) >= 0 ? 1 : -1, J = [Z, se].indexOf(D) >= 0 ? "y" : "x";
666
- F[D] += y[J] * x;
667
- });
668
- }
669
- return F;
670
- }
671
- function mr(e, t) {
672
- t === void 0 && (t = {});
673
- var o = t, r = o.placement, n = o.boundary, l = o.rootBoundary, c = o.padding, a = o.flipVariations, s = o.allowedAutoPlacements, i = s === void 0 ? Zt : s, u = Se(r), d = u ? a ? At : At.filter(function(h) {
674
- return Se(h) === u;
675
- }) : Je, m = d.filter(function(h) {
676
- return i.indexOf(h) >= 0;
677
- });
678
- m.length === 0 && (m = d);
679
- var f = m.reduce(function(h, b) {
680
- return h[b] = $t(e, {
681
- placement: b,
682
- boundary: n,
683
- rootBoundary: l,
684
- padding: c
685
- })[le(b)], h;
686
- }, {});
687
- return Object.keys(f).sort(function(h, b) {
688
- return f[h] - f[b];
689
- });
690
- }
691
- function br(e) {
692
- if (le(e) === mt)
693
- return [];
694
- var t = Ne(e);
695
- return [Lt(e), t, Lt(t)];
696
- }
697
- function hr(e) {
698
- var t = e.state, o = e.options, r = e.name;
699
- if (!t.modifiersData[r]._skip) {
700
- for (var n = o.mainAxis, l = n === void 0 ? !0 : n, c = o.altAxis, a = c === void 0 ? !0 : c, s = o.fallbackPlacements, i = o.padding, u = o.boundary, d = o.rootBoundary, m = o.altBoundary, f = o.flipVariations, h = f === void 0 ? !0 : f, b = o.allowedAutoPlacements, g = t.options.placement, $ = le(g), M = $ === g, E = s || (M || !h ? [Ne(g)] : br(g)), _ = [g].concat(E).reduce(function(we, de) {
701
- return we.concat(le(de) === mt ? mr(t, {
702
- placement: de,
703
- boundary: u,
704
- rootBoundary: d,
705
- padding: i,
706
- flipVariations: h,
707
- allowedAutoPlacements: b
708
- }) : de);
709
- }, []), C = t.rects.reference, I = t.rects.popper, R = /* @__PURE__ */ new Map(), N = !0, T = _[0], F = 0; F < _.length; F++) {
710
- var W = _[F], y = le(W), D = Se(W) === Oe, x = [Z, se].indexOf(y) >= 0, J = x ? "width" : "height", X = $t(t, {
711
- placement: W,
712
- boundary: u,
713
- rootBoundary: d,
714
- altBoundary: m,
715
- padding: i
716
- }), te = x ? D ? ue : oe : D ? se : Z;
717
- C[J] > I[J] && (te = Ne(te));
718
- var ze = Ne(te), ve = [];
719
- if (l && ve.push(X[y] <= 0), a && ve.push(X[te] <= 0, X[ze] <= 0), ve.every(function(we) {
720
- return we;
721
- })) {
722
- T = W, N = !1;
723
- break;
724
- }
725
- R.set(W, ve);
726
- }
727
- if (N)
728
- for (var Re = h ? 3 : 1, ot = function(de) {
729
- var Me = _.find(function(je) {
730
- var me = R.get(je);
731
- if (me)
732
- return me.slice(0, de).every(function(rt) {
733
- return rt;
734
- });
735
- });
736
- if (Me)
737
- return T = Me, "break";
738
- }, Ve = Re; Ve > 0; Ve--) {
739
- var Fe = ot(Ve);
740
- if (Fe === "break") break;
741
- }
742
- t.placement !== T && (t.modifiersData[r]._skip = !0, t.placement = T, t.reset = !0);
743
- }
744
- }
745
- const gr = {
746
- name: "flip",
747
- enabled: !0,
748
- phase: "main",
749
- fn: hr,
750
- requiresIfExists: ["offset"],
751
- data: {
752
- _skip: !1
753
- }
754
- };
755
- function yr(e, t, o) {
756
- var r = le(e), n = [oe, Z].indexOf(r) >= 0 ? -1 : 1, l = typeof o == "function" ? o(Object.assign({}, t, {
757
- placement: e
758
- })) : o, c = l[0], a = l[1];
759
- return c = c || 0, a = (a || 0) * n, [oe, ue].indexOf(r) >= 0 ? {
760
- x: a,
761
- y: c
762
- } : {
763
- x: c,
764
- y: a
765
- };
766
- }
767
- function $r(e) {
768
- var t = e.state, o = e.options, r = e.name, n = o.offset, l = n === void 0 ? [0, 0] : n, c = Zt.reduce(function(u, d) {
769
- return u[d] = yr(d, t.rects, l), u;
770
- }, {}), a = c[t.placement], s = a.x, i = a.y;
771
- t.modifiersData.popperOffsets != null && (t.modifiersData.popperOffsets.x += s, t.modifiersData.popperOffsets.y += i), t.modifiersData[r] = c;
772
- }
773
- const kr = {
774
- name: "offset",
775
- enabled: !0,
776
- phase: "main",
777
- requires: ["popperOffsets"],
778
- fn: $r
779
- };
780
- function _r(e) {
781
- var t = e.state, o = e.name;
782
- t.modifiersData[o] = ao({
783
- reference: t.rects.reference,
784
- element: t.rects.popper,
785
- placement: t.placement
786
- });
787
- }
788
- const wr = {
789
- name: "popperOffsets",
790
- enabled: !0,
791
- phase: "read",
792
- fn: _r,
793
- data: {}
794
- };
795
- function Cr(e) {
796
- return e === "x" ? "y" : "x";
797
- }
798
- function Ir(e) {
799
- var t = e.state, o = e.options, r = e.name, n = o.mainAxis, l = n === void 0 ? !0 : n, c = o.altAxis, a = c === void 0 ? !1 : c, s = o.boundary, i = o.rootBoundary, u = o.altBoundary, d = o.padding, m = o.tether, f = m === void 0 ? !0 : m, h = o.tetherOffset, b = h === void 0 ? 0 : h, g = $t(t, {
800
- boundary: s,
801
- rootBoundary: i,
802
- padding: d,
803
- altBoundary: u
804
- }), $ = le(t.placement), M = Se(t.placement), E = !M, _ = oo($), C = Cr(_), I = t.modifiersData.popperOffsets, R = t.rects.reference, N = t.rects.popper, T = typeof b == "function" ? b(Object.assign({}, t.rects, {
805
- placement: t.placement
806
- })) : b, F = typeof T == "number" ? {
807
- mainAxis: T,
808
- altAxis: T
809
- } : Object.assign({
810
- mainAxis: 0,
811
- altAxis: 0
812
- }, T), W = t.modifiersData.offset ? t.modifiersData.offset[t.placement] : null, y = {
813
- x: 0,
814
- y: 0
815
- };
816
- if (I) {
817
- if (l) {
818
- var D, x = _ === "y" ? Z : oe, J = _ === "y" ? se : ue, X = _ === "y" ? "height" : "width", te = I[_], ze = te + g[x], ve = te - g[J], Re = f ? -N[X] / 2 : 0, ot = M === Oe ? R[X] : N[X], Ve = M === Oe ? -N[X] : -R[X], Fe = t.elements.arrow, we = f && Fe ? to(Fe) : {
819
- width: 0,
820
- height: 0
821
- }, de = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : ro(), Me = de[x], je = de[J], me = qe(0, R[X], we[X]), rt = E ? R[X] / 2 - Re - me - Me - F.mainAxis : ot - me - Me - F.mainAxis, po = E ? -R[X] / 2 + Re + me + je + F.mainAxis : Ve + me + je + F.mainAxis, nt = t.elements.arrow && et(t.elements.arrow), fo = nt ? _ === "y" ? nt.clientTop || 0 : nt.clientLeft || 0 : 0, wt = (D = W?.[_]) != null ? D : 0, vo = te + rt - wt - fo, mo = te + po - wt, Ct = qe(f ? Ue(ze, vo) : ze, te, f ? ge(ve, mo) : ve);
822
- I[_] = Ct, y[_] = Ct - te;
823
- }
824
- if (a) {
825
- var It, bo = _ === "x" ? Z : oe, ho = _ === "x" ? se : ue, be = I[C], Te = C === "y" ? "height" : "width", Ot = be + g[bo], Dt = be - g[ho], at = [Z, oe].indexOf($) !== -1, Bt = (It = W?.[C]) != null ? It : 0, St = at ? Ot : be - R[Te] - N[Te] - Bt + F.altAxis, Pt = at ? be + R[Te] + N[Te] - Bt - F.altAxis : Dt, Vt = f && at ? Zo(St, be, Pt) : qe(f ? St : Ot, be, f ? Pt : Dt);
826
- I[C] = Vt, y[C] = Vt - be;
827
- }
828
- t.modifiersData[r] = y;
829
- }
830
- }
831
- const Or = {
832
- name: "preventOverflow",
833
- enabled: !0,
834
- phase: "main",
835
- fn: Ir,
836
- requiresIfExists: ["offset"]
837
- };
838
- function Dr(e) {
839
- return {
840
- scrollLeft: e.scrollLeft,
841
- scrollTop: e.scrollTop
842
- };
843
- }
844
- function Br(e) {
845
- return e === K(e) || !ee(e) ? ht(e) : Dr(e);
846
- }
847
- function Sr(e) {
848
- var t = e.getBoundingClientRect(), o = De(t.width) / e.offsetWidth || 1, r = De(t.height) / e.offsetHeight || 1;
849
- return o !== 1 || r !== 1;
850
- }
851
- function Pr(e, t, o) {
852
- o === void 0 && (o = !1);
853
- var r = ee(t), n = ee(t) && Sr(t), l = fe(t), c = Be(e, n, o), a = {
854
- scrollLeft: 0,
855
- scrollTop: 0
856
- }, s = {
857
- x: 0,
858
- y: 0
859
- };
860
- return (r || !r && !o) && ((ie(t) !== "body" || // https://github.com/popperjs/popper-core/issues/1078
861
- yt(l)) && (a = Br(t)), ee(t) ? (s = Be(t, !0), s.x += t.clientLeft, s.y += t.clientTop) : l && (s.x = gt(l))), {
862
- x: c.left + a.scrollLeft - s.x,
863
- y: c.top + a.scrollTop - s.y,
864
- width: c.width,
865
- height: c.height
866
- };
867
- }
868
- function Vr(e) {
869
- var t = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set(), r = [];
870
- e.forEach(function(l) {
871
- t.set(l.name, l);
872
- });
873
- function n(l) {
874
- o.add(l.name);
875
- var c = [].concat(l.requires || [], l.requiresIfExists || []);
876
- c.forEach(function(a) {
877
- if (!o.has(a)) {
878
- var s = t.get(a);
879
- s && n(s);
880
- }
881
- }), r.push(l);
882
- }
883
- return e.forEach(function(l) {
884
- o.has(l.name) || n(l);
885
- }), r;
886
- }
887
- function Mr(e) {
888
- var t = Vr(e);
889
- return Ho.reduce(function(o, r) {
890
- return o.concat(t.filter(function(n) {
891
- return n.phase === r;
892
- }));
893
- }, []);
894
- }
895
- function Ar(e) {
896
- var t;
897
- return function() {
898
- return t || (t = new Promise(function(o) {
899
- Promise.resolve().then(function() {
900
- t = void 0, o(e());
901
- });
902
- })), t;
903
- };
904
- }
905
- function Er(e) {
906
- var t = e.reduce(function(o, r) {
907
- var n = o[r.name];
908
- return o[r.name] = n ? Object.assign({}, n, r, {
909
- options: Object.assign({}, n.options, r.options),
910
- data: Object.assign({}, n.data, r.data)
911
- }) : r, o;
912
- }, {});
913
- return Object.keys(t).map(function(o) {
914
- return t[o];
915
- });
916
- }
917
- var Rt = {
918
- placement: "bottom",
919
- modifiers: [],
920
- strategy: "absolute"
921
- };
922
- function Ft() {
923
- for (var e = arguments.length, t = new Array(e), o = 0; o < e; o++)
924
- t[o] = arguments[o];
925
- return !t.some(function(r) {
926
- return !(r && typeof r.getBoundingClientRect == "function");
927
- });
928
- }
929
- function xr(e) {
930
- e === void 0 && (e = {});
931
- var t = e, o = t.defaultModifiers, r = o === void 0 ? [] : o, n = t.defaultOptions, l = n === void 0 ? Rt : n;
932
- return function(a, s, i) {
933
- i === void 0 && (i = l);
934
- var u = {
935
- placement: "bottom",
936
- orderedModifiers: [],
937
- options: Object.assign({}, Rt, l),
938
- modifiersData: {},
939
- elements: {
940
- reference: a,
941
- popper: s
942
- },
943
- attributes: {},
944
- styles: {}
945
- }, d = [], m = !1, f = {
946
- state: u,
947
- setOptions: function($) {
948
- var M = typeof $ == "function" ? $(u.options) : $;
949
- b(), u.options = Object.assign({}, l, u.options, M), u.scrollParents = {
950
- reference: $e(a) ? Ee(a) : a.contextElement ? Ee(a.contextElement) : [],
951
- popper: Ee(s)
952
- };
953
- var E = Mr(Er([].concat(r, u.options.modifiers)));
954
- return u.orderedModifiers = E.filter(function(_) {
955
- return _.enabled;
956
- }), h(), f.update();
957
- },
958
- // Sync update – it will always be executed, even if not necessary. This
959
- // is useful for low frequency updates where sync behavior simplifies the
960
- // logic.
961
- // For high frequency updates (e.g. `resize` and `scroll` events), always
962
- // prefer the async Popper#update method
963
- forceUpdate: function() {
964
- if (!m) {
965
- var $ = u.elements, M = $.reference, E = $.popper;
966
- if (Ft(M, E)) {
967
- u.rects = {
968
- reference: Pr(M, et(E), u.options.strategy === "fixed"),
969
- popper: to(E)
970
- }, u.reset = !1, u.placement = u.options.placement, u.orderedModifiers.forEach(function(F) {
971
- return u.modifiersData[F.name] = Object.assign({}, F.data);
972
- });
973
- for (var _ = 0; _ < u.orderedModifiers.length; _++) {
974
- if (u.reset === !0) {
975
- u.reset = !1, _ = -1;
976
- continue;
977
- }
978
- var C = u.orderedModifiers[_], I = C.fn, R = C.options, N = R === void 0 ? {} : R, T = C.name;
979
- typeof I == "function" && (u = I({
980
- state: u,
981
- options: N,
982
- name: T,
983
- instance: f
984
- }) || u);
985
- }
986
- }
987
- }
988
- },
989
- // Async and optimistically optimized update – it will not be executed if
990
- // not necessary (debounced to run at most once-per-tick)
991
- update: Ar(function() {
992
- return new Promise(function(g) {
993
- f.forceUpdate(), g(u);
994
- });
995
- }),
996
- destroy: function() {
997
- b(), m = !0;
998
- }
999
- };
1000
- if (!Ft(a, s))
1001
- return f;
1002
- f.setOptions(i).then(function(g) {
1003
- !m && i.onFirstUpdate && i.onFirstUpdate(g);
1004
- });
1005
- function h() {
1006
- u.orderedModifiers.forEach(function(g) {
1007
- var $ = g.name, M = g.options, E = M === void 0 ? {} : M, _ = g.effect;
1008
- if (typeof _ == "function") {
1009
- var C = _({
1010
- state: u,
1011
- name: $,
1012
- instance: f,
1013
- options: E
1014
- }), I = function() {
1015
- };
1016
- d.push(C || I);
1017
- }
1018
- });
1019
- }
1020
- function b() {
1021
- d.forEach(function(g) {
1022
- return g();
1023
- }), d = [];
1024
- }
1025
- return f;
1026
- };
1027
- }
1028
- var Lr = [ir, wr, ar, Yo], zr = /* @__PURE__ */ xr({
1029
- defaultModifiers: Lr
1030
- });
1031
- function so(e, t, o = {}) {
1032
- const r = V(void 0);
1033
- function n() {
1034
- zr(e.value, t.value, {
1035
- placement: o.placement || "bottom-start",
1036
- modifiers: [gr, Or, kr, { name: "offset", options: { offset: [0, 4] } }]
1037
- });
1038
- }
1039
- function l() {
1040
- e.value && t.value && n();
1041
- }
1042
- return ye(e, l), ye(t, l), Le(l), r;
1043
- }
1044
- function he(e, t) {
1045
- return typeof t == "function" ? t(e) : t ? e[t] : e;
1046
- }
1047
- function jt(e, t = {}, o) {
1048
- const r = t.stringifyValue || String, n = r(he(e, t.value));
1049
- return {
1050
- value: n,
1051
- label: he(e, t.label),
1052
- disabled: t.disabled && he(e, t.disabled),
1053
- description: t.description && he(e, t.description),
1054
- icon: t.icon && he(e, t.icon),
1055
- isSelected: o === void 0 ? void 0 : n === r(o),
1056
- data: e
1057
- };
1058
- }
1059
- function ke(e, t = {}, o) {
1060
- return Array.isArray(e) ? e.map((r) => jt(r, t, o)) : typeof e == "object" && e !== null ? Object.entries(e || {}).reduce((r, [n, l]) => r.concat({
1061
- ...jt(n, t, o),
1062
- label: l,
1063
- data: n
1064
- }), []) : [];
1065
- }
1066
- function io(e, t = {}, o) {
1067
- return Array.isArray(e) ? e.map((r) => ({
1068
- label: he(r, t.groupLabel),
1069
- options: ke(he(r, t.groupOptions), t, o)
1070
- })) : typeof e == "object" && e !== null ? Object.entries(e || {}).reduce(
1071
- (r, [n, l]) => r.concat({ label: n, options: ke(l, t, o) }),
1072
- []
1073
- ) : [];
1074
- }
1075
- const Rr = ["placeholder", "disabled", "value"], Fr = { class: "Autocomplete__optionLabel" }, jr = {
1076
- key: 0,
1077
- class: "Autocomplete__optionDescription"
1078
- }, Tr = {
1079
- inheritAttrs: !1
1080
- }, Wr = /* @__PURE__ */ z({
1081
- ...Tr,
1082
- __name: "Autocomplete",
1083
- props: /* @__PURE__ */ Q({
1084
- prefixIcon: {},
1085
- suffixIcon: {},
1086
- size: { default: "normal" },
1087
- invalid: { type: Boolean },
1088
- pill: { type: Boolean },
1089
- options: {},
1090
- optionLabel: {},
1091
- optionValue: {},
1092
- optionDisabled: {},
1093
- optionDescription: {},
1094
- optionIcon: {},
1095
- groupLabel: {},
1096
- groupOptions: {},
1097
- placeholder: {},
1098
- disabled: { type: Boolean },
1099
- inputClass: {},
1100
- filter: {}
1101
- }, {
1102
- modelValue: { default: "" },
1103
- modelModifiers: {}
1104
- }),
1105
- emits: /* @__PURE__ */ Q(["prefix-icon-click", "suffix-icon-click", "select"], ["update:modelValue"]),
1106
- setup(e, { expose: t, emit: o }) {
1107
- const r = ne(e, "modelValue"), n = e, l = o, c = Pe(), a = V(), s = V(), i = V(), u = V(!1), d = k(() => {
1108
- const y = {
1109
- value: n.optionValue,
1110
- label: n.optionLabel,
1111
- disabled: n.optionDisabled,
1112
- description: n.optionDescription,
1113
- icon: n.optionIcon
1114
- };
1115
- return n.groupOptions ? io(
1116
- n.options,
1117
- {
1118
- groupLabel: n.groupLabel,
1119
- groupOptions: n.groupOptions,
1120
- ...y
1121
- },
1122
- r.value
1123
- ).flatMap((x) => x.options) : ke(n.options, y, r.value);
1124
- });
1125
- function m(y, D) {
1126
- if (!D)
1127
- return !0;
1128
- const x = D.toLowerCase(), J = String(y.label).toLowerCase(), X = y.description ? String(y.description).toLowerCase() : "";
1129
- return J.includes(x) || X.includes(x);
1130
- }
1131
- const f = k(() => {
1132
- const y = n.filter || m;
1133
- return d.value.filter((D) => y(D, r.value));
1134
- }), h = k(() => f.value), { cursorIndex: b, cursorItem: g, moveCursorForward: $, moveCursorBack: M, resetCursor: E } = Eo(h), _ = k(() => a.value?.$el);
1135
- so(_, s), Kt(_, (y) => {
1136
- u.value && !y.defaultPrevented && (y.preventDefault(), I());
1137
- });
1138
- function C() {
1139
- u.value || n.disabled || (u.value = !0, E());
1140
- }
1141
- function I() {
1142
- u.value && (u.value = !1);
1143
- }
1144
- function R(y) {
1145
- r.value = y.target.value, C();
1146
- }
1147
- function N(y) {
1148
- switch (y.key) {
1149
- case "ArrowDown":
1150
- y.preventDefault(), u.value ? $() : C();
1151
- break;
1152
- case "ArrowUp":
1153
- y.preventDefault(), u.value && M();
1154
- break;
1155
- case "Enter":
1156
- y.preventDefault(), u.value && g.value && W(g.value);
1157
- break;
1158
- case "Escape":
1159
- u.value && (y.preventDefault(), I());
1160
- break;
1161
- case "Tab":
1162
- I();
1163
- break;
1164
- }
1165
- }
1166
- function T() {
1167
- u.value || C();
1168
- }
1169
- function F({ item: y }) {
1170
- W(y);
1171
- }
1172
- function W(y) {
1173
- y.disabled || (r.value = String(y.label), l("select", y), I(), ko(() => {
1174
- i.value?.focus();
1175
- }));
1176
- }
1177
- return t({
1178
- inputElement: i,
1179
- focus: () => i.value?.focus(),
1180
- blur: () => i.value?.blur(),
1181
- open: C,
1182
- close: I,
1183
- filter: m
1184
- }), (y, D) => (p(), L(Ke, {
1185
- ref_key: "rootElement",
1186
- ref: a,
1187
- class: j(["Autocomplete", y.$attrs.class]),
1188
- size: y.$props.size,
1189
- invalid: y.$props.invalid,
1190
- disabled: y.$props.disabled,
1191
- prefixIcon: y.$props.prefixIcon,
1192
- suffixIcon: y.$props.suffixIcon,
1193
- pill: y.$props.pill,
1194
- onClick: D[1] || (D[1] = (x) => i.value?.focus()),
1195
- onPrefixIconClick: D[2] || (D[2] = (x) => y.$emit("prefix-icon-click")),
1196
- onSuffixIconClick: D[3] || (D[3] = (x) => y.$emit("suffix-icon-click"))
1197
- }, Qe({
1198
- default: P(() => [
1199
- B("input", q({
1200
- ref_key: "inputElement",
1201
- ref: i
1202
- }, S(c), {
1203
- class: ["vuiii-input__nested Autocomplete__input", e.inputClass],
1204
- placeholder: e.placeholder,
1205
- disabled: e.disabled,
1206
- value: r.value,
1207
- onInput: R,
1208
- onClick: T,
1209
- onKeydown: N
1210
- }), null, 16, Rr),
1211
- U(Qt, { duration: 100 }, {
1212
- default: P(() => [
1213
- u.value && h.value.length > 0 ? (p(), v("div", {
1214
- key: 0,
1215
- class: "Autocomplete__dropdown",
1216
- ref_key: "dropdownElement",
1217
- ref: s
1218
- }, [
1219
- U(Bo, {
1220
- class: "Autocomplete__dropdownMenu",
1221
- items: h.value,
1222
- cursorIndex: S(b),
1223
- onItemClick: F,
1224
- onItemMouseenter: D[0] || (D[0] = ({ index: x }) => b.value = x)
1225
- }, {
1226
- itemLabel: P(({ item: x, index: J }) => [
1227
- w(y.$slots, "option", {
1228
- option: x,
1229
- index: J,
1230
- isHighlighted: S(b) === J
1231
- }, () => [
1232
- B("div", Fr, A(x.label), 1),
1233
- x.description ? (p(), v("div", jr, A(x.description), 1)) : O("", !0)
1234
- ], !0)
1235
- ]),
1236
- _: 3
1237
- }, 8, ["items", "cursorIndex"])
1238
- ], 512)) : O("", !0)
1239
- ]),
1240
- _: 3
1241
- })
1242
- ]),
1243
- _: 2
1244
- }, [
1245
- y.$slots.prefix ? {
1246
- name: "prefix",
1247
- fn: P(() => [
1248
- w(y.$slots, "prefix", {}, void 0, !0)
1249
- ]),
1250
- key: "0"
1251
- } : void 0,
1252
- y.$slots.suffix ? {
1253
- name: "suffix",
1254
- fn: P(() => [
1255
- w(y.$slots, "suffix", {}, void 0, !0)
1256
- ]),
1257
- key: "1"
1258
- } : void 0
1259
- ]), 1032, ["class", "size", "invalid", "disabled", "prefixIcon", "suffixIcon", "pill"]));
1260
- }
1261
- }), Va = /* @__PURE__ */ G(Wr, [["__scopeId", "data-v-bc6aeb05"]]), qr = { class: "Breadcrumbs" }, Nr = /* @__PURE__ */ z({
1262
- __name: "Breadcrumbs",
1263
- props: {
1264
- breadcrumbs: { default: () => [] }
1265
- },
1266
- setup(e) {
1267
- return (t, o) => {
1268
- const r = Ht("router-link");
1269
- return p(), v("div", qr, [
1270
- (p(!0), v(H, null, Y(e.breadcrumbs, (n, l) => (p(), v("div", {
1271
- key: l,
1272
- class: "Breadcrumbs__breadcrumb"
1273
- }, [
1274
- U(r, {
1275
- to: n.link,
1276
- class: "Breadcrumbs__link"
1277
- }, {
1278
- default: P(() => [
1279
- re(A(n.label), 1)
1280
- ]),
1281
- _: 2
1282
- }, 1032, ["to"]),
1283
- U(ae, {
1284
- name: "chevron-right",
1285
- class: "Breadcrumbs__arrow"
1286
- })
1287
- ]))), 128))
1288
- ]);
1289
- };
1290
- }
1291
- }), Ma = /* @__PURE__ */ G(Nr, [["__scopeId", "data-v-44a63a08"]]), Gr = { key: 0 }, tt = /* @__PURE__ */ z({
1292
- __name: "Button",
1293
- props: {
1294
- disabled: { type: Boolean },
1295
- type: { default: "button" },
1296
- size: {},
1297
- variant: {},
1298
- prefixIcon: {},
1299
- suffixIcon: {},
1300
- label: {},
1301
- block: { type: Boolean },
1302
- loading: { type: Boolean },
1303
- outlined: { type: Boolean },
1304
- pill: { type: Boolean },
1305
- to: {},
1306
- href: {}
1307
- },
1308
- setup(e) {
1309
- const t = e, o = k(() => t.to ? "router-link" : t.href ? "a" : "button");
1310
- return (r, n) => (p(), L(Ie(o.value), q({
1311
- class: ["Button vuiii-button", {
1312
- [`vuiii-button--variant-${r.$props.variant}`]: r.$props.variant,
1313
- [`vuiii-button--size-${r.$props.size}`]: r.$props.size,
1314
- "vuiii-button--disabled": r.$props.disabled || r.$props.loading,
1315
- "vuiii-button--loading": r.$props.loading,
1316
- "vuiii-button--outlined": r.$props.outlined && r.$props.variant,
1317
- "vuiii-button--block": r.$props.block,
1318
- "vuiii-button--pill": r.$props.pill
1319
- }]
1320
- }, r.$attrs, {
1321
- to: o.value === "router-link" ? r.$props.to : void 0,
1322
- href: o.value === "a" ? r.$props.href : void 0,
1323
- type: o.value === "button" ? r.$props.type : void 0
1324
- }), {
1325
- default: P(() => [
1326
- w(r.$slots, "prefix", {}, () => [
1327
- r.$props.prefixIcon || r.$props.loading ? (p(), L(ae, {
1328
- key: 0,
1329
- class: "vuiii-button__icon vuiii-button__icon--prefix",
1330
- name: r.$props.loading ? "spinner" : r.$props.prefixIcon,
1331
- size: r.$props.size
1332
- }, null, 8, ["name", "size"])) : O("", !0)
1333
- ]),
1334
- r.$slots.default || r.$props.label ? (p(), v("span", Gr, [
1335
- w(r.$slots, "default", {}, () => [
1336
- re(A(r.$props.label), 1)
1337
- ])
1338
- ])) : O("", !0),
1339
- w(r.$slots, "suffix", {}, () => [
1340
- r.$props.suffixIcon ? (p(), L(ae, {
1341
- key: 0,
1342
- class: "vuiii-button__icon vuiii-button__icon--suffix",
1343
- name: r.$props.suffixIcon,
1344
- size: r.$props.size
1345
- }, null, 8, ["name", "size"])) : O("", !0)
1346
- ])
1347
- ]),
1348
- _: 3
1349
- }, 16, ["class", "to", "href", "type"]));
1350
- }
1351
- }), Hr = {}, Ur = { class: "ButtonGroup" };
1352
- function Xr(e, t) {
1353
- return p(), v("div", Ur, [
1354
- w(e.$slots, "default", {}, void 0, !0)
1355
- ]);
1356
- }
1357
- const Yr = /* @__PURE__ */ G(Hr, [["render", Xr], ["__scopeId", "data-v-3d8ee6b9"]]), Qr = ["checked", "required", "disabled"], Kr = {
1358
- key: 0,
1359
- class: "Checkbox__switch"
1360
- }, Jr = {
1361
- key: 1,
1362
- class: "Checkbox__checkbox vuiii-input"
1363
- }, Zr = { key: 0 }, en = {
1364
- key: 0,
1365
- class: "Checkbox__label"
1366
- }, tn = {
1367
- key: 0,
1368
- class: "Checkbox__required"
1369
- }, on = {
1370
- key: 1,
1371
- class: "Checkbox__description"
1372
- }, rn = {
1373
- inheritAttrs: !1
1374
- }, nn = /* @__PURE__ */ z({
1375
- ...rn,
1376
- __name: "Checkbox",
1377
- props: /* @__PURE__ */ Q({
1378
- required: { type: Boolean },
1379
- disabled: { type: Boolean },
1380
- switch: { type: Boolean },
1381
- label: {},
1382
- description: {},
1383
- size: { default: "normal" },
1384
- valueParser: {}
1385
- }, {
1386
- modelValue: {},
1387
- modelModifiers: {}
1388
- }),
1389
- emits: ["update:modelValue"],
1390
- setup(e) {
1391
- const t = ne(e, "modelValue"), o = Pe(), r = e, n = k(() => r.valueParser || {
1392
- parse: Boolean,
1393
- stringify: Boolean
1394
- }), l = k(() => n.value.stringify(t.value));
1395
- function c(a) {
1396
- t.value = n.value.parse(a.target.checked);
1397
- }
1398
- return (a, s) => (p(), v("label", {
1399
- class: j(["Checkbox", [
1400
- a.$attrs.class,
1401
- {
1402
- [`Checkbox--size-${a.$props.size}`]: a.$props.size,
1403
- "Checkbox--disabled": a.$props.disabled
1404
- }
1405
- ]])
1406
- }, [
1407
- B("input", q({
1408
- checked: l.value,
1409
- class: "Checkbox__input",
1410
- required: a.$props.required,
1411
- disabled: a.$props.disabled,
1412
- type: "checkbox"
1413
- }, S(o), {
1414
- onInput: s[0] || (s[0] = (i) => c(i))
1415
- }), null, 16, Qr),
1416
- w(a.$slots, "symbol", lt(ut({ disabled: !!e.disabled, size: e.size, checked: l.value })), () => [
1417
- a.$props.switch ? (p(), v("div", Kr, [...s[1] || (s[1] = [
1418
- B("div", { class: "Checkbox__switchDot" }, null, -1)
1419
- ])])) : (p(), v("div", Jr, [
1420
- U(ae, {
1421
- name: "check",
1422
- class: "Checkbox__checkboxIcon",
1423
- size: a.$props.size
1424
- }, null, 8, ["size"])
1425
- ]))
1426
- ], !0),
1427
- a.$slots.default || a.$props.label || a.$props.description ? (p(), v("div", Zr, [
1428
- a.$slots.default || a.$props.label ? (p(), v("div", en, [
1429
- a.$props.required ? (p(), v("span", tn, "*")) : O("", !0),
1430
- w(a.$slots, "default", {}, () => [
1431
- re(A(a.$props.label), 1)
1432
- ], !0)
1433
- ])) : O("", !0),
1434
- a.$props.description ? (p(), v("div", on, A(a.$props.description), 1)) : O("", !0)
1435
- ])) : O("", !0)
1436
- ], 2));
1437
- }
1438
- }), an = /* @__PURE__ */ G(nn, [["__scopeId", "data-v-927c8261"]]);
1439
- function kt(e = "string") {
1440
- return {
1441
- string: {
1442
- stringify: (o) => o == null ? "" : String(o),
1443
- parse: (o) => o === "" ? void 0 : String(o)
1444
- },
1445
- number: {
1446
- stringify: (o) => o == null ? "" : String(o),
1447
- parse: (o) => o === "" ? void 0 : Number(o)
1448
- },
1449
- boolean: {
1450
- stringify: (o) => o ? "true" : "false",
1451
- parse: (o) => o === "true"
1452
- },
1453
- date: {
1454
- stringify: (o) => new Date(o).toISOString(),
1455
- parse: (o) => new Date(o)
1456
- }
1457
- }[e];
1458
- }
1459
- const sn = /* @__PURE__ */ z({
1460
- __name: "CheckboxGroup",
1461
- props: /* @__PURE__ */ Q({
1462
- options: {},
1463
- optionLabel: {},
1464
- optionValue: {},
1465
- optionDisabled: {},
1466
- optionDescription: {},
1467
- valueParser: {},
1468
- type: {},
1469
- inline: { type: Boolean }
1470
- }, {
1471
- modelValue: {},
1472
- modelModifiers: {}
1473
- }),
1474
- emits: ["update:modelValue"],
1475
- setup(e) {
1476
- const t = ne(e, "modelValue"), o = e, r = k(() => o.valueParser || kt(o.type)), n = k(() => ke(o.options, {
1477
- value: o.optionValue,
1478
- label: o.optionLabel,
1479
- disabled: o.optionDisabled,
1480
- description: o.optionDescription,
1481
- stringifyValue: r.value.stringify
1482
- })), l = k(() => new Set(t.value)), c = (a, s) => {
1483
- const i = new Set(l.value.values()), u = r.value.parse(a);
1484
- s ? i.add(u) : i.delete(u), t.value = Array.from(i);
1485
- };
1486
- return (a, s) => (p(), v("div", {
1487
- class: j(["CheckboxGroup", { "CheckboxGroup--inline": a.$props.inline }])
1488
- }, [
1489
- (p(!0), v(H, null, Y(n.value, (i) => (p(), v("div", {
1490
- key: i.value
1491
- }, [
1492
- U(an, {
1493
- disabled: i.disabled,
1494
- "model-value": l.value.has(i.value),
1495
- label: i.label,
1496
- description: i.description,
1497
- "onUpdate:modelValue": (u) => c(i.value, u)
1498
- }, Qe({ _: 2 }, [
1499
- a.$slots.symbol ? {
1500
- name: "symbol",
1501
- fn: P(({ checked: u, disabled: d }) => [
1502
- w(a.$slots, "symbol", q({ ref_for: !0 }, { checked: u, disabled: d }), void 0, !0)
1503
- ]),
1504
- key: "0"
1505
- } : void 0
1506
- ]), 1032, ["disabled", "model-value", "label", "description", "onUpdate:modelValue"])
1507
- ]))), 128))
1508
- ], 2));
1509
- }
1510
- }), Aa = /* @__PURE__ */ G(sn, [["__scopeId", "data-v-9484e97b"]]), ln = {
1511
- cancelLabel: "Cancel",
1512
- confirmLabel: "OK"
1513
- }, ft = ln, un = V(1), _e = V([]), pe = k(() => _e.value[_e.value.length - 1]), cn = () => un.value++, _t = (e, t, { modal: o } = {}) => {
1514
- const r = document.activeElement;
1515
- return r.blur?.(), new Promise((n) => {
1516
- const l = {
1517
- id: cn(),
1518
- component: _o(e),
1519
- props: t,
1520
- resolve: n,
1521
- focusElement: r,
1522
- modal: o
1523
- };
1524
- _e.value.push(l);
1525
- });
1526
- }, dn = (e) => {
1527
- typeof e == "string" && (e = {
1528
- content: e
1529
- });
1530
- const { title: t, content: o, confirmVariant: r, confirmLabel: n = ft.confirmLabel, confirmIcon: l, modal: c } = e;
1531
- return _t(lo, {
1532
- title: t,
1533
- content: o,
1534
- modal: c,
1535
- buttons: [
1536
- {
1537
- variant: r || "primary",
1538
- label: n || "",
1539
- icon: l
1540
- }
1541
- ]
1542
- });
1543
- }, pn = (e) => {
1544
- typeof e == "string" && (e = {
1545
- content: e
1546
- });
1547
- const {
1548
- title: t,
1549
- content: o,
1550
- cancelLabel: r = ft.cancelLabel,
1551
- cancelVariant: n,
1552
- cancelIcon: l,
1553
- confirmLabel: c = ft.confirmLabel,
1554
- confirmVariant: a,
1555
- confirmIcon: s,
1556
- modal: i
1557
- } = e;
1558
- return _t(lo, {
1559
- title: t,
1560
- content: o,
1561
- modal: i,
1562
- buttons: [
1563
- {
1564
- variant: n || "secondary",
1565
- label: r || "",
1566
- icon: l,
1567
- value: !1
1568
- },
1569
- {
1570
- variant: a || "primary",
1571
- label: c || "",
1572
- icon: s,
1573
- value: !0
1574
- }
1575
- ]
1576
- });
1577
- }, Tt = (e, t = void 0) => {
1578
- _e.value = _e.value.filter((o) => o.id !== e.id), e.resolve(t), e.focusElement && e.focusElement.focus?.();
1579
- }, Ge = (e, t = void 0) => {
1580
- e.onBeforeClose ? e.onBeforeClose(() => Tt(e, t)) : Tt(e, t);
1581
- }, fn = (e) => (e && pe.value && (pe.value.onBeforeClose = e), (t) => {
1582
- pe.value && Ge(pe.value, t);
1583
- }), vn = {
1584
- open: _t,
1585
- alert: dn,
1586
- confirm: pn
1587
- };
1588
- function mn() {
1589
- return vn;
1590
- }
1591
- const bn = {
1592
- key: 1,
1593
- class: "DialogLayout__header"
1594
- }, hn = { class: "DialogLayout__title" }, gn = { class: "DialogLayout__body" }, yn = { class: "DialogLayout__content" }, $n = {
1595
- key: 2,
1596
- class: "DialogLayout__footer"
1597
- }, kn = { class: "DialogLayout__buttons" }, _n = /* @__PURE__ */ z({
1598
- __name: "DialogLayout",
1599
- props: {
1600
- title: { default: "" },
1601
- content: { default: "" },
1602
- width: { default: 600 },
1603
- withCloseButton: { type: Boolean },
1604
- scroll: { type: Boolean },
1605
- plain: { type: Boolean },
1606
- buttons: { default: () => [] }
1607
- },
1608
- setup(e) {
1609
- const t = Ye(), o = fn(), r = V(), n = e, l = k(() => !!(t.header || n.title)), c = k(() => !!t.footer || !!n.buttons?.length), a = k(() => {
1610
- const s = n.width + (Number(n.width) ? "px" : "");
1611
- return s && s !== "auto" ? {
1612
- width: "100%",
1613
- maxWidth: s
1614
- } : {};
1615
- });
1616
- return Le(() => {
1617
- const s = r.value?.querySelectorAll("input");
1618
- if (s?.length) {
1619
- s[0]?.focus();
1620
- return;
1621
- }
1622
- const i = r.value?.querySelectorAll("button");
1623
- if (i?.length) {
1624
- const u = Array.from(i).find((d) => d.classList.contains("vuiii-button--primary"));
1625
- if (u) {
1626
- u.focus();
1627
- return;
1628
- }
1629
- i[0]?.focus();
1630
- }
1631
- }), (s, i) => (p(), v("div", {
1632
- ref_key: "root",
1633
- ref: r,
1634
- class: j(["DialogLayout", {
1635
- hasHeader: l.value,
1636
- hasFooter: c.value,
1637
- isScrollable: s.$props.scroll,
1638
- isPlain: s.$props.plain,
1639
- isWithCloseButton: s.$props.withCloseButton
1640
- }]),
1641
- style: He(a.value)
1642
- }, [
1643
- s.$props.withCloseButton ? (p(), v("div", {
1644
- key: 0,
1645
- class: "DialogLayout__close",
1646
- onClick: i[0] || (i[0] = (u) => S(o)())
1647
- }, [
1648
- U(ae, {
1649
- name: "x",
1650
- class: "DialogLayout__closeIcon"
1651
- })
1652
- ])) : O("", !0),
1653
- l.value ? (p(), v("div", bn, [
1654
- w(s.$slots, "header", {}, () => [
1655
- B("div", hn, A(s.$props.title), 1)
1656
- ], !0)
1657
- ])) : O("", !0),
1658
- B("div", gn, [
1659
- w(s.$slots, "default", {}, () => [
1660
- B("div", yn, A(s.$props.content), 1)
1661
- ], !0)
1662
- ]),
1663
- c.value ? (p(), v("div", $n, [
1664
- w(s.$slots, "footer", {}, () => [
1665
- B("div", kn, [
1666
- (p(!0), v(H, null, Y(s.$props.buttons, (u, d) => (p(), v("span", {
1667
- key: d,
1668
- class: "DialogLayout__buttonWrapper"
1669
- }, [
1670
- U(tt, {
1671
- type: "button",
1672
- label: u.label,
1673
- variant: u.variant,
1674
- "prefix-icon": u.icon,
1675
- disabled: u.disabled,
1676
- loading: u.loading,
1677
- onClick: (m) => S(o)(u.value)
1678
- }, null, 8, ["label", "variant", "prefix-icon", "disabled", "loading", "onClick"])
1679
- ]))), 128))
1680
- ])
1681
- ], !0)
1682
- ])) : O("", !0)
1683
- ], 6));
1684
- }
1685
- }), lo = /* @__PURE__ */ G(_n, [["__scopeId", "data-v-9671bc6e"]]);
1686
- function uo(e, t, o) {
1687
- const r = (n) => {
1688
- n.key.toLowerCase() === e.toLowerCase() && t(n);
1689
- };
1690
- Le(() => {
1691
- window.addEventListener("keydown", r, o);
1692
- }), wo(() => {
1693
- window.removeEventListener("keydown", r, o);
1694
- });
1695
- }
1696
- const wn = { class: "DialogStack" }, Cn = {
1697
- key: 0,
1698
- class: "DialogStack__backdrop"
1699
- }, In = ["onClick"], On = /* @__PURE__ */ z({
1700
- __name: "DialogStack",
1701
- setup(e) {
1702
- const t = (o, r) => {
1703
- !r.modal && o.target === o.currentTarget && Ge(r);
1704
- };
1705
- return uo("Escape", (o) => {
1706
- pe.value && !pe.value.modal && !o.defaultPrevented && (Ge(pe.value), o.preventDefault());
1707
- }), (o, r) => (p(), L(Ut, { to: "body" }, [
1708
- B("div", wn, [
1709
- U(Nt, { name: "DialogStack__backdrop" }, {
1710
- default: P(() => [
1711
- S(_e).length ? (p(), v("div", Cn)) : O("", !0)
1712
- ]),
1713
- _: 1
1714
- }),
1715
- U(Xt, { name: "DialogStack__dialog" }, {
1716
- default: P(() => [
1717
- (p(!0), v(H, null, Y(S(_e), (n) => (p(), v("div", {
1718
- key: n.id,
1719
- class: "DialogStack__dialogWrapper",
1720
- onClick: (l) => t(l, n)
1721
- }, [
1722
- (p(), L(Ie(n.component), q({ ref_for: !0 }, n.props, {
1723
- "data-dialog-id": n.id,
1724
- class: ["DialogStack__dialog", { isActive: S(pe)?.id === n.id }],
1725
- onClose: (l) => S(Ge)(n, l)
1726
- }), null, 16, ["data-dialog-id", "class", "onClose"]))
1727
- ], 8, In))), 128))
1728
- ]),
1729
- _: 1
1730
- })
1731
- ])
1732
- ]));
1733
- }
1734
- }), Ea = /* @__PURE__ */ G(On, [["__scopeId", "data-v-075d0d5a"]]), Dn = /* @__PURE__ */ z({
1735
- __name: "Dropdown",
1736
- props: {
1737
- label: {},
1738
- variant: {},
1739
- block: { type: Boolean },
1740
- icon: {}
1741
- },
1742
- emits: ["open", "close"],
1743
- setup(e, { expose: t, emit: o }) {
1744
- const r = o, n = V(!1), l = V(), c = V();
1745
- function a() {
1746
- n.value || (n.value = !0, r("open"));
1747
- }
1748
- function s() {
1749
- n.value && (n.value = !1, r("close"));
1750
- }
1751
- function i(u) {
1752
- u ?? !n.value ? a() : s();
1753
- }
1754
- return so(l, c), Kt(l, (u) => {
1755
- n.value && !u.defaultPrevented && (u.preventDefault(), s());
1756
- }), uo("Escape", (u) => {
1757
- n.value && !u.defaultPrevented && (u.preventDefault(), s());
1758
- }), t({
1759
- open: a,
1760
- close: s,
1761
- toggle: i,
1762
- isOpen: k(() => n.value)
1763
- }), (u, d) => (p(), v("div", {
1764
- class: j(["Dropdown", { "Dropdown--block": e.block }]),
1765
- ref_key: "rootElement",
1766
- ref: l
1767
- }, [
1768
- w(u.$slots, "trigger", lt(ut({ open: a, close: s, toggle: i, isOpen: n.value })), () => [
1769
- U(tt, {
1770
- label: e.label,
1771
- variant: e.variant,
1772
- block: e.block,
1773
- prefixIcon: e.icon,
1774
- suffixIcon: "chevron-down",
1775
- onClick: d[0] || (d[0] = (m) => i())
1776
- }, null, 8, ["label", "variant", "block", "prefixIcon"])
1777
- ], !0),
1778
- U(Qt, { duration: 100 }, {
1779
- default: P(() => [
1780
- n.value ? (p(), v("div", {
1781
- key: 0,
1782
- class: "Dropdown__dropdown",
1783
- ref_key: "dropdownElement",
1784
- ref: c
1785
- }, [
1786
- w(u.$slots, "default", lt(ut({ close: s })), void 0, !0)
1787
- ], 512)) : O("", !0)
1788
- ]),
1789
- _: 3
1790
- })
1791
- ], 2));
1792
- }
1793
- }), xa = /* @__PURE__ */ G(Dn, [["__scopeId", "data-v-53e81477"]]), Bn = {
1794
- key: 0,
1795
- class: "FormGroup__header"
1796
- }, Sn = ["for"], Pn = {
1797
- key: 0,
1798
- class: "FormGroup__required"
1799
- }, Vn = {
1800
- key: 1,
1801
- class: "FormGroup__description"
1802
- }, Mn = {
1803
- key: 2,
1804
- class: "FormGroup__hint"
1805
- }, An = {
1806
- key: 3,
1807
- class: "FormGroup__error"
1808
- }, En = /* @__PURE__ */ z({
1809
- __name: "FormGroup",
1810
- props: {
1811
- label: {},
1812
- for: {},
1813
- required: { type: Boolean },
1814
- error: { type: [String, Boolean] },
1815
- description: {},
1816
- hint: {}
1817
- },
1818
- setup(e) {
1819
- return (t, o) => (p(), v("div", {
1820
- class: j(["FormGroup", { "FormGroup--invalid": t.$props.error }])
1821
- }, [
1822
- t.$props.label || t.$slots.label ? (p(), v("div", Bn, [
1823
- B("label", {
1824
- class: "FormGroup__label",
1825
- for: t.$props.for
1826
- }, [
1827
- w(t.$slots, "label", {}, () => [
1828
- re(A(t.$props.label), 1)
1829
- ], !0)
1830
- ], 8, Sn),
1831
- t.$props.required ? (p(), v("div", Pn, "*")) : O("", !0)
1832
- ])) : O("", !0),
1833
- t.$slots.description || t.$props.description ? (p(), v("div", Vn, [
1834
- w(t.$slots, "description", {}, () => [
1835
- re(A(t.$props.description), 1)
1836
- ], !0)
1837
- ])) : O("", !0),
1838
- w(t.$slots, "default", {}, void 0, !0),
1839
- t.$slots.hint || t.$props.hint ? (p(), v("div", Mn, [
1840
- w(t.$slots, "hint", {}, () => [
1841
- re(A(t.$props.hint), 1)
1842
- ], !0)
1843
- ])) : O("", !0),
1844
- t.$props.error && typeof t.$props.error == "string" ? (p(), v("div", An, A(t.$props.error), 1)) : O("", !0)
1845
- ], 2));
1846
- }
1847
- }), xn = /* @__PURE__ */ G(En, [["__scopeId", "data-v-b18bb598"]]), Ln = { class: "FormFields" }, zn = /* @__PURE__ */ z({
1848
- __name: "FormFields",
1849
- props: {
1850
- fields: {},
1851
- modelValue: {},
1852
- validationResults: {}
1853
- },
1854
- emits: ["update:model-value"],
1855
- setup(e, { emit: t }) {
1856
- const o = e, r = k(() => o.fields.map((i) => ({
1857
- ...i,
1858
- value: c(i.name),
1859
- required: !!s(i.name, i.required),
1860
- disabled: !!s(i.name, i.disabled),
1861
- invalid: o.validationResults?.[i.name]?.isInvalid,
1862
- errorMessage: o.validationResults?.[i.name]?.errorMessage
1863
- }))), n = k(() => new Map(o.fields.map((i) => [i.name, i]))), l = t, c = (i) => (n.value.get(i).value?.getter || ((d) => d[i]))(o.modelValue), a = (i, u) => {
1864
- const m = (n.value.get(i).value?.setter || ((f, h) => ({ ...h, [i]: f })))(u, o.modelValue);
1865
- l("update:model-value", m);
1866
- }, s = (i, u) => typeof u == "function" ? u?.(o.modelValue[i]) : u;
1867
- return (i, u) => (p(), v("div", Ln, [
1868
- (p(!0), v(H, null, Y(r.value, (d, m) => (p(), L(xn, {
1869
- key: d.name,
1870
- label: d.label,
1871
- description: d.description,
1872
- hint: d.hint,
1873
- required: d.required,
1874
- invalid: d.invalid,
1875
- "error-message": d.errorMessage
1876
- }, {
1877
- default: P(() => [
1878
- w(i.$slots, `field:${String(d.name)}`, q({ ref_for: !0 }, { ...d, index: m }), () => [
1879
- (p(), L(Ie(d.component), q({
1880
- "model-value": d.value
1881
- }, { ref_for: !0 }, s(d.name, d.props), {
1882
- required: d.required,
1883
- disabled: d.disabled,
1884
- invalid: d.invalid,
1885
- "onUpdate:modelValue": (f) => a(d.name, f)
1886
- }), null, 16, ["model-value", "required", "disabled", "invalid", "onUpdate:modelValue"]))
1887
- ], !0)
1888
- ]),
1889
- _: 2
1890
- }, 1032, ["label", "description", "hint", "required", "invalid", "error-message"]))), 128))
1891
- ]));
1892
- }
1893
- }), La = /* @__PURE__ */ G(zn, [["__scopeId", "data-v-bf60c4d0"]]);
1894
- function Rn(e, t) {
1895
- return t = [...t, "modelValue", "modelModifiers"], k(() => Object.fromEntries(Object.entries(e).filter(([o]) => !t.includes(o))));
1896
- }
1897
- const za = /* @__PURE__ */ z({
1898
- __name: "IconButton",
1899
- props: {
1900
- disabled: { type: Boolean },
1901
- type: {},
1902
- size: {},
1903
- variant: {},
1904
- loading: { type: Boolean },
1905
- outlined: { type: Boolean },
1906
- pill: { type: Boolean },
1907
- to: {},
1908
- href: {},
1909
- icon: {},
1910
- title: {}
1911
- },
1912
- emits: ["click"],
1913
- setup(e, { emit: t }) {
1914
- const r = Rn(e, ["icon"]), n = t;
1915
- return (l, c) => (p(), L(tt, q({
1916
- class: "vuiii-icon-button",
1917
- prefixIcon: e.icon
1918
- }, S(r), {
1919
- onClick: c[0] || (c[0] = (a) => n("click", a))
1920
- }), null, 16, ["prefixIcon"]));
1921
- }
1922
- }), Fn = ["aria-label", "type", "value"], jn = {
1923
- inheritAttrs: !1
1924
- }, Tn = /* @__PURE__ */ z({
1925
- ...jn,
1926
- __name: "Input",
1927
- props: /* @__PURE__ */ Q({
1928
- prefixIcon: {},
1929
- suffixIcon: {},
1930
- size: {},
1931
- invalid: { type: Boolean },
1932
- pill: { type: Boolean },
1933
- inputClass: {}
1934
- }, {
1935
- modelValue: {},
1936
- modelModifiers: {}
1937
- }),
1938
- emits: /* @__PURE__ */ Q(["prefix-icon-click", "suffix-icon-click"], ["update:modelValue"]),
1939
- setup(e, { expose: t }) {
1940
- const o = ne(e, "modelValue"), r = Xe(), n = Pe(), l = Ye(), c = V();
1941
- function a(i) {
1942
- const u = i.target;
1943
- return r.type === "number" ? u.valueAsNumber : r.type === "date" ? u.valueAsDate : u.value;
1944
- }
1945
- function s(i) {
1946
- o.value = a(i);
1947
- }
1948
- return t({
1949
- input: c,
1950
- focus: () => c.value.focus(),
1951
- select: () => c.value.select()
1952
- }), (i, u) => (p(), L(Ke, {
1953
- "prefix-icon": i.$props.prefixIcon,
1954
- "suffix-icon": i.$props.suffixIcon,
1955
- size: i.$props.size,
1956
- invalid: i.$props.invalid,
1957
- pill: i.$props.pill,
1958
- class: j(i.$attrs.class),
1959
- disabled: i.$attrs.disabled,
1960
- onClick: u[1] || (u[1] = (d) => c.value.focus()),
1961
- onPrefixIconClick: u[2] || (u[2] = (d) => i.$emit("prefix-icon-click")),
1962
- onSuffixIconClick: u[3] || (u[3] = (d) => i.$emit("suffix-icon-click"))
1963
- }, Qe({
1964
- default: P(() => [
1965
- B("input", q({
1966
- ref_key: "input",
1967
- ref: c,
1968
- "aria-label": i.$attrs.placeholder || "input"
1969
- }, S(n), {
1970
- class: ["vuiii-input__nested Input__input", [
1971
- e.inputClass,
1972
- {
1973
- "Input__input--withPrefixIcon": i.$props.prefixIcon,
1974
- "Input__input--withSuffixIcon": i.$props.suffixIcon
1975
- }
1976
- ]],
1977
- type: i.$attrs.type || "text",
1978
- value: o.value,
1979
- onInput: u[0] || (u[0] = (d) => s(d))
1980
- }), null, 16, Fn)
1981
- ]),
1982
- _: 2
1983
- }, [
1984
- S(l).prefix ? {
1985
- name: "prefix",
1986
- fn: P(() => [
1987
- w(i.$slots, "prefix", {}, void 0, !0)
1988
- ]),
1989
- key: "0"
1990
- } : void 0,
1991
- S(l).suffix ? {
1992
- name: "suffix",
1993
- fn: P(() => [
1994
- w(i.$slots, "suffix", {}, void 0, !0)
1995
- ]),
1996
- key: "1"
1997
- } : void 0
1998
- ]), 1032, ["prefix-icon", "suffix-icon", "size", "invalid", "pill", "class", "disabled"]));
1999
- }
2000
- }), Ra = /* @__PURE__ */ G(Tn, [["__scopeId", "data-v-9075681e"]]), Fa = /* @__PURE__ */ z({
2001
- __name: "RadioButtonGroup",
2002
- props: /* @__PURE__ */ Q({
2003
- options: {},
2004
- optionLabel: { type: [String, Number, Function] },
2005
- optionValue: { type: [String, Number, Function] },
2006
- optionDisabled: { type: [String, Number, Function] },
2007
- optionIcon: { type: [String, Number, Function] },
2008
- optionDescription: { type: [String, Number, Function] },
2009
- valueParser: {},
2010
- disabled: { type: Boolean },
2011
- size: {}
2012
- }, {
2013
- modelValue: {},
2014
- modelModifiers: {}
2015
- }),
2016
- emits: ["update:modelValue"],
2017
- setup(e) {
2018
- const t = ne(e, "modelValue"), o = e, r = k(
2019
- () => ke(
2020
- o.options,
2021
- {
2022
- value: o.optionValue,
2023
- label: o.optionLabel,
2024
- disabled: o.optionDisabled,
2025
- description: o.optionDescription,
2026
- icon: o.optionIcon
2027
- },
2028
- t.value
2029
- )
2030
- );
2031
- return (n, l) => (p(), L(Yr, null, {
2032
- default: P(() => [
2033
- (p(!0), v(H, null, Y(r.value, (c) => (p(), L(tt, {
2034
- key: c.value,
2035
- variant: "primary",
2036
- outlined: !c.isSelected,
2037
- label: c.label,
2038
- disabled: n.$props.disabled || c.disabled,
2039
- title: c.description,
2040
- "prefix-icon": c.icon,
2041
- size: n.$props.size,
2042
- onClick: (a) => t.value = c.value
2043
- }, null, 8, ["outlined", "label", "disabled", "title", "prefix-icon", "size", "onClick"]))), 128))
2044
- ]),
2045
- _: 1
2046
- }));
2047
- }
2048
- });
2049
- let Wn = 1;
2050
- function qn() {
2051
- return Wn++;
2052
- }
2053
- const Nn = ["value", "name", "disabled", "readonly", "checked", "onInput"], Gn = { key: 0 }, Hn = { class: "RadioGroup__label" }, Un = {
2054
- key: 0,
2055
- class: "RadioGroup__description"
2056
- }, Xn = {
2057
- inheritAttrs: !1
2058
- }, Yn = /* @__PURE__ */ z({
2059
- ...Xn,
2060
- __name: "RadioGroup",
2061
- props: /* @__PURE__ */ Q({
2062
- options: {},
2063
- optionLabel: {},
2064
- optionValue: {},
2065
- optionDisabled: {},
2066
- optionDescription: {},
2067
- valueParser: {},
2068
- disabled: { type: Boolean },
2069
- readonly: { type: Boolean },
2070
- inline: { type: Boolean },
2071
- type: { default: "string" }
2072
- }, {
2073
- modelValue: {},
2074
- modelModifiers: {}
2075
- }),
2076
- emits: ["update:modelValue"],
2077
- setup(e) {
2078
- const t = ne(e, "modelValue"), o = Xe(), r = Pe(), n = o.name || "RadioGroup-input-" + qn(), l = e, c = k(() => l.valueParser || kt(l.type)), a = k(
2079
- () => ke(
2080
- l.options,
2081
- {
2082
- value: l.optionValue,
2083
- label: l.optionLabel,
2084
- disabled: l.optionDisabled,
2085
- description: l.optionDescription,
2086
- stringifyValue: c.value?.stringify
2087
- },
2088
- t.value
2089
- )
2090
- );
2091
- function s(i) {
2092
- t.value = c.value.parse(i);
2093
- }
2094
- return (i, u) => (p(), v("div", {
2095
- class: j(["RadioGroup", [i.$attrs.class, { "RadioGroup--inline": e.inline }]])
2096
- }, [
2097
- (p(!0), v(H, null, Y(a.value, (d) => (p(), v("label", {
2098
- key: d.value,
2099
- class: j(["RadioGroup__option", { "RadioGroup__option--disabled": i.$props.disabled || d.disabled }])
2100
- }, [
2101
- B("input", q({ ref_for: !0 }, S(r), {
2102
- value: d.value,
2103
- class: "RadioGroup__input",
2104
- type: "radio",
2105
- name: S(n),
2106
- disabled: i.$props.disabled || d.disabled,
2107
- readonly: i.$props.readonly,
2108
- checked: d.isSelected,
2109
- onInput: (m) => s(d.value)
2110
- }), null, 16, Nn),
2111
- w(i.$slots, "symbol", q({ ref_for: !0 }, { disabled: !!e.disabled, checked: !!d.isSelected }), () => [
2112
- u[0] || (u[0] = B("div", { class: "RadioGroup__radio vuiii-input" }, [
2113
- B("div", { class: "RadioGroup__radioDot" })
2114
- ], -1))
2115
- ], !0),
2116
- d.label || d.description || i.$slots.default ? (p(), v("div", Gn, [
2117
- w(i.$slots, "default", q({ ref_for: !0 }, { option: d }), () => [
2118
- B("div", Hn, A(d.label), 1)
2119
- ], !0),
2120
- d.description ? (p(), v("div", Un, A(d.description), 1)) : O("", !0)
2121
- ])) : O("", !0)
2122
- ], 2))), 128))
2123
- ], 2));
2124
- }
2125
- }), ja = /* @__PURE__ */ G(Yn, [["__scopeId", "data-v-eaa91e04"]]), Qn = ["value", "required"], Kn = ["disabled", "hidden"], Jn = ["label"], Zn = ["disabled", "value", "selected"], ea = ["disabled", "value", "selected"], ta = { class: "Select__dropdownIcon vuiii-input__suffix-icon" }, oa = {
2126
- inheritAttrs: !1
2127
- }, ra = /* @__PURE__ */ z({
2128
- ...oa,
2129
- __name: "Select",
2130
- props: /* @__PURE__ */ Q({
2131
- options: {},
2132
- optionLabel: {},
2133
- optionValue: {},
2134
- optionDisabled: {},
2135
- groupLabel: {},
2136
- groupOptions: {},
2137
- valueParser: {},
2138
- placeholder: {},
2139
- size: { default: "normal" },
2140
- required: { type: Boolean },
2141
- inputClass: {},
2142
- invalid: { type: Boolean },
2143
- disabled: { type: Boolean },
2144
- pill: { type: Boolean },
2145
- type: { default: "string" }
2146
- }, {
2147
- modelValue: {},
2148
- modelModifiers: {}
2149
- }),
2150
- emits: ["update:modelValue"],
2151
- setup(e) {
2152
- const t = ne(e, "modelValue"), o = Pe(), r = e, n = k(() => r.valueParser || kt(r.type)), l = k(() => n.value.stringify(t.value)), c = k(() => {
2153
- if (r.groupOptions)
2154
- return io(
2155
- r.options,
2156
- {
2157
- groupLabel: r.groupLabel,
2158
- groupOptions: r.groupOptions,
2159
- value: r.optionValue,
2160
- label: r.optionLabel,
2161
- disabled: r.optionDisabled,
2162
- stringifyValue: n.value.stringify
2163
- },
2164
- t.value
2165
- );
2166
- }), a = k(() => {
2167
- if (!c.value)
2168
- return ke(
2169
- r.options,
2170
- {
2171
- value: r.optionValue,
2172
- label: r.optionLabel,
2173
- disabled: r.optionDisabled,
2174
- stringifyValue: n.value.stringify
2175
- },
2176
- t.value
2177
- );
2178
- });
2179
- function s(i) {
2180
- t.value = n.value.parse(i.target.value);
2181
- }
2182
- return (i, u) => (p(), L(Ke, {
2183
- class: j(["Select", i.$attrs.class]),
2184
- size: i.$props.size,
2185
- invalid: i.$props.invalid,
2186
- disabled: i.$props.disabled,
2187
- pill: i.$props.pill
2188
- }, {
2189
- suffix: P(() => [
2190
- B("div", ta, [
2191
- U(ae, {
2192
- name: "triangle-down",
2193
- size: i.$props.size
2194
- }, null, 8, ["size"])
2195
- ])
2196
- ]),
2197
- default: P(() => [
2198
- B("select", q(S(o), {
2199
- class: ["vuiii-input__nested Select__select", e.inputClass],
2200
- value: l.value,
2201
- required: i.$props.required,
2202
- onInput: u[0] || (u[0] = (d) => s(d))
2203
- }), [
2204
- i.$props.placeholder ? (p(), v("option", {
2205
- key: 0,
2206
- "data-placeholder": "",
2207
- disabled: i.$props.required,
2208
- hidden: i.$props.required,
2209
- value: "",
2210
- selected: ""
2211
- }, A(i.$props.placeholder), 9, Kn)) : O("", !0),
2212
- c.value ? (p(!0), v(H, { key: 1 }, Y(c.value, (d, m) => (p(), v("optgroup", {
2213
- key: m,
2214
- label: d.label
2215
- }, [
2216
- (p(!0), v(H, null, Y(d.options, (f) => (p(), v("option", {
2217
- key: f.value,
2218
- disabled: f.disabled,
2219
- value: f.value,
2220
- selected: f.isSelected
2221
- }, A(f.label), 9, Zn))), 128))
2222
- ], 8, Jn))), 128)) : (p(!0), v(H, { key: 2 }, Y(a.value, (d) => (p(), v("option", {
2223
- key: d.value,
2224
- disabled: d.disabled,
2225
- value: d.value,
2226
- selected: d.isSelected
2227
- }, A(d.label), 9, ea))), 128))
2228
- ], 16, Qn)
2229
- ]),
2230
- _: 1
2231
- }, 8, ["class", "size", "invalid", "disabled", "pill"]));
2232
- }
2233
- }), Ta = /* @__PURE__ */ G(ra, [["__scopeId", "data-v-d145e314"]]), vt = 7e3, na = 5, aa = V(1), Ce = V([]);
2234
- function sa() {
2235
- return aa.value++;
2236
- }
2237
- function co(e) {
2238
- Ce.value = Ce.value.filter(({ id: t }) => t !== e);
2239
- }
2240
- function Wt(e, t = "success", o = vt) {
2241
- const r = {
2242
- id: sa(),
2243
- text: e,
2244
- type: t
2245
- };
2246
- Ce.value.push(r), Ce.value.length > na && Ce.value.shift(), o > 0 && setTimeout(() => co(r.id), o);
2247
- }
2248
- const ia = {
2249
- success: (e, t = vt) => Wt(e, "success", t),
2250
- error: (e, t = vt) => Wt(e, "error", t)
2251
- };
2252
- function la() {
2253
- return ia;
2254
- }
2255
- const ua = { class: "Snackbar" }, ca = ["onClick"], da = /* @__PURE__ */ z({
2256
- __name: "SnackbarStack",
2257
- setup(e) {
2258
- const t = k(() => [...Ce.value].reverse());
2259
- return (o, r) => (p(), L(Ut, { to: "body" }, [
2260
- B("div", ua, [
2261
- U(Xt, { name: "Snackbar__transition" }, {
2262
- default: P(() => [
2263
- (p(!0), v(H, null, Y(t.value, (n, l) => (p(), v("div", {
2264
- key: n.id,
2265
- class: "Snackbar__message"
2266
- }, [
2267
- B("div", {
2268
- class: "Snackbar__messageWrapper",
2269
- style: He({ transform: `translateY(-${100 * l}%)` })
2270
- }, [
2271
- B("div", {
2272
- class: j(["Snackbar__messageBlock", `Snackbar__messageBlock--${n.type}`])
2273
- }, [
2274
- B("div", null, A(n.text), 1),
2275
- B("div", {
2276
- class: "Snackbar__messageClose",
2277
- onClick: (c) => S(co)(n.id)
2278
- }, [
2279
- U(ae, {
2280
- class: "Snackbar__messageCloseIcon",
2281
- name: "x"
2282
- })
2283
- ], 8, ca)
2284
- ], 2)
2285
- ], 4)
2286
- ]))), 128))
2287
- ]),
2288
- _: 1
2289
- })
2290
- ])
2291
- ]));
2292
- }
2293
- }), Wa = /* @__PURE__ */ G(da, [["__scopeId", "data-v-e7c3ec03"]]), pa = { key: 0 }, fa = ["width"], va = ["onClick"], ma = { class: "vuiii-table__sortIcon" }, ba = {
2294
- key: 1,
2295
- class: "vuiii-table__label"
2296
- }, ha = { key: 0 }, ga = ["onClick", "onMouseenter", "onMouseleave"], ya = { key: 0 }, $a = ["colspan"], ka = { class: "vuiii-table__noDataMessage" }, qa = /* @__PURE__ */ z({
2297
- __name: "Table",
2298
- props: /* @__PURE__ */ Q({
2299
- items: {},
2300
- columns: {},
2301
- rowClass: { type: [String, Function] },
2302
- highlightOnHover: { type: Boolean },
2303
- noDataMessage: {}
2304
- }, {
2305
- sortColumnName: {
2306
- default: null
2307
- },
2308
- sortColumnNameModifiers: {},
2309
- sortDirection: {
2310
- default: "asc"
2311
- },
2312
- sortDirectionModifiers: {}
2313
- }),
2314
- emits: /* @__PURE__ */ Q(["click-row", "mouseenter-row", "mouseleave-row", "sort"], ["update:sortColumnName", "update:sortDirection"]),
2315
- setup(e, { emit: t }) {
2316
- const o = ne(e, "sortColumnName"), r = ne(e, "sortDirection"), n = e, l = t, c = k(() => n.columns.reduce(
2317
- (m, f) => [...m, typeof f == "string" ? { name: f } : f],
2318
- []
2319
- )), a = k(() => c.value.some((m) => m.label));
2320
- function s(m, f) {
2321
- return typeof m == "string" && typeof f == "string" ? m.localeCompare(f) : m - f;
2322
- }
2323
- const i = k(() => {
2324
- const m = (h, b) => {
2325
- const g = typeof h.value == "function" ? h.value(b) : b[h.name], $ = typeof h.formatter == "function" ? h.formatter(g) : g, M = typeof h.cellClass == "function" ? h.cellClass({ item: b, value: g }) : h.cellClass;
2326
- return {
2327
- column: h,
2328
- value: g,
2329
- formattedValue: $,
2330
- cellClass: M,
2331
- item: b
2332
- };
2333
- }, f = n.items?.map((h, b) => {
2334
- const g = typeof n.rowClass == "function" ? n.rowClass({ item: h, index: b }) : n.rowClass, $ = c.value.reduce((M, E) => [...M, m(E, h)], []);
2335
- return {
2336
- item: h,
2337
- rowClass: g,
2338
- cells: $
2339
- };
2340
- }) || [];
2341
- if (o.value) {
2342
- const h = c.value.findIndex((g) => g.name === o.value), b = c.value[h]?.sorter ?? s;
2343
- f.sort(
2344
- (g, $) => b(g.cells[h]?.value, $.cells[h]?.value) * (r.value === "asc" ? 1 : -1)
2345
- );
2346
- }
2347
- return f;
2348
- });
2349
- function u(m, { index: f, item: h }) {
2350
- m.defaultPrevented || l("click-row", { index: f, item: h });
2351
- }
2352
- function d(m) {
2353
- o.value === m ? r.value = r.value === "asc" ? "desc" : "asc" : (o.value = m, r.value = "asc"), l("sort", { sortColumnName: o.value, sortDirection: r.value });
2354
- }
2355
- return (m, f) => {
2356
- const h = Ht("router-link");
2357
- return p(), v("table", {
2358
- class: j(["vuiii-table", { "vuiii-table--hover": m.$props.highlightOnHover && e.items?.length }])
2359
- }, [
2360
- a.value ? (p(), v("thead", pa, [
2361
- B("tr", null, [
2362
- (p(!0), v(H, null, Y(c.value, (b, g) => (p(), v("th", {
2363
- key: g,
2364
- style: He({ textAlign: b.align || "left" }),
2365
- width: b.width
2366
- }, [
2367
- b.sortable ? (p(), v("div", {
2368
- key: 0,
2369
- class: j(["vuiii-table__label vuiii-table__label--sortable", { "vuiii-table__label vuiii-table__label--activeSort": o.value === b.name }]),
2370
- onClick: it(($) => d(b.name), ["prevent"]),
2371
- role: "button",
2372
- tabindex: "0"
2373
- }, [
2374
- re(A(b.label) + " ", 1),
2375
- B("div", ma, [
2376
- U(ae, {
2377
- name: "caret-sort",
2378
- size: "small"
2379
- })
2380
- ])
2381
- ], 10, va)) : (p(), v("div", ba, A(b.label), 1))
2382
- ], 12, fa))), 128)),
2383
- m.$slots.tools ? (p(), v("th", ha)) : O("", !0)
2384
- ])
2385
- ])) : O("", !0),
2386
- B("tbody", null, [
2387
- (p(!0), v(H, null, Y(i.value, (b, g) => (p(), v("tr", {
2388
- key: g,
2389
- class: j(b.rowClass),
2390
- onClick: ($) => u($, { index: g, item: b.item }),
2391
- onMouseenter: ($) => m.$emit("mouseenter-row", { index: g, item: b.item }),
2392
- onMouseleave: ($) => m.$emit("mouseleave-row", { index: g, item: b.item })
2393
- }, [
2394
- (p(!0), v(H, null, Y(b.cells, ($) => (p(), v("td", {
2395
- key: $.column.name,
2396
- style: He({ textAlign: $.column.align || "left" }),
2397
- class: j($.cellClass)
2398
- }, [
2399
- w(m.$slots, `column:${$.column.name}`, q({ ref_for: !0 }, { item: b.item, value: $.value, index: g, column: $.column }), () => [
2400
- $.column.href ? (p(), L(h, {
2401
- key: 0,
2402
- class: "vuiii-link",
2403
- to: $.column.href($.item),
2404
- target: $.column.target
2405
- }, {
2406
- default: P(() => [
2407
- re(A($.formattedValue), 1)
2408
- ]),
2409
- _: 2
2410
- }, 1032, ["to", "target"])) : (p(), v(H, { key: 1 }, [
2411
- re(A($.formattedValue), 1)
2412
- ], 64))
2413
- ])
2414
- ], 6))), 128)),
2415
- m.$slots.rowOptions ? (p(), v("td", {
2416
- key: 0,
2417
- class: "vuiii-table__rowOptions",
2418
- onClick: f[0] || (f[0] = ($) => $.preventDefault())
2419
- }, [
2420
- w(m.$slots, "rowOptions", q({ ref_for: !0 }, { item: b.item, index: g }))
2421
- ])) : O("", !0)
2422
- ], 42, ga))), 128)),
2423
- !e.items?.length && (m.$props.noDataMessage || m.$slots.noDataMessage) ? (p(), v("tr", ya, [
2424
- B("td", {
2425
- colspan: Object.keys(e.columns).length
2426
- }, [
2427
- w(m.$slots, "noDataMessage", {}, () => [
2428
- B("div", ka, A(m.$props.noDataMessage), 1)
2429
- ])
2430
- ], 8, $a)
2431
- ])) : O("", !0)
2432
- ])
2433
- ], 2);
2434
- };
2435
- }
2436
- }), _a = ["value", "disabled", "readonly"], wa = {
2437
- inheritAttrs: !1
2438
- }, Ca = /* @__PURE__ */ z({
2439
- ...wa,
2440
- __name: "Textarea",
2441
- props: /* @__PURE__ */ Q({
2442
- prefixIcon: {},
2443
- size: {},
2444
- invalid: { type: Boolean },
2445
- pill: { type: Boolean },
2446
- disabled: { type: Boolean },
2447
- readonly: { type: Boolean }
2448
- }, {
2449
- modelValue: {},
2450
- modelModifiers: {}
2451
- }),
2452
- emits: /* @__PURE__ */ Q(["prefix-icon-click"], ["update:modelValue"]),
2453
- setup(e, { expose: t }) {
2454
- const o = ne(e, "modelValue"), r = Pe(), n = Ye(), l = V();
2455
- function c(a) {
2456
- o.value = a.target.value;
2457
- }
2458
- return t({
2459
- focus: () => l.value.focus(),
2460
- select: () => l.value.select()
2461
- }), (a, s) => (p(), L(Ke, {
2462
- class: j(["Textarea", a.$attrs.class]),
2463
- size: a.$props.size,
2464
- invalid: a.$props.invalid,
2465
- disabled: a.$props.disabled,
2466
- "prefix-icon": a.$props.prefixIcon,
2467
- onClick: s[1] || (s[1] = (i) => l.value.focus()),
2468
- onPrefixIconClick: s[2] || (s[2] = (i) => a.$emit("prefix-icon-click"))
2469
- }, Qe({
2470
- default: P(() => [
2471
- B("textarea", q(S(r), {
2472
- ref_key: "textareaElement",
2473
- ref: l,
2474
- class: "vuiii-input__nested Textarea__textarea",
2475
- value: a.$props.modelValue,
2476
- disabled: a.$props.disabled,
2477
- readonly: a.$props.readonly,
2478
- onInput: s[0] || (s[0] = (i) => c(i))
2479
- }), null, 16, _a)
2480
- ]),
2481
- _: 2
2482
- }, [
2483
- S(n).prefix ? {
2484
- name: "prefix",
2485
- fn: P(() => [
2486
- w(a.$slots, "prefix", {}, void 0, !0)
2487
- ]),
2488
- key: "0"
2489
- } : void 0
2490
- ]), 1032, ["class", "size", "invalid", "disabled", "prefix-icon"]));
2491
- }
2492
- }), Na = /* @__PURE__ */ G(Ca, [["__scopeId", "data-v-4b234a9c"]]);
2493
- function Ia(e, t = {}) {
2494
- const o = la(), r = mn(), n = Yt(), l = V(!1), c = V(!1), a = V(null), s = V(t.initialResultValue), i = async (...u) => {
2495
- try {
2496
- if (l.value = !0, a.value = null, t.onBeforeSubmit && await t.onBeforeSubmit({ params: u, dialog: r, snackbar: o }) === !1) {
2497
- l.value = !1;
2498
- return;
2499
- }
2500
- s.value = await e(...u);
2501
- } catch (d) {
2502
- if (a.value = d, t.errorMessage && o && o.error(
2503
- typeof t.errorMessage == "function" ? t.errorMessage({ error: d, params: u }) : t.errorMessage || d.message
2504
- ), l.value = !1, t.onError && t.onError({ error: d, params: u, router: n, snackbar: o, dialog: r }))
2505
- return;
2506
- throw d;
2507
- }
2508
- return c.value = !0, l.value = !1, t.successMessage && o && o.success(
2509
- typeof t.successMessage == "function" ? t.successMessage({ result: s.value, params: u }) : t.successMessage
2510
- ), t.onSuccess?.({ result: s.value, params: u, router: n, snackbar: o, dialog: r }), t.redirectOnSuccess && n.push(
2511
- typeof t.redirectOnSuccess == "function" ? t.redirectOnSuccess({ result: s.value, params: u }) : t.redirectOnSuccess
2512
- ), s.value;
2513
- };
2514
- return t.immediate && Le(i), {
2515
- submit: i,
2516
- result: s,
2517
- error: a,
2518
- isSubmitting: l,
2519
- hasSubbmitted: c
2520
- };
2521
- }
2522
- const Oa = (e, t = {}) => {
2523
- const {
2524
- isSubmitting: o,
2525
- hasSubbmitted: r,
2526
- submit: n,
2527
- result: l,
2528
- error: c
2529
- } = Ia(e, {
2530
- onBeforeSubmit: t.onBeforeLoad ? ({ params: a, dialog: s, snackbar: i }) => t.onBeforeLoad({ params: a, dialog: s, snackbar: i }) : void 0,
2531
- onSuccess: ({ router: a, params: s, result: i }) => t.onSuccess?.({ data: i, params: s, router: a }),
2532
- onError: ({ router: a, error: s, params: i }) => t.onError?.({ error: s, params: i, router: a }),
2533
- successMessage: typeof t.successMessage == "function" ? ({ params: a, result: s }) => t.successMessage({ data: s, params: a }) : t.successMessage,
2534
- errorMessage: typeof t.errorMessage == "function" ? ({ params: a, error: s }) => t.errorMessage({ error: s, params: a }) : t.errorMessage,
2535
- immediate: t.immediate,
2536
- initialResultValue: t.initialValue
2537
- });
2538
- return {
2539
- load: n,
2540
- isLoading: o,
2541
- hasLoaded: r,
2542
- data: l,
2543
- error: c
2544
- };
2545
- }, st = 25;
2546
- function Ga(e, t = {}) {
2547
- const o = V([]), r = V(), { immediate: n, initialValue: l, ...c } = t, { isLoading: a, hasLoaded: s, load: i } = Oa(e, c), u = async (f = 1) => {
2548
- const h = await i({ page: f, itemsPerPage: t.itemsPerPage || st });
2549
- return o.value = h.items, r.value = h.pagination, h;
2550
- }, d = async () => {
2551
- if (!r.value?.hasNextPage)
2552
- return;
2553
- const f = await i({
2554
- page: r.value.currentPage + 1,
2555
- itemsPerPage: t.itemsPerPage || st
2556
- });
2557
- return t.append ? o.value = [...o.value, ...f.items] : o.value = f.items, r.value = f.pagination, f;
2558
- }, m = async () => {
2559
- if (!r.value?.hasPreviousPage)
2560
- return;
2561
- const f = await i({
2562
- page: r.value.currentPage - 1,
2563
- itemsPerPage: t.itemsPerPage || st
2564
- });
2565
- return t.append ? o.value = [...f.items, ...o.value] : o.value = f.items, r.value = f.pagination, f;
2566
- };
2567
- return n && Le(u), {
2568
- isLoading: a,
2569
- hasLoaded: s,
2570
- items: o,
2571
- pagination: r,
2572
- loadPage: u,
2573
- loadNextPage: d,
2574
- loadPreviousPage: m
2575
- };
2576
- }
2577
- function Ha(e, t) {
2578
- const o = (r) => {
2579
- e.value?.contains(r.target) || t(r);
2580
- };
2581
- window.addEventListener("focus", o), Gt(() => {
2582
- window.removeEventListener("focus", o);
2583
- });
2584
- }
2585
- const qt = (e) => e !== "" && e !== void 0 && e !== null && (Array.isArray(e) ? e.length > 0 : !0);
2586
- function Da(e) {
2587
- const t = Yt(), o = Co(), r = k(() => {
2588
- let a = o.query;
2589
- return e.filter?.length && (a = Object.fromEntries(
2590
- Object.entries(a).filter(([s]) => e.filter?.includes(s))
2591
- )), a = Object.fromEntries(
2592
- Object.entries(a).map(([s, i]) => [
2593
- s,
2594
- decodeURIComponent(e.parse?.[s] ? e.parse[s](i) : i)
2595
- ])
2596
- ), e.defaults && Object.entries(e.defaults).forEach(([s, i]) => {
2597
- a[s] === void 0 && (a[s] = i);
2598
- }), a;
2599
- }), n = (a, s) => encodeURIComponent(e.serialize?.[a] ? e.serialize[a](s) : s), l = (a) => {
2600
- const s = Object.fromEntries(
2601
- Object.entries(a).filter(([i, u]) => qt(u)).map(([i, u]) => [i, n(i, u)])
2602
- );
2603
- return t.push({
2604
- query: s
2605
- });
2606
- }, c = (a, s) => {
2607
- const i = {
2608
- ...o.query
2609
- };
2610
- return i[a] = qt(s) ? n(a, s) : void 0, t.push({ query: i });
2611
- };
2612
- return ye(r, () => e.onChange?.(r.value), { immediate: e.immediate }), {
2613
- queryParams: r,
2614
- setQuery: l,
2615
- setQueryParam: c
2616
- };
2617
- }
2618
- function Ua(e) {
2619
- const { queryParams: t, setQuery: o } = Da({
2620
- onChange: (l) => e.onChange?.(l.page),
2621
- filter: ["page"],
2622
- parse: { page: (l) => Number(l) || 1 },
2623
- immediate: e.immediate
2624
- });
2625
- return { page: k(() => t.value.page), setPage: (l) => o({ page: String(l) }) };
2626
- }
2627
- function Xa(e) {
2628
- const t = V(), o = V(!1), r = async (s) => (o.value = !0, t.value = await e(s), o.value = !1, n.value), n = k(() => t.value?.isValid ?? !1), l = k(() => !n.value), c = k(
2629
- () => t.value && !o.value ? t.value.errorMessages : {}
2630
- ), a = k(
2631
- () => t.value?.validatedFields ?? {}
2632
- );
2633
- return {
2634
- isValidating: k(() => o.value),
2635
- isValid: n,
2636
- isInvalid: l,
2637
- errorMessages: c,
2638
- validatedFields: a,
2639
- validate: r
2640
- };
2641
- }
2642
- class Ya extends Error {
2643
- }
2644
- export {
2645
- Va as A,
2646
- Ma as B,
2647
- an as C,
2648
- lo as D,
2649
- Pa as E,
2650
- La as F,
2651
- ke as G,
2652
- ae as I,
2653
- ja as R,
2654
- Ta as S,
2655
- Na as T,
2656
- Ya as V,
2657
- G as _,
2658
- tt as a,
2659
- Yr as b,
2660
- Aa as c,
2661
- Ea as d,
2662
- xa as e,
2663
- Bo as f,
2664
- xn as g,
2665
- za as h,
2666
- Ra as i,
2667
- Fa as j,
2668
- Wa as k,
2669
- qa as l,
2670
- Qt as m,
2671
- Oa as n,
2672
- Ga as o,
2673
- Kt as p,
2674
- Ha as q,
2675
- uo as r,
2676
- Ua as s,
2677
- Da as t,
2678
- Eo as u,
2679
- Ia as v,
2680
- Xa as w,
2681
- fn as x,
2682
- mn as y,
2683
- la as z
2684
- };