@validol4ik/uikit 0.3.43 → 0.4.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.
@@ -0,0 +1,1069 @@
1
+ import { computed as u, markRaw as pe, defineComponent as U, h as v, withDirectives as me, getCurrentInstance as ee, unref as G, ref as oe, onBeforeUnmount as Be, Transition as Re, openBlock as B, createBlock as we, normalizeClass as M, withCtx as Pe, createElementBlock as w, createCommentVNode as x, renderSlot as be, Fragment as Me, createTextVNode as Ae, toDisplayString as X, createElementVNode as H, normalizeStyle as Te, defineAsyncComponent as te } from "vue";
2
+ const he = {
3
+ PRIMARY: "primary",
4
+ INFO: "info"
5
+ }, S = {
6
+ SM: "sm",
7
+ MD: "md",
8
+ LG: "lg"
9
+ }, xe = {
10
+ [S.SM]: "3px 9px",
11
+ [S.MD]: "5px 12px",
12
+ [S.LG]: "9px 20px"
13
+ }, J = {
14
+ xs: 18,
15
+ sm: 24,
16
+ md: 32,
17
+ lg: 38,
18
+ xl: 46
19
+ }, ye = {
20
+ size: String
21
+ };
22
+ function ke(e, t = J) {
23
+ return u(() => e.size !== void 0 ? { fontSize: e.size in t ? `${t[e.size]}px` : e.size } : null);
24
+ }
25
+ function ne(e) {
26
+ return pe(U(e));
27
+ }
28
+ function Oe(e) {
29
+ return pe(e);
30
+ }
31
+ function ze(e, t) {
32
+ return e !== void 0 && e() || t;
33
+ }
34
+ function Ct(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 N(e, t) {
43
+ return e !== void 0 ? t.concat(e()) : t;
44
+ }
45
+ function Bt(e, t) {
46
+ return e === void 0 ? t : t !== void 0 ? t.concat(e()) : e();
47
+ }
48
+ function Rt(e, t, a, n, o, c) {
49
+ t.key = n + o;
50
+ const l = v(e, t, a);
51
+ return o === !0 ? me(l, c()) : l;
52
+ }
53
+ const le = "0 0 24 24", ie = (e) => e, W = (e) => `ionicons ${e}`, _e = {
54
+ "mdi-": (e) => `mdi ${e}`,
55
+ "icon-": ie,
56
+ // fontawesome equiv
57
+ "bt-": (e) => `bt ${e}`,
58
+ "eva-": (e) => `eva ${e}`,
59
+ "ion-md": W,
60
+ "ion-ios": W,
61
+ "ion-logo": W,
62
+ "iconfont ": ie,
63
+ "ti-": (e) => `themify-icon ${e}`,
64
+ "bi-": (e) => `bootstrap-icons ${e}`
65
+ }, $e = {
66
+ o_: "-outlined",
67
+ r_: "-round",
68
+ s_: "-sharp"
69
+ }, qe = {
70
+ sym_o_: "-outlined",
71
+ sym_r_: "-rounded",
72
+ sym_s_: "-sharp"
73
+ }, je = new RegExp("^(" + Object.keys(_e).join("|") + ")"), De = new RegExp("^(" + Object.keys($e).join("|") + ")"), re = new RegExp("^(" + Object.keys(qe).join("|") + ")"), Ie = /^[Mm]\s?[-+]?\.?\d/, Ve = /^img:/, Ke = /^svguse:/, Ne = /^ion-/, Fe = /^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /, se = ne({
74
+ name: "QIcon",
75
+ props: {
76
+ ...ye,
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 } } = ee(), n = ke(e), o = u(
88
+ () => "q-icon" + (e.left === !0 ? " on-left" : "") + (e.right === !0 ? " on-right" : "") + (e.color !== void 0 ? ` text-${e.color}` : "")
89
+ ), c = u(() => {
90
+ let l, i = e.name;
91
+ if (i === "none" || !i)
92
+ return { none: !0 };
93
+ if (a.iconMapFn !== null) {
94
+ const d = a.iconMapFn(i);
95
+ if (d !== void 0)
96
+ if (d.icon !== void 0) {
97
+ if (i = d.icon, i === "none" || !i)
98
+ return { none: !0 };
99
+ } else
100
+ return {
101
+ cls: d.cls,
102
+ content: d.content !== void 0 ? d.content : " "
103
+ };
104
+ }
105
+ if (Ie.test(i) === !0) {
106
+ const [d, h = le] = i.split("|");
107
+ return {
108
+ svg: !0,
109
+ viewBox: h,
110
+ nodes: d.split("&&").map((s) => {
111
+ const [y, m, k] = s.split("@@");
112
+ return v("path", { style: m, d: y, transform: k });
113
+ })
114
+ };
115
+ }
116
+ if (Ve.test(i) === !0)
117
+ return {
118
+ img: !0,
119
+ src: i.substring(4)
120
+ };
121
+ if (Ke.test(i) === !0) {
122
+ const [d, h = le] = i.split("|");
123
+ return {
124
+ svguse: !0,
125
+ src: d.substring(7),
126
+ viewBox: h
127
+ };
128
+ }
129
+ let $ = " ";
130
+ const b = i.match(je);
131
+ if (b !== null)
132
+ l = _e[b[1]](i);
133
+ else if (Fe.test(i) === !0)
134
+ l = i;
135
+ else if (Ne.test(i) === !0)
136
+ l = `ionicons ion-${a.platform.is.ios === !0 ? "ios" : "md"}${i.substring(3)}`;
137
+ else if (re.test(i) === !0) {
138
+ l = "notranslate material-symbols";
139
+ const d = i.match(re);
140
+ d !== null && (i = i.substring(6), l += qe[d[1]]), $ = i;
141
+ } else {
142
+ l = "notranslate material-icons";
143
+ const d = i.match(De);
144
+ d !== null && (i = i.substring(2), l += $e[d[1]]), $ = i;
145
+ }
146
+ return {
147
+ cls: l,
148
+ content: $
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 c.value.none === !0 ? v(e.tag, l, ze(t.default)) : c.value.img === !0 ? v(e.tag, l, N(t.default, [
159
+ v("img", { src: c.value.src })
160
+ ])) : c.value.svg === !0 ? v(e.tag, l, N(t.default, [
161
+ v("svg", {
162
+ viewBox: c.value.viewBox || "0 0 24 24"
163
+ }, c.value.nodes)
164
+ ])) : c.value.svguse === !0 ? v(e.tag, l, N(t.default, [
165
+ v("svg", {
166
+ viewBox: c.value.viewBox
167
+ }, [
168
+ v("use", { "xlink:href": c.value.src })
169
+ ])
170
+ ])) : (c.value.cls !== void 0 && (l.class += " " + c.value.cls), v(e.tag, l, N(t.default, [
171
+ c.value.content
172
+ ])));
173
+ };
174
+ }
175
+ }), Qe = {
176
+ size: {
177
+ type: [String, Number],
178
+ default: "1em"
179
+ },
180
+ color: String
181
+ };
182
+ function He(e) {
183
+ return {
184
+ cSize: u(() => e.size in J ? `${J[e.size]}px` : e.size),
185
+ classes: u(
186
+ () => "q-spinner" + (e.color ? ` text-${e.color}` : "")
187
+ )
188
+ };
189
+ }
190
+ const Ge = ne({
191
+ name: "QSpinner",
192
+ props: {
193
+ ...Qe,
194
+ thickness: {
195
+ type: Number,
196
+ default: 5
197
+ }
198
+ },
199
+ setup(e) {
200
+ const { cSize: t, classes: a } = He(e);
201
+ return () => v("svg", {
202
+ class: a.value + " q-spinner-mat",
203
+ width: t.value,
204
+ height: t.value,
205
+ viewBox: "25 25 50 50"
206
+ }, [
207
+ v("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 Ue(e, t) {
221
+ const a = e.style;
222
+ for (const n in t)
223
+ a[n] = t[n];
224
+ }
225
+ function wt(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 = G(e);
235
+ if (t)
236
+ return t.$el || t;
237
+ }
238
+ function Pt(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 Y = {
247
+ hasPassive: !1,
248
+ passiveCapture: !0,
249
+ notPassiveCapture: !0
250
+ };
251
+ try {
252
+ const e = Object.defineProperty({}, "passive", {
253
+ get() {
254
+ Object.assign(Y, {
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 Mt() {
267
+ }
268
+ function Ye(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 At(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 We(e) {
291
+ e.cancelable !== !1 && e.preventDefault();
292
+ }
293
+ function z(e) {
294
+ e.cancelable !== !1 && e.preventDefault(), e.stopPropagation();
295
+ }
296
+ function Xe(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]], Y[o[3]]);
300
+ });
301
+ }
302
+ function Je(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]], Y[n[3]]);
306
+ }), e[a] = void 0);
307
+ }
308
+ function Ze(e) {
309
+ return e !== Object(e) || e.isComposing === !0 || e.qKeyEvent === !0;
310
+ }
311
+ function Z(e, t) {
312
+ return Ze(e) === !0 ? !1 : [].concat(t).includes(e.keyCode);
313
+ }
314
+ function et(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 ue(e, t, a, n) {
323
+ a.modifiers.stop === !0 && Ee(e);
324
+ const o = a.modifiers.color;
325
+ let c = a.modifiers.center;
326
+ c = c === !0 || n === !0;
327
+ const l = document.createElement("span"), i = document.createElement("span"), $ = Ye(e), { left: b, top: d, width: h, height: s } = t.getBoundingClientRect(), y = Math.sqrt(h * h + s * s), m = y / 2, k = `${(h - y) / 2}px`, f = c ? k : `${$.left - b - m}px`, _ = `${(s - y) / 2}px`, O = c ? _ : `${$.top - d - m}px`;
328
+ i.className = "q-ripple__inner", Ue(i, {
329
+ height: `${y}px`,
330
+ width: `${y}px`,
331
+ transform: `translate3d(${f},${O},0) scale3d(.2,.2,1)`,
332
+ opacity: 0
333
+ }), l.className = `q-ripple${o ? " text-" + o : ""}`, l.setAttribute("dir", "ltr"), l.appendChild(i), t.appendChild(l);
334
+ const A = () => {
335
+ l.remove(), clearTimeout(T);
336
+ };
337
+ a.abort.push(A);
338
+ let T = setTimeout(() => {
339
+ i.classList.add("q-ripple__inner--enter"), i.style.transform = `translate3d(${k},${_},0) scale3d(1,1,1)`, i.style.opacity = 0.2, T = setTimeout(() => {
340
+ i.classList.remove("q-ripple__inner--enter"), i.classList.add("q-ripple__inner--leave"), i.style.opacity = 0, T = setTimeout(() => {
341
+ l.remove(), a.abort.splice(a.abort.indexOf(A), 1);
342
+ }, 275);
343
+ }, 250);
344
+ }, 50);
345
+ }
346
+ function ce(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 tt = Oe(
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") && ue(o, e, n, o.qKeyEvent === !0);
370
+ },
371
+ keystart: et((o) => {
372
+ n.enabled === !0 && o.qSkipRipple !== !0 && Z(o, n.modifiers.keyCodes) === !0 && o.type === `key${n.modifiers.early === !0 ? "down" : "up"}` && ue(o, e, n, !0);
373
+ }, 300)
374
+ };
375
+ ce(n, t), e.__qripple = n, Xe(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 && ce(a, t));
386
+ }
387
+ },
388
+ beforeUnmount(e) {
389
+ const t = e.__qripple;
390
+ t !== void 0 && (t.abort.forEach((a) => {
391
+ a();
392
+ }), Je(t, "main"), delete e._qripple);
393
+ }
394
+ }
395
+ ), Se = {
396
+ left: "start",
397
+ center: "center",
398
+ right: "end",
399
+ between: "between",
400
+ around: "around",
401
+ evenly: "evenly",
402
+ stretch: "stretch"
403
+ }, nt = Object.keys(Se), at = {
404
+ align: {
405
+ type: String,
406
+ validator: (e) => nt.includes(e)
407
+ }
408
+ };
409
+ function ot(e) {
410
+ return u(() => {
411
+ const t = e.align === void 0 ? e.vertical === !0 ? "stretch" : "left" : e.align;
412
+ return `${e.vertical === !0 ? "items" : "justify"}-${Se[t]}`;
413
+ });
414
+ }
415
+ function Tt(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 lt(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 de(e) {
432
+ return e ? e.aliasOf ? e.aliasOf.path : e.path : "";
433
+ }
434
+ function fe(e, t) {
435
+ return (e.aliasOf || e) === (t.aliasOf || t);
436
+ }
437
+ function it(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((c, l) => c !== o[l]))
444
+ return !1;
445
+ }
446
+ return !0;
447
+ }
448
+ function ve(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 rt(e, t) {
452
+ return Array.isArray(e) === !0 ? ve(e, t) : Array.isArray(t) === !0 ? ve(t, e) : e === t;
453
+ }
454
+ function st(e, t) {
455
+ if (Object.keys(e).length !== Object.keys(t).length)
456
+ return !1;
457
+ for (const a in e)
458
+ if (rt(e[a], t[a]) === !1)
459
+ return !1;
460
+ return !0;
461
+ }
462
+ const Le = {
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
+ }, Ot = {
472
+ ...Le,
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 ut({ fallbackTag: e, useDisableForRouterLinkProps: t = !0 } = {}) {
485
+ const a = ee(), { props: n, proxy: o, emit: c } = a, l = lt(a), i = u(() => n.disable !== !0 && n.href !== void 0), $ = t === !0 ? u(
486
+ () => l === !0 && n.disable !== !0 && i.value !== !0 && n.to !== void 0 && n.to !== null && n.to !== ""
487
+ ) : u(
488
+ () => l === !0 && i.value !== !0 && n.to !== void 0 && n.to !== null && n.to !== ""
489
+ ), b = u(() => $.value === !0 ? O(n.to) : null), d = u(() => b.value !== null), h = u(() => i.value === !0 || d.value === !0), s = u(() => n.type === "a" || h.value === !0 ? "a" : n.tag || e || "div"), y = u(() => i.value === !0 ? {
490
+ href: n.href,
491
+ target: n.target
492
+ } : d.value === !0 ? {
493
+ href: b.value.href,
494
+ target: n.target
495
+ } : {}), m = u(() => {
496
+ if (d.value === !1)
497
+ return -1;
498
+ const { matched: g } = b.value, { length: q } = g, L = g[q - 1];
499
+ if (L === void 0)
500
+ return -1;
501
+ const R = o.$route.matched;
502
+ if (R.length === 0)
503
+ return -1;
504
+ const P = R.findIndex(
505
+ fe.bind(null, L)
506
+ );
507
+ if (P !== -1)
508
+ return P;
509
+ const F = de(g[q - 2]);
510
+ return (
511
+ // we are dealing with nested routes
512
+ q > 1 && de(L) === F && R[R.length - 1].path !== F ? R.findIndex(
513
+ fe.bind(null, g[q - 2])
514
+ ) : P
515
+ );
516
+ }), k = u(
517
+ () => d.value === !0 && m.value !== -1 && it(o.$route.params, b.value.params)
518
+ ), f = u(
519
+ () => k.value === !0 && m.value === o.$route.matched.length - 1 && st(o.$route.params, b.value.params)
520
+ ), _ = u(() => d.value === !0 ? f.value === !0 ? ` ${n.exactActiveClass} ${n.activeClass}` : n.exact === !0 ? "" : k.value === !0 ? ` ${n.activeClass}` : "" : "");
521
+ function O(g) {
522
+ try {
523
+ return o.$router.resolve(g);
524
+ } catch {
525
+ }
526
+ return null;
527
+ }
528
+ function A(g, { returnRouterError: q, to: L = n.to, replace: R = n.replace } = {}) {
529
+ if (n.disable === !0)
530
+ return g.preventDefault(), Promise.resolve(!1);
531
+ if (
532
+ // don't redirect with control keys;
533
+ // should match RouterLink from Vue Router
534
+ g.metaKey || g.altKey || g.ctrlKey || g.shiftKey || g.button !== void 0 && g.button !== 0 || n.target === "_blank"
535
+ )
536
+ return Promise.resolve(!1);
537
+ g.preventDefault();
538
+ const P = o.$router[R === !0 ? "replace" : "push"](L);
539
+ return q === !0 ? P : P.then(() => {
540
+ }).catch(() => {
541
+ });
542
+ }
543
+ function T(g) {
544
+ if (d.value === !0) {
545
+ const q = (L) => A(g, L);
546
+ c("click", g, q), g.defaultPrevented !== !0 && q();
547
+ } else
548
+ c("click", g);
549
+ }
550
+ return {
551
+ hasRouterLink: d,
552
+ hasHrefLink: i,
553
+ hasLink: h,
554
+ linkTag: s,
555
+ resolvedLink: b,
556
+ linkIsActive: k,
557
+ linkIsExactActive: f,
558
+ linkClass: _,
559
+ linkAttrs: y,
560
+ getLink: O,
561
+ navigateToRouterLink: A,
562
+ navigateOnClick: T
563
+ };
564
+ }
565
+ const ge = {
566
+ none: 0,
567
+ xs: 4,
568
+ sm: 8,
569
+ md: 16,
570
+ lg: 24,
571
+ xl: 32
572
+ }, ct = {
573
+ xs: 8,
574
+ sm: 10,
575
+ md: 14,
576
+ lg: 20,
577
+ xl: 24
578
+ }, dt = ["button", "submit", "reset"], ft = /[^\s]\/[^\s]/, vt = ["flat", "outline", "push", "unelevated"];
579
+ function Ce(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 = Ce(e);
584
+ return t !== void 0 ? { [t]: !0 } : {};
585
+ }
586
+ const gt = {
587
+ ...ye,
588
+ ...Le,
589
+ type: {
590
+ type: String,
591
+ default: "button"
592
+ },
593
+ label: [Number, String],
594
+ icon: String,
595
+ iconRight: String,
596
+ ...vt.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
+ ...at.align,
619
+ default: "center"
620
+ },
621
+ stack: Boolean,
622
+ stretch: Boolean,
623
+ loading: {
624
+ type: Boolean,
625
+ default: null
626
+ },
627
+ disable: Boolean
628
+ }, pt = {
629
+ ...gt,
630
+ round: Boolean
631
+ };
632
+ function mt(e) {
633
+ const t = ke(e, ct), a = ot(e), { hasRouterLink: n, hasLink: o, linkTag: c, linkAttrs: l, navigateOnClick: i } = ut({
634
+ fallbackTag: "button"
635
+ }), $ = u(() => {
636
+ const f = e.fab === !1 && e.fabMini === !1 ? t.value : {};
637
+ return e.padding !== void 0 ? Object.assign({}, f, {
638
+ padding: e.padding.split(/\s+/).map((_) => _ in ge ? ge[_] + "px" : _).join(" "),
639
+ minWidth: "0",
640
+ minHeight: "0"
641
+ }) : f;
642
+ }), b = u(
643
+ () => e.rounded === !0 || e.fab === !0 || e.fabMini === !0
644
+ ), d = u(
645
+ () => e.disable !== !0 && e.loading !== !0
646
+ ), h = u(() => d.value === !0 ? e.tabindex || 0 : -1), s = u(() => Ce(e, "standard")), y = u(() => {
647
+ const f = { tabindex: h.value };
648
+ return o.value === !0 ? Object.assign(f, l.value) : dt.includes(e.type) === !0 && (f.type = e.type), c.value === "a" ? (e.disable === !0 ? f["aria-disabled"] = "true" : f.href === void 0 && (f.role = "button"), n.value !== !0 && ft.test(e.type) === !0 && (f.type = e.type)) : e.disable === !0 && (f.disabled = "", f["aria-disabled"] = "true"), e.loading === !0 && e.percentage !== void 0 && Object.assign(f, {
649
+ role: "progressbar",
650
+ "aria-valuemin": 0,
651
+ "aria-valuemax": 100,
652
+ "aria-valuenow": e.percentage
653
+ }), f;
654
+ }), m = u(() => {
655
+ let f;
656
+ e.color !== void 0 ? e.flat === !0 || e.outline === !0 ? f = `text-${e.textColor || e.color}` : f = `bg-${e.color} text-${e.textColor || "white"}` : e.textColor && (f = `text-${e.textColor}`);
657
+ const _ = e.round === !0 ? "round" : `rectangle${b.value === !0 ? " q-btn--rounded" : e.square === !0 ? " q-btn--square" : ""}`;
658
+ return `q-btn--${s.value} q-btn--${_}` + (f !== void 0 ? " " + f : "") + (d.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
+ }), k = u(
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: m,
664
+ style: $,
665
+ innerClasses: k,
666
+ attributes: y,
667
+ hasLink: o,
668
+ linkTag: c,
669
+ navigateOnClick: i,
670
+ isActionable: d
671
+ };
672
+ }
673
+ const { passiveCapture: E } = Y;
674
+ let j = null, D = null, I = null;
675
+ const bt = ne({
676
+ name: "QBtn",
677
+ props: {
678
+ ...pt,
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 } = ee(), {
686
+ classes: o,
687
+ style: c,
688
+ innerClasses: l,
689
+ attributes: i,
690
+ hasLink: $,
691
+ linkTag: b,
692
+ navigateOnClick: d,
693
+ isActionable: h
694
+ } = mt(e), s = oe(null), y = oe(null);
695
+ let m = null, k, f = null;
696
+ const _ = u(
697
+ () => e.label !== void 0 && e.label !== null && e.label !== ""
698
+ ), O = u(() => e.disable === !0 || e.ripple === !1 ? !1 : {
699
+ keyCodes: $.value === !0 ? [13, 32] : [13],
700
+ ...e.ripple === !0 ? {} : e.ripple
701
+ }), A = u(() => ({ center: e.round })), T = u(() => {
702
+ const r = Math.max(0, Math.min(100, e.percentage));
703
+ return r > 0 ? { transition: "transform 0.6s", transform: `translateX(${r - 100}%)` } : {};
704
+ }), g = u(() => {
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 (h.value === !0) {
714
+ const r = {
715
+ onClick: L,
716
+ onKeydown: R,
717
+ onMousedown: F
718
+ };
719
+ if (n.$q.platform.has.touch === !0) {
720
+ const p = e.onTouchstart !== void 0 ? "" : "Passive";
721
+ r[`onTouchstart${p}`] = P;
722
+ }
723
+ return r;
724
+ }
725
+ return {
726
+ // needed; especially for disabled <a> tags
727
+ onClick: z
728
+ };
729
+ }), q = u(() => ({
730
+ ref: s,
731
+ class: "q-btn q-btn-item non-selectable no-outline " + o.value,
732
+ style: c.value,
733
+ ...i.value,
734
+ ...g.value
735
+ }));
736
+ function L(r) {
737
+ if (s.value !== null) {
738
+ if (r !== void 0) {
739
+ if (r.defaultPrevented === !0)
740
+ return;
741
+ const p = document.activeElement;
742
+ if (e.type === "submit" && p !== document.body && s.value.contains(p) === !1 && p.contains(s.value) === !1) {
743
+ s.value.focus();
744
+ const Q = () => {
745
+ document.removeEventListener("keydown", z, !0), document.removeEventListener("keyup", Q, E), s.value !== null && s.value.removeEventListener("blur", Q, E);
746
+ };
747
+ document.addEventListener("keydown", z, !0), document.addEventListener("keyup", Q, E), s.value.addEventListener("blur", Q, E);
748
+ }
749
+ }
750
+ d(r);
751
+ }
752
+ }
753
+ function R(r) {
754
+ s.value !== null && (a("keydown", r), Z(r, [13, 32]) === !0 && D !== s.value && (D !== null && V(), r.defaultPrevented !== !0 && (s.value.focus(), D = s.value, s.value.classList.add("q-btn--active"), document.addEventListener("keyup", C, !0), s.value.addEventListener("blur", C, E)), z(r)));
755
+ }
756
+ function P(r) {
757
+ s.value !== null && (a("touchstart", r), r.defaultPrevented !== !0 && (j !== s.value && (j !== null && V(), j = s.value, m = r.target, m.addEventListener("touchcancel", C, E), m.addEventListener("touchend", C, E)), k = !0, f !== null && clearTimeout(f), f = setTimeout(() => {
758
+ f = null, k = !1;
759
+ }, 200)));
760
+ }
761
+ function F(r) {
762
+ s.value !== null && (r.qSkipRipple = k === !0, a("mousedown", r), r.defaultPrevented !== !0 && I !== s.value && (I !== null && V(), I = s.value, s.value.classList.add("q-btn--active"), document.addEventListener("mouseup", C, E)));
763
+ }
764
+ function C(r) {
765
+ if (s.value !== null && !(r !== void 0 && r.type === "blur" && document.activeElement === s.value)) {
766
+ if (r !== void 0 && r.type === "keyup") {
767
+ if (D === s.value && Z(r, [13, 32]) === !0) {
768
+ const p = new MouseEvent("click", r);
769
+ p.qKeyEvent = !0, r.defaultPrevented === !0 && We(p), r.cancelBubble === !0 && Ee(p), s.value.dispatchEvent(p), z(r), r.qKeyEvent = !0;
770
+ }
771
+ a("keyup", r);
772
+ }
773
+ V();
774
+ }
775
+ }
776
+ function V(r) {
777
+ const p = y.value;
778
+ r !== !0 && (j === s.value || I === s.value) && p !== null && p !== document.activeElement && (p.setAttribute("tabindex", -1), p.focus()), j === s.value && (m !== null && (m.removeEventListener("touchcancel", C, E), m.removeEventListener("touchend", C, E)), j = m = null), I === s.value && (document.removeEventListener("mouseup", C, E), I = null), D === s.value && (document.removeEventListener("keyup", C, !0), s.value !== null && s.value.removeEventListener("blur", C, E), D = null), s.value !== null && s.value.classList.remove("q-btn--active");
779
+ }
780
+ function K(r) {
781
+ z(r), r.qSkipRipple = !0;
782
+ }
783
+ return Be(() => {
784
+ V(!0);
785
+ }), Object.assign(n, {
786
+ click: (r) => {
787
+ h.value === !0 && L(r);
788
+ }
789
+ }), () => {
790
+ let r = [];
791
+ e.icon !== void 0 && r.push(
792
+ v(se, {
793
+ name: e.icon,
794
+ left: e.stack !== !0 && _.value === !0,
795
+ role: "img"
796
+ })
797
+ ), _.value === !0 && r.push(
798
+ v("span", { class: "block" }, [e.label])
799
+ ), r = N(t.default, r), e.iconRight !== void 0 && e.round === !1 && r.push(
800
+ v(se, {
801
+ name: e.iconRight,
802
+ right: e.stack !== !0 && _.value === !0,
803
+ role: "img"
804
+ })
805
+ );
806
+ const p = [
807
+ v("span", {
808
+ class: "q-focus-helper",
809
+ ref: y
810
+ })
811
+ ];
812
+ return e.loading === !0 && e.percentage !== void 0 && p.push(
813
+ v("span", {
814
+ class: "q-btn__progress absolute-full overflow-hidden" + (e.darkPercentage === !0 ? " q-btn__progress--dark" : "")
815
+ }, [
816
+ v("span", {
817
+ class: "q-btn__progress-indicator fit block",
818
+ style: T.value
819
+ })
820
+ ])
821
+ ), p.push(
822
+ v("span", {
823
+ class: "q-btn__content text-center col items-center q-anchor--skip " + l.value
824
+ }, r)
825
+ ), e.loading !== null && p.push(
826
+ v(Re, {
827
+ name: "q-transition--fade"
828
+ }, () => e.loading === !0 ? [
829
+ v("span", {
830
+ key: "loading",
831
+ class: "absolute-full flex flex-center"
832
+ }, t.loading !== void 0 ? t.loading() : [v(Ge)])
833
+ ] : null)
834
+ ), me(
835
+ v(
836
+ b.value,
837
+ q.value,
838
+ p
839
+ ),
840
+ [[
841
+ tt,
842
+ O.value,
843
+ void 0,
844
+ A.value
845
+ ]]
846
+ );
847
+ };
848
+ }
849
+ }), ht = /* @__PURE__ */ U({
850
+ __name: "AppButton",
851
+ props: {
852
+ size: { default: S.MD },
853
+ transparent: { type: Boolean },
854
+ flat: { type: Boolean },
855
+ rounded: { type: Boolean },
856
+ color: { default: he.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
+ },
869
+ emits: ["click"],
870
+ setup(e) {
871
+ const t = e, a = u(() => [
872
+ "app-btn",
873
+ {
874
+ "app-btn_default": !t.transparent && !t.flat,
875
+ "app-btn_trans": t.transparent,
876
+ "app-btn_flat": t.flat,
877
+ "app-btn_rounded": t.rounded,
878
+ "app-btn_sm": t.size === S.SM,
879
+ "app-btn_md": t.size === S.MD,
880
+ "app-btn_lg": t.size === S.LG,
881
+ "app-btn_icon-left": t.iconLeft,
882
+ "app-btn_icon-right": t.iconRight,
883
+ "app-btn_icon-middle": t.iconMiddle
884
+ },
885
+ `app-btn_${t.color}`
886
+ ]);
887
+ return (n, o) => (B(), we(G(bt), {
888
+ "no-caps": "",
889
+ unelevated: "",
890
+ class: M(a.value),
891
+ padding: G(xe)[n.size || G(S).MD],
892
+ loading: n.loading,
893
+ disable: n.disabled || void 0,
894
+ to: n.to,
895
+ href: n.href,
896
+ target: n.target,
897
+ type: n.submit ? "submit" : void 0,
898
+ "aria-label": n.ariaLabel,
899
+ onClick: o[0] || (o[0] = (c) => n.$emit("click", c))
900
+ }, {
901
+ default: Pe(() => [
902
+ n.iconLeft || n.iconMiddle ? (B(), w("i", {
903
+ key: 0,
904
+ class: M([
905
+ "icon-kl",
906
+ n.iconLeft ? "icon-kl_left" : "icon-kl_middle",
907
+ `icon-kl-${n.iconLeft || n.iconMiddle}`,
908
+ n.transparent || n.flat ? `text-${n.color}` : "text-secondary"
909
+ ])
910
+ }, null, 2)) : x("", !0),
911
+ be(n.$slots, "default", {}, void 0, !0),
912
+ n.label ? (B(), w(Me, { key: 1 }, [
913
+ Ae(X(n.label), 1)
914
+ ], 64)) : x("", !0),
915
+ n.iconRight ? (B(), w("i", {
916
+ key: 2,
917
+ class: M([
918
+ "icon-kl",
919
+ "icon-kl_right",
920
+ `icon-kl-${n.iconRight}`,
921
+ n.transparent ? `text-${n.color}` : "text-secondary"
922
+ ])
923
+ }, null, 2)) : x("", !0)
924
+ ]),
925
+ _: 3
926
+ }, 8, ["class", "padding", "loading", "disable", "to", "href", "target", "type", "aria-label"]));
927
+ }
928
+ }), ae = (e, t) => {
929
+ const a = e.__vccOpts || e;
930
+ for (const [n, o] of t)
931
+ a[n] = o;
932
+ return a;
933
+ }, jt = /* @__PURE__ */ ae(ht, [["__scopeId", "data-v-0aee6cab"]]), yt = {
934
+ key: 0,
935
+ class: "app-toggle__label app-toggle__label_left"
936
+ }, kt = { class: "app-toggle__container" }, _t = ["checked", "disabled"], $t = { class: "app-toggle__thumb" }, qt = {
937
+ key: 1,
938
+ class: "app-toggle__label"
939
+ }, Et = /* @__PURE__ */ U({
940
+ __name: "AppToggle",
941
+ props: {
942
+ modelValue: { type: Boolean },
943
+ size: { default: S.MD },
944
+ label: {},
945
+ disabled: { type: Boolean },
946
+ color: { default: he.PRIMARY },
947
+ iconColor: {},
948
+ icon: {},
949
+ iconActive: {},
950
+ labelLeft: { type: Boolean }
951
+ },
952
+ emits: ["update:modelValue"],
953
+ setup(e, { emit: t }) {
954
+ const a = e, n = t, o = u({
955
+ get: () => a.modelValue,
956
+ set: (l) => {
957
+ n("update:modelValue", l);
958
+ }
959
+ }), c = u(() => [
960
+ "app-toggle",
961
+ {
962
+ "app-toggle_sm": a.size === S.SM,
963
+ "app-toggle_md": a.size === S.MD,
964
+ "app-toggle_lg": a.size === S.LG,
965
+ "app-toggle_active": o.value,
966
+ "app-toggle_disabled": a.disabled
967
+ },
968
+ `app-toggle_${a.color}`
969
+ ]);
970
+ return (l, i) => (B(), w("div", {
971
+ class: M(c.value)
972
+ }, [
973
+ l.label && l.labelLeft ? (B(), w("span", yt, X(l.label), 1)) : x("", !0),
974
+ H("label", kt, [
975
+ H("input", {
976
+ type: "checkbox",
977
+ checked: o.value,
978
+ onChange: i[0] || (i[0] = ($) => o.value = !o.value),
979
+ disabled: l.disabled,
980
+ class: "app-toggle__input"
981
+ }, null, 40, _t),
982
+ H("span", {
983
+ class: M(["app-toggle__slider", o.value ? `bg-${l.color}` : ""])
984
+ }, [
985
+ H("span", $t, [
986
+ l.icon && !l.modelValue ? (B(), w("i", {
987
+ key: 0,
988
+ class: M(["icon-kl", `icon-kl-${l.icon}`, "app-toggle__icon"])
989
+ }, null, 2)) : x("", !0),
990
+ l.modelValue && (l.iconActive || l.icon) ? (B(), w("i", {
991
+ key: 1,
992
+ class: M([
993
+ "icon-kl",
994
+ `icon-kl-${l.iconActive || l.icon}`,
995
+ "app-toggle__icon",
996
+ o.value ? `text-${l.iconColor}` : ""
997
+ ])
998
+ }, null, 2)) : x("", !0)
999
+ ])
1000
+ ], 2),
1001
+ be(l.$slots, "default", {}, void 0, !0)
1002
+ ]),
1003
+ l.label && !l.labelLeft ? (B(), w("span", qt, X(l.label), 1)) : x("", !0)
1004
+ ], 2));
1005
+ }
1006
+ }), Dt = /* @__PURE__ */ ae(Et, [["__scopeId", "data-v-e0e56123"]]), St = /* @__PURE__ */ U({
1007
+ __name: "AppIcon",
1008
+ props: {
1009
+ name: {},
1010
+ size: {},
1011
+ color: {}
1012
+ },
1013
+ setup(e) {
1014
+ return (t, a) => (B(), w("i", {
1015
+ class: M(["icon-kl", `icon-kl-${t.name}`, t.color ? `text-${t.color}` : ""]),
1016
+ style: Te(t.size ? `font-size: ${t.size}` : void 0)
1017
+ }, null, 6));
1018
+ }
1019
+ }), It = /* @__PURE__ */ ae(St, [["__scopeId", "data-v-941765ee"]]), Vt = te(
1020
+ () => import("./AppButtonCopy-DW1Fq5Jm.js")
1021
+ ), Kt = te(
1022
+ () => import("./AppSelect-mVnDo7ho.js")
1023
+ ), Nt = te(
1024
+ () => import("./DropdownButton-Cs841-SS.js")
1025
+ );
1026
+ export {
1027
+ jt as A,
1028
+ Tt as B,
1029
+ he as C,
1030
+ xt as D,
1031
+ wt as E,
1032
+ Ue as F,
1033
+ Ye as G,
1034
+ It as H,
1035
+ Vt as I,
1036
+ Kt as J,
1037
+ Dt as K,
1038
+ Nt as L,
1039
+ se as Q,
1040
+ tt as R,
1041
+ S,
1042
+ ae as _,
1043
+ N as a,
1044
+ ye as b,
1045
+ ne as c,
1046
+ ut as d,
1047
+ Ct as e,
1048
+ Ot as f,
1049
+ Ge as g,
1050
+ ze as h,
1051
+ Z as i,
1052
+ Rt as j,
1053
+ Bt as k,
1054
+ Y as l,
1055
+ At as m,
1056
+ Pt as n,
1057
+ Mt as o,
1058
+ We as p,
1059
+ Ee as q,
1060
+ Ze as r,
1061
+ z as s,
1062
+ zt as t,
1063
+ ke as u,
1064
+ gt as v,
1065
+ bt as w,
1066
+ Xe as x,
1067
+ Je as y,
1068
+ lt as z
1069
+ };