@validol4ik/uikit 0.3.0 → 0.3.2

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