@validol4ik/uikit 0.4.3 → 0.4.5

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.
@@ -0,0 +1,1256 @@
1
+ import { computed as i, markRaw as ke, defineComponent as G, h as m, withDirectives as le, getCurrentInstance as X, unref as Q, ref as te, onBeforeUnmount as Ae, Transition as ze, openBlock as S, createBlock as _e, normalizeClass as z, withCtx as Te, createElementBlock as C, createCommentVNode as T, renderSlot as $e, Fragment as qe, createTextVNode as Oe, toDisplayString as Y, createElementVNode as F, normalizeStyle as Se, useTemplateRef as De, watch as xe, onMounted as je, renderList as Ie, nextTick as se, withKeys as Ve, vModelText as Ne, defineAsyncComponent as oe } from "vue";
2
+ const we = {
3
+ PRIMARY: "primary",
4
+ INFO: "info"
5
+ }, $ = {
6
+ SM: "sm",
7
+ MD: "md",
8
+ LG: "lg"
9
+ }, Ke = {
10
+ [$.SM]: "3px 9px",
11
+ [$.MD]: "5px 12px",
12
+ [$.LG]: "9px 20px"
13
+ }, ne = {
14
+ xs: 18,
15
+ sm: 24,
16
+ md: 32,
17
+ lg: 38,
18
+ xl: 46
19
+ }, re = {
20
+ size: String
21
+ };
22
+ function ie(e, t = ne) {
23
+ return i(() => e.size !== void 0 ? { fontSize: e.size in t ? `${t[e.size]}px` : e.size } : null);
24
+ }
25
+ function W(e) {
26
+ return ke(G(e));
27
+ }
28
+ function Fe(e) {
29
+ return ke(e);
30
+ }
31
+ function Qe(e, t) {
32
+ return e !== void 0 && e() || t;
33
+ }
34
+ function Kt(e, t) {
35
+ if (e !== void 0) {
36
+ const n = e();
37
+ if (n != null)
38
+ return n.slice();
39
+ }
40
+ return t;
41
+ }
42
+ function V(e, t) {
43
+ return e !== void 0 ? t.concat(e()) : t;
44
+ }
45
+ function Ft(e, t) {
46
+ return e === void 0 ? t : t !== void 0 ? t.concat(e()) : e();
47
+ }
48
+ function Qt(e, t, n, a, o, d) {
49
+ t.key = a + o;
50
+ const l = m(e, t, n);
51
+ return o === !0 ? le(l, d()) : l;
52
+ }
53
+ const ue = "0 0 24 24", ce = (e) => e, ee = (e) => `ionicons ${e}`, Be = {
54
+ "mdi-": (e) => `mdi ${e}`,
55
+ "icon-": ce,
56
+ // fontawesome equiv
57
+ "bt-": (e) => `bt ${e}`,
58
+ "eva-": (e) => `eva ${e}`,
59
+ "ion-md": ee,
60
+ "ion-ios": ee,
61
+ "ion-logo": ee,
62
+ "iconfont ": ce,
63
+ "ti-": (e) => `themify-icon ${e}`,
64
+ "bi-": (e) => `bootstrap-icons ${e}`
65
+ }, Ce = {
66
+ o_: "-outlined",
67
+ r_: "-round",
68
+ s_: "-sharp"
69
+ }, Le = {
70
+ sym_o_: "-outlined",
71
+ sym_r_: "-rounded",
72
+ sym_s_: "-sharp"
73
+ }, Ge = new RegExp("^(" + Object.keys(Be).join("|") + ")"), Ue = new RegExp("^(" + Object.keys(Ce).join("|") + ")"), de = new RegExp("^(" + Object.keys(Le).join("|") + ")"), He = /^[Mm]\s?[-+]?\.?\d/, Ye = /^img:/, Xe = /^svguse:/, We = /^ion-/, Je = /^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /, fe = W({
74
+ name: "QIcon",
75
+ props: {
76
+ ...re,
77
+ tag: {
78
+ type: String,
79
+ default: "i"
80
+ },
81
+ name: String,
82
+ color: String,
83
+ left: Boolean,
84
+ right: Boolean
85
+ },
86
+ setup(e, { slots: t }) {
87
+ const { proxy: { $q: n } } = X(), a = ie(e), o = i(
88
+ () => "q-icon" + (e.left === !0 ? " on-left" : "") + (e.right === !0 ? " on-right" : "") + (e.color !== void 0 ? ` text-${e.color}` : "")
89
+ ), d = i(() => {
90
+ let l, r = e.name;
91
+ if (r === "none" || !r)
92
+ return { none: !0 };
93
+ if (n.iconMapFn !== null) {
94
+ const v = n.iconMapFn(r);
95
+ if (v !== void 0)
96
+ if (v.icon !== void 0) {
97
+ if (r = v.icon, r === "none" || !r)
98
+ return { none: !0 };
99
+ } else
100
+ return {
101
+ cls: v.cls,
102
+ content: v.content !== void 0 ? v.content : " "
103
+ };
104
+ }
105
+ if (He.test(r) === !0) {
106
+ const [v, _ = ue] = r.split("|");
107
+ return {
108
+ svg: !0,
109
+ viewBox: _,
110
+ nodes: v.split("&&").map((s) => {
111
+ const [f, g, h] = s.split("@@");
112
+ return m("path", { style: g, d: f, transform: h });
113
+ })
114
+ };
115
+ }
116
+ if (Ye.test(r) === !0)
117
+ return {
118
+ img: !0,
119
+ src: r.substring(4)
120
+ };
121
+ if (Xe.test(r) === !0) {
122
+ const [v, _ = ue] = r.split("|");
123
+ return {
124
+ svguse: !0,
125
+ src: v.substring(7),
126
+ viewBox: _
127
+ };
128
+ }
129
+ let q = " ";
130
+ const k = r.match(Ge);
131
+ if (k !== null)
132
+ l = Be[k[1]](r);
133
+ else if (Je.test(r) === !0)
134
+ l = r;
135
+ else if (We.test(r) === !0)
136
+ l = `ionicons ion-${n.platform.is.ios === !0 ? "ios" : "md"}${r.substring(3)}`;
137
+ else if (de.test(r) === !0) {
138
+ l = "notranslate material-symbols";
139
+ const v = r.match(de);
140
+ v !== null && (r = r.substring(6), l += Le[v[1]]), q = r;
141
+ } else {
142
+ l = "notranslate material-icons";
143
+ const v = r.match(Ue);
144
+ v !== null && (r = r.substring(2), l += Ce[v[1]]), q = r;
145
+ }
146
+ return {
147
+ cls: l,
148
+ content: q
149
+ };
150
+ });
151
+ return () => {
152
+ const l = {
153
+ class: o.value,
154
+ style: a.value,
155
+ "aria-hidden": "true",
156
+ role: "presentation"
157
+ };
158
+ return d.value.none === !0 ? m(e.tag, l, Qe(t.default)) : d.value.img === !0 ? m(e.tag, l, V(t.default, [
159
+ m("img", { src: d.value.src })
160
+ ])) : d.value.svg === !0 ? m(e.tag, l, V(t.default, [
161
+ m("svg", {
162
+ viewBox: d.value.viewBox || "0 0 24 24"
163
+ }, d.value.nodes)
164
+ ])) : d.value.svguse === !0 ? m(e.tag, l, V(t.default, [
165
+ m("svg", {
166
+ viewBox: d.value.viewBox
167
+ }, [
168
+ m("use", { "xlink:href": d.value.src })
169
+ ])
170
+ ])) : (d.value.cls !== void 0 && (l.class += " " + d.value.cls), m(e.tag, l, V(t.default, [
171
+ d.value.content
172
+ ])));
173
+ };
174
+ }
175
+ }), Ze = {
176
+ size: {
177
+ type: [String, Number],
178
+ default: "1em"
179
+ },
180
+ color: String
181
+ };
182
+ function et(e) {
183
+ return {
184
+ cSize: i(() => e.size in ne ? `${ne[e.size]}px` : e.size),
185
+ classes: i(
186
+ () => "q-spinner" + (e.color ? ` text-${e.color}` : "")
187
+ )
188
+ };
189
+ }
190
+ const tt = W({
191
+ name: "QSpinner",
192
+ props: {
193
+ ...Ze,
194
+ thickness: {
195
+ type: Number,
196
+ default: 5
197
+ }
198
+ },
199
+ setup(e) {
200
+ const { cSize: t, classes: n } = et(e);
201
+ return () => m("svg", {
202
+ class: n.value + " q-spinner-mat",
203
+ width: t.value,
204
+ height: t.value,
205
+ viewBox: "25 25 50 50"
206
+ }, [
207
+ m("circle", {
208
+ class: "path",
209
+ cx: "50",
210
+ cy: "50",
211
+ r: "20",
212
+ fill: "none",
213
+ stroke: "currentColor",
214
+ "stroke-width": e.thickness,
215
+ "stroke-miterlimit": "10"
216
+ })
217
+ ]);
218
+ }
219
+ });
220
+ function nt(e, t) {
221
+ const n = e.style;
222
+ for (const a in t)
223
+ n[a] = t[a];
224
+ }
225
+ function Gt(e) {
226
+ if (e == null)
227
+ return;
228
+ if (typeof e == "string")
229
+ try {
230
+ return document.querySelector(e) || void 0;
231
+ } catch {
232
+ return;
233
+ }
234
+ const t = Q(e);
235
+ if (t)
236
+ return t.$el || t;
237
+ }
238
+ function Ut(e, t) {
239
+ if (e == null || e.contains(t) === !0)
240
+ return !0;
241
+ for (let n = e.nextElementSibling; n !== null; n = n.nextElementSibling)
242
+ if (n.contains(t))
243
+ return !0;
244
+ return !1;
245
+ }
246
+ const J = {
247
+ hasPassive: !1,
248
+ passiveCapture: !0,
249
+ notPassiveCapture: !0
250
+ };
251
+ try {
252
+ const e = Object.defineProperty({}, "passive", {
253
+ get() {
254
+ Object.assign(J, {
255
+ hasPassive: !0,
256
+ passive: { passive: !0 },
257
+ notPassive: { passive: !1 },
258
+ passiveCapture: { passive: !0, capture: !0 },
259
+ notPassiveCapture: { passive: !1, capture: !0 }
260
+ });
261
+ }
262
+ });
263
+ window.addEventListener("qtest", null, e), window.removeEventListener("qtest", null, e);
264
+ } catch {
265
+ }
266
+ function Ht() {
267
+ }
268
+ function at(e) {
269
+ 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]), {
270
+ top: e.clientY,
271
+ left: e.clientX
272
+ };
273
+ }
274
+ function Yt(e) {
275
+ if (e.path)
276
+ return e.path;
277
+ if (e.composedPath)
278
+ return e.composedPath();
279
+ const t = [];
280
+ let n = e.target;
281
+ for (; n; ) {
282
+ if (t.push(n), n.tagName === "HTML")
283
+ return t.push(document), t.push(window), t;
284
+ n = n.parentElement;
285
+ }
286
+ }
287
+ function Ee(e) {
288
+ e.stopPropagation();
289
+ }
290
+ function lt(e) {
291
+ e.cancelable !== !1 && e.preventDefault();
292
+ }
293
+ function D(e) {
294
+ e.cancelable !== !1 && e.preventDefault(), e.stopPropagation();
295
+ }
296
+ function ot(e, t, n) {
297
+ const a = `__q_${t}_evt`;
298
+ e[a] = e[a] !== void 0 ? e[a].concat(n) : n, n.forEach((o) => {
299
+ o[0].addEventListener(o[1], e[o[2]], J[o[3]]);
300
+ });
301
+ }
302
+ function rt(e, t) {
303
+ const n = `__q_${t}_evt`;
304
+ e[n] !== void 0 && (e[n].forEach((a) => {
305
+ a[0].removeEventListener(a[1], e[a[2]], J[a[3]]);
306
+ }), e[n] = void 0);
307
+ }
308
+ function it(e) {
309
+ return e !== Object(e) || e.isComposing === !0 || e.qKeyEvent === !0;
310
+ }
311
+ function ae(e, t) {
312
+ return it(e) === !0 ? !1 : [].concat(t).includes(e.keyCode);
313
+ }
314
+ function st(e, t = 250) {
315
+ let n = !1, a;
316
+ return function() {
317
+ return n === !1 && (n = !0, setTimeout(() => {
318
+ n = !1;
319
+ }, t), a = e.apply(this, arguments)), a;
320
+ };
321
+ }
322
+ function ve(e, t, n, a) {
323
+ n.modifiers.stop === !0 && Ee(e);
324
+ const o = n.modifiers.color;
325
+ let d = n.modifiers.center;
326
+ d = d === !0 || a === !0;
327
+ const l = document.createElement("span"), r = document.createElement("span"), q = at(e), { left: k, top: v, width: _, height: s } = t.getBoundingClientRect(), f = Math.sqrt(_ * _ + s * s), g = f / 2, h = `${(_ - f) / 2}px`, c = d ? h : `${q.left - k - g}px`, p = `${(s - f) / 2}px`, w = d ? p : `${q.top - v - g}px`;
328
+ r.className = "q-ripple__inner", nt(r, {
329
+ height: `${f}px`,
330
+ width: `${f}px`,
331
+ transform: `translate3d(${c},${w},0) scale3d(.2,.2,1)`,
332
+ opacity: 0
333
+ }), l.className = `q-ripple${o ? " text-" + o : ""}`, l.setAttribute("dir", "ltr"), l.appendChild(r), t.appendChild(l);
334
+ const B = () => {
335
+ l.remove(), clearTimeout(P);
336
+ };
337
+ n.abort.push(B);
338
+ let P = setTimeout(() => {
339
+ r.classList.add("q-ripple__inner--enter"), r.style.transform = `translate3d(${h},${p},0) scale3d(1,1,1)`, r.style.opacity = 0.2, P = setTimeout(() => {
340
+ r.classList.remove("q-ripple__inner--enter"), r.classList.add("q-ripple__inner--leave"), r.style.opacity = 0, P = setTimeout(() => {
341
+ l.remove(), n.abort.splice(n.abort.indexOf(B), 1);
342
+ }, 275);
343
+ }, 250);
344
+ }, 50);
345
+ }
346
+ function ge(e, { modifiers: t, value: n, arg: a }) {
347
+ const o = Object.assign({}, e.cfg.ripple, t, n);
348
+ e.modifiers = {
349
+ early: o.early === !0,
350
+ stop: o.stop === !0,
351
+ center: o.center === !0,
352
+ color: o.color || a,
353
+ keyCodes: [].concat(o.keyCodes || 13)
354
+ };
355
+ }
356
+ const ut = Fe(
357
+ {
358
+ name: "ripple",
359
+ beforeMount(e, t) {
360
+ const n = t.instance.$.appContext.config.globalProperties.$q.config || {};
361
+ if (n.ripple === !1)
362
+ return;
363
+ const a = {
364
+ cfg: n,
365
+ enabled: t.value !== !1,
366
+ modifiers: {},
367
+ abort: [],
368
+ start(o) {
369
+ a.enabled === !0 && o.qSkipRipple !== !0 && o.type === (a.modifiers.early === !0 ? "pointerdown" : "click") && ve(o, e, a, o.qKeyEvent === !0);
370
+ },
371
+ keystart: st((o) => {
372
+ a.enabled === !0 && o.qSkipRipple !== !0 && ae(o, a.modifiers.keyCodes) === !0 && o.type === `key${a.modifiers.early === !0 ? "down" : "up"}` && ve(o, e, a, !0);
373
+ }, 300)
374
+ };
375
+ ge(a, t), e.__qripple = a, ot(a, "main", [
376
+ [e, "pointerdown", "start", "passive"],
377
+ [e, "click", "start", "passive"],
378
+ [e, "keydown", "keystart", "passive"],
379
+ [e, "keyup", "keystart", "passive"]
380
+ ]);
381
+ },
382
+ updated(e, t) {
383
+ if (t.oldValue !== t.value) {
384
+ const n = e.__qripple;
385
+ n !== void 0 && (n.enabled = t.value !== !1, n.enabled === !0 && Object(t.value) === t.value && ge(n, t));
386
+ }
387
+ },
388
+ beforeUnmount(e) {
389
+ const t = e.__qripple;
390
+ t !== void 0 && (t.abort.forEach((n) => {
391
+ n();
392
+ }), rt(t, "main"), delete e._qripple);
393
+ }
394
+ }
395
+ ), Re = {
396
+ left: "start",
397
+ center: "center",
398
+ right: "end",
399
+ between: "between",
400
+ around: "around",
401
+ evenly: "evenly",
402
+ stretch: "stretch"
403
+ }, ct = Object.keys(Re), dt = {
404
+ align: {
405
+ type: String,
406
+ validator: (e) => ct.includes(e)
407
+ }
408
+ };
409
+ function ft(e) {
410
+ return i(() => {
411
+ const t = e.align === void 0 ? e.vertical === !0 ? "stretch" : "left" : e.align;
412
+ return `${e.vertical === !0 ? "items" : "justify"}-${Re[t]}`;
413
+ });
414
+ }
415
+ function Xt(e) {
416
+ if (Object(e.$parent) === e.$parent)
417
+ return e.$parent;
418
+ let { parent: t } = e.$;
419
+ for (; Object(t) === t; ) {
420
+ if (Object(t.proxy) === t.proxy)
421
+ return t.proxy;
422
+ t = t.parent;
423
+ }
424
+ }
425
+ function vt(e) {
426
+ return e.appContext.config.globalProperties.$router !== void 0;
427
+ }
428
+ function Wt(e) {
429
+ return e.isUnmounted === !0 || e.isDeactivated === !0;
430
+ }
431
+ function pe(e) {
432
+ return e ? e.aliasOf ? e.aliasOf.path : e.path : "";
433
+ }
434
+ function me(e, t) {
435
+ return (e.aliasOf || e) === (t.aliasOf || t);
436
+ }
437
+ function gt(e, t) {
438
+ for (const n in t) {
439
+ const a = t[n], o = e[n];
440
+ if (typeof a == "string") {
441
+ if (a !== o)
442
+ return !1;
443
+ } else if (Array.isArray(o) === !1 || o.length !== a.length || a.some((d, l) => d !== o[l]))
444
+ return !1;
445
+ }
446
+ return !0;
447
+ }
448
+ function he(e, t) {
449
+ return Array.isArray(t) === !0 ? e.length === t.length && e.every((n, a) => n === t[a]) : e.length === 1 && e[0] === t;
450
+ }
451
+ function pt(e, t) {
452
+ return Array.isArray(e) === !0 ? he(e, t) : Array.isArray(t) === !0 ? he(t, e) : e === t;
453
+ }
454
+ function mt(e, t) {
455
+ if (Object.keys(e).length !== Object.keys(t).length)
456
+ return !1;
457
+ for (const n in e)
458
+ if (pt(e[n], t[n]) === !1)
459
+ return !1;
460
+ return !0;
461
+ }
462
+ const Me = {
463
+ // router-link
464
+ to: [String, Object],
465
+ replace: Boolean,
466
+ // regular <a> link
467
+ href: String,
468
+ target: String,
469
+ // state
470
+ disable: Boolean
471
+ }, Jt = {
472
+ ...Me,
473
+ // router-link
474
+ exact: Boolean,
475
+ activeClass: {
476
+ type: String,
477
+ default: "q-router-link--active"
478
+ },
479
+ exactActiveClass: {
480
+ type: String,
481
+ default: "q-router-link--exact-active"
482
+ }
483
+ };
484
+ function ht({ fallbackTag: e, useDisableForRouterLinkProps: t = !0 } = {}) {
485
+ const n = X(), { props: a, proxy: o, emit: d } = n, l = vt(n), r = i(() => a.disable !== !0 && a.href !== void 0), q = t === !0 ? i(
486
+ () => l === !0 && a.disable !== !0 && r.value !== !0 && a.to !== void 0 && a.to !== null && a.to !== ""
487
+ ) : i(
488
+ () => l === !0 && r.value !== !0 && a.to !== void 0 && a.to !== null && a.to !== ""
489
+ ), k = i(() => q.value === !0 ? w(a.to) : null), v = i(() => k.value !== null), _ = i(() => r.value === !0 || v.value === !0), s = i(() => a.type === "a" || _.value === !0 ? "a" : a.tag || e || "div"), f = i(() => r.value === !0 ? {
490
+ href: a.href,
491
+ target: a.target
492
+ } : v.value === !0 ? {
493
+ href: k.value.href,
494
+ target: a.target
495
+ } : {}), g = i(() => {
496
+ if (v.value === !1)
497
+ return -1;
498
+ const { matched: b } = k.value, { length: L } = b, R = b[L - 1];
499
+ if (R === void 0)
500
+ return -1;
501
+ const A = o.$route.matched;
502
+ if (A.length === 0)
503
+ return -1;
504
+ const O = A.findIndex(
505
+ me.bind(null, R)
506
+ );
507
+ if (O !== -1)
508
+ return O;
509
+ const U = pe(b[L - 2]);
510
+ return (
511
+ // we are dealing with nested routes
512
+ L > 1 && pe(R) === U && A[A.length - 1].path !== U ? A.findIndex(
513
+ me.bind(null, b[L - 2])
514
+ ) : O
515
+ );
516
+ }), h = i(
517
+ () => v.value === !0 && g.value !== -1 && gt(o.$route.params, k.value.params)
518
+ ), c = i(
519
+ () => h.value === !0 && g.value === o.$route.matched.length - 1 && mt(o.$route.params, k.value.params)
520
+ ), p = i(() => v.value === !0 ? c.value === !0 ? ` ${a.exactActiveClass} ${a.activeClass}` : a.exact === !0 ? "" : h.value === !0 ? ` ${a.activeClass}` : "" : "");
521
+ function w(b) {
522
+ try {
523
+ return o.$router.resolve(b);
524
+ } catch {
525
+ }
526
+ return null;
527
+ }
528
+ function B(b, { returnRouterError: L, to: R = a.to, replace: A = a.replace } = {}) {
529
+ if (a.disable === !0)
530
+ return b.preventDefault(), Promise.resolve(!1);
531
+ if (
532
+ // don't redirect with control keys;
533
+ // should match RouterLink from Vue Router
534
+ b.metaKey || b.altKey || b.ctrlKey || b.shiftKey || b.button !== void 0 && b.button !== 0 || a.target === "_blank"
535
+ )
536
+ return Promise.resolve(!1);
537
+ b.preventDefault();
538
+ const O = o.$router[A === !0 ? "replace" : "push"](R);
539
+ return L === !0 ? O : O.then(() => {
540
+ }).catch(() => {
541
+ });
542
+ }
543
+ function P(b) {
544
+ if (v.value === !0) {
545
+ const L = (R) => B(b, R);
546
+ d("click", b, L), b.defaultPrevented !== !0 && L();
547
+ } else
548
+ d("click", b);
549
+ }
550
+ return {
551
+ hasRouterLink: v,
552
+ hasHrefLink: r,
553
+ hasLink: _,
554
+ linkTag: s,
555
+ resolvedLink: k,
556
+ linkIsActive: h,
557
+ linkIsExactActive: c,
558
+ linkClass: p,
559
+ linkAttrs: f,
560
+ getLink: w,
561
+ navigateToRouterLink: B,
562
+ navigateOnClick: P
563
+ };
564
+ }
565
+ const be = {
566
+ none: 0,
567
+ xs: 4,
568
+ sm: 8,
569
+ md: 16,
570
+ lg: 24,
571
+ xl: 32
572
+ }, bt = {
573
+ xs: 8,
574
+ sm: 10,
575
+ md: 14,
576
+ lg: 20,
577
+ xl: 24
578
+ }, yt = ["button", "submit", "reset"], kt = /[^\s]\/[^\s]/, _t = ["flat", "outline", "push", "unelevated"];
579
+ function Pe(e, t) {
580
+ return e.flat === !0 ? "flat" : e.outline === !0 ? "outline" : e.push === !0 ? "push" : e.unelevated === !0 ? "unelevated" : t;
581
+ }
582
+ function Zt(e) {
583
+ const t = Pe(e);
584
+ return t !== void 0 ? { [t]: !0 } : {};
585
+ }
586
+ const $t = {
587
+ ...re,
588
+ ...Me,
589
+ type: {
590
+ type: String,
591
+ default: "button"
592
+ },
593
+ label: [Number, String],
594
+ icon: String,
595
+ iconRight: String,
596
+ ..._t.reduce(
597
+ (e, t) => (e[t] = Boolean) && e,
598
+ {}
599
+ ),
600
+ square: Boolean,
601
+ rounded: Boolean,
602
+ glossy: Boolean,
603
+ size: String,
604
+ fab: Boolean,
605
+ fabMini: Boolean,
606
+ padding: String,
607
+ color: String,
608
+ textColor: String,
609
+ noCaps: Boolean,
610
+ noWrap: Boolean,
611
+ dense: Boolean,
612
+ tabindex: [Number, String],
613
+ ripple: {
614
+ type: [Boolean, Object],
615
+ default: !0
616
+ },
617
+ align: {
618
+ ...dt.align,
619
+ default: "center"
620
+ },
621
+ stack: Boolean,
622
+ stretch: Boolean,
623
+ loading: {
624
+ type: Boolean,
625
+ default: null
626
+ },
627
+ disable: Boolean
628
+ }, qt = {
629
+ ...$t,
630
+ round: Boolean
631
+ };
632
+ function St(e) {
633
+ const t = ie(e, bt), n = ft(e), { hasRouterLink: a, hasLink: o, linkTag: d, linkAttrs: l, navigateOnClick: r } = ht({
634
+ fallbackTag: "button"
635
+ }), q = i(() => {
636
+ const c = e.fab === !1 && e.fabMini === !1 ? t.value : {};
637
+ return e.padding !== void 0 ? Object.assign({}, c, {
638
+ padding: e.padding.split(/\s+/).map((p) => p in be ? be[p] + "px" : p).join(" "),
639
+ minWidth: "0",
640
+ minHeight: "0"
641
+ }) : c;
642
+ }), k = i(
643
+ () => e.rounded === !0 || e.fab === !0 || e.fabMini === !0
644
+ ), v = i(
645
+ () => e.disable !== !0 && e.loading !== !0
646
+ ), _ = i(() => v.value === !0 ? e.tabindex || 0 : -1), s = i(() => Pe(e, "standard")), f = i(() => {
647
+ const c = { tabindex: _.value };
648
+ return o.value === !0 ? Object.assign(c, l.value) : yt.includes(e.type) === !0 && (c.type = e.type), d.value === "a" ? (e.disable === !0 ? c["aria-disabled"] = "true" : c.href === void 0 && (c.role = "button"), a.value !== !0 && kt.test(e.type) === !0 && (c.type = e.type)) : e.disable === !0 && (c.disabled = "", c["aria-disabled"] = "true"), e.loading === !0 && e.percentage !== void 0 && Object.assign(c, {
649
+ role: "progressbar",
650
+ "aria-valuemin": 0,
651
+ "aria-valuemax": 100,
652
+ "aria-valuenow": e.percentage
653
+ }), c;
654
+ }), g = i(() => {
655
+ let c;
656
+ e.color !== void 0 ? e.flat === !0 || e.outline === !0 ? c = `text-${e.textColor || e.color}` : c = `bg-${e.color} text-${e.textColor || "white"}` : e.textColor && (c = `text-${e.textColor}`);
657
+ const p = e.round === !0 ? "round" : `rectangle${k.value === !0 ? " q-btn--rounded" : e.square === !0 ? " q-btn--square" : ""}`;
658
+ return `q-btn--${s.value} q-btn--${p}` + (c !== void 0 ? " " + c : "") + (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" : "");
659
+ }), h = i(
660
+ () => n.value + (e.stack === !0 ? " column" : " row") + (e.noWrap === !0 ? " no-wrap text-no-wrap" : "") + (e.loading === !0 ? " q-btn__content--hidden" : "")
661
+ );
662
+ return {
663
+ classes: g,
664
+ style: q,
665
+ innerClasses: h,
666
+ attributes: f,
667
+ hasLink: o,
668
+ linkTag: d,
669
+ navigateOnClick: r,
670
+ isActionable: v
671
+ };
672
+ }
673
+ const { passiveCapture: E } = J;
674
+ let x = null, j = null, I = null;
675
+ const wt = W({
676
+ name: "QBtn",
677
+ props: {
678
+ ...qt,
679
+ percentage: Number,
680
+ darkPercentage: Boolean,
681
+ onTouchstart: [Function, Array]
682
+ },
683
+ emits: ["click", "keydown", "mousedown", "keyup"],
684
+ setup(e, { slots: t, emit: n }) {
685
+ const { proxy: a } = X(), {
686
+ classes: o,
687
+ style: d,
688
+ innerClasses: l,
689
+ attributes: r,
690
+ hasLink: q,
691
+ linkTag: k,
692
+ navigateOnClick: v,
693
+ isActionable: _
694
+ } = St(e), s = te(null), f = te(null);
695
+ let g = null, h, c = null;
696
+ const p = i(
697
+ () => e.label !== void 0 && e.label !== null && e.label !== ""
698
+ ), w = i(() => e.disable === !0 || e.ripple === !1 ? !1 : {
699
+ keyCodes: q.value === !0 ? [13, 32] : [13],
700
+ ...e.ripple === !0 ? {} : e.ripple
701
+ }), B = i(() => ({ center: e.round })), P = i(() => {
702
+ const u = Math.max(0, Math.min(100, e.percentage));
703
+ return u > 0 ? { transition: "transform 0.6s", transform: `translateX(${u - 100}%)` } : {};
704
+ }), b = i(() => {
705
+ if (e.loading === !0)
706
+ return {
707
+ onMousedown: K,
708
+ onTouchstart: K,
709
+ onClick: K,
710
+ onKeydown: K,
711
+ onKeyup: K
712
+ };
713
+ if (_.value === !0) {
714
+ const u = {
715
+ onClick: R,
716
+ onKeydown: A,
717
+ onMousedown: U
718
+ };
719
+ if (a.$q.platform.has.touch === !0) {
720
+ const y = e.onTouchstart !== void 0 ? "" : "Passive";
721
+ u[`onTouchstart${y}`] = O;
722
+ }
723
+ return u;
724
+ }
725
+ return {
726
+ // needed; especially for disabled <a> tags
727
+ onClick: D
728
+ };
729
+ }), L = i(() => ({
730
+ ref: s,
731
+ class: "q-btn q-btn-item non-selectable no-outline " + o.value,
732
+ style: d.value,
733
+ ...r.value,
734
+ ...b.value
735
+ }));
736
+ function R(u) {
737
+ if (s.value !== null) {
738
+ if (u !== void 0) {
739
+ if (u.defaultPrevented === !0)
740
+ return;
741
+ const y = document.activeElement;
742
+ if (e.type === "submit" && y !== document.body && s.value.contains(y) === !1 && y.contains(s.value) === !1) {
743
+ s.value.focus();
744
+ const H = () => {
745
+ document.removeEventListener("keydown", D, !0), document.removeEventListener("keyup", H, E), s.value !== null && s.value.removeEventListener("blur", H, E);
746
+ };
747
+ document.addEventListener("keydown", D, !0), document.addEventListener("keyup", H, E), s.value.addEventListener("blur", H, E);
748
+ }
749
+ }
750
+ v(u);
751
+ }
752
+ }
753
+ function A(u) {
754
+ s.value !== null && (n("keydown", u), ae(u, [13, 32]) === !0 && j !== s.value && (j !== null && N(), u.defaultPrevented !== !0 && (s.value.focus(), j = s.value, s.value.classList.add("q-btn--active"), document.addEventListener("keyup", M, !0), s.value.addEventListener("blur", M, E)), D(u)));
755
+ }
756
+ function O(u) {
757
+ s.value !== null && (n("touchstart", u), u.defaultPrevented !== !0 && (x !== s.value && (x !== null && N(), x = s.value, g = u.target, g.addEventListener("touchcancel", M, E), g.addEventListener("touchend", M, E)), h = !0, c !== null && clearTimeout(c), c = setTimeout(() => {
758
+ c = null, h = !1;
759
+ }, 200)));
760
+ }
761
+ function U(u) {
762
+ s.value !== null && (u.qSkipRipple = h === !0, n("mousedown", u), u.defaultPrevented !== !0 && I !== s.value && (I !== null && N(), I = s.value, s.value.classList.add("q-btn--active"), document.addEventListener("mouseup", M, E)));
763
+ }
764
+ function M(u) {
765
+ if (s.value !== null && !(u !== void 0 && u.type === "blur" && document.activeElement === s.value)) {
766
+ if (u !== void 0 && u.type === "keyup") {
767
+ if (j === s.value && ae(u, [13, 32]) === !0) {
768
+ const y = new MouseEvent("click", u);
769
+ y.qKeyEvent = !0, u.defaultPrevented === !0 && lt(y), u.cancelBubble === !0 && Ee(y), s.value.dispatchEvent(y), D(u), u.qKeyEvent = !0;
770
+ }
771
+ n("keyup", u);
772
+ }
773
+ N();
774
+ }
775
+ }
776
+ function N(u) {
777
+ const y = f.value;
778
+ u !== !0 && (x === s.value || I === s.value) && y !== null && y !== document.activeElement && (y.setAttribute("tabindex", -1), y.focus()), x === s.value && (g !== null && (g.removeEventListener("touchcancel", M, E), g.removeEventListener("touchend", M, E)), x = g = null), I === s.value && (document.removeEventListener("mouseup", M, E), I = null), j === s.value && (document.removeEventListener("keyup", M, !0), s.value !== null && s.value.removeEventListener("blur", M, E), j = null), s.value !== null && s.value.classList.remove("q-btn--active");
779
+ }
780
+ function K(u) {
781
+ D(u), u.qSkipRipple = !0;
782
+ }
783
+ return Ae(() => {
784
+ N(!0);
785
+ }), Object.assign(a, {
786
+ click: (u) => {
787
+ _.value === !0 && R(u);
788
+ }
789
+ }), () => {
790
+ let u = [];
791
+ e.icon !== void 0 && u.push(
792
+ m(fe, {
793
+ name: e.icon,
794
+ left: e.stack !== !0 && p.value === !0,
795
+ role: "img"
796
+ })
797
+ ), p.value === !0 && u.push(
798
+ m("span", { class: "block" }, [e.label])
799
+ ), u = V(t.default, u), e.iconRight !== void 0 && e.round === !1 && u.push(
800
+ m(fe, {
801
+ name: e.iconRight,
802
+ right: e.stack !== !0 && p.value === !0,
803
+ role: "img"
804
+ })
805
+ );
806
+ const y = [
807
+ m("span", {
808
+ class: "q-focus-helper",
809
+ ref: f
810
+ })
811
+ ];
812
+ return e.loading === !0 && e.percentage !== void 0 && y.push(
813
+ m("span", {
814
+ class: "q-btn__progress absolute-full overflow-hidden" + (e.darkPercentage === !0 ? " q-btn__progress--dark" : "")
815
+ }, [
816
+ m("span", {
817
+ class: "q-btn__progress-indicator fit block",
818
+ style: P.value
819
+ })
820
+ ])
821
+ ), y.push(
822
+ m("span", {
823
+ class: "q-btn__content text-center col items-center q-anchor--skip " + l.value
824
+ }, u)
825
+ ), e.loading !== null && y.push(
826
+ m(ze, {
827
+ name: "q-transition--fade"
828
+ }, () => e.loading === !0 ? [
829
+ m("span", {
830
+ key: "loading",
831
+ class: "absolute-full flex flex-center"
832
+ }, t.loading !== void 0 ? t.loading() : [m(tt)])
833
+ ] : null)
834
+ ), le(
835
+ m(
836
+ k.value,
837
+ L.value,
838
+ y
839
+ ),
840
+ [[
841
+ ut,
842
+ w.value,
843
+ void 0,
844
+ B.value
845
+ ]]
846
+ );
847
+ };
848
+ }
849
+ }), Bt = /* @__PURE__ */ G({
850
+ __name: "AppButton",
851
+ props: {
852
+ size: { default: $.MD },
853
+ transparent: { type: Boolean },
854
+ flat: { type: Boolean },
855
+ rounded: { type: Boolean },
856
+ color: { default: we.PRIMARY },
857
+ iconLeft: {},
858
+ iconRight: {},
859
+ iconMiddle: {},
860
+ disabled: { type: Boolean },
861
+ loading: { type: Boolean },
862
+ to: {},
863
+ href: {},
864
+ target: {},
865
+ submit: { type: Boolean },
866
+ ariaLabel: {},
867
+ label: {},
868
+ download: {}
869
+ },
870
+ emits: ["click"],
871
+ setup(e) {
872
+ const t = e, n = i(() => [
873
+ "app-btn",
874
+ {
875
+ "app-btn_default": !t.transparent && !t.flat,
876
+ "app-btn_trans": t.transparent,
877
+ "app-btn_flat": t.flat,
878
+ "app-btn_rounded": t.rounded,
879
+ "app-btn_sm": t.size === $.SM,
880
+ "app-btn_md": t.size === $.MD,
881
+ "app-btn_lg": t.size === $.LG,
882
+ "app-btn_icon-left": t.iconLeft,
883
+ "app-btn_icon-right": t.iconRight,
884
+ "app-btn_icon-middle": t.iconMiddle
885
+ },
886
+ `app-btn_${t.color}`
887
+ ]);
888
+ return (a, o) => (S(), _e(Q(wt), {
889
+ "no-caps": "",
890
+ unelevated: "",
891
+ class: z(n.value),
892
+ padding: Q(Ke)[a.size || Q($).MD],
893
+ loading: a.loading,
894
+ disable: a.disabled || void 0,
895
+ to: a.to,
896
+ href: a.href,
897
+ target: a.target,
898
+ type: a.submit ? "submit" : void 0,
899
+ "aria-label": a.ariaLabel,
900
+ download: a.download,
901
+ onClick: o[0] || (o[0] = (d) => a.$emit("click", d))
902
+ }, {
903
+ default: Te(() => [
904
+ a.iconLeft || a.iconMiddle ? (S(), C("i", {
905
+ key: 0,
906
+ class: z([
907
+ "icon-kl",
908
+ a.iconLeft ? "icon-kl_left" : "icon-kl_middle",
909
+ `icon-kl-${a.iconLeft || a.iconMiddle}`,
910
+ a.transparent || a.flat ? `text-${a.color}` : "text-secondary"
911
+ ])
912
+ }, null, 2)) : T("", !0),
913
+ $e(a.$slots, "default", {}, void 0, !0),
914
+ a.label ? (S(), C(qe, { key: 1 }, [
915
+ Oe(Y(a.label), 1)
916
+ ], 64)) : T("", !0),
917
+ a.iconRight ? (S(), C("i", {
918
+ key: 2,
919
+ class: z([
920
+ "icon-kl",
921
+ "icon-kl_right",
922
+ `icon-kl-${a.iconRight}`,
923
+ a.transparent ? `text-${a.color}` : "text-secondary"
924
+ ])
925
+ }, null, 2)) : T("", !0)
926
+ ]),
927
+ _: 3
928
+ }, 8, ["class", "padding", "loading", "disable", "to", "href", "target", "type", "aria-label", "download"]));
929
+ }
930
+ }), Z = (e, t) => {
931
+ const n = e.__vccOpts || e;
932
+ for (const [a, o] of t)
933
+ n[a] = o;
934
+ return n;
935
+ }, en = /* @__PURE__ */ Z(Bt, [["__scopeId", "data-v-99788ad1"]]), Ct = {
936
+ key: 0,
937
+ class: "app-toggle__label app-toggle__label_left"
938
+ }, Lt = { class: "app-toggle__container" }, Et = ["checked", "disabled"], Rt = { class: "app-toggle__thumb" }, Mt = {
939
+ key: 1,
940
+ class: "app-toggle__label"
941
+ }, Pt = /* @__PURE__ */ G({
942
+ __name: "AppToggle",
943
+ props: {
944
+ modelValue: { type: Boolean },
945
+ size: { default: $.MD },
946
+ label: {},
947
+ disabled: { type: Boolean },
948
+ color: { default: we.PRIMARY },
949
+ iconColor: {},
950
+ icon: {},
951
+ iconActive: {},
952
+ labelLeft: { type: Boolean }
953
+ },
954
+ emits: ["update:modelValue"],
955
+ setup(e, { emit: t }) {
956
+ const n = e, a = t, o = i({
957
+ get: () => n.modelValue,
958
+ set: (l) => {
959
+ a("update:modelValue", l);
960
+ }
961
+ }), d = i(() => [
962
+ "app-toggle",
963
+ {
964
+ "app-toggle_sm": n.size === $.SM,
965
+ "app-toggle_md": n.size === $.MD,
966
+ "app-toggle_lg": n.size === $.LG,
967
+ "app-toggle_active": o.value,
968
+ "app-toggle_disabled": n.disabled
969
+ },
970
+ `app-toggle_${n.color}`
971
+ ]);
972
+ return (l, r) => (S(), C("div", {
973
+ class: z(d.value)
974
+ }, [
975
+ l.label && l.labelLeft ? (S(), C("span", Ct, Y(l.label), 1)) : T("", !0),
976
+ F("label", Lt, [
977
+ F("input", {
978
+ type: "checkbox",
979
+ checked: o.value,
980
+ onChange: r[0] || (r[0] = (q) => o.value = !o.value),
981
+ disabled: l.disabled,
982
+ class: "app-toggle__input"
983
+ }, null, 40, Et),
984
+ F("span", {
985
+ class: z(["app-toggle__slider", o.value ? `bg-${l.color}` : ""])
986
+ }, [
987
+ F("span", Rt, [
988
+ l.icon && !l.modelValue ? (S(), C("i", {
989
+ key: 0,
990
+ class: z(["icon-kl", `icon-kl-${l.icon}`, "app-toggle__icon"])
991
+ }, null, 2)) : T("", !0),
992
+ l.modelValue && (l.iconActive || l.icon) ? (S(), C("i", {
993
+ key: 1,
994
+ class: z([
995
+ "icon-kl",
996
+ `icon-kl-${l.iconActive || l.icon}`,
997
+ "app-toggle__icon",
998
+ o.value ? `text-${l.iconColor}` : ""
999
+ ])
1000
+ }, null, 2)) : T("", !0)
1001
+ ])
1002
+ ], 2),
1003
+ $e(l.$slots, "default", {}, void 0, !0)
1004
+ ]),
1005
+ l.label && !l.labelLeft ? (S(), C("span", Mt, Y(l.label), 1)) : T("", !0)
1006
+ ], 2));
1007
+ }
1008
+ }), tn = /* @__PURE__ */ Z(Pt, [["__scopeId", "data-v-e0e56123"]]), At = /* @__PURE__ */ G({
1009
+ __name: "AppIcon",
1010
+ props: {
1011
+ name: {},
1012
+ size: {},
1013
+ color: {}
1014
+ },
1015
+ setup(e) {
1016
+ return (t, n) => (S(), C("i", {
1017
+ class: z(["icon-kl", `icon-kl-${t.name}`, t.color ? `text-${t.color}` : ""]),
1018
+ style: Se(t.size ? `font-size: ${t.size}` : void 0)
1019
+ }, null, 6));
1020
+ }
1021
+ }), nn = /* @__PURE__ */ Z(At, [["__scopeId", "data-v-941765ee"]]), zt = {
1022
+ dark: {
1023
+ type: Boolean,
1024
+ default: null
1025
+ }
1026
+ };
1027
+ function Tt(e, t) {
1028
+ return i(() => e.dark === null ? t.dark.isActive : e.dark);
1029
+ }
1030
+ const Ot = {
1031
+ xs: 2,
1032
+ sm: 4,
1033
+ md: 6,
1034
+ lg: 10,
1035
+ xl: 14
1036
+ };
1037
+ function ye(e, t, n) {
1038
+ return {
1039
+ transform: t === !0 ? `translateX(${n.lang.rtl === !0 ? "-" : ""}100%) scale3d(${-e},1,1)` : `scale3d(${e},1,1)`
1040
+ };
1041
+ }
1042
+ const Dt = W({
1043
+ name: "QLinearProgress",
1044
+ props: {
1045
+ ...zt,
1046
+ ...re,
1047
+ value: {
1048
+ type: Number,
1049
+ default: 0
1050
+ },
1051
+ buffer: Number,
1052
+ color: String,
1053
+ trackColor: String,
1054
+ reverse: Boolean,
1055
+ stripe: Boolean,
1056
+ indeterminate: Boolean,
1057
+ query: Boolean,
1058
+ rounded: Boolean,
1059
+ animationSpeed: {
1060
+ type: [String, Number],
1061
+ default: 2100
1062
+ },
1063
+ instantFeedback: Boolean
1064
+ },
1065
+ setup(e, { slots: t }) {
1066
+ const { proxy: n } = X(), a = Tt(e, n.$q), o = ie(e, Ot), d = i(() => e.indeterminate === !0 || e.query === !0), l = i(() => e.reverse !== e.query), r = i(() => ({
1067
+ ...o.value !== null ? o.value : {},
1068
+ "--q-linear-progress-speed": `${e.animationSpeed}ms`
1069
+ })), q = i(
1070
+ () => "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" : "")
1071
+ ), k = i(() => ye(e.buffer !== void 0 ? e.buffer : 1, l.value, n.$q)), v = i(() => `with${e.instantFeedback === !0 ? "out" : ""}-transition`), _ = i(
1072
+ () => `q-linear-progress__track absolute-full q-linear-progress__track--${v.value} q-linear-progress__track--${a.value === !0 ? "dark" : "light"}` + (e.trackColor !== void 0 ? ` bg-${e.trackColor}` : "")
1073
+ ), s = i(() => ye(d.value === !0 ? 1 : e.value, l.value, n.$q)), f = i(
1074
+ () => `q-linear-progress__model absolute-full q-linear-progress__model--${v.value} q-linear-progress__model--${d.value === !0 ? "in" : ""}determinate`
1075
+ ), g = i(() => ({ width: `${e.value * 100}%` })), h = i(
1076
+ () => `q-linear-progress__stripe absolute-${e.reverse === !0 ? "right" : "left"} q-linear-progress__stripe--${v.value}`
1077
+ );
1078
+ return () => {
1079
+ const c = [
1080
+ m("div", {
1081
+ class: _.value,
1082
+ style: k.value
1083
+ }),
1084
+ m("div", {
1085
+ class: f.value,
1086
+ style: s.value
1087
+ })
1088
+ ];
1089
+ return e.stripe === !0 && d.value === !1 && c.push(
1090
+ m("div", {
1091
+ class: h.value,
1092
+ style: g.value
1093
+ })
1094
+ ), m("div", {
1095
+ class: q.value,
1096
+ style: r.value,
1097
+ role: "progressbar",
1098
+ "aria-valuemin": 0,
1099
+ "aria-valuemax": 1,
1100
+ "aria-valuenow": e.indeterminate === !0 ? void 0 : e.value
1101
+ }, V(t.default, c));
1102
+ };
1103
+ }
1104
+ }), xt = {
1105
+ key: 0,
1106
+ class: "code-field__label"
1107
+ }, jt = { class: "code-field__inputs" }, It = ["onUpdate:modelValue", "disabled", "onInput", "onKeydown", "onPaste"], Vt = /* @__PURE__ */ G({
1108
+ __name: "AppCodeInput",
1109
+ props: {
1110
+ length: { default: 5 },
1111
+ size: { default: $.MD },
1112
+ label: {},
1113
+ disabled: { type: Boolean },
1114
+ loading: { type: Boolean },
1115
+ autofocus: { type: Boolean },
1116
+ color: {}
1117
+ },
1118
+ emits: ["update:modelValue", "completed"],
1119
+ setup(e, { emit: t }) {
1120
+ const n = e, a = t, o = n.length, d = te(Array(o).fill("")), l = De("inputRefs"), r = i(() => [
1121
+ "code-field",
1122
+ {
1123
+ "code-field_sm": n.size === $.SM,
1124
+ "code-field_md": n.size === $.MD,
1125
+ "code-field_lg": n.size === $.LG,
1126
+ "code-field_disabled": n.disabled || n.loading
1127
+ },
1128
+ `code-field_${n.color}`
1129
+ ]), q = i(() => {
1130
+ let f = "";
1131
+ return n.size == $.SM && (f += `width: ${n.length * 26 + (n.length - 1) * 5}px`), n.size == $.MD && (f += `width: ${n.length * 32 + (n.length - 1) * 8}px`), n.size == $.LG && (f += `width: ${n.length * 44 + (n.length - 1) * 10}px`), f;
1132
+ }), k = (f, g) => {
1133
+ var p;
1134
+ const c = f.target.value;
1135
+ if (c.length === 1)
1136
+ d.value[g] = c, g < o - 1 && l.value && ((p = l.value[g + 1]) == null || p.focus());
1137
+ else if (c.length > 1) {
1138
+ const w = c.slice(0, o - g).split("");
1139
+ w.forEach((B, P) => {
1140
+ d.value[g + P] = B;
1141
+ }), se(() => {
1142
+ var B;
1143
+ l.value && ((B = l.value[Math.min(g + w.length, o - 1)]) == null || B.focus());
1144
+ });
1145
+ }
1146
+ }, v = (f, g) => {
1147
+ var h;
1148
+ d.value[g] === "" && l.value && g > 0 && l.value[g - 1] && ((h = l.value[g - 1]) == null || h.focus());
1149
+ }, _ = (f, g) => {
1150
+ var p;
1151
+ f.preventDefault();
1152
+ const h = ((p = f.clipboardData) == null ? void 0 : p.getData("text")) ?? "";
1153
+ if (!h) return;
1154
+ const c = h.slice(0, o - g).split("");
1155
+ c.forEach((w, B) => {
1156
+ d.value[g + B] = w;
1157
+ }), se(() => {
1158
+ var w;
1159
+ l.value && ((w = l.value[Math.min(g + c.length, o - 1)]) == null || w.focus());
1160
+ });
1161
+ };
1162
+ xe(d.value, (f) => {
1163
+ const g = f.join("");
1164
+ s(g);
1165
+ });
1166
+ const s = (f) => {
1167
+ a("update:modelValue", f), f.length === n.length && !f.includes(" ") && a("completed", f);
1168
+ };
1169
+ return je(() => {
1170
+ n.autofocus && l.value && l.value[0] && l.value[0].focus();
1171
+ }), (f, g) => (S(), C("div", {
1172
+ class: z(r.value),
1173
+ style: Se(q.value)
1174
+ }, [
1175
+ f.label ? (S(), C("label", xt, Y(f.label), 1)) : T("", !0),
1176
+ F("div", jt, [
1177
+ (S(!0), C(qe, null, Ie(Q(o), (h, c) => le((S(), C("input", {
1178
+ key: c,
1179
+ "onUpdate:modelValue": (p) => d.value[c] = p,
1180
+ ref_for: !0,
1181
+ ref_key: "inputRefs",
1182
+ ref: l,
1183
+ type: "text",
1184
+ maxlength: "1",
1185
+ class: "code-field__input",
1186
+ disabled: f.disabled || f.loading,
1187
+ onInput: (p) => k(p, c),
1188
+ onKeydown: Ve((p) => v(p, c), ["backspace"]),
1189
+ onPaste: (p) => _(p, c)
1190
+ }, null, 40, It)), [
1191
+ [Ne, d.value[c]]
1192
+ ])), 128))
1193
+ ]),
1194
+ f.loading ? (S(), _e(Dt, {
1195
+ key: 1,
1196
+ indeterminate: "",
1197
+ rounded: "",
1198
+ color: f.color,
1199
+ class: "code-field__loading"
1200
+ }, null, 8, ["color"])) : T("", !0)
1201
+ ], 6));
1202
+ }
1203
+ }), an = /* @__PURE__ */ Z(Vt, [["__scopeId", "data-v-2d51306a"]]), ln = oe(
1204
+ () => import("./AppButtonCopy-pK8pl5t8.js")
1205
+ ), on = oe(
1206
+ () => import("./AppSelect-CnQd1IAO.js")
1207
+ ), rn = oe(
1208
+ () => import("./DropdownButton-BHzaQB4O.js")
1209
+ );
1210
+ export {
1211
+ en as A,
1212
+ rt as B,
1213
+ we as C,
1214
+ vt as D,
1215
+ Xt as E,
1216
+ Wt as F,
1217
+ Gt as G,
1218
+ nt as H,
1219
+ at as I,
1220
+ rn as J,
1221
+ ln as K,
1222
+ on as L,
1223
+ an as M,
1224
+ tn as N,
1225
+ nn as O,
1226
+ fe as Q,
1227
+ ut as R,
1228
+ $ as S,
1229
+ Z as _,
1230
+ ie as a,
1231
+ V as b,
1232
+ W as c,
1233
+ re as d,
1234
+ zt as e,
1235
+ ht as f,
1236
+ Kt as g,
1237
+ Qe as h,
1238
+ ae as i,
1239
+ Jt as j,
1240
+ tt as k,
1241
+ Qt as l,
1242
+ Ft as m,
1243
+ J as n,
1244
+ Yt as o,
1245
+ lt as p,
1246
+ Ut as q,
1247
+ Ht as r,
1248
+ D as s,
1249
+ Ee as t,
1250
+ Tt as u,
1251
+ it as v,
1252
+ Zt as w,
1253
+ $t as x,
1254
+ wt as y,
1255
+ ot as z
1256
+ };