@validol4ik/uikit 0.4.11 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1264 @@
1
+ import { computed as s, markRaw as ke, defineComponent as Q, h as m, withDirectives as le, getCurrentInstance as W, unref as H, ref as Y, onBeforeUnmount as Ae, Transition as ze, openBlock as B, createBlock as _e, normalizeClass as z, withCtx as Te, createElementBlock as L, createCommentVNode as T, renderSlot as $e, Fragment as qe, createTextVNode as Oe, toDisplayString as X, createElementVNode as F, normalizeStyle as Se, watch as De, onMounted as xe, renderList as je, nextTick as se, withKeys as Ie, vModelText as Ve, 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
+ }, Ne = {
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 s(() => e.size !== void 0 ? { fontSize: e.size in t ? `${t[e.size]}px` : e.size } : null);
24
+ }
25
+ function J(e) {
26
+ return ke(Q(e));
27
+ }
28
+ function Ke(e) {
29
+ return ke(e);
30
+ }
31
+ function Fe(e, t) {
32
+ return e !== void 0 && e() || t;
33
+ }
34
+ function Nt(e, t) {
35
+ if (e !== void 0) {
36
+ const a = e();
37
+ if (a != null)
38
+ return a.slice();
39
+ }
40
+ return t;
41
+ }
42
+ function V(e, t) {
43
+ return e !== void 0 ? t.concat(e()) : t;
44
+ }
45
+ function Kt(e, t) {
46
+ return e === void 0 ? t : t !== void 0 ? t.concat(e()) : e();
47
+ }
48
+ function Ft(e, t, a, n, o, d) {
49
+ t.key = n + o;
50
+ const l = m(e, t, a);
51
+ return o === !0 ? le(l, d()) : l;
52
+ }
53
+ const ue = "0 0 24 24", ce = (e) => e, te = (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": te,
60
+ "ion-ios": te,
61
+ "ion-logo": te,
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
+ }, Qe = new RegExp("^(" + Object.keys(Be).join("|") + ")"), Ge = new RegExp("^(" + Object.keys(Ce).join("|") + ")"), de = new RegExp("^(" + Object.keys(Le).join("|") + ")"), Ue = /^[Mm]\s?[-+]?\.?\d/, He = /^img:/, Ye = /^svguse:/, Xe = /^ion-/, We = /^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /, fe = J({
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: a } } = W(), n = ie(e), o = s(
88
+ () => "q-icon" + (e.left === !0 ? " on-left" : "") + (e.right === !0 ? " on-right" : "") + (e.color !== void 0 ? ` text-${e.color}` : "")
89
+ ), d = s(() => {
90
+ let l, r = e.name;
91
+ if (r === "none" || !r)
92
+ return { none: !0 };
93
+ if (a.iconMapFn !== null) {
94
+ const f = a.iconMapFn(r);
95
+ if (f !== void 0)
96
+ if (f.icon !== void 0) {
97
+ if (r = f.icon, r === "none" || !r)
98
+ return { none: !0 };
99
+ } else
100
+ return {
101
+ cls: f.cls,
102
+ content: f.content !== void 0 ? f.content : " "
103
+ };
104
+ }
105
+ if (Ue.test(r) === !0) {
106
+ const [f, k = ue] = r.split("|");
107
+ return {
108
+ svg: !0,
109
+ viewBox: k,
110
+ nodes: f.split("&&").map((u) => {
111
+ const [q, i, g] = u.split("@@");
112
+ return m("path", { style: i, d: q, transform: g });
113
+ })
114
+ };
115
+ }
116
+ if (He.test(r) === !0)
117
+ return {
118
+ img: !0,
119
+ src: r.substring(4)
120
+ };
121
+ if (Ye.test(r) === !0) {
122
+ const [f, k = ue] = r.split("|");
123
+ return {
124
+ svguse: !0,
125
+ src: f.substring(7),
126
+ viewBox: k
127
+ };
128
+ }
129
+ let S = " ";
130
+ const y = r.match(Qe);
131
+ if (y !== null)
132
+ l = Be[y[1]](r);
133
+ else if (We.test(r) === !0)
134
+ l = r;
135
+ else if (Xe.test(r) === !0)
136
+ l = `ionicons ion-${a.platform.is.ios === !0 ? "ios" : "md"}${r.substring(3)}`;
137
+ else if (de.test(r) === !0) {
138
+ l = "notranslate material-symbols";
139
+ const f = r.match(de);
140
+ f !== null && (r = r.substring(6), l += Le[f[1]]), S = r;
141
+ } else {
142
+ l = "notranslate material-icons";
143
+ const f = r.match(Ge);
144
+ f !== null && (r = r.substring(2), l += Ce[f[1]]), S = r;
145
+ }
146
+ return {
147
+ cls: l,
148
+ content: S
149
+ };
150
+ });
151
+ return () => {
152
+ const l = {
153
+ class: o.value,
154
+ style: n.value,
155
+ "aria-hidden": "true",
156
+ role: "presentation"
157
+ };
158
+ return d.value.none === !0 ? m(e.tag, l, Fe(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
+ }), Je = {
176
+ size: {
177
+ type: [String, Number],
178
+ default: "1em"
179
+ },
180
+ color: String
181
+ };
182
+ function Ze(e) {
183
+ return {
184
+ cSize: s(() => e.size in ne ? `${ne[e.size]}px` : e.size),
185
+ classes: s(
186
+ () => "q-spinner" + (e.color ? ` text-${e.color}` : "")
187
+ )
188
+ };
189
+ }
190
+ const et = J({
191
+ name: "QSpinner",
192
+ props: {
193
+ ...Je,
194
+ thickness: {
195
+ type: Number,
196
+ default: 5
197
+ }
198
+ },
199
+ setup(e) {
200
+ const { cSize: t, classes: a } = Ze(e);
201
+ return () => m("svg", {
202
+ class: a.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 tt(e, t) {
221
+ const a = e.style;
222
+ for (const n in t)
223
+ a[n] = t[n];
224
+ }
225
+ function Qt(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 = H(e);
235
+ if (t)
236
+ return t.$el || t;
237
+ }
238
+ function Gt(e, t) {
239
+ if (e == null || e.contains(t) === !0)
240
+ return !0;
241
+ for (let a = e.nextElementSibling; a !== null; a = a.nextElementSibling)
242
+ if (a.contains(t))
243
+ return !0;
244
+ return !1;
245
+ }
246
+ const Z = {
247
+ hasPassive: !1,
248
+ passiveCapture: !0,
249
+ notPassiveCapture: !0
250
+ };
251
+ try {
252
+ const e = Object.defineProperty({}, "passive", {
253
+ get() {
254
+ Object.assign(Z, {
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 Ut() {
267
+ }
268
+ function nt(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 Ht(e) {
275
+ if (e.path)
276
+ return e.path;
277
+ if (e.composedPath)
278
+ return e.composedPath();
279
+ const t = [];
280
+ let a = e.target;
281
+ for (; a; ) {
282
+ if (t.push(a), a.tagName === "HTML")
283
+ return t.push(document), t.push(window), t;
284
+ a = a.parentElement;
285
+ }
286
+ }
287
+ function Ee(e) {
288
+ e.stopPropagation();
289
+ }
290
+ function at(e) {
291
+ e.cancelable !== !1 && e.preventDefault();
292
+ }
293
+ function D(e) {
294
+ e.cancelable !== !1 && e.preventDefault(), e.stopPropagation();
295
+ }
296
+ function lt(e, t, a) {
297
+ const n = `__q_${t}_evt`;
298
+ e[n] = e[n] !== void 0 ? e[n].concat(a) : a, a.forEach((o) => {
299
+ o[0].addEventListener(o[1], e[o[2]], Z[o[3]]);
300
+ });
301
+ }
302
+ function ot(e, t) {
303
+ const a = `__q_${t}_evt`;
304
+ e[a] !== void 0 && (e[a].forEach((n) => {
305
+ n[0].removeEventListener(n[1], e[n[2]], Z[n[3]]);
306
+ }), e[a] = void 0);
307
+ }
308
+ function rt(e) {
309
+ return e !== Object(e) || e.isComposing === !0 || e.qKeyEvent === !0;
310
+ }
311
+ function ae(e, t) {
312
+ return rt(e) === !0 ? !1 : [].concat(t).includes(e.keyCode);
313
+ }
314
+ function it(e, t = 250) {
315
+ let a = !1, n;
316
+ return function() {
317
+ return a === !1 && (a = !0, setTimeout(() => {
318
+ a = !1;
319
+ }, t), n = e.apply(this, arguments)), n;
320
+ };
321
+ }
322
+ function ve(e, t, a, n) {
323
+ a.modifiers.stop === !0 && Ee(e);
324
+ const o = a.modifiers.color;
325
+ let d = a.modifiers.center;
326
+ d = d === !0 || n === !0;
327
+ const l = document.createElement("span"), r = document.createElement("span"), S = nt(e), { left: y, top: f, width: k, height: u } = t.getBoundingClientRect(), q = Math.sqrt(k * k + u * u), i = q / 2, g = `${(k - q) / 2}px`, v = d ? g : `${S.left - y - i}px`, p = `${(u - q) / 2}px`, _ = d ? p : `${S.top - f - i}px`;
328
+ r.className = "q-ripple__inner", tt(r, {
329
+ height: `${q}px`,
330
+ width: `${q}px`,
331
+ transform: `translate3d(${v},${_},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 w = () => {
335
+ l.remove(), clearTimeout(C);
336
+ };
337
+ a.abort.push(w);
338
+ let C = setTimeout(() => {
339
+ r.classList.add("q-ripple__inner--enter"), r.style.transform = `translate3d(${g},${p},0) scale3d(1,1,1)`, r.style.opacity = 0.2, C = setTimeout(() => {
340
+ r.classList.remove("q-ripple__inner--enter"), r.classList.add("q-ripple__inner--leave"), r.style.opacity = 0, C = setTimeout(() => {
341
+ l.remove(), a.abort.splice(a.abort.indexOf(w), 1);
342
+ }, 275);
343
+ }, 250);
344
+ }, 50);
345
+ }
346
+ function ge(e, { modifiers: t, value: a, arg: n }) {
347
+ const o = Object.assign({}, e.cfg.ripple, t, a);
348
+ e.modifiers = {
349
+ early: o.early === !0,
350
+ stop: o.stop === !0,
351
+ center: o.center === !0,
352
+ color: o.color || n,
353
+ keyCodes: [].concat(o.keyCodes || 13)
354
+ };
355
+ }
356
+ const st = Ke(
357
+ {
358
+ name: "ripple",
359
+ beforeMount(e, t) {
360
+ const a = t.instance.$.appContext.config.globalProperties.$q.config || {};
361
+ if (a.ripple === !1)
362
+ return;
363
+ const n = {
364
+ cfg: a,
365
+ enabled: t.value !== !1,
366
+ modifiers: {},
367
+ abort: [],
368
+ start(o) {
369
+ n.enabled === !0 && o.qSkipRipple !== !0 && o.type === (n.modifiers.early === !0 ? "pointerdown" : "click") && ve(o, e, n, o.qKeyEvent === !0);
370
+ },
371
+ keystart: it((o) => {
372
+ n.enabled === !0 && o.qSkipRipple !== !0 && ae(o, n.modifiers.keyCodes) === !0 && o.type === `key${n.modifiers.early === !0 ? "down" : "up"}` && ve(o, e, n, !0);
373
+ }, 300)
374
+ };
375
+ ge(n, t), e.__qripple = n, lt(n, "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 a = e.__qripple;
385
+ a !== void 0 && (a.enabled = t.value !== !1, a.enabled === !0 && Object(t.value) === t.value && ge(a, t));
386
+ }
387
+ },
388
+ beforeUnmount(e) {
389
+ const t = e.__qripple;
390
+ t !== void 0 && (t.abort.forEach((a) => {
391
+ a();
392
+ }), ot(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
+ }, ut = Object.keys(Re), ct = {
404
+ align: {
405
+ type: String,
406
+ validator: (e) => ut.includes(e)
407
+ }
408
+ };
409
+ function dt(e) {
410
+ return s(() => {
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 Yt(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 ft(e) {
426
+ return e.appContext.config.globalProperties.$router !== void 0;
427
+ }
428
+ function Xt(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 vt(e, t) {
438
+ for (const a in t) {
439
+ const n = t[a], o = e[a];
440
+ if (typeof n == "string") {
441
+ if (n !== o)
442
+ return !1;
443
+ } else if (Array.isArray(o) === !1 || o.length !== n.length || n.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((a, n) => a === t[n]) : e.length === 1 && e[0] === t;
450
+ }
451
+ function gt(e, t) {
452
+ return Array.isArray(e) === !0 ? he(e, t) : Array.isArray(t) === !0 ? he(t, e) : e === t;
453
+ }
454
+ function pt(e, t) {
455
+ if (Object.keys(e).length !== Object.keys(t).length)
456
+ return !1;
457
+ for (const a in e)
458
+ if (gt(e[a], t[a]) === !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
+ }, Wt = {
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 mt({ fallbackTag: e, useDisableForRouterLinkProps: t = !0 } = {}) {
485
+ const a = W(), { props: n, proxy: o, emit: d } = a, l = ft(a), r = s(() => n.disable !== !0 && n.href !== void 0), S = t === !0 ? s(
486
+ () => l === !0 && n.disable !== !0 && r.value !== !0 && n.to !== void 0 && n.to !== null && n.to !== ""
487
+ ) : s(
488
+ () => l === !0 && r.value !== !0 && n.to !== void 0 && n.to !== null && n.to !== ""
489
+ ), y = s(() => S.value === !0 ? _(n.to) : null), f = s(() => y.value !== null), k = s(() => r.value === !0 || f.value === !0), u = s(() => n.type === "a" || k.value === !0 ? "a" : n.tag || e || "div"), q = s(() => r.value === !0 ? {
490
+ href: n.href,
491
+ target: n.target
492
+ } : f.value === !0 ? {
493
+ href: y.value.href,
494
+ target: n.target
495
+ } : {}), i = s(() => {
496
+ if (f.value === !1)
497
+ return -1;
498
+ const { matched: h } = y.value, { length: E } = h, M = h[E - 1];
499
+ if (M === 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, M)
506
+ );
507
+ if (O !== -1)
508
+ return O;
509
+ const G = pe(h[E - 2]);
510
+ return (
511
+ // we are dealing with nested routes
512
+ E > 1 && pe(M) === G && A[A.length - 1].path !== G ? A.findIndex(
513
+ me.bind(null, h[E - 2])
514
+ ) : O
515
+ );
516
+ }), g = s(
517
+ () => f.value === !0 && i.value !== -1 && vt(o.$route.params, y.value.params)
518
+ ), v = s(
519
+ () => g.value === !0 && i.value === o.$route.matched.length - 1 && pt(o.$route.params, y.value.params)
520
+ ), p = s(() => f.value === !0 ? v.value === !0 ? ` ${n.exactActiveClass} ${n.activeClass}` : n.exact === !0 ? "" : g.value === !0 ? ` ${n.activeClass}` : "" : "");
521
+ function _(h) {
522
+ try {
523
+ return o.$router.resolve(h);
524
+ } catch {
525
+ }
526
+ return null;
527
+ }
528
+ function w(h, { returnRouterError: E, to: M = n.to, replace: A = n.replace } = {}) {
529
+ if (n.disable === !0)
530
+ return h.preventDefault(), Promise.resolve(!1);
531
+ if (
532
+ // don't redirect with control keys;
533
+ // should match RouterLink from Vue Router
534
+ h.metaKey || h.altKey || h.ctrlKey || h.shiftKey || h.button !== void 0 && h.button !== 0 || n.target === "_blank"
535
+ )
536
+ return Promise.resolve(!1);
537
+ h.preventDefault();
538
+ const O = o.$router[A === !0 ? "replace" : "push"](M);
539
+ return E === !0 ? O : O.then(() => {
540
+ }).catch(() => {
541
+ });
542
+ }
543
+ function C(h) {
544
+ if (f.value === !0) {
545
+ const E = (M) => w(h, M);
546
+ d("click", h, E), h.defaultPrevented !== !0 && E();
547
+ } else
548
+ d("click", h);
549
+ }
550
+ return {
551
+ hasRouterLink: f,
552
+ hasHrefLink: r,
553
+ hasLink: k,
554
+ linkTag: u,
555
+ resolvedLink: y,
556
+ linkIsActive: g,
557
+ linkIsExactActive: v,
558
+ linkClass: p,
559
+ linkAttrs: q,
560
+ getLink: _,
561
+ navigateToRouterLink: w,
562
+ navigateOnClick: C
563
+ };
564
+ }
565
+ const be = {
566
+ none: 0,
567
+ xs: 4,
568
+ sm: 8,
569
+ md: 16,
570
+ lg: 24,
571
+ xl: 32
572
+ }, ht = {
573
+ xs: 8,
574
+ sm: 10,
575
+ md: 14,
576
+ lg: 20,
577
+ xl: 24
578
+ }, bt = ["button", "submit", "reset"], yt = /[^\s]\/[^\s]/, kt = ["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 Jt(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
+ ...kt.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
+ ...ct.align,
619
+ default: "center"
620
+ },
621
+ stack: Boolean,
622
+ stretch: Boolean,
623
+ loading: {
624
+ type: Boolean,
625
+ default: null
626
+ },
627
+ disable: Boolean
628
+ }, $t = {
629
+ ..._t,
630
+ round: Boolean
631
+ };
632
+ function qt(e) {
633
+ const t = ie(e, ht), a = dt(e), { hasRouterLink: n, hasLink: o, linkTag: d, linkAttrs: l, navigateOnClick: r } = mt({
634
+ fallbackTag: "button"
635
+ }), S = s(() => {
636
+ const v = e.fab === !1 && e.fabMini === !1 ? t.value : {};
637
+ return e.padding !== void 0 ? Object.assign({}, v, {
638
+ padding: e.padding.split(/\s+/).map((p) => p in be ? be[p] + "px" : p).join(" "),
639
+ minWidth: "0",
640
+ minHeight: "0"
641
+ }) : v;
642
+ }), y = s(
643
+ () => e.rounded === !0 || e.fab === !0 || e.fabMini === !0
644
+ ), f = s(
645
+ () => e.disable !== !0 && e.loading !== !0
646
+ ), k = s(() => f.value === !0 ? e.tabindex || 0 : -1), u = s(() => Pe(e, "standard")), q = s(() => {
647
+ const v = { tabindex: k.value };
648
+ return o.value === !0 ? Object.assign(v, l.value) : bt.includes(e.type) === !0 && (v.type = e.type), d.value === "a" ? (e.disable === !0 ? v["aria-disabled"] = "true" : v.href === void 0 && (v.role = "button"), n.value !== !0 && yt.test(e.type) === !0 && (v.type = e.type)) : e.disable === !0 && (v.disabled = "", v["aria-disabled"] = "true"), e.loading === !0 && e.percentage !== void 0 && Object.assign(v, {
649
+ role: "progressbar",
650
+ "aria-valuemin": 0,
651
+ "aria-valuemax": 100,
652
+ "aria-valuenow": e.percentage
653
+ }), v;
654
+ }), i = s(() => {
655
+ let v;
656
+ e.color !== void 0 ? e.flat === !0 || e.outline === !0 ? v = `text-${e.textColor || e.color}` : v = `bg-${e.color} text-${e.textColor || "white"}` : e.textColor && (v = `text-${e.textColor}`);
657
+ const p = e.round === !0 ? "round" : `rectangle${y.value === !0 ? " q-btn--rounded" : e.square === !0 ? " q-btn--square" : ""}`;
658
+ return `q-btn--${u.value} q-btn--${p}` + (v !== void 0 ? " " + v : "") + (f.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
+ }), g = s(
660
+ () => a.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: i,
664
+ style: S,
665
+ innerClasses: g,
666
+ attributes: q,
667
+ hasLink: o,
668
+ linkTag: d,
669
+ navigateOnClick: r,
670
+ isActionable: f
671
+ };
672
+ }
673
+ const { passiveCapture: R } = Z;
674
+ let x = null, j = null, I = null;
675
+ const St = J({
676
+ name: "QBtn",
677
+ props: {
678
+ ...$t,
679
+ percentage: Number,
680
+ darkPercentage: Boolean,
681
+ onTouchstart: [Function, Array]
682
+ },
683
+ emits: ["click", "keydown", "mousedown", "keyup"],
684
+ setup(e, { slots: t, emit: a }) {
685
+ const { proxy: n } = W(), {
686
+ classes: o,
687
+ style: d,
688
+ innerClasses: l,
689
+ attributes: r,
690
+ hasLink: S,
691
+ linkTag: y,
692
+ navigateOnClick: f,
693
+ isActionable: k
694
+ } = qt(e), u = Y(null), q = Y(null);
695
+ let i = null, g, v = null;
696
+ const p = s(
697
+ () => e.label !== void 0 && e.label !== null && e.label !== ""
698
+ ), _ = s(() => e.disable === !0 || e.ripple === !1 ? !1 : {
699
+ keyCodes: S.value === !0 ? [13, 32] : [13],
700
+ ...e.ripple === !0 ? {} : e.ripple
701
+ }), w = s(() => ({ center: e.round })), C = s(() => {
702
+ const c = Math.max(0, Math.min(100, e.percentage));
703
+ return c > 0 ? { transition: "transform 0.6s", transform: `translateX(${c - 100}%)` } : {};
704
+ }), h = s(() => {
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 (k.value === !0) {
714
+ const c = {
715
+ onClick: M,
716
+ onKeydown: A,
717
+ onMousedown: G
718
+ };
719
+ if (n.$q.platform.has.touch === !0) {
720
+ const b = e.onTouchstart !== void 0 ? "" : "Passive";
721
+ c[`onTouchstart${b}`] = O;
722
+ }
723
+ return c;
724
+ }
725
+ return {
726
+ // needed; especially for disabled <a> tags
727
+ onClick: D
728
+ };
729
+ }), E = s(() => ({
730
+ ref: u,
731
+ class: "q-btn q-btn-item non-selectable no-outline " + o.value,
732
+ style: d.value,
733
+ ...r.value,
734
+ ...h.value
735
+ }));
736
+ function M(c) {
737
+ if (u.value !== null) {
738
+ if (c !== void 0) {
739
+ if (c.defaultPrevented === !0)
740
+ return;
741
+ const b = document.activeElement;
742
+ if (e.type === "submit" && b !== document.body && u.value.contains(b) === !1 && b.contains(u.value) === !1) {
743
+ u.value.focus();
744
+ const U = () => {
745
+ document.removeEventListener("keydown", D, !0), document.removeEventListener("keyup", U, R), u.value !== null && u.value.removeEventListener("blur", U, R);
746
+ };
747
+ document.addEventListener("keydown", D, !0), document.addEventListener("keyup", U, R), u.value.addEventListener("blur", U, R);
748
+ }
749
+ }
750
+ f(c);
751
+ }
752
+ }
753
+ function A(c) {
754
+ u.value !== null && (a("keydown", c), ae(c, [13, 32]) === !0 && j !== u.value && (j !== null && N(), c.defaultPrevented !== !0 && (u.value.focus(), j = u.value, u.value.classList.add("q-btn--active"), document.addEventListener("keyup", P, !0), u.value.addEventListener("blur", P, R)), D(c)));
755
+ }
756
+ function O(c) {
757
+ u.value !== null && (a("touchstart", c), c.defaultPrevented !== !0 && (x !== u.value && (x !== null && N(), x = u.value, i = c.target, i.addEventListener("touchcancel", P, R), i.addEventListener("touchend", P, R)), g = !0, v !== null && clearTimeout(v), v = setTimeout(() => {
758
+ v = null, g = !1;
759
+ }, 200)));
760
+ }
761
+ function G(c) {
762
+ u.value !== null && (c.qSkipRipple = g === !0, a("mousedown", c), c.defaultPrevented !== !0 && I !== u.value && (I !== null && N(), I = u.value, u.value.classList.add("q-btn--active"), document.addEventListener("mouseup", P, R)));
763
+ }
764
+ function P(c) {
765
+ if (u.value !== null && !(c !== void 0 && c.type === "blur" && document.activeElement === u.value)) {
766
+ if (c !== void 0 && c.type === "keyup") {
767
+ if (j === u.value && ae(c, [13, 32]) === !0) {
768
+ const b = new MouseEvent("click", c);
769
+ b.qKeyEvent = !0, c.defaultPrevented === !0 && at(b), c.cancelBubble === !0 && Ee(b), u.value.dispatchEvent(b), D(c), c.qKeyEvent = !0;
770
+ }
771
+ a("keyup", c);
772
+ }
773
+ N();
774
+ }
775
+ }
776
+ function N(c) {
777
+ const b = q.value;
778
+ c !== !0 && (x === u.value || I === u.value) && b !== null && b !== document.activeElement && (b.setAttribute("tabindex", -1), b.focus()), x === u.value && (i !== null && (i.removeEventListener("touchcancel", P, R), i.removeEventListener("touchend", P, R)), x = i = null), I === u.value && (document.removeEventListener("mouseup", P, R), I = null), j === u.value && (document.removeEventListener("keyup", P, !0), u.value !== null && u.value.removeEventListener("blur", P, R), j = null), u.value !== null && u.value.classList.remove("q-btn--active");
779
+ }
780
+ function K(c) {
781
+ D(c), c.qSkipRipple = !0;
782
+ }
783
+ return Ae(() => {
784
+ N(!0);
785
+ }), Object.assign(n, {
786
+ click: (c) => {
787
+ k.value === !0 && M(c);
788
+ }
789
+ }), () => {
790
+ let c = [];
791
+ e.icon !== void 0 && c.push(
792
+ m(fe, {
793
+ name: e.icon,
794
+ left: e.stack !== !0 && p.value === !0,
795
+ role: "img"
796
+ })
797
+ ), p.value === !0 && c.push(
798
+ m("span", { class: "block" }, [e.label])
799
+ ), c = V(t.default, c), e.iconRight !== void 0 && e.round === !1 && c.push(
800
+ m(fe, {
801
+ name: e.iconRight,
802
+ right: e.stack !== !0 && p.value === !0,
803
+ role: "img"
804
+ })
805
+ );
806
+ const b = [
807
+ m("span", {
808
+ class: "q-focus-helper",
809
+ ref: q
810
+ })
811
+ ];
812
+ return e.loading === !0 && e.percentage !== void 0 && b.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: C.value
819
+ })
820
+ ])
821
+ ), b.push(
822
+ m("span", {
823
+ class: "q-btn__content text-center col items-center q-anchor--skip " + l.value
824
+ }, c)
825
+ ), e.loading !== null && b.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(et)])
833
+ ] : null)
834
+ ), le(
835
+ m(
836
+ y.value,
837
+ E.value,
838
+ b
839
+ ),
840
+ [[
841
+ st,
842
+ _.value,
843
+ void 0,
844
+ w.value
845
+ ]]
846
+ );
847
+ };
848
+ }
849
+ }), wt = /* @__PURE__ */ Q({
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, a = s(() => [
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 (n, o) => (B(), _e(H(St), {
889
+ "no-caps": "",
890
+ unelevated: "",
891
+ class: z(a.value),
892
+ padding: H(Ne)[n.size || H($).MD],
893
+ loading: n.loading,
894
+ disable: n.disabled || void 0,
895
+ to: n.to,
896
+ href: n.href,
897
+ target: n.target,
898
+ type: n.submit ? "submit" : void 0,
899
+ "aria-label": n.ariaLabel,
900
+ download: n.download,
901
+ onClick: o[0] || (o[0] = (d) => n.$emit("click", d))
902
+ }, {
903
+ default: Te(() => [
904
+ n.iconLeft || n.iconMiddle ? (B(), L("i", {
905
+ key: 0,
906
+ class: z([
907
+ "icon-kl",
908
+ n.iconLeft ? "icon-kl_left" : "icon-kl_middle",
909
+ `icon-kl-${n.iconLeft || n.iconMiddle}`,
910
+ n.transparent || n.flat ? `text-${n.color}` : "text-secondary"
911
+ ])
912
+ }, null, 2)) : T("", !0),
913
+ $e(n.$slots, "default", {}, void 0, !0),
914
+ n.label ? (B(), L(qe, { key: 1 }, [
915
+ Oe(X(n.label), 1)
916
+ ], 64)) : T("", !0),
917
+ n.iconRight ? (B(), L("i", {
918
+ key: 2,
919
+ class: z([
920
+ "icon-kl",
921
+ "icon-kl_right",
922
+ `icon-kl-${n.iconRight}`,
923
+ n.transparent ? `text-${n.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
+ }), ee = (e, t) => {
931
+ const a = e.__vccOpts || e;
932
+ for (const [n, o] of t)
933
+ a[n] = o;
934
+ return a;
935
+ }, Zt = /* @__PURE__ */ ee(wt, [["__scopeId", "data-v-99788ad1"]]), Bt = {
936
+ key: 0,
937
+ class: "app-toggle__label app-toggle__label_left"
938
+ }, Ct = { class: "app-toggle__container" }, Lt = ["checked", "disabled"], Et = { class: "app-toggle__thumb" }, Rt = {
939
+ key: 1,
940
+ class: "app-toggle__label"
941
+ }, Mt = /* @__PURE__ */ Q({
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 a = e, n = t, o = s({
957
+ get: () => a.modelValue,
958
+ set: (l) => {
959
+ n("update:modelValue", l);
960
+ }
961
+ }), d = s(() => [
962
+ "app-toggle",
963
+ {
964
+ "app-toggle_sm": a.size === $.SM,
965
+ "app-toggle_md": a.size === $.MD,
966
+ "app-toggle_lg": a.size === $.LG,
967
+ "app-toggle_active": o.value,
968
+ "app-toggle_disabled": a.disabled
969
+ },
970
+ `app-toggle_${a.color}`
971
+ ]);
972
+ return (l, r) => (B(), L("div", {
973
+ class: z(d.value)
974
+ }, [
975
+ l.label && l.labelLeft ? (B(), L("span", Bt, X(l.label), 1)) : T("", !0),
976
+ F("label", Ct, [
977
+ F("input", {
978
+ type: "checkbox",
979
+ checked: o.value,
980
+ onChange: r[0] || (r[0] = (S) => o.value = !o.value),
981
+ disabled: l.disabled,
982
+ class: "app-toggle__input"
983
+ }, null, 40, Lt),
984
+ F("span", {
985
+ class: z(["app-toggle__slider", o.value ? `bg-${l.color}` : ""])
986
+ }, [
987
+ F("span", Et, [
988
+ l.icon && !l.modelValue ? (B(), L("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) ? (B(), L("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 ? (B(), L("span", Rt, X(l.label), 1)) : T("", !0)
1006
+ ], 2));
1007
+ }
1008
+ }), en = /* @__PURE__ */ ee(Mt, [["__scopeId", "data-v-e0e56123"]]), Pt = /* @__PURE__ */ Q({
1009
+ __name: "AppIcon",
1010
+ props: {
1011
+ name: {},
1012
+ size: {},
1013
+ color: {}
1014
+ },
1015
+ setup(e) {
1016
+ return (t, a) => (B(), L("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
+ }), tn = /* @__PURE__ */ ee(Pt, [["__scopeId", "data-v-941765ee"]]), At = {
1022
+ dark: {
1023
+ type: Boolean,
1024
+ default: null
1025
+ }
1026
+ };
1027
+ function zt(e, t) {
1028
+ return s(() => e.dark === null ? t.dark.isActive : e.dark);
1029
+ }
1030
+ const Tt = {
1031
+ xs: 2,
1032
+ sm: 4,
1033
+ md: 6,
1034
+ lg: 10,
1035
+ xl: 14
1036
+ };
1037
+ function ye(e, t, a) {
1038
+ return {
1039
+ transform: t === !0 ? `translateX(${a.lang.rtl === !0 ? "-" : ""}100%) scale3d(${-e},1,1)` : `scale3d(${e},1,1)`
1040
+ };
1041
+ }
1042
+ const Ot = J({
1043
+ name: "QLinearProgress",
1044
+ props: {
1045
+ ...At,
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: a } = W(), n = zt(e, a.$q), o = ie(e, Tt), d = s(() => e.indeterminate === !0 || e.query === !0), l = s(() => e.reverse !== e.query), r = s(() => ({
1067
+ ...o.value !== null ? o.value : {},
1068
+ "--q-linear-progress-speed": `${e.animationSpeed}ms`
1069
+ })), S = s(
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
+ ), y = s(() => ye(e.buffer !== void 0 ? e.buffer : 1, l.value, a.$q)), f = s(() => `with${e.instantFeedback === !0 ? "out" : ""}-transition`), k = s(
1072
+ () => `q-linear-progress__track absolute-full q-linear-progress__track--${f.value} q-linear-progress__track--${n.value === !0 ? "dark" : "light"}` + (e.trackColor !== void 0 ? ` bg-${e.trackColor}` : "")
1073
+ ), u = s(() => ye(d.value === !0 ? 1 : e.value, l.value, a.$q)), q = s(
1074
+ () => `q-linear-progress__model absolute-full q-linear-progress__model--${f.value} q-linear-progress__model--${d.value === !0 ? "in" : ""}determinate`
1075
+ ), i = s(() => ({ width: `${e.value * 100}%` })), g = s(
1076
+ () => `q-linear-progress__stripe absolute-${e.reverse === !0 ? "right" : "left"} q-linear-progress__stripe--${f.value}`
1077
+ );
1078
+ return () => {
1079
+ const v = [
1080
+ m("div", {
1081
+ class: k.value,
1082
+ style: y.value
1083
+ }),
1084
+ m("div", {
1085
+ class: q.value,
1086
+ style: u.value
1087
+ })
1088
+ ];
1089
+ return e.stripe === !0 && d.value === !1 && v.push(
1090
+ m("div", {
1091
+ class: g.value,
1092
+ style: i.value
1093
+ })
1094
+ ), m("div", {
1095
+ class: S.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, v));
1102
+ };
1103
+ }
1104
+ }), Dt = {
1105
+ key: 0,
1106
+ class: "code-field__label"
1107
+ }, xt = { class: "code-field__inputs" }, jt = ["onUpdate:modelValue", "disabled", "onInput", "onKeydown", "onPaste"], It = /* @__PURE__ */ Q({
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, { expose: t, emit: a }) {
1120
+ const n = e, o = a, d = Y(Array(n.length).fill("")), l = Y([]), r = s(() => [
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
+ ]), S = s(() => {
1130
+ let i = "";
1131
+ return n.size == $.SM && (i += `width: ${n.length * 26 + (n.length - 1) * 5}px`), n.size == $.MD && (i += `width: ${n.length * 32 + (n.length - 1) * 8}px`), n.size == $.LG && (i += `width: ${n.length * 44 + (n.length - 1) * 10}px`), i;
1132
+ }), y = (i, g) => {
1133
+ var _;
1134
+ const p = i.target.value;
1135
+ if (p.length === 1)
1136
+ g < n.length - 1 && l.value && ((_ = l.value[g + 1]) == null || _.focus());
1137
+ else if (p.length > 1) {
1138
+ const w = p.slice(0, n.length - g).split("");
1139
+ w.forEach((C, h) => {
1140
+ d.value[g + h] = C;
1141
+ }), se(() => {
1142
+ var C;
1143
+ l.value && ((C = l.value[Math.min(g + w.length, n.length - 1)]) == null || C.focus());
1144
+ });
1145
+ }
1146
+ }, f = (i) => {
1147
+ var g;
1148
+ d.value[i] === "" && l.value && i > 0 && ((g = l.value[i - 1]) == null || g.focus());
1149
+ }, k = (i, g) => {
1150
+ var _;
1151
+ i.preventDefault();
1152
+ const v = ((_ = i.clipboardData) == null ? void 0 : _.getData("text")) ?? "";
1153
+ if (!v) return;
1154
+ const p = v.slice(0, n.length - g).split("");
1155
+ p.forEach((w, C) => {
1156
+ d.value[g + C] = w;
1157
+ }), se(() => {
1158
+ var w;
1159
+ l.value && ((w = l.value[Math.min(g + p.length, n.length - 1)]) == null || w.focus());
1160
+ });
1161
+ };
1162
+ De(
1163
+ d,
1164
+ (i) => {
1165
+ const g = i.join("");
1166
+ u(g);
1167
+ },
1168
+ { deep: !0 }
1169
+ );
1170
+ const u = (i) => {
1171
+ o("update:modelValue", i), i.length === n.length && !i.includes(" ") && o("completed", i);
1172
+ }, q = (i) => {
1173
+ i && (d.value = i.split("").slice(0, n.length));
1174
+ };
1175
+ return xe(() => {
1176
+ n.autofocus && l.value && l.value[0] && l.value[0].focus();
1177
+ }), t({
1178
+ injectCode: q
1179
+ }), (i, g) => (B(), L("div", {
1180
+ class: z(r.value),
1181
+ style: Se(S.value)
1182
+ }, [
1183
+ i.label ? (B(), L("label", Dt, X(i.label), 1)) : T("", !0),
1184
+ F("div", xt, [
1185
+ (B(!0), L(qe, null, je(i.length, (v, p) => le((B(), L("input", {
1186
+ key: p,
1187
+ "onUpdate:modelValue": (_) => d.value[p] = _,
1188
+ ref_for: !0,
1189
+ ref_key: "inputRefs",
1190
+ ref: l,
1191
+ type: "text",
1192
+ maxlength: "1",
1193
+ class: "code-field__input",
1194
+ disabled: i.disabled || i.loading,
1195
+ onInput: (_) => y(_, p),
1196
+ onKeydown: Ie((_) => f(p), ["backspace"]),
1197
+ onPaste: (_) => k(_, p)
1198
+ }, null, 40, jt)), [
1199
+ [Ve, d.value[p]]
1200
+ ])), 128))
1201
+ ]),
1202
+ i.loading ? (B(), _e(Ot, {
1203
+ key: 1,
1204
+ indeterminate: "",
1205
+ rounded: "",
1206
+ color: i.color,
1207
+ class: "code-field__loading"
1208
+ }, null, 8, ["color"])) : T("", !0)
1209
+ ], 6));
1210
+ }
1211
+ }), nn = /* @__PURE__ */ ee(It, [["__scopeId", "data-v-44914130"]]), an = oe(
1212
+ () => import("./AppButtonCopy-DputojEy.js")
1213
+ ), ln = oe(
1214
+ () => import("./AppSelect-d9yw42DL.js")
1215
+ ), on = oe(
1216
+ () => import("./DropdownButton-DHdch-yh.js")
1217
+ );
1218
+ export {
1219
+ Zt as A,
1220
+ ot as B,
1221
+ we as C,
1222
+ ft as D,
1223
+ Yt as E,
1224
+ Xt as F,
1225
+ Qt as G,
1226
+ tt as H,
1227
+ nt as I,
1228
+ on as J,
1229
+ an as K,
1230
+ ln as L,
1231
+ nn as M,
1232
+ en as N,
1233
+ tn as O,
1234
+ fe as Q,
1235
+ st as R,
1236
+ $ as S,
1237
+ ee as _,
1238
+ ie as a,
1239
+ V as b,
1240
+ J as c,
1241
+ re as d,
1242
+ At as e,
1243
+ mt as f,
1244
+ Nt as g,
1245
+ Fe as h,
1246
+ ae as i,
1247
+ Wt as j,
1248
+ et as k,
1249
+ Ft as l,
1250
+ Kt as m,
1251
+ Z as n,
1252
+ Ht as o,
1253
+ at as p,
1254
+ Gt as q,
1255
+ Ut as r,
1256
+ D as s,
1257
+ Ee as t,
1258
+ zt as u,
1259
+ rt as v,
1260
+ Jt as w,
1261
+ _t as x,
1262
+ St as y,
1263
+ lt as z
1264
+ };