@validol4ik/uikit 0.10.0 → 0.10.2

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 (26) hide show
  1. package/dist/{AppButtonCopy-De7Y98Yy.cjs → AppButtonCopy-66cFhDuo.cjs} +1 -1
  2. package/dist/{AppButtonCopy-DSs0dXar.js → AppButtonCopy-QvkjU_h4.js} +1 -1
  3. package/dist/{AppSelect-BTUOPDH4.js → AppSelect-0p8QDBZ9.js} +4 -4
  4. package/dist/{AppSelect-CAAOjfdd.cjs → AppSelect-D0gQOyMy.cjs} +1 -1
  5. package/dist/BottomSheet-CUWjgAeZ.cjs +1 -0
  6. package/dist/{BottomSheet-9uzA-2TP.js → BottomSheet-PinLAITZ.js} +47 -46
  7. package/dist/{DropdownButton-BttZdBXU.cjs → DropdownButton-Cz1xTcUt.cjs} +1 -1
  8. package/dist/{DropdownButton-qIkO6ywS.js → DropdownButton-Dhvb9D_L.js} +3 -3
  9. package/dist/{QDialog-rFoiLZiW.js → QDialog-Cy2w4ntF.js} +2 -2
  10. package/dist/{QDialog-BVJY6hH4.cjs → QDialog-tGGvOIPj.cjs} +1 -1
  11. package/dist/{QMenu-MYBYWMlR.js → QMenu-k3AStoLY.js} +2 -2
  12. package/dist/{QMenu-BZenROvh.cjs → QMenu-lZpXWLnn.cjs} +1 -1
  13. package/dist/{escape-key-7EcYZQ8M.js → escape-key-BlsDwJUQ.js} +1 -1
  14. package/dist/{escape-key-DLxLHWMV.cjs → escape-key-CRpXNCKN.cjs} +1 -1
  15. package/dist/index-BB31xQaa.cjs +1 -0
  16. package/dist/index-DFNWQp-Z.js +1878 -0
  17. package/dist/style.css +1 -1
  18. package/dist/types/components/form/AppSegment/AppSegment.vue.d.ts +11 -2
  19. package/dist/types/components/form/AppSegment/types.d.ts +4 -1
  20. package/dist/types/components/menu/BottomSheet/types.d.ts +1 -0
  21. package/dist/uikit.cjs +1 -1
  22. package/dist/uikit.es.js +1 -1
  23. package/package.json +1 -1
  24. package/dist/BottomSheet-d3Ou7oyK.cjs +0 -1
  25. package/dist/index-Cw_78hFI.js +0 -1838
  26. package/dist/index-DfudeOYM.cjs +0 -1
@@ -0,0 +1,1878 @@
1
+ import { computed as u, markRaw as Ie, defineComponent as x, h as p, withDirectives as ie, getCurrentInstance as te, unref as N, ref as j, onBeforeUnmount as Te, Transition as tt, openBlock as h, createBlock as F, normalizeClass as L, withCtx as ze, createElementBlock as w, createCommentVNode as R, renderSlot as H, Fragment as ue, createTextVNode as _e, toDisplayString as X, createElementVNode as V, withModifiers as Oe, toRaw as G, createVNode as nt, normalizeStyle as re, watch as je, onMounted as De, renderList as Ne, withKeys as lt, vModelText as at, nextTick as ae, useModel as Ke, useTemplateRef as me, mergeModels as he, defineAsyncComponent as ce } from "vue";
2
+ const Mn = ({ app: e }) => {
3
+ const n = e.config.globalProperties.$q;
4
+ n.iconMapFn = (t) => {
5
+ if (t.startsWith("icon-kl:"))
6
+ return {
7
+ cls: `icon-kl icon-kl-${t.slice(8)}`
8
+ };
9
+ };
10
+ }, $e = {
11
+ PRIMARY: "primary",
12
+ INFO: "info"
13
+ }, I = {
14
+ SM: "sm",
15
+ MD: "md",
16
+ LG: "lg",
17
+ XL: "xl"
18
+ }, ot = {
19
+ [I.SM]: "3px 9px",
20
+ [I.MD]: "5px 12px",
21
+ [I.LG]: "6px 15px",
22
+ [I.XL]: "9px 20px"
23
+ }, ke = {
24
+ xs: 18,
25
+ sm: 24,
26
+ md: 32,
27
+ lg: 38,
28
+ xl: 46
29
+ }, de = {
30
+ size: String
31
+ };
32
+ function fe(e, n = ke) {
33
+ return u(() => e.size !== void 0 ? { fontSize: e.size in n ? `${n[e.size]}px` : e.size } : null);
34
+ }
35
+ function ne(e) {
36
+ return Ie(x(e));
37
+ }
38
+ function Fe(e) {
39
+ return Ie(e);
40
+ }
41
+ function xe(e, n) {
42
+ return e !== void 0 && e() || n;
43
+ }
44
+ function st(e, n) {
45
+ if (e !== void 0) {
46
+ const t = e();
47
+ if (t != null)
48
+ return t.slice();
49
+ }
50
+ return n;
51
+ }
52
+ function W(e, n) {
53
+ return e !== void 0 ? n.concat(e()) : n;
54
+ }
55
+ function Vn(e, n) {
56
+ return e === void 0 ? n : n !== void 0 ? n.concat(e()) : e();
57
+ }
58
+ function An(e, n, t, l, s, o) {
59
+ n.key = l + s;
60
+ const a = p(e, n, t);
61
+ return s === !0 ? ie(a, o()) : a;
62
+ }
63
+ const Be = "0 0 24 24", ge = (e) => e, pe = (e) => `ionicons ${e}`, Qe = {
64
+ "mdi-": (e) => `mdi ${e}`,
65
+ "icon-": ge,
66
+ // fontawesome equiv
67
+ "bt-": (e) => `bt ${e}`,
68
+ "eva-": (e) => `eva ${e}`,
69
+ "ion-md": pe,
70
+ "ion-ios": pe,
71
+ "ion-logo": pe,
72
+ "iconfont ": ge,
73
+ "ti-": (e) => `themify-icon ${e}`,
74
+ "bi-": (e) => `bootstrap-icons ${e}`,
75
+ "i-": ge
76
+ // UnoCSS pure icons
77
+ }, Ue = {
78
+ o_: "-outlined",
79
+ r_: "-round",
80
+ s_: "-sharp"
81
+ }, We = {
82
+ sym_o_: "-outlined",
83
+ sym_r_: "-rounded",
84
+ sym_s_: "-sharp"
85
+ }, it = new RegExp("^(" + Object.keys(Qe).join("|") + ")"), ut = new RegExp("^(" + Object.keys(Ue).join("|") + ")"), we = new RegExp("^(" + Object.keys(We).join("|") + ")"), rt = /^[Mm]\s?[-+]?\.?\d/, ct = /^img:/, dt = /^svguse:/, ft = /^ion-/, vt = /^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /, ye = ne({
86
+ name: "QIcon",
87
+ props: {
88
+ ...de,
89
+ tag: {
90
+ type: String,
91
+ default: "i"
92
+ },
93
+ name: String,
94
+ color: String,
95
+ left: Boolean,
96
+ right: Boolean
97
+ },
98
+ setup(e, { slots: n }) {
99
+ const { proxy: { $q: t } } = te(), l = fe(e), s = u(
100
+ () => "q-icon" + (e.left === !0 ? " on-left" : "") + (e.right === !0 ? " on-right" : "") + (e.color !== void 0 ? ` text-${e.color}` : "")
101
+ ), o = u(() => {
102
+ let a, i = e.name;
103
+ if (i === "none" || !i)
104
+ return { none: !0 };
105
+ if (t.iconMapFn !== null) {
106
+ const v = t.iconMapFn(i);
107
+ if (v !== void 0)
108
+ if (v.icon !== void 0) {
109
+ if (i = v.icon, i === "none" || !i)
110
+ return { none: !0 };
111
+ } else
112
+ return {
113
+ cls: v.cls,
114
+ content: v.content !== void 0 ? v.content : " "
115
+ };
116
+ }
117
+ if (rt.test(i) === !0) {
118
+ const [v, q = Be] = i.split("|");
119
+ return {
120
+ svg: !0,
121
+ viewBox: q,
122
+ nodes: v.split("&&").map((c) => {
123
+ const [y, r, m] = c.split("@@");
124
+ return p("path", { style: r, d: y, transform: m });
125
+ })
126
+ };
127
+ }
128
+ if (ct.test(i) === !0)
129
+ return {
130
+ img: !0,
131
+ src: i.substring(4)
132
+ };
133
+ if (dt.test(i) === !0) {
134
+ const [v, q = Be] = i.split("|");
135
+ return {
136
+ svguse: !0,
137
+ src: v.substring(7),
138
+ viewBox: q
139
+ };
140
+ }
141
+ let $ = " ";
142
+ const C = i.match(it);
143
+ if (C !== null)
144
+ a = Qe[C[1]](i);
145
+ else if (vt.test(i) === !0)
146
+ a = i;
147
+ else if (ft.test(i) === !0)
148
+ a = `ionicons ion-${t.platform.is.ios === !0 ? "ios" : "md"}${i.substring(3)}`;
149
+ else if (we.test(i) === !0) {
150
+ a = "notranslate material-symbols";
151
+ const v = i.match(we);
152
+ v !== null && (i = i.substring(6), a += We[v[1]]), $ = i;
153
+ } else {
154
+ a = "notranslate material-icons";
155
+ const v = i.match(ut);
156
+ v !== null && (i = i.substring(2), a += Ue[v[1]]), $ = i;
157
+ }
158
+ return {
159
+ cls: a,
160
+ content: $
161
+ };
162
+ });
163
+ return () => {
164
+ const a = {
165
+ class: s.value,
166
+ style: l.value,
167
+ "aria-hidden": "true"
168
+ };
169
+ return o.value.none === !0 ? p(e.tag, a, xe(n.default)) : o.value.img === !0 ? p(e.tag, a, W(n.default, [
170
+ p("img", { src: o.value.src })
171
+ ])) : o.value.svg === !0 ? p(e.tag, a, W(n.default, [
172
+ p("svg", {
173
+ viewBox: o.value.viewBox || "0 0 24 24"
174
+ }, o.value.nodes)
175
+ ])) : o.value.svguse === !0 ? p(e.tag, a, W(n.default, [
176
+ p("svg", {
177
+ viewBox: o.value.viewBox
178
+ }, [
179
+ p("use", { "xlink:href": o.value.src })
180
+ ])
181
+ ])) : (o.value.cls !== void 0 && (a.class += " " + o.value.cls), p(e.tag, a, W(n.default, [
182
+ o.value.content
183
+ ])));
184
+ };
185
+ }
186
+ }), mt = {
187
+ size: {
188
+ type: [String, Number],
189
+ default: "1em"
190
+ },
191
+ color: String
192
+ };
193
+ function gt(e) {
194
+ return {
195
+ cSize: u(() => e.size in ke ? `${ke[e.size]}px` : e.size),
196
+ classes: u(
197
+ () => "q-spinner" + (e.color ? ` text-${e.color}` : "")
198
+ )
199
+ };
200
+ }
201
+ const He = ne({
202
+ name: "QSpinner",
203
+ props: {
204
+ ...mt,
205
+ thickness: {
206
+ type: Number,
207
+ default: 5
208
+ }
209
+ },
210
+ setup(e) {
211
+ const { cSize: n, classes: t } = gt(e);
212
+ return () => p("svg", {
213
+ class: t.value + " q-spinner-mat",
214
+ width: n.value,
215
+ height: n.value,
216
+ viewBox: "25 25 50 50"
217
+ }, [
218
+ p("circle", {
219
+ class: "path",
220
+ cx: "50",
221
+ cy: "50",
222
+ r: "20",
223
+ fill: "none",
224
+ stroke: "currentColor",
225
+ "stroke-width": e.thickness,
226
+ "stroke-miterlimit": "10"
227
+ })
228
+ ]);
229
+ }
230
+ });
231
+ function pt(e, n) {
232
+ const t = e.style;
233
+ for (const l in n)
234
+ t[l] = n[l];
235
+ }
236
+ function In(e) {
237
+ if (e == null)
238
+ return;
239
+ if (typeof e == "string")
240
+ try {
241
+ return document.querySelector(e) || void 0;
242
+ } catch {
243
+ return;
244
+ }
245
+ const n = N(e);
246
+ if (n)
247
+ return n.$el || n;
248
+ }
249
+ function Tn(e, n) {
250
+ if (e == null || e.contains(n) === !0)
251
+ return !0;
252
+ for (let t = e.nextElementSibling; t !== null; t = t.nextElementSibling)
253
+ if (t.contains(n))
254
+ return !0;
255
+ return !1;
256
+ }
257
+ const ve = {
258
+ hasPassive: !1,
259
+ passiveCapture: !0,
260
+ notPassiveCapture: !0
261
+ };
262
+ try {
263
+ const e = Object.defineProperty({}, "passive", {
264
+ get() {
265
+ Object.assign(ve, {
266
+ hasPassive: !0,
267
+ passive: { passive: !0 },
268
+ notPassive: { passive: !1 },
269
+ passiveCapture: { passive: !0, capture: !0 },
270
+ notPassiveCapture: { passive: !1, capture: !0 }
271
+ });
272
+ }
273
+ });
274
+ window.addEventListener("qtest", null, e), window.removeEventListener("qtest", null, e);
275
+ } catch {
276
+ }
277
+ function zn() {
278
+ }
279
+ function bt(e) {
280
+ return e.touches && e.touches[0] ? e = e.touches[0] : e.changedTouches && e.changedTouches[0] ? e = e.changedTouches[0] : e.targetTouches && e.targetTouches[0] && (e = e.targetTouches[0]), {
281
+ top: e.clientY,
282
+ left: e.clientX
283
+ };
284
+ }
285
+ function On(e) {
286
+ if (e.path)
287
+ return e.path;
288
+ if (e.composedPath)
289
+ return e.composedPath();
290
+ const n = [];
291
+ let t = e.target;
292
+ for (; t; ) {
293
+ if (n.push(t), t.tagName === "HTML")
294
+ return n.push(document), n.push(window), n;
295
+ t = t.parentElement;
296
+ }
297
+ }
298
+ function Xe(e) {
299
+ e.stopPropagation();
300
+ }
301
+ function ht(e) {
302
+ e.cancelable !== !1 && e.preventDefault();
303
+ }
304
+ function K(e) {
305
+ e.cancelable !== !1 && e.preventDefault(), e.stopPropagation();
306
+ }
307
+ function kt(e, n, t) {
308
+ const l = `__q_${n}_evt`;
309
+ e[l] = e[l] !== void 0 ? e[l].concat(t) : t, t.forEach((s) => {
310
+ s[0].addEventListener(s[1], e[s[2]], ve[s[3]]);
311
+ });
312
+ }
313
+ function yt(e, n) {
314
+ const t = `__q_${n}_evt`;
315
+ e[t] !== void 0 && (e[t].forEach((l) => {
316
+ l[0].removeEventListener(l[1], e[l[2]], ve[l[3]]);
317
+ }), e[t] = void 0);
318
+ }
319
+ function _t(e) {
320
+ return e !== Object(e) || e.isComposing === !0 || e.qKeyEvent === !0;
321
+ }
322
+ function oe(e, n) {
323
+ return _t(e) === !0 ? !1 : [].concat(n).includes(e.keyCode);
324
+ }
325
+ function $t(e, n = 250) {
326
+ let t = !1, l;
327
+ return function() {
328
+ return t === !1 && (t = !0, setTimeout(() => {
329
+ t = !1;
330
+ }, n), l = e.apply(this, arguments)), l;
331
+ };
332
+ }
333
+ function Se(e, n, t, l) {
334
+ t.modifiers.stop === !0 && Xe(e);
335
+ const s = t.modifiers.color;
336
+ let o = t.modifiers.center;
337
+ o = o === !0 || l === !0;
338
+ const a = document.createElement("span"), i = document.createElement("span"), $ = bt(e), { left: C, top: v, width: q, height: c } = n.getBoundingClientRect(), y = Math.sqrt(q * q + c * c), r = y / 2, m = `${(q - y) / 2}px`, d = o ? m : `${$.left - C - r}px`, b = `${(c - y) / 2}px`, _ = o ? b : `${$.top - v - r}px`;
339
+ i.className = "q-ripple__inner", pt(i, {
340
+ height: `${y}px`,
341
+ width: `${y}px`,
342
+ transform: `translate3d(${d},${_},0) scale3d(.2,.2,1)`,
343
+ opacity: 0
344
+ }), a.className = `q-ripple${s ? " text-" + s : ""}`, a.setAttribute("dir", "ltr"), a.appendChild(i), n.appendChild(a);
345
+ const g = () => {
346
+ a.remove(), clearTimeout(S);
347
+ };
348
+ t.abort.push(g);
349
+ let S = setTimeout(() => {
350
+ i.classList.add("q-ripple__inner--enter"), i.style.transform = `translate3d(${m},${b},0) scale3d(1,1,1)`, i.style.opacity = 0.2, S = setTimeout(() => {
351
+ i.classList.remove("q-ripple__inner--enter"), i.classList.add("q-ripple__inner--leave"), i.style.opacity = 0, S = setTimeout(() => {
352
+ a.remove(), t.abort.splice(t.abort.indexOf(g), 1);
353
+ }, 275);
354
+ }, 250);
355
+ }, 50);
356
+ }
357
+ function Ee(e, { modifiers: n, value: t, arg: l }) {
358
+ const s = Object.assign({}, e.cfg.ripple, n, t);
359
+ e.modifiers = {
360
+ early: s.early === !0,
361
+ stop: s.stop === !0,
362
+ center: s.center === !0,
363
+ color: s.color || l,
364
+ keyCodes: [].concat(s.keyCodes || 13)
365
+ };
366
+ }
367
+ const qt = Fe(
368
+ {
369
+ name: "ripple",
370
+ beforeMount(e, n) {
371
+ const t = n.instance.$.appContext.config.globalProperties.$q.config || {};
372
+ if (t.ripple === !1) return;
373
+ const l = {
374
+ cfg: t,
375
+ enabled: n.value !== !1,
376
+ modifiers: {},
377
+ abort: [],
378
+ start(s) {
379
+ l.enabled === !0 && s.qSkipRipple !== !0 && s.type === (l.modifiers.early === !0 ? "pointerdown" : "click") && Se(s, e, l, s.qKeyEvent === !0);
380
+ },
381
+ keystart: $t((s) => {
382
+ l.enabled === !0 && s.qSkipRipple !== !0 && oe(s, l.modifiers.keyCodes) === !0 && s.type === `key${l.modifiers.early === !0 ? "down" : "up"}` && Se(s, e, l, !0);
383
+ }, 300)
384
+ };
385
+ Ee(l, n), e.__qripple = l, kt(l, "main", [
386
+ [e, "pointerdown", "start", "passive"],
387
+ [e, "click", "start", "passive"],
388
+ [e, "keydown", "keystart", "passive"],
389
+ [e, "keyup", "keystart", "passive"]
390
+ ]);
391
+ },
392
+ updated(e, n) {
393
+ if (n.oldValue !== n.value) {
394
+ const t = e.__qripple;
395
+ t !== void 0 && (t.enabled = n.value !== !1, t.enabled === !0 && Object(n.value) === n.value && Ee(t, n));
396
+ }
397
+ },
398
+ beforeUnmount(e) {
399
+ const n = e.__qripple;
400
+ n !== void 0 && (n.abort.forEach((t) => {
401
+ t();
402
+ }), yt(n, "main"), delete e._qripple);
403
+ }
404
+ }
405
+ ), Ye = {
406
+ left: "start",
407
+ center: "center",
408
+ right: "end",
409
+ between: "between",
410
+ around: "around",
411
+ evenly: "evenly",
412
+ stretch: "stretch"
413
+ }, Ct = Object.keys(Ye), Bt = {
414
+ align: {
415
+ type: String,
416
+ validator: (e) => Ct.includes(e)
417
+ }
418
+ };
419
+ function wt(e) {
420
+ return u(() => {
421
+ const n = e.align === void 0 ? e.vertical === !0 ? "stretch" : "left" : e.align;
422
+ return `${e.vertical === !0 ? "items" : "justify"}-${Ye[n]}`;
423
+ });
424
+ }
425
+ function se(e) {
426
+ if (Object(e.$parent) === e.$parent)
427
+ return e.$parent;
428
+ let { parent: n } = e.$;
429
+ for (; Object(n) === n; ) {
430
+ if (Object(n.proxy) === n.proxy)
431
+ return n.proxy;
432
+ n = n.parent;
433
+ }
434
+ }
435
+ function St(e) {
436
+ return e.appContext.config.globalProperties.$router !== void 0;
437
+ }
438
+ function jn(e) {
439
+ return e.isUnmounted === !0 || e.isDeactivated === !0;
440
+ }
441
+ function Le(e) {
442
+ return e ? e.aliasOf ? e.aliasOf.path : e.path : "";
443
+ }
444
+ function Re(e, n) {
445
+ return (e.aliasOf || e) === (n.aliasOf || n);
446
+ }
447
+ function Et(e, n) {
448
+ for (const t in n) {
449
+ const l = n[t], s = e[t];
450
+ if (typeof l == "string") {
451
+ if (l !== s)
452
+ return !1;
453
+ } else if (Array.isArray(s) === !1 || s.length !== l.length || l.some((o, a) => o !== s[a]))
454
+ return !1;
455
+ }
456
+ return !0;
457
+ }
458
+ function Pe(e, n) {
459
+ return Array.isArray(n) === !0 ? e.length === n.length && e.every((t, l) => t === n[l]) : e.length === 1 && e[0] === n;
460
+ }
461
+ function Lt(e, n) {
462
+ return Array.isArray(e) === !0 ? Pe(e, n) : Array.isArray(n) === !0 ? Pe(n, e) : e === n;
463
+ }
464
+ function Rt(e, n) {
465
+ if (Object.keys(e).length !== Object.keys(n).length)
466
+ return !1;
467
+ for (const t in e)
468
+ if (Lt(e[t], n[t]) === !1)
469
+ return !1;
470
+ return !0;
471
+ }
472
+ const Ge = {
473
+ // router-link
474
+ to: [String, Object],
475
+ replace: Boolean,
476
+ // regular <a> link
477
+ href: String,
478
+ target: String,
479
+ // state
480
+ disable: Boolean
481
+ }, Pt = {
482
+ ...Ge,
483
+ // router-link
484
+ exact: Boolean,
485
+ activeClass: {
486
+ type: String,
487
+ default: "q-router-link--active"
488
+ },
489
+ exactActiveClass: {
490
+ type: String,
491
+ default: "q-router-link--exact-active"
492
+ }
493
+ };
494
+ function Ze({ fallbackTag: e, useDisableForRouterLinkProps: n = !0 } = {}) {
495
+ const t = te(), { props: l, proxy: s, emit: o } = t, a = St(t), i = u(() => l.disable !== !0 && l.href !== void 0), $ = n === !0 ? u(
496
+ () => a === !0 && l.disable !== !0 && i.value !== !0 && l.to !== void 0 && l.to !== null && l.to !== ""
497
+ ) : u(
498
+ () => a === !0 && i.value !== !0 && l.to !== void 0 && l.to !== null && l.to !== ""
499
+ ), C = u(() => $.value === !0 ? _(l.to) : null), v = u(() => C.value !== null), q = u(() => i.value === !0 || v.value === !0), c = u(() => l.type === "a" || q.value === !0 ? "a" : l.tag || e || "div"), y = u(() => i.value === !0 ? {
500
+ href: l.href,
501
+ target: l.target
502
+ } : v.value === !0 ? {
503
+ href: C.value.href,
504
+ target: l.target
505
+ } : {}), r = u(() => {
506
+ if (v.value === !1)
507
+ return -1;
508
+ const { matched: B } = C.value, { length: P } = B, M = B[P - 1];
509
+ if (M === void 0)
510
+ return -1;
511
+ const O = s.$route.matched;
512
+ if (O.length === 0)
513
+ return -1;
514
+ const D = O.findIndex(
515
+ Re.bind(null, M)
516
+ );
517
+ if (D !== -1)
518
+ return D;
519
+ const Y = Le(B[P - 2]);
520
+ return (
521
+ // we are dealing with nested routes
522
+ P > 1 && Le(M) === Y && O[O.length - 1].path !== Y ? O.findIndex(
523
+ Re.bind(null, B[P - 2])
524
+ ) : D
525
+ );
526
+ }), m = u(
527
+ () => v.value === !0 && r.value !== -1 && Et(s.$route.params, C.value.params)
528
+ ), d = u(
529
+ () => m.value === !0 && r.value === s.$route.matched.length - 1 && Rt(s.$route.params, C.value.params)
530
+ ), b = u(() => v.value === !0 ? d.value === !0 ? ` ${l.exactActiveClass} ${l.activeClass}` : l.exact === !0 ? "" : m.value === !0 ? ` ${l.activeClass}` : "" : "");
531
+ function _(B) {
532
+ try {
533
+ return s.$router.resolve(B);
534
+ } catch {
535
+ }
536
+ return null;
537
+ }
538
+ function g(B, { returnRouterError: P, to: M = l.to, replace: O = l.replace } = {}) {
539
+ if (l.disable === !0)
540
+ return B.preventDefault(), Promise.resolve(!1);
541
+ if (
542
+ // don't redirect with control keys;
543
+ // should match RouterLink from Vue Router
544
+ B.metaKey || B.altKey || B.ctrlKey || B.shiftKey || B.button !== void 0 && B.button !== 0 || l.target === "_blank"
545
+ )
546
+ return Promise.resolve(!1);
547
+ B.preventDefault();
548
+ const D = s.$router[O === !0 ? "replace" : "push"](M);
549
+ return P === !0 ? D : D.then(() => {
550
+ }).catch(() => {
551
+ });
552
+ }
553
+ function S(B) {
554
+ if (v.value === !0) {
555
+ const P = (M) => g(B, M);
556
+ o("click", B, P), B.defaultPrevented !== !0 && P();
557
+ } else
558
+ o("click", B);
559
+ }
560
+ return {
561
+ hasRouterLink: v,
562
+ hasHrefLink: i,
563
+ hasLink: q,
564
+ linkTag: c,
565
+ resolvedLink: C,
566
+ linkIsActive: m,
567
+ linkIsExactActive: d,
568
+ linkClass: b,
569
+ linkAttrs: y,
570
+ getLink: _,
571
+ navigateToRouterLink: g,
572
+ navigateOnClick: S
573
+ };
574
+ }
575
+ const Me = {
576
+ none: 0,
577
+ xs: 4,
578
+ sm: 8,
579
+ md: 16,
580
+ lg: 24,
581
+ xl: 32
582
+ }, Mt = {
583
+ xs: 8,
584
+ sm: 10,
585
+ md: 14,
586
+ lg: 20,
587
+ xl: 24
588
+ }, Vt = ["button", "submit", "reset"], At = /[^\s]\/[^\s]/, It = ["flat", "outline", "push", "unelevated"];
589
+ function Je(e, n) {
590
+ return e.flat === !0 ? "flat" : e.outline === !0 ? "outline" : e.push === !0 ? "push" : e.unelevated === !0 ? "unelevated" : n;
591
+ }
592
+ function Dn(e) {
593
+ const n = Je(e);
594
+ return n !== void 0 ? { [n]: !0 } : {};
595
+ }
596
+ const Tt = {
597
+ ...de,
598
+ ...Ge,
599
+ type: {
600
+ type: String,
601
+ default: "button"
602
+ },
603
+ label: [Number, String],
604
+ icon: String,
605
+ iconRight: String,
606
+ ...It.reduce(
607
+ (e, n) => (e[n] = Boolean) && e,
608
+ {}
609
+ ),
610
+ square: Boolean,
611
+ rounded: Boolean,
612
+ glossy: Boolean,
613
+ size: String,
614
+ fab: Boolean,
615
+ fabMini: Boolean,
616
+ padding: String,
617
+ color: String,
618
+ textColor: String,
619
+ noCaps: Boolean,
620
+ noWrap: Boolean,
621
+ dense: Boolean,
622
+ tabindex: [Number, String],
623
+ ripple: {
624
+ type: [Boolean, Object],
625
+ default: !0
626
+ },
627
+ align: {
628
+ ...Bt.align,
629
+ default: "center"
630
+ },
631
+ stack: Boolean,
632
+ stretch: Boolean,
633
+ loading: {
634
+ type: Boolean,
635
+ default: null
636
+ },
637
+ disable: Boolean
638
+ }, zt = {
639
+ ...Tt,
640
+ round: Boolean
641
+ };
642
+ function Ot(e) {
643
+ const n = fe(e, Mt), t = wt(e), { hasRouterLink: l, hasLink: s, linkTag: o, linkAttrs: a, navigateOnClick: i } = Ze({
644
+ fallbackTag: "button"
645
+ }), $ = u(() => {
646
+ const d = e.fab === !1 && e.fabMini === !1 ? n.value : {};
647
+ return e.padding !== void 0 ? Object.assign({}, d, {
648
+ padding: e.padding.split(/\s+/).map((b) => b in Me ? Me[b] + "px" : b).join(" "),
649
+ minWidth: "0",
650
+ minHeight: "0"
651
+ }) : d;
652
+ }), C = u(
653
+ () => e.rounded === !0 || e.fab === !0 || e.fabMini === !0
654
+ ), v = u(
655
+ () => e.disable !== !0 && e.loading !== !0
656
+ ), q = u(() => v.value === !0 ? e.tabindex || 0 : -1), c = u(() => Je(e, "standard")), y = u(() => {
657
+ const d = { tabindex: q.value };
658
+ return s.value === !0 ? Object.assign(d, a.value) : Vt.includes(e.type) === !0 && (d.type = e.type), o.value === "a" ? (e.disable === !0 ? d["aria-disabled"] = "true" : d.href === void 0 && (d.role = "button"), l.value !== !0 && At.test(e.type) === !0 && (d.type = e.type)) : e.disable === !0 && (d.disabled = "", d["aria-disabled"] = "true"), e.loading === !0 && e.percentage !== void 0 && Object.assign(d, {
659
+ role: "progressbar",
660
+ "aria-valuemin": 0,
661
+ "aria-valuemax": 100,
662
+ "aria-valuenow": e.percentage
663
+ }), d;
664
+ }), r = u(() => {
665
+ let d;
666
+ e.color !== void 0 ? e.flat === !0 || e.outline === !0 ? d = `text-${e.textColor || e.color}` : d = `bg-${e.color} text-${e.textColor || "white"}` : e.textColor && (d = `text-${e.textColor}`);
667
+ const b = e.round === !0 ? "round" : `rectangle${C.value === !0 ? " q-btn--rounded" : e.square === !0 ? " q-btn--square" : ""}`;
668
+ return `q-btn--${c.value} q-btn--${b}` + (d !== void 0 ? " " + d : "") + (v.value === !0 ? " q-btn--actionable q-focusable q-hoverable" : e.disable === !0 ? " disabled" : "") + (e.fab === !0 ? " q-btn--fab" : e.fabMini === !0 ? " q-btn--fab-mini" : "") + (e.noCaps === !0 ? " q-btn--no-uppercase" : "") + (e.dense === !0 ? " q-btn--dense" : "") + (e.stretch === !0 ? " no-border-radius self-stretch" : "") + (e.glossy === !0 ? " glossy" : "") + (e.square ? " q-btn--square" : "");
669
+ }), m = u(
670
+ () => t.value + (e.stack === !0 ? " column" : " row") + (e.noWrap === !0 ? " no-wrap text-no-wrap" : "") + (e.loading === !0 ? " q-btn__content--hidden" : "")
671
+ );
672
+ return {
673
+ classes: r,
674
+ style: $,
675
+ innerClasses: m,
676
+ attributes: y,
677
+ hasLink: s,
678
+ linkTag: o,
679
+ navigateOnClick: i,
680
+ isActionable: v
681
+ };
682
+ }
683
+ const { passiveCapture: z } = ve;
684
+ let Z = null, J = null, ee = null;
685
+ const jt = ne({
686
+ name: "QBtn",
687
+ props: {
688
+ ...zt,
689
+ percentage: Number,
690
+ darkPercentage: Boolean,
691
+ onTouchstart: [Function, Array]
692
+ },
693
+ emits: ["click", "keydown", "mousedown", "keyup"],
694
+ setup(e, { slots: n, emit: t }) {
695
+ const { proxy: l } = te(), {
696
+ classes: s,
697
+ style: o,
698
+ innerClasses: a,
699
+ attributes: i,
700
+ hasLink: $,
701
+ linkTag: C,
702
+ navigateOnClick: v,
703
+ isActionable: q
704
+ } = Ot(e), c = j(null), y = j(null);
705
+ let r = null, m, d = null;
706
+ const b = u(
707
+ () => e.label !== void 0 && e.label !== null && e.label !== ""
708
+ ), _ = u(() => e.disable === !0 || e.ripple === !1 ? !1 : {
709
+ keyCodes: $.value === !0 ? [13, 32] : [13],
710
+ ...e.ripple === !0 ? {} : e.ripple
711
+ }), g = u(() => ({ center: e.round })), S = u(() => {
712
+ const f = Math.max(0, Math.min(100, e.percentage));
713
+ return f > 0 ? { transition: "transform 0.6s", transform: `translateX(${f - 100}%)` } : {};
714
+ }), B = u(() => {
715
+ if (e.loading === !0)
716
+ return {
717
+ onMousedown: A,
718
+ onTouchstart: A,
719
+ onClick: A,
720
+ onKeydown: A,
721
+ onKeyup: A
722
+ };
723
+ if (q.value === !0) {
724
+ const f = {
725
+ onClick: M,
726
+ onKeydown: O,
727
+ onMousedown: Y
728
+ };
729
+ if (l.$q.platform.has.touch === !0) {
730
+ const E = e.onTouchstart !== void 0 ? "" : "Passive";
731
+ f[`onTouchstart${E}`] = D;
732
+ }
733
+ return f;
734
+ }
735
+ return {
736
+ // needed; especially for disabled <a> tags
737
+ onClick: K
738
+ };
739
+ }), P = u(() => ({
740
+ ref: c,
741
+ class: "q-btn q-btn-item non-selectable no-outline " + s.value,
742
+ style: o.value,
743
+ ...i.value,
744
+ ...B.value
745
+ }));
746
+ function M(f) {
747
+ if (c.value !== null) {
748
+ if (f !== void 0) {
749
+ if (f.defaultPrevented === !0) return;
750
+ const E = document.activeElement;
751
+ if (e.type === "submit" && E !== document.body && c.value.contains(E) === !1 && E.contains(c.value) === !1) {
752
+ f.qAvoidFocus !== !0 && c.value.focus();
753
+ const U = () => {
754
+ var le;
755
+ document.removeEventListener("keydown", K, !0), document.removeEventListener("keyup", U, z), (le = c.value) == null || le.removeEventListener("blur", U, z);
756
+ };
757
+ document.addEventListener("keydown", K, !0), document.addEventListener("keyup", U, z), c.value.addEventListener("blur", U, z);
758
+ }
759
+ }
760
+ v(f);
761
+ }
762
+ }
763
+ function O(f) {
764
+ c.value !== null && (t("keydown", f), oe(f, [13, 32]) === !0 && J !== c.value && (J !== null && k(), f.defaultPrevented !== !0 && (f.qAvoidFocus !== !0 && c.value.focus(), J = c.value, c.value.classList.add("q-btn--active"), document.addEventListener("keyup", T, !0), c.value.addEventListener("blur", T, z)), K(f)));
765
+ }
766
+ function D(f) {
767
+ c.value !== null && (t("touchstart", f), f.defaultPrevented !== !0 && (Z !== c.value && (Z !== null && k(), Z = c.value, r = f.target, r.addEventListener("touchcancel", T, z), r.addEventListener("touchend", T, z)), m = !0, d !== null && clearTimeout(d), d = setTimeout(() => {
768
+ d = null, m = !1;
769
+ }, 200)));
770
+ }
771
+ function Y(f) {
772
+ c.value !== null && (f.qSkipRipple = m === !0, t("mousedown", f), f.defaultPrevented !== !0 && ee !== c.value && (ee !== null && k(), ee = c.value, c.value.classList.add("q-btn--active"), document.addEventListener("mouseup", T, z)));
773
+ }
774
+ function T(f) {
775
+ if (c.value !== null && !((f == null ? void 0 : f.type) === "blur" && document.activeElement === c.value)) {
776
+ if ((f == null ? void 0 : f.type) === "keyup") {
777
+ if (J === c.value && oe(f, [13, 32]) === !0) {
778
+ const E = new MouseEvent("click", f);
779
+ E.qKeyEvent = !0, f.defaultPrevented === !0 && ht(E), f.cancelBubble === !0 && Xe(E), c.value.dispatchEvent(E), K(f), f.qKeyEvent = !0;
780
+ }
781
+ t("keyup", f);
782
+ }
783
+ k();
784
+ }
785
+ }
786
+ function k(f) {
787
+ var U, le;
788
+ const E = y.value;
789
+ f !== !0 && (Z === c.value || ee === c.value) && E !== null && E !== document.activeElement && (E.setAttribute("tabindex", -1), E.focus()), Z === c.value && (r !== null && (r.removeEventListener("touchcancel", T, z), r.removeEventListener("touchend", T, z)), Z = r = null), ee === c.value && (document.removeEventListener("mouseup", T, z), ee = null), J === c.value && (document.removeEventListener("keyup", T, !0), (U = c.value) == null || U.removeEventListener("blur", T, z), J = null), (le = c.value) == null || le.classList.remove("q-btn--active");
790
+ }
791
+ function A(f) {
792
+ K(f), f.qSkipRipple = !0;
793
+ }
794
+ return Te(() => {
795
+ k(!0);
796
+ }), Object.assign(l, {
797
+ click: (f) => {
798
+ q.value === !0 && M(f);
799
+ }
800
+ }), () => {
801
+ let f = [];
802
+ e.icon !== void 0 && f.push(
803
+ p(ye, {
804
+ name: e.icon,
805
+ left: e.stack !== !0 && b.value === !0,
806
+ role: "img"
807
+ })
808
+ ), b.value === !0 && f.push(
809
+ p("span", { class: "block" }, [e.label])
810
+ ), f = W(n.default, f), e.iconRight !== void 0 && e.round === !1 && f.push(
811
+ p(ye, {
812
+ name: e.iconRight,
813
+ right: e.stack !== !0 && b.value === !0,
814
+ role: "img"
815
+ })
816
+ );
817
+ const E = [
818
+ p("span", {
819
+ class: "q-focus-helper",
820
+ ref: y
821
+ })
822
+ ];
823
+ return e.loading === !0 && e.percentage !== void 0 && E.push(
824
+ p("span", {
825
+ class: "q-btn__progress absolute-full overflow-hidden" + (e.darkPercentage === !0 ? " q-btn__progress--dark" : "")
826
+ }, [
827
+ p("span", {
828
+ class: "q-btn__progress-indicator fit block",
829
+ style: S.value
830
+ })
831
+ ])
832
+ ), E.push(
833
+ p("span", {
834
+ class: "q-btn__content text-center col items-center q-anchor--skip " + a.value
835
+ }, f)
836
+ ), e.loading !== null && E.push(
837
+ p(tt, {
838
+ name: "q-transition--fade"
839
+ }, () => e.loading === !0 ? [
840
+ p("span", {
841
+ key: "loading",
842
+ class: "absolute-full flex flex-center"
843
+ }, n.loading !== void 0 ? n.loading() : [p(He)])
844
+ ] : null)
845
+ ), ie(
846
+ p(
847
+ C.value,
848
+ P.value,
849
+ E
850
+ ),
851
+ [[
852
+ qt,
853
+ _.value,
854
+ void 0,
855
+ g.value
856
+ ]]
857
+ );
858
+ };
859
+ }
860
+ }), Dt = /* @__PURE__ */ x({
861
+ __name: "AppButton",
862
+ props: {
863
+ size: { default: I.MD },
864
+ transparent: { type: Boolean },
865
+ flat: { type: Boolean },
866
+ rounded: { type: Boolean },
867
+ color: { default: $e.PRIMARY },
868
+ iconLeft: {},
869
+ iconRight: {},
870
+ iconMiddle: {},
871
+ disabled: { type: Boolean },
872
+ loading: { type: Boolean },
873
+ to: {},
874
+ href: {},
875
+ target: {},
876
+ submit: { type: Boolean },
877
+ ariaLabel: {},
878
+ label: {},
879
+ download: {}
880
+ },
881
+ emits: ["click"],
882
+ setup(e) {
883
+ const n = e, t = u(() => [
884
+ "app-btn",
885
+ {
886
+ "app-btn_default": !n.transparent && !n.flat,
887
+ "app-btn_trans": n.transparent,
888
+ "app-btn_flat": n.flat,
889
+ "app-btn_rounded": n.rounded,
890
+ "app-btn_icon-left": n.iconLeft,
891
+ "app-btn_icon-right": n.iconRight,
892
+ "app-btn_icon-middle": n.iconMiddle
893
+ },
894
+ `app-btn_${n.size}`,
895
+ `app-btn_${n.color}`
896
+ ]);
897
+ return (l, s) => (h(), F(N(jt), {
898
+ "no-caps": "",
899
+ unelevated: "",
900
+ class: L(t.value),
901
+ padding: N(ot)[l.size || N(I).MD],
902
+ loading: l.loading,
903
+ disable: l.disabled || void 0,
904
+ to: l.to,
905
+ href: l.href,
906
+ target: l.target,
907
+ type: l.submit ? "submit" : void 0,
908
+ "aria-label": l.ariaLabel,
909
+ download: l.download,
910
+ onClick: s[0] || (s[0] = (o) => l.$emit("click", o))
911
+ }, {
912
+ default: ze(() => [
913
+ l.iconLeft || l.iconMiddle ? (h(), w("i", {
914
+ key: 0,
915
+ class: L([
916
+ "icon-kl",
917
+ l.iconLeft ? "icon-kl_left" : "icon-kl_middle",
918
+ `icon-kl-${l.iconLeft || l.iconMiddle}`,
919
+ l.transparent || l.flat ? `text-${l.color}` : "text-secondary"
920
+ ])
921
+ }, null, 2)) : R("", !0),
922
+ H(l.$slots, "default", {}, void 0, !0),
923
+ l.label ? (h(), w(ue, { key: 1 }, [
924
+ _e(X(l.label), 1)
925
+ ], 64)) : R("", !0),
926
+ l.iconRight ? (h(), w("i", {
927
+ key: 2,
928
+ class: L([
929
+ "icon-kl",
930
+ "icon-kl_right",
931
+ `icon-kl-${l.iconRight}`,
932
+ l.transparent ? `text-${l.color}` : "text-secondary"
933
+ ])
934
+ }, null, 2)) : R("", !0)
935
+ ]),
936
+ _: 3
937
+ }, 8, ["class", "padding", "loading", "disable", "to", "href", "target", "type", "aria-label", "download"]));
938
+ }
939
+ }), Q = (e, n) => {
940
+ const t = e.__vccOpts || e;
941
+ for (const [l, s] of n)
942
+ t[l] = s;
943
+ return t;
944
+ }, Nn = /* @__PURE__ */ Q(Dt, [["__scopeId", "data-v-c9951ab6"]]), Nt = /* @__PURE__ */ x({
945
+ __name: "CloseButton",
946
+ props: {
947
+ size: { default: I.MD }
948
+ },
949
+ setup(e) {
950
+ const n = e, t = u(() => ["close-btn", `close-btn_${n.size}`]);
951
+ return (l, s) => (h(), w("button", {
952
+ class: L(t.value),
953
+ type: "button",
954
+ "aria-label": "Close"
955
+ }, [...s[0] || (s[0] = [
956
+ V("i", { class: "icon-kl icon-kl-close" }, null, -1)
957
+ ])], 2));
958
+ }
959
+ }), Kn = /* @__PURE__ */ Q(Nt, [["__scopeId", "data-v-7cc56d51"]]), Kt = {
960
+ key: 0,
961
+ class: "app-toggle__label app-toggle__label_left"
962
+ }, Ft = { class: "app-toggle__container" }, xt = ["checked", "disabled"], Qt = { class: "app-toggle__thumb" }, Ut = {
963
+ key: 1,
964
+ class: "app-toggle__label"
965
+ }, Wt = /* @__PURE__ */ x({
966
+ __name: "AppToggle",
967
+ props: {
968
+ modelValue: { type: Boolean },
969
+ size: { default: I.MD },
970
+ label: {},
971
+ disabled: { type: Boolean },
972
+ color: { default: $e.PRIMARY },
973
+ iconColor: {},
974
+ icon: {},
975
+ iconActive: {},
976
+ labelLeft: { type: Boolean }
977
+ },
978
+ emits: ["update:modelValue"],
979
+ setup(e, { emit: n }) {
980
+ const t = e, l = n, s = u({
981
+ get: () => t.modelValue,
982
+ set: (a) => {
983
+ l("update:modelValue", a);
984
+ }
985
+ }), o = u(() => [
986
+ "app-toggle",
987
+ {
988
+ "app-toggle_active": s.value,
989
+ "app-toggle_disabled": t.disabled
990
+ },
991
+ `app-toggle_${t.size}`,
992
+ `app-toggle_${t.color}`
993
+ ]);
994
+ return (a, i) => (h(), w("div", {
995
+ class: L(o.value),
996
+ onClick: i[1] || (i[1] = Oe(() => {
997
+ }, ["stop"]))
998
+ }, [
999
+ a.label && a.labelLeft ? (h(), w("span", Kt, X(a.label), 1)) : R("", !0),
1000
+ V("label", Ft, [
1001
+ V("input", {
1002
+ type: "checkbox",
1003
+ checked: s.value,
1004
+ onChange: i[0] || (i[0] = ($) => s.value = !s.value),
1005
+ disabled: a.disabled,
1006
+ class: "app-toggle__input"
1007
+ }, null, 40, xt),
1008
+ V("span", {
1009
+ class: L(["app-toggle__slider", s.value ? `bg-${a.color}` : ""])
1010
+ }, [
1011
+ V("span", Qt, [
1012
+ a.icon && !a.modelValue ? (h(), w("i", {
1013
+ key: 0,
1014
+ class: L(["icon-kl", `icon-kl-${a.icon}`, "app-toggle__icon"])
1015
+ }, null, 2)) : R("", !0),
1016
+ a.modelValue && (a.iconActive || a.icon) ? (h(), w("i", {
1017
+ key: 1,
1018
+ class: L([
1019
+ "icon-kl",
1020
+ `icon-kl-${a.iconActive || a.icon}`,
1021
+ "app-toggle__icon",
1022
+ s.value ? `text-${a.iconColor}` : ""
1023
+ ])
1024
+ }, null, 2)) : R("", !0)
1025
+ ])
1026
+ ], 2),
1027
+ H(a.$slots, "default", {}, void 0, !0)
1028
+ ]),
1029
+ a.label && !a.labelLeft ? (h(), w("span", Ut, X(a.label), 1)) : R("", !0)
1030
+ ], 2));
1031
+ }
1032
+ }), et = /* @__PURE__ */ Q(Wt, [["__scopeId", "data-v-ba49356e"]]), qe = {
1033
+ dark: {
1034
+ type: Boolean,
1035
+ default: null
1036
+ }
1037
+ };
1038
+ function Ce(e, n) {
1039
+ return u(() => e.dark === null ? n.dark.isActive : e.dark);
1040
+ }
1041
+ function Ht(e, n) {
1042
+ const t = j(null), l = u(() => e.disable === !0 ? null : p("span", {
1043
+ ref: t,
1044
+ class: "no-outline",
1045
+ tabindex: -1
1046
+ }));
1047
+ function s(o) {
1048
+ const a = n.value;
1049
+ (o == null ? void 0 : o.qAvoidFocus) !== !0 && ((o == null ? void 0 : o.type.indexOf("key")) === 0 ? document.activeElement !== a && (a == null ? void 0 : a.contains(document.activeElement)) === !0 && a.focus() : t.value !== null && (o === void 0 || (a == null ? void 0 : a.contains(o.target)) === !0) && t.value.focus());
1050
+ }
1051
+ return {
1052
+ refocusTargetEl: l,
1053
+ refocusTarget: s
1054
+ };
1055
+ }
1056
+ const Xt = {
1057
+ name: String
1058
+ };
1059
+ function Yt(e = {}) {
1060
+ return (n, t, l) => {
1061
+ n[t](
1062
+ p("input", {
1063
+ class: "hidden" + (l || ""),
1064
+ ...e.value
1065
+ })
1066
+ );
1067
+ };
1068
+ }
1069
+ function Fn(e) {
1070
+ return u(() => e.name || e.for);
1071
+ }
1072
+ const Gt = {
1073
+ xs: 30,
1074
+ sm: 35,
1075
+ md: 40,
1076
+ lg: 50,
1077
+ xl: 60
1078
+ }, Zt = {
1079
+ ...qe,
1080
+ ...de,
1081
+ ...Xt,
1082
+ modelValue: {
1083
+ required: !0,
1084
+ default: null
1085
+ },
1086
+ val: {},
1087
+ trueValue: { default: !0 },
1088
+ falseValue: { default: !1 },
1089
+ indeterminateValue: { default: null },
1090
+ checkedIcon: String,
1091
+ uncheckedIcon: String,
1092
+ indeterminateIcon: String,
1093
+ toggleOrder: {
1094
+ type: String,
1095
+ validator: (e) => e === "tf" || e === "ft"
1096
+ },
1097
+ toggleIndeterminate: Boolean,
1098
+ label: String,
1099
+ leftLabel: Boolean,
1100
+ color: String,
1101
+ keepColor: Boolean,
1102
+ dense: Boolean,
1103
+ disable: Boolean,
1104
+ tabindex: [String, Number]
1105
+ }, Jt = ["update:modelValue"];
1106
+ function en(e, n) {
1107
+ const { props: t, slots: l, emit: s, proxy: o } = te(), { $q: a } = o, i = Ce(t, a), $ = j(null), { refocusTargetEl: C, refocusTarget: v } = Ht(t, $), q = fe(t, Gt), c = u(
1108
+ () => t.val !== void 0 && Array.isArray(t.modelValue)
1109
+ ), y = u(() => {
1110
+ const k = G(t.val);
1111
+ return c.value === !0 ? t.modelValue.findIndex((A) => G(A) === k) : -1;
1112
+ }), r = u(() => c.value === !0 ? y.value !== -1 : G(t.modelValue) === G(t.trueValue)), m = u(() => c.value === !0 ? y.value === -1 : G(t.modelValue) === G(t.falseValue)), d = u(
1113
+ () => r.value === !1 && m.value === !1
1114
+ ), b = u(() => t.disable === !0 ? -1 : t.tabindex || 0), _ = u(
1115
+ () => `q-${e} cursor-pointer no-outline row inline no-wrap items-center` + (t.disable === !0 ? " disabled" : "") + (i.value === !0 ? ` q-${e}--dark` : "") + (t.dense === !0 ? ` q-${e}--dense` : "") + (t.leftLabel === !0 ? " reverse" : "")
1116
+ ), g = u(() => {
1117
+ const k = r.value === !0 ? "truthy" : m.value === !0 ? "falsy" : "indet", A = t.color !== void 0 && (t.keepColor === !0 || m.value !== !0) ? ` text-${t.color}` : "";
1118
+ return `q-${e}__inner relative-position non-selectable q-${e}__inner--${k}${A}`;
1119
+ }), S = u(() => {
1120
+ const k = { type: "checkbox" };
1121
+ return t.name !== void 0 && Object.assign(k, {
1122
+ // see https://vuejs.org/guide/extras/render-function.html#creating-vnodes (.prop)
1123
+ ".checked": r.value,
1124
+ "^checked": r.value === !0 ? "checked" : void 0,
1125
+ name: t.name,
1126
+ value: c.value === !0 ? t.val : t.trueValue
1127
+ }), k;
1128
+ }), B = Yt(S), P = u(() => {
1129
+ const k = {
1130
+ tabindex: b.value,
1131
+ role: "checkbox",
1132
+ "aria-label": t.label,
1133
+ "aria-checked": d.value === !0 ? "mixed" : r.value === !0 ? "true" : "false"
1134
+ };
1135
+ return t.disable === !0 && (k["aria-disabled"] = "true"), k;
1136
+ });
1137
+ function M(k) {
1138
+ k !== void 0 && (K(k), v(k)), t.disable !== !0 && s("update:modelValue", O(), k);
1139
+ }
1140
+ function O() {
1141
+ if (c.value === !0) {
1142
+ if (r.value === !0) {
1143
+ const k = t.modelValue.slice();
1144
+ return k.splice(y.value, 1), k;
1145
+ }
1146
+ return t.modelValue.concat([t.val]);
1147
+ }
1148
+ if (r.value === !0) {
1149
+ if (t.toggleOrder !== "ft" || t.toggleIndeterminate === !1)
1150
+ return t.falseValue;
1151
+ } else if (m.value === !0) {
1152
+ if (t.toggleOrder === "ft" || t.toggleIndeterminate === !1)
1153
+ return t.trueValue;
1154
+ } else
1155
+ return t.toggleOrder !== "ft" ? t.trueValue : t.falseValue;
1156
+ return t.indeterminateValue;
1157
+ }
1158
+ function D(k) {
1159
+ (k.keyCode === 13 || k.keyCode === 32) && K(k);
1160
+ }
1161
+ function Y(k) {
1162
+ (k.keyCode === 13 || k.keyCode === 32) && M(k);
1163
+ }
1164
+ const T = n(r, d);
1165
+ return Object.assign(o, { toggle: M }), () => {
1166
+ const k = T();
1167
+ t.disable !== !0 && B(
1168
+ k,
1169
+ "unshift",
1170
+ ` q-${e}__native absolute q-ma-none q-pa-none`
1171
+ );
1172
+ const A = [
1173
+ p("div", {
1174
+ class: g.value,
1175
+ style: q.value,
1176
+ "aria-hidden": "true"
1177
+ }, k)
1178
+ ];
1179
+ C.value !== null && A.push(C.value);
1180
+ const f = t.label !== void 0 ? W(l.default, [t.label]) : xe(l.default);
1181
+ return f !== void 0 && A.push(
1182
+ p("div", {
1183
+ class: `q-${e}__label q-anchor--skip`
1184
+ }, f)
1185
+ ), p("div", {
1186
+ ref: $,
1187
+ class: _.value,
1188
+ ...P.value,
1189
+ onClick: M,
1190
+ onKeydown: D,
1191
+ onKeyup: Y
1192
+ }, A);
1193
+ };
1194
+ }
1195
+ const tn = () => p("div", {
1196
+ key: "svg",
1197
+ class: "q-checkbox__bg absolute"
1198
+ }, [
1199
+ p("svg", {
1200
+ class: "q-checkbox__svg fit absolute-full",
1201
+ viewBox: "0 0 24 24"
1202
+ }, [
1203
+ p("path", {
1204
+ class: "q-checkbox__truthy",
1205
+ fill: "none",
1206
+ d: "M1.73,12.91 8.1,19.28 22.79,4.59"
1207
+ }),
1208
+ p("path", {
1209
+ class: "q-checkbox__indet",
1210
+ d: "M4,14H20V10H4"
1211
+ })
1212
+ ])
1213
+ ]), nn = ne({
1214
+ name: "QCheckbox",
1215
+ props: Zt,
1216
+ emits: Jt,
1217
+ setup(e) {
1218
+ const n = tn();
1219
+ function t(l, s) {
1220
+ const o = u(
1221
+ () => (l.value === !0 ? e.checkedIcon : s.value === !0 ? e.indeterminateIcon : e.uncheckedIcon) || null
1222
+ );
1223
+ return () => o.value !== null ? [
1224
+ p("div", {
1225
+ key: "icon",
1226
+ class: "q-checkbox__icon-container absolute-full flex flex-center no-wrap"
1227
+ }, [
1228
+ p(ye, {
1229
+ class: "q-checkbox__icon",
1230
+ name: o.value
1231
+ })
1232
+ ])
1233
+ ] : [n];
1234
+ }
1235
+ return en("checkbox", t);
1236
+ }
1237
+ }), ln = [];
1238
+ function an(e) {
1239
+ return ln.find(
1240
+ (n) => n.contentEl !== null && n.contentEl.contains(e)
1241
+ );
1242
+ }
1243
+ function on(e, n) {
1244
+ do {
1245
+ if (e.$options.name === "QMenu") {
1246
+ if (e.hide(n), e.$props.separateClosePopup === !0)
1247
+ return se(e);
1248
+ } else if (e.__qPortal === !0) {
1249
+ const t = se(e);
1250
+ return (t == null ? void 0 : t.$options.name) === "QPopupProxy" ? (e.hide(n), t) : e;
1251
+ }
1252
+ e = se(e);
1253
+ } while (e != null);
1254
+ }
1255
+ function sn(e, n, t) {
1256
+ for (; t !== 0 && e !== void 0 && e !== null; ) {
1257
+ if (e.__qPortal === !0) {
1258
+ if (t--, e.$options.name === "QMenu") {
1259
+ e = on(e, n);
1260
+ continue;
1261
+ }
1262
+ e.hide(n);
1263
+ }
1264
+ e = se(e);
1265
+ }
1266
+ }
1267
+ function Ve(e) {
1268
+ if (e === !1)
1269
+ return 0;
1270
+ if (e === !0 || e === void 0)
1271
+ return 1;
1272
+ const n = parseInt(e, 10);
1273
+ return isNaN(n) ? 0 : n;
1274
+ }
1275
+ const un = Fe(
1276
+ {
1277
+ name: "close-popup",
1278
+ beforeMount(e, { value: n }) {
1279
+ const t = {
1280
+ depth: Ve(n),
1281
+ handler(l) {
1282
+ t.depth !== 0 && setTimeout(() => {
1283
+ const s = an(e);
1284
+ s !== void 0 && sn(s, l, t.depth);
1285
+ });
1286
+ },
1287
+ handlerKey(l) {
1288
+ oe(l, 13) === !0 && t.handler(l);
1289
+ }
1290
+ };
1291
+ e.__qclosepopup = t, e.addEventListener("click", t.handler), e.addEventListener("keyup", t.handlerKey);
1292
+ },
1293
+ updated(e, { value: n, oldValue: t }) {
1294
+ n !== t && (e.__qclosepopup.depth = Ve(n));
1295
+ },
1296
+ beforeUnmount(e) {
1297
+ const n = e.__qclosepopup;
1298
+ e.removeEventListener("click", n.handler), e.removeEventListener("keyup", n.handlerKey), delete e.__qclosepopup;
1299
+ }
1300
+ }
1301
+ ), rn = {
1302
+ key: 0,
1303
+ class: "menu-item__loading"
1304
+ }, cn = {
1305
+ key: 0,
1306
+ class: "menu-item__checked"
1307
+ }, dn = {
1308
+ key: 2,
1309
+ class: "menu-item__icon"
1310
+ }, fn = { class: "menu-item__label" }, vn = {
1311
+ key: 3,
1312
+ class: "menu-item__icon-right icon-kl icon-kl-arrow-right"
1313
+ }, mn = /* @__PURE__ */ x({
1314
+ __name: "PopupItem",
1315
+ props: {
1316
+ label: {},
1317
+ icon: {},
1318
+ iconSize: {},
1319
+ color: {},
1320
+ iconRight: {},
1321
+ arrow: { type: Boolean },
1322
+ toggle: { type: Boolean },
1323
+ checkbox: { type: Boolean },
1324
+ active: { type: Boolean },
1325
+ modelValue: { type: Boolean },
1326
+ persistent: { type: Boolean },
1327
+ loading: { type: Boolean },
1328
+ disabled: { type: Boolean },
1329
+ gap: { type: Boolean },
1330
+ checked: { type: Boolean },
1331
+ isMobile: { type: Boolean }
1332
+ },
1333
+ emits: ["update:modelValue", "closePopup"],
1334
+ setup(e, { emit: n }) {
1335
+ const t = e, l = n, s = () => {
1336
+ t.disabled || (t.toggle || t.checkbox ? l("update:modelValue", !t.modelValue) : t.persistent || l("closePopup"));
1337
+ };
1338
+ return (o, a) => ie((h(), w("div", {
1339
+ class: L(["menu-item", [
1340
+ { "menu-item_gap": o.gap },
1341
+ { "menu-item_disabled": o.disabled },
1342
+ { "menu-item_active": o.active },
1343
+ { "menu-item_mobile": o.isMobile }
1344
+ ]]),
1345
+ onClick: s
1346
+ }, [
1347
+ V("div", {
1348
+ class: L(["row items-center no-wrap", `text-${o.color ? o.color : "dark"}`])
1349
+ }, [
1350
+ o.loading ? (h(), w("div", rn, [
1351
+ nt(N(He), {
1352
+ size: "19px",
1353
+ color: o.color ? o.color : "dark"
1354
+ }, null, 8, ["color"])
1355
+ ])) : (h(), w(ue, { key: 1 }, [
1356
+ o.checked ? (h(), w("div", cn, [...a[3] || (a[3] = [
1357
+ V("i", { class: "icon-kl icon-kl-check" }, null, -1)
1358
+ ])])) : R("", !0),
1359
+ o.checkbox ? (h(), F(nn, {
1360
+ key: 1,
1361
+ class: "menu-item__checkbox",
1362
+ size: "34px",
1363
+ "model-value": o.modelValue,
1364
+ "onUpdate:modelValue": a[0] || (a[0] = (i) => l("update:modelValue", i)),
1365
+ onClick: a[1] || (a[1] = Oe(() => {
1366
+ }, ["stop"]))
1367
+ }, null, 8, ["model-value"])) : R("", !0),
1368
+ o.icon ? (h(), w("div", dn, [
1369
+ V("i", {
1370
+ class: L(`icon-kl icon-kl-${o.icon}`),
1371
+ style: re({ fontSize: o.iconSize || "27px" })
1372
+ }, null, 6)
1373
+ ])) : R("", !0)
1374
+ ], 64)),
1375
+ V("span", fn, X(o.label), 1)
1376
+ ], 2),
1377
+ o.$slots.right ? H(o.$slots, "right", { key: 0 }, void 0, !0) : o.toggle ? (h(), F(et, {
1378
+ key: 1,
1379
+ class: "menu-item__toggle",
1380
+ "model-value": o.modelValue,
1381
+ disabled: o.disabled || o.loading,
1382
+ "onUpdate:modelValue": a[2] || (a[2] = (i) => l("update:modelValue", i))
1383
+ }, null, 8, ["model-value", "disabled"])) : o.iconRight ? (h(), w("i", {
1384
+ key: 2,
1385
+ class: L([
1386
+ "menu-item__icon-right menu-item__icon-right_custom icon-kl",
1387
+ `icon-kl-${o.iconRight}`
1388
+ ])
1389
+ }, null, 2)) : o.arrow ? (h(), w("i", vn)) : R("", !0)
1390
+ ], 2)), [
1391
+ [un, !o.toggle && !o.checkbox && !o.persistent && !o.disabled]
1392
+ ]);
1393
+ }
1394
+ }), xn = /* @__PURE__ */ Q(mn, [["__scopeId", "data-v-4b2a03b5"]]), gn = /* @__PURE__ */ x({
1395
+ __name: "AppIcon",
1396
+ props: {
1397
+ name: {},
1398
+ size: {},
1399
+ color: {}
1400
+ },
1401
+ setup(e) {
1402
+ return (n, t) => (h(), w("i", {
1403
+ class: L(["icon-kl", `icon-kl-${n.name}`, n.color ? `text-${n.color}` : ""]),
1404
+ style: re(n.size ? `font-size: ${n.size}` : void 0)
1405
+ }, null, 6));
1406
+ }
1407
+ }), be = /* @__PURE__ */ Q(gn, [["__scopeId", "data-v-941765ee"]]), pn = {
1408
+ xs: 2,
1409
+ sm: 4,
1410
+ md: 6,
1411
+ lg: 10,
1412
+ xl: 14
1413
+ };
1414
+ function Ae(e, n, t) {
1415
+ return {
1416
+ transform: n === !0 ? `translateX(${t.lang.rtl === !0 ? "-" : ""}100%) scale3d(${-e},1,1)` : `scale3d(${e},1,1)`
1417
+ };
1418
+ }
1419
+ const bn = ne({
1420
+ name: "QLinearProgress",
1421
+ props: {
1422
+ ...qe,
1423
+ ...de,
1424
+ value: {
1425
+ type: Number,
1426
+ default: 0
1427
+ },
1428
+ buffer: Number,
1429
+ color: String,
1430
+ trackColor: String,
1431
+ reverse: Boolean,
1432
+ stripe: Boolean,
1433
+ indeterminate: Boolean,
1434
+ query: Boolean,
1435
+ rounded: Boolean,
1436
+ animationSpeed: {
1437
+ type: [String, Number],
1438
+ default: 2100
1439
+ },
1440
+ instantFeedback: Boolean
1441
+ },
1442
+ setup(e, { slots: n }) {
1443
+ const { proxy: t } = te(), l = Ce(e, t.$q), s = fe(e, pn), o = u(() => e.indeterminate === !0 || e.query === !0), a = u(() => e.reverse !== e.query), i = u(() => ({
1444
+ ...s.value !== null ? s.value : {},
1445
+ "--q-linear-progress-speed": `${e.animationSpeed}ms`
1446
+ })), $ = u(
1447
+ () => "q-linear-progress" + (e.color !== void 0 ? ` text-${e.color}` : "") + (e.reverse === !0 || e.query === !0 ? " q-linear-progress--reverse" : "") + (e.rounded === !0 ? " rounded-borders" : "")
1448
+ ), C = u(() => Ae(e.buffer !== void 0 ? e.buffer : 1, a.value, t.$q)), v = u(() => `with${e.instantFeedback === !0 ? "out" : ""}-transition`), q = u(
1449
+ () => `q-linear-progress__track absolute-full q-linear-progress__track--${v.value} q-linear-progress__track--${l.value === !0 ? "dark" : "light"}` + (e.trackColor !== void 0 ? ` bg-${e.trackColor}` : "")
1450
+ ), c = u(() => Ae(o.value === !0 ? 1 : e.value, a.value, t.$q)), y = u(
1451
+ () => `q-linear-progress__model absolute-full q-linear-progress__model--${v.value} q-linear-progress__model--${o.value === !0 ? "in" : ""}determinate`
1452
+ ), r = u(() => ({ width: `${e.value * 100}%` })), m = u(
1453
+ () => `q-linear-progress__stripe absolute-${e.reverse === !0 ? "right" : "left"} q-linear-progress__stripe--${v.value}`
1454
+ );
1455
+ return () => {
1456
+ const d = [
1457
+ p("div", {
1458
+ class: q.value,
1459
+ style: C.value
1460
+ }),
1461
+ p("div", {
1462
+ class: y.value,
1463
+ style: c.value
1464
+ })
1465
+ ];
1466
+ return e.stripe === !0 && o.value === !1 && d.push(
1467
+ p("div", {
1468
+ class: m.value,
1469
+ style: r.value
1470
+ })
1471
+ ), p("div", {
1472
+ class: $.value,
1473
+ style: i.value,
1474
+ role: "progressbar",
1475
+ "aria-valuemin": 0,
1476
+ "aria-valuemax": 1,
1477
+ "aria-valuenow": e.indeterminate === !0 ? void 0 : e.value
1478
+ }, W(n.default, d));
1479
+ };
1480
+ }
1481
+ }), hn = {
1482
+ key: 0,
1483
+ class: "code-field__label"
1484
+ }, kn = { class: "code-field__inputs" }, yn = ["onUpdate:modelValue", "disabled", "onInput", "onKeydown", "onPaste"], _n = /* @__PURE__ */ x({
1485
+ __name: "AppCodeInput",
1486
+ props: {
1487
+ length: { default: 5 },
1488
+ size: { default: I.MD },
1489
+ label: {},
1490
+ disabled: { type: Boolean },
1491
+ loading: { type: Boolean },
1492
+ autofocus: { type: Boolean },
1493
+ color: {}
1494
+ },
1495
+ emits: ["update:modelValue", "completed"],
1496
+ setup(e, { expose: n, emit: t }) {
1497
+ const l = e, s = t, o = j(Array(l.length).fill("")), a = j([]), i = u(() => [
1498
+ "code-field",
1499
+ {
1500
+ "code-field_disabled": l.disabled || l.loading
1501
+ },
1502
+ `code-field_${l.size}`,
1503
+ `code-field_${l.color}`
1504
+ ]), $ = u(() => {
1505
+ let r = "";
1506
+ return l.size == I.SM && (r += `width: ${l.length * 26 + (l.length - 1) * 5}px`), l.size == I.MD && (r += `width: ${l.length * 32 + (l.length - 1) * 8}px`), l.size == I.LG && (r += `width: ${l.length * 44 + (l.length - 1) * 10}px`), r;
1507
+ }), C = (r, m) => {
1508
+ var _;
1509
+ const b = r.target.value;
1510
+ if (b.length === 1)
1511
+ m < l.length - 1 && a.value && ((_ = a.value[m + 1]) == null || _.focus());
1512
+ else if (b.length > 1) {
1513
+ const g = b.slice(0, l.length - m).split("");
1514
+ g.forEach((S, B) => {
1515
+ o.value[m + B] = S;
1516
+ }), ae(() => {
1517
+ var S;
1518
+ a.value && ((S = a.value[Math.min(m + g.length, l.length - 1)]) == null || S.focus());
1519
+ });
1520
+ }
1521
+ }, v = (r) => {
1522
+ var m;
1523
+ o.value[r] === "" && a.value && r > 0 && ((m = a.value[r - 1]) == null || m.focus());
1524
+ }, q = (r, m) => {
1525
+ var _;
1526
+ r.preventDefault();
1527
+ const d = ((_ = r.clipboardData) == null ? void 0 : _.getData("text")) ?? "";
1528
+ if (!d) return;
1529
+ const b = d.slice(0, l.length - m).split("");
1530
+ b.forEach((g, S) => {
1531
+ o.value[m + S] = g;
1532
+ }), ae(() => {
1533
+ var g;
1534
+ a.value && ((g = a.value[Math.min(m + b.length, l.length - 1)]) == null || g.focus());
1535
+ });
1536
+ };
1537
+ je(
1538
+ o,
1539
+ (r) => {
1540
+ const m = r.join("");
1541
+ c(m);
1542
+ },
1543
+ { deep: !0 }
1544
+ );
1545
+ const c = (r) => {
1546
+ s("update:modelValue", r), r.length === l.length && !r.includes(" ") && s("completed", r);
1547
+ }, y = (r) => {
1548
+ r && (o.value = r.split("").slice(0, l.length));
1549
+ };
1550
+ return De(() => {
1551
+ l.autofocus && a.value && a.value[0] && a.value[0].focus();
1552
+ }), n({
1553
+ injectCode: y
1554
+ }), (r, m) => (h(), w("div", {
1555
+ class: L(i.value),
1556
+ style: re($.value)
1557
+ }, [
1558
+ r.label ? (h(), w("label", hn, X(r.label), 1)) : R("", !0),
1559
+ V("div", kn, [
1560
+ (h(!0), w(ue, null, Ne(r.length, (d, b) => ie((h(), w("input", {
1561
+ key: b,
1562
+ "onUpdate:modelValue": (_) => o.value[b] = _,
1563
+ ref_for: !0,
1564
+ ref_key: "inputRefs",
1565
+ ref: a,
1566
+ type: "number",
1567
+ maxlength: "1",
1568
+ class: "code-field__input",
1569
+ disabled: r.disabled || r.loading,
1570
+ onInput: (_) => C(_, b),
1571
+ onKeydown: lt((_) => v(b), ["backspace"]),
1572
+ onPaste: (_) => q(_, b)
1573
+ }, null, 40, yn)), [
1574
+ [at, o.value[b]]
1575
+ ])), 128))
1576
+ ]),
1577
+ r.loading ? (h(), F(bn, {
1578
+ key: 1,
1579
+ indeterminate: "",
1580
+ rounded: "",
1581
+ color: r.color,
1582
+ class: "code-field__loading"
1583
+ }, null, 8, ["color"])) : R("", !0)
1584
+ ], 6));
1585
+ }
1586
+ }), Qn = /* @__PURE__ */ Q(_n, [["__scopeId", "data-v-4e11db87"]]), $n = ["onClick", "disabled"], qn = /* @__PURE__ */ x({
1587
+ __name: "AppSegment",
1588
+ props: /* @__PURE__ */ he({
1589
+ options: {},
1590
+ disabled: { type: Boolean },
1591
+ size: { default: I.MD },
1592
+ color: { default: $e.PRIMARY },
1593
+ glass: { type: Boolean },
1594
+ blur: { type: Boolean }
1595
+ }, {
1596
+ modelValue: {},
1597
+ modelModifiers: {}
1598
+ }),
1599
+ emits: ["update:modelValue"],
1600
+ setup(e) {
1601
+ const n = Ke(e, "modelValue"), t = e, l = me("scroller"), s = me("content"), o = me("buttons"), a = j(!1), i = j(!1), $ = j({ left: 0, width: 0 }), C = u(() => [
1602
+ "app-segment",
1603
+ {
1604
+ "app-segment_disabled": t.disabled,
1605
+ "app-segment_scrollable": i.value,
1606
+ "app-segment_glass": t.glass,
1607
+ "app-segment_blur": t.blur
1608
+ },
1609
+ `app-segment_${t.size}`,
1610
+ `app-segment_${t.color}`
1611
+ ]), v = u(
1612
+ () => t.options.findIndex((d) => d.value === n.value)
1613
+ ), q = u(() => ({
1614
+ width: `${$.value.width}px`,
1615
+ transform: `translateX(${$.value.left}px)`,
1616
+ opacity: $.value.width ? 1 : 0
1617
+ }));
1618
+ function c() {
1619
+ var b;
1620
+ const d = (b = o.value) == null ? void 0 : b[v.value];
1621
+ $.value = d ? { left: d.offsetLeft, width: d.offsetWidth } : { left: 0, width: 0 }, l.value && (i.value = l.value.scrollWidth - l.value.clientWidth > 1);
1622
+ }
1623
+ function y(d = "smooth") {
1624
+ var _, g;
1625
+ const b = (_ = o.value) == null ? void 0 : _[v.value];
1626
+ !b || !((g = l.value) != null && g.scrollTo) || l.value.scrollTo({
1627
+ left: b.offsetLeft + b.offsetWidth / 2 - l.value.clientWidth / 2,
1628
+ behavior: d
1629
+ });
1630
+ }
1631
+ function r(d) {
1632
+ t.disabled || (n.value = d, ae(() => y()));
1633
+ }
1634
+ let m;
1635
+ return De(async () => {
1636
+ c(), await ae(), y("auto"), a.value = !0, typeof ResizeObserver < "u" && l.value && s.value && (m = new ResizeObserver(c), m.observe(l.value), m.observe(s.value));
1637
+ }), Te(() => m == null ? void 0 : m.disconnect()), je(
1638
+ [v, i, () => t.options, () => t.size],
1639
+ () => ae(c)
1640
+ ), (d, b) => (h(), w("div", {
1641
+ ref_key: "scroller",
1642
+ ref: l,
1643
+ class: L(C.value)
1644
+ }, [
1645
+ V("div", {
1646
+ ref_key: "content",
1647
+ ref: s,
1648
+ class: "app-segment__content"
1649
+ }, [
1650
+ V("div", {
1651
+ class: L(["app-segment__thumb", { "app-segment__thumb_animated": a.value }]),
1652
+ style: re(q.value)
1653
+ }, null, 6),
1654
+ (h(!0), w(ue, null, Ne(d.options, (_, g) => (h(), w("button", {
1655
+ ref_for: !0,
1656
+ ref_key: "buttons",
1657
+ ref: o,
1658
+ key: g,
1659
+ class: L(["app-segment__btn", { "app-segment__btn_active": n.value === _.value }]),
1660
+ onClick: (S) => r(_.value),
1661
+ disabled: d.disabled
1662
+ }, [
1663
+ H(d.$slots, "option", { option: _ }, () => [
1664
+ _e(X(_.label), 1)
1665
+ ], !0)
1666
+ ], 10, $n))), 128))
1667
+ ], 512)
1668
+ ], 2));
1669
+ }
1670
+ }), Un = /* @__PURE__ */ Q(qn, [["__scopeId", "data-v-a34e690c"]]), Cn = {}, Bn = { class: "system-menu" };
1671
+ function wn(e, n) {
1672
+ return h(), w("div", Bn, [
1673
+ H(e.$slots, "default", {}, void 0, !0)
1674
+ ]);
1675
+ }
1676
+ const Wn = /* @__PURE__ */ Q(Cn, [["render", wn], ["__scopeId", "data-v-5649b2f4"]]), Sn = ne({
1677
+ name: "QItem",
1678
+ props: {
1679
+ ...qe,
1680
+ ...Pt,
1681
+ tag: {
1682
+ type: String,
1683
+ default: "div"
1684
+ },
1685
+ active: {
1686
+ type: Boolean,
1687
+ default: null
1688
+ },
1689
+ clickable: Boolean,
1690
+ dense: Boolean,
1691
+ insetLevel: Number,
1692
+ tabindex: [String, Number],
1693
+ focused: Boolean,
1694
+ manualFocus: Boolean
1695
+ },
1696
+ emits: ["click", "keyup"],
1697
+ setup(e, { slots: n, emit: t }) {
1698
+ const { proxy: { $q: l } } = te(), s = Ce(e, l), { hasLink: o, linkAttrs: a, linkClass: i, linkTag: $, navigateOnClick: C } = Ze(), v = j(null), q = j(null), c = u(
1699
+ () => e.clickable === !0 || o.value === !0 || e.tag === "label"
1700
+ ), y = u(
1701
+ () => e.disable !== !0 && c.value === !0
1702
+ ), r = u(
1703
+ () => "q-item q-item-type row no-wrap" + (e.dense === !0 ? " q-item--dense" : "") + (s.value === !0 ? " q-item--dark" : "") + (o.value === !0 && e.active === null ? i.value : e.active === !0 ? ` q-item--active${e.activeClass !== void 0 ? ` ${e.activeClass}` : ""}` : "") + (e.disable === !0 ? " disabled" : "") + (y.value === !0 ? " q-item--clickable q-link cursor-pointer " + (e.manualFocus === !0 ? "q-manual-focusable" : "q-focusable q-hoverable") + (e.focused === !0 ? " q-manual-focusable--focused" : "") : "")
1704
+ ), m = u(() => e.insetLevel === void 0 ? null : {
1705
+ ["padding" + (l.lang.rtl === !0 ? "Right" : "Left")]: 16 + e.insetLevel * 56 + "px"
1706
+ });
1707
+ function d(g) {
1708
+ y.value === !0 && (q.value !== null && g.qAvoidFocus !== !0 && (g.qKeyEvent !== !0 && document.activeElement === v.value ? q.value.focus() : document.activeElement === q.value && v.value.focus()), C(g));
1709
+ }
1710
+ function b(g) {
1711
+ if (y.value === !0 && oe(g, [13, 32]) === !0) {
1712
+ K(g), g.qKeyEvent = !0;
1713
+ const S = new MouseEvent("click", g);
1714
+ S.qKeyEvent = !0, v.value.dispatchEvent(S);
1715
+ }
1716
+ t("keyup", g);
1717
+ }
1718
+ function _() {
1719
+ const g = st(n.default, []);
1720
+ return y.value === !0 && g.unshift(
1721
+ p("div", { class: "q-focus-helper", tabindex: -1, ref: q })
1722
+ ), g;
1723
+ }
1724
+ return () => {
1725
+ const g = {
1726
+ ref: v,
1727
+ class: r.value,
1728
+ style: m.value,
1729
+ role: "listitem",
1730
+ onClick: d,
1731
+ onKeyup: b
1732
+ };
1733
+ return y.value === !0 ? (g.tabindex = e.tabindex || "0", Object.assign(g, a.value)) : c.value === !0 && (g["aria-disabled"] = "true"), p(
1734
+ $.value,
1735
+ g,
1736
+ _()
1737
+ );
1738
+ };
1739
+ }
1740
+ }), En = { class: "menu-item__content" }, Ln = {
1741
+ key: 0,
1742
+ class: "menu-item__value"
1743
+ }, Rn = /* @__PURE__ */ x({
1744
+ __name: "MenuItem",
1745
+ props: /* @__PURE__ */ he({
1746
+ label: {},
1747
+ icon: {},
1748
+ iconRight: {},
1749
+ arrow: { type: Boolean },
1750
+ color: {},
1751
+ to: {},
1752
+ href: {},
1753
+ target: {},
1754
+ disabled: { type: Boolean },
1755
+ toggle: { type: Boolean },
1756
+ isMobile: { type: Boolean }
1757
+ }, {
1758
+ modelValue: { type: Boolean },
1759
+ modelModifiers: {}
1760
+ }),
1761
+ emits: /* @__PURE__ */ he(["click"], ["update:modelValue"]),
1762
+ setup(e, { emit: n }) {
1763
+ const t = e, l = n, s = Ke(e, "modelValue"), o = async () => {
1764
+ t.toggle && (s.value = !s.value), l("click");
1765
+ };
1766
+ return (a, i) => (h(), F(N(Sn), {
1767
+ class: L(["menu-item", {
1768
+ "menu-item_disabled": a.disabled,
1769
+ "menu-item_mobile": a.isMobile
1770
+ }]),
1771
+ to: a.to,
1772
+ href: a.href,
1773
+ target: a.target,
1774
+ disable: a.disabled,
1775
+ clickable: "",
1776
+ onClick: o
1777
+ }, {
1778
+ default: ze(() => [
1779
+ a.icon ? (h(), F(N(be), {
1780
+ key: 0,
1781
+ name: a.icon.name,
1782
+ class: L(["menu-item__icon", `bg-${a.icon.color}`])
1783
+ }, null, 8, ["name", "class"])) : R("", !0),
1784
+ V("div", En, [
1785
+ V("span", {
1786
+ class: L(["app-menu-item__label", a.color ? `text-${a.color}` : ""])
1787
+ }, [
1788
+ _e(X(a.label) + " ", 1),
1789
+ H(a.$slots, "default", {}, void 0, !0)
1790
+ ], 2),
1791
+ a.$slots.value ? (h(), w("span", Ln, [
1792
+ H(a.$slots, "value", {}, void 0, !0)
1793
+ ])) : R("", !0),
1794
+ a.toggle ? (h(), F(N(et), {
1795
+ key: 1,
1796
+ modelValue: s.value,
1797
+ "onUpdate:modelValue": i[0] || (i[0] = ($) => s.value = $)
1798
+ }, null, 8, ["modelValue"])) : R("", !0),
1799
+ a.iconRight ? (h(), F(N(be), {
1800
+ key: 2,
1801
+ class: "menu-item__icon-right",
1802
+ name: a.iconRight.name,
1803
+ color: a.iconRight.color
1804
+ }, null, 8, ["name", "color"])) : R("", !0),
1805
+ a.arrow ? (h(), F(N(be), {
1806
+ key: 3,
1807
+ class: "menu-item__icon-right menu-item__arrow",
1808
+ name: "arrow-right"
1809
+ })) : R("", !0)
1810
+ ])
1811
+ ]),
1812
+ _: 3
1813
+ }, 8, ["class", "to", "href", "target", "disable"]));
1814
+ }
1815
+ }), Hn = /* @__PURE__ */ Q(Rn, [["__scopeId", "data-v-b9907ab7"]]), Xn = ce(
1816
+ () => import("./AppButtonCopy-QvkjU_h4.js")
1817
+ ), Yn = ce(
1818
+ () => import("./AppSelect-0p8QDBZ9.js")
1819
+ ), Gn = ce(
1820
+ () => import("./DropdownButton-Dhvb9D_L.js")
1821
+ ), Zn = ce(
1822
+ () => import("./BottomSheet-PinLAITZ.js")
1823
+ );
1824
+ export {
1825
+ Nn as A,
1826
+ bt as B,
1827
+ $e as C,
1828
+ on as D,
1829
+ Tn as E,
1830
+ Kn as F,
1831
+ On as G,
1832
+ St as H,
1833
+ jn as I,
1834
+ In as J,
1835
+ pt as K,
1836
+ Xn as L,
1837
+ Qn as M,
1838
+ be as N,
1839
+ Un as O,
1840
+ xn as P,
1841
+ ye as Q,
1842
+ qt as R,
1843
+ I as S,
1844
+ Yn as T,
1845
+ et as U,
1846
+ Zn as V,
1847
+ Gn as W,
1848
+ Hn as X,
1849
+ Wn as Y,
1850
+ Mn as Z,
1851
+ Q as _,
1852
+ Ce as a,
1853
+ He as b,
1854
+ ne as c,
1855
+ de as d,
1856
+ fe as e,
1857
+ An as f,
1858
+ Vn as g,
1859
+ xe as h,
1860
+ Xt as i,
1861
+ Fn as j,
1862
+ _t as k,
1863
+ Xe as l,
1864
+ oe as m,
1865
+ zn as n,
1866
+ Sn as o,
1867
+ ht as p,
1868
+ W as q,
1869
+ Tt as r,
1870
+ K as s,
1871
+ Dn as t,
1872
+ qe as u,
1873
+ jt as v,
1874
+ kt as w,
1875
+ yt as x,
1876
+ ve as y,
1877
+ ln as z
1878
+ };