@validol4ik/uikit 0.2.11 → 0.2.12

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.
package/dist/uikit.es.js CHANGED
@@ -1,7 +1,1048 @@
1
- import "vue";
2
- import { A as a, i as n, a as r } from "./index-DEsA-4tX.js";
1
+ import { computed as c, markRaw as ye, defineComponent as U, getCurrentInstance as ie, h as v, ref as A, onBeforeUnmount as Me, Transition as Te, withDirectives as ze, openBlock as K, createBlock as ke, unref as Q, normalizeClass as Y, withCtx as we, createElementBlock as ee, createCommentVNode as ae, renderSlot as je, reactive as Ie, onMounted as Ne, createVNode as De, mergeProps as Ke, withModifiers as Ae, normalizeStyle as He } from "vue";
2
+ const N = {
3
+ SM: "sm",
4
+ MD: "md",
5
+ LG: "lg"
6
+ };
7
+ var xe = /* @__PURE__ */ ((e) => (e.sm = "3px 9px", e.md = "5px 12px", e.lg = "9px 20px", e))(xe || {});
8
+ const _e = {
9
+ PRIMARY: "primary",
10
+ INFO: "info",
11
+ NEGATIVE: "negative",
12
+ POSITIVE: "positive"
13
+ }, te = {
14
+ xs: 18,
15
+ sm: 24,
16
+ md: 32,
17
+ lg: 38,
18
+ xl: 46
19
+ }, Ee = {
20
+ size: String
21
+ };
22
+ function Ce(e, n = te) {
23
+ return c(() => e.size !== void 0 ? { fontSize: e.size in n ? `${n[e.size]}px` : e.size } : null);
24
+ }
25
+ function Ve(e, n, r, o) {
26
+ return Object.defineProperty(e, n, {
27
+ get: r,
28
+ set: o,
29
+ enumerable: !0
30
+ }), e;
31
+ }
32
+ function G(e) {
33
+ return ye(U(e));
34
+ }
35
+ function Fe(e) {
36
+ return ye(e);
37
+ }
38
+ function ne(e, n) {
39
+ return e !== void 0 && e() || n;
40
+ }
41
+ function D(e, n) {
42
+ return e !== void 0 ? n.concat(e()) : n;
43
+ }
44
+ const le = "0 0 24 24", se = (e) => e, Z = (e) => `ionicons ${e}`, Se = {
45
+ "mdi-": (e) => `mdi ${e}`,
46
+ "icon-": se,
47
+ // fontawesome equiv
48
+ "bt-": (e) => `bt ${e}`,
49
+ "eva-": (e) => `eva ${e}`,
50
+ "ion-md": Z,
51
+ "ion-ios": Z,
52
+ "ion-logo": Z,
53
+ "iconfont ": se,
54
+ "ti-": (e) => `themify-icon ${e}`,
55
+ "bi-": (e) => `bootstrap-icons ${e}`
56
+ }, $e = {
57
+ o_: "-outlined",
58
+ r_: "-round",
59
+ s_: "-sharp"
60
+ }, qe = {
61
+ sym_o_: "-outlined",
62
+ sym_r_: "-rounded",
63
+ sym_s_: "-sharp"
64
+ }, Qe = new RegExp("^(" + Object.keys(Se).join("|") + ")"), Ye = new RegExp("^(" + Object.keys($e).join("|") + ")"), ue = new RegExp("^(" + Object.keys(qe).join("|") + ")"), We = /^[Mm]\s?[-+]?\.?\d/, Ue = /^img:/, Ge = /^svguse:/, Xe = /^ion-/, Ze = /^(fa-(sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /, ce = G({
65
+ name: "QIcon",
66
+ props: {
67
+ ...Ee,
68
+ tag: {
69
+ type: String,
70
+ default: "i"
71
+ },
72
+ name: String,
73
+ color: String,
74
+ left: Boolean,
75
+ right: Boolean
76
+ },
77
+ setup(e, { slots: n }) {
78
+ const { proxy: { $q: r } } = ie(), o = Ce(e), t = c(
79
+ () => "q-icon" + (e.left === !0 ? " on-left" : "") + (e.right === !0 ? " on-right" : "") + (e.color !== void 0 ? ` text-${e.color}` : "")
80
+ ), s = c(() => {
81
+ let u, a = e.name;
82
+ if (a === "none" || !a)
83
+ return { none: !0 };
84
+ if (r.iconMapFn !== null) {
85
+ const d = r.iconMapFn(a);
86
+ if (d !== void 0)
87
+ if (d.icon !== void 0) {
88
+ if (a = d.icon, a === "none" || !a)
89
+ return { none: !0 };
90
+ } else
91
+ return {
92
+ cls: d.cls,
93
+ content: d.content !== void 0 ? d.content : " "
94
+ };
95
+ }
96
+ if (We.test(a) === !0) {
97
+ const [d, h = le] = a.split("|");
98
+ return {
99
+ svg: !0,
100
+ viewBox: h,
101
+ nodes: d.split("&&").map((l) => {
102
+ const [y, b, k] = l.split("@@");
103
+ return v("path", { style: b, d: y, transform: k });
104
+ })
105
+ };
106
+ }
107
+ if (Ue.test(a) === !0)
108
+ return {
109
+ img: !0,
110
+ src: a.substring(4)
111
+ };
112
+ if (Ge.test(a) === !0) {
113
+ const [d, h = le] = a.split("|");
114
+ return {
115
+ svguse: !0,
116
+ src: d.substring(7),
117
+ viewBox: h
118
+ };
119
+ }
120
+ let x = " ";
121
+ const g = a.match(Qe);
122
+ if (g !== null)
123
+ u = Se[g[1]](a);
124
+ else if (Ze.test(a) === !0)
125
+ u = a;
126
+ else if (Xe.test(a) === !0)
127
+ u = `ionicons ion-${r.platform.is.ios === !0 ? "ios" : "md"}${a.substring(3)}`;
128
+ else if (ue.test(a) === !0) {
129
+ u = "notranslate material-symbols";
130
+ const d = a.match(ue);
131
+ d !== null && (a = a.substring(6), u += qe[d[1]]), x = a;
132
+ } else {
133
+ u = "notranslate material-icons";
134
+ const d = a.match(Ye);
135
+ d !== null && (a = a.substring(2), u += $e[d[1]]), x = a;
136
+ }
137
+ return {
138
+ cls: u,
139
+ content: x
140
+ };
141
+ });
142
+ return () => {
143
+ const u = {
144
+ class: t.value,
145
+ style: o.value,
146
+ "aria-hidden": "true",
147
+ role: "presentation"
148
+ };
149
+ return s.value.none === !0 ? v(e.tag, u, ne(n.default)) : s.value.img === !0 ? v(e.tag, u, D(n.default, [
150
+ v("img", { src: s.value.src })
151
+ ])) : s.value.svg === !0 ? v(e.tag, u, D(n.default, [
152
+ v("svg", {
153
+ viewBox: s.value.viewBox || "0 0 24 24"
154
+ }, s.value.nodes)
155
+ ])) : s.value.svguse === !0 ? v(e.tag, u, D(n.default, [
156
+ v("svg", {
157
+ viewBox: s.value.viewBox
158
+ }, [
159
+ v("use", { "xlink:href": s.value.src })
160
+ ])
161
+ ])) : (s.value.cls !== void 0 && (u.class += " " + s.value.cls), v(e.tag, u, D(n.default, [
162
+ s.value.content
163
+ ])));
164
+ };
165
+ }
166
+ }), Je = {
167
+ size: {
168
+ type: [String, Number],
169
+ default: "1em"
170
+ },
171
+ color: String
172
+ };
173
+ function et(e) {
174
+ return {
175
+ cSize: c(() => e.size in te ? `${te[e.size]}px` : e.size),
176
+ classes: c(
177
+ () => "q-spinner" + (e.color ? ` text-${e.color}` : "")
178
+ )
179
+ };
180
+ }
181
+ const tt = G({
182
+ name: "QSpinner",
183
+ props: {
184
+ ...Je,
185
+ thickness: {
186
+ type: Number,
187
+ default: 5
188
+ }
189
+ },
190
+ setup(e) {
191
+ const { cSize: n, classes: r } = et(e);
192
+ return () => v("svg", {
193
+ class: r.value + " q-spinner-mat",
194
+ width: n.value,
195
+ height: n.value,
196
+ viewBox: "25 25 50 50"
197
+ }, [
198
+ v("circle", {
199
+ class: "path",
200
+ cx: "50",
201
+ cy: "50",
202
+ r: "20",
203
+ fill: "none",
204
+ stroke: "currentColor",
205
+ "stroke-width": e.thickness,
206
+ "stroke-miterlimit": "10"
207
+ })
208
+ ]);
209
+ }
210
+ });
211
+ function nt(e, n) {
212
+ const r = e.style;
213
+ for (const o in n)
214
+ r[o] = n[o];
215
+ }
216
+ const X = {
217
+ hasPassive: !1,
218
+ passiveCapture: !0,
219
+ notPassiveCapture: !0
220
+ };
221
+ try {
222
+ const e = Object.defineProperty({}, "passive", {
223
+ get() {
224
+ Object.assign(X, {
225
+ hasPassive: !0,
226
+ passive: { passive: !0 },
227
+ notPassive: { passive: !1 },
228
+ passiveCapture: { passive: !0, capture: !0 },
229
+ notPassiveCapture: { passive: !1, capture: !0 }
230
+ });
231
+ }
232
+ });
233
+ window.addEventListener("qtest", null, e), window.removeEventListener("qtest", null, e);
234
+ } catch {
235
+ }
236
+ function ot(e) {
237
+ 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]), {
238
+ top: e.clientY,
239
+ left: e.clientX
240
+ };
241
+ }
242
+ function Le(e) {
243
+ e.stopPropagation();
244
+ }
245
+ function rt(e) {
246
+ e.cancelable !== !1 && e.preventDefault();
247
+ }
248
+ function O(e) {
249
+ e.cancelable !== !1 && e.preventDefault(), e.stopPropagation();
250
+ }
251
+ function it(e, n, r) {
252
+ const o = `__q_${n}_evt`;
253
+ e[o] = e[o] !== void 0 ? e[o].concat(r) : r, r.forEach((t) => {
254
+ t[0].addEventListener(t[1], e[t[2]], X[t[3]]);
255
+ });
256
+ }
257
+ function at(e, n) {
258
+ const r = `__q_${n}_evt`;
259
+ e[r] !== void 0 && (e[r].forEach((o) => {
260
+ o[0].removeEventListener(o[1], e[o[2]], X[o[3]]);
261
+ }), e[r] = void 0);
262
+ }
263
+ function lt(e) {
264
+ return e !== Object(e) || e.isComposing === !0 || e.qKeyEvent === !0;
265
+ }
266
+ function oe(e, n) {
267
+ return lt(e) === !0 ? !1 : [].concat(n).includes(e.keyCode);
268
+ }
269
+ function st(e, n = 250) {
270
+ let r = !1, o;
271
+ return function() {
272
+ return r === !1 && (r = !0, setTimeout(() => {
273
+ r = !1;
274
+ }, n), o = e.apply(this, arguments)), o;
275
+ };
276
+ }
277
+ function de(e, n, r, o) {
278
+ r.modifiers.stop === !0 && Le(e);
279
+ const t = r.modifiers.color;
280
+ let s = r.modifiers.center;
281
+ s = s === !0 || o === !0;
282
+ const u = document.createElement("span"), a = document.createElement("span"), x = ot(e), { left: g, top: d, width: h, height: l } = n.getBoundingClientRect(), y = Math.sqrt(h * h + l * l), b = y / 2, k = `${(h - y) / 2}px`, f = s ? k : `${x.left - g - b}px`, w = `${(l - y) / 2}px`, B = s ? w : `${x.top - d - b}px`;
283
+ a.className = "q-ripple__inner", nt(a, {
284
+ height: `${y}px`,
285
+ width: `${y}px`,
286
+ transform: `translate3d(${f},${B},0) scale3d(.2,.2,1)`,
287
+ opacity: 0
288
+ }), u.className = `q-ripple${t ? " text-" + t : ""}`, u.setAttribute("dir", "ltr"), u.appendChild(a), n.appendChild(u);
289
+ const L = () => {
290
+ u.remove(), clearTimeout(P);
291
+ };
292
+ r.abort.push(L);
293
+ let P = setTimeout(() => {
294
+ a.classList.add("q-ripple__inner--enter"), a.style.transform = `translate3d(${k},${w},0) scale3d(1,1,1)`, a.style.opacity = 0.2, P = setTimeout(() => {
295
+ a.classList.remove("q-ripple__inner--enter"), a.classList.add("q-ripple__inner--leave"), a.style.opacity = 0, P = setTimeout(() => {
296
+ u.remove(), r.abort.splice(r.abort.indexOf(L), 1);
297
+ }, 275);
298
+ }, 250);
299
+ }, 50);
300
+ }
301
+ function fe(e, { modifiers: n, value: r, arg: o }) {
302
+ const t = Object.assign({}, e.cfg.ripple, n, r);
303
+ e.modifiers = {
304
+ early: t.early === !0,
305
+ stop: t.stop === !0,
306
+ center: t.center === !0,
307
+ color: t.color || o,
308
+ keyCodes: [].concat(t.keyCodes || 13)
309
+ };
310
+ }
311
+ const ut = Fe(
312
+ {
313
+ name: "ripple",
314
+ beforeMount(e, n) {
315
+ const r = n.instance.$.appContext.config.globalProperties.$q.config || {};
316
+ if (r.ripple === !1)
317
+ return;
318
+ const o = {
319
+ cfg: r,
320
+ enabled: n.value !== !1,
321
+ modifiers: {},
322
+ abort: [],
323
+ start(t) {
324
+ o.enabled === !0 && t.qSkipRipple !== !0 && t.type === (o.modifiers.early === !0 ? "pointerdown" : "click") && de(t, e, o, t.qKeyEvent === !0);
325
+ },
326
+ keystart: st((t) => {
327
+ o.enabled === !0 && t.qSkipRipple !== !0 && oe(t, o.modifiers.keyCodes) === !0 && t.type === `key${o.modifiers.early === !0 ? "down" : "up"}` && de(t, e, o, !0);
328
+ }, 300)
329
+ };
330
+ fe(o, n), e.__qripple = o, it(o, "main", [
331
+ [e, "pointerdown", "start", "passive"],
332
+ [e, "click", "start", "passive"],
333
+ [e, "keydown", "keystart", "passive"],
334
+ [e, "keyup", "keystart", "passive"]
335
+ ]);
336
+ },
337
+ updated(e, n) {
338
+ if (n.oldValue !== n.value) {
339
+ const r = e.__qripple;
340
+ r !== void 0 && (r.enabled = n.value !== !1, r.enabled === !0 && Object(n.value) === n.value && fe(r, n));
341
+ }
342
+ },
343
+ beforeUnmount(e) {
344
+ const n = e.__qripple;
345
+ n !== void 0 && (n.abort.forEach((r) => {
346
+ r();
347
+ }), at(n, "main"), delete e._qripple);
348
+ }
349
+ }
350
+ ), Pe = {
351
+ left: "start",
352
+ center: "center",
353
+ right: "end",
354
+ between: "between",
355
+ around: "around",
356
+ evenly: "evenly",
357
+ stretch: "stretch"
358
+ }, ct = Object.keys(Pe), dt = {
359
+ align: {
360
+ type: String,
361
+ validator: (e) => ct.includes(e)
362
+ }
363
+ };
364
+ function ft(e) {
365
+ return c(() => {
366
+ const n = e.align === void 0 ? e.vertical === !0 ? "stretch" : "left" : e.align;
367
+ return `${e.vertical === !0 ? "items" : "justify"}-${Pe[n]}`;
368
+ });
369
+ }
370
+ function vt(e) {
371
+ return e.appContext.config.globalProperties.$router !== void 0;
372
+ }
373
+ function ve(e) {
374
+ return e ? e.aliasOf ? e.aliasOf.path : e.path : "";
375
+ }
376
+ function me(e, n) {
377
+ return (e.aliasOf || e) === (n.aliasOf || n);
378
+ }
379
+ function mt(e, n) {
380
+ for (const r in n) {
381
+ const o = n[r], t = e[r];
382
+ if (typeof o == "string") {
383
+ if (o !== t)
384
+ return !1;
385
+ } else if (Array.isArray(t) === !1 || t.length !== o.length || o.some((s, u) => s !== t[u]))
386
+ return !1;
387
+ }
388
+ return !0;
389
+ }
390
+ function pe(e, n) {
391
+ return Array.isArray(n) === !0 ? e.length === n.length && e.every((r, o) => r === n[o]) : e.length === 1 && e[0] === n;
392
+ }
393
+ function pt(e, n) {
394
+ return Array.isArray(e) === !0 ? pe(e, n) : Array.isArray(n) === !0 ? pe(n, e) : e === n;
395
+ }
396
+ function bt(e, n) {
397
+ if (Object.keys(e).length !== Object.keys(n).length)
398
+ return !1;
399
+ for (const r in e)
400
+ if (pt(e[r], n[r]) === !1)
401
+ return !1;
402
+ return !0;
403
+ }
404
+ const gt = {
405
+ // router-link
406
+ to: [String, Object],
407
+ replace: Boolean,
408
+ // regular <a> link
409
+ href: String,
410
+ target: String,
411
+ // state
412
+ disable: Boolean
413
+ };
414
+ function ht({ fallbackTag: e, useDisableForRouterLinkProps: n = !0 } = {}) {
415
+ const r = ie(), { props: o, proxy: t, emit: s } = r, u = vt(r), a = c(() => o.disable !== !0 && o.href !== void 0), x = n === !0 ? c(
416
+ () => u === !0 && o.disable !== !0 && a.value !== !0 && o.to !== void 0 && o.to !== null && o.to !== ""
417
+ ) : c(
418
+ () => u === !0 && a.value !== !0 && o.to !== void 0 && o.to !== null && o.to !== ""
419
+ ), g = c(() => x.value === !0 ? B(o.to) : null), d = c(() => g.value !== null), h = c(() => a.value === !0 || d.value === !0), l = c(() => o.type === "a" || h.value === !0 ? "a" : o.tag || e || "div"), y = c(() => a.value === !0 ? {
420
+ href: o.href,
421
+ target: o.target
422
+ } : d.value === !0 ? {
423
+ href: g.value.href,
424
+ target: o.target
425
+ } : {}), b = c(() => {
426
+ if (d.value === !1)
427
+ return -1;
428
+ const { matched: m } = g.value, { length: _ } = m, C = m[_ - 1];
429
+ if (C === void 0)
430
+ return -1;
431
+ const $ = t.$route.matched;
432
+ if ($.length === 0)
433
+ return -1;
434
+ const q = $.findIndex(
435
+ me.bind(null, C)
436
+ );
437
+ if (q !== -1)
438
+ return q;
439
+ const V = ve(m[_ - 2]);
440
+ return (
441
+ // we are dealing with nested routes
442
+ _ > 1 && ve(C) === V && $[$.length - 1].path !== V ? $.findIndex(
443
+ me.bind(null, m[_ - 2])
444
+ ) : q
445
+ );
446
+ }), k = c(
447
+ () => d.value === !0 && b.value !== -1 && mt(t.$route.params, g.value.params)
448
+ ), f = c(
449
+ () => k.value === !0 && b.value === t.$route.matched.length - 1 && bt(t.$route.params, g.value.params)
450
+ ), w = c(() => d.value === !0 ? f.value === !0 ? ` ${o.exactActiveClass} ${o.activeClass}` : o.exact === !0 ? "" : k.value === !0 ? ` ${o.activeClass}` : "" : "");
451
+ function B(m) {
452
+ try {
453
+ return t.$router.resolve(m);
454
+ } catch {
455
+ }
456
+ return null;
457
+ }
458
+ function L(m, { returnRouterError: _, to: C = o.to, replace: $ = o.replace } = {}) {
459
+ if (o.disable === !0)
460
+ return m.preventDefault(), Promise.resolve(!1);
461
+ if (
462
+ // don't redirect with control keys;
463
+ // should match RouterLink from Vue Router
464
+ m.metaKey || m.altKey || m.ctrlKey || m.shiftKey || m.button !== void 0 && m.button !== 0 || o.target === "_blank"
465
+ )
466
+ return Promise.resolve(!1);
467
+ m.preventDefault();
468
+ const q = t.$router[$ === !0 ? "replace" : "push"](C);
469
+ return _ === !0 ? q : q.then(() => {
470
+ }).catch(() => {
471
+ });
472
+ }
473
+ function P(m) {
474
+ if (d.value === !0) {
475
+ const _ = (C) => L(m, C);
476
+ s("click", m, _), m.defaultPrevented !== !0 && _();
477
+ } else
478
+ s("click", m);
479
+ }
480
+ return {
481
+ hasRouterLink: d,
482
+ hasHrefLink: a,
483
+ hasLink: h,
484
+ linkTag: l,
485
+ resolvedLink: g,
486
+ linkIsActive: k,
487
+ linkIsExactActive: f,
488
+ linkClass: w,
489
+ linkAttrs: y,
490
+ getLink: B,
491
+ navigateToRouterLink: L,
492
+ navigateOnClick: P
493
+ };
494
+ }
495
+ const be = {
496
+ none: 0,
497
+ xs: 4,
498
+ sm: 8,
499
+ md: 16,
500
+ lg: 24,
501
+ xl: 32
502
+ }, yt = {
503
+ xs: 8,
504
+ sm: 10,
505
+ md: 14,
506
+ lg: 20,
507
+ xl: 24
508
+ }, kt = ["button", "submit", "reset"], wt = /[^\s]\/[^\s]/, xt = ["flat", "outline", "push", "unelevated"];
509
+ function _t(e, n) {
510
+ return e.flat === !0 ? "flat" : e.outline === !0 ? "outline" : e.push === !0 ? "push" : e.unelevated === !0 ? "unelevated" : n;
511
+ }
512
+ const Et = {
513
+ ...Ee,
514
+ ...gt,
515
+ type: {
516
+ type: String,
517
+ default: "button"
518
+ },
519
+ label: [Number, String],
520
+ icon: String,
521
+ iconRight: String,
522
+ ...xt.reduce(
523
+ (e, n) => (e[n] = Boolean) && e,
524
+ {}
525
+ ),
526
+ square: Boolean,
527
+ rounded: Boolean,
528
+ glossy: Boolean,
529
+ size: String,
530
+ fab: Boolean,
531
+ fabMini: Boolean,
532
+ padding: String,
533
+ color: String,
534
+ textColor: String,
535
+ noCaps: Boolean,
536
+ noWrap: Boolean,
537
+ dense: Boolean,
538
+ tabindex: [Number, String],
539
+ ripple: {
540
+ type: [Boolean, Object],
541
+ default: !0
542
+ },
543
+ align: {
544
+ ...dt.align,
545
+ default: "center"
546
+ },
547
+ stack: Boolean,
548
+ stretch: Boolean,
549
+ loading: {
550
+ type: Boolean,
551
+ default: null
552
+ },
553
+ disable: Boolean
554
+ }, Ct = {
555
+ ...Et,
556
+ round: Boolean
557
+ };
558
+ function St(e) {
559
+ const n = Ce(e, yt), r = ft(e), { hasRouterLink: o, hasLink: t, linkTag: s, linkAttrs: u, navigateOnClick: a } = ht({
560
+ fallbackTag: "button"
561
+ }), x = c(() => {
562
+ const f = e.fab === !1 && e.fabMini === !1 ? n.value : {};
563
+ return e.padding !== void 0 ? Object.assign({}, f, {
564
+ padding: e.padding.split(/\s+/).map((w) => w in be ? be[w] + "px" : w).join(" "),
565
+ minWidth: "0",
566
+ minHeight: "0"
567
+ }) : f;
568
+ }), g = c(
569
+ () => e.rounded === !0 || e.fab === !0 || e.fabMini === !0
570
+ ), d = c(
571
+ () => e.disable !== !0 && e.loading !== !0
572
+ ), h = c(() => d.value === !0 ? e.tabindex || 0 : -1), l = c(() => _t(e, "standard")), y = c(() => {
573
+ const f = { tabindex: h.value };
574
+ return t.value === !0 ? Object.assign(f, u.value) : kt.includes(e.type) === !0 && (f.type = e.type), s.value === "a" ? (e.disable === !0 ? f["aria-disabled"] = "true" : f.href === void 0 && (f.role = "button"), o.value !== !0 && wt.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, {
575
+ role: "progressbar",
576
+ "aria-valuemin": 0,
577
+ "aria-valuemax": 100,
578
+ "aria-valuenow": e.percentage
579
+ }), f;
580
+ }), b = c(() => {
581
+ let f;
582
+ 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}`);
583
+ const w = e.round === !0 ? "round" : `rectangle${g.value === !0 ? " q-btn--rounded" : e.square === !0 ? " q-btn--square" : ""}`;
584
+ return `q-btn--${l.value} q-btn--${w}` + (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" : "");
585
+ }), k = c(
586
+ () => r.value + (e.stack === !0 ? " column" : " row") + (e.noWrap === !0 ? " no-wrap text-no-wrap" : "") + (e.loading === !0 ? " q-btn__content--hidden" : "")
587
+ );
588
+ return {
589
+ classes: b,
590
+ style: x,
591
+ innerClasses: k,
592
+ attributes: y,
593
+ hasLink: t,
594
+ linkTag: s,
595
+ navigateOnClick: a,
596
+ isActionable: d
597
+ };
598
+ }
599
+ const { passiveCapture: E } = X;
600
+ let M = null, T = null, z = null;
601
+ const $t = G({
602
+ name: "QBtn",
603
+ props: {
604
+ ...Ct,
605
+ percentage: Number,
606
+ darkPercentage: Boolean,
607
+ onTouchstart: [Function, Array]
608
+ },
609
+ emits: ["click", "keydown", "mousedown", "keyup"],
610
+ setup(e, { slots: n, emit: r }) {
611
+ const { proxy: o } = ie(), {
612
+ classes: t,
613
+ style: s,
614
+ innerClasses: u,
615
+ attributes: a,
616
+ hasLink: x,
617
+ linkTag: g,
618
+ navigateOnClick: d,
619
+ isActionable: h
620
+ } = St(e), l = A(null), y = A(null);
621
+ let b = null, k, f = null;
622
+ const w = c(
623
+ () => e.label !== void 0 && e.label !== null && e.label !== ""
624
+ ), B = c(() => e.disable === !0 || e.ripple === !1 ? !1 : {
625
+ keyCodes: x.value === !0 ? [13, 32] : [13],
626
+ ...e.ripple === !0 ? {} : e.ripple
627
+ }), L = c(() => ({ center: e.round })), P = c(() => {
628
+ const i = Math.max(0, Math.min(100, e.percentage));
629
+ return i > 0 ? { transition: "transform 0.6s", transform: `translateX(${i - 100}%)` } : {};
630
+ }), m = c(() => {
631
+ if (e.loading === !0)
632
+ return {
633
+ onMousedown: I,
634
+ onTouchstart: I,
635
+ onClick: I,
636
+ onKeydown: I,
637
+ onKeyup: I
638
+ };
639
+ if (h.value === !0) {
640
+ const i = {
641
+ onClick: C,
642
+ onKeydown: $,
643
+ onMousedown: V
644
+ };
645
+ if (o.$q.platform.has.touch === !0) {
646
+ const p = e.onTouchstart !== void 0 ? "" : "Passive";
647
+ i[`onTouchstart${p}`] = q;
648
+ }
649
+ return i;
650
+ }
651
+ return {
652
+ // needed; especially for disabled <a> tags
653
+ onClick: O
654
+ };
655
+ }), _ = c(() => ({
656
+ ref: l,
657
+ class: "q-btn q-btn-item non-selectable no-outline " + t.value,
658
+ style: s.value,
659
+ ...a.value,
660
+ ...m.value
661
+ }));
662
+ function C(i) {
663
+ if (l.value !== null) {
664
+ if (i !== void 0) {
665
+ if (i.defaultPrevented === !0)
666
+ return;
667
+ const p = document.activeElement;
668
+ if (e.type === "submit" && p !== document.body && l.value.contains(p) === !1 && p.contains(l.value) === !1) {
669
+ l.value.focus();
670
+ const F = () => {
671
+ document.removeEventListener("keydown", O, !0), document.removeEventListener("keyup", F, E), l.value !== null && l.value.removeEventListener("blur", F, E);
672
+ };
673
+ document.addEventListener("keydown", O, !0), document.addEventListener("keyup", F, E), l.value.addEventListener("blur", F, E);
674
+ }
675
+ }
676
+ d(i);
677
+ }
678
+ }
679
+ function $(i) {
680
+ l.value !== null && (r("keydown", i), oe(i, [13, 32]) === !0 && T !== l.value && (T !== null && j(), i.defaultPrevented !== !0 && (l.value.focus(), T = l.value, l.value.classList.add("q-btn--active"), document.addEventListener("keyup", S, !0), l.value.addEventListener("blur", S, E)), O(i)));
681
+ }
682
+ function q(i) {
683
+ l.value !== null && (r("touchstart", i), i.defaultPrevented !== !0 && (M !== l.value && (M !== null && j(), M = l.value, b = i.target, b.addEventListener("touchcancel", S, E), b.addEventListener("touchend", S, E)), k = !0, f !== null && clearTimeout(f), f = setTimeout(() => {
684
+ f = null, k = !1;
685
+ }, 200)));
686
+ }
687
+ function V(i) {
688
+ l.value !== null && (i.qSkipRipple = k === !0, r("mousedown", i), i.defaultPrevented !== !0 && z !== l.value && (z !== null && j(), z = l.value, l.value.classList.add("q-btn--active"), document.addEventListener("mouseup", S, E)));
689
+ }
690
+ function S(i) {
691
+ if (l.value !== null && !(i !== void 0 && i.type === "blur" && document.activeElement === l.value)) {
692
+ if (i !== void 0 && i.type === "keyup") {
693
+ if (T === l.value && oe(i, [13, 32]) === !0) {
694
+ const p = new MouseEvent("click", i);
695
+ p.qKeyEvent = !0, i.defaultPrevented === !0 && rt(p), i.cancelBubble === !0 && Le(p), l.value.dispatchEvent(p), O(i), i.qKeyEvent = !0;
696
+ }
697
+ r("keyup", i);
698
+ }
699
+ j();
700
+ }
701
+ }
702
+ function j(i) {
703
+ const p = y.value;
704
+ i !== !0 && (M === l.value || z === l.value) && p !== null && p !== document.activeElement && (p.setAttribute("tabindex", -1), p.focus()), M === l.value && (b !== null && (b.removeEventListener("touchcancel", S, E), b.removeEventListener("touchend", S, E)), M = b = null), z === l.value && (document.removeEventListener("mouseup", S, E), z = null), T === l.value && (document.removeEventListener("keyup", S, !0), l.value !== null && l.value.removeEventListener("blur", S, E), T = null), l.value !== null && l.value.classList.remove("q-btn--active");
705
+ }
706
+ function I(i) {
707
+ O(i), i.qSkipRipple = !0;
708
+ }
709
+ return Me(() => {
710
+ j(!0);
711
+ }), Object.assign(o, {
712
+ click: (i) => {
713
+ h.value === !0 && C(i);
714
+ }
715
+ }), () => {
716
+ let i = [];
717
+ e.icon !== void 0 && i.push(
718
+ v(ce, {
719
+ name: e.icon,
720
+ left: e.stack !== !0 && w.value === !0,
721
+ role: "img",
722
+ "aria-hidden": "true"
723
+ })
724
+ ), w.value === !0 && i.push(
725
+ v("span", { class: "block" }, [e.label])
726
+ ), i = D(n.default, i), e.iconRight !== void 0 && e.round === !1 && i.push(
727
+ v(ce, {
728
+ name: e.iconRight,
729
+ right: e.stack !== !0 && w.value === !0,
730
+ role: "img",
731
+ "aria-hidden": "true"
732
+ })
733
+ );
734
+ const p = [
735
+ v("span", {
736
+ class: "q-focus-helper",
737
+ ref: y
738
+ })
739
+ ];
740
+ return e.loading === !0 && e.percentage !== void 0 && p.push(
741
+ v("span", {
742
+ class: "q-btn__progress absolute-full overflow-hidden" + (e.darkPercentage === !0 ? " q-btn__progress--dark" : "")
743
+ }, [
744
+ v("span", {
745
+ class: "q-btn__progress-indicator fit block",
746
+ style: P.value
747
+ })
748
+ ])
749
+ ), p.push(
750
+ v("span", {
751
+ class: "q-btn__content text-center col items-center q-anchor--skip " + u.value
752
+ }, i)
753
+ ), e.loading !== null && p.push(
754
+ v(Te, {
755
+ name: "q-transition--fade"
756
+ }, () => e.loading === !0 ? [
757
+ v("span", {
758
+ key: "loading",
759
+ class: "absolute-full flex flex-center"
760
+ }, n.loading !== void 0 ? n.loading() : [v(tt)])
761
+ ] : null)
762
+ ), ze(
763
+ v(
764
+ g.value,
765
+ _.value,
766
+ p
767
+ ),
768
+ [[
769
+ ut,
770
+ B.value,
771
+ void 0,
772
+ L.value
773
+ ]]
774
+ );
775
+ };
776
+ }
777
+ }), qt = /* @__PURE__ */ U({
778
+ __name: "index",
779
+ props: {
780
+ size: { default: N.MD },
781
+ transparent: { type: Boolean },
782
+ rounded: { type: Boolean },
783
+ color: { default: _e.PRIMARY },
784
+ iconLeft: {},
785
+ iconRight: {},
786
+ iconMiddle: {},
787
+ disabled: { type: Boolean },
788
+ loading: { type: [Boolean, null] },
789
+ to: {},
790
+ href: {},
791
+ target: {},
792
+ submit: { type: Boolean },
793
+ ariaLabel: {}
794
+ },
795
+ emits: ["click"],
796
+ setup(e) {
797
+ const n = e, r = c(() => [
798
+ "app-btn",
799
+ {
800
+ "app-btn_default": !n.transparent,
801
+ "app-btn_trans": n.transparent,
802
+ "app-btn_rounded": n.rounded,
803
+ "app-btn_sm": n.size === N.SM,
804
+ "app-btn_md": n.size === N.MD,
805
+ "app-btn_lg": n.size === N.LG,
806
+ "app-btn_icon-left": n.iconLeft,
807
+ "app-btn_icon-right": n.iconRight,
808
+ "app-btn_icon-middle": n.iconMiddle
809
+ },
810
+ `app-btn_${n.color}`
811
+ ]);
812
+ return (o, t) => (K(), ke(Q($t), {
813
+ "no-caps": "",
814
+ unelevated: "",
815
+ class: Y(r.value),
816
+ padding: Q(xe)[n.size || Q(N).MD],
817
+ loading: o.loading,
818
+ disabled: o.disabled || void 0,
819
+ to: o.to,
820
+ href: o.href,
821
+ target: o.target,
822
+ type: o.submit ? "submit" : void 0,
823
+ "aria-label": o.ariaLabel,
824
+ onClick: t[0] || (t[0] = (s) => o.$emit("click", s))
825
+ }, {
826
+ default: we(() => [
827
+ o.iconLeft || o.iconMiddle ? (K(), ee("i", {
828
+ key: 0,
829
+ class: Y([
830
+ "icon-kl",
831
+ o.iconLeft ? "icon-kl_left" : "icon-kl_middle",
832
+ `icon-kl-${o.iconLeft || o.iconMiddle}`,
833
+ o.transparent ? `text-${o.color}` : "text-secondary"
834
+ ])
835
+ }, null, 2)) : ae("", !0),
836
+ je(o.$slots, "default", {}, void 0, !0),
837
+ o.iconRight ? (K(), ee("i", {
838
+ key: 1,
839
+ class: Y([
840
+ "icon-kl",
841
+ "icon-kl_right",
842
+ `icon-kl-${o.iconRight}`,
843
+ o.transparent ? `text-${o.color}` : "text-secondary"
844
+ ])
845
+ }, null, 2)) : ae("", !0)
846
+ ]),
847
+ _: 3
848
+ }, 8, ["class", "padding", "loading", "disabled", "to", "href", "target", "type", "aria-label"]));
849
+ }
850
+ }), Re = (e, n) => {
851
+ const r = e.__vccOpts || e;
852
+ for (const [o, t] of n)
853
+ r[o] = t;
854
+ return r;
855
+ }, Lt = /* @__PURE__ */ Re(qt, [["__scopeId", "data-v-5b3b0602"]]), H = A(
856
+ !1
857
+ );
858
+ let re;
859
+ function Pt(e, n) {
860
+ const r = /(edg|edge|edga|edgios)\/([\w.]+)/.exec(e) || /(opr)[\/]([\w.]+)/.exec(e) || /(vivaldi)[\/]([\w.]+)/.exec(e) || /(chrome|crios)[\/]([\w.]+)/.exec(e) || /(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e) || /(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e) || /(firefox|fxios)[\/]([\w.]+)/.exec(e) || /(webkit)[\/]([\w.]+)/.exec(e) || /(opera)(?:.*version|)[\/]([\w.]+)/.exec(e) || [];
861
+ return {
862
+ browser: r[5] || r[3] || r[1] || "",
863
+ version: r[4] || r[2] || "0",
864
+ platform: n[0] || ""
865
+ };
866
+ }
867
+ function Rt(e) {
868
+ return /(ipad)/.exec(e) || /(ipod)/.exec(e) || /(windows phone)/.exec(e) || /(iphone)/.exec(e) || /(kindle)/.exec(e) || /(silk)/.exec(e) || /(android)/.exec(e) || /(win)/.exec(e) || /(mac)/.exec(e) || /(linux)/.exec(e) || /(cros)/.exec(e) || /(playbook)/.exec(e) || /(bb)/.exec(e) || /(blackberry)/.exec(e) || [];
869
+ }
870
+ const Be = "ontouchstart" in window || window.navigator.maxTouchPoints > 0;
871
+ function Bt(e) {
872
+ const n = e.toLowerCase(), r = Rt(n), o = Pt(n, r), t = {};
873
+ o.browser && (t[o.browser] = !0, t.version = o.version, t.versionNumber = parseInt(o.version, 10)), o.platform && (t[o.platform] = !0);
874
+ const s = t.android || t.ios || t.bb || t.blackberry || t.ipad || t.iphone || t.ipod || t.kindle || t.playbook || t.silk || t["windows phone"];
875
+ if (s === !0 || n.indexOf("mobile") !== -1 ? t.mobile = !0 : t.desktop = !0, t["windows phone"] && (t.winphone = !0, delete t["windows phone"]), t.edga || t.edgios || t.edg ? (t.edge = !0, o.browser = "edge") : t.crios ? (t.chrome = !0, o.browser = "chrome") : t.fxios && (t.firefox = !0, o.browser = "firefox"), (t.ipod || t.ipad || t.iphone) && (t.ios = !0), t.vivaldi && (o.browser = "vivaldi", t.vivaldi = !0), // Chrome, Opera 15+, Vivaldi and Safari are webkit based browsers
876
+ (t.chrome || t.opr || t.safari || t.vivaldi || t.mobile === !0 && t.ios !== !0 && s !== !0) && (t.webkit = !0), t.opr && (o.browser = "opera", t.opera = !0), t.safari && (t.blackberry || t.bb ? (o.browser = "blackberry", t.blackberry = !0) : t.playbook ? (o.browser = "playbook", t.playbook = !0) : t.android ? (o.browser = "android", t.android = !0) : t.kindle ? (o.browser = "kindle", t.kindle = !0) : t.silk && (o.browser = "silk", t.silk = !0)), t.name = o.browser, t.platform = o.platform, n.indexOf("electron") !== -1)
877
+ t.electron = !0;
878
+ else if (document.location.href.indexOf("-extension://") !== -1)
879
+ t.bex = !0;
880
+ else {
881
+ if (window.Capacitor !== void 0 ? (t.capacitor = !0, t.nativeMobile = !0, t.nativeMobileWrapper = "capacitor") : (window._cordovaNative !== void 0 || window.cordova !== void 0) && (t.cordova = !0, t.nativeMobile = !0, t.nativeMobileWrapper = "cordova"), H.value === !0 && (re = { is: { ...t } }), Be === !0 && t.mac === !0 && (t.desktop === !0 && t.safari === !0 || t.nativeMobile === !0 && t.android !== !0 && t.ios !== !0 && t.ipad !== !0)) {
882
+ delete t.mac, delete t.desktop;
883
+ const u = Math.min(window.innerHeight, window.innerWidth) > 414 ? "ipad" : "iphone";
884
+ Object.assign(t, {
885
+ mobile: !0,
886
+ ios: !0,
887
+ platform: u,
888
+ [u]: !0
889
+ });
890
+ }
891
+ t.mobile !== !0 && window.navigator.userAgentData && window.navigator.userAgentData.mobile && (delete t.desktop, t.mobile = !0);
892
+ }
893
+ return t;
894
+ }
895
+ const ge = navigator.userAgent || navigator.vendor || window.opera, Ot = {
896
+ has: {
897
+ touch: !1,
898
+ webStorage: !1
899
+ },
900
+ within: { iframe: !1 }
901
+ }, W = {
902
+ userAgent: ge,
903
+ is: Bt(ge),
904
+ has: {
905
+ touch: Be
906
+ },
907
+ within: {
908
+ iframe: window.self !== window.top
909
+ }
910
+ }, he = {
911
+ install(e) {
912
+ const { $q: n } = e;
913
+ H.value === !0 ? (e.onSSRHydrated.push(() => {
914
+ Object.assign(n.platform, W), H.value = !1;
915
+ }), n.platform = Ie(this)) : n.platform = this;
916
+ }
917
+ };
918
+ {
919
+ let e;
920
+ Ve(W.has, "webStorage", () => {
921
+ if (e !== void 0)
922
+ return e;
923
+ try {
924
+ if (window.localStorage)
925
+ return e = !0, !0;
926
+ } catch {
927
+ }
928
+ return e = !1, !1;
929
+ }), Object.assign(he, W), H.value === !0 && (Object.assign(he, re, Ot), re = null);
930
+ }
931
+ function Mt() {
932
+ const e = A(!H.value);
933
+ return e.value === !1 && Ne(() => {
934
+ e.value = !0;
935
+ }), { isHydrated: e };
936
+ }
937
+ const Tt = G({
938
+ name: "QNoSsr",
939
+ props: {
940
+ tag: {
941
+ type: String,
942
+ default: "div"
943
+ },
944
+ placeholder: String
945
+ },
946
+ setup(e, { slots: n }) {
947
+ const { isHydrated: r } = Mt();
948
+ return () => {
949
+ if (r.value === !0) {
950
+ const s = ne(n.default);
951
+ return s === void 0 ? s : s.length > 1 ? v(e.tag, {}, s) : s[0];
952
+ }
953
+ const o = {
954
+ class: "q-no-ssr-placeholder"
955
+ }, t = ne(n.placeholder);
956
+ if (t !== void 0)
957
+ return t.length > 1 ? v(e.tag, o, t) : t[0];
958
+ if (e.placeholder !== void 0)
959
+ return v(e.tag, o, e.placeholder);
960
+ };
961
+ }
962
+ }), R = [];
963
+ function Oe(e) {
964
+ R[R.length - 1](e);
965
+ }
966
+ function zt(e) {
967
+ W.is.desktop === !0 && (R.push(e), R.length === 1 && document.body.addEventListener("focusin", Oe));
968
+ }
969
+ function jt(e) {
970
+ const n = R.indexOf(e);
971
+ n !== -1 && (R.splice(n, 1), R.length === 0 && document.body.removeEventListener("focusin", Oe));
972
+ }
973
+ function It(e) {
974
+ const n = document.createElement("textarea");
975
+ n.value = e, n.contentEditable = "true", n.style.position = "fixed";
976
+ const r = () => {
977
+ };
978
+ zt(r), document.body.appendChild(n), n.focus(), n.select();
979
+ const o = document.execCommand("copy");
980
+ return n.remove(), jt(r), o;
981
+ }
982
+ function Nt(e) {
983
+ return navigator.clipboard !== void 0 ? navigator.clipboard.writeText(e) : new Promise((n, r) => {
984
+ const o = It(e);
985
+ o ? n(!0) : r(o);
986
+ });
987
+ }
988
+ const J = {
989
+ COPY: "copy_o",
990
+ COPIED: "copied_o"
991
+ }, At = /* @__PURE__ */ U({
992
+ __name: "index",
993
+ props: {
994
+ text: {},
995
+ size: {},
996
+ transparent: { type: Boolean, default: !0 },
997
+ rounded: { type: Boolean },
998
+ color: { default: _e.INFO },
999
+ iconLeft: {},
1000
+ iconRight: {},
1001
+ iconMiddle: {},
1002
+ disabled: { type: Boolean },
1003
+ loading: { type: [Boolean, null] },
1004
+ to: {},
1005
+ href: {},
1006
+ target: {},
1007
+ submit: { type: Boolean },
1008
+ ariaLabel: {}
1009
+ },
1010
+ setup(e) {
1011
+ const n = e, r = A(J.COPY), o = () => {
1012
+ r.value = J.COPIED, setTimeout(() => {
1013
+ r.value = J.COPY;
1014
+ }, 2e3);
1015
+ }, t = () => {
1016
+ Nt(n.text).then(o).catch((s) => {
1017
+ console.log(s);
1018
+ });
1019
+ };
1020
+ return (s, u) => (K(), ke(Tt, null, {
1021
+ default: we(() => [
1022
+ De(Q(Lt), Ke(n, {
1023
+ "icon-middle": r.value,
1024
+ onClick: Ae(t, ["prevent"])
1025
+ }), null, 16, ["icon-middle"])
1026
+ ]),
1027
+ _: 1
1028
+ }));
1029
+ }
1030
+ }), Dt = /* @__PURE__ */ U({
1031
+ __name: "index",
1032
+ props: {
1033
+ name: {},
1034
+ size: {},
1035
+ color: {}
1036
+ },
1037
+ setup(e) {
1038
+ return (n, r) => (K(), ee("i", {
1039
+ class: Y(["icon-kl", `icon-kl-${n.name}`, n.color ? `text-${n.color}` : ""]),
1040
+ style: He(n.size ? `font-size: ${n.size}` : void 0)
1041
+ }, null, 6));
1042
+ }
1043
+ }), Ht = /* @__PURE__ */ Re(Dt, [["__scopeId", "data-v-73419357"]]);
3
1044
  export {
4
- a as AppButton,
5
- n as AppIcon,
6
- r as CopyButton
1045
+ Lt as AppButton,
1046
+ Ht as AppIcon,
1047
+ At as CopyButton
7
1048
  };