@validol4ik/uikit 0.3.13 → 0.3.16

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,4453 @@
1
+ import { computed as d, markRaw as fn, defineComponent as mt, h as g, withDirectives as vn, getCurrentInstance as ne, unref as st, ref as P, onBeforeUnmount as me, Transition as dt, openBlock as ue, createBlock as $t, normalizeClass as Ve, withCtx as xe, createElementBlock as de, createCommentVNode as Ce, renderSlot as bo, Fragment as at, createTextVNode as Vt, toDisplayString as Ze, reactive as yo, mergeProps as mn, withModifiers as hn, toRaw as Ue, onMounted as ht, watch as Z, onBeforeUpdate as gn, inject as wo, nextTick as fe, onDeactivated as Pt, onActivated as pn, onUnmounted as So, Teleport as ko, onBeforeMount as xo, onUpdated as Co, createVNode as ot, createElementVNode as Wt, normalizeStyle as qo } from "vue";
2
+ const bn = {
3
+ PRIMARY: "primary",
4
+ INFO: "info"
5
+ }, qe = {
6
+ SM: "sm",
7
+ MD: "md",
8
+ LG: "lg"
9
+ }, _o = {
10
+ [qe.SM]: "3px 9px",
11
+ [qe.MD]: "5px 12px",
12
+ [qe.LG]: "9px 20px"
13
+ }, nl = {
14
+ xs: 18,
15
+ sm: 24,
16
+ md: 32,
17
+ lg: 38,
18
+ xl: 46
19
+ }, zt = {
20
+ size: String
21
+ };
22
+ function It(e, t = nl) {
23
+ return d(() => e.size !== void 0 ? { fontSize: e.size in t ? `${t[e.size]}px` : e.size } : null);
24
+ }
25
+ function dl(e, t, l, n) {
26
+ return Object.defineProperty(e, t, {
27
+ get: l,
28
+ set: n,
29
+ enumerable: !0
30
+ }), e;
31
+ }
32
+ function he(e) {
33
+ return fn(mt(e));
34
+ }
35
+ function Eo(e) {
36
+ return fn(e);
37
+ }
38
+ function ke(e, t) {
39
+ return e !== void 0 && e() || t;
40
+ }
41
+ function Bo(e, t) {
42
+ if (e !== void 0) {
43
+ const l = e();
44
+ if (l != null)
45
+ return l.slice();
46
+ }
47
+ return t;
48
+ }
49
+ function Ae(e, t) {
50
+ return e !== void 0 ? t.concat(e()) : t;
51
+ }
52
+ function Vo(e, t) {
53
+ return e === void 0 ? t : t !== void 0 ? t.concat(e()) : e();
54
+ }
55
+ function To(e, t, l, n, o, u) {
56
+ t.key = n + o;
57
+ const a = g(e, t, l);
58
+ return o === !0 ? vn(a, u()) : a;
59
+ }
60
+ const Tl = "0 0 24 24", $l = (e) => e, Kt = (e) => `ionicons ${e}`, yn = {
61
+ "mdi-": (e) => `mdi ${e}`,
62
+ "icon-": $l,
63
+ // fontawesome equiv
64
+ "bt-": (e) => `bt ${e}`,
65
+ "eva-": (e) => `eva ${e}`,
66
+ "ion-md": Kt,
67
+ "ion-ios": Kt,
68
+ "ion-logo": Kt,
69
+ "iconfont ": $l,
70
+ "ti-": (e) => `themify-icon ${e}`,
71
+ "bi-": (e) => `bootstrap-icons ${e}`
72
+ }, wn = {
73
+ o_: "-outlined",
74
+ r_: "-round",
75
+ s_: "-sharp"
76
+ }, Sn = {
77
+ sym_o_: "-outlined",
78
+ sym_r_: "-rounded",
79
+ sym_s_: "-sharp"
80
+ }, $o = new RegExp("^(" + Object.keys(yn).join("|") + ")"), Ro = new RegExp("^(" + Object.keys(wn).join("|") + ")"), Rl = new RegExp("^(" + Object.keys(Sn).join("|") + ")"), Lo = /^[Mm]\s?[-+]?\.?\d/, Mo = /^img:/, Ao = /^svguse:/, Oo = /^ion-/, Po = /^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /, _e = he({
81
+ name: "QIcon",
82
+ props: {
83
+ ...zt,
84
+ tag: {
85
+ type: String,
86
+ default: "i"
87
+ },
88
+ name: String,
89
+ color: String,
90
+ left: Boolean,
91
+ right: Boolean
92
+ },
93
+ setup(e, { slots: t }) {
94
+ const { proxy: { $q: l } } = ne(), n = It(e), o = d(
95
+ () => "q-icon" + (e.left === !0 ? " on-left" : "") + (e.right === !0 ? " on-right" : "") + (e.color !== void 0 ? ` text-${e.color}` : "")
96
+ ), u = d(() => {
97
+ let a, r = e.name;
98
+ if (r === "none" || !r)
99
+ return { none: !0 };
100
+ if (l.iconMapFn !== null) {
101
+ const s = l.iconMapFn(r);
102
+ if (s !== void 0)
103
+ if (s.icon !== void 0) {
104
+ if (r = s.icon, r === "none" || !r)
105
+ return { none: !0 };
106
+ } else
107
+ return {
108
+ cls: s.cls,
109
+ content: s.content !== void 0 ? s.content : " "
110
+ };
111
+ }
112
+ if (Lo.test(r) === !0) {
113
+ const [s, y = Tl] = r.split("|");
114
+ return {
115
+ svg: !0,
116
+ viewBox: y,
117
+ nodes: s.split("&&").map((v) => {
118
+ const [c, m, C] = v.split("@@");
119
+ return g("path", { style: m, d: c, transform: C });
120
+ })
121
+ };
122
+ }
123
+ if (Mo.test(r) === !0)
124
+ return {
125
+ img: !0,
126
+ src: r.substring(4)
127
+ };
128
+ if (Ao.test(r) === !0) {
129
+ const [s, y = Tl] = r.split("|");
130
+ return {
131
+ svguse: !0,
132
+ src: s.substring(7),
133
+ viewBox: y
134
+ };
135
+ }
136
+ let h = " ";
137
+ const b = r.match($o);
138
+ if (b !== null)
139
+ a = yn[b[1]](r);
140
+ else if (Po.test(r) === !0)
141
+ a = r;
142
+ else if (Oo.test(r) === !0)
143
+ a = `ionicons ion-${l.platform.is.ios === !0 ? "ios" : "md"}${r.substring(3)}`;
144
+ else if (Rl.test(r) === !0) {
145
+ a = "notranslate material-symbols";
146
+ const s = r.match(Rl);
147
+ s !== null && (r = r.substring(6), a += Sn[s[1]]), h = r;
148
+ } else {
149
+ a = "notranslate material-icons";
150
+ const s = r.match(Ro);
151
+ s !== null && (r = r.substring(2), a += wn[s[1]]), h = r;
152
+ }
153
+ return {
154
+ cls: a,
155
+ content: h
156
+ };
157
+ });
158
+ return () => {
159
+ const a = {
160
+ class: o.value,
161
+ style: n.value,
162
+ "aria-hidden": "true",
163
+ role: "presentation"
164
+ };
165
+ return u.value.none === !0 ? g(e.tag, a, ke(t.default)) : u.value.img === !0 ? g(e.tag, a, Ae(t.default, [
166
+ g("img", { src: u.value.src })
167
+ ])) : u.value.svg === !0 ? g(e.tag, a, Ae(t.default, [
168
+ g("svg", {
169
+ viewBox: u.value.viewBox || "0 0 24 24"
170
+ }, u.value.nodes)
171
+ ])) : u.value.svguse === !0 ? g(e.tag, a, Ae(t.default, [
172
+ g("svg", {
173
+ viewBox: u.value.viewBox
174
+ }, [
175
+ g("use", { "xlink:href": u.value.src })
176
+ ])
177
+ ])) : (u.value.cls !== void 0 && (a.class += " " + u.value.cls), g(e.tag, a, Ae(t.default, [
178
+ u.value.content
179
+ ])));
180
+ };
181
+ }
182
+ }), zo = {
183
+ size: {
184
+ type: [String, Number],
185
+ default: "1em"
186
+ },
187
+ color: String
188
+ };
189
+ function Io(e) {
190
+ return {
191
+ cSize: d(() => e.size in nl ? `${nl[e.size]}px` : e.size),
192
+ classes: d(
193
+ () => "q-spinner" + (e.color ? ` text-${e.color}` : "")
194
+ )
195
+ };
196
+ }
197
+ const kn = he({
198
+ name: "QSpinner",
199
+ props: {
200
+ ...zo,
201
+ thickness: {
202
+ type: Number,
203
+ default: 5
204
+ }
205
+ },
206
+ setup(e) {
207
+ const { cSize: t, classes: l } = Io(e);
208
+ return () => g("svg", {
209
+ class: l.value + " q-spinner-mat",
210
+ width: t.value,
211
+ height: t.value,
212
+ viewBox: "25 25 50 50"
213
+ }, [
214
+ g("circle", {
215
+ class: "path",
216
+ cx: "50",
217
+ cy: "50",
218
+ r: "20",
219
+ fill: "none",
220
+ stroke: "currentColor",
221
+ "stroke-width": e.thickness,
222
+ "stroke-miterlimit": "10"
223
+ })
224
+ ]);
225
+ }
226
+ });
227
+ function ol(e, t) {
228
+ const l = e.style;
229
+ for (const n in t)
230
+ l[n] = t[n];
231
+ }
232
+ function Fo(e) {
233
+ if (e == null)
234
+ return;
235
+ if (typeof e == "string")
236
+ try {
237
+ return document.querySelector(e) || void 0;
238
+ } catch {
239
+ return;
240
+ }
241
+ const t = st(e);
242
+ if (t)
243
+ return t.$el || t;
244
+ }
245
+ function xn(e, t) {
246
+ if (e == null || e.contains(t) === !0)
247
+ return !0;
248
+ for (let l = e.nextElementSibling; l !== null; l = l.nextElementSibling)
249
+ if (l.contains(t))
250
+ return !0;
251
+ return !1;
252
+ }
253
+ const re = {
254
+ hasPassive: !1,
255
+ passiveCapture: !0,
256
+ notPassiveCapture: !0
257
+ };
258
+ try {
259
+ const e = Object.defineProperty({}, "passive", {
260
+ get() {
261
+ Object.assign(re, {
262
+ hasPassive: !0,
263
+ passive: { passive: !0 },
264
+ notPassive: { passive: !1 },
265
+ passiveCapture: { passive: !0, capture: !0 },
266
+ notPassiveCapture: { passive: !1, capture: !0 }
267
+ });
268
+ }
269
+ });
270
+ window.addEventListener("qtest", null, e), window.removeEventListener("qtest", null, e);
271
+ } catch {
272
+ }
273
+ function Ho() {
274
+ }
275
+ function Cn(e) {
276
+ 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]), {
277
+ top: e.clientY,
278
+ left: e.clientX
279
+ };
280
+ }
281
+ function Do(e) {
282
+ if (e.path)
283
+ return e.path;
284
+ if (e.composedPath)
285
+ return e.composedPath();
286
+ const t = [];
287
+ let l = e.target;
288
+ for (; l; ) {
289
+ if (t.push(l), l.tagName === "HTML")
290
+ return t.push(document), t.push(window), t;
291
+ l = l.parentElement;
292
+ }
293
+ }
294
+ function Ee(e) {
295
+ e.stopPropagation();
296
+ }
297
+ function be(e) {
298
+ e.cancelable !== !1 && e.preventDefault();
299
+ }
300
+ function le(e) {
301
+ e.cancelable !== !1 && e.preventDefault(), e.stopPropagation();
302
+ }
303
+ function il(e, t, l) {
304
+ const n = `__q_${t}_evt`;
305
+ e[n] = e[n] !== void 0 ? e[n].concat(l) : l, l.forEach((o) => {
306
+ o[0].addEventListener(o[1], e[o[2]], re[o[3]]);
307
+ });
308
+ }
309
+ function qn(e, t) {
310
+ const l = `__q_${t}_evt`;
311
+ e[l] !== void 0 && (e[l].forEach((n) => {
312
+ n[0].removeEventListener(n[1], e[n[2]], re[n[3]]);
313
+ }), e[l] = void 0);
314
+ }
315
+ function _n(e) {
316
+ return e !== Object(e) || e.isComposing === !0 || e.qKeyEvent === !0;
317
+ }
318
+ function Fe(e, t) {
319
+ return _n(e) === !0 ? !1 : [].concat(t).includes(e.keyCode);
320
+ }
321
+ function jo(e, t = 250) {
322
+ let l = !1, n;
323
+ return function() {
324
+ return l === !1 && (l = !0, setTimeout(() => {
325
+ l = !1;
326
+ }, t), n = e.apply(this, arguments)), n;
327
+ };
328
+ }
329
+ function Ll(e, t, l, n) {
330
+ l.modifiers.stop === !0 && Ee(e);
331
+ const o = l.modifiers.color;
332
+ let u = l.modifiers.center;
333
+ u = u === !0 || n === !0;
334
+ const a = document.createElement("span"), r = document.createElement("span"), h = Cn(e), { left: b, top: s, width: y, height: v } = t.getBoundingClientRect(), c = Math.sqrt(y * y + v * v), m = c / 2, C = `${(y - c) / 2}px`, p = u ? C : `${h.left - b - m}px`, O = `${(v - c) / 2}px`, T = u ? O : `${h.top - s - m}px`;
335
+ r.className = "q-ripple__inner", ol(r, {
336
+ height: `${c}px`,
337
+ width: `${c}px`,
338
+ transform: `translate3d(${p},${T},0) scale3d(.2,.2,1)`,
339
+ opacity: 0
340
+ }), a.className = `q-ripple${o ? " text-" + o : ""}`, a.setAttribute("dir", "ltr"), a.appendChild(r), t.appendChild(a);
341
+ const k = () => {
342
+ a.remove(), clearTimeout(M);
343
+ };
344
+ l.abort.push(k);
345
+ let M = setTimeout(() => {
346
+ r.classList.add("q-ripple__inner--enter"), r.style.transform = `translate3d(${C},${O},0) scale3d(1,1,1)`, r.style.opacity = 0.2, M = setTimeout(() => {
347
+ r.classList.remove("q-ripple__inner--enter"), r.classList.add("q-ripple__inner--leave"), r.style.opacity = 0, M = setTimeout(() => {
348
+ a.remove(), l.abort.splice(l.abort.indexOf(k), 1);
349
+ }, 275);
350
+ }, 250);
351
+ }, 50);
352
+ }
353
+ function Ml(e, { modifiers: t, value: l, arg: n }) {
354
+ const o = Object.assign({}, e.cfg.ripple, t, l);
355
+ e.modifiers = {
356
+ early: o.early === !0,
357
+ stop: o.stop === !0,
358
+ center: o.center === !0,
359
+ color: o.color || n,
360
+ keyCodes: [].concat(o.keyCodes || 13)
361
+ };
362
+ }
363
+ const En = Eo(
364
+ {
365
+ name: "ripple",
366
+ beforeMount(e, t) {
367
+ const l = t.instance.$.appContext.config.globalProperties.$q.config || {};
368
+ if (l.ripple === !1)
369
+ return;
370
+ const n = {
371
+ cfg: l,
372
+ enabled: t.value !== !1,
373
+ modifiers: {},
374
+ abort: [],
375
+ start(o) {
376
+ n.enabled === !0 && o.qSkipRipple !== !0 && o.type === (n.modifiers.early === !0 ? "pointerdown" : "click") && Ll(o, e, n, o.qKeyEvent === !0);
377
+ },
378
+ keystart: jo((o) => {
379
+ n.enabled === !0 && o.qSkipRipple !== !0 && Fe(o, n.modifiers.keyCodes) === !0 && o.type === `key${n.modifiers.early === !0 ? "down" : "up"}` && Ll(o, e, n, !0);
380
+ }, 300)
381
+ };
382
+ Ml(n, t), e.__qripple = n, il(n, "main", [
383
+ [e, "pointerdown", "start", "passive"],
384
+ [e, "click", "start", "passive"],
385
+ [e, "keydown", "keystart", "passive"],
386
+ [e, "keyup", "keystart", "passive"]
387
+ ]);
388
+ },
389
+ updated(e, t) {
390
+ if (t.oldValue !== t.value) {
391
+ const l = e.__qripple;
392
+ l !== void 0 && (l.enabled = t.value !== !1, l.enabled === !0 && Object(t.value) === t.value && Ml(l, t));
393
+ }
394
+ },
395
+ beforeUnmount(e) {
396
+ const t = e.__qripple;
397
+ t !== void 0 && (t.abort.forEach((l) => {
398
+ l();
399
+ }), qn(t, "main"), delete e._qripple);
400
+ }
401
+ }
402
+ ), Bn = {
403
+ left: "start",
404
+ center: "center",
405
+ right: "end",
406
+ between: "between",
407
+ around: "around",
408
+ evenly: "evenly",
409
+ stretch: "stretch"
410
+ }, No = Object.keys(Bn), Wo = {
411
+ align: {
412
+ type: String,
413
+ validator: (e) => No.includes(e)
414
+ }
415
+ };
416
+ function Ko(e) {
417
+ return d(() => {
418
+ const t = e.align === void 0 ? e.vertical === !0 ? "stretch" : "left" : e.align;
419
+ return `${e.vertical === !0 ? "items" : "justify"}-${Bn[t]}`;
420
+ });
421
+ }
422
+ function Qt(e) {
423
+ if (Object(e.$parent) === e.$parent)
424
+ return e.$parent;
425
+ let { parent: t } = e.$;
426
+ for (; Object(t) === t; ) {
427
+ if (Object(t.proxy) === t.proxy)
428
+ return t.proxy;
429
+ t = t.parent;
430
+ }
431
+ }
432
+ function Vn(e) {
433
+ return e.appContext.config.globalProperties.$router !== void 0;
434
+ }
435
+ function Tn(e) {
436
+ return e.isUnmounted === !0 || e.isDeactivated === !0;
437
+ }
438
+ function Al(e) {
439
+ return e ? e.aliasOf ? e.aliasOf.path : e.path : "";
440
+ }
441
+ function Ol(e, t) {
442
+ return (e.aliasOf || e) === (t.aliasOf || t);
443
+ }
444
+ function Qo(e, t) {
445
+ for (const l in t) {
446
+ const n = t[l], o = e[l];
447
+ if (typeof n == "string") {
448
+ if (n !== o)
449
+ return !1;
450
+ } else if (Array.isArray(o) === !1 || o.length !== n.length || n.some((u, a) => u !== o[a]))
451
+ return !1;
452
+ }
453
+ return !0;
454
+ }
455
+ function Pl(e, t) {
456
+ return Array.isArray(t) === !0 ? e.length === t.length && e.every((l, n) => l === t[n]) : e.length === 1 && e[0] === t;
457
+ }
458
+ function Uo(e, t) {
459
+ return Array.isArray(e) === !0 ? Pl(e, t) : Array.isArray(t) === !0 ? Pl(t, e) : e === t;
460
+ }
461
+ function Yo(e, t) {
462
+ if (Object.keys(e).length !== Object.keys(t).length)
463
+ return !1;
464
+ for (const l in e)
465
+ if (Uo(e[l], t[l]) === !1)
466
+ return !1;
467
+ return !0;
468
+ }
469
+ const $n = {
470
+ // router-link
471
+ to: [String, Object],
472
+ replace: Boolean,
473
+ // regular <a> link
474
+ href: String,
475
+ target: String,
476
+ // state
477
+ disable: Boolean
478
+ }, Xo = {
479
+ ...$n,
480
+ // router-link
481
+ exact: Boolean,
482
+ activeClass: {
483
+ type: String,
484
+ default: "q-router-link--active"
485
+ },
486
+ exactActiveClass: {
487
+ type: String,
488
+ default: "q-router-link--exact-active"
489
+ }
490
+ };
491
+ function Rn({ fallbackTag: e, useDisableForRouterLinkProps: t = !0 } = {}) {
492
+ const l = ne(), { props: n, proxy: o, emit: u } = l, a = Vn(l), r = d(() => n.disable !== !0 && n.href !== void 0), h = t === !0 ? d(
493
+ () => a === !0 && n.disable !== !0 && r.value !== !0 && n.to !== void 0 && n.to !== null && n.to !== ""
494
+ ) : d(
495
+ () => a === !0 && r.value !== !0 && n.to !== void 0 && n.to !== null && n.to !== ""
496
+ ), b = d(() => h.value === !0 ? T(n.to) : null), s = d(() => b.value !== null), y = d(() => r.value === !0 || s.value === !0), v = d(() => n.type === "a" || y.value === !0 ? "a" : n.tag || e || "div"), c = d(() => r.value === !0 ? {
497
+ href: n.href,
498
+ target: n.target
499
+ } : s.value === !0 ? {
500
+ href: b.value.href,
501
+ target: n.target
502
+ } : {}), m = d(() => {
503
+ if (s.value === !1)
504
+ return -1;
505
+ const { matched: R } = b.value, { length: V } = R, A = R[V - 1];
506
+ if (A === void 0)
507
+ return -1;
508
+ const z = o.$route.matched;
509
+ if (z.length === 0)
510
+ return -1;
511
+ const N = z.findIndex(
512
+ Ol.bind(null, A)
513
+ );
514
+ if (N !== -1)
515
+ return N;
516
+ const J = Al(R[V - 2]);
517
+ return (
518
+ // we are dealing with nested routes
519
+ V > 1 && Al(A) === J && z[z.length - 1].path !== J ? z.findIndex(
520
+ Ol.bind(null, R[V - 2])
521
+ ) : N
522
+ );
523
+ }), C = d(
524
+ () => s.value === !0 && m.value !== -1 && Qo(o.$route.params, b.value.params)
525
+ ), p = d(
526
+ () => C.value === !0 && m.value === o.$route.matched.length - 1 && Yo(o.$route.params, b.value.params)
527
+ ), O = d(() => s.value === !0 ? p.value === !0 ? ` ${n.exactActiveClass} ${n.activeClass}` : n.exact === !0 ? "" : C.value === !0 ? ` ${n.activeClass}` : "" : "");
528
+ function T(R) {
529
+ try {
530
+ return o.$router.resolve(R);
531
+ } catch {
532
+ }
533
+ return null;
534
+ }
535
+ function k(R, { returnRouterError: V, to: A = n.to, replace: z = n.replace } = {}) {
536
+ if (n.disable === !0)
537
+ return R.preventDefault(), Promise.resolve(!1);
538
+ if (
539
+ // don't redirect with control keys;
540
+ // should match RouterLink from Vue Router
541
+ R.metaKey || R.altKey || R.ctrlKey || R.shiftKey || R.button !== void 0 && R.button !== 0 || n.target === "_blank"
542
+ )
543
+ return Promise.resolve(!1);
544
+ R.preventDefault();
545
+ const N = o.$router[z === !0 ? "replace" : "push"](A);
546
+ return V === !0 ? N : N.then(() => {
547
+ }).catch(() => {
548
+ });
549
+ }
550
+ function M(R) {
551
+ if (s.value === !0) {
552
+ const V = (A) => k(R, A);
553
+ u("click", R, V), R.defaultPrevented !== !0 && V();
554
+ } else
555
+ u("click", R);
556
+ }
557
+ return {
558
+ hasRouterLink: s,
559
+ hasHrefLink: r,
560
+ hasLink: y,
561
+ linkTag: v,
562
+ resolvedLink: b,
563
+ linkIsActive: C,
564
+ linkIsExactActive: p,
565
+ linkClass: O,
566
+ linkAttrs: c,
567
+ getLink: T,
568
+ navigateToRouterLink: k,
569
+ navigateOnClick: M
570
+ };
571
+ }
572
+ const zl = {
573
+ none: 0,
574
+ xs: 4,
575
+ sm: 8,
576
+ md: 16,
577
+ lg: 24,
578
+ xl: 32
579
+ }, Go = {
580
+ xs: 8,
581
+ sm: 10,
582
+ md: 14,
583
+ lg: 20,
584
+ xl: 24
585
+ }, Zo = ["button", "submit", "reset"], Jo = /[^\s]\/[^\s]/, ei = ["flat", "outline", "push", "unelevated"];
586
+ function ti(e, t) {
587
+ return e.flat === !0 ? "flat" : e.outline === !0 ? "outline" : e.push === !0 ? "push" : e.unelevated === !0 ? "unelevated" : t;
588
+ }
589
+ const li = {
590
+ ...zt,
591
+ ...$n,
592
+ type: {
593
+ type: String,
594
+ default: "button"
595
+ },
596
+ label: [Number, String],
597
+ icon: String,
598
+ iconRight: String,
599
+ ...ei.reduce(
600
+ (e, t) => (e[t] = Boolean) && e,
601
+ {}
602
+ ),
603
+ square: Boolean,
604
+ rounded: Boolean,
605
+ glossy: Boolean,
606
+ size: String,
607
+ fab: Boolean,
608
+ fabMini: Boolean,
609
+ padding: String,
610
+ color: String,
611
+ textColor: String,
612
+ noCaps: Boolean,
613
+ noWrap: Boolean,
614
+ dense: Boolean,
615
+ tabindex: [Number, String],
616
+ ripple: {
617
+ type: [Boolean, Object],
618
+ default: !0
619
+ },
620
+ align: {
621
+ ...Wo.align,
622
+ default: "center"
623
+ },
624
+ stack: Boolean,
625
+ stretch: Boolean,
626
+ loading: {
627
+ type: Boolean,
628
+ default: null
629
+ },
630
+ disable: Boolean
631
+ }, ni = {
632
+ ...li,
633
+ round: Boolean
634
+ };
635
+ function oi(e) {
636
+ const t = It(e, Go), l = Ko(e), { hasRouterLink: n, hasLink: o, linkTag: u, linkAttrs: a, navigateOnClick: r } = Rn({
637
+ fallbackTag: "button"
638
+ }), h = d(() => {
639
+ const p = e.fab === !1 && e.fabMini === !1 ? t.value : {};
640
+ return e.padding !== void 0 ? Object.assign({}, p, {
641
+ padding: e.padding.split(/\s+/).map((O) => O in zl ? zl[O] + "px" : O).join(" "),
642
+ minWidth: "0",
643
+ minHeight: "0"
644
+ }) : p;
645
+ }), b = d(
646
+ () => e.rounded === !0 || e.fab === !0 || e.fabMini === !0
647
+ ), s = d(
648
+ () => e.disable !== !0 && e.loading !== !0
649
+ ), y = d(() => s.value === !0 ? e.tabindex || 0 : -1), v = d(() => ti(e, "standard")), c = d(() => {
650
+ const p = { tabindex: y.value };
651
+ return o.value === !0 ? Object.assign(p, a.value) : Zo.includes(e.type) === !0 && (p.type = e.type), u.value === "a" ? (e.disable === !0 ? p["aria-disabled"] = "true" : p.href === void 0 && (p.role = "button"), n.value !== !0 && Jo.test(e.type) === !0 && (p.type = e.type)) : e.disable === !0 && (p.disabled = "", p["aria-disabled"] = "true"), e.loading === !0 && e.percentage !== void 0 && Object.assign(p, {
652
+ role: "progressbar",
653
+ "aria-valuemin": 0,
654
+ "aria-valuemax": 100,
655
+ "aria-valuenow": e.percentage
656
+ }), p;
657
+ }), m = d(() => {
658
+ let p;
659
+ e.color !== void 0 ? e.flat === !0 || e.outline === !0 ? p = `text-${e.textColor || e.color}` : p = `bg-${e.color} text-${e.textColor || "white"}` : e.textColor && (p = `text-${e.textColor}`);
660
+ const O = e.round === !0 ? "round" : `rectangle${b.value === !0 ? " q-btn--rounded" : e.square === !0 ? " q-btn--square" : ""}`;
661
+ return `q-btn--${v.value} q-btn--${O}` + (p !== void 0 ? " " + p : "") + (s.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" : "");
662
+ }), C = d(
663
+ () => l.value + (e.stack === !0 ? " column" : " row") + (e.noWrap === !0 ? " no-wrap text-no-wrap" : "") + (e.loading === !0 ? " q-btn__content--hidden" : "")
664
+ );
665
+ return {
666
+ classes: m,
667
+ style: h,
668
+ innerClasses: C,
669
+ attributes: c,
670
+ hasLink: o,
671
+ linkTag: u,
672
+ navigateOnClick: r,
673
+ isActionable: s
674
+ };
675
+ }
676
+ const { passiveCapture: ge } = re;
677
+ let Ye = null, Xe = null, Ge = null;
678
+ const ii = he({
679
+ name: "QBtn",
680
+ props: {
681
+ ...ni,
682
+ percentage: Number,
683
+ darkPercentage: Boolean,
684
+ onTouchstart: [Function, Array]
685
+ },
686
+ emits: ["click", "keydown", "mousedown", "keyup"],
687
+ setup(e, { slots: t, emit: l }) {
688
+ const { proxy: n } = ne(), {
689
+ classes: o,
690
+ style: u,
691
+ innerClasses: a,
692
+ attributes: r,
693
+ hasLink: h,
694
+ linkTag: b,
695
+ navigateOnClick: s,
696
+ isActionable: y
697
+ } = oi(e), v = P(null), c = P(null);
698
+ let m = null, C, p = null;
699
+ const O = d(
700
+ () => e.label !== void 0 && e.label !== null && e.label !== ""
701
+ ), T = d(() => e.disable === !0 || e.ripple === !1 ? !1 : {
702
+ keyCodes: h.value === !0 ? [13, 32] : [13],
703
+ ...e.ripple === !0 ? {} : e.ripple
704
+ }), k = d(() => ({ center: e.round })), M = d(() => {
705
+ const B = Math.max(0, Math.min(100, e.percentage));
706
+ return B > 0 ? { transition: "transform 0.6s", transform: `translateX(${B - 100}%)` } : {};
707
+ }), R = d(() => {
708
+ if (e.loading === !0)
709
+ return {
710
+ onMousedown: K,
711
+ onTouchstart: K,
712
+ onClick: K,
713
+ onKeydown: K,
714
+ onKeyup: K
715
+ };
716
+ if (y.value === !0) {
717
+ const B = {
718
+ onClick: A,
719
+ onKeydown: z,
720
+ onMousedown: J
721
+ };
722
+ if (n.$q.platform.has.touch === !0) {
723
+ const D = e.onTouchstart !== void 0 ? "" : "Passive";
724
+ B[`onTouchstart${D}`] = N;
725
+ }
726
+ return B;
727
+ }
728
+ return {
729
+ // needed; especially for disabled <a> tags
730
+ onClick: le
731
+ };
732
+ }), V = d(() => ({
733
+ ref: v,
734
+ class: "q-btn q-btn-item non-selectable no-outline " + o.value,
735
+ style: u.value,
736
+ ...r.value,
737
+ ...R.value
738
+ }));
739
+ function A(B) {
740
+ if (v.value !== null) {
741
+ if (B !== void 0) {
742
+ if (B.defaultPrevented === !0)
743
+ return;
744
+ const D = document.activeElement;
745
+ if (e.type === "submit" && D !== document.body && v.value.contains(D) === !1 && D.contains(v.value) === !1) {
746
+ v.value.focus();
747
+ const X = () => {
748
+ document.removeEventListener("keydown", le, !0), document.removeEventListener("keyup", X, ge), v.value !== null && v.value.removeEventListener("blur", X, ge);
749
+ };
750
+ document.addEventListener("keydown", le, !0), document.addEventListener("keyup", X, ge), v.value.addEventListener("blur", X, ge);
751
+ }
752
+ }
753
+ s(B);
754
+ }
755
+ }
756
+ function z(B) {
757
+ v.value !== null && (l("keydown", B), Fe(B, [13, 32]) === !0 && Xe !== v.value && (Xe !== null && L(), B.defaultPrevented !== !0 && (v.value.focus(), Xe = v.value, v.value.classList.add("q-btn--active"), document.addEventListener("keyup", U, !0), v.value.addEventListener("blur", U, ge)), le(B)));
758
+ }
759
+ function N(B) {
760
+ v.value !== null && (l("touchstart", B), B.defaultPrevented !== !0 && (Ye !== v.value && (Ye !== null && L(), Ye = v.value, m = B.target, m.addEventListener("touchcancel", U, ge), m.addEventListener("touchend", U, ge)), C = !0, p !== null && clearTimeout(p), p = setTimeout(() => {
761
+ p = null, C = !1;
762
+ }, 200)));
763
+ }
764
+ function J(B) {
765
+ v.value !== null && (B.qSkipRipple = C === !0, l("mousedown", B), B.defaultPrevented !== !0 && Ge !== v.value && (Ge !== null && L(), Ge = v.value, v.value.classList.add("q-btn--active"), document.addEventListener("mouseup", U, ge)));
766
+ }
767
+ function U(B) {
768
+ if (v.value !== null && !(B !== void 0 && B.type === "blur" && document.activeElement === v.value)) {
769
+ if (B !== void 0 && B.type === "keyup") {
770
+ if (Xe === v.value && Fe(B, [13, 32]) === !0) {
771
+ const D = new MouseEvent("click", B);
772
+ D.qKeyEvent = !0, B.defaultPrevented === !0 && be(D), B.cancelBubble === !0 && Ee(D), v.value.dispatchEvent(D), le(B), B.qKeyEvent = !0;
773
+ }
774
+ l("keyup", B);
775
+ }
776
+ L();
777
+ }
778
+ }
779
+ function L(B) {
780
+ const D = c.value;
781
+ B !== !0 && (Ye === v.value || Ge === v.value) && D !== null && D !== document.activeElement && (D.setAttribute("tabindex", -1), D.focus()), Ye === v.value && (m !== null && (m.removeEventListener("touchcancel", U, ge), m.removeEventListener("touchend", U, ge)), Ye = m = null), Ge === v.value && (document.removeEventListener("mouseup", U, ge), Ge = null), Xe === v.value && (document.removeEventListener("keyup", U, !0), v.value !== null && v.value.removeEventListener("blur", U, ge), Xe = null), v.value !== null && v.value.classList.remove("q-btn--active");
782
+ }
783
+ function K(B) {
784
+ le(B), B.qSkipRipple = !0;
785
+ }
786
+ return me(() => {
787
+ L(!0);
788
+ }), Object.assign(n, {
789
+ click: (B) => {
790
+ y.value === !0 && A(B);
791
+ }
792
+ }), () => {
793
+ let B = [];
794
+ e.icon !== void 0 && B.push(
795
+ g(_e, {
796
+ name: e.icon,
797
+ left: e.stack !== !0 && O.value === !0,
798
+ role: "img"
799
+ })
800
+ ), O.value === !0 && B.push(
801
+ g("span", { class: "block" }, [e.label])
802
+ ), B = Ae(t.default, B), e.iconRight !== void 0 && e.round === !1 && B.push(
803
+ g(_e, {
804
+ name: e.iconRight,
805
+ right: e.stack !== !0 && O.value === !0,
806
+ role: "img"
807
+ })
808
+ );
809
+ const D = [
810
+ g("span", {
811
+ class: "q-focus-helper",
812
+ ref: c
813
+ })
814
+ ];
815
+ return e.loading === !0 && e.percentage !== void 0 && D.push(
816
+ g("span", {
817
+ class: "q-btn__progress absolute-full overflow-hidden" + (e.darkPercentage === !0 ? " q-btn__progress--dark" : "")
818
+ }, [
819
+ g("span", {
820
+ class: "q-btn__progress-indicator fit block",
821
+ style: M.value
822
+ })
823
+ ])
824
+ ), D.push(
825
+ g("span", {
826
+ class: "q-btn__content text-center col items-center q-anchor--skip " + a.value
827
+ }, B)
828
+ ), e.loading !== null && D.push(
829
+ g(dt, {
830
+ name: "q-transition--fade"
831
+ }, () => e.loading === !0 ? [
832
+ g("span", {
833
+ key: "loading",
834
+ class: "absolute-full flex flex-center"
835
+ }, t.loading !== void 0 ? t.loading() : [g(kn)])
836
+ ] : null)
837
+ ), vn(
838
+ g(
839
+ b.value,
840
+ V.value,
841
+ D
842
+ ),
843
+ [[
844
+ En,
845
+ T.value,
846
+ void 0,
847
+ k.value
848
+ ]]
849
+ );
850
+ };
851
+ }
852
+ }), ui = {
853
+ name: "AppButton"
854
+ }, ai = /* @__PURE__ */ mt({
855
+ ...ui,
856
+ props: {
857
+ size: { default: qe.MD },
858
+ transparent: { type: Boolean },
859
+ flat: { type: Boolean },
860
+ rounded: { type: Boolean },
861
+ color: { default: bn.PRIMARY },
862
+ iconLeft: {},
863
+ iconRight: {},
864
+ iconMiddle: {},
865
+ disabled: { type: Boolean },
866
+ loading: { type: Boolean },
867
+ to: {},
868
+ href: {},
869
+ target: {},
870
+ submit: { type: Boolean },
871
+ ariaLabel: {},
872
+ label: {}
873
+ },
874
+ emits: ["click"],
875
+ setup(e) {
876
+ const t = e, l = d(() => [
877
+ "app-btn",
878
+ {
879
+ "app-btn_default": !t.transparent && !t.flat,
880
+ "app-btn_trans": t.transparent,
881
+ "app-btn_flat": t.flat,
882
+ "app-btn_rounded": t.rounded,
883
+ "app-btn_sm": t.size === qe.SM,
884
+ "app-btn_md": t.size === qe.MD,
885
+ "app-btn_lg": t.size === qe.LG,
886
+ "app-btn_icon-left": t.iconLeft,
887
+ "app-btn_icon-right": t.iconRight,
888
+ "app-btn_icon-middle": t.iconMiddle
889
+ },
890
+ `app-btn_${t.color}`
891
+ ]);
892
+ return (n, o) => (ue(), $t(st(ii), {
893
+ "no-caps": "",
894
+ unelevated: "",
895
+ class: Ve(l.value),
896
+ padding: st(_o)[n.size || st(qe).MD],
897
+ loading: n.loading,
898
+ disable: n.disabled || void 0,
899
+ to: n.to,
900
+ href: n.href,
901
+ target: n.target,
902
+ type: n.submit ? "submit" : void 0,
903
+ "aria-label": n.ariaLabel,
904
+ onClick: o[0] || (o[0] = (u) => n.$emit("click", u))
905
+ }, {
906
+ default: xe(() => [
907
+ n.iconLeft || n.iconMiddle ? (ue(), de("i", {
908
+ key: 0,
909
+ class: Ve([
910
+ "icon-kl",
911
+ n.iconLeft ? "icon-kl_left" : "icon-kl_middle",
912
+ `icon-kl-${n.iconLeft || n.iconMiddle}`,
913
+ n.transparent || n.flat ? `text-${n.color}` : "text-secondary"
914
+ ])
915
+ }, null, 2)) : Ce("", !0),
916
+ bo(n.$slots, "default", {}, void 0, !0),
917
+ n.label ? (ue(), de(at, { key: 1 }, [
918
+ Vt(Ze(n.label), 1)
919
+ ], 64)) : Ce("", !0),
920
+ n.iconRight ? (ue(), de("i", {
921
+ key: 2,
922
+ class: Ve([
923
+ "icon-kl",
924
+ "icon-kl_right",
925
+ `icon-kl-${n.iconRight}`,
926
+ n.transparent ? `text-${n.color}` : "text-secondary"
927
+ ])
928
+ }, null, 2)) : Ce("", !0)
929
+ ]),
930
+ _: 3
931
+ }, 8, ["class", "padding", "loading", "disable", "to", "href", "target", "type", "aria-label"]));
932
+ }
933
+ }), fl = (e, t) => {
934
+ const l = e.__vccOpts || e;
935
+ for (const [n, o] of t)
936
+ l[n] = o;
937
+ return l;
938
+ }, ri = /* @__PURE__ */ fl(ai, [["__scopeId", "data-v-f786e66a"]]), ft = P(
939
+ !1
940
+ );
941
+ let ul;
942
+ function si(e, t) {
943
+ const l = /(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) || [];
944
+ return {
945
+ browser: l[5] || l[3] || l[1] || "",
946
+ version: l[4] || l[2] || "0",
947
+ platform: t[0] || ""
948
+ };
949
+ }
950
+ function ci(e) {
951
+ 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) || [];
952
+ }
953
+ const Ln = "ontouchstart" in window || window.navigator.maxTouchPoints > 0;
954
+ function di(e) {
955
+ const t = e.toLowerCase(), l = ci(t), n = si(t, l), o = {
956
+ mobile: !1,
957
+ desktop: !1,
958
+ cordova: !1,
959
+ capacitor: !1,
960
+ nativeMobile: !1,
961
+ // nativeMobileWrapper: void 0,
962
+ electron: !1,
963
+ bex: !1,
964
+ linux: !1,
965
+ mac: !1,
966
+ win: !1,
967
+ cros: !1,
968
+ chrome: !1,
969
+ firefox: !1,
970
+ opera: !1,
971
+ safari: !1,
972
+ vivaldi: !1,
973
+ edge: !1,
974
+ edgeChromium: !1,
975
+ ie: !1,
976
+ webkit: !1,
977
+ android: !1,
978
+ ios: !1,
979
+ ipad: !1,
980
+ iphone: !1,
981
+ ipod: !1,
982
+ kindle: !1,
983
+ winphone: !1,
984
+ blackberry: !1,
985
+ playbook: !1,
986
+ silk: !1
987
+ };
988
+ n.browser && (o[n.browser] = !0, o.version = n.version, o.versionNumber = parseInt(n.version, 10)), n.platform && (o[n.platform] = !0);
989
+ const u = o.android || o.ios || o.bb || o.blackberry || o.ipad || o.iphone || o.ipod || o.kindle || o.playbook || o.silk || o["windows phone"];
990
+ if (u === !0 || t.indexOf("mobile") !== -1 ? o.mobile = !0 : o.desktop = !0, o["windows phone"] && (o.winphone = !0, delete o["windows phone"]), o.edga || o.edgios || o.edg ? (o.edge = !0, n.browser = "edge") : o.crios ? (o.chrome = !0, n.browser = "chrome") : o.fxios && (o.firefox = !0, n.browser = "firefox"), (o.ipod || o.ipad || o.iphone) && (o.ios = !0), o.vivaldi && (n.browser = "vivaldi", o.vivaldi = !0), // Chrome, Opera 15+, Vivaldi and Safari are webkit based browsers
991
+ (o.chrome || o.opr || o.safari || o.vivaldi || o.mobile === !0 && o.ios !== !0 && u !== !0) && (o.webkit = !0), o.opr && (n.browser = "opera", o.opera = !0), o.safari && (o.blackberry || o.bb ? (n.browser = "blackberry", o.blackberry = !0) : o.playbook ? (n.browser = "playbook", o.playbook = !0) : o.android ? (n.browser = "android", o.android = !0) : o.kindle ? (n.browser = "kindle", o.kindle = !0) : o.silk && (n.browser = "silk", o.silk = !0)), o.name = n.browser, o.platform = n.platform, t.indexOf("electron") !== -1)
992
+ o.electron = !0;
993
+ else if (document.location.href.indexOf("-extension://") !== -1)
994
+ o.bex = !0;
995
+ else {
996
+ if (window.Capacitor !== void 0 ? (o.capacitor = !0, o.nativeMobile = !0, o.nativeMobileWrapper = "capacitor") : (window._cordovaNative !== void 0 || window.cordova !== void 0) && (o.cordova = !0, o.nativeMobile = !0, o.nativeMobileWrapper = "cordova"), ft.value === !0 && (ul = { is: { ...o } }), Ln === !0 && o.mac === !0 && (o.desktop === !0 && o.safari === !0 || o.nativeMobile === !0 && o.android !== !0 && o.ios !== !0 && o.ipad !== !0)) {
997
+ delete o.mac, delete o.desktop;
998
+ const a = Math.min(window.innerHeight, window.innerWidth) > 414 ? "ipad" : "iphone";
999
+ Object.assign(o, {
1000
+ mobile: !0,
1001
+ ios: !0,
1002
+ platform: a,
1003
+ [a]: !0
1004
+ });
1005
+ }
1006
+ o.mobile !== !0 && window.navigator.userAgentData && window.navigator.userAgentData.mobile && (delete o.desktop, o.mobile = !0);
1007
+ }
1008
+ return o;
1009
+ }
1010
+ const Il = navigator.userAgent || navigator.vendor || window.opera, fi = {
1011
+ has: {
1012
+ touch: !1,
1013
+ webStorage: !1
1014
+ },
1015
+ within: { iframe: !1 }
1016
+ }, ve = {
1017
+ userAgent: Il,
1018
+ is: di(Il),
1019
+ has: {
1020
+ touch: Ln
1021
+ },
1022
+ within: {
1023
+ iframe: window.self !== window.top
1024
+ }
1025
+ }, al = {
1026
+ install(e) {
1027
+ const { $q: t } = e;
1028
+ ft.value === !0 ? (e.onSSRHydrated.push(() => {
1029
+ Object.assign(t.platform, ve), ft.value = !1;
1030
+ }), t.platform = yo(this)) : t.platform = this;
1031
+ }
1032
+ };
1033
+ {
1034
+ let e;
1035
+ dl(ve.has, "webStorage", () => {
1036
+ if (e !== void 0)
1037
+ return e;
1038
+ try {
1039
+ if (window.localStorage)
1040
+ return e = !0, !0;
1041
+ } catch {
1042
+ }
1043
+ return e = !1, !1;
1044
+ }), Object.assign(al, ve), ft.value === !0 && (Object.assign(al, ul, fi), ul = null);
1045
+ }
1046
+ const Pe = [];
1047
+ function Mn(e) {
1048
+ Pe[Pe.length - 1](e);
1049
+ }
1050
+ function vl(e) {
1051
+ ve.is.desktop === !0 && (Pe.push(e), Pe.length === 1 && document.body.addEventListener("focusin", Mn));
1052
+ }
1053
+ function Rt(e) {
1054
+ const t = Pe.indexOf(e);
1055
+ t !== -1 && (Pe.splice(t, 1), Pe.length === 0 && document.body.removeEventListener("focusin", Mn));
1056
+ }
1057
+ function vi(e) {
1058
+ const t = document.createElement("textarea");
1059
+ t.value = e, t.contentEditable = "true", t.style.position = "fixed";
1060
+ const l = () => {
1061
+ };
1062
+ vl(l), document.body.appendChild(t), t.focus(), t.select();
1063
+ const n = document.execCommand("copy");
1064
+ return t.remove(), Rt(l), n;
1065
+ }
1066
+ function mi(e) {
1067
+ return navigator.clipboard !== void 0 ? navigator.clipboard.writeText(e) : new Promise((t, l) => {
1068
+ const n = vi(e);
1069
+ n ? t(!0) : l(n);
1070
+ });
1071
+ }
1072
+ const Ut = {
1073
+ COPY: "copy_o",
1074
+ COPIED: "copied_o"
1075
+ }, hi = {
1076
+ name: "AppButtonCopy"
1077
+ }, Iu = /* @__PURE__ */ mt({
1078
+ ...hi,
1079
+ props: {
1080
+ text: {},
1081
+ size: {},
1082
+ transparent: { type: Boolean, default: !0 },
1083
+ flat: { type: Boolean },
1084
+ rounded: { type: Boolean },
1085
+ color: { default: bn.INFO },
1086
+ iconLeft: {},
1087
+ iconRight: {},
1088
+ iconMiddle: {},
1089
+ disabled: { type: Boolean },
1090
+ loading: { type: Boolean },
1091
+ to: {},
1092
+ href: {},
1093
+ target: {},
1094
+ submit: { type: Boolean },
1095
+ ariaLabel: {},
1096
+ label: {}
1097
+ },
1098
+ setup(e) {
1099
+ const t = e, l = P(Ut.COPY), n = () => {
1100
+ l.value = Ut.COPIED, setTimeout(() => {
1101
+ l.value = Ut.COPY;
1102
+ }, 2e3);
1103
+ }, o = () => {
1104
+ mi(t.text).then(n).catch((u) => {
1105
+ console.log(u);
1106
+ });
1107
+ };
1108
+ return (u, a) => (ue(), $t(ri, mn(t, {
1109
+ "icon-middle": l.value,
1110
+ onClick: hn(o, ["prevent"])
1111
+ }), null, 16, ["icon-middle"]));
1112
+ }
1113
+ }), gt = {
1114
+ dark: {
1115
+ type: Boolean,
1116
+ default: null
1117
+ }
1118
+ };
1119
+ function pt(e, t) {
1120
+ return d(() => e.dark === null ? t.dark.isActive : e.dark);
1121
+ }
1122
+ function gi(e, t) {
1123
+ const l = P(null), n = d(() => e.disable === !0 ? null : g("span", {
1124
+ ref: l,
1125
+ class: "no-outline",
1126
+ tabindex: -1
1127
+ }));
1128
+ function o(u) {
1129
+ const a = t.value;
1130
+ u !== void 0 && u.type.indexOf("key") === 0 ? a !== null && document.activeElement !== a && a.contains(document.activeElement) === !0 && a.focus() : l.value !== null && (u === void 0 || a !== null && a.contains(u.target) === !0) && l.value.focus();
1131
+ }
1132
+ return {
1133
+ refocusTargetEl: n,
1134
+ refocusTarget: o
1135
+ };
1136
+ }
1137
+ const An = {
1138
+ name: String
1139
+ };
1140
+ function pi(e = {}) {
1141
+ return (t, l, n) => {
1142
+ t[l](
1143
+ g("input", {
1144
+ class: "hidden" + (n || ""),
1145
+ ...e.value
1146
+ })
1147
+ );
1148
+ };
1149
+ }
1150
+ function bi(e) {
1151
+ return d(() => e.name || e.for);
1152
+ }
1153
+ const yi = {
1154
+ xs: 30,
1155
+ sm: 35,
1156
+ md: 40,
1157
+ lg: 50,
1158
+ xl: 60
1159
+ }, wi = {
1160
+ ...gt,
1161
+ ...zt,
1162
+ ...An,
1163
+ modelValue: {
1164
+ required: !0,
1165
+ default: null
1166
+ },
1167
+ val: {},
1168
+ trueValue: { default: !0 },
1169
+ falseValue: { default: !1 },
1170
+ indeterminateValue: { default: null },
1171
+ checkedIcon: String,
1172
+ uncheckedIcon: String,
1173
+ indeterminateIcon: String,
1174
+ toggleOrder: {
1175
+ type: String,
1176
+ validator: (e) => e === "tf" || e === "ft"
1177
+ },
1178
+ toggleIndeterminate: Boolean,
1179
+ label: String,
1180
+ leftLabel: Boolean,
1181
+ color: String,
1182
+ keepColor: Boolean,
1183
+ dense: Boolean,
1184
+ disable: Boolean,
1185
+ tabindex: [String, Number]
1186
+ }, Si = ["update:modelValue"];
1187
+ function ki(e, t) {
1188
+ const { props: l, slots: n, emit: o, proxy: u } = ne(), { $q: a } = u, r = pt(l, a), h = P(null), { refocusTargetEl: b, refocusTarget: s } = gi(l, h), y = It(l, yi), v = d(
1189
+ () => l.val !== void 0 && Array.isArray(l.modelValue)
1190
+ ), c = d(() => {
1191
+ const L = Ue(l.val);
1192
+ return v.value === !0 ? l.modelValue.findIndex((K) => Ue(K) === L) : -1;
1193
+ }), m = d(() => v.value === !0 ? c.value !== -1 : Ue(l.modelValue) === Ue(l.trueValue)), C = d(() => v.value === !0 ? c.value === -1 : Ue(l.modelValue) === Ue(l.falseValue)), p = d(
1194
+ () => m.value === !1 && C.value === !1
1195
+ ), O = d(() => l.disable === !0 ? -1 : l.tabindex || 0), T = d(
1196
+ () => `q-${e} cursor-pointer no-outline row inline no-wrap items-center` + (l.disable === !0 ? " disabled" : "") + (r.value === !0 ? ` q-${e}--dark` : "") + (l.dense === !0 ? ` q-${e}--dense` : "") + (l.leftLabel === !0 ? " reverse" : "")
1197
+ ), k = d(() => {
1198
+ const L = m.value === !0 ? "truthy" : C.value === !0 ? "falsy" : "indet", K = l.color !== void 0 && (l.keepColor === !0 || C.value !== !0) ? ` text-${l.color}` : "";
1199
+ return `q-${e}__inner relative-position non-selectable q-${e}__inner--${L}${K}`;
1200
+ }), M = d(() => {
1201
+ const L = { type: "checkbox" };
1202
+ return l.name !== void 0 && Object.assign(L, {
1203
+ // see https://vuejs.org/guide/extras/render-function.html#creating-vnodes (.prop)
1204
+ ".checked": m.value,
1205
+ "^checked": m.value === !0 ? "checked" : void 0,
1206
+ name: l.name,
1207
+ value: v.value === !0 ? l.val : l.trueValue
1208
+ }), L;
1209
+ }), R = pi(M), V = d(() => {
1210
+ const L = {
1211
+ tabindex: O.value,
1212
+ role: "checkbox",
1213
+ "aria-label": l.label,
1214
+ "aria-checked": p.value === !0 ? "mixed" : m.value === !0 ? "true" : "false"
1215
+ };
1216
+ return l.disable === !0 && (L["aria-disabled"] = "true"), L;
1217
+ });
1218
+ function A(L) {
1219
+ L !== void 0 && (le(L), s(L)), l.disable !== !0 && o("update:modelValue", z(), L);
1220
+ }
1221
+ function z() {
1222
+ if (v.value === !0) {
1223
+ if (m.value === !0) {
1224
+ const L = l.modelValue.slice();
1225
+ return L.splice(c.value, 1), L;
1226
+ }
1227
+ return l.modelValue.concat([l.val]);
1228
+ }
1229
+ if (m.value === !0) {
1230
+ if (l.toggleOrder !== "ft" || l.toggleIndeterminate === !1)
1231
+ return l.falseValue;
1232
+ } else if (C.value === !0) {
1233
+ if (l.toggleOrder === "ft" || l.toggleIndeterminate === !1)
1234
+ return l.trueValue;
1235
+ } else
1236
+ return l.toggleOrder !== "ft" ? l.trueValue : l.falseValue;
1237
+ return l.indeterminateValue;
1238
+ }
1239
+ function N(L) {
1240
+ (L.keyCode === 13 || L.keyCode === 32) && le(L);
1241
+ }
1242
+ function J(L) {
1243
+ (L.keyCode === 13 || L.keyCode === 32) && A(L);
1244
+ }
1245
+ const U = t(m, p);
1246
+ return Object.assign(u, { toggle: A }), () => {
1247
+ const L = U();
1248
+ l.disable !== !0 && R(
1249
+ L,
1250
+ "unshift",
1251
+ ` q-${e}__native absolute q-ma-none q-pa-none`
1252
+ );
1253
+ const K = [
1254
+ g("div", {
1255
+ class: k.value,
1256
+ style: y.value,
1257
+ "aria-hidden": "true"
1258
+ }, L)
1259
+ ];
1260
+ b.value !== null && K.push(b.value);
1261
+ const B = l.label !== void 0 ? Ae(n.default, [l.label]) : ke(n.default);
1262
+ return B !== void 0 && K.push(
1263
+ g("div", {
1264
+ class: `q-${e}__label q-anchor--skip`
1265
+ }, B)
1266
+ ), g("div", {
1267
+ ref: h,
1268
+ class: T.value,
1269
+ ...V.value,
1270
+ onClick: A,
1271
+ onKeydown: N,
1272
+ onKeyup: J
1273
+ }, K);
1274
+ };
1275
+ }
1276
+ const xi = () => g("div", {
1277
+ key: "svg",
1278
+ class: "q-checkbox__bg absolute"
1279
+ }, [
1280
+ g("svg", {
1281
+ class: "q-checkbox__svg fit absolute-full",
1282
+ viewBox: "0 0 24 24"
1283
+ }, [
1284
+ g("path", {
1285
+ class: "q-checkbox__truthy",
1286
+ fill: "none",
1287
+ d: "M1.73,12.91 8.1,19.28 22.79,4.59"
1288
+ }),
1289
+ g("path", {
1290
+ class: "q-checkbox__indet",
1291
+ d: "M4,14H20V10H4"
1292
+ })
1293
+ ])
1294
+ ]), Ci = he({
1295
+ name: "QCheckbox",
1296
+ props: wi,
1297
+ emits: Si,
1298
+ setup(e) {
1299
+ const t = xi();
1300
+ function l(n, o) {
1301
+ const u = d(
1302
+ () => (n.value === !0 ? e.checkedIcon : o.value === !0 ? e.indeterminateIcon : e.uncheckedIcon) || null
1303
+ );
1304
+ return () => u.value !== null ? [
1305
+ g("div", {
1306
+ key: "icon",
1307
+ class: "q-checkbox__icon-container absolute-full flex flex-center no-wrap"
1308
+ }, [
1309
+ g(_e, {
1310
+ class: "q-checkbox__icon",
1311
+ name: u.value
1312
+ })
1313
+ ])
1314
+ ] : [t];
1315
+ }
1316
+ return ki("checkbox", l);
1317
+ }
1318
+ }), Tt = he({
1319
+ name: "QItemSection",
1320
+ props: {
1321
+ avatar: Boolean,
1322
+ thumbnail: Boolean,
1323
+ side: Boolean,
1324
+ top: Boolean,
1325
+ noWrap: Boolean
1326
+ },
1327
+ setup(e, { slots: t }) {
1328
+ const l = d(
1329
+ () => `q-item__section column q-item__section--${e.avatar === !0 || e.side === !0 || e.thumbnail === !0 ? "side" : "main"}` + (e.top === !0 ? " q-item__section--top justify-start" : " justify-center") + (e.avatar === !0 ? " q-item__section--avatar" : "") + (e.thumbnail === !0 ? " q-item__section--thumbnail" : "") + (e.noWrap === !0 ? " q-item__section--nowrap" : "")
1330
+ );
1331
+ return () => g("div", { class: l.value }, ke(t.default));
1332
+ }
1333
+ }), On = he({
1334
+ name: "QItemLabel",
1335
+ props: {
1336
+ overline: Boolean,
1337
+ caption: Boolean,
1338
+ header: Boolean,
1339
+ lines: [Number, String]
1340
+ },
1341
+ setup(e, { slots: t }) {
1342
+ const l = d(() => parseInt(e.lines, 10)), n = d(
1343
+ () => "q-item__label" + (e.overline === !0 ? " q-item__label--overline text-overline" : "") + (e.caption === !0 ? " q-item__label--caption text-caption" : "") + (e.header === !0 ? " q-item__label--header" : "") + (l.value === 1 ? " ellipsis" : "")
1344
+ ), o = d(() => e.lines !== void 0 && l.value > 1 ? {
1345
+ overflow: "hidden",
1346
+ display: "-webkit-box",
1347
+ "-webkit-box-orient": "vertical",
1348
+ "-webkit-line-clamp": l.value
1349
+ } : null);
1350
+ return () => g("div", {
1351
+ style: o.value,
1352
+ class: n.value
1353
+ }, ke(t.default));
1354
+ }
1355
+ }), Pn = he({
1356
+ name: "QItem",
1357
+ props: {
1358
+ ...gt,
1359
+ ...Xo,
1360
+ tag: {
1361
+ type: String,
1362
+ default: "div"
1363
+ },
1364
+ active: {
1365
+ type: Boolean,
1366
+ default: null
1367
+ },
1368
+ clickable: Boolean,
1369
+ dense: Boolean,
1370
+ insetLevel: Number,
1371
+ tabindex: [String, Number],
1372
+ focused: Boolean,
1373
+ manualFocus: Boolean
1374
+ },
1375
+ emits: ["click", "keyup"],
1376
+ setup(e, { slots: t, emit: l }) {
1377
+ const { proxy: { $q: n } } = ne(), o = pt(e, n), { hasLink: u, linkAttrs: a, linkClass: r, linkTag: h, navigateOnClick: b } = Rn(), s = P(null), y = P(null), v = d(
1378
+ () => e.clickable === !0 || u.value === !0 || e.tag === "label"
1379
+ ), c = d(
1380
+ () => e.disable !== !0 && v.value === !0
1381
+ ), m = d(
1382
+ () => "q-item q-item-type row no-wrap" + (e.dense === !0 ? " q-item--dense" : "") + (o.value === !0 ? " q-item--dark" : "") + (u.value === !0 && e.active === null ? r.value : e.active === !0 ? ` q-item--active${e.activeClass !== void 0 ? ` ${e.activeClass}` : ""}` : "") + (e.disable === !0 ? " disabled" : "") + (c.value === !0 ? " q-item--clickable q-link cursor-pointer " + (e.manualFocus === !0 ? "q-manual-focusable" : "q-focusable q-hoverable") + (e.focused === !0 ? " q-manual-focusable--focused" : "") : "")
1383
+ ), C = d(() => e.insetLevel === void 0 ? null : {
1384
+ ["padding" + (n.lang.rtl === !0 ? "Right" : "Left")]: 16 + e.insetLevel * 56 + "px"
1385
+ });
1386
+ function p(k) {
1387
+ c.value === !0 && (y.value !== null && (k.qKeyEvent !== !0 && document.activeElement === s.value ? y.value.focus() : document.activeElement === y.value && s.value.focus()), b(k));
1388
+ }
1389
+ function O(k) {
1390
+ if (c.value === !0 && Fe(k, [13, 32]) === !0) {
1391
+ le(k), k.qKeyEvent = !0;
1392
+ const M = new MouseEvent("click", k);
1393
+ M.qKeyEvent = !0, s.value.dispatchEvent(M);
1394
+ }
1395
+ l("keyup", k);
1396
+ }
1397
+ function T() {
1398
+ const k = Bo(t.default, []);
1399
+ return c.value === !0 && k.unshift(
1400
+ g("div", { class: "q-focus-helper", tabindex: -1, ref: y })
1401
+ ), k;
1402
+ }
1403
+ return () => {
1404
+ const k = {
1405
+ ref: s,
1406
+ class: m.value,
1407
+ style: C.value,
1408
+ role: "listitem",
1409
+ onClick: p,
1410
+ onKeyup: O
1411
+ };
1412
+ return c.value === !0 ? (k.tabindex = e.tabindex || "0", Object.assign(k, a.value)) : v.value === !0 && (k["aria-disabled"] = "true"), g(
1413
+ h.value,
1414
+ k,
1415
+ T()
1416
+ );
1417
+ };
1418
+ }
1419
+ }), Fl = (e) => e ? !0 : "Обовʼязкове поле";
1420
+ let Yt, xt = 0;
1421
+ const ie = new Array(256);
1422
+ for (let e = 0; e < 256; e++)
1423
+ ie[e] = (e + 256).toString(16).substring(1);
1424
+ const qi = (() => {
1425
+ const e = typeof crypto < "u" ? crypto : typeof window < "u" ? window.crypto || window.msCrypto : void 0;
1426
+ if (e !== void 0) {
1427
+ if (e.randomBytes !== void 0)
1428
+ return e.randomBytes;
1429
+ if (e.getRandomValues !== void 0)
1430
+ return (t) => {
1431
+ const l = new Uint8Array(t);
1432
+ return e.getRandomValues(l), l;
1433
+ };
1434
+ }
1435
+ return (t) => {
1436
+ const l = [];
1437
+ for (let n = t; n > 0; n--)
1438
+ l.push(Math.floor(Math.random() * 256));
1439
+ return l;
1440
+ };
1441
+ })(), Hl = 4096;
1442
+ function rl() {
1443
+ (Yt === void 0 || xt + 16 > Hl) && (xt = 0, Yt = qi(Hl));
1444
+ const e = Array.prototype.slice.call(Yt, xt, xt += 16);
1445
+ return e[6] = e[6] & 15 | 64, e[8] = e[8] & 63 | 128, ie[e[0]] + ie[e[1]] + ie[e[2]] + ie[e[3]] + "-" + ie[e[4]] + ie[e[5]] + "-" + ie[e[6]] + ie[e[7]] + "-" + ie[e[8]] + ie[e[9]] + "-" + ie[e[10]] + ie[e[11]] + ie[e[12]] + ie[e[13]] + ie[e[14]] + ie[e[15]];
1446
+ }
1447
+ function _i(e) {
1448
+ return e ?? null;
1449
+ }
1450
+ function Dl(e, t) {
1451
+ return e ?? (t === !0 ? `f_${rl()}` : null);
1452
+ }
1453
+ function Ei({ getValue: e, required: t = !0 } = {}) {
1454
+ if (ft.value === !0) {
1455
+ const l = e !== void 0 ? P(_i(e())) : P(null);
1456
+ return t === !0 && l.value === null && ht(() => {
1457
+ l.value = `f_${rl()}`;
1458
+ }), e !== void 0 && Z(e, (n) => {
1459
+ l.value = Dl(n, t);
1460
+ }), l;
1461
+ }
1462
+ return e !== void 0 ? d(() => Dl(e(), t)) : P(`f_${rl()}`);
1463
+ }
1464
+ const jl = /^on[A-Z]/;
1465
+ function Bi() {
1466
+ const { attrs: e, vnode: t } = ne(), l = {
1467
+ listeners: P({}),
1468
+ attributes: P({})
1469
+ };
1470
+ function n() {
1471
+ const o = {}, u = {};
1472
+ for (const a in e)
1473
+ a !== "class" && a !== "style" && jl.test(a) === !1 && (o[a] = e[a]);
1474
+ for (const a in t.props)
1475
+ jl.test(a) === !0 && (u[a] = t.props[a]);
1476
+ l.attributes.value = o, l.listeners.value = u;
1477
+ }
1478
+ return gn(n), n(), l;
1479
+ }
1480
+ const Vi = "_q_fo_";
1481
+ function Ti({ validate: e, resetValidation: t, requiresQForm: l }) {
1482
+ const n = wo(Vi, !1);
1483
+ if (n !== !1) {
1484
+ const { props: o, proxy: u } = ne();
1485
+ Object.assign(u, { validate: e, resetValidation: t }), Z(() => o.disable, (a) => {
1486
+ a === !0 ? (typeof t == "function" && t(), n.unbindComponent(u)) : n.bindComponent(u);
1487
+ }), ht(() => {
1488
+ o.disable !== !0 && n.bindComponent(u);
1489
+ }), me(() => {
1490
+ o.disable !== !0 && n.unbindComponent(u);
1491
+ });
1492
+ } else l === !0 && console.error("Parent QForm not found on useFormChild()!");
1493
+ }
1494
+ const Nl = /^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/, Wl = /^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/, Kl = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/, Ct = /^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/, qt = /^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/, Xt = {
1495
+ date: (e) => /^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(e),
1496
+ time: (e) => /^([0-1]?\d|2[0-3]):[0-5]\d$/.test(e),
1497
+ fulltime: (e) => /^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(e),
1498
+ timeOrFulltime: (e) => /^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(e),
1499
+ // -- RFC 5322 --
1500
+ // -- Added in v2.6.6 --
1501
+ // This is a basic helper validation.
1502
+ // For something more complex (like RFC 822) you should write and use your own rule.
1503
+ // We won't be accepting PRs to enhance the one below because of the reason above.
1504
+ // eslint-disable-next-line
1505
+ email: (e) => /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),
1506
+ hexColor: (e) => Nl.test(e),
1507
+ hexaColor: (e) => Wl.test(e),
1508
+ hexOrHexaColor: (e) => Kl.test(e),
1509
+ rgbColor: (e) => Ct.test(e),
1510
+ rgbaColor: (e) => qt.test(e),
1511
+ rgbOrRgbaColor: (e) => Ct.test(e) || qt.test(e),
1512
+ hexOrRgbColor: (e) => Nl.test(e) || Ct.test(e),
1513
+ hexaOrRgbaColor: (e) => Wl.test(e) || qt.test(e),
1514
+ anyColor: (e) => Kl.test(e) || Ct.test(e) || qt.test(e)
1515
+ };
1516
+ function zn(e, t = 250, l) {
1517
+ let n = null;
1518
+ function o() {
1519
+ const u = arguments, a = () => {
1520
+ n = null, e.apply(this, u);
1521
+ };
1522
+ n !== null && clearTimeout(n), n = setTimeout(a, t);
1523
+ }
1524
+ return o.cancel = () => {
1525
+ n !== null && clearTimeout(n);
1526
+ }, o;
1527
+ }
1528
+ const $i = [!0, !1, "ondemand"], Ri = {
1529
+ modelValue: {},
1530
+ error: {
1531
+ type: Boolean,
1532
+ default: null
1533
+ },
1534
+ errorMessage: String,
1535
+ noErrorIcon: Boolean,
1536
+ rules: Array,
1537
+ reactiveRules: Boolean,
1538
+ lazyRules: {
1539
+ type: [Boolean, String],
1540
+ default: !1,
1541
+ // statement unneeded but avoids future vue implementation changes
1542
+ validator: (e) => $i.includes(e)
1543
+ }
1544
+ };
1545
+ function Li(e, t) {
1546
+ const { props: l, proxy: n } = ne(), o = P(!1), u = P(null), a = P(!1);
1547
+ Ti({ validate: C, resetValidation: m });
1548
+ let r = 0, h;
1549
+ const b = d(
1550
+ () => l.rules !== void 0 && l.rules !== null && l.rules.length !== 0
1551
+ ), s = d(() => l.disable !== !0 && b.value === !0 && t.value === !1), y = d(
1552
+ () => l.error === !0 || o.value === !0
1553
+ ), v = d(() => typeof l.errorMessage == "string" && l.errorMessage.length !== 0 ? l.errorMessage : u.value);
1554
+ Z(() => l.modelValue, () => {
1555
+ a.value = !0, s.value === !0 && l.lazyRules === !1 && p();
1556
+ });
1557
+ function c() {
1558
+ l.lazyRules !== "ondemand" && s.value === !0 && a.value === !0 && p();
1559
+ }
1560
+ Z(() => l.reactiveRules, (O) => {
1561
+ O === !0 ? h === void 0 && (h = Z(() => l.rules, c, { immediate: !0, deep: !0 })) : h !== void 0 && (h(), h = void 0);
1562
+ }, { immediate: !0 }), Z(() => l.lazyRules, c), Z(e, (O) => {
1563
+ O === !0 ? a.value = !0 : s.value === !0 && l.lazyRules !== "ondemand" && p();
1564
+ });
1565
+ function m() {
1566
+ r++, t.value = !1, a.value = !1, o.value = !1, u.value = null, p.cancel();
1567
+ }
1568
+ function C(O = l.modelValue) {
1569
+ if (l.disable === !0 || b.value === !1)
1570
+ return !0;
1571
+ const T = ++r, k = t.value !== !0 ? () => {
1572
+ a.value = !0;
1573
+ } : () => {
1574
+ }, M = (V, A) => {
1575
+ V === !0 && k(), o.value = V, u.value = A || null, t.value = !1;
1576
+ }, R = [];
1577
+ for (let V = 0; V < l.rules.length; V++) {
1578
+ const A = l.rules[V];
1579
+ let z;
1580
+ if (typeof A == "function" ? z = A(O, Xt) : typeof A == "string" && Xt[A] !== void 0 && (z = Xt[A](O)), z === !1 || typeof z == "string")
1581
+ return M(!0, z), !1;
1582
+ z !== !0 && z !== void 0 && R.push(z);
1583
+ }
1584
+ return R.length === 0 ? (M(!1), !0) : (t.value = !0, Promise.all(R).then(
1585
+ (V) => {
1586
+ if (V === void 0 || Array.isArray(V) === !1 || V.length === 0)
1587
+ return T === r && M(!1), !0;
1588
+ const A = V.find((z) => z === !1 || typeof z == "string");
1589
+ return T === r && M(A !== void 0, A), A === void 0;
1590
+ },
1591
+ (V) => (T === r && (console.error(V), M(!0)), !1)
1592
+ ));
1593
+ }
1594
+ const p = zn(C, 0);
1595
+ return me(() => {
1596
+ h !== void 0 && h(), p.cancel();
1597
+ }), Object.assign(n, { resetValidation: m, validate: C }), dl(n, "hasError", () => y.value), {
1598
+ isDirtyModel: a,
1599
+ hasRules: b,
1600
+ hasError: y,
1601
+ errorMessage: v,
1602
+ validate: C,
1603
+ resetValidation: m
1604
+ };
1605
+ }
1606
+ let Oe = [], vt = [];
1607
+ function In(e) {
1608
+ vt = vt.filter((t) => t !== e);
1609
+ }
1610
+ function Mi(e) {
1611
+ In(e), vt.push(e);
1612
+ }
1613
+ function Ql(e) {
1614
+ In(e), vt.length === 0 && Oe.length !== 0 && (Oe[Oe.length - 1](), Oe = []);
1615
+ }
1616
+ function ml(e) {
1617
+ vt.length === 0 ? e() : Oe.push(e);
1618
+ }
1619
+ function Ai(e) {
1620
+ Oe = Oe.filter((t) => t !== e);
1621
+ }
1622
+ function sl(e) {
1623
+ return e != null && ("" + e).length !== 0;
1624
+ }
1625
+ const Oi = {
1626
+ ...gt,
1627
+ ...Ri,
1628
+ label: String,
1629
+ stackLabel: Boolean,
1630
+ hint: String,
1631
+ hideHint: Boolean,
1632
+ prefix: String,
1633
+ suffix: String,
1634
+ labelColor: String,
1635
+ color: String,
1636
+ bgColor: String,
1637
+ filled: Boolean,
1638
+ outlined: Boolean,
1639
+ borderless: Boolean,
1640
+ standout: [Boolean, String],
1641
+ square: Boolean,
1642
+ loading: Boolean,
1643
+ labelSlot: Boolean,
1644
+ bottomSlots: Boolean,
1645
+ hideBottomSpace: Boolean,
1646
+ rounded: Boolean,
1647
+ dense: Boolean,
1648
+ itemAligned: Boolean,
1649
+ counter: Boolean,
1650
+ clearable: Boolean,
1651
+ clearIcon: String,
1652
+ disable: Boolean,
1653
+ readonly: Boolean,
1654
+ autofocus: Boolean,
1655
+ for: String
1656
+ }, hl = {
1657
+ ...Oi,
1658
+ maxlength: [Number, String]
1659
+ }, Fn = ["update:modelValue", "clear", "focus", "blur"];
1660
+ function Hn({ requiredForAttr: e = !0, tagProp: t, changeEvent: l = !1 } = {}) {
1661
+ const { props: n, proxy: o } = ne(), u = pt(n, o.$q), a = Ei({
1662
+ required: e,
1663
+ getValue: () => n.for
1664
+ });
1665
+ return {
1666
+ requiredForAttr: e,
1667
+ changeEvent: l,
1668
+ tag: t === !0 ? d(() => n.tag) : { value: "label" },
1669
+ isDark: u,
1670
+ editable: d(
1671
+ () => n.disable !== !0 && n.readonly !== !0
1672
+ ),
1673
+ innerLoading: P(!1),
1674
+ focused: P(!1),
1675
+ hasPopupOpen: !1,
1676
+ splitAttrs: Bi(),
1677
+ targetUid: a,
1678
+ rootRef: P(null),
1679
+ targetRef: P(null),
1680
+ controlRef: P(null)
1681
+ /**
1682
+ * user supplied additionals:
1683
+
1684
+ * innerValue - computed
1685
+ * floatingLabel - computed
1686
+ * inputRef - computed
1687
+
1688
+ * fieldClass - computed
1689
+ * hasShadow - computed
1690
+
1691
+ * controlEvents - Object with fn(e)
1692
+
1693
+ * getControl - fn
1694
+ * getInnerAppend - fn
1695
+ * getControlChild - fn
1696
+ * getShadowControl - fn
1697
+ * showPopup - fn
1698
+ */
1699
+ };
1700
+ }
1701
+ function Dn(e) {
1702
+ const { props: t, emit: l, slots: n, attrs: o, proxy: u } = ne(), { $q: a } = u;
1703
+ let r = null;
1704
+ e.hasValue === void 0 && (e.hasValue = d(() => sl(t.modelValue))), e.emitValue === void 0 && (e.emitValue = (E) => {
1705
+ l("update:modelValue", E);
1706
+ }), e.controlEvents === void 0 && (e.controlEvents = {
1707
+ onFocusin: N,
1708
+ onFocusout: J
1709
+ }), Object.assign(e, {
1710
+ clearValue: U,
1711
+ onControlFocusin: N,
1712
+ onControlFocusout: J,
1713
+ focus: A
1714
+ }), e.computedCounter === void 0 && (e.computedCounter = d(() => {
1715
+ if (t.counter !== !1) {
1716
+ const E = typeof t.modelValue == "string" || typeof t.modelValue == "number" ? ("" + t.modelValue).length : Array.isArray(t.modelValue) === !0 ? t.modelValue.length : 0, I = t.maxlength !== void 0 ? t.maxlength : t.maxValues;
1717
+ return E + (I !== void 0 ? " / " + I : "");
1718
+ }
1719
+ }));
1720
+ const {
1721
+ isDirtyModel: h,
1722
+ hasRules: b,
1723
+ hasError: s,
1724
+ errorMessage: y,
1725
+ resetValidation: v
1726
+ } = Li(e.focused, e.innerLoading), c = e.floatingLabel !== void 0 ? d(() => t.stackLabel === !0 || e.focused.value === !0 || e.floatingLabel.value === !0) : d(() => t.stackLabel === !0 || e.focused.value === !0 || e.hasValue.value === !0), m = d(
1727
+ () => t.bottomSlots === !0 || t.hint !== void 0 || b.value === !0 || t.counter === !0 || t.error !== null
1728
+ ), C = d(() => t.filled === !0 ? "filled" : t.outlined === !0 ? "outlined" : t.borderless === !0 ? "borderless" : t.standout ? "standout" : "standard"), p = d(
1729
+ () => `q-field row no-wrap items-start q-field--${C.value}` + (e.fieldClass !== void 0 ? ` ${e.fieldClass.value}` : "") + (t.rounded === !0 ? " q-field--rounded" : "") + (t.square === !0 ? " q-field--square" : "") + (c.value === !0 ? " q-field--float" : "") + (T.value === !0 ? " q-field--labeled" : "") + (t.dense === !0 ? " q-field--dense" : "") + (t.itemAligned === !0 ? " q-field--item-aligned q-item-type" : "") + (e.isDark.value === !0 ? " q-field--dark" : "") + (e.getControl === void 0 ? " q-field--auto-height" : "") + (e.focused.value === !0 ? " q-field--focused" : "") + (s.value === !0 ? " q-field--error" : "") + (s.value === !0 || e.focused.value === !0 ? " q-field--highlighted" : "") + (t.hideBottomSpace !== !0 && m.value === !0 ? " q-field--with-bottom" : "") + (t.disable === !0 ? " q-field--disabled" : t.readonly === !0 ? " q-field--readonly" : "")
1730
+ ), O = d(
1731
+ () => "q-field__control relative-position row no-wrap" + (t.bgColor !== void 0 ? ` bg-${t.bgColor}` : "") + (s.value === !0 ? " text-negative" : typeof t.standout == "string" && t.standout.length !== 0 && e.focused.value === !0 ? ` ${t.standout}` : t.color !== void 0 ? ` text-${t.color}` : "")
1732
+ ), T = d(
1733
+ () => t.labelSlot === !0 || t.label !== void 0
1734
+ ), k = d(
1735
+ () => "q-field__label no-pointer-events absolute ellipsis" + (t.labelColor !== void 0 && s.value !== !0 ? ` text-${t.labelColor}` : "")
1736
+ ), M = d(() => ({
1737
+ id: e.targetUid.value,
1738
+ editable: e.editable.value,
1739
+ focused: e.focused.value,
1740
+ floatingLabel: c.value,
1741
+ modelValue: t.modelValue,
1742
+ emitValue: e.emitValue
1743
+ })), R = d(() => {
1744
+ const E = {};
1745
+ return e.targetUid.value && (E.for = e.targetUid.value), t.disable === !0 && (E["aria-disabled"] = "true"), E;
1746
+ });
1747
+ function V() {
1748
+ const E = document.activeElement;
1749
+ let I = e.targetRef !== void 0 && e.targetRef.value;
1750
+ I && (E === null || E.id !== e.targetUid.value) && (I.hasAttribute("tabindex") === !0 || (I = I.querySelector("[tabindex]")), I && I !== E && I.focus({ preventScroll: !0 }));
1751
+ }
1752
+ function A() {
1753
+ ml(V);
1754
+ }
1755
+ function z() {
1756
+ Ai(V);
1757
+ const E = document.activeElement;
1758
+ E !== null && e.rootRef.value.contains(E) && E.blur();
1759
+ }
1760
+ function N(E) {
1761
+ r !== null && (clearTimeout(r), r = null), e.editable.value === !0 && e.focused.value === !1 && (e.focused.value = !0, l("focus", E));
1762
+ }
1763
+ function J(E, I) {
1764
+ r !== null && clearTimeout(r), r = setTimeout(() => {
1765
+ r = null, !(document.hasFocus() === !0 && (e.hasPopupOpen === !0 || e.controlRef === void 0 || e.controlRef.value === null || e.controlRef.value.contains(document.activeElement) !== !1)) && (e.focused.value === !0 && (e.focused.value = !1, l("blur", E)), I !== void 0 && I());
1766
+ });
1767
+ }
1768
+ function U(E) {
1769
+ le(E), a.platform.is.mobile !== !0 ? (e.targetRef !== void 0 && e.targetRef.value || e.rootRef.value).focus() : e.rootRef.value.contains(document.activeElement) === !0 && document.activeElement.blur(), t.type === "file" && (e.inputRef.value.value = null), l("update:modelValue", null), e.changeEvent === !0 && l("change", null), l("clear", t.modelValue), fe(() => {
1770
+ const I = h.value;
1771
+ v(), h.value = I;
1772
+ });
1773
+ }
1774
+ function L(E) {
1775
+ [13, 32].includes(E.keyCode) && U(E);
1776
+ }
1777
+ function K() {
1778
+ const E = [];
1779
+ return n.prepend !== void 0 && E.push(
1780
+ g("div", {
1781
+ class: "q-field__prepend q-field__marginal row no-wrap items-center",
1782
+ key: "prepend",
1783
+ onClick: be
1784
+ }, n.prepend())
1785
+ ), E.push(
1786
+ g("div", {
1787
+ class: "q-field__control-container col relative-position row no-wrap q-anchor--skip"
1788
+ }, B())
1789
+ ), s.value === !0 && t.noErrorIcon === !1 && E.push(
1790
+ X("error", [
1791
+ g(_e, { name: a.iconSet.field.error, color: "negative" })
1792
+ ])
1793
+ ), t.loading === !0 || e.innerLoading.value === !0 ? E.push(
1794
+ X(
1795
+ "inner-loading-append",
1796
+ n.loading !== void 0 ? n.loading() : [g(kn, { color: t.color })]
1797
+ )
1798
+ ) : t.clearable === !0 && e.hasValue.value === !0 && e.editable.value === !0 && E.push(
1799
+ X("inner-clearable-append", [
1800
+ g(_e, {
1801
+ class: "q-field__focusable-action",
1802
+ name: t.clearIcon || a.iconSet.field.clear,
1803
+ tabindex: 0,
1804
+ role: "button",
1805
+ "aria-hidden": "false",
1806
+ "aria-label": a.lang.label.clear,
1807
+ onKeyup: L,
1808
+ onClick: U
1809
+ })
1810
+ ])
1811
+ ), n.append !== void 0 && E.push(
1812
+ g("div", {
1813
+ class: "q-field__append q-field__marginal row no-wrap items-center",
1814
+ key: "append",
1815
+ onClick: be
1816
+ }, n.append())
1817
+ ), e.getInnerAppend !== void 0 && E.push(
1818
+ X("inner-append", e.getInnerAppend())
1819
+ ), e.getControlChild !== void 0 && E.push(
1820
+ e.getControlChild()
1821
+ ), E;
1822
+ }
1823
+ function B() {
1824
+ const E = [];
1825
+ return t.prefix !== void 0 && t.prefix !== null && E.push(
1826
+ g("div", {
1827
+ class: "q-field__prefix no-pointer-events row items-center"
1828
+ }, t.prefix)
1829
+ ), e.getShadowControl !== void 0 && e.hasShadow.value === !0 && E.push(
1830
+ e.getShadowControl()
1831
+ ), e.getControl !== void 0 ? E.push(e.getControl()) : n.rawControl !== void 0 ? E.push(n.rawControl()) : n.control !== void 0 && E.push(
1832
+ g("div", {
1833
+ ref: e.targetRef,
1834
+ class: "q-field__native row",
1835
+ tabindex: -1,
1836
+ ...e.splitAttrs.attributes.value,
1837
+ "data-autofocus": t.autofocus === !0 || void 0
1838
+ }, n.control(M.value))
1839
+ ), T.value === !0 && E.push(
1840
+ g("div", {
1841
+ class: k.value
1842
+ }, ke(n.label, t.label))
1843
+ ), t.suffix !== void 0 && t.suffix !== null && E.push(
1844
+ g("div", {
1845
+ class: "q-field__suffix no-pointer-events row items-center"
1846
+ }, t.suffix)
1847
+ ), E.concat(ke(n.default));
1848
+ }
1849
+ function D() {
1850
+ let E, I;
1851
+ s.value === !0 ? y.value !== null ? (E = [g("div", { role: "alert" }, y.value)], I = `q--slot-error-${y.value}`) : (E = ke(n.error), I = "q--slot-error") : (t.hideHint !== !0 || e.focused.value === !0) && (t.hint !== void 0 ? (E = [g("div", t.hint)], I = `q--slot-hint-${t.hint}`) : (E = ke(n.hint), I = "q--slot-hint"));
1852
+ const se = t.counter === !0 || n.counter !== void 0;
1853
+ if (t.hideBottomSpace === !0 && se === !1 && E === void 0)
1854
+ return;
1855
+ const f = g("div", {
1856
+ key: I,
1857
+ class: "q-field__messages col"
1858
+ }, E);
1859
+ return g("div", {
1860
+ class: "q-field__bottom row items-start q-field__bottom--" + (t.hideBottomSpace !== !0 ? "animated" : "stale"),
1861
+ onClick: be
1862
+ }, [
1863
+ t.hideBottomSpace === !0 ? f : g(dt, { name: "q-transition--field-message" }, () => f),
1864
+ se === !0 ? g("div", {
1865
+ class: "q-field__counter"
1866
+ }, n.counter !== void 0 ? n.counter() : e.computedCounter.value) : null
1867
+ ]);
1868
+ }
1869
+ function X(E, I) {
1870
+ return I === null ? null : g("div", {
1871
+ key: E,
1872
+ class: "q-field__append q-field__marginal row no-wrap items-center q-anchor--skip"
1873
+ }, I);
1874
+ }
1875
+ let ae = !1;
1876
+ return Pt(() => {
1877
+ ae = !0;
1878
+ }), pn(() => {
1879
+ ae === !0 && t.autofocus === !0 && u.focus();
1880
+ }), t.autofocus === !0 && ht(() => {
1881
+ u.focus();
1882
+ }), me(() => {
1883
+ r !== null && clearTimeout(r);
1884
+ }), Object.assign(u, { focus: A, blur: z }), function() {
1885
+ const I = e.getControl === void 0 && n.control === void 0 ? {
1886
+ ...e.splitAttrs.attributes.value,
1887
+ "data-autofocus": t.autofocus === !0 || void 0,
1888
+ ...R.value
1889
+ } : R.value;
1890
+ return g(e.tag.value, {
1891
+ ref: e.rootRef,
1892
+ class: [
1893
+ p.value,
1894
+ o.class
1895
+ ],
1896
+ style: o.style,
1897
+ ...I
1898
+ }, [
1899
+ n.before !== void 0 ? g("div", {
1900
+ class: "q-field__before q-field__marginal row no-wrap items-center",
1901
+ onClick: be
1902
+ }, n.before()) : null,
1903
+ g("div", {
1904
+ class: "q-field__inner relative-position col self-stretch"
1905
+ }, [
1906
+ g("div", {
1907
+ ref: e.controlRef,
1908
+ class: O.value,
1909
+ tabindex: -1,
1910
+ ...e.controlEvents
1911
+ }, K()),
1912
+ m.value === !0 ? D() : null
1913
+ ]),
1914
+ n.after !== void 0 ? g("div", {
1915
+ class: "q-field__after q-field__marginal row no-wrap items-center",
1916
+ onClick: be
1917
+ }, n.after()) : null
1918
+ ]);
1919
+ };
1920
+ }
1921
+ const Pi = he({
1922
+ name: "QField",
1923
+ inheritAttrs: !1,
1924
+ props: {
1925
+ ...hl,
1926
+ tag: {
1927
+ type: String,
1928
+ default: "label"
1929
+ }
1930
+ },
1931
+ emits: Fn,
1932
+ setup() {
1933
+ return Dn(
1934
+ Hn({ tagProp: !0 })
1935
+ );
1936
+ }
1937
+ }), zi = {
1938
+ xs: 8,
1939
+ sm: 10,
1940
+ md: 14,
1941
+ lg: 20,
1942
+ xl: 24
1943
+ }, Ii = he({
1944
+ name: "QChip",
1945
+ props: {
1946
+ ...gt,
1947
+ ...zt,
1948
+ dense: Boolean,
1949
+ icon: String,
1950
+ iconRight: String,
1951
+ iconRemove: String,
1952
+ iconSelected: String,
1953
+ label: [String, Number],
1954
+ color: String,
1955
+ textColor: String,
1956
+ modelValue: {
1957
+ type: Boolean,
1958
+ default: !0
1959
+ },
1960
+ selected: {
1961
+ type: Boolean,
1962
+ default: null
1963
+ },
1964
+ square: Boolean,
1965
+ outline: Boolean,
1966
+ clickable: Boolean,
1967
+ removable: Boolean,
1968
+ removeAriaLabel: String,
1969
+ tabindex: [String, Number],
1970
+ disable: Boolean,
1971
+ ripple: {
1972
+ type: [Boolean, Object],
1973
+ default: !0
1974
+ }
1975
+ },
1976
+ emits: ["update:modelValue", "update:selected", "remove", "click"],
1977
+ setup(e, { slots: t, emit: l }) {
1978
+ const { proxy: { $q: n } } = ne(), o = pt(e, n), u = It(e, zi), a = d(() => e.selected === !0 || e.icon !== void 0), r = d(() => e.selected === !0 ? e.iconSelected || n.iconSet.chip.selected : e.icon), h = d(() => e.iconRemove || n.iconSet.chip.remove), b = d(
1979
+ () => e.disable === !1 && (e.clickable === !0 || e.selected !== null)
1980
+ ), s = d(() => {
1981
+ const p = e.outline === !0 && e.color || e.textColor;
1982
+ return "q-chip row inline no-wrap items-center" + (e.outline === !1 && e.color !== void 0 ? ` bg-${e.color}` : "") + (p ? ` text-${p} q-chip--colored` : "") + (e.disable === !0 ? " disabled" : "") + (e.dense === !0 ? " q-chip--dense" : "") + (e.outline === !0 ? " q-chip--outline" : "") + (e.selected === !0 ? " q-chip--selected" : "") + (b.value === !0 ? " q-chip--clickable cursor-pointer non-selectable q-hoverable" : "") + (e.square === !0 ? " q-chip--square" : "") + (o.value === !0 ? " q-chip--dark q-dark" : "");
1983
+ }), y = d(() => {
1984
+ const p = e.disable === !0 ? { tabindex: -1, "aria-disabled": "true" } : { tabindex: e.tabindex || 0 }, O = {
1985
+ ...p,
1986
+ role: "button",
1987
+ "aria-hidden": "false",
1988
+ "aria-label": e.removeAriaLabel || n.lang.label.remove
1989
+ };
1990
+ return { chip: p, remove: O };
1991
+ });
1992
+ function v(p) {
1993
+ p.keyCode === 13 && c(p);
1994
+ }
1995
+ function c(p) {
1996
+ e.disable || (l("update:selected", !e.selected), l("click", p));
1997
+ }
1998
+ function m(p) {
1999
+ (p.keyCode === void 0 || p.keyCode === 13) && (le(p), e.disable === !1 && (l("update:modelValue", !1), l("remove")));
2000
+ }
2001
+ function C() {
2002
+ const p = [];
2003
+ b.value === !0 && p.push(
2004
+ g("div", { class: "q-focus-helper" })
2005
+ ), a.value === !0 && p.push(
2006
+ g(_e, {
2007
+ class: "q-chip__icon q-chip__icon--left",
2008
+ name: r.value
2009
+ })
2010
+ );
2011
+ const O = e.label !== void 0 ? [g("div", { class: "ellipsis" }, [e.label])] : void 0;
2012
+ return p.push(
2013
+ g("div", {
2014
+ class: "q-chip__content col row no-wrap items-center q-anchor--skip"
2015
+ }, Vo(t.default, O))
2016
+ ), e.iconRight && p.push(
2017
+ g(_e, {
2018
+ class: "q-chip__icon q-chip__icon--right",
2019
+ name: e.iconRight
2020
+ })
2021
+ ), e.removable === !0 && p.push(
2022
+ g(_e, {
2023
+ class: "q-chip__icon q-chip__icon--remove cursor-pointer",
2024
+ name: h.value,
2025
+ ...y.value.remove,
2026
+ onClick: m,
2027
+ onKeyup: m
2028
+ })
2029
+ ), p;
2030
+ }
2031
+ return () => {
2032
+ if (e.modelValue === !1) return;
2033
+ const p = {
2034
+ class: s.value,
2035
+ style: u.value
2036
+ };
2037
+ return b.value === !0 && Object.assign(
2038
+ p,
2039
+ y.value.chip,
2040
+ { onClick: c, onKeyup: v }
2041
+ ), To(
2042
+ "div",
2043
+ p,
2044
+ C(),
2045
+ "ripple",
2046
+ e.ripple !== !1 && e.disable !== !0,
2047
+ () => [[En, e.ripple]]
2048
+ );
2049
+ };
2050
+ }
2051
+ });
2052
+ function Fi() {
2053
+ if (window.getSelection !== void 0) {
2054
+ const e = window.getSelection();
2055
+ e.empty !== void 0 ? e.empty() : e.removeAllRanges !== void 0 && (e.removeAllRanges(), al.is.mobile !== !0 && e.addRange(document.createRange()));
2056
+ } else document.selection !== void 0 && document.selection.empty();
2057
+ }
2058
+ const Hi = {
2059
+ /* SSR does not know about Element */
2060
+ target: {
2061
+ type: [Boolean, String, Element],
2062
+ default: !0
2063
+ },
2064
+ noParentEvent: Boolean
2065
+ }, Di = {
2066
+ ...Hi,
2067
+ contextMenu: Boolean
2068
+ };
2069
+ function ji({
2070
+ showing: e,
2071
+ avoidEmit: t,
2072
+ // required for QPopupProxy (true)
2073
+ configureAnchorEl: l
2074
+ // optional
2075
+ }) {
2076
+ const { props: n, proxy: o, emit: u } = ne(), a = P(null);
2077
+ let r = null;
2078
+ function h(c) {
2079
+ return a.value === null ? !1 : c === void 0 || c.touches === void 0 || c.touches.length <= 1;
2080
+ }
2081
+ const b = {};
2082
+ l === void 0 && (Object.assign(b, {
2083
+ hide(c) {
2084
+ o.hide(c);
2085
+ },
2086
+ toggle(c) {
2087
+ o.toggle(c), c.qAnchorHandled = !0;
2088
+ },
2089
+ toggleKey(c) {
2090
+ Fe(c, 13) === !0 && b.toggle(c);
2091
+ },
2092
+ contextClick(c) {
2093
+ o.hide(c), be(c), fe(() => {
2094
+ o.show(c), c.qAnchorHandled = !0;
2095
+ });
2096
+ },
2097
+ prevent: be,
2098
+ mobileTouch(c) {
2099
+ if (b.mobileCleanup(c), h(c) !== !0)
2100
+ return;
2101
+ o.hide(c), a.value.classList.add("non-selectable");
2102
+ const m = c.target;
2103
+ il(b, "anchor", [
2104
+ [m, "touchmove", "mobileCleanup", "passive"],
2105
+ [m, "touchend", "mobileCleanup", "passive"],
2106
+ [m, "touchcancel", "mobileCleanup", "passive"],
2107
+ [a.value, "contextmenu", "prevent", "notPassive"]
2108
+ ]), r = setTimeout(() => {
2109
+ r = null, o.show(c), c.qAnchorHandled = !0;
2110
+ }, 300);
2111
+ },
2112
+ mobileCleanup(c) {
2113
+ a.value.classList.remove("non-selectable"), r !== null && (clearTimeout(r), r = null), e.value === !0 && c !== void 0 && Fi();
2114
+ }
2115
+ }), l = function(c = n.contextMenu) {
2116
+ if (n.noParentEvent === !0 || a.value === null) return;
2117
+ let m;
2118
+ c === !0 ? o.$q.platform.is.mobile === !0 ? m = [
2119
+ [a.value, "touchstart", "mobileTouch", "passive"]
2120
+ ] : m = [
2121
+ [a.value, "mousedown", "hide", "passive"],
2122
+ [a.value, "contextmenu", "contextClick", "notPassive"]
2123
+ ] : m = [
2124
+ [a.value, "click", "toggle", "passive"],
2125
+ [a.value, "keyup", "toggleKey", "passive"]
2126
+ ], il(b, "anchor", m);
2127
+ });
2128
+ function s() {
2129
+ qn(b, "anchor");
2130
+ }
2131
+ function y(c) {
2132
+ for (a.value = c; a.value.classList.contains("q-anchor--skip"); )
2133
+ a.value = a.value.parentNode;
2134
+ l();
2135
+ }
2136
+ function v() {
2137
+ if (n.target === !1 || n.target === "" || o.$el.parentNode === null)
2138
+ a.value = null;
2139
+ else if (n.target === !0)
2140
+ y(o.$el.parentNode);
2141
+ else {
2142
+ let c = n.target;
2143
+ if (typeof n.target == "string")
2144
+ try {
2145
+ c = document.querySelector(n.target);
2146
+ } catch {
2147
+ c = void 0;
2148
+ }
2149
+ c != null ? (a.value = c.$el || c, l()) : (a.value = null, console.error(`Anchor: target "${n.target}" not found`));
2150
+ }
2151
+ }
2152
+ return Z(() => n.contextMenu, (c) => {
2153
+ a.value !== null && (s(), l(c));
2154
+ }), Z(() => n.target, () => {
2155
+ a.value !== null && s(), v();
2156
+ }), Z(() => n.noParentEvent, (c) => {
2157
+ a.value !== null && (c === !0 ? s() : l());
2158
+ }), ht(() => {
2159
+ v(), t !== !0 && n.modelValue === !0 && a.value === null && u("update:modelValue", !1);
2160
+ }), me(() => {
2161
+ r !== null && clearTimeout(r), s();
2162
+ }), {
2163
+ anchorEl: a,
2164
+ canShow: h,
2165
+ anchorEvents: b
2166
+ };
2167
+ }
2168
+ function Ni(e, t) {
2169
+ const l = P(null);
2170
+ let n;
2171
+ function o(r, h) {
2172
+ const b = `${h !== void 0 ? "add" : "remove"}EventListener`, s = h !== void 0 ? h : n;
2173
+ r !== window && r[b]("scroll", s, re.passive), window[b]("scroll", s, re.passive), n = h;
2174
+ }
2175
+ function u() {
2176
+ l.value !== null && (o(l.value), l.value = null);
2177
+ }
2178
+ const a = Z(() => e.noParentEvent, () => {
2179
+ l.value !== null && (u(), t());
2180
+ });
2181
+ return me(a), {
2182
+ localScrollTarget: l,
2183
+ unconfigureScrollTarget: u,
2184
+ changeScrollEvent: o
2185
+ };
2186
+ }
2187
+ const jn = {
2188
+ modelValue: {
2189
+ type: Boolean,
2190
+ default: null
2191
+ },
2192
+ "onUpdate:modelValue": [Function, Array]
2193
+ }, Nn = [
2194
+ "beforeShow",
2195
+ "show",
2196
+ "beforeHide",
2197
+ "hide"
2198
+ ];
2199
+ function Wn({
2200
+ showing: e,
2201
+ canShow: t,
2202
+ // optional
2203
+ hideOnRouteChange: l,
2204
+ // optional
2205
+ handleShow: n,
2206
+ // optional
2207
+ handleHide: o,
2208
+ // optional
2209
+ processOnMount: u
2210
+ // optional
2211
+ }) {
2212
+ const a = ne(), { props: r, emit: h, proxy: b } = a;
2213
+ let s;
2214
+ function y(T) {
2215
+ e.value === !0 ? m(T) : v(T);
2216
+ }
2217
+ function v(T) {
2218
+ if (r.disable === !0 || T !== void 0 && T.qAnchorHandled === !0 || t !== void 0 && t(T) !== !0)
2219
+ return;
2220
+ const k = r["onUpdate:modelValue"] !== void 0;
2221
+ k === !0 && (h("update:modelValue", !0), s = T, fe(() => {
2222
+ s === T && (s = void 0);
2223
+ })), (r.modelValue === null || k === !1) && c(T);
2224
+ }
2225
+ function c(T) {
2226
+ e.value !== !0 && (e.value = !0, h("beforeShow", T), n !== void 0 ? n(T) : h("show", T));
2227
+ }
2228
+ function m(T) {
2229
+ if (r.disable === !0)
2230
+ return;
2231
+ const k = r["onUpdate:modelValue"] !== void 0;
2232
+ k === !0 && (h("update:modelValue", !1), s = T, fe(() => {
2233
+ s === T && (s = void 0);
2234
+ })), (r.modelValue === null || k === !1) && C(T);
2235
+ }
2236
+ function C(T) {
2237
+ e.value !== !1 && (e.value = !1, h("beforeHide", T), o !== void 0 ? o(T) : h("hide", T));
2238
+ }
2239
+ function p(T) {
2240
+ r.disable === !0 && T === !0 ? r["onUpdate:modelValue"] !== void 0 && h("update:modelValue", !1) : T === !0 !== e.value && (T === !0 ? c : C)(s);
2241
+ }
2242
+ Z(() => r.modelValue, p), l !== void 0 && Vn(a) === !0 && Z(() => b.$route.fullPath, () => {
2243
+ l.value === !0 && e.value === !0 && m();
2244
+ }), ht(() => {
2245
+ p(r.modelValue);
2246
+ });
2247
+ const O = { show: v, hide: m, toggle: y };
2248
+ return Object.assign(b, O), O;
2249
+ }
2250
+ const Ul = {};
2251
+ let Wi = 1, Ki = document.body;
2252
+ function Qi(e, t) {
2253
+ const l = document.createElement("div");
2254
+ if (l.id = t !== void 0 ? `q-portal--${t}--${Wi++}` : e, Ul.globalNodes !== void 0) {
2255
+ const n = Ul.globalNodes.class;
2256
+ n !== void 0 && (l.className = n);
2257
+ }
2258
+ return Ki.appendChild(l), l;
2259
+ }
2260
+ function Ui(e) {
2261
+ e.remove();
2262
+ }
2263
+ const ct = [];
2264
+ function Yi(e, t) {
2265
+ do {
2266
+ if (e.$options.name === "QMenu") {
2267
+ if (e.hide(t), e.$props.separateClosePopup === !0)
2268
+ return Qt(e);
2269
+ } else if (e.__qPortal === !0) {
2270
+ const l = Qt(e);
2271
+ return l !== void 0 && l.$options.name === "QPopupProxy" ? (e.hide(t), l) : e;
2272
+ }
2273
+ e = Qt(e);
2274
+ } while (e != null);
2275
+ }
2276
+ const Xi = he({
2277
+ name: "QPortal",
2278
+ setup(e, { slots: t }) {
2279
+ return () => t.default();
2280
+ }
2281
+ });
2282
+ function Gi(e) {
2283
+ for (e = e.parent; e != null; ) {
2284
+ if (e.type.name === "QGlobalDialog")
2285
+ return !0;
2286
+ if (e.type.name === "QDialog" || e.type.name === "QMenu")
2287
+ return !1;
2288
+ e = e.parent;
2289
+ }
2290
+ return !1;
2291
+ }
2292
+ function Kn(e, t, l, n) {
2293
+ const o = P(!1), u = P(!1);
2294
+ let a = null;
2295
+ const r = {}, h = n === "dialog" && Gi(e);
2296
+ function b(y) {
2297
+ if (y === !0) {
2298
+ Ql(r), u.value = !0;
2299
+ return;
2300
+ }
2301
+ u.value = !1, o.value === !1 && (h === !1 && a === null && (a = Qi(!1, n)), o.value = !0, ct.push(e.proxy), Mi(r));
2302
+ }
2303
+ function s(y) {
2304
+ if (u.value = !1, y !== !0) return;
2305
+ Ql(r), o.value = !1;
2306
+ const v = ct.indexOf(e.proxy);
2307
+ v !== -1 && ct.splice(v, 1), a !== null && (Ui(a), a = null);
2308
+ }
2309
+ return So(() => {
2310
+ s(!0);
2311
+ }), e.proxy.__qPortal = !0, dl(e.proxy, "contentEl", () => t.value), {
2312
+ showPortal: b,
2313
+ hidePortal: s,
2314
+ portalIsActive: o,
2315
+ portalIsAccessible: u,
2316
+ renderPortal: () => h === !0 ? l() : o.value === !0 ? [g(ko, { to: a }, g(Xi, l))] : void 0
2317
+ };
2318
+ }
2319
+ const Qn = {
2320
+ transitionShow: {
2321
+ type: String,
2322
+ default: "fade"
2323
+ },
2324
+ transitionHide: {
2325
+ type: String,
2326
+ default: "fade"
2327
+ },
2328
+ transitionDuration: {
2329
+ type: [String, Number],
2330
+ default: 300
2331
+ }
2332
+ };
2333
+ function Un(e, t = () => {
2334
+ }, l = () => {
2335
+ }) {
2336
+ return {
2337
+ transitionProps: d(() => {
2338
+ const n = `q-transition--${e.transitionShow || t()}`, o = `q-transition--${e.transitionHide || l()}`;
2339
+ return {
2340
+ appear: !0,
2341
+ enterFromClass: `${n}-enter-from`,
2342
+ enterActiveClass: `${n}-enter-active`,
2343
+ enterToClass: `${n}-enter-to`,
2344
+ leaveFromClass: `${o}-leave-from`,
2345
+ leaveActiveClass: `${o}-leave-active`,
2346
+ leaveToClass: `${o}-leave-to`
2347
+ };
2348
+ }),
2349
+ transitionStyle: d(() => `--q-transition-duration: ${e.transitionDuration}ms`)
2350
+ };
2351
+ }
2352
+ function Yn() {
2353
+ let e;
2354
+ const t = ne();
2355
+ function l() {
2356
+ e = void 0;
2357
+ }
2358
+ return Pt(l), me(l), {
2359
+ removeTick: l,
2360
+ registerTick(n) {
2361
+ e = n, fe(() => {
2362
+ e === n && (Tn(t) === !1 && e(), e = void 0);
2363
+ });
2364
+ }
2365
+ };
2366
+ }
2367
+ function Xn() {
2368
+ let e = null;
2369
+ const t = ne();
2370
+ function l() {
2371
+ e !== null && (clearTimeout(e), e = null);
2372
+ }
2373
+ return Pt(l), me(l), {
2374
+ removeTimeout: l,
2375
+ registerTimeout(n, o) {
2376
+ l(), Tn(t) === !1 && (e = setTimeout(() => {
2377
+ e = null, n();
2378
+ }, o));
2379
+ }
2380
+ };
2381
+ }
2382
+ const Zi = [Element, String], Ji = [null, document, document.body, document.scrollingElement, document.documentElement];
2383
+ function eu(e, t) {
2384
+ let l = Fo(t);
2385
+ if (l === void 0) {
2386
+ if (e == null)
2387
+ return window;
2388
+ l = e.closest(".scroll,.scroll-y,.overflow-auto");
2389
+ }
2390
+ return Ji.includes(l) ? window : l;
2391
+ }
2392
+ function tu(e) {
2393
+ return e === window ? window.pageYOffset || window.scrollY || document.body.scrollTop || 0 : e.scrollTop;
2394
+ }
2395
+ function lu(e) {
2396
+ return e === window ? window.pageXOffset || window.scrollX || document.body.scrollLeft || 0 : e.scrollLeft;
2397
+ }
2398
+ let _t;
2399
+ function nu() {
2400
+ if (_t !== void 0)
2401
+ return _t;
2402
+ const e = document.createElement("p"), t = document.createElement("div");
2403
+ ol(e, {
2404
+ width: "100%",
2405
+ height: "200px"
2406
+ }), ol(t, {
2407
+ position: "absolute",
2408
+ top: "0px",
2409
+ left: "0px",
2410
+ visibility: "hidden",
2411
+ width: "200px",
2412
+ height: "150px",
2413
+ overflow: "hidden"
2414
+ }), t.appendChild(e), document.body.appendChild(t);
2415
+ const l = e.offsetWidth;
2416
+ t.style.overflow = "scroll";
2417
+ let n = e.offsetWidth;
2418
+ return l === n && (n = t.clientWidth), t.remove(), _t = l - n, _t;
2419
+ }
2420
+ function ou(e, t = !0) {
2421
+ return !e || e.nodeType !== Node.ELEMENT_NODE ? !1 : t ? e.scrollHeight > e.clientHeight && (e.classList.contains("scroll") || e.classList.contains("overflow-auto") || ["auto", "scroll"].includes(window.getComputedStyle(e)["overflow-y"])) : e.scrollWidth > e.clientWidth && (e.classList.contains("scroll") || e.classList.contains("overflow-auto") || ["auto", "scroll"].includes(window.getComputedStyle(e)["overflow-x"]));
2422
+ }
2423
+ const ze = [];
2424
+ let et;
2425
+ function iu(e) {
2426
+ et = e.keyCode === 27;
2427
+ }
2428
+ function uu() {
2429
+ et === !0 && (et = !1);
2430
+ }
2431
+ function au(e) {
2432
+ et === !0 && (et = !1, Fe(e, 27) === !0 && ze[ze.length - 1](e));
2433
+ }
2434
+ function Gn(e) {
2435
+ window[e]("keydown", iu), window[e]("blur", uu), window[e]("keyup", au), et = !1;
2436
+ }
2437
+ function Zn(e) {
2438
+ ve.is.desktop === !0 && (ze.push(e), ze.length === 1 && Gn("addEventListener"));
2439
+ }
2440
+ function Lt(e) {
2441
+ const t = ze.indexOf(e);
2442
+ t !== -1 && (ze.splice(t, 1), ze.length === 0 && Gn("removeEventListener"));
2443
+ }
2444
+ const { notPassiveCapture: Mt } = re, Ie = [];
2445
+ function At(e) {
2446
+ const t = e.target;
2447
+ if (t === void 0 || t.nodeType === 8 || t.classList.contains("no-pointer-events") === !0)
2448
+ return;
2449
+ let l = ct.length - 1;
2450
+ for (; l >= 0; ) {
2451
+ const n = ct[l].$;
2452
+ if (n.type.name === "QTooltip") {
2453
+ l--;
2454
+ continue;
2455
+ }
2456
+ if (n.type.name !== "QDialog")
2457
+ break;
2458
+ if (n.props.seamless !== !0)
2459
+ return;
2460
+ l--;
2461
+ }
2462
+ for (let n = Ie.length - 1; n >= 0; n--) {
2463
+ const o = Ie[n];
2464
+ if ((o.anchorEl.value === null || o.anchorEl.value.contains(t) === !1) && (t === document.body || o.innerRef.value !== null && o.innerRef.value.contains(t) === !1))
2465
+ e.qClickOutside = !0, o.onClickOutside(e);
2466
+ else
2467
+ return;
2468
+ }
2469
+ }
2470
+ function ru(e) {
2471
+ Ie.push(e), Ie.length === 1 && (document.addEventListener("mousedown", At, Mt), document.addEventListener("touchstart", At, Mt));
2472
+ }
2473
+ function Yl(e) {
2474
+ const t = Ie.findIndex((l) => l === e);
2475
+ t !== -1 && (Ie.splice(t, 1), Ie.length === 0 && (document.removeEventListener("mousedown", At, Mt), document.removeEventListener("touchstart", At, Mt)));
2476
+ }
2477
+ let Xl, Gl;
2478
+ function Zl(e) {
2479
+ const t = e.split(" ");
2480
+ return t.length !== 2 ? !1 : ["top", "center", "bottom"].includes(t[0]) !== !0 ? (console.error("Anchor/Self position must start with one of top/center/bottom"), !1) : ["left", "middle", "right", "start", "end"].includes(t[1]) !== !0 ? (console.error("Anchor/Self position must end with one of left/middle/right/start/end"), !1) : !0;
2481
+ }
2482
+ function su(e) {
2483
+ return e ? !(e.length !== 2 || typeof e[0] != "number" || typeof e[1] != "number") : !0;
2484
+ }
2485
+ const cl = {
2486
+ "start#ltr": "left",
2487
+ "start#rtl": "right",
2488
+ "end#ltr": "right",
2489
+ "end#rtl": "left"
2490
+ };
2491
+ ["left", "middle", "right"].forEach((e) => {
2492
+ cl[`${e}#ltr`] = e, cl[`${e}#rtl`] = e;
2493
+ });
2494
+ function Jl(e, t) {
2495
+ const l = e.split(" ");
2496
+ return {
2497
+ vertical: l[0],
2498
+ horizontal: cl[`${l[1]}#${t === !0 ? "rtl" : "ltr"}`]
2499
+ };
2500
+ }
2501
+ function cu(e, t) {
2502
+ let { top: l, left: n, right: o, bottom: u, width: a, height: r } = e.getBoundingClientRect();
2503
+ return t !== void 0 && (l -= t[1], n -= t[0], u += t[1], o += t[0], a += t[0], r += t[1]), {
2504
+ top: l,
2505
+ bottom: u,
2506
+ height: r,
2507
+ left: n,
2508
+ right: o,
2509
+ width: a,
2510
+ middle: n + (o - n) / 2,
2511
+ center: l + (u - l) / 2
2512
+ };
2513
+ }
2514
+ function du(e, t, l) {
2515
+ let { top: n, left: o } = e.getBoundingClientRect();
2516
+ return n += t.top, o += t.left, l !== void 0 && (n += l[1], o += l[0]), {
2517
+ top: n,
2518
+ bottom: n + 1,
2519
+ height: 1,
2520
+ left: o,
2521
+ right: o + 1,
2522
+ width: 1,
2523
+ middle: o,
2524
+ center: n
2525
+ };
2526
+ }
2527
+ function fu(e, t) {
2528
+ return {
2529
+ top: 0,
2530
+ center: t / 2,
2531
+ bottom: t,
2532
+ left: 0,
2533
+ middle: e / 2,
2534
+ right: e
2535
+ };
2536
+ }
2537
+ function en(e, t, l, n) {
2538
+ return {
2539
+ top: e[l.vertical] - t[n.vertical],
2540
+ left: e[l.horizontal] - t[n.horizontal]
2541
+ };
2542
+ }
2543
+ function Jn(e, t = 0) {
2544
+ if (e.targetEl === null || e.anchorEl === null || t > 5)
2545
+ return;
2546
+ if (e.targetEl.offsetHeight === 0 || e.targetEl.offsetWidth === 0) {
2547
+ setTimeout(() => {
2548
+ Jn(e, t + 1);
2549
+ }, 10);
2550
+ return;
2551
+ }
2552
+ const {
2553
+ targetEl: l,
2554
+ offset: n,
2555
+ anchorEl: o,
2556
+ anchorOrigin: u,
2557
+ selfOrigin: a,
2558
+ absoluteOffset: r,
2559
+ fit: h,
2560
+ cover: b,
2561
+ maxHeight: s,
2562
+ maxWidth: y
2563
+ } = e;
2564
+ if (ve.is.ios === !0 && window.visualViewport !== void 0) {
2565
+ const V = document.body.style, { offsetLeft: A, offsetTop: z } = window.visualViewport;
2566
+ A !== Xl && (V.setProperty("--q-pe-left", A + "px"), Xl = A), z !== Gl && (V.setProperty("--q-pe-top", z + "px"), Gl = z);
2567
+ }
2568
+ const { scrollLeft: v, scrollTop: c } = l, m = r === void 0 ? cu(o, b === !0 ? [0, 0] : n) : du(o, r, n);
2569
+ Object.assign(l.style, {
2570
+ top: 0,
2571
+ left: 0,
2572
+ minWidth: null,
2573
+ minHeight: null,
2574
+ maxWidth: y,
2575
+ maxHeight: s,
2576
+ visibility: "visible"
2577
+ });
2578
+ const { offsetWidth: C, offsetHeight: p } = l, { elWidth: O, elHeight: T } = h === !0 || b === !0 ? { elWidth: Math.max(m.width, C), elHeight: b === !0 ? Math.max(m.height, p) : p } : { elWidth: C, elHeight: p };
2579
+ let k = { maxWidth: y, maxHeight: s };
2580
+ (h === !0 || b === !0) && (k.minWidth = m.width + "px", b === !0 && (k.minHeight = m.height + "px")), Object.assign(l.style, k);
2581
+ const M = fu(O, T);
2582
+ let R = en(m, M, u, a);
2583
+ if (r === void 0 || n === void 0)
2584
+ Gt(R, m, M, u, a);
2585
+ else {
2586
+ const { top: V, left: A } = R;
2587
+ Gt(R, m, M, u, a);
2588
+ let z = !1;
2589
+ if (R.top !== V) {
2590
+ z = !0;
2591
+ const N = 2 * n[1];
2592
+ m.center = m.top -= N, m.bottom -= N + 2;
2593
+ }
2594
+ if (R.left !== A) {
2595
+ z = !0;
2596
+ const N = 2 * n[0];
2597
+ m.middle = m.left -= N, m.right -= N + 2;
2598
+ }
2599
+ z === !0 && (R = en(m, M, u, a), Gt(R, m, M, u, a));
2600
+ }
2601
+ k = {
2602
+ top: R.top + "px",
2603
+ left: R.left + "px"
2604
+ }, R.maxHeight !== void 0 && (k.maxHeight = R.maxHeight + "px", m.height > R.maxHeight && (k.minHeight = k.maxHeight)), R.maxWidth !== void 0 && (k.maxWidth = R.maxWidth + "px", m.width > R.maxWidth && (k.minWidth = k.maxWidth)), Object.assign(l.style, k), l.scrollTop !== c && (l.scrollTop = c), l.scrollLeft !== v && (l.scrollLeft = v);
2605
+ }
2606
+ function Gt(e, t, l, n, o) {
2607
+ const u = l.bottom, a = l.right, r = nu(), h = window.innerHeight - r, b = document.body.clientWidth;
2608
+ if (e.top < 0 || e.top + u > h)
2609
+ if (o.vertical === "center")
2610
+ e.top = t[n.vertical] > h / 2 ? Math.max(0, h - u) : 0, e.maxHeight = Math.min(u, h);
2611
+ else if (t[n.vertical] > h / 2) {
2612
+ const s = Math.min(
2613
+ h,
2614
+ n.vertical === "center" ? t.center : n.vertical === o.vertical ? t.bottom : t.top
2615
+ );
2616
+ e.maxHeight = Math.min(u, s), e.top = Math.max(0, s - u);
2617
+ } else
2618
+ e.top = Math.max(
2619
+ 0,
2620
+ n.vertical === "center" ? t.center : n.vertical === o.vertical ? t.top : t.bottom
2621
+ ), e.maxHeight = Math.min(u, h - e.top);
2622
+ if (e.left < 0 || e.left + a > b)
2623
+ if (e.maxWidth = Math.min(a, b), o.horizontal === "middle")
2624
+ e.left = t[n.horizontal] > b / 2 ? Math.max(0, b - a) : 0;
2625
+ else if (t[n.horizontal] > b / 2) {
2626
+ const s = Math.min(
2627
+ b,
2628
+ n.horizontal === "middle" ? t.middle : n.horizontal === o.horizontal ? t.right : t.left
2629
+ );
2630
+ e.maxWidth = Math.min(a, s), e.left = Math.max(0, s - e.maxWidth);
2631
+ } else
2632
+ e.left = Math.max(
2633
+ 0,
2634
+ n.horizontal === "middle" ? t.middle : n.horizontal === o.horizontal ? t.left : t.right
2635
+ ), e.maxWidth = Math.min(a, b - e.left);
2636
+ }
2637
+ const vu = he({
2638
+ name: "QMenu",
2639
+ inheritAttrs: !1,
2640
+ props: {
2641
+ ...Di,
2642
+ ...jn,
2643
+ ...gt,
2644
+ ...Qn,
2645
+ persistent: Boolean,
2646
+ autoClose: Boolean,
2647
+ separateClosePopup: Boolean,
2648
+ noRouteDismiss: Boolean,
2649
+ noRefocus: Boolean,
2650
+ noFocus: Boolean,
2651
+ fit: Boolean,
2652
+ cover: Boolean,
2653
+ square: Boolean,
2654
+ anchor: {
2655
+ type: String,
2656
+ validator: Zl
2657
+ },
2658
+ self: {
2659
+ type: String,
2660
+ validator: Zl
2661
+ },
2662
+ offset: {
2663
+ type: Array,
2664
+ validator: su
2665
+ },
2666
+ scrollTarget: Zi,
2667
+ touchPosition: Boolean,
2668
+ maxHeight: {
2669
+ type: String,
2670
+ default: null
2671
+ },
2672
+ maxWidth: {
2673
+ type: String,
2674
+ default: null
2675
+ }
2676
+ },
2677
+ emits: [
2678
+ ...Nn,
2679
+ "click",
2680
+ "escapeKey"
2681
+ ],
2682
+ setup(e, { slots: t, emit: l, attrs: n }) {
2683
+ let o = null, u, a, r;
2684
+ const h = ne(), { proxy: b } = h, { $q: s } = b, y = P(null), v = P(!1), c = d(
2685
+ () => e.persistent !== !0 && e.noRouteDismiss !== !0
2686
+ ), m = pt(e, s), { registerTick: C, removeTick: p } = Yn(), { registerTimeout: O } = Xn(), { transitionProps: T, transitionStyle: k } = Un(e), { localScrollTarget: M, changeScrollEvent: R, unconfigureScrollTarget: V } = Ni(e, F), { anchorEl: A, canShow: z } = ji({ showing: v }), { hide: N } = Wn({
2687
+ showing: v,
2688
+ canShow: z,
2689
+ handleShow: se,
2690
+ handleHide: f,
2691
+ hideOnRouteChange: c,
2692
+ processOnMount: !0
2693
+ }), { showPortal: J, hidePortal: U, renderPortal: L } = Kn(h, y, W, "menu"), K = {
2694
+ anchorEl: A,
2695
+ innerRef: y,
2696
+ onClickOutside(w) {
2697
+ if (e.persistent !== !0 && v.value === !0)
2698
+ return N(w), // always prevent touch event
2699
+ (w.type === "touchstart" || w.target.classList.contains("q-dialog__backdrop")) && le(w), !0;
2700
+ }
2701
+ }, B = d(
2702
+ () => Jl(
2703
+ e.anchor || (e.cover === !0 ? "center middle" : "bottom start"),
2704
+ s.lang.rtl
2705
+ )
2706
+ ), D = d(() => e.cover === !0 ? B.value : Jl(e.self || "top start", s.lang.rtl)), X = d(
2707
+ () => (e.square === !0 ? " q-menu--square" : "") + (m.value === !0 ? " q-menu--dark q-dark" : "")
2708
+ ), ae = d(() => e.autoClose === !0 ? { onClick: j } : {}), E = d(
2709
+ () => v.value === !0 && e.persistent !== !0
2710
+ );
2711
+ Z(E, (w) => {
2712
+ w === !0 ? (Zn(x), ru(K)) : (Lt(x), Yl(K));
2713
+ });
2714
+ function I() {
2715
+ ml(() => {
2716
+ let w = y.value;
2717
+ w && w.contains(document.activeElement) !== !0 && (w = w.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]") || w.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]") || w.querySelector("[autofocus], [data-autofocus]") || w, w.focus({ preventScroll: !0 }));
2718
+ });
2719
+ }
2720
+ function se(w) {
2721
+ if (o = e.noRefocus === !1 ? document.activeElement : null, vl(G), J(), F(), u = void 0, w !== void 0 && (e.touchPosition || e.contextMenu)) {
2722
+ const ee = Cn(w);
2723
+ if (ee.left !== void 0) {
2724
+ const { top: ye, left: He } = A.value.getBoundingClientRect();
2725
+ u = { left: ee.left - He, top: ee.top - ye };
2726
+ }
2727
+ }
2728
+ a === void 0 && (a = Z(
2729
+ () => s.screen.width + "|" + s.screen.height + "|" + e.self + "|" + e.anchor + "|" + s.lang.rtl,
2730
+ $
2731
+ )), e.noFocus !== !0 && document.activeElement.blur(), C(() => {
2732
+ $(), e.noFocus !== !0 && I();
2733
+ }), O(() => {
2734
+ s.platform.is.ios === !0 && (r = e.autoClose, y.value.click()), $(), J(!0), l("show", w);
2735
+ }, e.transitionDuration);
2736
+ }
2737
+ function f(w) {
2738
+ p(), U(), S(!0), o !== null && // menu was hidden from code or ESC plugin
2739
+ (w === void 0 || w.qClickOutside !== !0) && (((w && w.type.indexOf("key") === 0 ? o.closest('[tabindex]:not([tabindex^="-"])') : void 0) || o).focus(), o = null), O(() => {
2740
+ U(!0), l("hide", w);
2741
+ }, e.transitionDuration);
2742
+ }
2743
+ function S(w) {
2744
+ u = void 0, a !== void 0 && (a(), a = void 0), (w === !0 || v.value === !0) && (Rt(G), V(), Yl(K), Lt(x)), w !== !0 && (o = null);
2745
+ }
2746
+ function F() {
2747
+ (A.value !== null || e.scrollTarget !== void 0) && (M.value = eu(A.value, e.scrollTarget), R(M.value, $));
2748
+ }
2749
+ function j(w) {
2750
+ r !== !0 ? (Yi(b, w), l("click", w)) : r = !1;
2751
+ }
2752
+ function G(w) {
2753
+ E.value === !0 && e.noFocus !== !0 && xn(y.value, w.target) !== !0 && I();
2754
+ }
2755
+ function x(w) {
2756
+ l("escapeKey"), N(w);
2757
+ }
2758
+ function $() {
2759
+ Jn({
2760
+ targetEl: y.value,
2761
+ offset: e.offset,
2762
+ anchorEl: A.value,
2763
+ anchorOrigin: B.value,
2764
+ selfOrigin: D.value,
2765
+ absoluteOffset: u,
2766
+ fit: e.fit,
2767
+ cover: e.cover,
2768
+ maxHeight: e.maxHeight,
2769
+ maxWidth: e.maxWidth
2770
+ });
2771
+ }
2772
+ function W() {
2773
+ return g(
2774
+ dt,
2775
+ T.value,
2776
+ () => v.value === !0 ? g("div", {
2777
+ role: "menu",
2778
+ ...n,
2779
+ ref: y,
2780
+ tabindex: -1,
2781
+ class: [
2782
+ "q-menu q-position-engine scroll" + X.value,
2783
+ n.class
2784
+ ],
2785
+ style: [
2786
+ n.style,
2787
+ k.value
2788
+ ],
2789
+ ...ae.value
2790
+ }, ke(t.default)) : null
2791
+ );
2792
+ }
2793
+ return me(S), Object.assign(b, { focus: I, updatePosition: $ }), L;
2794
+ }
2795
+ });
2796
+ function mu(e, t, l) {
2797
+ function n() {
2798
+ }
2799
+ return me(() => {
2800
+ e.value === !0 && void 0;
2801
+ }), {
2802
+ removeFromHistory: n,
2803
+ addToHistory() {
2804
+ }
2805
+ };
2806
+ }
2807
+ let it = 0, Zt, Jt, rt, el = !1, tn, ln, nn, Me = null;
2808
+ function hu(e) {
2809
+ gu(e) && le(e);
2810
+ }
2811
+ function gu(e) {
2812
+ if (e.target === document.body || e.target.classList.contains("q-layout__backdrop"))
2813
+ return !0;
2814
+ const t = Do(e), l = e.shiftKey && !e.deltaX, n = !l && Math.abs(e.deltaX) <= Math.abs(e.deltaY), o = l || n ? e.deltaY : e.deltaX;
2815
+ for (let u = 0; u < t.length; u++) {
2816
+ const a = t[u];
2817
+ if (ou(a, n))
2818
+ return n ? o < 0 && a.scrollTop === 0 ? !0 : o > 0 && a.scrollTop + a.clientHeight === a.scrollHeight : o < 0 && a.scrollLeft === 0 ? !0 : o > 0 && a.scrollLeft + a.clientWidth === a.scrollWidth;
2819
+ }
2820
+ return !0;
2821
+ }
2822
+ function on(e) {
2823
+ e.target === document && (document.scrollingElement.scrollTop = document.scrollingElement.scrollTop);
2824
+ }
2825
+ function Et(e) {
2826
+ el !== !0 && (el = !0, requestAnimationFrame(() => {
2827
+ el = !1;
2828
+ const { height: t } = e.target, { clientHeight: l, scrollTop: n } = document.scrollingElement;
2829
+ (rt === void 0 || t !== window.innerHeight) && (rt = l - t, document.scrollingElement.scrollTop = n), n > rt && (document.scrollingElement.scrollTop -= Math.ceil((n - rt) / 8));
2830
+ }));
2831
+ }
2832
+ function un(e) {
2833
+ const t = document.body, l = window.visualViewport !== void 0;
2834
+ if (e === "add") {
2835
+ const { overflowY: n, overflowX: o } = window.getComputedStyle(t);
2836
+ Zt = lu(window), Jt = tu(window), tn = t.style.left, ln = t.style.top, nn = window.location.href, t.style.left = `-${Zt}px`, t.style.top = `-${Jt}px`, o !== "hidden" && (o === "scroll" || t.scrollWidth > window.innerWidth) && t.classList.add("q-body--force-scrollbar-x"), n !== "hidden" && (n === "scroll" || t.scrollHeight > window.innerHeight) && t.classList.add("q-body--force-scrollbar-y"), t.classList.add("q-body--prevent-scroll"), document.qScrollPrevented = !0, ve.is.ios === !0 && (l === !0 ? (window.scrollTo(0, 0), window.visualViewport.addEventListener("resize", Et, re.passiveCapture), window.visualViewport.addEventListener("scroll", Et, re.passiveCapture), window.scrollTo(0, 0)) : window.addEventListener("scroll", on, re.passiveCapture));
2837
+ }
2838
+ ve.is.desktop === !0 && ve.is.mac === !0 && window[`${e}EventListener`]("wheel", hu, re.notPassive), e === "remove" && (ve.is.ios === !0 && (l === !0 ? (window.visualViewport.removeEventListener("resize", Et, re.passiveCapture), window.visualViewport.removeEventListener("scroll", Et, re.passiveCapture)) : window.removeEventListener("scroll", on, re.passiveCapture)), t.classList.remove("q-body--prevent-scroll"), t.classList.remove("q-body--force-scrollbar-x"), t.classList.remove("q-body--force-scrollbar-y"), document.qScrollPrevented = !1, t.style.left = tn, t.style.top = ln, window.location.href === nn && window.scrollTo(Zt, Jt), rt = void 0);
2839
+ }
2840
+ function pu(e) {
2841
+ let t = "add";
2842
+ if (e === !0) {
2843
+ if (it++, Me !== null) {
2844
+ clearTimeout(Me), Me = null;
2845
+ return;
2846
+ }
2847
+ if (it > 1)
2848
+ return;
2849
+ } else {
2850
+ if (it === 0 || (it--, it > 0))
2851
+ return;
2852
+ if (t = "remove", ve.is.ios === !0 && ve.is.nativeMobile === !0) {
2853
+ Me !== null && clearTimeout(Me), Me = setTimeout(() => {
2854
+ un(t), Me = null;
2855
+ }, 100);
2856
+ return;
2857
+ }
2858
+ }
2859
+ un(t);
2860
+ }
2861
+ function bu() {
2862
+ let e;
2863
+ return {
2864
+ preventBodyScroll(t) {
2865
+ t !== e && (e !== void 0 || t === !0) && (e = t, pu(t));
2866
+ }
2867
+ };
2868
+ }
2869
+ let Bt = 0;
2870
+ const yu = {
2871
+ standard: "fixed-full flex-center",
2872
+ top: "fixed-top justify-center",
2873
+ bottom: "fixed-bottom justify-center",
2874
+ right: "fixed-right items-center",
2875
+ left: "fixed-left items-center"
2876
+ }, an = {
2877
+ standard: ["scale", "scale"],
2878
+ top: ["slide-down", "slide-up"],
2879
+ bottom: ["slide-up", "slide-down"],
2880
+ right: ["slide-left", "slide-right"],
2881
+ left: ["slide-right", "slide-left"]
2882
+ }, wu = he({
2883
+ name: "QDialog",
2884
+ inheritAttrs: !1,
2885
+ props: {
2886
+ ...jn,
2887
+ ...Qn,
2888
+ transitionShow: String,
2889
+ // override useTransitionProps
2890
+ transitionHide: String,
2891
+ // override useTransitionProps
2892
+ persistent: Boolean,
2893
+ autoClose: Boolean,
2894
+ allowFocusOutside: Boolean,
2895
+ noEscDismiss: Boolean,
2896
+ noBackdropDismiss: Boolean,
2897
+ noRouteDismiss: Boolean,
2898
+ noRefocus: Boolean,
2899
+ noFocus: Boolean,
2900
+ noShake: Boolean,
2901
+ seamless: Boolean,
2902
+ maximized: Boolean,
2903
+ fullWidth: Boolean,
2904
+ fullHeight: Boolean,
2905
+ square: Boolean,
2906
+ backdropFilter: String,
2907
+ position: {
2908
+ type: String,
2909
+ default: "standard",
2910
+ validator: (e) => ["standard", "top", "bottom", "left", "right"].includes(e)
2911
+ }
2912
+ },
2913
+ emits: [
2914
+ ...Nn,
2915
+ "shake",
2916
+ "click",
2917
+ "escapeKey"
2918
+ ],
2919
+ setup(e, { slots: t, emit: l, attrs: n }) {
2920
+ const o = ne(), u = P(null), a = P(!1), r = P(!1);
2921
+ let h = null, b = null, s, y;
2922
+ const v = d(
2923
+ () => e.persistent !== !0 && e.noRouteDismiss !== !0 && e.seamless !== !0
2924
+ ), { preventBodyScroll: c } = bu(), { registerTimeout: m } = Xn(), { registerTick: C, removeTick: p } = Yn(), { transitionProps: O, transitionStyle: T } = Un(
2925
+ e,
2926
+ () => an[e.position][0],
2927
+ () => an[e.position][1]
2928
+ ), k = d(() => T.value + (e.backdropFilter !== void 0 ? `;backdrop-filter:${e.backdropFilter};-webkit-backdrop-filter:${e.backdropFilter}` : "")), { showPortal: M, hidePortal: R, portalIsAccessible: V, renderPortal: A } = Kn(
2929
+ o,
2930
+ u,
2931
+ G,
2932
+ "dialog"
2933
+ ), { hide: z } = Wn({
2934
+ showing: a,
2935
+ hideOnRouteChange: v,
2936
+ handleShow: D,
2937
+ handleHide: X,
2938
+ processOnMount: !0
2939
+ }), { addToHistory: N, removeFromHistory: J } = mu(a, z), U = d(
2940
+ () => `q-dialog__inner flex no-pointer-events q-dialog__inner--${e.maximized === !0 ? "maximized" : "minimized"} q-dialog__inner--${e.position} ${yu[e.position]}` + (r.value === !0 ? " q-dialog__inner--animating" : "") + (e.fullWidth === !0 ? " q-dialog__inner--fullwidth" : "") + (e.fullHeight === !0 ? " q-dialog__inner--fullheight" : "") + (e.square === !0 ? " q-dialog__inner--square" : "")
2941
+ ), L = d(() => a.value === !0 && e.seamless !== !0), K = d(() => e.autoClose === !0 ? { onClick: S } : {}), B = d(() => [
2942
+ `q-dialog fullscreen no-pointer-events q-dialog--${L.value === !0 ? "modal" : "seamless"}`,
2943
+ n.class
2944
+ ]);
2945
+ Z(() => e.maximized, (x) => {
2946
+ a.value === !0 && f(x);
2947
+ }), Z(L, (x) => {
2948
+ c(x), x === !0 ? (vl(j), Zn(I)) : (Rt(j), Lt(I));
2949
+ });
2950
+ function D(x) {
2951
+ N(), b = e.noRefocus === !1 && document.activeElement !== null ? document.activeElement : null, f(e.maximized), M(), r.value = !0, e.noFocus !== !0 ? (document.activeElement !== null && document.activeElement.blur(), C(ae)) : p(), m(() => {
2952
+ if (o.proxy.$q.platform.is.ios === !0) {
2953
+ if (e.seamless !== !0 && document.activeElement) {
2954
+ const { top: $, bottom: W } = document.activeElement.getBoundingClientRect(), { innerHeight: w } = window, ee = window.visualViewport !== void 0 ? window.visualViewport.height : w;
2955
+ $ > 0 && W > ee / 2 && (document.scrollingElement.scrollTop = Math.min(
2956
+ document.scrollingElement.scrollHeight - ee,
2957
+ W >= w ? 1 / 0 : Math.ceil(document.scrollingElement.scrollTop + W - ee / 2)
2958
+ )), document.activeElement.scrollIntoView();
2959
+ }
2960
+ y = !0, u.value.click(), y = !1;
2961
+ }
2962
+ M(!0), r.value = !1, l("show", x);
2963
+ }, e.transitionDuration);
2964
+ }
2965
+ function X(x) {
2966
+ p(), J(), se(!0), r.value = !0, R(), b !== null && (((x && x.type.indexOf("key") === 0 ? b.closest('[tabindex]:not([tabindex^="-"])') : void 0) || b).focus(), b = null), m(() => {
2967
+ R(!0), r.value = !1, l("hide", x);
2968
+ }, e.transitionDuration);
2969
+ }
2970
+ function ae(x) {
2971
+ ml(() => {
2972
+ let $ = u.value;
2973
+ if ($ !== null) {
2974
+ if (x !== void 0) {
2975
+ const W = $.querySelector(x);
2976
+ if (W !== null) {
2977
+ W.focus({ preventScroll: !0 });
2978
+ return;
2979
+ }
2980
+ }
2981
+ $.contains(document.activeElement) !== !0 && ($ = $.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]") || $.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]") || $.querySelector("[autofocus], [data-autofocus]") || $, $.focus({ preventScroll: !0 }));
2982
+ }
2983
+ });
2984
+ }
2985
+ function E(x) {
2986
+ x && typeof x.focus == "function" ? x.focus({ preventScroll: !0 }) : ae(), l("shake");
2987
+ const $ = u.value;
2988
+ $ !== null && ($.classList.remove("q-animate--scale"), $.classList.add("q-animate--scale"), h !== null && clearTimeout(h), h = setTimeout(() => {
2989
+ h = null, u.value !== null && ($.classList.remove("q-animate--scale"), ae());
2990
+ }, 170));
2991
+ }
2992
+ function I() {
2993
+ e.seamless !== !0 && (e.persistent === !0 || e.noEscDismiss === !0 ? e.maximized !== !0 && e.noShake !== !0 && E() : (l("escapeKey"), z()));
2994
+ }
2995
+ function se(x) {
2996
+ h !== null && (clearTimeout(h), h = null), (x === !0 || a.value === !0) && (f(!1), e.seamless !== !0 && (c(!1), Rt(j), Lt(I))), x !== !0 && (b = null);
2997
+ }
2998
+ function f(x) {
2999
+ x === !0 ? s !== !0 && (Bt < 1 && document.body.classList.add("q-body--dialog"), Bt++, s = !0) : s === !0 && (Bt < 2 && document.body.classList.remove("q-body--dialog"), Bt--, s = !1);
3000
+ }
3001
+ function S(x) {
3002
+ y !== !0 && (z(x), l("click", x));
3003
+ }
3004
+ function F(x) {
3005
+ e.persistent !== !0 && e.noBackdropDismiss !== !0 ? z(x) : e.noShake !== !0 && E();
3006
+ }
3007
+ function j(x) {
3008
+ e.allowFocusOutside !== !0 && V.value === !0 && xn(u.value, x.target) !== !0 && ae('[tabindex]:not([tabindex="-1"])');
3009
+ }
3010
+ Object.assign(o.proxy, {
3011
+ // expose public methods
3012
+ focus: ae,
3013
+ shake: E,
3014
+ // private but needed by QSelect
3015
+ __updateRefocusTarget(x) {
3016
+ b = x || null;
3017
+ }
3018
+ }), me(se);
3019
+ function G() {
3020
+ return g("div", {
3021
+ role: "dialog",
3022
+ "aria-modal": L.value === !0 ? "true" : "false",
3023
+ ...n,
3024
+ class: B.value
3025
+ }, [
3026
+ g(dt, {
3027
+ name: "q-transition--fade",
3028
+ appear: !0
3029
+ }, () => L.value === !0 ? g("div", {
3030
+ class: "q-dialog__backdrop fixed-full",
3031
+ style: k.value,
3032
+ "aria-hidden": "true",
3033
+ tabindex: -1,
3034
+ onClick: F
3035
+ }) : null),
3036
+ g(
3037
+ dt,
3038
+ O.value,
3039
+ () => a.value === !0 ? g("div", {
3040
+ ref: u,
3041
+ class: U.value,
3042
+ style: T.value,
3043
+ tabindex: -1,
3044
+ ...K.value
3045
+ }, ke(t.default)) : null
3046
+ )
3047
+ ]);
3048
+ }
3049
+ return A;
3050
+ }
3051
+ });
3052
+ let Ot = !1;
3053
+ {
3054
+ const e = document.createElement("div");
3055
+ e.setAttribute("dir", "rtl"), Object.assign(e.style, {
3056
+ width: "1px",
3057
+ height: "1px",
3058
+ overflow: "auto"
3059
+ });
3060
+ const t = document.createElement("div");
3061
+ Object.assign(t.style, {
3062
+ width: "1000px",
3063
+ height: "1px"
3064
+ }), document.body.appendChild(e), e.appendChild(t), e.scrollLeft = -1e3, Ot = e.scrollLeft >= 0, e.remove();
3065
+ }
3066
+ const pe = 1e3, Su = [
3067
+ "start",
3068
+ "center",
3069
+ "end",
3070
+ "start-force",
3071
+ "center-force",
3072
+ "end-force"
3073
+ ], eo = Array.prototype.filter, ku = window.getComputedStyle(document.body).overflowAnchor === void 0 ? Ho : function(e, t) {
3074
+ e !== null && (e._qOverflowAnimationFrame !== void 0 && cancelAnimationFrame(e._qOverflowAnimationFrame), e._qOverflowAnimationFrame = requestAnimationFrame(() => {
3075
+ if (e === null)
3076
+ return;
3077
+ e._qOverflowAnimationFrame = void 0;
3078
+ const l = e.children || [];
3079
+ eo.call(l, (o) => o.dataset && o.dataset.qVsAnchor !== void 0).forEach((o) => {
3080
+ delete o.dataset.qVsAnchor;
3081
+ });
3082
+ const n = l[t];
3083
+ n && n.dataset && (n.dataset.qVsAnchor = "");
3084
+ }));
3085
+ };
3086
+ function Je(e, t) {
3087
+ return e + t;
3088
+ }
3089
+ function tl(e, t, l, n, o, u, a, r) {
3090
+ const h = e === window ? document.scrollingElement || document.documentElement : e, b = o === !0 ? "offsetWidth" : "offsetHeight", s = {
3091
+ scrollStart: 0,
3092
+ scrollViewSize: -a - r,
3093
+ scrollMaxSize: 0,
3094
+ offsetStart: -a,
3095
+ offsetEnd: -r
3096
+ };
3097
+ if (o === !0 ? (e === window ? (s.scrollStart = window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, s.scrollViewSize += document.documentElement.clientWidth) : (s.scrollStart = h.scrollLeft, s.scrollViewSize += h.clientWidth), s.scrollMaxSize = h.scrollWidth, u === !0 && (s.scrollStart = (Ot === !0 ? s.scrollMaxSize - s.scrollViewSize : 0) - s.scrollStart)) : (e === window ? (s.scrollStart = window.pageYOffset || window.scrollY || document.body.scrollTop || 0, s.scrollViewSize += document.documentElement.clientHeight) : (s.scrollStart = h.scrollTop, s.scrollViewSize += h.clientHeight), s.scrollMaxSize = h.scrollHeight), l !== null)
3098
+ for (let y = l.previousElementSibling; y !== null; y = y.previousElementSibling)
3099
+ y.classList.contains("q-virtual-scroll--skip") === !1 && (s.offsetStart += y[b]);
3100
+ if (n !== null)
3101
+ for (let y = n.nextElementSibling; y !== null; y = y.nextElementSibling)
3102
+ y.classList.contains("q-virtual-scroll--skip") === !1 && (s.offsetEnd += y[b]);
3103
+ if (t !== e) {
3104
+ const y = h.getBoundingClientRect(), v = t.getBoundingClientRect();
3105
+ o === !0 ? (s.offsetStart += v.left - y.left, s.offsetEnd -= v.width) : (s.offsetStart += v.top - y.top, s.offsetEnd -= v.height), e !== window && (s.offsetStart += s.scrollStart), s.offsetEnd += s.scrollMaxSize - s.offsetStart;
3106
+ }
3107
+ return s;
3108
+ }
3109
+ function rn(e, t, l, n) {
3110
+ t === "end" && (t = (e === window ? document.body : e)[l === !0 ? "scrollWidth" : "scrollHeight"]), e === window ? l === !0 ? (n === !0 && (t = (Ot === !0 ? document.body.scrollWidth - document.documentElement.clientWidth : 0) - t), window.scrollTo(t, window.pageYOffset || window.scrollY || document.body.scrollTop || 0)) : window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, t) : l === !0 ? (n === !0 && (t = (Ot === !0 ? e.scrollWidth - e.offsetWidth : 0) - t), e.scrollLeft = t) : e.scrollTop = t;
3111
+ }
3112
+ function ut(e, t, l, n) {
3113
+ if (l >= n)
3114
+ return 0;
3115
+ const o = t.length, u = Math.floor(l / pe), a = Math.floor((n - 1) / pe) + 1;
3116
+ let r = e.slice(u, a).reduce(Je, 0);
3117
+ return l % pe !== 0 && (r -= t.slice(u * pe, l).reduce(Je, 0)), n % pe !== 0 && n !== o && (r -= t.slice(n, a * pe).reduce(Je, 0)), r;
3118
+ }
3119
+ const xu = {
3120
+ virtualScrollSliceSize: {
3121
+ type: [Number, String],
3122
+ default: 10
3123
+ },
3124
+ virtualScrollSliceRatioBefore: {
3125
+ type: [Number, String],
3126
+ default: 1
3127
+ },
3128
+ virtualScrollSliceRatioAfter: {
3129
+ type: [Number, String],
3130
+ default: 1
3131
+ },
3132
+ virtualScrollItemSize: {
3133
+ type: [Number, String],
3134
+ default: 24
3135
+ },
3136
+ virtualScrollStickySizeStart: {
3137
+ type: [Number, String],
3138
+ default: 0
3139
+ },
3140
+ virtualScrollStickySizeEnd: {
3141
+ type: [Number, String],
3142
+ default: 0
3143
+ },
3144
+ tableColspan: [Number, String]
3145
+ }, sn = {
3146
+ virtualScrollHorizontal: Boolean,
3147
+ onVirtualScroll: Function,
3148
+ ...xu
3149
+ };
3150
+ function Cu({
3151
+ virtualScrollLength: e,
3152
+ getVirtualScrollTarget: t,
3153
+ getVirtualScrollEl: l,
3154
+ virtualScrollItemSizeComputed: n
3155
+ // optional
3156
+ }) {
3157
+ const o = ne(), { props: u, emit: a, proxy: r } = o, { $q: h } = r;
3158
+ let b, s, y, v = [], c;
3159
+ const m = P(0), C = P(0), p = P({}), O = P(null), T = P(null), k = P(null), M = P({ from: 0, to: 0 }), R = d(() => u.tableColspan !== void 0 ? u.tableColspan : 100);
3160
+ n === void 0 && (n = d(() => u.virtualScrollItemSize));
3161
+ const V = d(() => n.value + ";" + u.virtualScrollHorizontal), A = d(
3162
+ () => V.value + ";" + u.virtualScrollSliceRatioBefore + ";" + u.virtualScrollSliceRatioAfter
3163
+ );
3164
+ Z(A, () => {
3165
+ X();
3166
+ }), Z(V, z);
3167
+ function z() {
3168
+ D(s, !0);
3169
+ }
3170
+ function N(f) {
3171
+ D(f === void 0 ? s : f);
3172
+ }
3173
+ function J(f, S) {
3174
+ const F = t();
3175
+ if (F == null || F.nodeType === 8)
3176
+ return;
3177
+ const j = tl(
3178
+ F,
3179
+ l(),
3180
+ O.value,
3181
+ T.value,
3182
+ u.virtualScrollHorizontal,
3183
+ h.lang.rtl,
3184
+ u.virtualScrollStickySizeStart,
3185
+ u.virtualScrollStickySizeEnd
3186
+ );
3187
+ y !== j.scrollViewSize && X(j.scrollViewSize), L(
3188
+ F,
3189
+ j,
3190
+ Math.min(e.value - 1, Math.max(0, parseInt(f, 10) || 0)),
3191
+ 0,
3192
+ Su.indexOf(S) !== -1 ? S : s !== -1 && f > s ? "end" : "start"
3193
+ );
3194
+ }
3195
+ function U() {
3196
+ const f = t();
3197
+ if (f == null || f.nodeType === 8)
3198
+ return;
3199
+ const S = tl(
3200
+ f,
3201
+ l(),
3202
+ O.value,
3203
+ T.value,
3204
+ u.virtualScrollHorizontal,
3205
+ h.lang.rtl,
3206
+ u.virtualScrollStickySizeStart,
3207
+ u.virtualScrollStickySizeEnd
3208
+ ), F = e.value - 1, j = S.scrollMaxSize - S.offsetStart - S.offsetEnd - C.value;
3209
+ if (b === S.scrollStart)
3210
+ return;
3211
+ if (S.scrollMaxSize <= 0) {
3212
+ L(f, S, 0, 0);
3213
+ return;
3214
+ }
3215
+ y !== S.scrollViewSize && X(S.scrollViewSize), K(M.value.from);
3216
+ const G = Math.floor(S.scrollMaxSize - Math.max(S.scrollViewSize, S.offsetEnd) - Math.min(c[F], S.scrollViewSize / 2));
3217
+ if (G > 0 && Math.ceil(S.scrollStart) >= G) {
3218
+ L(
3219
+ f,
3220
+ S,
3221
+ F,
3222
+ S.scrollMaxSize - S.offsetEnd - v.reduce(Je, 0)
3223
+ );
3224
+ return;
3225
+ }
3226
+ let x = 0, $ = S.scrollStart - S.offsetStart, W = $;
3227
+ if ($ <= j && $ + S.scrollViewSize >= m.value)
3228
+ $ -= m.value, x = M.value.from, W = $;
3229
+ else
3230
+ for (let w = 0; $ >= v[w] && x < F; w++)
3231
+ $ -= v[w], x += pe;
3232
+ for (; $ > 0 && x < F; )
3233
+ $ -= c[x], $ > -S.scrollViewSize ? (x++, W = $) : W = c[x] + $;
3234
+ L(
3235
+ f,
3236
+ S,
3237
+ x,
3238
+ W
3239
+ );
3240
+ }
3241
+ function L(f, S, F, j, G) {
3242
+ const x = typeof G == "string" && G.indexOf("-force") !== -1, $ = x === !0 ? G.replace("-force", "") : G, W = $ !== void 0 ? $ : "start";
3243
+ let w = Math.max(0, F - p.value[W]), ee = w + p.value.total;
3244
+ ee > e.value && (ee = e.value, w = Math.max(0, ee - p.value.total)), b = S.scrollStart;
3245
+ const ye = w !== M.value.from || ee !== M.value.to;
3246
+ if (ye === !1 && $ === void 0) {
3247
+ E(F);
3248
+ return;
3249
+ }
3250
+ const { activeElement: He } = document, we = k.value;
3251
+ ye === !0 && we !== null && we !== He && we.contains(He) === !0 && (we.addEventListener("focusout", B), setTimeout(() => {
3252
+ we !== null && we.removeEventListener("focusout", B);
3253
+ })), ku(we, F - w);
3254
+ const bt = $ !== void 0 ? c.slice(w, F).reduce(Je, 0) : 0;
3255
+ if (ye === !0) {
3256
+ const Te = ee >= M.value.from && w <= M.value.to ? M.value.to : ee;
3257
+ M.value = { from: w, to: Te }, m.value = ut(v, c, 0, w), C.value = ut(v, c, ee, e.value), requestAnimationFrame(() => {
3258
+ M.value.to !== ee && b === S.scrollStart && (M.value = { from: M.value.from, to: ee }, C.value = ut(v, c, ee, e.value));
3259
+ });
3260
+ }
3261
+ requestAnimationFrame(() => {
3262
+ if (b !== S.scrollStart)
3263
+ return;
3264
+ ye === !0 && K(w);
3265
+ const Te = c.slice(w, F).reduce(Je, 0), $e = Te + S.offsetStart + m.value, yt = $e + c[F];
3266
+ let tt = $e + j;
3267
+ if ($ !== void 0) {
3268
+ const Ft = Te - bt, lt = S.scrollStart + Ft;
3269
+ tt = x !== !0 && lt < $e && yt < lt + S.scrollViewSize ? lt : $ === "end" ? yt - S.scrollViewSize : $e - ($ === "start" ? 0 : Math.round((S.scrollViewSize - c[F]) / 2));
3270
+ }
3271
+ b = tt, rn(
3272
+ f,
3273
+ tt,
3274
+ u.virtualScrollHorizontal,
3275
+ h.lang.rtl
3276
+ ), E(F);
3277
+ });
3278
+ }
3279
+ function K(f) {
3280
+ const S = k.value;
3281
+ if (S) {
3282
+ const F = eo.call(
3283
+ S.children,
3284
+ (w) => w.classList && w.classList.contains("q-virtual-scroll--skip") === !1
3285
+ ), j = F.length, G = u.virtualScrollHorizontal === !0 ? (w) => w.getBoundingClientRect().width : (w) => w.offsetHeight;
3286
+ let x = f, $, W;
3287
+ for (let w = 0; w < j; ) {
3288
+ for ($ = G(F[w]), w++; w < j && F[w].classList.contains("q-virtual-scroll--with-prev") === !0; )
3289
+ $ += G(F[w]), w++;
3290
+ W = $ - c[x], W !== 0 && (c[x] += W, v[Math.floor(x / pe)] += W), x++;
3291
+ }
3292
+ }
3293
+ }
3294
+ function B() {
3295
+ k.value !== null && k.value !== void 0 && k.value.focus();
3296
+ }
3297
+ function D(f, S) {
3298
+ const F = 1 * n.value;
3299
+ (S === !0 || Array.isArray(c) === !1) && (c = []);
3300
+ const j = c.length;
3301
+ c.length = e.value;
3302
+ for (let x = e.value - 1; x >= j; x--)
3303
+ c[x] = F;
3304
+ const G = Math.floor((e.value - 1) / pe);
3305
+ v = [];
3306
+ for (let x = 0; x <= G; x++) {
3307
+ let $ = 0;
3308
+ const W = Math.min((x + 1) * pe, e.value);
3309
+ for (let w = x * pe; w < W; w++)
3310
+ $ += c[w];
3311
+ v.push($);
3312
+ }
3313
+ s = -1, b = void 0, m.value = ut(v, c, 0, M.value.from), C.value = ut(v, c, M.value.to, e.value), f >= 0 ? (K(M.value.from), fe(() => {
3314
+ J(f);
3315
+ })) : I();
3316
+ }
3317
+ function X(f) {
3318
+ if (f === void 0 && typeof window < "u") {
3319
+ const $ = t();
3320
+ $ != null && $.nodeType !== 8 && (f = tl(
3321
+ $,
3322
+ l(),
3323
+ O.value,
3324
+ T.value,
3325
+ u.virtualScrollHorizontal,
3326
+ h.lang.rtl,
3327
+ u.virtualScrollStickySizeStart,
3328
+ u.virtualScrollStickySizeEnd
3329
+ ).scrollViewSize);
3330
+ }
3331
+ y = f;
3332
+ const S = parseFloat(u.virtualScrollSliceRatioBefore) || 0, F = parseFloat(u.virtualScrollSliceRatioAfter) || 0, j = 1 + S + F, G = f === void 0 || f <= 0 ? 1 : Math.ceil(f / n.value), x = Math.max(
3333
+ 1,
3334
+ G,
3335
+ Math.ceil((u.virtualScrollSliceSize > 0 ? u.virtualScrollSliceSize : 10) / j)
3336
+ );
3337
+ p.value = {
3338
+ total: Math.ceil(x * j),
3339
+ start: Math.ceil(x * S),
3340
+ center: Math.ceil(x * (0.5 + S)),
3341
+ end: Math.ceil(x * (1 + S)),
3342
+ view: G
3343
+ };
3344
+ }
3345
+ function ae(f, S) {
3346
+ const F = u.virtualScrollHorizontal === !0 ? "width" : "height", j = {
3347
+ ["--q-virtual-scroll-item-" + F]: n.value + "px"
3348
+ };
3349
+ return [
3350
+ f === "tbody" ? g(f, {
3351
+ class: "q-virtual-scroll__padding",
3352
+ key: "before",
3353
+ ref: O
3354
+ }, [
3355
+ g("tr", [
3356
+ g("td", {
3357
+ style: { [F]: `${m.value}px`, ...j },
3358
+ colspan: R.value
3359
+ })
3360
+ ])
3361
+ ]) : g(f, {
3362
+ class: "q-virtual-scroll__padding",
3363
+ key: "before",
3364
+ ref: O,
3365
+ style: { [F]: `${m.value}px`, ...j }
3366
+ }),
3367
+ g(f, {
3368
+ class: "q-virtual-scroll__content",
3369
+ key: "content",
3370
+ ref: k,
3371
+ tabindex: -1
3372
+ }, S.flat()),
3373
+ f === "tbody" ? g(f, {
3374
+ class: "q-virtual-scroll__padding",
3375
+ key: "after",
3376
+ ref: T
3377
+ }, [
3378
+ g("tr", [
3379
+ g("td", {
3380
+ style: { [F]: `${C.value}px`, ...j },
3381
+ colspan: R.value
3382
+ })
3383
+ ])
3384
+ ]) : g(f, {
3385
+ class: "q-virtual-scroll__padding",
3386
+ key: "after",
3387
+ ref: T,
3388
+ style: { [F]: `${C.value}px`, ...j }
3389
+ })
3390
+ ];
3391
+ }
3392
+ function E(f) {
3393
+ s !== f && (u.onVirtualScroll !== void 0 && a("virtualScroll", {
3394
+ index: f,
3395
+ from: M.value.from,
3396
+ to: M.value.to - 1,
3397
+ direction: f < s ? "decrease" : "increase",
3398
+ ref: r
3399
+ }), s = f);
3400
+ }
3401
+ X();
3402
+ const I = zn(
3403
+ U,
3404
+ h.platform.is.ios === !0 ? 120 : 35
3405
+ );
3406
+ xo(() => {
3407
+ X();
3408
+ });
3409
+ let se = !1;
3410
+ return Pt(() => {
3411
+ se = !0;
3412
+ }), pn(() => {
3413
+ if (se !== !0) return;
3414
+ const f = t();
3415
+ b !== void 0 && f !== void 0 && f !== null && f.nodeType !== 8 ? rn(
3416
+ f,
3417
+ b,
3418
+ u.virtualScrollHorizontal,
3419
+ h.lang.rtl
3420
+ ) : J(s);
3421
+ }), me(() => {
3422
+ I.cancel();
3423
+ }), Object.assign(r, { scrollTo: J, reset: z, refresh: N }), {
3424
+ virtualScrollSliceRange: M,
3425
+ virtualScrollSliceSizeComputed: p,
3426
+ setVirtualScrollSize: X,
3427
+ onVirtualScrollEvt: I,
3428
+ localResetVirtualScroll: D,
3429
+ padVirtualScroll: ae,
3430
+ scrollTo: J,
3431
+ reset: z,
3432
+ refresh: N
3433
+ };
3434
+ }
3435
+ const qu = /[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/, _u = /[\u4e00-\u9fff\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\u{2f800}-\u{2fa1f}]/u, Eu = /[\u3131-\u314e\u314f-\u3163\uac00-\ud7a3]/, Bu = /[a-z0-9_ -]$/i;
3436
+ function Vu(e) {
3437
+ return function(l) {
3438
+ if (l.type === "compositionend" || l.type === "change") {
3439
+ if (l.target.qComposing !== !0) return;
3440
+ l.target.qComposing = !1, e(l);
3441
+ } else l.type === "compositionupdate" && l.target.qComposing !== !0 && typeof l.data == "string" && (ve.is.firefox === !0 ? Bu.test(l.data) === !1 : qu.test(l.data) === !0 || _u.test(l.data) === !0 || Eu.test(l.data) === !0) === !0 && (l.target.qComposing = !0);
3442
+ };
3443
+ }
3444
+ function Be(e, t) {
3445
+ if (e === t)
3446
+ return !0;
3447
+ if (e !== null && t !== null && typeof e == "object" && typeof t == "object") {
3448
+ if (e.constructor !== t.constructor)
3449
+ return !1;
3450
+ let l, n;
3451
+ if (e.constructor === Array) {
3452
+ if (l = e.length, l !== t.length)
3453
+ return !1;
3454
+ for (n = l; n-- !== 0; )
3455
+ if (Be(e[n], t[n]) !== !0)
3456
+ return !1;
3457
+ return !0;
3458
+ }
3459
+ if (e.constructor === Map) {
3460
+ if (e.size !== t.size)
3461
+ return !1;
3462
+ let u = e.entries();
3463
+ for (n = u.next(); n.done !== !0; ) {
3464
+ if (t.has(n.value[0]) !== !0)
3465
+ return !1;
3466
+ n = u.next();
3467
+ }
3468
+ for (u = e.entries(), n = u.next(); n.done !== !0; ) {
3469
+ if (Be(n.value[1], t.get(n.value[0])) !== !0)
3470
+ return !1;
3471
+ n = u.next();
3472
+ }
3473
+ return !0;
3474
+ }
3475
+ if (e.constructor === Set) {
3476
+ if (e.size !== t.size)
3477
+ return !1;
3478
+ const u = e.entries();
3479
+ for (n = u.next(); n.done !== !0; ) {
3480
+ if (t.has(n.value[0]) !== !0)
3481
+ return !1;
3482
+ n = u.next();
3483
+ }
3484
+ return !0;
3485
+ }
3486
+ if (e.buffer != null && e.buffer.constructor === ArrayBuffer) {
3487
+ if (l = e.length, l !== t.length)
3488
+ return !1;
3489
+ for (n = l; n-- !== 0; )
3490
+ if (e[n] !== t[n])
3491
+ return !1;
3492
+ return !0;
3493
+ }
3494
+ if (e.constructor === RegExp)
3495
+ return e.source === t.source && e.flags === t.flags;
3496
+ if (e.valueOf !== Object.prototype.valueOf)
3497
+ return e.valueOf() === t.valueOf();
3498
+ if (e.toString !== Object.prototype.toString)
3499
+ return e.toString() === t.toString();
3500
+ const o = Object.keys(e).filter((u) => e[u] !== void 0);
3501
+ if (l = o.length, l !== Object.keys(t).filter((u) => t[u] !== void 0).length)
3502
+ return !1;
3503
+ for (n = l; n-- !== 0; ) {
3504
+ const u = o[n];
3505
+ if (Be(e[u], t[u]) !== !0)
3506
+ return !1;
3507
+ }
3508
+ return !0;
3509
+ }
3510
+ return e !== e && t !== t;
3511
+ }
3512
+ function cn(e, t, l) {
3513
+ if (l <= t)
3514
+ return t;
3515
+ const n = l - t + 1;
3516
+ let o = t + (e - t) % n;
3517
+ return o < t && (o = n + o), o === 0 ? 0 : o;
3518
+ }
3519
+ const dn = (e) => ["add", "add-unique", "toggle"].includes(e), Tu = ".*+?^${}()|[]\\", $u = Object.keys(hl);
3520
+ function ll(e, t) {
3521
+ if (typeof e == "function") return e;
3522
+ const l = e !== void 0 ? e : t;
3523
+ return (n) => n !== null && typeof n == "object" && l in n ? n[l] : n;
3524
+ }
3525
+ const Ru = he({
3526
+ name: "QSelect",
3527
+ inheritAttrs: !1,
3528
+ props: {
3529
+ ...sn,
3530
+ ...An,
3531
+ ...hl,
3532
+ // override of useFieldProps > modelValue
3533
+ modelValue: {
3534
+ required: !0
3535
+ },
3536
+ multiple: Boolean,
3537
+ displayValue: [String, Number],
3538
+ displayValueHtml: Boolean,
3539
+ dropdownIcon: String,
3540
+ options: {
3541
+ type: Array,
3542
+ default: () => []
3543
+ },
3544
+ optionValue: [Function, String],
3545
+ optionLabel: [Function, String],
3546
+ optionDisable: [Function, String],
3547
+ hideSelected: Boolean,
3548
+ hideDropdownIcon: Boolean,
3549
+ fillInput: Boolean,
3550
+ maxValues: [Number, String],
3551
+ optionsDense: Boolean,
3552
+ optionsDark: {
3553
+ type: Boolean,
3554
+ default: null
3555
+ },
3556
+ optionsSelectedClass: String,
3557
+ optionsHtml: Boolean,
3558
+ optionsCover: Boolean,
3559
+ menuShrink: Boolean,
3560
+ menuAnchor: String,
3561
+ menuSelf: String,
3562
+ menuOffset: Array,
3563
+ popupContentClass: String,
3564
+ popupContentStyle: [String, Array, Object],
3565
+ popupNoRouteDismiss: Boolean,
3566
+ useInput: Boolean,
3567
+ useChips: Boolean,
3568
+ newValueMode: {
3569
+ type: String,
3570
+ validator: dn
3571
+ },
3572
+ mapOptions: Boolean,
3573
+ emitValue: Boolean,
3574
+ disableTabSelection: Boolean,
3575
+ inputDebounce: {
3576
+ type: [Number, String],
3577
+ default: 500
3578
+ },
3579
+ inputClass: [Array, String, Object],
3580
+ inputStyle: [Array, String, Object],
3581
+ tabindex: {
3582
+ type: [String, Number],
3583
+ default: 0
3584
+ },
3585
+ autocomplete: String,
3586
+ transitionShow: {},
3587
+ transitionHide: {},
3588
+ transitionDuration: {},
3589
+ behavior: {
3590
+ type: String,
3591
+ validator: (e) => ["default", "menu", "dialog"].includes(e),
3592
+ default: "default"
3593
+ },
3594
+ // override of useVirtualScrollProps > virtualScrollItemSize (no default)
3595
+ virtualScrollItemSize: sn.virtualScrollItemSize.type,
3596
+ onNewValue: Function,
3597
+ onFilter: Function
3598
+ },
3599
+ emits: [
3600
+ ...Fn,
3601
+ "add",
3602
+ "remove",
3603
+ "inputValue",
3604
+ "keyup",
3605
+ "keypress",
3606
+ "keydown",
3607
+ "popupShow",
3608
+ "popupHide",
3609
+ "filterAbort"
3610
+ ],
3611
+ setup(e, { slots: t, emit: l }) {
3612
+ const { proxy: n } = ne(), { $q: o } = n, u = P(!1), a = P(!1), r = P(-1), h = P(""), b = P(!1), s = P(!1);
3613
+ let y = null, v = null, c, m, C, p = null, O, T, k, M;
3614
+ const R = P(null), V = P(null), A = P(null), z = P(null), N = P(null), J = bi(e), U = Vu(ql), L = d(() => Array.isArray(e.options) ? e.options.length : 0), K = d(() => e.virtualScrollItemSize === void 0 ? e.optionsDense === !0 ? 24 : 48 : e.virtualScrollItemSize), {
3615
+ virtualScrollSliceRange: B,
3616
+ virtualScrollSliceSizeComputed: D,
3617
+ localResetVirtualScroll: X,
3618
+ padVirtualScroll: ae,
3619
+ onVirtualScrollEvt: E,
3620
+ scrollTo: I,
3621
+ setVirtualScrollSize: se
3622
+ } = Cu({
3623
+ virtualScrollLength: L,
3624
+ getVirtualScrollTarget: oo,
3625
+ getVirtualScrollEl: xl,
3626
+ virtualScrollItemSizeComputed: K
3627
+ }), f = Hn(), S = d(() => {
3628
+ const i = e.mapOptions === !0 && e.multiple !== !0, q = e.modelValue !== void 0 && (e.modelValue !== null || i === !0) ? e.multiple === !0 && Array.isArray(e.modelValue) ? e.modelValue : [e.modelValue] : [];
3629
+ if (e.mapOptions === !0 && Array.isArray(e.options) === !0) {
3630
+ const _ = e.mapOptions === !0 && c !== void 0 ? c : [], H = q.map((Y) => no(Y, _));
3631
+ return e.modelValue === null && i === !0 ? H.filter((Y) => Y !== null) : H;
3632
+ }
3633
+ return q;
3634
+ }), F = d(() => {
3635
+ const i = {};
3636
+ return $u.forEach((q) => {
3637
+ const _ = e[q];
3638
+ _ !== void 0 && (i[q] = _);
3639
+ }), i;
3640
+ }), j = d(() => e.optionsDark === null ? f.isDark.value : e.optionsDark), G = d(() => sl(S.value)), x = d(() => {
3641
+ let i = "q-field__input q-placeholder col";
3642
+ return e.hideSelected === !0 || S.value.length === 0 ? [i, e.inputClass] : (i += " q-field__input--padding", e.inputClass === void 0 ? i : [i, e.inputClass]);
3643
+ }), $ = d(
3644
+ () => (e.virtualScrollHorizontal === !0 ? "q-virtual-scroll--horizontal" : "") + (e.popupContentClass ? " " + e.popupContentClass : "")
3645
+ ), W = d(() => L.value === 0), w = d(
3646
+ () => S.value.map((i) => ce.value(i)).join(", ")
3647
+ ), ee = d(() => e.displayValue !== void 0 ? e.displayValue : w.value), ye = d(() => e.optionsHtml === !0 ? () => !0 : (i) => i != null && i.html === !0), He = d(() => e.displayValueHtml === !0 || e.displayValue === void 0 && (e.optionsHtml === !0 || S.value.some(ye.value))), we = d(() => f.focused.value === !0 ? e.tabindex : -1), bt = d(() => {
3648
+ const i = {
3649
+ tabindex: e.tabindex,
3650
+ role: "combobox",
3651
+ "aria-label": e.label,
3652
+ "aria-readonly": e.readonly === !0 ? "true" : "false",
3653
+ "aria-autocomplete": e.useInput === !0 ? "list" : "none",
3654
+ "aria-expanded": u.value === !0 ? "true" : "false",
3655
+ "aria-controls": `${f.targetUid.value}_lb`
3656
+ };
3657
+ return r.value >= 0 && (i["aria-activedescendant"] = `${f.targetUid.value}_${r.value}`), i;
3658
+ }), Te = d(() => ({
3659
+ id: `${f.targetUid.value}_lb`,
3660
+ role: "listbox",
3661
+ "aria-multiselectable": e.multiple === !0 ? "true" : "false"
3662
+ })), $e = d(() => S.value.map((i, q) => ({
3663
+ index: q,
3664
+ opt: i,
3665
+ html: ye.value(i),
3666
+ selected: !0,
3667
+ removeAtIndex: lo,
3668
+ toggleOption: Re,
3669
+ tabindex: we.value
3670
+ }))), yt = d(() => {
3671
+ if (L.value === 0)
3672
+ return [];
3673
+ const { from: i, to: q } = B.value;
3674
+ return e.options.slice(i, q).map((_, H) => {
3675
+ const Y = De.value(_) === !0, Q = Dt(_) === !0, oe = i + H, te = {
3676
+ clickable: !0,
3677
+ active: Q,
3678
+ activeClass: lt.value,
3679
+ manualFocus: !0,
3680
+ focused: !1,
3681
+ disable: Y,
3682
+ tabindex: -1,
3683
+ dense: e.optionsDense,
3684
+ dark: j.value,
3685
+ role: "option",
3686
+ "aria-selected": Q === !0 ? "true" : "false",
3687
+ id: `${f.targetUid.value}_${oe}`,
3688
+ onClick: () => {
3689
+ Re(_);
3690
+ }
3691
+ };
3692
+ return Y !== !0 && (r.value === oe && (te.focused = !0), o.platform.is.desktop === !0 && (te.onMousemove = () => {
3693
+ u.value === !0 && je(oe);
3694
+ })), {
3695
+ index: oe,
3696
+ opt: _,
3697
+ html: ye.value(_),
3698
+ label: ce.value(_),
3699
+ selected: te.active,
3700
+ focused: te.focused,
3701
+ toggleOption: Re,
3702
+ setOptionIndex: je,
3703
+ itemProps: te
3704
+ };
3705
+ });
3706
+ }), tt = d(() => e.dropdownIcon !== void 0 ? e.dropdownIcon : o.iconSet.arrow.dropdown), Ft = d(
3707
+ () => e.optionsCover === !1 && e.outlined !== !0 && e.standout !== !0 && e.borderless !== !0 && e.rounded !== !0
3708
+ ), lt = d(() => e.optionsSelectedClass !== void 0 ? e.optionsSelectedClass : e.color !== void 0 ? `text-${e.color}` : ""), Se = d(() => ll(e.optionValue, "value")), ce = d(() => ll(e.optionLabel, "label")), De = d(() => ll(e.optionDisable, "disable")), wt = d(() => S.value.map(Se.value)), to = d(() => {
3709
+ const i = {
3710
+ onInput: ql,
3711
+ // Safari < 10.2 & UIWebView doesn't fire compositionend when
3712
+ // switching focus before confirming composition choice
3713
+ // this also fixes the issue where some browsers e.g. iOS Chrome
3714
+ // fires "change" instead of "input" on autocomplete.
3715
+ onChange: U,
3716
+ onKeydown: kl,
3717
+ onKeyup: wl,
3718
+ onKeypress: Sl,
3719
+ onFocus: bl,
3720
+ onClick(q) {
3721
+ m === !0 && Ee(q);
3722
+ }
3723
+ };
3724
+ return i.onCompositionstart = i.onCompositionupdate = i.onCompositionend = U, i;
3725
+ });
3726
+ Z(S, (i) => {
3727
+ c = i, e.useInput === !0 && e.fillInput === !0 && e.multiple !== !0 && f.innerLoading.value !== !0 && (a.value !== !0 && u.value !== !0 || G.value !== !0) && (C !== !0 && Qe(), (a.value === !0 || u.value === !0) && Ne(""));
3728
+ }, { immediate: !0 }), Z(() => e.fillInput, Qe), Z(u, jt), Z(L, po);
3729
+ function gl(i) {
3730
+ return e.emitValue === !0 ? Se.value(i) : i;
3731
+ }
3732
+ function Ht(i) {
3733
+ if (i !== -1 && i < S.value.length)
3734
+ if (e.multiple === !0) {
3735
+ const q = e.modelValue.slice();
3736
+ l("remove", { index: i, value: q.splice(i, 1)[0] }), l("update:modelValue", q);
3737
+ } else
3738
+ l("update:modelValue", null);
3739
+ }
3740
+ function lo(i) {
3741
+ Ht(i), f.focus();
3742
+ }
3743
+ function pl(i, q) {
3744
+ const _ = gl(i);
3745
+ if (e.multiple !== !0) {
3746
+ e.fillInput === !0 && nt(
3747
+ ce.value(i),
3748
+ !0,
3749
+ !0
3750
+ ), l("update:modelValue", _);
3751
+ return;
3752
+ }
3753
+ if (S.value.length === 0) {
3754
+ l("add", { index: 0, value: _ }), l("update:modelValue", e.multiple === !0 ? [_] : _);
3755
+ return;
3756
+ }
3757
+ if (q === !0 && Dt(i) === !0 || e.maxValues !== void 0 && e.modelValue.length >= e.maxValues)
3758
+ return;
3759
+ const H = e.modelValue.slice();
3760
+ l("add", { index: H.length, value: _ }), H.push(_), l("update:modelValue", H);
3761
+ }
3762
+ function Re(i, q) {
3763
+ if (f.editable.value !== !0 || i === void 0 || De.value(i) === !0)
3764
+ return;
3765
+ const _ = Se.value(i);
3766
+ if (e.multiple !== !0) {
3767
+ q !== !0 && (nt(
3768
+ e.fillInput === !0 ? ce.value(i) : "",
3769
+ !0,
3770
+ !0
3771
+ ), Le()), V.value !== null && V.value.focus(), (S.value.length === 0 || Be(Se.value(S.value[0]), _) !== !0) && l("update:modelValue", e.emitValue === !0 ? _ : i);
3772
+ return;
3773
+ }
3774
+ if ((m !== !0 || b.value === !0) && f.focus(), bl(), S.value.length === 0) {
3775
+ const Q = e.emitValue === !0 ? _ : i;
3776
+ l("add", { index: 0, value: Q }), l("update:modelValue", e.multiple === !0 ? [Q] : Q);
3777
+ return;
3778
+ }
3779
+ const H = e.modelValue.slice(), Y = wt.value.findIndex((Q) => Be(Q, _));
3780
+ if (Y !== -1)
3781
+ l("remove", { index: Y, value: H.splice(Y, 1)[0] });
3782
+ else {
3783
+ if (e.maxValues !== void 0 && H.length >= e.maxValues)
3784
+ return;
3785
+ const Q = e.emitValue === !0 ? _ : i;
3786
+ l("add", { index: H.length, value: Q }), H.push(Q);
3787
+ }
3788
+ l("update:modelValue", H);
3789
+ }
3790
+ function je(i) {
3791
+ if (o.platform.is.desktop !== !0) return;
3792
+ const q = i !== -1 && i < L.value ? i : -1;
3793
+ r.value !== q && (r.value = q);
3794
+ }
3795
+ function St(i = 1, q) {
3796
+ if (u.value === !0) {
3797
+ let _ = r.value;
3798
+ do
3799
+ _ = cn(
3800
+ _ + i,
3801
+ -1,
3802
+ L.value - 1
3803
+ );
3804
+ while (_ !== -1 && _ !== r.value && De.value(e.options[_]) === !0);
3805
+ r.value !== _ && (je(_), I(_), q !== !0 && e.useInput === !0 && e.fillInput === !0 && kt(
3806
+ _ >= 0 ? ce.value(e.options[_]) : O,
3807
+ !0
3808
+ ));
3809
+ }
3810
+ }
3811
+ function no(i, q) {
3812
+ const _ = (H) => Be(Se.value(H), i);
3813
+ return e.options.find(_) || q.find(_) || i;
3814
+ }
3815
+ function Dt(i) {
3816
+ const q = Se.value(i);
3817
+ return wt.value.find((_) => Be(_, q)) !== void 0;
3818
+ }
3819
+ function bl(i) {
3820
+ e.useInput === !0 && V.value !== null && (i === void 0 || V.value === i.target && i.target.value === w.value) && V.value.select();
3821
+ }
3822
+ function yl(i) {
3823
+ Fe(i, 27) === !0 && u.value === !0 && (Ee(i), Le(), Qe()), l("keyup", i);
3824
+ }
3825
+ function wl(i) {
3826
+ const { value: q } = i.target;
3827
+ if (i.keyCode !== void 0) {
3828
+ yl(i);
3829
+ return;
3830
+ }
3831
+ if (i.target.value = "", y !== null && (clearTimeout(y), y = null), v !== null && (clearTimeout(v), v = null), Qe(), typeof q == "string" && q.length !== 0) {
3832
+ const _ = q.toLocaleLowerCase(), H = (Q) => {
3833
+ const oe = e.options.find((te) => String(Q.value(te)).toLocaleLowerCase() === _);
3834
+ return oe === void 0 ? !1 : (S.value.indexOf(oe) === -1 ? Re(oe) : Le(), !0);
3835
+ }, Y = (Q) => {
3836
+ H(Se) !== !0 && Q !== !0 && H(ce) !== !0 && Ne(q, !0, () => Y(!0));
3837
+ };
3838
+ Y();
3839
+ } else
3840
+ f.clearValue(i);
3841
+ }
3842
+ function Sl(i) {
3843
+ l("keypress", i);
3844
+ }
3845
+ function kl(i) {
3846
+ if (l("keydown", i), _n(i) === !0)
3847
+ return;
3848
+ const q = h.value.length !== 0 && (e.newValueMode !== void 0 || e.onNewValue !== void 0), _ = i.shiftKey !== !0 && e.disableTabSelection !== !0 && e.multiple !== !0 && (r.value !== -1 || q === !0);
3849
+ if (i.keyCode === 27) {
3850
+ be(i);
3851
+ return;
3852
+ }
3853
+ if (i.keyCode === 9 && _ === !1) {
3854
+ We();
3855
+ return;
3856
+ }
3857
+ if (i.target === void 0 || i.target.id !== f.targetUid.value || f.editable.value !== !0) return;
3858
+ if (i.keyCode === 40 && f.innerLoading.value !== !0 && u.value === !1) {
3859
+ le(i), Ke();
3860
+ return;
3861
+ }
3862
+ if (i.keyCode === 8 && (e.useChips === !0 || e.clearable === !0) && e.hideSelected !== !0 && h.value.length === 0) {
3863
+ e.multiple === !0 && Array.isArray(e.modelValue) === !0 ? Ht(e.modelValue.length - 1) : e.multiple !== !0 && e.modelValue !== null && l("update:modelValue", null);
3864
+ return;
3865
+ }
3866
+ (i.keyCode === 35 || i.keyCode === 36) && (typeof h.value != "string" || h.value.length === 0) && (le(i), r.value = -1, St(i.keyCode === 36 ? 1 : -1, e.multiple)), (i.keyCode === 33 || i.keyCode === 34) && D.value !== void 0 && (le(i), r.value = Math.max(
3867
+ -1,
3868
+ Math.min(
3869
+ L.value,
3870
+ r.value + (i.keyCode === 33 ? -1 : 1) * D.value.view
3871
+ )
3872
+ ), St(i.keyCode === 33 ? 1 : -1, e.multiple)), (i.keyCode === 38 || i.keyCode === 40) && (le(i), St(i.keyCode === 38 ? -1 : 1, e.multiple));
3873
+ const H = L.value;
3874
+ if ((k === void 0 || M < Date.now()) && (k = ""), H > 0 && e.useInput !== !0 && i.key !== void 0 && i.key.length === 1 && i.altKey === !1 && i.ctrlKey === !1 && i.metaKey === !1 && (i.keyCode !== 32 || k.length !== 0)) {
3875
+ u.value !== !0 && Ke(i);
3876
+ const Y = i.key.toLocaleLowerCase(), Q = k.length === 1 && k[0] === Y;
3877
+ M = Date.now() + 1500, Q === !1 && (le(i), k += Y);
3878
+ const oe = new RegExp("^" + k.split("").map((Nt) => Tu.indexOf(Nt) !== -1 ? "\\" + Nt : Nt).join(".*"), "i");
3879
+ let te = r.value;
3880
+ if (Q === !0 || te < 0 || oe.test(ce.value(e.options[te])) !== !0)
3881
+ do
3882
+ te = cn(te + 1, -1, H - 1);
3883
+ while (te !== r.value && (De.value(e.options[te]) === !0 || oe.test(ce.value(e.options[te])) !== !0));
3884
+ r.value !== te && fe(() => {
3885
+ je(te), I(te), te >= 0 && e.useInput === !0 && e.fillInput === !0 && kt(ce.value(e.options[te]), !0);
3886
+ });
3887
+ return;
3888
+ }
3889
+ if (!(i.keyCode !== 13 && (i.keyCode !== 32 || e.useInput === !0 || k !== "") && (i.keyCode !== 9 || _ === !1))) {
3890
+ if (i.keyCode !== 9 && le(i), r.value !== -1 && r.value < H) {
3891
+ Re(e.options[r.value]);
3892
+ return;
3893
+ }
3894
+ if (q === !0) {
3895
+ const Y = (Q, oe) => {
3896
+ if (oe) {
3897
+ if (dn(oe) !== !0)
3898
+ return;
3899
+ } else
3900
+ oe = e.newValueMode;
3901
+ if (nt("", e.multiple !== !0, !0), Q == null)
3902
+ return;
3903
+ (oe === "toggle" ? Re : pl)(Q, oe === "add-unique"), e.multiple !== !0 && (V.value !== null && V.value.focus(), Le());
3904
+ };
3905
+ if (e.onNewValue !== void 0 ? l("newValue", h.value, Y) : Y(h.value), e.multiple !== !0)
3906
+ return;
3907
+ }
3908
+ u.value === !0 ? We() : f.innerLoading.value !== !0 && Ke();
3909
+ }
3910
+ }
3911
+ function xl() {
3912
+ return m === !0 ? N.value : A.value !== null && A.value.contentEl !== null ? A.value.contentEl : void 0;
3913
+ }
3914
+ function oo() {
3915
+ return xl();
3916
+ }
3917
+ function io() {
3918
+ return e.hideSelected === !0 ? [] : t["selected-item"] !== void 0 ? $e.value.map((i) => t["selected-item"](i)).slice() : t.selected !== void 0 ? [].concat(t.selected()) : e.useChips === !0 ? $e.value.map((i, q) => g(Ii, {
3919
+ key: "option-" + q,
3920
+ removable: f.editable.value === !0 && De.value(i.opt) !== !0,
3921
+ dense: !0,
3922
+ textColor: e.color,
3923
+ tabindex: we.value,
3924
+ onRemove() {
3925
+ i.removeAtIndex(q);
3926
+ }
3927
+ }, () => g("span", {
3928
+ class: "ellipsis",
3929
+ [i.html === !0 ? "innerHTML" : "textContent"]: ce.value(i.opt)
3930
+ }))) : [
3931
+ g("span", {
3932
+ [He.value === !0 ? "innerHTML" : "textContent"]: ee.value
3933
+ })
3934
+ ];
3935
+ }
3936
+ function Cl() {
3937
+ if (W.value === !0)
3938
+ return t["no-option"] !== void 0 ? t["no-option"]({ inputValue: h.value }) : void 0;
3939
+ const i = t.option !== void 0 ? t.option : (_) => g(Pn, {
3940
+ key: _.index,
3941
+ ..._.itemProps
3942
+ }, () => g(
3943
+ Tt,
3944
+ () => g(
3945
+ On,
3946
+ () => g("span", {
3947
+ [_.html === !0 ? "innerHTML" : "textContent"]: _.label
3948
+ })
3949
+ )
3950
+ ));
3951
+ let q = ae("div", yt.value.map(i));
3952
+ return t["before-options"] !== void 0 && (q = t["before-options"]().concat(q)), Ae(t["after-options"], q);
3953
+ }
3954
+ function uo(i, q) {
3955
+ const _ = q === !0 ? { ...bt.value, ...f.splitAttrs.attributes.value } : void 0, H = {
3956
+ ref: q === !0 ? V : void 0,
3957
+ key: "i_t",
3958
+ class: x.value,
3959
+ style: e.inputStyle,
3960
+ value: h.value !== void 0 ? h.value : "",
3961
+ // required for Android in order to show ENTER key when in form
3962
+ type: "search",
3963
+ ..._,
3964
+ id: q === !0 ? f.targetUid.value : void 0,
3965
+ maxlength: e.maxlength,
3966
+ autocomplete: e.autocomplete,
3967
+ "data-autofocus": i === !0 || e.autofocus === !0 || void 0,
3968
+ disabled: e.disable === !0,
3969
+ readonly: e.readonly === !0,
3970
+ ...to.value
3971
+ };
3972
+ return i !== !0 && m === !0 && (Array.isArray(H.class) === !0 ? H.class = [...H.class, "no-pointer-events"] : H.class += " no-pointer-events"), g("input", H);
3973
+ }
3974
+ function ql(i) {
3975
+ y !== null && (clearTimeout(y), y = null), v !== null && (clearTimeout(v), v = null), !(i && i.target && i.target.qComposing === !0) && (kt(i.target.value || ""), C = !0, O = h.value, f.focused.value !== !0 && (m !== !0 || b.value === !0) && f.focus(), e.onFilter !== void 0 && (y = setTimeout(() => {
3976
+ y = null, Ne(h.value);
3977
+ }, e.inputDebounce)));
3978
+ }
3979
+ function kt(i, q) {
3980
+ h.value !== i && (h.value = i, q === !0 || e.inputDebounce === 0 || e.inputDebounce === "0" ? l("inputValue", i) : v = setTimeout(() => {
3981
+ v = null, l("inputValue", i);
3982
+ }, e.inputDebounce));
3983
+ }
3984
+ function nt(i, q, _) {
3985
+ C = _ !== !0, e.useInput === !0 && (kt(i, !0), (q === !0 || _ !== !0) && (O = i), q !== !0 && Ne(i));
3986
+ }
3987
+ function Ne(i, q, _) {
3988
+ if (e.onFilter === void 0 || q !== !0 && f.focused.value !== !0)
3989
+ return;
3990
+ f.innerLoading.value === !0 ? l("filterAbort") : (f.innerLoading.value = !0, s.value = !0), i !== "" && e.multiple !== !0 && S.value.length !== 0 && C !== !0 && i === ce.value(S.value[0]) && (i = "");
3991
+ const H = setTimeout(() => {
3992
+ u.value === !0 && (u.value = !1);
3993
+ }, 10);
3994
+ p !== null && clearTimeout(p), p = H, l(
3995
+ "filter",
3996
+ i,
3997
+ (Y, Q) => {
3998
+ (q === !0 || f.focused.value === !0) && p === H && (clearTimeout(p), typeof Y == "function" && Y(), s.value = !1, fe(() => {
3999
+ f.innerLoading.value = !1, f.editable.value === !0 && (q === !0 ? u.value === !0 && Le() : u.value === !0 ? jt(!0) : u.value = !0), typeof Q == "function" && fe(() => {
4000
+ Q(n);
4001
+ }), typeof _ == "function" && fe(() => {
4002
+ _(n);
4003
+ });
4004
+ }));
4005
+ },
4006
+ () => {
4007
+ f.focused.value === !0 && p === H && (clearTimeout(p), f.innerLoading.value = !1, s.value = !1), u.value === !0 && (u.value = !1);
4008
+ }
4009
+ );
4010
+ }
4011
+ function ao() {
4012
+ return g(vu, {
4013
+ ref: A,
4014
+ class: $.value,
4015
+ style: e.popupContentStyle,
4016
+ modelValue: u.value,
4017
+ fit: e.menuShrink !== !0,
4018
+ cover: e.optionsCover === !0 && W.value !== !0 && e.useInput !== !0,
4019
+ anchor: e.menuAnchor,
4020
+ self: e.menuSelf,
4021
+ offset: e.menuOffset,
4022
+ dark: j.value,
4023
+ noParentEvent: !0,
4024
+ noRefocus: !0,
4025
+ noFocus: !0,
4026
+ noRouteDismiss: e.popupNoRouteDismiss,
4027
+ square: Ft.value,
4028
+ transitionShow: e.transitionShow,
4029
+ transitionHide: e.transitionHide,
4030
+ transitionDuration: e.transitionDuration,
4031
+ separateClosePopup: !0,
4032
+ ...Te.value,
4033
+ onScrollPassive: E,
4034
+ onBeforeShow: El,
4035
+ onBeforeHide: ro,
4036
+ onShow: so
4037
+ }, Cl);
4038
+ }
4039
+ function ro(i) {
4040
+ Bl(i), We();
4041
+ }
4042
+ function so() {
4043
+ se();
4044
+ }
4045
+ function co(i) {
4046
+ Ee(i), V.value !== null && V.value.focus(), b.value = !0, window.scrollTo(window.pageXOffset || window.scrollX || document.body.scrollLeft || 0, 0);
4047
+ }
4048
+ function fo(i) {
4049
+ Ee(i), fe(() => {
4050
+ b.value = !1;
4051
+ });
4052
+ }
4053
+ function vo() {
4054
+ const i = [
4055
+ g(Pi, {
4056
+ class: `col-auto ${f.fieldClass.value}`,
4057
+ ...F.value,
4058
+ for: f.targetUid.value,
4059
+ dark: j.value,
4060
+ square: !0,
4061
+ loading: s.value,
4062
+ itemAligned: !1,
4063
+ filled: !0,
4064
+ stackLabel: h.value.length !== 0,
4065
+ ...f.splitAttrs.listeners.value,
4066
+ onFocus: co,
4067
+ onBlur: fo
4068
+ }, {
4069
+ ...t,
4070
+ rawControl: () => f.getControl(!0),
4071
+ before: void 0,
4072
+ after: void 0
4073
+ })
4074
+ ];
4075
+ return u.value === !0 && i.push(
4076
+ g("div", {
4077
+ ref: N,
4078
+ class: $.value + " scroll",
4079
+ style: e.popupContentStyle,
4080
+ ...Te.value,
4081
+ onClick: be,
4082
+ onScrollPassive: E
4083
+ }, Cl())
4084
+ ), g(wu, {
4085
+ ref: z,
4086
+ modelValue: a.value,
4087
+ position: e.useInput === !0 ? "top" : void 0,
4088
+ transitionShow: T,
4089
+ transitionHide: e.transitionHide,
4090
+ transitionDuration: e.transitionDuration,
4091
+ noRouteDismiss: e.popupNoRouteDismiss,
4092
+ onBeforeShow: El,
4093
+ onBeforeHide: mo,
4094
+ onHide: ho,
4095
+ onShow: go
4096
+ }, () => g("div", {
4097
+ class: "q-select__dialog" + (j.value === !0 ? " q-select__dialog--dark q-dark" : "") + (b.value === !0 ? " q-select__dialog--focused" : "")
4098
+ }, i));
4099
+ }
4100
+ function mo(i) {
4101
+ Bl(i), z.value !== null && z.value.__updateRefocusTarget(
4102
+ f.rootRef.value.querySelector(".q-field__native > [tabindex]:last-child")
4103
+ ), f.focused.value = !1;
4104
+ }
4105
+ function ho(i) {
4106
+ Le(), f.focused.value === !1 && l("blur", i), Qe();
4107
+ }
4108
+ function go() {
4109
+ const i = document.activeElement;
4110
+ (i === null || i.id !== f.targetUid.value) && V.value !== null && V.value !== i && V.value.focus(), se();
4111
+ }
4112
+ function We() {
4113
+ a.value !== !0 && (r.value = -1, u.value === !0 && (u.value = !1), f.focused.value === !1 && (p !== null && (clearTimeout(p), p = null), f.innerLoading.value === !0 && (l("filterAbort"), f.innerLoading.value = !1, s.value = !1)));
4114
+ }
4115
+ function Ke(i) {
4116
+ f.editable.value === !0 && (m === !0 ? (f.onControlFocusin(i), a.value = !0, fe(() => {
4117
+ f.focus();
4118
+ })) : f.focus(), e.onFilter !== void 0 ? Ne(h.value) : (W.value !== !0 || t["no-option"] !== void 0) && (u.value = !0));
4119
+ }
4120
+ function Le() {
4121
+ a.value = !1, We();
4122
+ }
4123
+ function Qe() {
4124
+ e.useInput === !0 && nt(
4125
+ e.multiple !== !0 && e.fillInput === !0 && S.value.length !== 0 && ce.value(S.value[0]) || "",
4126
+ !0,
4127
+ !0
4128
+ );
4129
+ }
4130
+ function jt(i) {
4131
+ let q = -1;
4132
+ if (i === !0) {
4133
+ if (S.value.length !== 0) {
4134
+ const _ = Se.value(S.value[0]);
4135
+ q = e.options.findIndex((H) => Be(Se.value(H), _));
4136
+ }
4137
+ X(q);
4138
+ }
4139
+ je(q);
4140
+ }
4141
+ function po(i, q) {
4142
+ u.value === !0 && f.innerLoading.value === !1 && (X(-1, !0), fe(() => {
4143
+ u.value === !0 && f.innerLoading.value === !1 && (i > q ? X() : jt(!0));
4144
+ }));
4145
+ }
4146
+ function _l() {
4147
+ a.value === !1 && A.value !== null && A.value.updatePosition();
4148
+ }
4149
+ function El(i) {
4150
+ i !== void 0 && Ee(i), l("popupShow", i), f.hasPopupOpen = !0, f.onControlFocusin(i);
4151
+ }
4152
+ function Bl(i) {
4153
+ i !== void 0 && Ee(i), l("popupHide", i), f.hasPopupOpen = !1, f.onControlFocusout(i);
4154
+ }
4155
+ function Vl() {
4156
+ m = o.platform.is.mobile !== !0 && e.behavior !== "dialog" ? !1 : e.behavior !== "menu" && (e.useInput === !0 ? t["no-option"] !== void 0 || e.onFilter !== void 0 || W.value === !1 : !0), T = o.platform.is.ios === !0 && m === !0 && e.useInput === !0 ? "fade" : e.transitionShow;
4157
+ }
4158
+ return gn(Vl), Co(_l), Vl(), me(() => {
4159
+ y !== null && clearTimeout(y), v !== null && clearTimeout(v);
4160
+ }), Object.assign(n, {
4161
+ showPopup: Ke,
4162
+ hidePopup: Le,
4163
+ removeAtIndex: Ht,
4164
+ add: pl,
4165
+ toggleOption: Re,
4166
+ getOptionIndex: () => r.value,
4167
+ setOptionIndex: je,
4168
+ moveOptionSelection: St,
4169
+ filter: Ne,
4170
+ updateMenuPosition: _l,
4171
+ updateInputValue: nt,
4172
+ isOptionSelected: Dt,
4173
+ getEmittingOptionValue: gl,
4174
+ isOptionDisabled: (...i) => De.value.apply(null, i) === !0,
4175
+ getOptionValue: (...i) => Se.value.apply(null, i),
4176
+ getOptionLabel: (...i) => ce.value.apply(null, i)
4177
+ }), Object.assign(f, {
4178
+ innerValue: S,
4179
+ fieldClass: d(
4180
+ () => `q-select q-field--auto-height q-select--with${e.useInput !== !0 ? "out" : ""}-input q-select--with${e.useChips !== !0 ? "out" : ""}-chips q-select--${e.multiple === !0 ? "multiple" : "single"}`
4181
+ ),
4182
+ inputRef: R,
4183
+ targetRef: V,
4184
+ hasValue: G,
4185
+ showPopup: Ke,
4186
+ floatingLabel: d(
4187
+ () => e.hideSelected !== !0 && G.value === !0 || typeof h.value == "number" || h.value.length !== 0 || sl(e.displayValue)
4188
+ ),
4189
+ getControlChild: () => {
4190
+ if (f.editable.value !== !1 && (a.value === !0 || W.value !== !0 || t["no-option"] !== void 0))
4191
+ return m === !0 ? vo() : ao();
4192
+ f.hasPopupOpen === !0 && (f.hasPopupOpen = !1);
4193
+ },
4194
+ controlEvents: {
4195
+ onFocusin(i) {
4196
+ f.onControlFocusin(i);
4197
+ },
4198
+ onFocusout(i) {
4199
+ f.onControlFocusout(i, () => {
4200
+ Qe(), We();
4201
+ });
4202
+ },
4203
+ onClick(i) {
4204
+ if (be(i), m !== !0 && u.value === !0) {
4205
+ We(), V.value !== null && V.value.focus();
4206
+ return;
4207
+ }
4208
+ Ke(i);
4209
+ }
4210
+ },
4211
+ getControl: (i) => {
4212
+ const q = io(), _ = i === !0 || a.value !== !0 || m !== !0;
4213
+ if (e.useInput === !0)
4214
+ q.push(uo(i, _));
4215
+ else if (f.editable.value === !0) {
4216
+ const Y = _ === !0 ? bt.value : void 0;
4217
+ q.push(
4218
+ g("input", {
4219
+ ref: _ === !0 ? V : void 0,
4220
+ key: "d_t",
4221
+ class: "q-select__focus-target",
4222
+ id: _ === !0 ? f.targetUid.value : void 0,
4223
+ value: ee.value,
4224
+ readonly: !0,
4225
+ "data-autofocus": i === !0 || e.autofocus === !0 || void 0,
4226
+ ...Y,
4227
+ onKeydown: kl,
4228
+ onKeyup: yl,
4229
+ onKeypress: Sl
4230
+ })
4231
+ ), _ === !0 && typeof e.autocomplete == "string" && e.autocomplete.length !== 0 && q.push(
4232
+ g("input", {
4233
+ class: "q-select__autocomplete-input",
4234
+ autocomplete: e.autocomplete,
4235
+ tabindex: -1,
4236
+ onKeyup: wl
4237
+ })
4238
+ );
4239
+ }
4240
+ if (J.value !== void 0 && e.disable !== !0 && wt.value.length !== 0) {
4241
+ const Y = wt.value.map((Q) => g("option", { value: Q, selected: !0 }));
4242
+ q.push(
4243
+ g("select", {
4244
+ class: "hidden",
4245
+ name: J.value,
4246
+ multiple: e.multiple
4247
+ }, Y)
4248
+ );
4249
+ }
4250
+ const H = e.useInput === !0 || _ !== !0 ? void 0 : f.splitAttrs.attributes.value;
4251
+ return g("div", {
4252
+ class: "q-field__native row items-center",
4253
+ ...H,
4254
+ ...f.splitAttrs.listeners.value
4255
+ }, q);
4256
+ },
4257
+ getInnerAppend: () => e.loading !== !0 && s.value !== !0 && e.hideDropdownIcon !== !0 ? [
4258
+ g(_e, {
4259
+ class: "q-select__dropdown-icon" + (u.value === !0 ? " rotate-180" : ""),
4260
+ name: tt.value
4261
+ })
4262
+ ] : null
4263
+ }), Dn(f);
4264
+ }
4265
+ }), Lu = { class: "app-select__amount" }, Mu = {
4266
+ name: "AppSelect"
4267
+ }, Au = /* @__PURE__ */ mt({
4268
+ ...Mu,
4269
+ props: {
4270
+ modelValue: {},
4271
+ size: { default: qe.MD },
4272
+ options: {},
4273
+ multiple: { type: Boolean },
4274
+ label: {},
4275
+ placeholder: {},
4276
+ required: { type: Boolean },
4277
+ clearable: { type: Boolean },
4278
+ disabled: { type: Boolean },
4279
+ loading: { type: Boolean },
4280
+ filtering: { type: Boolean },
4281
+ autofocus: { type: Boolean },
4282
+ rules: {},
4283
+ lazyRules: { type: [Boolean, String] }
4284
+ },
4285
+ emits: ["update:modelValue"],
4286
+ setup(e, { emit: t }) {
4287
+ const l = e, n = t, o = P(!1), u = P(""), a = d({
4288
+ get() {
4289
+ return l.modelValue;
4290
+ },
4291
+ set(c) {
4292
+ n("update:modelValue", c);
4293
+ }
4294
+ }), r = d(() => {
4295
+ var c;
4296
+ if (Array.isArray(a.value)) {
4297
+ if (l.multiple && a.value.length == 0)
4298
+ return l.placeholder;
4299
+ } else return ((c = a.value) == null ? void 0 : c.label) || l.placeholder || "";
4300
+ return "";
4301
+ }), h = d(() => !(!l.clearable || !l.modelValue || l.modelValue && Array.isArray(l.modelValue) && !l.modelValue.length)), b = d(() => u.value ? l.options.filter(
4302
+ (c) => c.label.toLowerCase().includes(u.value.toLowerCase())
4303
+ ) : l.options), s = d(() => {
4304
+ if (l.rules)
4305
+ return l.required ? [...l.rules, Fl] : l.rules;
4306
+ if (l.required)
4307
+ return [Fl];
4308
+ }), y = () => {
4309
+ a.value = void 0;
4310
+ }, v = (c, m) => {
4311
+ m(() => {
4312
+ u.value = c;
4313
+ });
4314
+ };
4315
+ return (c, m) => (ue(), de("div", {
4316
+ class: Ve(["app-select", [{ "app-select_opened": o.value }, `app-select_${c.size}`]])
4317
+ }, [
4318
+ c.label ? (ue(), de("label", {
4319
+ key: 0,
4320
+ class: Ve(["app-select__label", { "app-select__label_bold": c.required }])
4321
+ }, Ze(c.required ? `${c.label} *` : c.label), 3)) : Ce("", !0),
4322
+ ot(st(Ru), {
4323
+ standout: "",
4324
+ "hide-bottom-space": "",
4325
+ "hide-dropdown-icon": "",
4326
+ "no-error-icon": "",
4327
+ behavior: "menu",
4328
+ "popup-content-class": `app-select-menu app-select-menu_${c.size}`,
4329
+ placeholder: c.filtering && "Почніть вводити",
4330
+ "input-debounce": "50",
4331
+ modelValue: a.value,
4332
+ "onUpdate:modelValue": m[0] || (m[0] = (C) => a.value = C),
4333
+ options: b.value,
4334
+ multiple: c.multiple,
4335
+ "use-input": c.filtering && (Array.isArray(a.value) || !a.value),
4336
+ rules: s.value,
4337
+ "lazy-rules": c.lazyRules,
4338
+ autofocus: c.autofocus,
4339
+ disable: c.disabled,
4340
+ loading: c.loading,
4341
+ onFilter: v,
4342
+ onPopupShow: m[1] || (m[1] = (C) => o.value = !0),
4343
+ onPopupHide: m[2] || (m[2] = (C) => o.value = !1)
4344
+ }, {
4345
+ append: xe(() => [
4346
+ h.value ? (ue(), de("i", {
4347
+ key: 0,
4348
+ class: "icon-kl icon-kl-close app-select__clear",
4349
+ onClick: hn(y, ["stop", "prevent"])
4350
+ })) : Ce("", !0),
4351
+ m[3] || (m[3] = Wt("i", { class: "icon-kl icon-kl-arrow-down app-select__drop-icon" }, null, -1))
4352
+ ]),
4353
+ selected: xe(() => {
4354
+ var C, p;
4355
+ return [
4356
+ Array.isArray(a.value) ? (ue(), de(at, { key: 0 }, [
4357
+ !c.filtering || a.value.length ? (ue(), de("span", {
4358
+ key: 0,
4359
+ class: Ve([
4360
+ "app-select__selected",
4361
+ {
4362
+ "app-select__placeholder": !((C = a.value) != null && C.length) && c.placeholder
4363
+ }
4364
+ ])
4365
+ }, [
4366
+ (p = a.value) != null && p.length ? (ue(), de(at, { key: 0 }, [
4367
+ m[4] || (m[4] = Vt(" Вибрано ")),
4368
+ Wt("span", Lu, Ze(a.value.length), 1)
4369
+ ], 64)) : (ue(), de(at, { key: 1 }, [
4370
+ Vt(Ze(l.placeholder), 1)
4371
+ ], 64))
4372
+ ], 2)) : Ce("", !0)
4373
+ ], 64)) : (ue(), de(at, { key: 1 }, [
4374
+ !c.filtering || a.value ? (ue(), de("span", {
4375
+ key: 0,
4376
+ class: Ve([
4377
+ "app-select__selected",
4378
+ { "app-select__placeholder": !a.value && c.placeholder }
4379
+ ])
4380
+ }, Ze(r.value), 3)) : Ce("", !0)
4381
+ ], 64))
4382
+ ];
4383
+ }),
4384
+ option: xe((C) => [
4385
+ ot(Pn, mn({
4386
+ class: ["app-select__option", { "app-select__option_selected": C.selected }]
4387
+ }, C.itemProps), {
4388
+ default: xe(() => [
4389
+ l.multiple ? (ue(), $t(Tt, {
4390
+ key: 0,
4391
+ class: "option-multiple",
4392
+ avatar: ""
4393
+ }, {
4394
+ default: xe(() => [
4395
+ ot(Ci, {
4396
+ size: "30px",
4397
+ "model-value": C.selected,
4398
+ "onUpdate:modelValue": () => C.toggleOption(C.opt)
4399
+ }, null, 8, ["model-value", "onUpdate:modelValue"])
4400
+ ]),
4401
+ _: 2
4402
+ }, 1024)) : Ce("", !0),
4403
+ C.opt.done ? (ue(), $t(Tt, {
4404
+ key: 1,
4405
+ class: "option-done",
4406
+ avatar: ""
4407
+ }, {
4408
+ default: xe(() => m[5] || (m[5] = [
4409
+ Wt("i", { class: "icon-kl icon-kl-check option-done__icon" }, null, -1)
4410
+ ])),
4411
+ _: 1
4412
+ })) : Ce("", !0),
4413
+ ot(Tt, null, {
4414
+ default: xe(() => [
4415
+ ot(On, null, {
4416
+ default: xe(() => [
4417
+ Vt(Ze(C.opt.label), 1)
4418
+ ]),
4419
+ _: 2
4420
+ }, 1024)
4421
+ ]),
4422
+ _: 2
4423
+ }, 1024)
4424
+ ]),
4425
+ _: 2
4426
+ }, 1040, ["class"])
4427
+ ]),
4428
+ _: 1
4429
+ }, 8, ["popup-content-class", "placeholder", "modelValue", "options", "multiple", "use-input", "rules", "lazy-rules", "autofocus", "disable", "loading"])
4430
+ ], 2));
4431
+ }
4432
+ }), Fu = /* @__PURE__ */ fl(Au, [["__scopeId", "data-v-4f6d119e"]]), Ou = {
4433
+ name: "AppIcon"
4434
+ }, Pu = /* @__PURE__ */ mt({
4435
+ ...Ou,
4436
+ props: {
4437
+ name: {},
4438
+ size: {},
4439
+ color: {}
4440
+ },
4441
+ setup(e) {
4442
+ return (t, l) => (ue(), de("i", {
4443
+ class: Ve(["icon-kl", `icon-kl-${t.name}`, t.color ? `text-${t.color}` : ""]),
4444
+ style: qo(t.size ? `font-size: ${t.size}` : void 0)
4445
+ }, null, 6));
4446
+ }
4447
+ }), Hu = /* @__PURE__ */ fl(Pu, [["__scopeId", "data-v-3bfa1de4"]]);
4448
+ export {
4449
+ ri as A,
4450
+ Iu as _,
4451
+ Fu as a,
4452
+ Hu as b
4453
+ };