@cesarv/v-image-crop-dialog 0.0.1

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,4482 @@
1
+ import { warn as Ht, capitalize as Kn, reactive as Ie, watchEffect as fe, toRef as x, Fragment as Se, shallowRef as G, getCurrentInstance as Ua, ref as D, computed as S, unref as ee, provide as Te, inject as ue, defineComponent as Zn, h as Jn, camelize as Ya, onBeforeUnmount as Be, watch as B, readonly as Qn, onScopeDispose as ne, effectScope as qt, toRaw as ea, createVNode as b, Transition as De, mergeProps as q, toRefs as Xa, createElementVNode as C, normalizeStyle as U, normalizeClass as F, toValue as ie, isRef as Ot, TransitionGroup as Ka, onBeforeMount as Za, nextTick as ve, withDirectives as We, vShow as ta, useId as Ja, onMounted as Gt, onUpdated as Qa, Text as ei, resolveDynamicComponent as ti, toDisplayString as nt, Teleport as ni, createBlock as ln, openBlock as Ke, withCtx as xe, createCommentVNode as ai, createElementBlock as un, renderList as ii, renderSlot as cn, createTextVNode as ri, normalizeProps as oi, guardReactiveProps as si } from "vue";
2
+ import { CircleStencil as li, Cropper as ui } from "vue-advanced-cropper";
3
+ function k(e, t) {
4
+ return (n) => Object.keys(e).reduce((a, i) => {
5
+ const o = typeof e[i] == "object" && e[i] != null && !Array.isArray(e[i]) ? e[i] : {
6
+ type: e[i]
7
+ };
8
+ return n && i in n ? a[i] = {
9
+ ...o,
10
+ default: n[i]
11
+ } : a[i] = o, t && !a[i].source && (a[i].source = t), a;
12
+ }, {});
13
+ }
14
+ const Z = k({
15
+ class: [String, Array, Object],
16
+ style: {
17
+ type: [String, Array, Object],
18
+ default: null
19
+ }
20
+ }, "component");
21
+ function Ve(e) {
22
+ Ht(`Vuetify: ${e}`);
23
+ }
24
+ function na(e) {
25
+ Ht(`Vuetify error: ${e}`);
26
+ }
27
+ const Q = typeof window < "u", Ut = Q && "IntersectionObserver" in window, ci = Q && "matchMedia" in window && typeof window.matchMedia == "function", Tt = () => ci && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
28
+ function dn(e, t, n) {
29
+ di(e, t), t.set(e, n);
30
+ }
31
+ function di(e, t) {
32
+ if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object");
33
+ }
34
+ function fn(e, t, n) {
35
+ return e.set(aa(e, t), n), n;
36
+ }
37
+ function se(e, t) {
38
+ return e.get(aa(e, t));
39
+ }
40
+ function aa(e, t, n) {
41
+ if (typeof e == "function" ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
42
+ throw new TypeError("Private element is not present on this object");
43
+ }
44
+ function I(e) {
45
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "px";
46
+ if (e == null || e === "")
47
+ return;
48
+ const n = Number(e);
49
+ return isNaN(n) ? String(e) : isFinite(n) ? `${n}${t}` : void 0;
50
+ }
51
+ function Bt(e) {
52
+ return e !== null && typeof e == "object" && !Array.isArray(e);
53
+ }
54
+ function vn(e) {
55
+ let t;
56
+ return e !== null && typeof e == "object" && ((t = Object.getPrototypeOf(e)) === Object.prototype || t === null);
57
+ }
58
+ function fi(e) {
59
+ if (e && "$el" in e) {
60
+ const t = e.$el;
61
+ return t?.nodeType === Node.TEXT_NODE ? t.nextElementSibling : t;
62
+ }
63
+ return e;
64
+ }
65
+ function Ct(e, t) {
66
+ return t.every((n) => e.hasOwnProperty(n));
67
+ }
68
+ function vi(e, t) {
69
+ const n = {};
70
+ for (const a of t)
71
+ Object.prototype.hasOwnProperty.call(e, a) && (n[a] = e[a]);
72
+ return n;
73
+ }
74
+ function ia(e, t) {
75
+ const n = {
76
+ ...e
77
+ };
78
+ return t.forEach((a) => delete n[a]), n;
79
+ }
80
+ const mi = /^on[^a-z]/, ra = (e) => mi.test(e);
81
+ function gi(e) {
82
+ return e == null ? [] : Array.isArray(e) ? e : [e];
83
+ }
84
+ function Oe(e) {
85
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1;
86
+ return Math.max(t, Math.min(n, e));
87
+ }
88
+ function mn(e, t) {
89
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "0";
90
+ return e + n.repeat(Math.max(0, t - e.length));
91
+ }
92
+ function hi(e) {
93
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
94
+ const n = [];
95
+ let a = 0;
96
+ for (; a < e.length; )
97
+ n.push(e.substr(a, t)), a += t;
98
+ return n;
99
+ }
100
+ function Pe() {
101
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = arguments.length > 2 ? arguments[2] : void 0;
102
+ const a = {};
103
+ for (const i in e)
104
+ a[i] = e[i];
105
+ for (const i in t) {
106
+ const r = e[i], o = t[i];
107
+ if (vn(r) && vn(o)) {
108
+ a[i] = Pe(r, o, n);
109
+ continue;
110
+ }
111
+ if (n && Array.isArray(r) && Array.isArray(o)) {
112
+ a[i] = n(r, o);
113
+ continue;
114
+ }
115
+ a[i] = o;
116
+ }
117
+ return a;
118
+ }
119
+ function oa(e) {
120
+ return e.map((t) => t.type === Se ? oa(t.children) : t).flat();
121
+ }
122
+ function we() {
123
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
124
+ if (we.cache.has(e)) return we.cache.get(e);
125
+ const t = e.replace(/[^a-z]/gi, "-").replace(/\B([A-Z])/g, "-$1").toLowerCase();
126
+ return we.cache.set(e, t), t;
127
+ }
128
+ we.cache = /* @__PURE__ */ new Map();
129
+ function Fe(e, t) {
130
+ if (!t || typeof t != "object") return [];
131
+ if (Array.isArray(t))
132
+ return t.map((n) => Fe(e, n)).flat(1);
133
+ if (t.suspense)
134
+ return Fe(e, t.ssContent);
135
+ if (Array.isArray(t.children))
136
+ return t.children.map((n) => Fe(e, n)).flat(1);
137
+ if (t.component) {
138
+ if (Object.getOwnPropertyDescriptor(t.component.provides, e))
139
+ return [t.component];
140
+ if (t.component.subTree)
141
+ return Fe(e, t.component.subTree).flat(1);
142
+ }
143
+ return [];
144
+ }
145
+ var Ee = /* @__PURE__ */ new WeakMap(), be = /* @__PURE__ */ new WeakMap();
146
+ class yi {
147
+ constructor(t) {
148
+ dn(this, Ee, []), dn(this, be, 0), this.size = t;
149
+ }
150
+ get isFull() {
151
+ return se(Ee, this).length === this.size;
152
+ }
153
+ push(t) {
154
+ se(Ee, this)[se(be, this)] = t, fn(be, this, (se(be, this) + 1) % this.size);
155
+ }
156
+ values() {
157
+ return se(Ee, this).slice(se(be, this)).concat(se(Ee, this).slice(0, se(be, this)));
158
+ }
159
+ clear() {
160
+ se(Ee, this).length = 0, fn(be, this, 0);
161
+ }
162
+ }
163
+ function Yt(e) {
164
+ const t = Ie({});
165
+ fe(() => {
166
+ const a = e();
167
+ for (const i in a)
168
+ t[i] = a[i];
169
+ }, {
170
+ flush: "sync"
171
+ });
172
+ const n = {};
173
+ for (const a in t)
174
+ n[a] = x(() => t[a]);
175
+ return n;
176
+ }
177
+ function at(e, t) {
178
+ return e.includes(t);
179
+ }
180
+ function sa(e) {
181
+ return e[2].toLowerCase() + e.slice(3);
182
+ }
183
+ function gn(e, t) {
184
+ return t = "on" + Kn(t), !!(e[t] || e[`${t}Once`] || e[`${t}Capture`] || e[`${t}OnceCapture`] || e[`${t}CaptureOnce`]);
185
+ }
186
+ function Qe(e) {
187
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
188
+ const n = ["button", "[href]", 'input:not([type="hidden"])', "select", "textarea", "details:not(:has(> summary))", "details > summary", "[tabindex]", '[contenteditable]:not([contenteditable="false"])', "audio[controls]", "video[controls]"].map((i) => `${i}${t ? ':not([tabindex="-1"])' : ""}:not([disabled], [inert])`).join(", ");
189
+ let a;
190
+ try {
191
+ a = [...e.querySelectorAll(n)];
192
+ } catch (i) {
193
+ return na(String(i)), [];
194
+ }
195
+ return a.filter((i) => !i.closest("[inert]")).filter((i) => !!i.offsetParent || i.getClientRects().length > 0).filter((i) => !i.parentElement?.closest("details:not([open])") || i.tagName === "SUMMARY" && i.parentElement?.tagName === "DETAILS");
196
+ }
197
+ function bi(e, t) {
198
+ if (!(Q && typeof CSS < "u" && typeof CSS.supports < "u" && CSS.supports(`selector(${t})`))) return null;
199
+ try {
200
+ return !!e && e.matches(t);
201
+ } catch {
202
+ return null;
203
+ }
204
+ }
205
+ function pi(e, t) {
206
+ if (!Q || e === 0)
207
+ return t(), () => {
208
+ };
209
+ const n = window.setTimeout(t, e);
210
+ return () => window.clearTimeout(n);
211
+ }
212
+ function Lt() {
213
+ const e = G(), t = (n) => {
214
+ e.value = n;
215
+ };
216
+ return Object.defineProperty(t, "value", {
217
+ enumerable: !0,
218
+ get: () => e.value,
219
+ set: (n) => e.value = n
220
+ }), Object.defineProperty(t, "el", {
221
+ enumerable: !0,
222
+ get: () => fi(e.value)
223
+ }), t;
224
+ }
225
+ function it(e) {
226
+ return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || typeof e == "bigint";
227
+ }
228
+ function wi(e) {
229
+ const t = ["checked", "disabled"];
230
+ return Object.fromEntries(Object.entries(e).filter((n) => {
231
+ let [a, i] = n;
232
+ return t.includes(a) ? !!i : i !== void 0;
233
+ }));
234
+ }
235
+ const la = ["top", "bottom"], Si = ["start", "end", "left", "right"];
236
+ function Rt(e, t) {
237
+ let [n, a] = e.split(" ");
238
+ return a || (a = at(la, n) ? "start" : at(Si, n) ? "top" : "center"), {
239
+ side: hn(n, t),
240
+ align: hn(a, t)
241
+ };
242
+ }
243
+ function hn(e, t) {
244
+ return e === "start" ? t ? "right" : "left" : e === "end" ? t ? "left" : "right" : e;
245
+ }
246
+ function kt(e) {
247
+ return {
248
+ side: {
249
+ center: "center",
250
+ top: "bottom",
251
+ bottom: "top",
252
+ left: "right",
253
+ right: "left"
254
+ }[e.side],
255
+ align: e.align
256
+ };
257
+ }
258
+ function xt(e) {
259
+ return {
260
+ side: e.side,
261
+ align: {
262
+ center: "center",
263
+ top: "bottom",
264
+ bottom: "top",
265
+ left: "right",
266
+ right: "left"
267
+ }[e.align]
268
+ };
269
+ }
270
+ function yn(e) {
271
+ return {
272
+ side: e.align,
273
+ align: e.side
274
+ };
275
+ }
276
+ function bn(e) {
277
+ return at(la, e.side) ? "y" : "x";
278
+ }
279
+ class ae {
280
+ constructor(t) {
281
+ const n = document.body.currentCSSZoom ?? 1, a = t instanceof Element, i = a ? 1 + (1 - n) / n : 1, {
282
+ x: r,
283
+ y: o,
284
+ width: s,
285
+ height: l
286
+ } = a ? t.getBoundingClientRect() : t;
287
+ this.x = r * i, this.y = o * i, this.width = s * i, this.height = l * i;
288
+ }
289
+ get top() {
290
+ return this.y;
291
+ }
292
+ get bottom() {
293
+ return this.y + this.height;
294
+ }
295
+ get left() {
296
+ return this.x;
297
+ }
298
+ get right() {
299
+ return this.x + this.width;
300
+ }
301
+ }
302
+ function pn(e, t) {
303
+ return {
304
+ x: {
305
+ before: Math.max(0, t.left - e.left),
306
+ after: Math.max(0, e.right - t.right)
307
+ },
308
+ y: {
309
+ before: Math.max(0, t.top - e.top),
310
+ after: Math.max(0, e.bottom - t.bottom)
311
+ }
312
+ };
313
+ }
314
+ function ua(e) {
315
+ if (Array.isArray(e)) {
316
+ const t = document.body.currentCSSZoom ?? 1, n = 1 + (1 - t) / t;
317
+ return new ae({
318
+ x: e[0] * n,
319
+ y: e[1] * n,
320
+ width: 0 * n,
321
+ height: 0 * n
322
+ });
323
+ } else
324
+ return new ae(e);
325
+ }
326
+ function Ci(e) {
327
+ if (e === document.documentElement)
328
+ if (visualViewport) {
329
+ const t = document.body.currentCSSZoom ?? 1;
330
+ return new ae({
331
+ x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,
332
+ y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,
333
+ width: visualViewport.width * visualViewport.scale / t,
334
+ height: visualViewport.height * visualViewport.scale / t
335
+ });
336
+ } else
337
+ return new ae({
338
+ x: 0,
339
+ y: 0,
340
+ width: document.documentElement.clientWidth,
341
+ height: document.documentElement.clientHeight
342
+ });
343
+ else
344
+ return new ae(e);
345
+ }
346
+ function ca(e) {
347
+ const t = new ae(e), n = getComputedStyle(e), a = n.transform;
348
+ if (a) {
349
+ let i, r, o, s, l;
350
+ if (a.startsWith("matrix3d("))
351
+ i = a.slice(9, -1).split(/, /), r = Number(i[0]), o = Number(i[5]), s = Number(i[12]), l = Number(i[13]);
352
+ else if (a.startsWith("matrix("))
353
+ i = a.slice(7, -1).split(/, /), r = Number(i[0]), o = Number(i[3]), s = Number(i[4]), l = Number(i[5]);
354
+ else
355
+ return new ae(t);
356
+ const u = n.transformOrigin, c = t.x - s - (1 - r) * parseFloat(u), f = t.y - l - (1 - o) * parseFloat(u.slice(u.indexOf(" ") + 1)), d = r ? t.width / r : e.offsetWidth + 1, m = o ? t.height / o : e.offsetHeight + 1;
357
+ return new ae({
358
+ x: c,
359
+ y: f,
360
+ width: d,
361
+ height: m
362
+ });
363
+ } else
364
+ return new ae(t);
365
+ }
366
+ function pe(e, t, n) {
367
+ if (typeof e.animate > "u") return {
368
+ finished: Promise.resolve()
369
+ };
370
+ let a;
371
+ try {
372
+ a = e.animate(t, n);
373
+ } catch {
374
+ return {
375
+ finished: Promise.resolve()
376
+ };
377
+ }
378
+ return typeof a.finished > "u" && (a.finished = new Promise((i) => {
379
+ a.onfinish = () => {
380
+ i(a);
381
+ };
382
+ })), a;
383
+ }
384
+ const et = /* @__PURE__ */ new WeakMap();
385
+ function ki(e, t) {
386
+ Object.keys(t).forEach((n) => {
387
+ if (ra(n)) {
388
+ const a = sa(n), i = et.get(e);
389
+ if (t[n] == null)
390
+ i?.forEach((r) => {
391
+ const [o, s] = r;
392
+ o === a && (e.removeEventListener(a, s), i.delete(r));
393
+ });
394
+ else if (!i || ![...i].some((r) => r[0] === a && r[1] === t[n])) {
395
+ e.addEventListener(a, t[n]);
396
+ const r = i || /* @__PURE__ */ new Set();
397
+ r.add([a, t[n]]), et.has(e) || et.set(e, r);
398
+ }
399
+ } else
400
+ t[n] == null ? e.removeAttribute(n) : e.setAttribute(n, t[n]);
401
+ });
402
+ }
403
+ function xi(e, t) {
404
+ Object.keys(t).forEach((n) => {
405
+ if (ra(n)) {
406
+ const a = sa(n), i = et.get(e);
407
+ i?.forEach((r) => {
408
+ const [o, s] = r;
409
+ o === a && (e.removeEventListener(a, s), i.delete(r));
410
+ });
411
+ } else
412
+ e.removeAttribute(n);
413
+ });
414
+ }
415
+ const _e = 2.4, wn = 0.2126729, Sn = 0.7151522, Cn = 0.072175, Ei = 0.55, _i = 0.58, Pi = 0.57, Vi = 0.62, Ze = 0.03, kn = 1.45, Ai = 5e-4, Ii = 1.25, Oi = 1.25, xn = 0.078, En = 12.82051282051282, Je = 0.06, _n = 1e-3;
416
+ function Pn(e, t) {
417
+ const n = (e.r / 255) ** _e, a = (e.g / 255) ** _e, i = (e.b / 255) ** _e, r = (t.r / 255) ** _e, o = (t.g / 255) ** _e, s = (t.b / 255) ** _e;
418
+ let l = n * wn + a * Sn + i * Cn, u = r * wn + o * Sn + s * Cn;
419
+ if (l <= Ze && (l += (Ze - l) ** kn), u <= Ze && (u += (Ze - u) ** kn), Math.abs(u - l) < Ai) return 0;
420
+ let c;
421
+ if (u > l) {
422
+ const f = (u ** Ei - l ** _i) * Ii;
423
+ c = f < _n ? 0 : f < xn ? f - f * En * Je : f - Je;
424
+ } else {
425
+ const f = (u ** Vi - l ** Pi) * Oi;
426
+ c = f > -_n ? 0 : f > -xn ? f - f * En * Je : f + Je;
427
+ }
428
+ return c * 100;
429
+ }
430
+ function Nt(e) {
431
+ return !!e && /^(#|var\(--|(rgb|hsl)a?\()/.test(e);
432
+ }
433
+ function Ti(e) {
434
+ return Nt(e) && !/^((rgb|hsl)a?\()?var\(--/.test(e);
435
+ }
436
+ const Vn = /^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/, Bi = {
437
+ rgb: (e, t, n, a) => ({
438
+ r: e,
439
+ g: t,
440
+ b: n,
441
+ a
442
+ }),
443
+ rgba: (e, t, n, a) => ({
444
+ r: e,
445
+ g: t,
446
+ b: n,
447
+ a
448
+ }),
449
+ hsl: (e, t, n, a) => An({
450
+ h: e,
451
+ s: t,
452
+ l: n,
453
+ a
454
+ }),
455
+ hsla: (e, t, n, a) => An({
456
+ h: e,
457
+ s: t,
458
+ l: n,
459
+ a
460
+ }),
461
+ hsv: (e, t, n, a) => je({
462
+ h: e,
463
+ s: t,
464
+ v: n,
465
+ a
466
+ }),
467
+ hsva: (e, t, n, a) => je({
468
+ h: e,
469
+ s: t,
470
+ v: n,
471
+ a
472
+ })
473
+ };
474
+ function $e(e) {
475
+ if (typeof e == "number")
476
+ return (isNaN(e) || e < 0 || e > 16777215) && Ve(`'${e}' is not a valid hex color`), {
477
+ r: (e & 16711680) >> 16,
478
+ g: (e & 65280) >> 8,
479
+ b: e & 255
480
+ };
481
+ if (typeof e == "string" && Vn.test(e)) {
482
+ const {
483
+ groups: t
484
+ } = e.match(Vn), {
485
+ fn: n,
486
+ values: a
487
+ } = t, i = a.split(/,\s*|\s*\/\s*|\s+/).map((r, o) => r.endsWith("%") || // unitless slv are %
488
+ o > 0 && o < 3 && ["hsl", "hsla", "hsv", "hsva"].includes(n) ? parseFloat(r) / 100 : parseFloat(r));
489
+ return Bi[n](...i);
490
+ } else if (typeof e == "string") {
491
+ let t = e.startsWith("#") ? e.slice(1) : e;
492
+ [3, 4].includes(t.length) ? t = t.split("").map((a) => a + a).join("") : [6, 8].includes(t.length) || Ve(`'${e}' is not a valid hex(a) color`);
493
+ const n = parseInt(t, 16);
494
+ return (isNaN(n) || n < 0 || n > 4294967295) && Ve(`'${e}' is not a valid hex(a) color`), Li(t);
495
+ } else if (typeof e == "object") {
496
+ if (Ct(e, ["r", "g", "b"]))
497
+ return e;
498
+ if (Ct(e, ["h", "s", "l"]))
499
+ return je(da(e));
500
+ if (Ct(e, ["h", "s", "v"]))
501
+ return je(e);
502
+ }
503
+ throw new TypeError(`Invalid color: ${e == null ? e : String(e) || e.constructor.name}
504
+ Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`);
505
+ }
506
+ function je(e) {
507
+ const {
508
+ h: t,
509
+ s: n,
510
+ v: a,
511
+ a: i
512
+ } = e, r = (s) => {
513
+ const l = (s + t / 60) % 6;
514
+ return a - a * n * Math.max(Math.min(l, 4 - l, 1), 0);
515
+ }, o = [r(5), r(3), r(1)].map((s) => Math.round(s * 255));
516
+ return {
517
+ r: o[0],
518
+ g: o[1],
519
+ b: o[2],
520
+ a: i
521
+ };
522
+ }
523
+ function An(e) {
524
+ return je(da(e));
525
+ }
526
+ function da(e) {
527
+ const {
528
+ h: t,
529
+ s: n,
530
+ l: a,
531
+ a: i
532
+ } = e, r = a + n * Math.min(a, 1 - a), o = r === 0 ? 0 : 2 - 2 * a / r;
533
+ return {
534
+ h: t,
535
+ s: o,
536
+ v: r,
537
+ a: i
538
+ };
539
+ }
540
+ function Li(e) {
541
+ e = Ri(e);
542
+ let [t, n, a, i] = hi(e, 2).map((r) => parseInt(r, 16));
543
+ return i = i === void 0 ? i : i / 255, {
544
+ r: t,
545
+ g: n,
546
+ b: a,
547
+ a: i
548
+ };
549
+ }
550
+ function Ri(e) {
551
+ return e.startsWith("#") && (e = e.slice(1)), e = e.replace(/([^0-9a-f])/gi, "F"), (e.length === 3 || e.length === 4) && (e = e.split("").map((t) => t + t).join("")), e.length !== 6 && (e = mn(mn(e, 6), 8, "F")), e;
552
+ }
553
+ function Ni(e) {
554
+ const t = Math.abs(Pn($e(0), $e(e)));
555
+ return Math.abs(Pn($e(16777215), $e(e))) > Math.min(t, 50) ? "#fff" : "#000";
556
+ }
557
+ function Y(e, t) {
558
+ const n = Ua();
559
+ if (!n)
560
+ throw new Error(`[Vuetify] ${e} must be called from inside a setup function`);
561
+ return n;
562
+ }
563
+ function me() {
564
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "composables";
565
+ const t = Y(e).type;
566
+ return we(t?.aliasName || t?.name);
567
+ }
568
+ function Fi(e) {
569
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Y("injectSelf");
570
+ const {
571
+ provides: n
572
+ } = t;
573
+ if (n && e in n)
574
+ return n[e];
575
+ }
576
+ const rt = /* @__PURE__ */ Symbol.for("vuetify:defaults");
577
+ function Xt() {
578
+ const e = ue(rt);
579
+ if (!e) throw new Error("[Vuetify] Could not find defaults instance");
580
+ return e;
581
+ }
582
+ function Kt(e, t) {
583
+ const n = Xt(), a = D(e), i = S(() => {
584
+ if (ee(t?.disabled)) return n.value;
585
+ const o = ee(t?.scoped), s = ee(t?.reset), l = ee(t?.root);
586
+ if (a.value == null && !(o || s || l)) return n.value;
587
+ let u = Pe(a.value, {
588
+ prev: n.value
589
+ });
590
+ if (o) return u;
591
+ if (s || l) {
592
+ const c = Number(s || 1 / 0);
593
+ for (let f = 0; f <= c && !(!u || !("prev" in u)); f++)
594
+ u = u.prev;
595
+ return u && typeof l == "string" && l in u && (u = Pe(Pe(u, {
596
+ prev: u
597
+ }), u[l])), u;
598
+ }
599
+ return u.prev ? Pe(u.prev, u) : u;
600
+ });
601
+ return Te(rt, i), i;
602
+ }
603
+ function $i(e, t) {
604
+ return e.props && (typeof e.props[t] < "u" || typeof e.props[we(t)] < "u");
605
+ }
606
+ function Mi() {
607
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = arguments.length > 1 ? arguments[1] : void 0, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Xt();
608
+ const a = Y("useDefaults");
609
+ if (t = t ?? a.type.name ?? a.type.__name, !t)
610
+ throw new Error("[Vuetify] Could not determine component name");
611
+ const i = S(() => n.value?.[e._as ?? t]), r = new Proxy(e, {
612
+ get(l, u) {
613
+ const c = Reflect.get(l, u);
614
+ if (u === "class" || u === "style")
615
+ return [i.value?.[u], c].filter((m) => m != null);
616
+ if ($i(a.vnode, u)) return c;
617
+ const f = i.value?.[u];
618
+ if (f !== void 0) return f;
619
+ const d = n.value?.global?.[u];
620
+ return d !== void 0 ? d : c;
621
+ }
622
+ }), o = G();
623
+ fe(() => {
624
+ if (i.value) {
625
+ const l = Object.entries(i.value).filter((u) => {
626
+ let [c] = u;
627
+ return c.startsWith(c[0].toUpperCase());
628
+ });
629
+ o.value = l.length ? Object.fromEntries(l) : void 0;
630
+ } else
631
+ o.value = void 0;
632
+ });
633
+ function s() {
634
+ const l = Fi(rt, a);
635
+ Te(rt, S(() => o.value ? Pe(l?.value ?? {}, o.value) : l?.value));
636
+ }
637
+ return {
638
+ props: r,
639
+ provideSubDefaults: s
640
+ };
641
+ }
642
+ function dt(e) {
643
+ if (e._setup = e._setup ?? e.setup, !e.name)
644
+ return Ve("The component is missing an explicit name, unable to generate default prop value"), e;
645
+ if (e._setup) {
646
+ e.props = k(e.props ?? {}, e.name)();
647
+ const t = Object.keys(e.props).filter((n) => n !== "class" && n !== "style");
648
+ e.filterProps = function(a) {
649
+ return vi(a, t);
650
+ }, e.props._as = String, e.setup = function(a, i) {
651
+ const r = Xt();
652
+ if (!r.value) return e._setup(a, i);
653
+ const {
654
+ props: o,
655
+ provideSubDefaults: s
656
+ } = Mi(a, a._as ?? e.name, r), l = e._setup(o, i);
657
+ return s(), l;
658
+ };
659
+ }
660
+ return e;
661
+ }
662
+ function W() {
663
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0;
664
+ return (t) => (e ? dt : Zn)(t);
665
+ }
666
+ function zi(e) {
667
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "div", n = arguments.length > 2 ? arguments[2] : void 0;
668
+ return W()({
669
+ name: n ?? Kn(Ya(e.replace(/__/g, "-"))),
670
+ props: {
671
+ tag: {
672
+ type: String,
673
+ default: t
674
+ },
675
+ ...Z()
676
+ },
677
+ setup(a, i) {
678
+ let {
679
+ slots: r
680
+ } = i;
681
+ return () => Jn(a.tag, {
682
+ class: [e, a.class],
683
+ style: a.style
684
+ }, r.default?.());
685
+ }
686
+ });
687
+ }
688
+ function Di(e, t, n, a) {
689
+ if (!n || it(e) || it(t)) return;
690
+ const i = n.get(e);
691
+ if (i)
692
+ i.set(t, a);
693
+ else {
694
+ const r = /* @__PURE__ */ new WeakMap();
695
+ r.set(t, a), n.set(e, r);
696
+ }
697
+ }
698
+ function Wi(e, t, n) {
699
+ if (!n || it(e) || it(t)) return null;
700
+ const a = n.get(e)?.get(t);
701
+ if (typeof a == "boolean") return a;
702
+ const i = n.get(t)?.get(e);
703
+ return typeof i == "boolean" ? i : null;
704
+ }
705
+ function Ae(e, t) {
706
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : /* @__PURE__ */ new WeakMap();
707
+ if (e === t) return !0;
708
+ if (e instanceof Date && t instanceof Date && e.getTime() !== t.getTime() || e !== Object(e) || t !== Object(t))
709
+ return !1;
710
+ const a = Object.keys(e);
711
+ if (a.length !== Object.keys(t).length)
712
+ return !1;
713
+ const i = Wi(e, t, n);
714
+ return i || (Di(e, t, n, !0), a.every((r) => Ae(e[r], t[r], n)));
715
+ }
716
+ function fa(e) {
717
+ if (typeof e.getRootNode != "function") {
718
+ for (; e.parentNode; ) e = e.parentNode;
719
+ return e !== document ? null : document;
720
+ }
721
+ const t = e.getRootNode();
722
+ return t !== document && t.getRootNode({
723
+ composed: !0
724
+ }) !== document ? null : t;
725
+ }
726
+ const Ft = "cubic-bezier(0.4, 0, 0.2, 1)", In = "cubic-bezier(0.0, 0, 0.2, 1)", On = "cubic-bezier(0.4, 0, 1, 1)";
727
+ function ji(e) {
728
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
729
+ for (; e; ) {
730
+ if (t ? Hi(e) : Zt(e)) return e;
731
+ e = e.parentElement;
732
+ }
733
+ return document.scrollingElement;
734
+ }
735
+ function ot(e, t) {
736
+ const n = [];
737
+ if (t && e && !t.contains(e)) return n;
738
+ for (; e && (Zt(e) && n.push(e), e !== t); )
739
+ e = e.parentElement;
740
+ return n;
741
+ }
742
+ function Zt(e) {
743
+ if (!e || e.nodeType !== Node.ELEMENT_NODE) return !1;
744
+ const t = window.getComputedStyle(e), n = t.overflowY === "scroll" || t.overflowY === "auto" && e.scrollHeight > e.clientHeight, a = t.overflowX === "scroll" || t.overflowX === "auto" && e.scrollWidth > e.clientWidth;
745
+ return n || a;
746
+ }
747
+ function Hi(e) {
748
+ if (!e || e.nodeType !== Node.ELEMENT_NODE) return !1;
749
+ const t = window.getComputedStyle(e);
750
+ return ["scroll", "auto"].includes(t.overflowY);
751
+ }
752
+ function qi(e) {
753
+ for (; e; ) {
754
+ if (window.getComputedStyle(e).position === "fixed")
755
+ return !0;
756
+ e = e.offsetParent;
757
+ }
758
+ return !1;
759
+ }
760
+ function X(e) {
761
+ const t = Y("useRender");
762
+ t.render = e;
763
+ }
764
+ function va(e) {
765
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "content";
766
+ const n = Lt(), a = D();
767
+ if (Q) {
768
+ const i = new ResizeObserver((r) => {
769
+ e?.(r, i), r.length && (t === "content" ? a.value = r[0].contentRect : a.value = r[0].target.getBoundingClientRect());
770
+ });
771
+ Be(() => {
772
+ i.disconnect();
773
+ }), B(() => n.el, (r, o) => {
774
+ o && (i.unobserve(o), a.value = void 0), r && i.observe(r);
775
+ }, {
776
+ flush: "post"
777
+ });
778
+ }
779
+ return {
780
+ resizeRef: n,
781
+ contentRect: Qn(a)
782
+ };
783
+ }
784
+ function Ge(e, t) {
785
+ let n;
786
+ function a() {
787
+ n = qt(), n.run(() => t.length ? t(() => {
788
+ n?.stop(), a();
789
+ }) : t());
790
+ }
791
+ B(e, (i) => {
792
+ i && !n ? a() : i || (n?.stop(), n = void 0);
793
+ }, {
794
+ immediate: !0
795
+ }), ne(() => {
796
+ n?.stop();
797
+ });
798
+ }
799
+ function ft(e, t, n) {
800
+ let a = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : (f) => f, i = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : (f) => f;
801
+ const r = Y("useProxiedModel"), o = D(e[t] !== void 0 ? e[t] : n), s = we(t), u = s !== t ? S(() => (e[t], !!((r.vnode.props?.hasOwnProperty(t) || r.vnode.props?.hasOwnProperty(s)) && (r.vnode.props?.hasOwnProperty(`onUpdate:${t}`) || r.vnode.props?.hasOwnProperty(`onUpdate:${s}`))))) : S(() => (e[t], !!(r.vnode.props?.hasOwnProperty(t) && r.vnode.props?.hasOwnProperty(`onUpdate:${t}`))));
802
+ Ge(() => !u.value, () => {
803
+ B(() => e[t], (f) => {
804
+ o.value = f;
805
+ });
806
+ });
807
+ const c = S({
808
+ get() {
809
+ const f = e[t];
810
+ return a(u.value ? f : o.value);
811
+ },
812
+ set(f) {
813
+ const d = i(f), m = ea(u.value ? e[t] : o.value);
814
+ m === d || a(m) === f || (o.value = d, r?.emit(`update:${t}`, d));
815
+ }
816
+ });
817
+ return Object.defineProperty(c, "externalValue", {
818
+ get: () => u.value ? e[t] : o.value
819
+ }), c;
820
+ }
821
+ const Gi = /* @__PURE__ */ Symbol.for("vuetify:locale");
822
+ function Jt() {
823
+ const e = ue(Gi);
824
+ if (!e) throw new Error("[Vuetify] Could not find injected rtl instance");
825
+ return {
826
+ isRtl: e.isRtl,
827
+ rtlClasses: e.rtlClasses
828
+ };
829
+ }
830
+ const $t = /* @__PURE__ */ Symbol.for("vuetify:theme"), ge = k({
831
+ theme: String
832
+ }, "theme");
833
+ function Ce(e) {
834
+ Y("provideTheme");
835
+ const t = ue($t, null);
836
+ if (!t) throw new Error("Could not find Vuetify theme injection");
837
+ const n = x(() => e.theme ?? t.name.value), a = x(() => t.themes.value[n.value]), i = x(() => t.isDisabled ? void 0 : `${t.prefix}theme--${n.value}`), r = {
838
+ ...t,
839
+ name: n,
840
+ current: a,
841
+ themeClasses: i
842
+ };
843
+ return Te($t, r), r;
844
+ }
845
+ function Ui() {
846
+ Y("useTheme");
847
+ const e = ue($t, null);
848
+ if (!e) throw new Error("Could not find Vuetify theme injection");
849
+ return e;
850
+ }
851
+ const re = k({
852
+ tag: {
853
+ type: [String, Object, Function],
854
+ default: "div"
855
+ }
856
+ }, "tag"), Yi = k({
857
+ target: [Object, Array]
858
+ }, "v-dialog-transition"), Et = /* @__PURE__ */ new WeakMap(), Xi = W()({
859
+ name: "VDialogTransition",
860
+ props: Yi(),
861
+ setup(e, t) {
862
+ let {
863
+ slots: n
864
+ } = t;
865
+ const a = {
866
+ onBeforeEnter(i) {
867
+ i.style.pointerEvents = "none", i.style.visibility = "hidden";
868
+ },
869
+ async onEnter(i, r) {
870
+ await new Promise((d) => requestAnimationFrame(d)), await new Promise((d) => requestAnimationFrame(d)), i.style.visibility = "";
871
+ const o = Bn(e.target, i), {
872
+ x: s,
873
+ y: l,
874
+ sx: u,
875
+ sy: c,
876
+ speed: f
877
+ } = o;
878
+ if (Et.set(i, o), Tt())
879
+ pe(i, [{
880
+ opacity: 0
881
+ }, {}], {
882
+ duration: 125 * f,
883
+ easing: In
884
+ }).finished.then(() => r());
885
+ else {
886
+ const d = pe(i, [{
887
+ transform: `translate(${s}px, ${l}px) scale(${u}, ${c})`,
888
+ opacity: 0
889
+ }, {}], {
890
+ duration: 225 * f,
891
+ easing: In
892
+ });
893
+ Tn(i)?.forEach((m) => {
894
+ pe(m, [{
895
+ opacity: 0
896
+ }, {
897
+ opacity: 0,
898
+ offset: 0.33
899
+ }, {}], {
900
+ duration: 450 * f,
901
+ easing: Ft
902
+ });
903
+ }), d.finished.then(() => r());
904
+ }
905
+ },
906
+ onAfterEnter(i) {
907
+ i.style.removeProperty("pointer-events");
908
+ },
909
+ onBeforeLeave(i) {
910
+ i.style.pointerEvents = "none";
911
+ },
912
+ async onLeave(i, r) {
913
+ await new Promise((d) => requestAnimationFrame(d));
914
+ let o;
915
+ !Et.has(i) || Array.isArray(e.target) || e.target.offsetParent || e.target.getClientRects().length ? o = Bn(e.target, i) : o = Et.get(i);
916
+ const {
917
+ x: s,
918
+ y: l,
919
+ sx: u,
920
+ sy: c,
921
+ speed: f
922
+ } = o;
923
+ Tt() ? pe(i, [{}, {
924
+ opacity: 0
925
+ }], {
926
+ duration: 85 * f,
927
+ easing: On
928
+ }).finished.then(() => r()) : (pe(i, [{}, {
929
+ transform: `translate(${s}px, ${l}px) scale(${u}, ${c})`,
930
+ opacity: 0
931
+ }], {
932
+ duration: 125 * f,
933
+ easing: On
934
+ }).finished.then(() => r()), Tn(i)?.forEach((m) => {
935
+ pe(m, [{}, {
936
+ opacity: 0,
937
+ offset: 0.2
938
+ }, {
939
+ opacity: 0
940
+ }], {
941
+ duration: 250 * f,
942
+ easing: Ft
943
+ });
944
+ }));
945
+ },
946
+ onAfterLeave(i) {
947
+ i.style.removeProperty("pointer-events");
948
+ }
949
+ };
950
+ return () => e.target ? b(De, q({
951
+ name: "dialog-transition"
952
+ }, a, {
953
+ css: !1
954
+ }), n) : b(De, {
955
+ name: "dialog-transition"
956
+ }, n);
957
+ }
958
+ });
959
+ function Tn(e) {
960
+ const t = e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list")?.children;
961
+ return t && [...t];
962
+ }
963
+ function Bn(e, t) {
964
+ const n = ua(e), a = ca(t), [i, r] = getComputedStyle(t).transformOrigin.split(" ").map((g) => parseFloat(g)), [o, s] = getComputedStyle(t).getPropertyValue("--v-overlay-anchor-origin").split(" ");
965
+ let l = n.left + n.width / 2;
966
+ o === "left" || s === "left" ? l -= n.width / 2 : (o === "right" || s === "right") && (l += n.width / 2);
967
+ let u = n.top + n.height / 2;
968
+ o === "top" || s === "top" ? u -= n.height / 2 : (o === "bottom" || s === "bottom") && (u += n.height / 2);
969
+ const c = n.width / a.width, f = n.height / a.height, d = Math.max(1, c, f), m = c / d || 0, v = f / d || 0, y = a.width * a.height / (window.innerWidth * window.innerHeight), p = y > 0.12 ? Math.min(1.5, (y - 0.12) * 10 + 1) : 1;
970
+ return {
971
+ x: l - (i + a.left),
972
+ y: u - (r + a.top),
973
+ sx: m,
974
+ sy: v,
975
+ speed: p
976
+ };
977
+ }
978
+ const Ki = k({
979
+ defaults: Object,
980
+ disabled: Boolean,
981
+ reset: [Number, String],
982
+ root: [Boolean, String],
983
+ scoped: Boolean
984
+ }, "VDefaultsProvider"), ce = W(!1)({
985
+ name: "VDefaultsProvider",
986
+ props: Ki(),
987
+ setup(e, t) {
988
+ let {
989
+ slots: n
990
+ } = t;
991
+ const {
992
+ defaults: a,
993
+ disabled: i,
994
+ reset: r,
995
+ root: o,
996
+ scoped: s
997
+ } = Xa(e);
998
+ return Kt(a, {
999
+ reset: r,
1000
+ root: o,
1001
+ scoped: s,
1002
+ disabled: i
1003
+ }), () => n.default?.();
1004
+ }
1005
+ }), vt = k({
1006
+ height: [Number, String],
1007
+ maxHeight: [Number, String],
1008
+ maxWidth: [Number, String],
1009
+ minHeight: [Number, String],
1010
+ minWidth: [Number, String],
1011
+ width: [Number, String]
1012
+ }, "dimension");
1013
+ function mt(e) {
1014
+ return {
1015
+ dimensionStyles: S(() => {
1016
+ const n = {}, a = I(e.height), i = I(e.maxHeight), r = I(e.maxWidth), o = I(e.minHeight), s = I(e.minWidth), l = I(e.width);
1017
+ return a != null && (n.height = a), i != null && (n.maxHeight = i), r != null && (n.maxWidth = r), o != null && (n.minHeight = o), s != null && (n.minWidth = s), l != null && (n.width = l), n;
1018
+ })
1019
+ };
1020
+ }
1021
+ function Zi(e) {
1022
+ return {
1023
+ aspectStyles: S(() => {
1024
+ const t = Number(e.aspectRatio);
1025
+ return t ? {
1026
+ paddingBottom: String(1 / t * 100) + "%"
1027
+ } : void 0;
1028
+ })
1029
+ };
1030
+ }
1031
+ const ma = k({
1032
+ aspectRatio: [String, Number],
1033
+ contentClass: null,
1034
+ inline: Boolean,
1035
+ ...Z(),
1036
+ ...vt()
1037
+ }, "VResponsive"), Ln = W()({
1038
+ name: "VResponsive",
1039
+ props: ma(),
1040
+ setup(e, t) {
1041
+ let {
1042
+ slots: n
1043
+ } = t;
1044
+ const {
1045
+ aspectStyles: a
1046
+ } = Zi(e), {
1047
+ dimensionStyles: i
1048
+ } = mt(e);
1049
+ return X(() => C("div", {
1050
+ class: F(["v-responsive", {
1051
+ "v-responsive--inline": e.inline
1052
+ }, e.class]),
1053
+ style: U([i.value, e.style])
1054
+ }, [C("div", {
1055
+ class: "v-responsive__sizer",
1056
+ style: U(a.value)
1057
+ }, null), n.additional?.(), n.default && C("div", {
1058
+ class: F(["v-responsive__content", e.contentClass])
1059
+ }, [n.default()])])), {};
1060
+ }
1061
+ });
1062
+ function Qt(e) {
1063
+ return Yt(() => {
1064
+ const {
1065
+ class: t,
1066
+ style: n
1067
+ } = Ji(e);
1068
+ return {
1069
+ colorClasses: t,
1070
+ colorStyles: n
1071
+ };
1072
+ });
1073
+ }
1074
+ function st(e) {
1075
+ const {
1076
+ colorClasses: t,
1077
+ colorStyles: n
1078
+ } = Qt(() => ({
1079
+ text: ie(e)
1080
+ }));
1081
+ return {
1082
+ textColorClasses: t,
1083
+ textColorStyles: n
1084
+ };
1085
+ }
1086
+ function ze(e) {
1087
+ const {
1088
+ colorClasses: t,
1089
+ colorStyles: n
1090
+ } = Qt(() => ({
1091
+ background: ie(e)
1092
+ }));
1093
+ return {
1094
+ backgroundColorClasses: t,
1095
+ backgroundColorStyles: n
1096
+ };
1097
+ }
1098
+ function Ji(e) {
1099
+ const t = ie(e), n = [], a = {};
1100
+ if (t.background)
1101
+ if (Nt(t.background)) {
1102
+ if (a.backgroundColor = t.background, !t.text && Ti(t.background)) {
1103
+ const i = $e(t.background);
1104
+ if (i.a == null || i.a === 1) {
1105
+ const r = Ni(i);
1106
+ a.color = r, a.caretColor = r;
1107
+ }
1108
+ }
1109
+ } else
1110
+ n.push(`bg-${t.background}`);
1111
+ return t.text && (Nt(t.text) ? (a.color = t.text, a.caretColor = t.text) : n.push(`text-${t.text}`)), {
1112
+ class: n,
1113
+ style: a
1114
+ };
1115
+ }
1116
+ const Le = k({
1117
+ rounded: {
1118
+ type: [Boolean, Number, String],
1119
+ default: void 0
1120
+ },
1121
+ tile: Boolean
1122
+ }, "rounded");
1123
+ function Re(e) {
1124
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : me();
1125
+ return {
1126
+ roundedClasses: S(() => {
1127
+ const a = Ot(e) ? e.value : e.rounded, i = Ot(e) ? !1 : e.tile, r = [];
1128
+ if (i || a === !1)
1129
+ r.push("rounded-0");
1130
+ else if (a === !0 || a === "")
1131
+ r.push(`${t}--rounded`);
1132
+ else if (typeof a == "string" || a === 0)
1133
+ for (const o of String(a).split(" "))
1134
+ r.push(`rounded-${o}`);
1135
+ return r;
1136
+ })
1137
+ };
1138
+ }
1139
+ const ga = k({
1140
+ transition: {
1141
+ type: null,
1142
+ default: "fade-transition",
1143
+ validator: (e) => e !== !0
1144
+ }
1145
+ }, "transition"), Me = (e, t) => {
1146
+ let {
1147
+ slots: n
1148
+ } = t;
1149
+ const {
1150
+ transition: a,
1151
+ disabled: i,
1152
+ group: r,
1153
+ ...o
1154
+ } = e, {
1155
+ component: s = r ? Ka : De,
1156
+ ...l
1157
+ } = Bt(a) ? a : {};
1158
+ let u;
1159
+ return Bt(a) ? u = q(l, wi({
1160
+ disabled: i,
1161
+ group: r
1162
+ }), o) : u = q({
1163
+ name: i || !a ? "" : a
1164
+ }, o), Jn(s, u, n);
1165
+ };
1166
+ function Qi(e, t) {
1167
+ if (!Ut) return;
1168
+ const n = t.modifiers || {}, a = t.value, {
1169
+ handler: i,
1170
+ options: r
1171
+ } = typeof a == "object" ? a : {
1172
+ handler: a,
1173
+ options: {}
1174
+ }, o = new IntersectionObserver(function() {
1175
+ let s = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], l = arguments.length > 1 ? arguments[1] : void 0;
1176
+ const u = e._observe?.[t.instance.$.uid];
1177
+ if (!u) return;
1178
+ const c = s.some((f) => f.isIntersecting);
1179
+ i && (!n.quiet || u.init) && (!n.once || c || u.init) && i(c, s, l), c && n.once ? ha(e, t) : u.init = !0;
1180
+ }, r);
1181
+ e._observe = Object(e._observe), e._observe[t.instance.$.uid] = {
1182
+ init: !1,
1183
+ observer: o
1184
+ }, o.observe(e);
1185
+ }
1186
+ function ha(e, t) {
1187
+ const n = e._observe?.[t.instance.$.uid];
1188
+ n && (n.observer.unobserve(e), delete e._observe[t.instance.$.uid]);
1189
+ }
1190
+ const Rn = {
1191
+ mounted: Qi,
1192
+ unmounted: ha
1193
+ }, er = k({
1194
+ absolute: Boolean,
1195
+ alt: String,
1196
+ cover: Boolean,
1197
+ color: String,
1198
+ draggable: {
1199
+ type: [Boolean, String],
1200
+ default: void 0
1201
+ },
1202
+ eager: Boolean,
1203
+ gradient: String,
1204
+ lazySrc: String,
1205
+ options: {
1206
+ type: Object,
1207
+ // For more information on types, navigate to:
1208
+ // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
1209
+ default: () => ({
1210
+ root: void 0,
1211
+ rootMargin: void 0,
1212
+ threshold: void 0
1213
+ })
1214
+ },
1215
+ sizes: String,
1216
+ src: {
1217
+ type: [String, Object],
1218
+ default: ""
1219
+ },
1220
+ crossorigin: String,
1221
+ referrerpolicy: String,
1222
+ srcset: String,
1223
+ position: String,
1224
+ ...ma(),
1225
+ ...Z(),
1226
+ ...Le(),
1227
+ ...ga()
1228
+ }, "VImg"), ya = W()({
1229
+ name: "VImg",
1230
+ directives: {
1231
+ vIntersect: Rn
1232
+ },
1233
+ props: er(),
1234
+ emits: {
1235
+ loadstart: (e) => !0,
1236
+ load: (e) => !0,
1237
+ error: (e) => !0
1238
+ },
1239
+ setup(e, t) {
1240
+ let {
1241
+ emit: n,
1242
+ slots: a
1243
+ } = t;
1244
+ const {
1245
+ backgroundColorClasses: i,
1246
+ backgroundColorStyles: r
1247
+ } = ze(() => e.color), {
1248
+ roundedClasses: o
1249
+ } = Re(e), s = Y("VImg"), l = G(""), u = D(), c = G(e.eager ? "loading" : "idle"), f = G(), d = G(), m = S(() => e.src && typeof e.src == "object" ? {
1250
+ src: e.src.src,
1251
+ srcset: e.srcset || e.src.srcset,
1252
+ lazySrc: e.lazySrc || e.src.lazySrc,
1253
+ aspect: Number(e.aspectRatio || e.src.aspect || 0)
1254
+ } : {
1255
+ src: e.src,
1256
+ srcset: e.srcset,
1257
+ lazySrc: e.lazySrc,
1258
+ aspect: Number(e.aspectRatio || 0)
1259
+ }), v = S(() => m.value.aspect || f.value / d.value || 0);
1260
+ B(() => e.src, () => {
1261
+ y(c.value !== "idle");
1262
+ }), B(v, (O, A) => {
1263
+ !O && A && u.value && E(u.value);
1264
+ }), Za(() => y());
1265
+ function y(O) {
1266
+ if (!(e.eager && O) && !(Ut && !O && !e.eager)) {
1267
+ if (c.value = "loading", m.value.lazySrc) {
1268
+ const A = new Image();
1269
+ A.src = m.value.lazySrc, E(A, null);
1270
+ }
1271
+ m.value.src && ve(() => {
1272
+ n("loadstart", u.value?.currentSrc || m.value.src), setTimeout(() => {
1273
+ if (!s.isUnmounted)
1274
+ if (u.value?.complete) {
1275
+ if (u.value.naturalWidth || g(), c.value === "error") return;
1276
+ v.value || E(u.value, null), c.value === "loading" && p();
1277
+ } else
1278
+ v.value || E(u.value), w();
1279
+ });
1280
+ });
1281
+ }
1282
+ }
1283
+ function p() {
1284
+ s.isUnmounted || (w(), E(u.value), c.value = "loaded", n("load", u.value?.currentSrc || m.value.src));
1285
+ }
1286
+ function g() {
1287
+ s.isUnmounted || (c.value = "error", n("error", u.value?.currentSrc || m.value.src));
1288
+ }
1289
+ function w() {
1290
+ const O = u.value;
1291
+ O && (l.value = O.currentSrc || O.src);
1292
+ }
1293
+ let _ = -1;
1294
+ Be(() => {
1295
+ clearTimeout(_);
1296
+ });
1297
+ function E(O) {
1298
+ let A = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 100;
1299
+ const N = () => {
1300
+ if (clearTimeout(_), s.isUnmounted) return;
1301
+ const {
1302
+ naturalHeight: P,
1303
+ naturalWidth: M
1304
+ } = O;
1305
+ P || M ? (f.value = M, d.value = P) : !O.complete && c.value === "loading" && A != null ? _ = window.setTimeout(N, A) : (O.currentSrc.endsWith(".svg") || O.currentSrc.startsWith("data:image/svg+xml")) && (f.value = 1, d.value = 1);
1306
+ };
1307
+ N();
1308
+ }
1309
+ const V = x(() => ({
1310
+ "v-img__img--cover": e.cover,
1311
+ "v-img__img--contain": !e.cover
1312
+ })), $ = () => {
1313
+ if (!m.value.src || c.value === "idle") return null;
1314
+ const O = C("img", {
1315
+ class: F(["v-img__img", V.value]),
1316
+ style: {
1317
+ objectPosition: e.position
1318
+ },
1319
+ crossorigin: e.crossorigin,
1320
+ src: m.value.src,
1321
+ srcset: m.value.srcset,
1322
+ alt: e.alt,
1323
+ referrerpolicy: e.referrerpolicy,
1324
+ draggable: e.draggable,
1325
+ sizes: e.sizes,
1326
+ ref: u,
1327
+ onLoad: p,
1328
+ onError: g
1329
+ }, null), A = a.sources?.();
1330
+ return b(Me, {
1331
+ transition: e.transition,
1332
+ appear: !0
1333
+ }, {
1334
+ default: () => [We(A ? C("picture", {
1335
+ class: "v-img__picture"
1336
+ }, [A, O]) : O, [[ta, c.value === "loaded"]])]
1337
+ });
1338
+ }, T = () => b(Me, {
1339
+ transition: e.transition
1340
+ }, {
1341
+ default: () => [m.value.lazySrc && c.value !== "loaded" && C("img", {
1342
+ class: F(["v-img__img", "v-img__img--preload", V.value]),
1343
+ style: {
1344
+ objectPosition: e.position
1345
+ },
1346
+ crossorigin: e.crossorigin,
1347
+ src: m.value.lazySrc,
1348
+ alt: e.alt,
1349
+ referrerpolicy: e.referrerpolicy,
1350
+ draggable: e.draggable
1351
+ }, null)]
1352
+ }), h = () => a.placeholder ? b(Me, {
1353
+ transition: e.transition,
1354
+ appear: !0
1355
+ }, {
1356
+ default: () => [(c.value === "loading" || c.value === "error" && !a.error) && C("div", {
1357
+ class: "v-img__placeholder"
1358
+ }, [a.placeholder()])]
1359
+ }) : null, j = () => a.error ? b(Me, {
1360
+ transition: e.transition,
1361
+ appear: !0
1362
+ }, {
1363
+ default: () => [c.value === "error" && C("div", {
1364
+ class: "v-img__error"
1365
+ }, [a.error()])]
1366
+ }) : null, K = () => e.gradient ? C("div", {
1367
+ class: "v-img__gradient",
1368
+ style: {
1369
+ backgroundImage: `linear-gradient(${e.gradient})`
1370
+ }
1371
+ }, null) : null, R = G(!1);
1372
+ {
1373
+ const O = B(v, (A) => {
1374
+ A && (requestAnimationFrame(() => {
1375
+ requestAnimationFrame(() => {
1376
+ R.value = !0;
1377
+ });
1378
+ }), O());
1379
+ });
1380
+ }
1381
+ return X(() => {
1382
+ const O = Ln.filterProps(e);
1383
+ return We(b(Ln, q({
1384
+ class: ["v-img", {
1385
+ "v-img--absolute": e.absolute,
1386
+ "v-img--booting": !R.value
1387
+ }, i.value, o.value, e.class],
1388
+ style: [{
1389
+ width: I(e.width === "auto" ? f.value : e.width)
1390
+ }, r.value, e.style]
1391
+ }, O, {
1392
+ aspectRatio: v.value,
1393
+ "aria-label": e.alt,
1394
+ role: e.alt ? "img" : void 0
1395
+ }), {
1396
+ additional: () => C(Se, null, [b($, null, null), b(T, null, null), b(K, null, null), b(h, null, null), b(j, null, null)]),
1397
+ default: a.default
1398
+ }), [[Rn, {
1399
+ handler: y,
1400
+ options: e.options
1401
+ }, null, {
1402
+ once: !0
1403
+ }]]);
1404
+ }), {
1405
+ currentSrc: l,
1406
+ image: u,
1407
+ state: c,
1408
+ naturalWidth: f,
1409
+ naturalHeight: d
1410
+ };
1411
+ }
1412
+ }), gt = k({
1413
+ border: [Boolean, Number, String]
1414
+ }, "border");
1415
+ function ht(e) {
1416
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : me();
1417
+ return {
1418
+ borderClasses: S(() => {
1419
+ const a = e.border;
1420
+ return a === !0 || a === "" ? `${t}--border` : typeof a == "string" || a === 0 ? String(a).split(" ").map((i) => `border-${i}`) : [];
1421
+ })
1422
+ };
1423
+ }
1424
+ const en = k({
1425
+ elevation: {
1426
+ type: [Number, String],
1427
+ validator(e) {
1428
+ const t = parseInt(e);
1429
+ return !isNaN(t) && t >= 0 && // Material Design has a maximum elevation of 24
1430
+ // https://material.io/design/environment/elevation.html#default-elevations
1431
+ t <= 24;
1432
+ }
1433
+ }
1434
+ }, "elevation");
1435
+ function tn(e) {
1436
+ return {
1437
+ elevationClasses: x(() => {
1438
+ const n = Ot(e) ? e.value : e.elevation;
1439
+ return n == null ? [] : [`elevation-${n}`];
1440
+ })
1441
+ };
1442
+ }
1443
+ const tr = [null, "default", "comfortable", "compact"], Ue = k({
1444
+ density: {
1445
+ type: String,
1446
+ default: "default",
1447
+ validator: (e) => tr.includes(e)
1448
+ }
1449
+ }, "density");
1450
+ function yt(e) {
1451
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : me();
1452
+ return {
1453
+ densityClasses: x(() => `${t}--density-${e.density}`)
1454
+ };
1455
+ }
1456
+ const nr = ["elevated", "flat", "tonal", "outlined", "text", "plain"];
1457
+ function nn(e, t) {
1458
+ return C(Se, null, [e && C("span", {
1459
+ key: "overlay",
1460
+ class: F(`${t}__overlay`)
1461
+ }, null), C("span", {
1462
+ key: "underlay",
1463
+ class: F(`${t}__underlay`)
1464
+ }, null)]);
1465
+ }
1466
+ const bt = k({
1467
+ color: String,
1468
+ variant: {
1469
+ type: String,
1470
+ default: "elevated",
1471
+ validator: (e) => nr.includes(e)
1472
+ }
1473
+ }, "variant");
1474
+ function an(e) {
1475
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : me();
1476
+ const n = x(() => {
1477
+ const {
1478
+ variant: r
1479
+ } = ie(e);
1480
+ return `${t}--variant-${r}`;
1481
+ }), {
1482
+ colorClasses: a,
1483
+ colorStyles: i
1484
+ } = Qt(() => {
1485
+ const {
1486
+ variant: r,
1487
+ color: o
1488
+ } = ie(e);
1489
+ return {
1490
+ [["elevated", "flat"].includes(r) ? "background" : "text"]: o
1491
+ };
1492
+ });
1493
+ return {
1494
+ colorClasses: a,
1495
+ colorStyles: i,
1496
+ variantClasses: n
1497
+ };
1498
+ }
1499
+ const ba = k({
1500
+ baseColor: String,
1501
+ divided: Boolean,
1502
+ direction: {
1503
+ type: String,
1504
+ default: "horizontal"
1505
+ },
1506
+ ...gt(),
1507
+ ...Z(),
1508
+ ...Ue(),
1509
+ ...en(),
1510
+ ...Le(),
1511
+ ...re(),
1512
+ ...ge(),
1513
+ ...bt()
1514
+ }, "VBtnGroup"), Nn = W()({
1515
+ name: "VBtnGroup",
1516
+ props: ba(),
1517
+ setup(e, t) {
1518
+ let {
1519
+ slots: n
1520
+ } = t;
1521
+ const {
1522
+ themeClasses: a
1523
+ } = Ce(e), {
1524
+ densityClasses: i
1525
+ } = yt(e), {
1526
+ borderClasses: r
1527
+ } = ht(e), {
1528
+ elevationClasses: o
1529
+ } = tn(e), {
1530
+ roundedClasses: s
1531
+ } = Re(e);
1532
+ Kt({
1533
+ VBtn: {
1534
+ height: x(() => e.direction === "horizontal" ? "auto" : null),
1535
+ baseColor: x(() => e.baseColor),
1536
+ color: x(() => e.color),
1537
+ density: x(() => e.density),
1538
+ flat: !0,
1539
+ variant: x(() => e.variant)
1540
+ }
1541
+ }), X(() => b(e.tag, {
1542
+ class: F(["v-btn-group", `v-btn-group--${e.direction}`, {
1543
+ "v-btn-group--divided": e.divided
1544
+ }, a.value, r.value, i.value, o.value, s.value, e.class]),
1545
+ style: U(e.style)
1546
+ }, n));
1547
+ }
1548
+ }), ar = k({
1549
+ modelValue: {
1550
+ type: null,
1551
+ default: void 0
1552
+ },
1553
+ multiple: Boolean,
1554
+ mandatory: [Boolean, String],
1555
+ max: Number,
1556
+ selectedClass: String,
1557
+ disabled: Boolean
1558
+ }, "group"), ir = k({
1559
+ value: null,
1560
+ disabled: Boolean,
1561
+ selectedClass: String
1562
+ }, "group-item");
1563
+ function rr(e, t) {
1564
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0;
1565
+ const a = Y("useGroupItem");
1566
+ if (!a)
1567
+ throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");
1568
+ const i = Ja();
1569
+ Te(/* @__PURE__ */ Symbol.for(`${t.description}:id`), i);
1570
+ const r = ue(t, null);
1571
+ if (!r) {
1572
+ if (!n) return r;
1573
+ throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`);
1574
+ }
1575
+ const o = x(() => e.value), s = S(() => !!(r.disabled.value || e.disabled));
1576
+ function l() {
1577
+ r?.register({
1578
+ id: i,
1579
+ value: o,
1580
+ disabled: s
1581
+ }, a);
1582
+ }
1583
+ function u() {
1584
+ r?.unregister(i);
1585
+ }
1586
+ l(), Be(() => u());
1587
+ const c = S(() => r.isSelected(i)), f = S(() => r.items.value[0].id === i), d = S(() => r.items.value[r.items.value.length - 1].id === i), m = S(() => c.value && [r.selectedClass.value, e.selectedClass]);
1588
+ return B(c, (v) => {
1589
+ a.emit("group:selected", {
1590
+ value: v
1591
+ });
1592
+ }, {
1593
+ flush: "sync"
1594
+ }), {
1595
+ id: i,
1596
+ isSelected: c,
1597
+ isFirst: f,
1598
+ isLast: d,
1599
+ toggle: () => r.select(i, !c.value),
1600
+ select: (v) => r.select(i, v),
1601
+ selectedClass: m,
1602
+ value: o,
1603
+ disabled: s,
1604
+ group: r,
1605
+ register: l,
1606
+ unregister: u
1607
+ };
1608
+ }
1609
+ function or(e, t) {
1610
+ let n = !1;
1611
+ const a = Ie([]), i = ft(e, "modelValue", [], (d) => d === void 0 ? [] : pa(a, d === null ? [null] : gi(d)), (d) => {
1612
+ const m = lr(a, d);
1613
+ return e.multiple ? m : m[0];
1614
+ }), r = Y("useGroup");
1615
+ function o(d, m) {
1616
+ const v = d, y = /* @__PURE__ */ Symbol.for(`${t.description}:id`), g = Fe(y, r?.vnode).indexOf(m);
1617
+ ee(v.value) === void 0 && (v.value = g, v.useIndexAsValue = !0), g > -1 ? a.splice(g, 0, v) : a.push(v);
1618
+ }
1619
+ function s(d) {
1620
+ if (n) return;
1621
+ l();
1622
+ const m = a.findIndex((v) => v.id === d);
1623
+ a.splice(m, 1);
1624
+ }
1625
+ function l() {
1626
+ const d = a.find((m) => !m.disabled);
1627
+ d && e.mandatory === "force" && !i.value.length && (i.value = [d.id]);
1628
+ }
1629
+ Gt(() => {
1630
+ l();
1631
+ }), Be(() => {
1632
+ n = !0;
1633
+ }), Qa(() => {
1634
+ for (let d = 0; d < a.length; d++)
1635
+ a[d].useIndexAsValue && (a[d].value = d);
1636
+ });
1637
+ function u(d, m) {
1638
+ const v = a.find((y) => y.id === d);
1639
+ if (!(m && v?.disabled))
1640
+ if (e.multiple) {
1641
+ const y = i.value.slice(), p = y.findIndex((w) => w === d), g = ~p;
1642
+ if (m = m ?? !g, g && e.mandatory && y.length <= 1 || !g && e.max != null && y.length + 1 > e.max) return;
1643
+ p < 0 && m ? y.push(d) : p >= 0 && !m && y.splice(p, 1), i.value = y;
1644
+ } else {
1645
+ const y = i.value.includes(d);
1646
+ if (e.mandatory && y || !y && !m) return;
1647
+ i.value = m ?? !y ? [d] : [];
1648
+ }
1649
+ }
1650
+ function c(d) {
1651
+ if (e.multiple && Ve('This method is not supported when using "multiple" prop'), i.value.length) {
1652
+ const m = i.value[0], v = a.findIndex((g) => g.id === m);
1653
+ let y = (v + d) % a.length, p = a[y];
1654
+ for (; p.disabled && y !== v; )
1655
+ y = (y + d) % a.length, p = a[y];
1656
+ if (p.disabled) return;
1657
+ i.value = [a[y].id];
1658
+ } else {
1659
+ const m = a.find((v) => !v.disabled);
1660
+ m && (i.value = [m.id]);
1661
+ }
1662
+ }
1663
+ const f = {
1664
+ register: o,
1665
+ unregister: s,
1666
+ selected: i,
1667
+ select: u,
1668
+ disabled: x(() => e.disabled),
1669
+ prev: () => c(a.length - 1),
1670
+ next: () => c(1),
1671
+ isSelected: (d) => i.value.includes(d),
1672
+ selectedClass: x(() => e.selectedClass),
1673
+ items: x(() => a),
1674
+ getItemIndex: (d) => sr(a, d)
1675
+ };
1676
+ return Te(t, f), f;
1677
+ }
1678
+ function sr(e, t) {
1679
+ const n = pa(e, [t]);
1680
+ return n.length ? e.findIndex((a) => a.id === n[0]) : -1;
1681
+ }
1682
+ function pa(e, t) {
1683
+ const n = [];
1684
+ return t.forEach((a) => {
1685
+ const i = e.find((o) => Ae(a, o.value)), r = e[a];
1686
+ i?.value !== void 0 ? n.push(i.id) : r?.useIndexAsValue && n.push(r.id);
1687
+ }), n;
1688
+ }
1689
+ function lr(e, t) {
1690
+ const n = [];
1691
+ return t.forEach((a) => {
1692
+ const i = e.findIndex((r) => r.id === a);
1693
+ if (~i) {
1694
+ const r = e[i];
1695
+ n.push(r.value !== void 0 ? r.value : i);
1696
+ }
1697
+ }), n;
1698
+ }
1699
+ const wa = /* @__PURE__ */ Symbol.for("vuetify:v-btn-toggle"), ur = k({
1700
+ ...ba(),
1701
+ ...ar()
1702
+ }, "VBtnToggle");
1703
+ W()({
1704
+ name: "VBtnToggle",
1705
+ props: ur(),
1706
+ emits: {
1707
+ "update:modelValue": (e) => !0
1708
+ },
1709
+ setup(e, t) {
1710
+ let {
1711
+ slots: n
1712
+ } = t;
1713
+ const {
1714
+ isSelected: a,
1715
+ next: i,
1716
+ prev: r,
1717
+ select: o,
1718
+ selected: s
1719
+ } = or(e, wa);
1720
+ return X(() => {
1721
+ const l = Nn.filterProps(e);
1722
+ return b(Nn, q({
1723
+ class: ["v-btn-toggle", e.class]
1724
+ }, l, {
1725
+ style: e.style
1726
+ }), {
1727
+ default: () => [n.default?.({
1728
+ isSelected: a,
1729
+ next: i,
1730
+ prev: r,
1731
+ select: o,
1732
+ selected: s
1733
+ })]
1734
+ });
1735
+ }), {
1736
+ next: i,
1737
+ prev: r,
1738
+ select: o
1739
+ };
1740
+ }
1741
+ });
1742
+ const le = [String, Function, Object, Array], cr = /* @__PURE__ */ Symbol.for("vuetify:icons"), pt = k({
1743
+ icon: {
1744
+ type: le
1745
+ },
1746
+ // Could not remove this and use makeTagProps, types complained because it is not required
1747
+ tag: {
1748
+ type: [String, Object, Function],
1749
+ required: !0
1750
+ }
1751
+ }, "icon"), Fn = W()({
1752
+ name: "VComponentIcon",
1753
+ props: pt(),
1754
+ setup(e, t) {
1755
+ let {
1756
+ slots: n
1757
+ } = t;
1758
+ return () => {
1759
+ const a = e.icon;
1760
+ return b(e.tag, null, {
1761
+ default: () => [e.icon ? b(a, null, null) : n.default?.()]
1762
+ });
1763
+ };
1764
+ }
1765
+ }), dr = dt({
1766
+ name: "VSvgIcon",
1767
+ inheritAttrs: !1,
1768
+ props: pt(),
1769
+ setup(e, t) {
1770
+ let {
1771
+ attrs: n
1772
+ } = t;
1773
+ return () => b(e.tag, q(n, {
1774
+ style: null
1775
+ }), {
1776
+ default: () => [C("svg", {
1777
+ class: "v-icon__svg",
1778
+ xmlns: "http://www.w3.org/2000/svg",
1779
+ viewBox: "0 0 24 24",
1780
+ role: "img",
1781
+ "aria-hidden": "true"
1782
+ }, [Array.isArray(e.icon) ? e.icon.map((a) => Array.isArray(a) ? C("path", {
1783
+ d: a[0],
1784
+ "fill-opacity": a[1]
1785
+ }, null) : C("path", {
1786
+ d: a
1787
+ }, null)) : C("path", {
1788
+ d: e.icon
1789
+ }, null)])]
1790
+ });
1791
+ }
1792
+ });
1793
+ dt({
1794
+ name: "VLigatureIcon",
1795
+ props: pt(),
1796
+ setup(e) {
1797
+ return () => b(e.tag, null, {
1798
+ default: () => [e.icon]
1799
+ });
1800
+ }
1801
+ });
1802
+ dt({
1803
+ name: "VClassIcon",
1804
+ props: pt(),
1805
+ setup(e) {
1806
+ return () => b(e.tag, {
1807
+ class: F(e.icon)
1808
+ }, null);
1809
+ }
1810
+ });
1811
+ const fr = (e) => {
1812
+ const t = ue(cr);
1813
+ if (!t) throw new Error("Missing Vuetify Icons provide!");
1814
+ return {
1815
+ iconData: S(() => {
1816
+ const a = ie(e);
1817
+ if (!a) return {
1818
+ component: Fn
1819
+ };
1820
+ let i = a;
1821
+ if (typeof i == "string" && (i = i.trim(), i.startsWith("$") && (i = t.aliases?.[i.slice(1)])), i || Ve(`Could not find aliased icon "${a}"`), Array.isArray(i))
1822
+ return {
1823
+ component: dr,
1824
+ icon: i
1825
+ };
1826
+ if (typeof i != "string")
1827
+ return {
1828
+ component: Fn,
1829
+ icon: i
1830
+ };
1831
+ const r = Object.keys(t.sets).find((l) => typeof i == "string" && i.startsWith(`${l}:`)), o = r ? i.slice(r.length + 1) : i;
1832
+ return {
1833
+ component: t.sets[r ?? t.defaultSet].component,
1834
+ icon: o
1835
+ };
1836
+ })
1837
+ };
1838
+ }, vr = ["x-small", "small", "default", "large", "x-large"], wt = k({
1839
+ size: {
1840
+ type: [String, Number],
1841
+ default: "default"
1842
+ }
1843
+ }, "size");
1844
+ function St(e) {
1845
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : me();
1846
+ return Yt(() => {
1847
+ const n = e.size;
1848
+ let a, i;
1849
+ return at(vr, n) ? a = `${t}--size-${n}` : n && (i = {
1850
+ width: I(n),
1851
+ height: I(n)
1852
+ }), {
1853
+ sizeClasses: a,
1854
+ sizeStyles: i
1855
+ };
1856
+ });
1857
+ }
1858
+ const mr = k({
1859
+ color: String,
1860
+ disabled: Boolean,
1861
+ start: Boolean,
1862
+ end: Boolean,
1863
+ icon: le,
1864
+ opacity: [String, Number],
1865
+ ...Z(),
1866
+ ...wt(),
1867
+ ...re({
1868
+ tag: "i"
1869
+ }),
1870
+ ...ge()
1871
+ }, "VIcon"), de = W()({
1872
+ name: "VIcon",
1873
+ props: mr(),
1874
+ setup(e, t) {
1875
+ let {
1876
+ attrs: n,
1877
+ slots: a
1878
+ } = t;
1879
+ const i = G(), {
1880
+ themeClasses: r
1881
+ } = Ui(), {
1882
+ iconData: o
1883
+ } = fr(() => i.value || e.icon), {
1884
+ sizeClasses: s
1885
+ } = St(e), {
1886
+ textColorClasses: l,
1887
+ textColorStyles: u
1888
+ } = st(() => e.color);
1889
+ return X(() => {
1890
+ const c = a.default?.();
1891
+ c && (i.value = oa(c).filter((d) => d.type === ei && d.children && typeof d.children == "string")[0]?.children);
1892
+ const f = !!(n.onClick || n.onClickOnce);
1893
+ return b(o.value.component, {
1894
+ tag: e.tag,
1895
+ icon: o.value.icon,
1896
+ class: F(["v-icon", "notranslate", r.value, s.value, l.value, {
1897
+ "v-icon--clickable": f,
1898
+ "v-icon--disabled": e.disabled,
1899
+ "v-icon--start": e.start,
1900
+ "v-icon--end": e.end
1901
+ }, e.class]),
1902
+ style: U([{
1903
+ "--v-icon-opacity": e.opacity
1904
+ }, s.value ? void 0 : {
1905
+ fontSize: I(e.size),
1906
+ height: I(e.size),
1907
+ width: I(e.size)
1908
+ }, u.value, e.style]),
1909
+ role: f ? "button" : void 0,
1910
+ "aria-hidden": !f,
1911
+ tabindex: f ? e.disabled ? -1 : 0 : void 0
1912
+ }, {
1913
+ default: () => [c]
1914
+ });
1915
+ }), {};
1916
+ }
1917
+ });
1918
+ function Sa(e, t) {
1919
+ const n = D(), a = G(!1);
1920
+ if (Ut) {
1921
+ const i = new IntersectionObserver((r) => {
1922
+ a.value = !!r.find((o) => o.isIntersecting);
1923
+ }, t);
1924
+ ne(() => {
1925
+ i.disconnect();
1926
+ }), B(n, (r, o) => {
1927
+ o && (i.unobserve(o), a.value = !1), r && i.observe(r);
1928
+ }, {
1929
+ flush: "post"
1930
+ });
1931
+ }
1932
+ return {
1933
+ intersectionRef: n,
1934
+ isIntersecting: a
1935
+ };
1936
+ }
1937
+ const gr = k({
1938
+ bgColor: String,
1939
+ color: String,
1940
+ indeterminate: [Boolean, String],
1941
+ rounded: Boolean,
1942
+ modelValue: {
1943
+ type: [Number, String],
1944
+ default: 0
1945
+ },
1946
+ rotate: {
1947
+ type: [Number, String],
1948
+ default: 0
1949
+ },
1950
+ width: {
1951
+ type: [Number, String],
1952
+ default: 4
1953
+ },
1954
+ ...Z(),
1955
+ ...wt(),
1956
+ ...re({
1957
+ tag: "div"
1958
+ }),
1959
+ ...ge()
1960
+ }, "VProgressCircular"), hr = W()({
1961
+ name: "VProgressCircular",
1962
+ props: gr(),
1963
+ setup(e, t) {
1964
+ let {
1965
+ slots: n
1966
+ } = t;
1967
+ const a = 20, i = 2 * Math.PI * a, r = D(), {
1968
+ themeClasses: o
1969
+ } = Ce(e), {
1970
+ sizeClasses: s,
1971
+ sizeStyles: l
1972
+ } = St(e), {
1973
+ textColorClasses: u,
1974
+ textColorStyles: c
1975
+ } = st(() => e.color), {
1976
+ textColorClasses: f,
1977
+ textColorStyles: d
1978
+ } = st(() => e.bgColor), {
1979
+ intersectionRef: m,
1980
+ isIntersecting: v
1981
+ } = Sa(), {
1982
+ resizeRef: y,
1983
+ contentRect: p
1984
+ } = va(), g = x(() => Oe(parseFloat(e.modelValue), 0, 100)), w = x(() => Number(e.width)), _ = x(() => l.value ? Number(e.size) : p.value ? p.value.width : Math.max(w.value, 32)), E = x(() => a / (1 - w.value / _.value) * 2), V = x(() => w.value / _.value * E.value), $ = x(() => {
1985
+ const h = (100 - g.value) / 100 * i;
1986
+ return e.rounded && g.value > 0 && g.value < 100 ? I(Math.min(i - 0.01, h + V.value)) : I(h);
1987
+ }), T = S(() => {
1988
+ const h = Number(e.rotate);
1989
+ return e.rounded ? h + V.value / 2 / i * 360 : h;
1990
+ });
1991
+ return fe(() => {
1992
+ m.value = r.value, y.value = r.value;
1993
+ }), X(() => b(e.tag, {
1994
+ ref: r,
1995
+ class: F(["v-progress-circular", {
1996
+ "v-progress-circular--indeterminate": !!e.indeterminate,
1997
+ "v-progress-circular--visible": v.value,
1998
+ "v-progress-circular--disable-shrink": e.indeterminate && (e.indeterminate === "disable-shrink" || Tt())
1999
+ }, o.value, s.value, u.value, e.class]),
2000
+ style: U([l.value, c.value, e.style]),
2001
+ role: "progressbar",
2002
+ "aria-valuemin": "0",
2003
+ "aria-valuemax": "100",
2004
+ "aria-valuenow": e.indeterminate ? void 0 : g.value
2005
+ }, {
2006
+ default: () => [C("svg", {
2007
+ style: {
2008
+ transform: `rotate(calc(-90deg + ${T.value}deg))`
2009
+ },
2010
+ xmlns: "http://www.w3.org/2000/svg",
2011
+ viewBox: `0 0 ${E.value} ${E.value}`
2012
+ }, [C("circle", {
2013
+ class: F(["v-progress-circular__underlay", f.value]),
2014
+ style: U(d.value),
2015
+ fill: "transparent",
2016
+ cx: "50%",
2017
+ cy: "50%",
2018
+ r: a,
2019
+ "stroke-width": V.value,
2020
+ "stroke-dasharray": i,
2021
+ "stroke-dashoffset": 0
2022
+ }, null), C("circle", {
2023
+ class: "v-progress-circular__overlay",
2024
+ fill: "transparent",
2025
+ cx: "50%",
2026
+ cy: "50%",
2027
+ r: a,
2028
+ "stroke-width": V.value,
2029
+ "stroke-dasharray": i,
2030
+ "stroke-dashoffset": $.value,
2031
+ "stroke-linecap": e.rounded ? "round" : void 0
2032
+ }, null)]), n.default && C("div", {
2033
+ class: "v-progress-circular__content"
2034
+ }, [n.default({
2035
+ value: g.value
2036
+ })])]
2037
+ })), {};
2038
+ }
2039
+ }), $n = {
2040
+ center: "center",
2041
+ top: "bottom",
2042
+ bottom: "top",
2043
+ left: "right",
2044
+ right: "left"
2045
+ }, rn = k({
2046
+ location: String
2047
+ }, "location");
2048
+ function on(e) {
2049
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, n = arguments.length > 2 ? arguments[2] : void 0;
2050
+ const {
2051
+ isRtl: a
2052
+ } = Jt();
2053
+ return {
2054
+ locationStyles: S(() => {
2055
+ if (!e.location) return {};
2056
+ const {
2057
+ side: r,
2058
+ align: o
2059
+ } = Rt(e.location.split(" ").length > 1 ? e.location : `${e.location} center`, a.value);
2060
+ function s(u) {
2061
+ return n ? n(u) : 0;
2062
+ }
2063
+ const l = {};
2064
+ return r !== "center" && (t ? l[$n[r]] = `calc(100% - ${s(r)}px)` : l[r] = 0), o !== "center" ? t ? l[$n[o]] = `calc(100% - ${s(o)}px)` : l[o] = 0 : (r === "center" ? l.top = l.left = "50%" : l[{
2065
+ top: "left",
2066
+ bottom: "left",
2067
+ left: "top",
2068
+ right: "top"
2069
+ }[r]] = "50%", l.transform = {
2070
+ top: "translateX(-50%)",
2071
+ bottom: "translateX(-50%)",
2072
+ left: "translateY(-50%)",
2073
+ right: "translateY(-50%)",
2074
+ center: "translate(-50%, -50%)"
2075
+ }[r]), l;
2076
+ })
2077
+ };
2078
+ }
2079
+ const yr = k({
2080
+ chunkCount: {
2081
+ type: [Number, String],
2082
+ default: null
2083
+ },
2084
+ chunkWidth: {
2085
+ type: [Number, String],
2086
+ default: null
2087
+ },
2088
+ chunkGap: {
2089
+ type: [Number, String],
2090
+ default: 4
2091
+ }
2092
+ }, "chunks");
2093
+ function br(e, t) {
2094
+ const n = x(() => !!e.chunkCount || !!e.chunkWidth), a = S(() => {
2095
+ const s = ie(t);
2096
+ if (!s)
2097
+ return 0;
2098
+ if (!e.chunkCount)
2099
+ return Number(e.chunkWidth);
2100
+ const l = Number(e.chunkCount);
2101
+ return (s - Number(e.chunkGap) * (l - 1)) / l;
2102
+ }), i = x(() => Number(e.chunkGap)), r = S(() => {
2103
+ if (!n.value)
2104
+ return {};
2105
+ const s = I(i.value), l = I(a.value);
2106
+ return {
2107
+ maskRepeat: "repeat-x",
2108
+ maskImage: `linear-gradient(90deg, #000, #000 ${l}, transparent ${l}, transparent)`,
2109
+ maskSize: `calc(${l} + ${s}) 100%`
2110
+ };
2111
+ });
2112
+ function o(s) {
2113
+ const l = ie(t);
2114
+ if (!l)
2115
+ return s;
2116
+ const u = 100 * i.value / l, c = 100 * (a.value + i.value) / l, f = Math.floor((s + u) / c);
2117
+ return Oe(0, f * c - u / 2, 100);
2118
+ }
2119
+ return {
2120
+ hasChunks: n,
2121
+ chunksMaskStyles: r,
2122
+ snapValueToChunk: o
2123
+ };
2124
+ }
2125
+ const pr = k({
2126
+ absolute: Boolean,
2127
+ active: {
2128
+ type: Boolean,
2129
+ default: !0
2130
+ },
2131
+ bgColor: String,
2132
+ bgOpacity: [Number, String],
2133
+ bufferValue: {
2134
+ type: [Number, String],
2135
+ default: 0
2136
+ },
2137
+ bufferColor: String,
2138
+ bufferOpacity: [Number, String],
2139
+ clickable: Boolean,
2140
+ color: String,
2141
+ height: {
2142
+ type: [Number, String],
2143
+ default: 4
2144
+ },
2145
+ indeterminate: Boolean,
2146
+ max: {
2147
+ type: [Number, String],
2148
+ default: 100
2149
+ },
2150
+ modelValue: {
2151
+ type: [Number, String],
2152
+ default: 0
2153
+ },
2154
+ opacity: [Number, String],
2155
+ reverse: Boolean,
2156
+ stream: Boolean,
2157
+ striped: Boolean,
2158
+ roundedBar: Boolean,
2159
+ ...yr(),
2160
+ ...Z(),
2161
+ ...rn({
2162
+ location: "top"
2163
+ }),
2164
+ ...Le(),
2165
+ ...re(),
2166
+ ...ge()
2167
+ }, "VProgressLinear"), wr = W()({
2168
+ name: "VProgressLinear",
2169
+ props: pr(),
2170
+ emits: {
2171
+ "update:modelValue": (e) => !0
2172
+ },
2173
+ setup(e, t) {
2174
+ let {
2175
+ slots: n
2176
+ } = t;
2177
+ const a = D(), i = ft(e, "modelValue"), {
2178
+ isRtl: r,
2179
+ rtlClasses: o
2180
+ } = Jt(), {
2181
+ themeClasses: s
2182
+ } = Ce(e), {
2183
+ locationStyles: l
2184
+ } = on(e), {
2185
+ textColorClasses: u,
2186
+ textColorStyles: c
2187
+ } = st(() => e.color), {
2188
+ backgroundColorClasses: f,
2189
+ backgroundColorStyles: d
2190
+ } = ze(() => e.bgColor || e.color), {
2191
+ backgroundColorClasses: m,
2192
+ backgroundColorStyles: v
2193
+ } = ze(() => e.bufferColor || e.bgColor || e.color), {
2194
+ backgroundColorClasses: y,
2195
+ backgroundColorStyles: p
2196
+ } = ze(() => e.color), {
2197
+ roundedClasses: g
2198
+ } = Re(e), {
2199
+ intersectionRef: w,
2200
+ isIntersecting: _
2201
+ } = Sa(), E = S(() => parseFloat(e.max)), V = S(() => parseFloat(e.height)), $ = S(() => Oe(parseFloat(e.bufferValue) / E.value * 100, 0, 100)), T = S(() => Oe(parseFloat(i.value) / E.value * 100, 0, 100)), h = S(() => r.value !== e.reverse), j = S(() => e.indeterminate ? "fade-transition" : "slide-x-transition"), K = G(0), {
2202
+ hasChunks: R,
2203
+ chunksMaskStyles: O,
2204
+ snapValueToChunk: A
2205
+ } = br(e, K);
2206
+ Ge(R, () => {
2207
+ const {
2208
+ resizeRef: H
2209
+ } = va((J) => K.value = J[0].contentRect.width);
2210
+ fe(() => H.value = a.value);
2211
+ });
2212
+ const N = S(() => R.value ? A($.value) : $.value), P = S(() => R.value ? A(T.value) : T.value);
2213
+ function M(H) {
2214
+ if (!w.value) return;
2215
+ const {
2216
+ left: J,
2217
+ right: he,
2218
+ width: z
2219
+ } = w.value.getBoundingClientRect(), oe = h.value ? z - H.clientX + (he - z) : H.clientX - J;
2220
+ i.value = Math.round(oe / z * E.value);
2221
+ }
2222
+ return fe(() => {
2223
+ w.value = a.value;
2224
+ }), X(() => b(e.tag, {
2225
+ ref: a,
2226
+ class: F(["v-progress-linear", {
2227
+ "v-progress-linear--absolute": e.absolute,
2228
+ "v-progress-linear--active": e.active && _.value,
2229
+ "v-progress-linear--reverse": h.value,
2230
+ "v-progress-linear--rounded": e.rounded,
2231
+ "v-progress-linear--rounded-bar": e.roundedBar,
2232
+ "v-progress-linear--striped": e.striped,
2233
+ "v-progress-linear--clickable": e.clickable
2234
+ }, g.value, s.value, o.value, e.class]),
2235
+ style: U([{
2236
+ bottom: e.location === "bottom" ? 0 : void 0,
2237
+ top: e.location === "top" ? 0 : void 0,
2238
+ height: e.active ? I(V.value) : 0,
2239
+ "--v-progress-linear-height": I(V.value),
2240
+ ...e.absolute ? l.value : {}
2241
+ }, O.value, e.style]),
2242
+ role: "progressbar",
2243
+ "aria-hidden": e.active ? "false" : "true",
2244
+ "aria-valuemin": "0",
2245
+ "aria-valuemax": e.max,
2246
+ "aria-valuenow": e.indeterminate ? void 0 : Math.min(parseFloat(i.value), E.value),
2247
+ onClick: e.clickable && M
2248
+ }, {
2249
+ default: () => [e.stream && C("div", {
2250
+ key: "stream",
2251
+ class: F(["v-progress-linear__stream", u.value]),
2252
+ style: {
2253
+ ...c.value,
2254
+ [h.value ? "left" : "right"]: I(-V.value),
2255
+ borderTop: `${I(V.value / 2)} dotted`,
2256
+ opacity: parseFloat(e.bufferOpacity),
2257
+ top: `calc(50% - ${I(V.value / 4)})`,
2258
+ width: I(100 - $.value, "%"),
2259
+ "--v-progress-linear-stream-to": I(V.value * (h.value ? 1 : -1))
2260
+ }
2261
+ }, null), C("div", {
2262
+ class: F(["v-progress-linear__background", f.value]),
2263
+ style: U([d.value, {
2264
+ opacity: parseFloat(e.bgOpacity),
2265
+ width: e.stream ? 0 : void 0
2266
+ }])
2267
+ }, null), C("div", {
2268
+ class: F(["v-progress-linear__buffer", m.value]),
2269
+ style: U([v.value, {
2270
+ opacity: parseFloat(e.bufferOpacity),
2271
+ width: I(N.value, "%")
2272
+ }])
2273
+ }, null), b(De, {
2274
+ name: j.value
2275
+ }, {
2276
+ default: () => [e.indeterminate ? C("div", {
2277
+ class: "v-progress-linear__indeterminate"
2278
+ }, [["long", "short"].map((H) => C("div", {
2279
+ key: H,
2280
+ class: F(["v-progress-linear__indeterminate", H, y.value]),
2281
+ style: U(p.value)
2282
+ }, null))]) : C("div", {
2283
+ class: F(["v-progress-linear__determinate", y.value]),
2284
+ style: U([p.value, {
2285
+ width: I(P.value, "%")
2286
+ }])
2287
+ }, null)]
2288
+ }), n.default && C("div", {
2289
+ class: "v-progress-linear__content"
2290
+ }, [n.default({
2291
+ value: T.value,
2292
+ buffer: $.value
2293
+ })])]
2294
+ })), {};
2295
+ }
2296
+ }), Ca = k({
2297
+ loading: [Boolean, String]
2298
+ }, "loader");
2299
+ function ka(e) {
2300
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : me();
2301
+ return {
2302
+ loaderClasses: x(() => ({
2303
+ [`${t}--loading`]: e.loading
2304
+ }))
2305
+ };
2306
+ }
2307
+ function Sr(e, t) {
2308
+ let {
2309
+ slots: n
2310
+ } = t;
2311
+ return C("div", {
2312
+ class: F(`${e.name}__loader`)
2313
+ }, [n.default?.({
2314
+ color: e.color,
2315
+ isActive: e.active
2316
+ }) || b(wr, {
2317
+ absolute: e.absolute,
2318
+ active: e.active,
2319
+ color: e.color,
2320
+ height: "2",
2321
+ indeterminate: !0
2322
+ }, null)]);
2323
+ }
2324
+ const Cr = ["static", "relative", "fixed", "absolute", "sticky"], xa = k({
2325
+ position: {
2326
+ type: String,
2327
+ validator: (
2328
+ /* istanbul ignore next */
2329
+ (e) => Cr.includes(e)
2330
+ )
2331
+ }
2332
+ }, "position");
2333
+ function Ea(e) {
2334
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : me();
2335
+ return {
2336
+ positionClasses: x(() => e.position ? `${t}--${e.position}` : void 0)
2337
+ };
2338
+ }
2339
+ function kr() {
2340
+ const e = Y("useRoute");
2341
+ return S(() => e?.proxy?.$route);
2342
+ }
2343
+ function xr() {
2344
+ return Y("useRouter")?.proxy?.$router;
2345
+ }
2346
+ function _a(e, t) {
2347
+ const n = ti("RouterLink"), a = x(() => !!(e.href || e.to)), i = S(() => a?.value || gn(t, "click") || gn(e, "click"));
2348
+ if (typeof n == "string" || !("useLink" in n)) {
2349
+ const f = x(() => e.href);
2350
+ return {
2351
+ isLink: a,
2352
+ isRouterLink: x(() => !1),
2353
+ isClickable: i,
2354
+ href: f,
2355
+ linkProps: Ie({
2356
+ href: f
2357
+ })
2358
+ };
2359
+ }
2360
+ const r = n.useLink({
2361
+ to: x(() => e.to || ""),
2362
+ replace: x(() => e.replace)
2363
+ }), o = S(() => e.to ? r : void 0), s = kr(), l = S(() => o.value ? e.exact ? s.value ? o.value.isExactActive?.value && Ae(o.value.route.value.query, s.value.query) : o.value.isExactActive?.value ?? !1 : o.value.isActive?.value ?? !1 : !1), u = S(() => e.to ? o.value?.route.value.href : e.href), c = x(() => !!e.to);
2364
+ return {
2365
+ isLink: a,
2366
+ isRouterLink: c,
2367
+ isClickable: i,
2368
+ isActive: l,
2369
+ route: o.value?.route,
2370
+ navigate: o.value?.navigate,
2371
+ href: u,
2372
+ linkProps: Ie({
2373
+ href: u,
2374
+ "aria-current": x(() => l.value ? "page" : void 0),
2375
+ "aria-disabled": x(() => e.disabled && a.value ? "true" : void 0),
2376
+ tabindex: x(() => e.disabled && a.value ? "-1" : void 0)
2377
+ })
2378
+ };
2379
+ }
2380
+ const Pa = k({
2381
+ href: String,
2382
+ replace: Boolean,
2383
+ to: [String, Object],
2384
+ exact: Boolean
2385
+ }, "router");
2386
+ let _t = !1;
2387
+ function Er(e, t) {
2388
+ let n = !1, a, i;
2389
+ Q && e?.beforeEach && (ve(() => {
2390
+ window.addEventListener("popstate", r), a = e.beforeEach((o, s, l) => {
2391
+ _t ? n ? t(l) : l() : setTimeout(() => n ? t(l) : l()), _t = !0;
2392
+ }), i = e?.afterEach(() => {
2393
+ _t = !1;
2394
+ });
2395
+ }), ne(() => {
2396
+ window.removeEventListener("popstate", r), a?.(), i?.();
2397
+ }));
2398
+ function r(o) {
2399
+ o.state?.replaced || (n = !0, setTimeout(() => n = !1));
2400
+ }
2401
+ }
2402
+ function _r(e, t) {
2403
+ B(() => e.isActive?.value, (n) => {
2404
+ e.isLink.value && n != null && t && ve(() => {
2405
+ t(n);
2406
+ });
2407
+ }, {
2408
+ immediate: !0
2409
+ });
2410
+ }
2411
+ const Mt = /* @__PURE__ */ Symbol("rippleStop"), Pr = 80;
2412
+ function Mn(e, t) {
2413
+ e.style.transform = t, e.style.webkitTransform = t;
2414
+ }
2415
+ function zt(e) {
2416
+ return e.constructor.name === "TouchEvent";
2417
+ }
2418
+ function Va(e) {
2419
+ return e.constructor.name === "KeyboardEvent";
2420
+ }
2421
+ const Vr = function(e, t) {
2422
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, a = 0, i = 0;
2423
+ if (!Va(e)) {
2424
+ const f = t.getBoundingClientRect(), d = zt(e) ? e.touches[e.touches.length - 1] : e;
2425
+ a = d.clientX - f.left, i = d.clientY - f.top;
2426
+ }
2427
+ let r = 0, o = 0.3;
2428
+ t._ripple?.circle ? (o = 0.15, r = t.clientWidth / 2, r = n.center ? r : r + Math.sqrt((a - r) ** 2 + (i - r) ** 2) / 4) : r = Math.sqrt(t.clientWidth ** 2 + t.clientHeight ** 2) / 2;
2429
+ const s = `${(t.clientWidth - r * 2) / 2}px`, l = `${(t.clientHeight - r * 2) / 2}px`, u = n.center ? s : `${a - r}px`, c = n.center ? l : `${i - r}px`;
2430
+ return {
2431
+ radius: r,
2432
+ scale: o,
2433
+ x: u,
2434
+ y: c,
2435
+ centerX: s,
2436
+ centerY: l
2437
+ };
2438
+ }, lt = {
2439
+ /* eslint-disable max-statements */
2440
+ show(e, t) {
2441
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
2442
+ if (!t?._ripple?.enabled)
2443
+ return;
2444
+ const a = document.createElement("span"), i = document.createElement("span");
2445
+ a.appendChild(i), a.className = "v-ripple__container", n.class && (a.className += ` ${n.class}`);
2446
+ const {
2447
+ radius: r,
2448
+ scale: o,
2449
+ x: s,
2450
+ y: l,
2451
+ centerX: u,
2452
+ centerY: c
2453
+ } = Vr(e, t, n), f = `${r * 2}px`;
2454
+ i.className = "v-ripple__animation", i.style.width = f, i.style.height = f, t.appendChild(a);
2455
+ const d = window.getComputedStyle(t);
2456
+ d && d.position === "static" && (t.style.position = "relative", t.dataset.previousPosition = "static"), i.classList.add("v-ripple__animation--enter"), i.classList.add("v-ripple__animation--visible"), Mn(i, `translate(${s}, ${l}) scale3d(${o},${o},${o})`), i.dataset.activated = String(performance.now()), requestAnimationFrame(() => {
2457
+ requestAnimationFrame(() => {
2458
+ i.classList.remove("v-ripple__animation--enter"), i.classList.add("v-ripple__animation--in"), Mn(i, `translate(${u}, ${c}) scale3d(1,1,1)`);
2459
+ });
2460
+ });
2461
+ },
2462
+ hide(e) {
2463
+ if (!e?._ripple?.enabled) return;
2464
+ const t = e.getElementsByClassName("v-ripple__animation");
2465
+ if (t.length === 0) return;
2466
+ const n = Array.from(t).findLast((r) => !r.dataset.isHiding);
2467
+ if (n) n.dataset.isHiding = "true";
2468
+ else return;
2469
+ const a = performance.now() - Number(n.dataset.activated), i = Math.max(250 - a, 0);
2470
+ setTimeout(() => {
2471
+ n.classList.remove("v-ripple__animation--in"), n.classList.add("v-ripple__animation--out"), setTimeout(() => {
2472
+ e.getElementsByClassName("v-ripple__animation").length === 1 && e.dataset.previousPosition && (e.style.position = e.dataset.previousPosition, delete e.dataset.previousPosition), n.parentNode?.parentNode === e && e.removeChild(n.parentNode);
2473
+ }, 300);
2474
+ }, i);
2475
+ }
2476
+ };
2477
+ function Aa(e) {
2478
+ return typeof e > "u" || !!e;
2479
+ }
2480
+ function He(e) {
2481
+ const t = {}, n = e.currentTarget;
2482
+ if (!(!n?._ripple || n._ripple.touched || e[Mt])) {
2483
+ if (e[Mt] = !0, zt(e))
2484
+ n._ripple.touched = !0, n._ripple.isTouch = !0;
2485
+ else if (n._ripple.isTouch) return;
2486
+ if (t.center = n._ripple.centered || Va(e), n._ripple.class && (t.class = n._ripple.class), zt(e)) {
2487
+ if (n._ripple.showTimerCommit) return;
2488
+ n._ripple.showTimerCommit = () => {
2489
+ lt.show(e, n, t);
2490
+ }, n._ripple.showTimer = window.setTimeout(() => {
2491
+ n?._ripple?.showTimerCommit && (n._ripple.showTimerCommit(), n._ripple.showTimerCommit = null);
2492
+ }, Pr);
2493
+ } else
2494
+ lt.show(e, n, t);
2495
+ }
2496
+ }
2497
+ function ut(e) {
2498
+ e[Mt] = !0;
2499
+ }
2500
+ function te(e) {
2501
+ const t = e.currentTarget;
2502
+ if (t?._ripple) {
2503
+ if (window.clearTimeout(t._ripple.showTimer), e.type === "touchend" && t._ripple.showTimerCommit) {
2504
+ t._ripple.showTimerCommit(), t._ripple.showTimerCommit = null, t._ripple.showTimer = window.setTimeout(() => {
2505
+ te(e);
2506
+ });
2507
+ return;
2508
+ }
2509
+ window.setTimeout(() => {
2510
+ t._ripple && (t._ripple.touched = !1);
2511
+ }), lt.hide(t);
2512
+ }
2513
+ }
2514
+ function Ia(e) {
2515
+ const t = e.currentTarget;
2516
+ t?._ripple && (t._ripple.showTimerCommit && (t._ripple.showTimerCommit = null), window.clearTimeout(t._ripple.showTimer));
2517
+ }
2518
+ let qe = !1;
2519
+ function Ar(e, t) {
2520
+ !qe && t.includes(e.key) && (qe = !0, He(e));
2521
+ }
2522
+ function Oa(e) {
2523
+ qe = !1, te(e);
2524
+ }
2525
+ function Ta(e) {
2526
+ qe && (qe = !1, te(e));
2527
+ }
2528
+ function Ba(e, t, n) {
2529
+ const {
2530
+ value: a,
2531
+ modifiers: i
2532
+ } = t, r = Aa(a);
2533
+ r || lt.hide(e), e._ripple = e._ripple ?? {}, e._ripple.enabled = r, e._ripple.centered = i.center, e._ripple.circle = i.circle;
2534
+ const o = Bt(a) ? a : {};
2535
+ o.class && (e._ripple.class = o.class);
2536
+ const s = o.keys ?? ["Enter", "Space"];
2537
+ if (e._ripple.keyDownHandler = (l) => Ar(l, s), r && !n) {
2538
+ if (i.stop) {
2539
+ e.addEventListener("touchstart", ut, {
2540
+ passive: !0
2541
+ }), e.addEventListener("mousedown", ut);
2542
+ return;
2543
+ }
2544
+ e.addEventListener("touchstart", He, {
2545
+ passive: !0
2546
+ }), e.addEventListener("touchend", te, {
2547
+ passive: !0
2548
+ }), e.addEventListener("touchmove", Ia, {
2549
+ passive: !0
2550
+ }), e.addEventListener("touchcancel", te), e.addEventListener("mousedown", He), e.addEventListener("mouseup", te), e.addEventListener("mouseleave", te), e.addEventListener("keydown", e._ripple.keyDownHandler), e.addEventListener("keyup", Oa), e.addEventListener("blur", Ta), e.addEventListener("dragstart", te, {
2551
+ passive: !0
2552
+ });
2553
+ } else !r && n && La(e);
2554
+ }
2555
+ function La(e) {
2556
+ e.removeEventListener("touchstart", ut), e.removeEventListener("mousedown", ut), e.removeEventListener("touchstart", He), e.removeEventListener("touchend", te), e.removeEventListener("touchmove", Ia), e.removeEventListener("touchcancel", te), e.removeEventListener("mousedown", He), e.removeEventListener("mouseup", te), e.removeEventListener("mouseleave", te), e._ripple?.keyDownHandler && e.removeEventListener("keydown", e._ripple.keyDownHandler), e.removeEventListener("keyup", Oa), e.removeEventListener("blur", Ta), e.removeEventListener("dragstart", te);
2557
+ }
2558
+ function Ir(e, t) {
2559
+ Ba(e, t, !1);
2560
+ }
2561
+ function Or(e) {
2562
+ La(e), delete e._ripple;
2563
+ }
2564
+ function Tr(e, t) {
2565
+ if (t.value === t.oldValue)
2566
+ return;
2567
+ const n = Aa(t.oldValue);
2568
+ Ba(e, t, n);
2569
+ }
2570
+ const Dt = {
2571
+ mounted: Ir,
2572
+ unmounted: Or,
2573
+ updated: Tr
2574
+ }, Br = k({
2575
+ active: {
2576
+ type: Boolean,
2577
+ default: void 0
2578
+ },
2579
+ activeColor: String,
2580
+ baseColor: String,
2581
+ symbol: {
2582
+ type: null,
2583
+ default: wa
2584
+ },
2585
+ flat: Boolean,
2586
+ icon: [Boolean, String, Function, Object],
2587
+ prependIcon: le,
2588
+ appendIcon: le,
2589
+ block: Boolean,
2590
+ readonly: Boolean,
2591
+ slim: Boolean,
2592
+ stacked: Boolean,
2593
+ spaced: String,
2594
+ ripple: {
2595
+ type: [Boolean, Object],
2596
+ default: !0
2597
+ },
2598
+ text: {
2599
+ type: [String, Number, Boolean],
2600
+ default: void 0
2601
+ },
2602
+ ...gt(),
2603
+ ...Z(),
2604
+ ...Ue(),
2605
+ ...vt(),
2606
+ ...en(),
2607
+ ...ir(),
2608
+ ...Ca(),
2609
+ ...rn(),
2610
+ ...xa(),
2611
+ ...Le(),
2612
+ ...Pa(),
2613
+ ...wt(),
2614
+ ...re({
2615
+ tag: "button"
2616
+ }),
2617
+ ...ge(),
2618
+ ...bt({
2619
+ variant: "elevated"
2620
+ })
2621
+ }, "VBtn"), Lr = W()({
2622
+ name: "VBtn",
2623
+ props: Br(),
2624
+ emits: {
2625
+ "group:selected": (e) => !0
2626
+ },
2627
+ setup(e, t) {
2628
+ let {
2629
+ attrs: n,
2630
+ slots: a
2631
+ } = t;
2632
+ const {
2633
+ themeClasses: i
2634
+ } = Ce(e), {
2635
+ borderClasses: r
2636
+ } = ht(e), {
2637
+ densityClasses: o
2638
+ } = yt(e), {
2639
+ dimensionStyles: s
2640
+ } = mt(e), {
2641
+ elevationClasses: l
2642
+ } = tn(e), {
2643
+ loaderClasses: u
2644
+ } = ka(e), {
2645
+ locationStyles: c
2646
+ } = on(e), {
2647
+ positionClasses: f
2648
+ } = Ea(e), {
2649
+ roundedClasses: d
2650
+ } = Re(e), {
2651
+ sizeClasses: m,
2652
+ sizeStyles: v
2653
+ } = St(e), y = rr(e, e.symbol, !1), p = _a(e, n), g = S(() => e.active !== void 0 ? e.active : p.isRouterLink.value ? p.isActive?.value : y?.isSelected.value), w = x(() => g.value ? e.activeColor ?? e.color : e.color), _ = S(() => ({
2654
+ color: y?.isSelected.value && (!p.isLink.value || p.isActive?.value) || !y || p.isActive?.value ? w.value ?? e.baseColor : e.baseColor,
2655
+ variant: e.variant
2656
+ })), {
2657
+ colorClasses: E,
2658
+ colorStyles: V,
2659
+ variantClasses: $
2660
+ } = an(_), T = S(() => y?.disabled.value || e.disabled), h = x(() => e.variant === "elevated" && !(e.disabled || e.flat || e.border)), j = S(() => {
2661
+ if (!(e.value === void 0 || typeof e.value == "symbol"))
2662
+ return Object(e.value) === e.value ? JSON.stringify(e.value, null, 0) : e.value;
2663
+ });
2664
+ function K(R) {
2665
+ T.value || p.isLink.value && (R.metaKey || R.ctrlKey || R.shiftKey || R.button !== 0 || n.target === "_blank") || (p.isRouterLink.value ? p.navigate?.(R) : y?.toggle());
2666
+ }
2667
+ return _r(p, y?.select), X(() => {
2668
+ const R = p.isLink.value ? "a" : e.tag, O = !!(e.prependIcon || a.prepend), A = !!(e.appendIcon || a.append), N = !!(e.icon && e.icon !== !0);
2669
+ return We(b(R, q(p.linkProps, {
2670
+ type: R === "a" ? void 0 : "button",
2671
+ class: ["v-btn", y?.selectedClass.value, {
2672
+ "v-btn--active": g.value,
2673
+ "v-btn--block": e.block,
2674
+ "v-btn--disabled": T.value,
2675
+ "v-btn--elevated": h.value,
2676
+ "v-btn--flat": e.flat,
2677
+ "v-btn--icon": !!e.icon,
2678
+ "v-btn--loading": e.loading,
2679
+ "v-btn--readonly": e.readonly,
2680
+ "v-btn--slim": e.slim,
2681
+ "v-btn--stacked": e.stacked
2682
+ }, e.spaced ? ["v-btn--spaced", `v-btn--spaced-${e.spaced}`] : [], i.value, r.value, E.value, o.value, l.value, u.value, f.value, d.value, m.value, $.value, e.class],
2683
+ style: [V.value, s.value, c.value, v.value, e.style],
2684
+ "aria-busy": e.loading ? !0 : void 0,
2685
+ disabled: T.value && R !== "a" || void 0,
2686
+ tabindex: e.loading || e.readonly ? -1 : void 0,
2687
+ onClick: K,
2688
+ value: j.value
2689
+ }), {
2690
+ default: () => [nn(!0, "v-btn"), !e.icon && O && C("span", {
2691
+ key: "prepend",
2692
+ class: "v-btn__prepend"
2693
+ }, [a.prepend ? b(ce, {
2694
+ key: "prepend-defaults",
2695
+ disabled: !e.prependIcon,
2696
+ defaults: {
2697
+ VIcon: {
2698
+ icon: e.prependIcon
2699
+ }
2700
+ }
2701
+ }, a.prepend) : b(de, {
2702
+ key: "prepend-icon",
2703
+ icon: e.prependIcon
2704
+ }, null)]), C("span", {
2705
+ class: "v-btn__content",
2706
+ "data-no-activator": ""
2707
+ }, [!a.default && N ? b(de, {
2708
+ key: "content-icon",
2709
+ icon: e.icon
2710
+ }, null) : b(ce, {
2711
+ key: "content-defaults",
2712
+ disabled: !N,
2713
+ defaults: {
2714
+ VIcon: {
2715
+ icon: e.icon
2716
+ }
2717
+ }
2718
+ }, {
2719
+ default: () => [a.default?.() ?? nt(e.text)]
2720
+ })]), !e.icon && A && C("span", {
2721
+ key: "append",
2722
+ class: "v-btn__append"
2723
+ }, [a.append ? b(ce, {
2724
+ key: "append-defaults",
2725
+ disabled: !e.appendIcon,
2726
+ defaults: {
2727
+ VIcon: {
2728
+ icon: e.appendIcon
2729
+ }
2730
+ }
2731
+ }, a.append) : b(de, {
2732
+ key: "append-icon",
2733
+ icon: e.appendIcon
2734
+ }, null)]), !!e.loading && C("span", {
2735
+ key: "loader",
2736
+ class: "v-btn__loader"
2737
+ }, [a.loader?.() ?? b(hr, {
2738
+ color: typeof e.loading == "boolean" ? void 0 : e.loading,
2739
+ indeterminate: !0,
2740
+ width: "2"
2741
+ }, null)])]
2742
+ }), [[Dt, !T.value && e.ripple, "", {
2743
+ center: !!e.icon
2744
+ }]]);
2745
+ }), {
2746
+ group: y
2747
+ };
2748
+ }
2749
+ }), Rr = k({
2750
+ start: Boolean,
2751
+ end: Boolean,
2752
+ icon: le,
2753
+ image: String,
2754
+ text: String,
2755
+ ...gt(),
2756
+ ...Z(),
2757
+ ...Ue(),
2758
+ ...Le(),
2759
+ ...wt(),
2760
+ ...re(),
2761
+ ...ge(),
2762
+ ...bt({
2763
+ variant: "flat"
2764
+ })
2765
+ }, "VAvatar"), zn = W()({
2766
+ name: "VAvatar",
2767
+ props: Rr(),
2768
+ setup(e, t) {
2769
+ let {
2770
+ slots: n
2771
+ } = t;
2772
+ const {
2773
+ themeClasses: a
2774
+ } = Ce(e), {
2775
+ borderClasses: i
2776
+ } = ht(e), {
2777
+ colorClasses: r,
2778
+ colorStyles: o,
2779
+ variantClasses: s
2780
+ } = an(e), {
2781
+ densityClasses: l
2782
+ } = yt(e), {
2783
+ roundedClasses: u
2784
+ } = Re(e), {
2785
+ sizeClasses: c,
2786
+ sizeStyles: f
2787
+ } = St(e);
2788
+ return X(() => b(e.tag, {
2789
+ class: F(["v-avatar", {
2790
+ "v-avatar--start": e.start,
2791
+ "v-avatar--end": e.end
2792
+ }, a.value, i.value, r.value, l.value, u.value, c.value, s.value, e.class]),
2793
+ style: U([o.value, f.value, e.style])
2794
+ }, {
2795
+ default: () => [n.default ? b(ce, {
2796
+ key: "content-defaults",
2797
+ defaults: {
2798
+ VImg: {
2799
+ cover: !0,
2800
+ src: e.image
2801
+ },
2802
+ VIcon: {
2803
+ icon: e.icon
2804
+ }
2805
+ }
2806
+ }, {
2807
+ default: () => [n.default()]
2808
+ }) : e.image ? b(ya, {
2809
+ key: "image",
2810
+ src: e.image,
2811
+ alt: "",
2812
+ cover: !0
2813
+ }, null) : e.icon ? b(de, {
2814
+ key: "icon",
2815
+ icon: e.icon
2816
+ }, null) : e.text, nn(!1, "v-avatar")]
2817
+ })), {};
2818
+ }
2819
+ }), Pt = /* @__PURE__ */ Symbol("Forwarded refs");
2820
+ function Vt(e, t) {
2821
+ let n = e;
2822
+ for (; n; ) {
2823
+ const a = Reflect.getOwnPropertyDescriptor(n, t);
2824
+ if (a) return a;
2825
+ n = Object.getPrototypeOf(n);
2826
+ }
2827
+ }
2828
+ function Nr(e) {
2829
+ for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++)
2830
+ n[a - 1] = arguments[a];
2831
+ return e[Pt] = n, new Proxy(e, {
2832
+ get(i, r) {
2833
+ if (Reflect.has(i, r))
2834
+ return Reflect.get(i, r);
2835
+ if (!(typeof r == "symbol" || r.startsWith("$") || r.startsWith("__"))) {
2836
+ for (const o of n)
2837
+ if (o.value && Reflect.has(o.value, r)) {
2838
+ const s = Reflect.get(o.value, r);
2839
+ return typeof s == "function" ? s.bind(o.value) : s;
2840
+ }
2841
+ }
2842
+ },
2843
+ has(i, r) {
2844
+ if (Reflect.has(i, r))
2845
+ return !0;
2846
+ if (typeof r == "symbol" || r.startsWith("$") || r.startsWith("__")) return !1;
2847
+ for (const o of n)
2848
+ if (o.value && Reflect.has(o.value, r))
2849
+ return !0;
2850
+ return !1;
2851
+ },
2852
+ set(i, r, o) {
2853
+ if (Reflect.has(i, r))
2854
+ return Reflect.set(i, r, o);
2855
+ if (typeof r == "symbol" || r.startsWith("$") || r.startsWith("__")) return !1;
2856
+ for (const s of n)
2857
+ if (s.value && Reflect.has(s.value, r))
2858
+ return Reflect.set(s.value, r, o);
2859
+ return !1;
2860
+ },
2861
+ getOwnPropertyDescriptor(i, r) {
2862
+ const o = Reflect.getOwnPropertyDescriptor(i, r);
2863
+ if (o) return o;
2864
+ if (!(typeof r == "symbol" || r.startsWith("$") || r.startsWith("__"))) {
2865
+ for (const s of n) {
2866
+ if (!s.value) continue;
2867
+ const l = Vt(s.value, r) ?? ("_" in s.value ? Vt(s.value._?.setupState, r) : void 0);
2868
+ if (l) return l;
2869
+ }
2870
+ for (const s of n) {
2871
+ const l = s.value && s.value[Pt];
2872
+ if (!l) continue;
2873
+ const u = l.slice();
2874
+ for (; u.length; ) {
2875
+ const c = u.shift(), f = Vt(c.value, r);
2876
+ if (f) return f;
2877
+ const d = c.value && c.value[Pt];
2878
+ d && u.push(...d);
2879
+ }
2880
+ }
2881
+ }
2882
+ }
2883
+ });
2884
+ }
2885
+ const Fr = /* @__PURE__ */ Symbol.for("vuetify:display");
2886
+ function $r() {
2887
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
2888
+ mobile: null
2889
+ }, t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : me();
2890
+ const n = ue(Fr);
2891
+ if (!n) throw new Error("Could not find Vuetify display injection");
2892
+ const a = S(() => e.mobile ? !0 : typeof e.mobileBreakpoint == "number" ? n.width.value < e.mobileBreakpoint : e.mobileBreakpoint ? n.width.value < n.thresholds.value[e.mobileBreakpoint] : e.mobile === null ? n.mobile.value : !1), i = x(() => t ? {
2893
+ [`${t}--mobile`]: a.value
2894
+ } : {});
2895
+ return {
2896
+ ...n,
2897
+ displayClasses: i,
2898
+ mobile: a
2899
+ };
2900
+ }
2901
+ function At(e, t) {
2902
+ return {
2903
+ x: e.x + t.x,
2904
+ y: e.y + t.y
2905
+ };
2906
+ }
2907
+ function Mr(e, t) {
2908
+ return {
2909
+ x: e.x - t.x,
2910
+ y: e.y - t.y
2911
+ };
2912
+ }
2913
+ function Dn(e, t) {
2914
+ if (e.side === "top" || e.side === "bottom") {
2915
+ const {
2916
+ side: n,
2917
+ align: a
2918
+ } = e, i = a === "left" ? 0 : a === "center" ? t.width / 2 : a === "right" ? t.width : a, r = n === "top" ? 0 : n === "bottom" ? t.height : n;
2919
+ return At({
2920
+ x: i,
2921
+ y: r
2922
+ }, t);
2923
+ } else if (e.side === "left" || e.side === "right") {
2924
+ const {
2925
+ side: n,
2926
+ align: a
2927
+ } = e, i = n === "left" ? 0 : n === "right" ? t.width : n, r = a === "top" ? 0 : a === "center" ? t.height / 2 : a === "bottom" ? t.height : a;
2928
+ return At({
2929
+ x: i,
2930
+ y: r
2931
+ }, t);
2932
+ }
2933
+ return At({
2934
+ x: t.width / 2,
2935
+ y: t.height / 2
2936
+ }, t);
2937
+ }
2938
+ const Ra = {
2939
+ static: Wr,
2940
+ // specific viewport position, usually centered
2941
+ connected: Hr
2942
+ // connected to a certain element
2943
+ }, zr = k({
2944
+ locationStrategy: {
2945
+ type: [String, Function],
2946
+ default: "static",
2947
+ validator: (e) => typeof e == "function" || e in Ra
2948
+ },
2949
+ location: {
2950
+ type: String,
2951
+ default: "bottom"
2952
+ },
2953
+ origin: {
2954
+ type: String,
2955
+ default: "auto"
2956
+ },
2957
+ offset: [Number, String, Array],
2958
+ stickToTarget: Boolean,
2959
+ viewportMargin: {
2960
+ type: [Number, String],
2961
+ default: 12
2962
+ }
2963
+ }, "VOverlay-location-strategies");
2964
+ function Dr(e, t) {
2965
+ const n = D({}), a = D();
2966
+ Q && Ge(() => !!(t.isActive.value && e.locationStrategy), (s) => {
2967
+ B(() => e.locationStrategy, s), ne(() => {
2968
+ window.removeEventListener("resize", i), visualViewport?.removeEventListener("resize", r), visualViewport?.removeEventListener("scroll", o), a.value = void 0;
2969
+ }), window.addEventListener("resize", i, {
2970
+ passive: !0
2971
+ }), visualViewport?.addEventListener("resize", r, {
2972
+ passive: !0
2973
+ }), visualViewport?.addEventListener("scroll", o, {
2974
+ passive: !0
2975
+ }), typeof e.locationStrategy == "function" ? a.value = e.locationStrategy(t, e, n)?.updateLocation : a.value = Ra[e.locationStrategy](t, e, n)?.updateLocation;
2976
+ });
2977
+ function i(s) {
2978
+ a.value?.(s);
2979
+ }
2980
+ function r(s) {
2981
+ a.value?.(s);
2982
+ }
2983
+ function o(s) {
2984
+ a.value?.(s);
2985
+ }
2986
+ return {
2987
+ contentStyles: n,
2988
+ updateLocation: a
2989
+ };
2990
+ }
2991
+ function Wr() {
2992
+ }
2993
+ function jr(e, t) {
2994
+ const n = ca(e);
2995
+ return t ? n.x += parseFloat(e.style.right || 0) : n.x -= parseFloat(e.style.left || 0), n.y -= parseFloat(e.style.top || 0), n;
2996
+ }
2997
+ function Hr(e, t, n) {
2998
+ (Array.isArray(e.target.value) || qi(e.target.value)) && Object.assign(n.value, {
2999
+ position: "fixed",
3000
+ top: 0,
3001
+ [e.isRtl.value ? "right" : "left"]: 0
3002
+ });
3003
+ const {
3004
+ preferredAnchor: i,
3005
+ preferredOrigin: r
3006
+ } = Yt(() => {
3007
+ const g = Rt(t.location, e.isRtl.value), w = t.origin === "overlap" ? g : t.origin === "auto" ? kt(g) : Rt(t.origin, e.isRtl.value);
3008
+ return g.side === w.side && g.align === xt(w).align ? {
3009
+ preferredAnchor: yn(g),
3010
+ preferredOrigin: yn(w)
3011
+ } : {
3012
+ preferredAnchor: g,
3013
+ preferredOrigin: w
3014
+ };
3015
+ }), [o, s, l, u] = ["minWidth", "minHeight", "maxWidth", "maxHeight"].map((g) => S(() => {
3016
+ const w = parseFloat(t[g]);
3017
+ return isNaN(w) ? 1 / 0 : w;
3018
+ })), c = S(() => {
3019
+ if (Array.isArray(t.offset))
3020
+ return t.offset;
3021
+ if (typeof t.offset == "string") {
3022
+ const g = t.offset.split(" ").map(parseFloat);
3023
+ return g.length < 2 && g.push(0), g;
3024
+ }
3025
+ return typeof t.offset == "number" ? [t.offset, 0] : [0, 0];
3026
+ });
3027
+ let f = !1, d = -1;
3028
+ const m = new yi(4), v = new ResizeObserver(() => {
3029
+ if (!f) return;
3030
+ if (requestAnimationFrame((w) => {
3031
+ w !== d && m.clear(), requestAnimationFrame((_) => {
3032
+ d = _;
3033
+ });
3034
+ }), m.isFull) {
3035
+ const w = m.values();
3036
+ if (Ae(w.at(-1), w.at(-3)) && !Ae(w.at(-1), w.at(-2)))
3037
+ return;
3038
+ }
3039
+ const g = p();
3040
+ g && m.push(g.flipped);
3041
+ });
3042
+ let y = new ae({
3043
+ x: 0,
3044
+ y: 0,
3045
+ width: 0,
3046
+ height: 0
3047
+ });
3048
+ B(e.target, (g, w) => {
3049
+ w && !Array.isArray(w) && v.unobserve(w), Array.isArray(g) ? Ae(g, w) || p() : g && v.observe(g);
3050
+ }, {
3051
+ immediate: !0
3052
+ }), B(e.contentEl, (g, w) => {
3053
+ w && v.unobserve(w), g && v.observe(g);
3054
+ }, {
3055
+ immediate: !0
3056
+ }), ne(() => {
3057
+ v.disconnect();
3058
+ });
3059
+ function p() {
3060
+ if (f = !1, requestAnimationFrame(() => f = !0), !e.target.value || !e.contentEl.value) return;
3061
+ (Array.isArray(e.target.value) || e.target.value.offsetParent || e.target.value.getClientRects().length) && (y = ua(e.target.value));
3062
+ const g = jr(e.contentEl.value, e.isRtl.value), w = ot(e.contentEl.value), _ = Number(t.viewportMargin);
3063
+ w.length || (w.push(document.documentElement), e.contentEl.value.style.top && e.contentEl.value.style.left || (g.x -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x") || 0), g.y -= parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y") || 0)));
3064
+ const E = w.reduce((A, N) => {
3065
+ const P = Ci(N);
3066
+ return A ? new ae({
3067
+ x: Math.max(A.left, P.left),
3068
+ y: Math.max(A.top, P.top),
3069
+ width: Math.min(A.right, P.right) - Math.max(A.left, P.left),
3070
+ height: Math.min(A.bottom, P.bottom) - Math.max(A.top, P.top)
3071
+ }) : P;
3072
+ }, void 0);
3073
+ t.stickToTarget ? (E.x += Math.min(_, y.x), E.y += Math.min(_, y.y), E.width = Math.max(E.width - _ * 2, y.x + y.width - _), E.height = Math.max(E.height - _ * 2, y.y + y.height - _)) : (E.x += _, E.y += _, E.width -= _ * 2, E.height -= _ * 2);
3074
+ let V = {
3075
+ anchor: i.value,
3076
+ origin: r.value
3077
+ };
3078
+ function $(A) {
3079
+ const N = new ae(g), P = Dn(A.anchor, y), M = Dn(A.origin, N);
3080
+ let {
3081
+ x: H,
3082
+ y: J
3083
+ } = Mr(P, M);
3084
+ switch (A.anchor.side) {
3085
+ case "top":
3086
+ J -= c.value[0];
3087
+ break;
3088
+ case "bottom":
3089
+ J += c.value[0];
3090
+ break;
3091
+ case "left":
3092
+ H -= c.value[0];
3093
+ break;
3094
+ case "right":
3095
+ H += c.value[0];
3096
+ break;
3097
+ }
3098
+ switch (A.anchor.align) {
3099
+ case "top":
3100
+ J -= c.value[1];
3101
+ break;
3102
+ case "bottom":
3103
+ J += c.value[1];
3104
+ break;
3105
+ case "left":
3106
+ H -= c.value[1];
3107
+ break;
3108
+ case "right":
3109
+ H += c.value[1];
3110
+ break;
3111
+ }
3112
+ return N.x += H, N.y += J, N.width = Math.min(N.width, l.value), N.height = Math.min(N.height, u.value), {
3113
+ overflows: pn(N, E),
3114
+ x: H,
3115
+ y: J
3116
+ };
3117
+ }
3118
+ let T = 0, h = 0;
3119
+ const j = {
3120
+ x: 0,
3121
+ y: 0
3122
+ }, K = {
3123
+ x: !1,
3124
+ y: !1
3125
+ };
3126
+ let R = -1;
3127
+ for (; ; ) {
3128
+ if (R++ > 10) {
3129
+ na("Infinite loop detected in connectedLocationStrategy");
3130
+ break;
3131
+ }
3132
+ const {
3133
+ x: A,
3134
+ y: N,
3135
+ overflows: P
3136
+ } = $(V);
3137
+ T += A, h += N, g.x += A, g.y += N;
3138
+ {
3139
+ const M = bn(V.anchor), H = P.x.before || P.x.after, J = P.y.before || P.y.after;
3140
+ let he = !1;
3141
+ if (["x", "y"].forEach((z) => {
3142
+ if (z === "x" && H && !K.x || z === "y" && J && !K.y) {
3143
+ const oe = {
3144
+ anchor: {
3145
+ ...V.anchor
3146
+ },
3147
+ origin: {
3148
+ ...V.origin
3149
+ }
3150
+ }, Ye = z === "x" ? M === "y" ? xt : kt : M === "y" ? kt : xt;
3151
+ oe.anchor = Ye(oe.anchor), oe.origin = Ye(oe.origin);
3152
+ const {
3153
+ overflows: ye
3154
+ } = $(oe);
3155
+ (ye[z].before <= P[z].before && ye[z].after <= P[z].after || ye[z].before + ye[z].after < (P[z].before + P[z].after) / 2) && (V = oe, he = K[z] = !0);
3156
+ }
3157
+ }), he) continue;
3158
+ }
3159
+ P.x.before && (T += P.x.before, g.x += P.x.before), P.x.after && (T -= P.x.after, g.x -= P.x.after), P.y.before && (h += P.y.before, g.y += P.y.before), P.y.after && (h -= P.y.after, g.y -= P.y.after);
3160
+ {
3161
+ const M = pn(g, E);
3162
+ j.x = E.width - M.x.before - M.x.after, j.y = E.height - M.y.before - M.y.after, T += M.x.before, g.x += M.x.before, h += M.y.before, g.y += M.y.before;
3163
+ }
3164
+ break;
3165
+ }
3166
+ const O = bn(V.anchor);
3167
+ return Object.assign(n.value, {
3168
+ "--v-overlay-anchor-origin": `${V.anchor.side} ${V.anchor.align}`,
3169
+ transformOrigin: `${V.origin.side} ${V.origin.align}`,
3170
+ // transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,
3171
+ top: I(It(h)),
3172
+ left: e.isRtl.value ? void 0 : I(It(T)),
3173
+ right: e.isRtl.value ? I(It(-T)) : void 0,
3174
+ minWidth: I(O === "y" ? Math.min(o.value, y.width) : o.value),
3175
+ maxWidth: I(Wn(Oe(j.x, o.value === 1 / 0 ? 0 : o.value, l.value))),
3176
+ maxHeight: I(Wn(Oe(j.y, s.value === 1 / 0 ? 0 : s.value, u.value)))
3177
+ }), {
3178
+ available: j,
3179
+ contentBox: g,
3180
+ flipped: K
3181
+ };
3182
+ }
3183
+ return B(() => [i.value, r.value, t.offset, t.minWidth, t.minHeight, t.maxWidth, t.maxHeight], () => p()), ve(() => {
3184
+ const g = p();
3185
+ if (!g) return;
3186
+ const {
3187
+ available: w,
3188
+ contentBox: _
3189
+ } = g;
3190
+ _.height > w.y && requestAnimationFrame(() => {
3191
+ p(), requestAnimationFrame(() => {
3192
+ p();
3193
+ });
3194
+ });
3195
+ }), {
3196
+ updateLocation: p
3197
+ };
3198
+ }
3199
+ function It(e) {
3200
+ return Math.round(e * devicePixelRatio) / devicePixelRatio;
3201
+ }
3202
+ function Wn(e) {
3203
+ return Math.ceil(e * devicePixelRatio) / devicePixelRatio;
3204
+ }
3205
+ let Wt = !0;
3206
+ const ct = [];
3207
+ function qr(e) {
3208
+ !Wt || ct.length ? (ct.push(e), jt()) : (Wt = !1, e(), jt());
3209
+ }
3210
+ let jn = -1;
3211
+ function jt() {
3212
+ cancelAnimationFrame(jn), jn = requestAnimationFrame(() => {
3213
+ const e = ct.shift();
3214
+ e && e(), ct.length ? jt() : Wt = !0;
3215
+ });
3216
+ }
3217
+ const Na = {
3218
+ none: null,
3219
+ close: Yr,
3220
+ block: Xr,
3221
+ reposition: Kr
3222
+ }, Gr = k({
3223
+ scrollStrategy: {
3224
+ type: [String, Function],
3225
+ default: "block",
3226
+ validator: (e) => typeof e == "function" || e in Na
3227
+ }
3228
+ }, "VOverlay-scroll-strategies");
3229
+ function Ur(e, t) {
3230
+ if (!Q) return;
3231
+ let n;
3232
+ fe(async () => {
3233
+ n?.stop(), t.isActive.value && e.scrollStrategy && (n = qt(), await new Promise((a) => setTimeout(a)), n.active && n.run(() => {
3234
+ typeof e.scrollStrategy == "function" ? e.scrollStrategy(t, e, n) : Na[e.scrollStrategy]?.(t, e, n);
3235
+ }));
3236
+ }), ne(() => {
3237
+ n?.stop();
3238
+ });
3239
+ }
3240
+ function Yr(e) {
3241
+ function t(n) {
3242
+ e.isActive.value = !1;
3243
+ }
3244
+ Fa(sn(e.target.value, e.contentEl.value), t);
3245
+ }
3246
+ function Xr(e, t) {
3247
+ const n = e.root.value?.offsetParent, a = sn(e.target.value, e.contentEl.value), i = [.../* @__PURE__ */ new Set([...ot(a, t.contained ? n : void 0), ...ot(e.contentEl.value, t.contained ? n : void 0)])].filter((s) => !s.classList.contains("v-overlay-scroll-blocked")), r = window.innerWidth - document.documentElement.offsetWidth, o = ((s) => Zt(s) && s)(n || document.documentElement);
3248
+ o && e.root.value.classList.add("v-overlay--scroll-blocked"), i.forEach((s, l) => {
3249
+ s.style.setProperty("--v-body-scroll-x", I(-s.scrollLeft)), s.style.setProperty("--v-body-scroll-y", I(-s.scrollTop)), s !== document.documentElement && s.style.setProperty("--v-scrollbar-offset", I(r)), s.classList.add("v-overlay-scroll-blocked");
3250
+ }), ne(() => {
3251
+ i.forEach((s, l) => {
3252
+ const u = parseFloat(s.style.getPropertyValue("--v-body-scroll-x")), c = parseFloat(s.style.getPropertyValue("--v-body-scroll-y")), f = s.style.scrollBehavior;
3253
+ s.style.scrollBehavior = "auto", s.style.removeProperty("--v-body-scroll-x"), s.style.removeProperty("--v-body-scroll-y"), s.style.removeProperty("--v-scrollbar-offset"), s.classList.remove("v-overlay-scroll-blocked"), s.scrollLeft = -u, s.scrollTop = -c, s.style.scrollBehavior = f;
3254
+ }), o && e.root.value.classList.remove("v-overlay--scroll-blocked");
3255
+ });
3256
+ }
3257
+ function Kr(e, t, n) {
3258
+ let a = !1, i = -1, r = -1;
3259
+ function o(s) {
3260
+ qr(() => {
3261
+ const l = performance.now();
3262
+ e.updateLocation.value?.(s), a = (performance.now() - l) / (1e3 / 60) > 2;
3263
+ });
3264
+ }
3265
+ r = (typeof requestIdleCallback > "u" ? (s) => s() : requestIdleCallback)(() => {
3266
+ n.run(() => {
3267
+ Fa(sn(e.target.value, e.contentEl.value), (s) => {
3268
+ a ? (cancelAnimationFrame(i), i = requestAnimationFrame(() => {
3269
+ i = requestAnimationFrame(() => {
3270
+ o(s);
3271
+ });
3272
+ })) : o(s);
3273
+ });
3274
+ });
3275
+ }), ne(() => {
3276
+ typeof cancelIdleCallback < "u" && cancelIdleCallback(r), cancelAnimationFrame(i);
3277
+ });
3278
+ }
3279
+ function sn(e, t) {
3280
+ return Array.isArray(e) ? document.elementsFromPoint(...e).find((n) => !t?.contains(n)) : e ?? t;
3281
+ }
3282
+ function Fa(e, t) {
3283
+ const n = [document, ...ot(e)];
3284
+ n.forEach((a) => {
3285
+ a.addEventListener("scroll", t, {
3286
+ passive: !0
3287
+ });
3288
+ }), ne(() => {
3289
+ n.forEach((a) => {
3290
+ a.removeEventListener("scroll", t);
3291
+ });
3292
+ });
3293
+ }
3294
+ const Zr = /* @__PURE__ */ Symbol.for("vuetify:v-menu"), Jr = k({
3295
+ closeDelay: [Number, String],
3296
+ openDelay: [Number, String]
3297
+ }, "delay");
3298
+ function Qr(e, t) {
3299
+ let n = () => {
3300
+ };
3301
+ function a(o, s) {
3302
+ n?.();
3303
+ const l = o ? e.openDelay : e.closeDelay, u = Math.max(s?.minDelay ?? 0, Number(l ?? 0));
3304
+ return new Promise((c) => {
3305
+ n = pi(u, () => {
3306
+ t?.(o), c(o);
3307
+ });
3308
+ });
3309
+ }
3310
+ function i() {
3311
+ return a(!0);
3312
+ }
3313
+ function r(o) {
3314
+ return a(!1, o);
3315
+ }
3316
+ return {
3317
+ clearDelay: n,
3318
+ runOpenDelay: i,
3319
+ runCloseDelay: r
3320
+ };
3321
+ }
3322
+ const eo = k({
3323
+ target: [String, Object],
3324
+ activator: [String, Object],
3325
+ activatorProps: {
3326
+ type: Object,
3327
+ default: () => ({})
3328
+ },
3329
+ openOnClick: {
3330
+ type: Boolean,
3331
+ default: void 0
3332
+ },
3333
+ openOnHover: Boolean,
3334
+ openOnFocus: {
3335
+ type: Boolean,
3336
+ default: void 0
3337
+ },
3338
+ closeOnContentClick: Boolean,
3339
+ ...Jr()
3340
+ }, "VOverlay-activator");
3341
+ function to(e, t) {
3342
+ let {
3343
+ isActive: n,
3344
+ isTop: a,
3345
+ contentEl: i
3346
+ } = t;
3347
+ const r = Y("useActivator"), o = D();
3348
+ let s = !1, l = !1, u = !0;
3349
+ const c = S(() => e.openOnFocus || e.openOnFocus == null && e.openOnHover), f = S(() => e.openOnClick || e.openOnClick == null && !e.openOnHover && !c.value), {
3350
+ runOpenDelay: d,
3351
+ runCloseDelay: m
3352
+ } = Qr(e, (h) => {
3353
+ h === (e.openOnHover && s || c.value && l) && !(e.openOnHover && n.value && !a.value) && (n.value !== h && (u = !0), n.value = h);
3354
+ }), v = D(), y = {
3355
+ onClick: (h) => {
3356
+ h.stopPropagation(), o.value = h.currentTarget || h.target, n.value || (v.value = [h.clientX, h.clientY]), n.value = !n.value;
3357
+ },
3358
+ onMouseenter: (h) => {
3359
+ s = !0, o.value = h.currentTarget || h.target, d();
3360
+ },
3361
+ onMouseleave: (h) => {
3362
+ s = !1, m();
3363
+ },
3364
+ onFocus: (h) => {
3365
+ bi(h.target, ":focus-visible") !== !1 && (l = !0, h.stopPropagation(), o.value = h.currentTarget || h.target, d());
3366
+ },
3367
+ onBlur: (h) => {
3368
+ l = !1, h.stopPropagation(), m({
3369
+ minDelay: 1
3370
+ });
3371
+ }
3372
+ }, p = S(() => {
3373
+ const h = {};
3374
+ return f.value && (h.onClick = y.onClick), e.openOnHover && (h.onMouseenter = y.onMouseenter, h.onMouseleave = y.onMouseleave), c.value && (h.onFocus = y.onFocus, h.onBlur = y.onBlur), h;
3375
+ }), g = S(() => {
3376
+ const h = {};
3377
+ if (e.openOnHover && (h.onMouseenter = () => {
3378
+ s = !0, d();
3379
+ }, h.onMouseleave = () => {
3380
+ s = !1, m();
3381
+ }), c.value && (h.onFocusin = (j) => {
3382
+ j.target.matches(":focus-visible") && (l = !0, d());
3383
+ }, h.onFocusout = () => {
3384
+ l = !1, m({
3385
+ minDelay: 1
3386
+ });
3387
+ }), e.closeOnContentClick) {
3388
+ const j = ue(Zr, null);
3389
+ h.onClick = () => {
3390
+ n.value = !1, j?.closeParents();
3391
+ };
3392
+ }
3393
+ return h;
3394
+ }), w = S(() => {
3395
+ const h = {};
3396
+ return e.openOnHover && (h.onMouseenter = () => {
3397
+ u && (s = !0, u = !1, d());
3398
+ }, h.onMouseleave = () => {
3399
+ s = !1, m();
3400
+ }), h;
3401
+ });
3402
+ B(a, (h) => {
3403
+ h && (e.openOnHover && !s && (!c.value || !l) || c.value && !l && (!e.openOnHover || !s)) && !i.value?.contains(document.activeElement) && (n.value = !1);
3404
+ }), B(n, (h) => {
3405
+ h || setTimeout(() => {
3406
+ v.value = void 0;
3407
+ });
3408
+ }, {
3409
+ flush: "post"
3410
+ });
3411
+ const _ = Lt();
3412
+ fe(() => {
3413
+ _.value && ve(() => {
3414
+ o.value = _.el;
3415
+ });
3416
+ });
3417
+ const E = Lt(), V = S(() => e.target === "cursor" && v.value ? v.value : E.value ? E.el : $a(e.target, r) || o.value), $ = S(() => Array.isArray(V.value) ? void 0 : V.value);
3418
+ let T;
3419
+ return B(() => !!e.activator, (h) => {
3420
+ h && Q ? (T = qt(), T.run(() => {
3421
+ no(e, r, {
3422
+ activatorEl: o,
3423
+ activatorEvents: p
3424
+ });
3425
+ })) : T && T.stop();
3426
+ }, {
3427
+ flush: "post",
3428
+ immediate: !0
3429
+ }), ne(() => {
3430
+ T?.stop();
3431
+ }), {
3432
+ activatorEl: o,
3433
+ activatorRef: _,
3434
+ target: V,
3435
+ targetEl: $,
3436
+ targetRef: E,
3437
+ activatorEvents: p,
3438
+ contentEvents: g,
3439
+ scrimEvents: w
3440
+ };
3441
+ }
3442
+ function no(e, t, n) {
3443
+ let {
3444
+ activatorEl: a,
3445
+ activatorEvents: i
3446
+ } = n;
3447
+ B(() => e.activator, (l, u) => {
3448
+ if (u && l !== u) {
3449
+ const c = s(u);
3450
+ c && o(c);
3451
+ }
3452
+ l && ve(() => r());
3453
+ }, {
3454
+ immediate: !0
3455
+ }), B(() => e.activatorProps, () => {
3456
+ r();
3457
+ }), ne(() => {
3458
+ o();
3459
+ });
3460
+ function r() {
3461
+ let l = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : s(), u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.activatorProps;
3462
+ l && ki(l, q(i.value, u));
3463
+ }
3464
+ function o() {
3465
+ let l = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : s(), u = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.activatorProps;
3466
+ l && xi(l, q(i.value, u));
3467
+ }
3468
+ function s() {
3469
+ let l = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : e.activator;
3470
+ const u = $a(l, t);
3471
+ return a.value = u?.nodeType === Node.ELEMENT_NODE ? u : void 0, a.value;
3472
+ }
3473
+ }
3474
+ function $a(e, t) {
3475
+ if (!e) return;
3476
+ let n;
3477
+ if (e === "parent") {
3478
+ let a = t?.proxy?.$el?.parentNode;
3479
+ for (; a?.hasAttribute("data-no-activator"); )
3480
+ a = a.parentNode;
3481
+ n = a;
3482
+ } else typeof e == "string" ? n = document.querySelector(e) : "$el" in e ? n = e.$el : n = e;
3483
+ return n;
3484
+ }
3485
+ const ao = k({
3486
+ retainFocus: Boolean,
3487
+ captureFocus: Boolean,
3488
+ /** @deprecated */
3489
+ disableInitialFocus: Boolean
3490
+ }, "focusTrap"), tt = /* @__PURE__ */ new Map();
3491
+ let Hn = 0;
3492
+ function qn(e) {
3493
+ const t = document.activeElement;
3494
+ if (e.key !== "Tab" || !t) return;
3495
+ const n = Array.from(tt.values()).filter((u) => {
3496
+ let {
3497
+ isActive: c,
3498
+ contentEl: f
3499
+ } = u;
3500
+ return c.value && f.value?.contains(t);
3501
+ }).map((u) => u.contentEl.value);
3502
+ let a, i = t.parentElement;
3503
+ for (; i; ) {
3504
+ if (n.includes(i)) {
3505
+ a = i;
3506
+ break;
3507
+ }
3508
+ i = i.parentElement;
3509
+ }
3510
+ if (!a) return;
3511
+ const r = Qe(a).filter((u) => u.tabIndex >= 0);
3512
+ if (!r.length) return;
3513
+ const o = document.activeElement;
3514
+ if (r.length === 1 && r[0].classList.contains("v-list") && r[0].contains(o)) {
3515
+ e.preventDefault();
3516
+ return;
3517
+ }
3518
+ const s = r[0], l = r[r.length - 1];
3519
+ e.shiftKey && (o === s || s.classList.contains("v-list") && s.contains(o)) && (e.preventDefault(), l.focus()), !e.shiftKey && (o === l || l.classList.contains("v-list") && l.contains(o)) && (e.preventDefault(), s.focus());
3520
+ }
3521
+ function io(e, t) {
3522
+ let {
3523
+ isActive: n,
3524
+ localTop: a,
3525
+ contentEl: i
3526
+ } = t;
3527
+ const r = /* @__PURE__ */ Symbol("trap");
3528
+ let o = !1, s = -1;
3529
+ async function l() {
3530
+ o = !0, s = window.setTimeout(() => {
3531
+ o = !1;
3532
+ }, 100);
3533
+ }
3534
+ async function u(d) {
3535
+ const m = d.relatedTarget, v = d.target;
3536
+ document.removeEventListener("pointerdown", l), document.removeEventListener("keydown", c), await ve(), n.value && !o && m !== v && i.value && // We're the menu without open submenus or overlays
3537
+ ie(a) && // It isn't the document or the container body
3538
+ ![document, i.value].includes(v) && // It isn't inside the container body
3539
+ !i.value.contains(v) && Qe(i.value)[0]?.focus();
3540
+ }
3541
+ function c(d) {
3542
+ if (d.key === "Tab" && (document.removeEventListener("keydown", c), n.value && i.value && d.target && !i.value.contains(d.target))) {
3543
+ const m = Qe(document.documentElement);
3544
+ if (d.shiftKey && d.target === m.at(0) || !d.shiftKey && d.target === m.at(-1)) {
3545
+ const v = Qe(i.value);
3546
+ v.length > 0 && (d.preventDefault(), v[0].focus());
3547
+ }
3548
+ }
3549
+ }
3550
+ const f = x(() => n.value && e.captureFocus && !e.disableInitialFocus);
3551
+ Q && (B(() => e.retainFocus, (d) => {
3552
+ d ? tt.set(r, {
3553
+ isActive: n,
3554
+ contentEl: i
3555
+ }) : tt.delete(r);
3556
+ }, {
3557
+ immediate: !0
3558
+ }), B(f, (d) => {
3559
+ d ? (document.addEventListener("pointerdown", l), document.addEventListener("focusin", u, {
3560
+ once: !0
3561
+ }), document.addEventListener("keydown", c)) : (document.removeEventListener("pointerdown", l), document.removeEventListener("focusin", u), document.removeEventListener("keydown", c));
3562
+ }, {
3563
+ immediate: !0
3564
+ }), Hn++ < 1 && document.addEventListener("keydown", qn)), ne(() => {
3565
+ tt.delete(r), clearTimeout(s), document.removeEventListener("pointerdown", l), document.removeEventListener("focusin", u), document.removeEventListener("keydown", c), --Hn < 1 && document.removeEventListener("keydown", qn);
3566
+ });
3567
+ }
3568
+ function ro() {
3569
+ if (!Q) return G(!1);
3570
+ const {
3571
+ ssr: e
3572
+ } = $r();
3573
+ if (e) {
3574
+ const t = G(!1);
3575
+ return Gt(() => {
3576
+ t.value = !0;
3577
+ }), t;
3578
+ } else
3579
+ return G(!0);
3580
+ }
3581
+ const oo = k({
3582
+ eager: Boolean
3583
+ }, "lazy");
3584
+ function so(e, t) {
3585
+ const n = G(!1), a = x(() => n.value || e.eager || t.value);
3586
+ B(t, () => n.value = !0);
3587
+ function i() {
3588
+ e.eager || (n.value = !1);
3589
+ }
3590
+ return {
3591
+ isBooted: n,
3592
+ hasContent: a,
3593
+ onAfterLeave: i
3594
+ };
3595
+ }
3596
+ function Ma() {
3597
+ const t = Y("useScopeId").vnode.scopeId;
3598
+ return {
3599
+ scopeId: t ? {
3600
+ [t]: ""
3601
+ } : void 0
3602
+ };
3603
+ }
3604
+ const Gn = /* @__PURE__ */ Symbol.for("vuetify:stack"), Ne = Ie([]);
3605
+ function lo(e, t, n) {
3606
+ const a = Y("useStack"), i = !n, r = ue(Gn, void 0), o = Ie({
3607
+ activeChildren: /* @__PURE__ */ new Set()
3608
+ });
3609
+ Te(Gn, o);
3610
+ const s = G(Number(ie(t)));
3611
+ Ge(e, () => {
3612
+ const c = Ne.at(-1)?.[1];
3613
+ s.value = c ? c + 10 : Number(ie(t)), i && Ne.push([a.uid, s.value]), r?.activeChildren.add(a.uid), ne(() => {
3614
+ if (i) {
3615
+ const f = ea(Ne).findIndex((d) => d[0] === a.uid);
3616
+ Ne.splice(f, 1);
3617
+ }
3618
+ r?.activeChildren.delete(a.uid);
3619
+ });
3620
+ });
3621
+ const l = G(!0);
3622
+ i && fe(() => {
3623
+ const c = Ne.at(-1)?.[0] === a.uid;
3624
+ setTimeout(() => l.value = c);
3625
+ });
3626
+ const u = x(() => !o.activeChildren.size);
3627
+ return {
3628
+ globalTop: Qn(l),
3629
+ localTop: u,
3630
+ stackStyles: x(() => ({
3631
+ zIndex: s.value
3632
+ }))
3633
+ };
3634
+ }
3635
+ function uo(e) {
3636
+ return {
3637
+ teleportTarget: S(() => {
3638
+ const n = e();
3639
+ if (n === !0 || !Q) return;
3640
+ const a = n === !1 ? document.body : typeof n == "string" ? document.querySelector(n) : n;
3641
+ if (a == null) {
3642
+ Ht(`Unable to locate target ${n}`);
3643
+ return;
3644
+ }
3645
+ let i = [...a.children].find((r) => r.matches(".v-overlay-container"));
3646
+ return i || (i = document.createElement("div"), i.className = "v-overlay-container", a.appendChild(i)), i;
3647
+ })
3648
+ };
3649
+ }
3650
+ function co() {
3651
+ return !0;
3652
+ }
3653
+ function za(e, t, n) {
3654
+ if (!e || Da(e, n) === !1) return !1;
3655
+ const a = fa(t);
3656
+ if (typeof ShadowRoot < "u" && a instanceof ShadowRoot && a.host === e.target) return !1;
3657
+ const i = (typeof n.value == "object" && n.value.include || (() => []))();
3658
+ return i.push(t), !i.some((r) => r?.contains(e.target));
3659
+ }
3660
+ function Da(e, t) {
3661
+ return (typeof t.value == "object" && t.value.closeConditional || co)(e);
3662
+ }
3663
+ function fo(e, t, n) {
3664
+ const a = typeof n.value == "function" ? n.value : n.value.handler;
3665
+ e.shadowTarget = e.target, t._clickOutside.lastMousedownWasOutside && za(e, t, n) && setTimeout(() => {
3666
+ Da(e, n) && a && a(e);
3667
+ }, 0);
3668
+ }
3669
+ function Un(e, t) {
3670
+ const n = fa(e);
3671
+ t(document), typeof ShadowRoot < "u" && n instanceof ShadowRoot && t(n);
3672
+ }
3673
+ const Yn = {
3674
+ // [data-app] may not be found
3675
+ // if using bind, inserted makes
3676
+ // sure that the root element is
3677
+ // available, iOS does not support
3678
+ // clicks on body
3679
+ mounted(e, t) {
3680
+ const n = (i) => fo(i, e, t), a = (i) => {
3681
+ e._clickOutside.lastMousedownWasOutside = za(i, e, t);
3682
+ };
3683
+ Un(e, (i) => {
3684
+ i.addEventListener("click", n, !0), i.addEventListener("mousedown", a, !0);
3685
+ }), e._clickOutside || (e._clickOutside = {
3686
+ lastMousedownWasOutside: !1
3687
+ }), e._clickOutside[t.instance.$.uid] = {
3688
+ onClick: n,
3689
+ onMousedown: a
3690
+ };
3691
+ },
3692
+ beforeUnmount(e, t) {
3693
+ e._clickOutside && (Un(e, (n) => {
3694
+ if (!n || !e._clickOutside?.[t.instance.$.uid]) return;
3695
+ const {
3696
+ onClick: a,
3697
+ onMousedown: i
3698
+ } = e._clickOutside[t.instance.$.uid];
3699
+ n.removeEventListener("click", a, !0), n.removeEventListener("mousedown", i, !0);
3700
+ }), delete e._clickOutside[t.instance.$.uid]);
3701
+ }
3702
+ };
3703
+ function vo(e) {
3704
+ const {
3705
+ modelValue: t,
3706
+ color: n,
3707
+ ...a
3708
+ } = e;
3709
+ return b(De, {
3710
+ name: "fade-transition",
3711
+ appear: !0
3712
+ }, {
3713
+ default: () => [e.modelValue && C("div", q({
3714
+ class: ["v-overlay__scrim", e.color.backgroundColorClasses.value],
3715
+ style: e.color.backgroundColorStyles.value
3716
+ }, a), null)]
3717
+ });
3718
+ }
3719
+ const Wa = k({
3720
+ absolute: Boolean,
3721
+ attach: [Boolean, String, Object],
3722
+ closeOnBack: {
3723
+ type: Boolean,
3724
+ default: !0
3725
+ },
3726
+ contained: Boolean,
3727
+ contentClass: null,
3728
+ contentProps: null,
3729
+ disabled: Boolean,
3730
+ opacity: [Number, String],
3731
+ noClickAnimation: Boolean,
3732
+ modelValue: Boolean,
3733
+ persistent: Boolean,
3734
+ scrim: {
3735
+ type: [Boolean, String],
3736
+ default: !0
3737
+ },
3738
+ zIndex: {
3739
+ type: [Number, String],
3740
+ default: 2e3
3741
+ },
3742
+ ...eo(),
3743
+ ...Z(),
3744
+ ...vt(),
3745
+ ...oo(),
3746
+ ...zr(),
3747
+ ...Gr(),
3748
+ ...ao(),
3749
+ ...ge(),
3750
+ ...ga()
3751
+ }, "VOverlay"), Xn = W()({
3752
+ name: "VOverlay",
3753
+ directives: {
3754
+ vClickOutside: Yn
3755
+ },
3756
+ inheritAttrs: !1,
3757
+ props: {
3758
+ _disableGlobalStack: Boolean,
3759
+ ...ia(Wa(), ["disableInitialFocus"])
3760
+ },
3761
+ emits: {
3762
+ "click:outside": (e) => !0,
3763
+ "update:modelValue": (e) => !0,
3764
+ keydown: (e) => !0,
3765
+ afterEnter: () => !0,
3766
+ afterLeave: () => !0
3767
+ },
3768
+ setup(e, t) {
3769
+ let {
3770
+ slots: n,
3771
+ attrs: a,
3772
+ emit: i
3773
+ } = t;
3774
+ const r = Y("VOverlay"), o = D(), s = D(), l = D(), u = ft(e, "modelValue"), c = S({
3775
+ get: () => u.value,
3776
+ set: (L) => {
3777
+ L && e.disabled || (u.value = L);
3778
+ }
3779
+ }), {
3780
+ themeClasses: f
3781
+ } = Ce(e), {
3782
+ rtlClasses: d,
3783
+ isRtl: m
3784
+ } = Jt(), {
3785
+ hasContent: v,
3786
+ onAfterLeave: y
3787
+ } = so(e, c), p = ze(() => typeof e.scrim == "string" ? e.scrim : null), {
3788
+ globalTop: g,
3789
+ localTop: w,
3790
+ stackStyles: _
3791
+ } = lo(c, () => e.zIndex, e._disableGlobalStack), {
3792
+ activatorEl: E,
3793
+ activatorRef: V,
3794
+ target: $,
3795
+ targetEl: T,
3796
+ targetRef: h,
3797
+ activatorEvents: j,
3798
+ contentEvents: K,
3799
+ scrimEvents: R
3800
+ } = to(e, {
3801
+ isActive: c,
3802
+ isTop: w,
3803
+ contentEl: l
3804
+ }), {
3805
+ teleportTarget: O
3806
+ } = uo(() => {
3807
+ const L = e.attach || e.contained;
3808
+ if (L) return L;
3809
+ const ke = E?.value?.getRootNode() || r.proxy?.$el?.getRootNode();
3810
+ return ke instanceof ShadowRoot ? ke : !1;
3811
+ }), {
3812
+ dimensionStyles: A
3813
+ } = mt(e), N = ro(), {
3814
+ scopeId: P
3815
+ } = Ma();
3816
+ B(() => e.disabled, (L) => {
3817
+ L && (c.value = !1);
3818
+ });
3819
+ const {
3820
+ contentStyles: M,
3821
+ updateLocation: H
3822
+ } = Dr(e, {
3823
+ isRtl: m,
3824
+ contentEl: l,
3825
+ target: $,
3826
+ isActive: c
3827
+ });
3828
+ Ur(e, {
3829
+ root: o,
3830
+ contentEl: l,
3831
+ targetEl: T,
3832
+ target: $,
3833
+ isActive: c,
3834
+ updateLocation: H
3835
+ });
3836
+ function J(L) {
3837
+ i("click:outside", L), e.persistent ? Xe() : c.value = !1;
3838
+ }
3839
+ function he(L) {
3840
+ return c.value && w.value && // If using scrim, only close if clicking on it rather than anything opened on top
3841
+ (!e.scrim || L.target === s.value || L instanceof MouseEvent && L.shadowTarget === s.value);
3842
+ }
3843
+ io(e, {
3844
+ isActive: c,
3845
+ localTop: w,
3846
+ contentEl: l
3847
+ }), Q && B(c, (L) => {
3848
+ L ? window.addEventListener("keydown", z) : window.removeEventListener("keydown", z);
3849
+ }, {
3850
+ immediate: !0
3851
+ }), Be(() => {
3852
+ Q && window.removeEventListener("keydown", z);
3853
+ });
3854
+ function z(L) {
3855
+ L.key === "Escape" && g.value && (l.value?.contains(document.activeElement) || i("keydown", L), e.persistent ? Xe() : (c.value = !1, l.value?.contains(document.activeElement) && E.value?.focus()));
3856
+ }
3857
+ function oe(L) {
3858
+ L.key === "Escape" && !g.value || i("keydown", L);
3859
+ }
3860
+ const Ye = xr();
3861
+ Ge(() => e.closeOnBack, () => {
3862
+ Er(Ye, (L) => {
3863
+ g.value && c.value ? (L(!1), e.persistent ? Xe() : c.value = !1) : L();
3864
+ });
3865
+ });
3866
+ const ye = D();
3867
+ B(() => c.value && (e.absolute || e.contained) && O.value == null, (L) => {
3868
+ if (L) {
3869
+ const ke = ji(o.value);
3870
+ ke && ke !== document.scrollingElement && (ye.value = ke.scrollTop);
3871
+ }
3872
+ });
3873
+ function Xe() {
3874
+ e.noClickAnimation || l.value && pe(l.value, [{
3875
+ transformOrigin: "center"
3876
+ }, {
3877
+ transform: "scale(1.03)"
3878
+ }, {
3879
+ transformOrigin: "center"
3880
+ }], {
3881
+ duration: 150,
3882
+ easing: Ft
3883
+ });
3884
+ }
3885
+ function qa() {
3886
+ i("afterEnter");
3887
+ }
3888
+ function Ga() {
3889
+ y(), i("afterLeave");
3890
+ }
3891
+ return X(() => C(Se, null, [n.activator?.({
3892
+ isActive: c.value,
3893
+ targetRef: h,
3894
+ props: q({
3895
+ ref: V
3896
+ }, j.value, e.activatorProps)
3897
+ }), N.value && v.value && b(ni, {
3898
+ disabled: !O.value,
3899
+ to: O.value
3900
+ }, {
3901
+ default: () => [C("div", q({
3902
+ class: ["v-overlay", {
3903
+ "v-overlay--absolute": e.absolute || e.contained,
3904
+ "v-overlay--active": c.value,
3905
+ "v-overlay--contained": e.contained
3906
+ }, f.value, d.value, e.class],
3907
+ style: [_.value, {
3908
+ "--v-overlay-opacity": e.opacity,
3909
+ top: I(ye.value)
3910
+ }, e.style],
3911
+ ref: o,
3912
+ onKeydown: oe
3913
+ }, P, a), [b(vo, q({
3914
+ color: p,
3915
+ modelValue: c.value && !!e.scrim,
3916
+ ref: s
3917
+ }, R.value), null), b(Me, {
3918
+ appear: !0,
3919
+ persisted: !0,
3920
+ transition: e.transition,
3921
+ target: $.value,
3922
+ onAfterEnter: qa,
3923
+ onAfterLeave: Ga
3924
+ }, {
3925
+ default: () => [We(C("div", q({
3926
+ ref: l,
3927
+ class: ["v-overlay__content", e.contentClass],
3928
+ style: [A.value, M.value]
3929
+ }, K.value, e.contentProps), [n.default?.({
3930
+ isActive: c
3931
+ })]), [[ta, c.value], [Yn, {
3932
+ handler: J,
3933
+ closeConditional: he,
3934
+ include: () => [E.value]
3935
+ }]])]
3936
+ })])]
3937
+ })])), {
3938
+ activatorEl: E,
3939
+ scrimEl: s,
3940
+ target: $,
3941
+ animateClick: Xe,
3942
+ contentEl: l,
3943
+ rootEl: o,
3944
+ globalTop: g,
3945
+ localTop: w,
3946
+ updateLocation: H
3947
+ };
3948
+ }
3949
+ }), mo = k({
3950
+ fullscreen: Boolean,
3951
+ scrollable: Boolean,
3952
+ ...ia(Wa({
3953
+ captureFocus: !0,
3954
+ origin: "center center",
3955
+ scrollStrategy: "block",
3956
+ transition: {
3957
+ component: Xi
3958
+ },
3959
+ zIndex: 2400,
3960
+ retainFocus: !0
3961
+ }), ["disableInitialFocus"])
3962
+ }, "VDialog"), go = W()({
3963
+ name: "VDialog",
3964
+ props: mo(),
3965
+ emits: {
3966
+ "update:modelValue": (e) => !0,
3967
+ afterEnter: () => !0,
3968
+ afterLeave: () => !0
3969
+ },
3970
+ setup(e, t) {
3971
+ let {
3972
+ emit: n,
3973
+ slots: a
3974
+ } = t;
3975
+ const i = ft(e, "modelValue"), {
3976
+ scopeId: r
3977
+ } = Ma(), o = D();
3978
+ function s() {
3979
+ n("afterEnter"), (e.scrim || e.retainFocus) && o.value?.contentEl && !o.value.contentEl.contains(document.activeElement) && o.value.contentEl.focus({
3980
+ preventScroll: !0
3981
+ });
3982
+ }
3983
+ function l() {
3984
+ n("afterLeave");
3985
+ }
3986
+ return B(i, async (u) => {
3987
+ u || (await ve(), o.value.activatorEl?.focus({
3988
+ preventScroll: !0
3989
+ }));
3990
+ }), X(() => {
3991
+ const u = Xn.filterProps(e), c = q({
3992
+ "aria-haspopup": "dialog"
3993
+ }, e.activatorProps), f = q({
3994
+ tabindex: -1
3995
+ }, e.contentProps);
3996
+ return b(Xn, q({
3997
+ ref: o,
3998
+ class: ["v-dialog", {
3999
+ "v-dialog--fullscreen": e.fullscreen,
4000
+ "v-dialog--scrollable": e.scrollable
4001
+ }, e.class],
4002
+ style: e.style
4003
+ }, u, {
4004
+ modelValue: i.value,
4005
+ "onUpdate:modelValue": (d) => i.value = d,
4006
+ "aria-modal": "true",
4007
+ activatorProps: c,
4008
+ contentProps: f,
4009
+ height: e.fullscreen ? void 0 : e.height,
4010
+ width: e.fullscreen ? void 0 : e.width,
4011
+ maxHeight: e.fullscreen ? void 0 : e.maxHeight,
4012
+ maxWidth: e.fullscreen ? void 0 : e.maxWidth,
4013
+ role: "dialog",
4014
+ onAfterEnter: s,
4015
+ onAfterLeave: l
4016
+ }, r), {
4017
+ activator: a.activator,
4018
+ default: function() {
4019
+ for (var d = arguments.length, m = new Array(d), v = 0; v < d; v++)
4020
+ m[v] = arguments[v];
4021
+ return b(ce, {
4022
+ root: "VDialog"
4023
+ }, {
4024
+ default: () => [a.default?.(...m)]
4025
+ });
4026
+ }
4027
+ });
4028
+ }), Nr({}, o);
4029
+ }
4030
+ }), ho = k({
4031
+ ...Z(),
4032
+ ...re()
4033
+ }, "VCardActions"), ja = W()({
4034
+ name: "VCardActions",
4035
+ props: ho(),
4036
+ setup(e, t) {
4037
+ let {
4038
+ slots: n
4039
+ } = t;
4040
+ return Kt({
4041
+ VBtn: {
4042
+ slim: !0,
4043
+ variant: "text"
4044
+ }
4045
+ }), X(() => b(e.tag, {
4046
+ class: F(["v-card-actions", e.class]),
4047
+ style: U(e.style)
4048
+ }, n)), {};
4049
+ }
4050
+ }), yo = k({
4051
+ opacity: [Number, String],
4052
+ ...Z(),
4053
+ ...re()
4054
+ }, "VCardSubtitle"), bo = W()({
4055
+ name: "VCardSubtitle",
4056
+ props: yo(),
4057
+ setup(e, t) {
4058
+ let {
4059
+ slots: n
4060
+ } = t;
4061
+ return X(() => b(e.tag, {
4062
+ class: F(["v-card-subtitle", e.class]),
4063
+ style: U([{
4064
+ "--v-card-subtitle-opacity": e.opacity
4065
+ }, e.style])
4066
+ }, n)), {};
4067
+ }
4068
+ }), po = zi("v-card-title"), wo = k({
4069
+ appendAvatar: String,
4070
+ appendIcon: le,
4071
+ prependAvatar: String,
4072
+ prependIcon: le,
4073
+ subtitle: {
4074
+ type: [String, Number, Boolean],
4075
+ default: void 0
4076
+ },
4077
+ title: {
4078
+ type: [String, Number, Boolean],
4079
+ default: void 0
4080
+ },
4081
+ ...Z(),
4082
+ ...Ue(),
4083
+ ...re()
4084
+ }, "VCardItem"), So = W()({
4085
+ name: "VCardItem",
4086
+ props: wo(),
4087
+ setup(e, t) {
4088
+ let {
4089
+ slots: n
4090
+ } = t;
4091
+ return X(() => {
4092
+ const a = !!(e.prependAvatar || e.prependIcon), i = !!(a || n.prepend), r = !!(e.appendAvatar || e.appendIcon), o = !!(r || n.append), s = !!(e.title != null || n.title), l = !!(e.subtitle != null || n.subtitle);
4093
+ return b(e.tag, {
4094
+ class: F(["v-card-item", e.class]),
4095
+ style: U(e.style)
4096
+ }, {
4097
+ default: () => [i && C("div", {
4098
+ key: "prepend",
4099
+ class: "v-card-item__prepend"
4100
+ }, [n.prepend ? b(ce, {
4101
+ key: "prepend-defaults",
4102
+ disabled: !a,
4103
+ defaults: {
4104
+ VAvatar: {
4105
+ density: e.density,
4106
+ image: e.prependAvatar
4107
+ },
4108
+ VIcon: {
4109
+ density: e.density,
4110
+ icon: e.prependIcon
4111
+ }
4112
+ }
4113
+ }, n.prepend) : C(Se, null, [e.prependAvatar && b(zn, {
4114
+ key: "prepend-avatar",
4115
+ density: e.density,
4116
+ image: e.prependAvatar
4117
+ }, null), e.prependIcon && b(de, {
4118
+ key: "prepend-icon",
4119
+ density: e.density,
4120
+ icon: e.prependIcon
4121
+ }, null)])]), C("div", {
4122
+ class: "v-card-item__content"
4123
+ }, [s && b(po, {
4124
+ key: "title"
4125
+ }, {
4126
+ default: () => [n.title?.() ?? nt(e.title)]
4127
+ }), l && b(bo, {
4128
+ key: "subtitle"
4129
+ }, {
4130
+ default: () => [n.subtitle?.() ?? nt(e.subtitle)]
4131
+ }), n.default?.()]), o && C("div", {
4132
+ key: "append",
4133
+ class: "v-card-item__append"
4134
+ }, [n.append ? b(ce, {
4135
+ key: "append-defaults",
4136
+ disabled: !r,
4137
+ defaults: {
4138
+ VAvatar: {
4139
+ density: e.density,
4140
+ image: e.appendAvatar
4141
+ },
4142
+ VIcon: {
4143
+ density: e.density,
4144
+ icon: e.appendIcon
4145
+ }
4146
+ }
4147
+ }, n.append) : C(Se, null, [e.appendIcon && b(de, {
4148
+ key: "append-icon",
4149
+ density: e.density,
4150
+ icon: e.appendIcon
4151
+ }, null), e.appendAvatar && b(zn, {
4152
+ key: "append-avatar",
4153
+ density: e.density,
4154
+ image: e.appendAvatar
4155
+ }, null)])])]
4156
+ });
4157
+ }), {};
4158
+ }
4159
+ }), Co = k({
4160
+ opacity: [Number, String],
4161
+ ...Z(),
4162
+ ...re()
4163
+ }, "VCardText"), Ha = W()({
4164
+ name: "VCardText",
4165
+ props: Co(),
4166
+ setup(e, t) {
4167
+ let {
4168
+ slots: n
4169
+ } = t;
4170
+ return X(() => b(e.tag, {
4171
+ class: F(["v-card-text", e.class]),
4172
+ style: U([{
4173
+ "--v-card-text-opacity": e.opacity
4174
+ }, e.style])
4175
+ }, n)), {};
4176
+ }
4177
+ }), ko = k({
4178
+ appendAvatar: String,
4179
+ appendIcon: le,
4180
+ disabled: Boolean,
4181
+ flat: Boolean,
4182
+ hover: Boolean,
4183
+ image: String,
4184
+ link: {
4185
+ type: Boolean,
4186
+ default: void 0
4187
+ },
4188
+ prependAvatar: String,
4189
+ prependIcon: le,
4190
+ ripple: {
4191
+ type: [Boolean, Object],
4192
+ default: !0
4193
+ },
4194
+ subtitle: {
4195
+ type: [String, Number, Boolean],
4196
+ default: void 0
4197
+ },
4198
+ text: {
4199
+ type: [String, Number, Boolean],
4200
+ default: void 0
4201
+ },
4202
+ title: {
4203
+ type: [String, Number, Boolean],
4204
+ default: void 0
4205
+ },
4206
+ ...gt(),
4207
+ ...Z(),
4208
+ ...Ue(),
4209
+ ...vt(),
4210
+ ...en(),
4211
+ ...Ca(),
4212
+ ...rn(),
4213
+ ...xa(),
4214
+ ...Le(),
4215
+ ...Pa(),
4216
+ ...re(),
4217
+ ...ge(),
4218
+ ...bt({
4219
+ variant: "elevated"
4220
+ })
4221
+ }, "VCard"), xo = W()({
4222
+ name: "VCard",
4223
+ directives: {
4224
+ vRipple: Dt
4225
+ },
4226
+ props: ko(),
4227
+ setup(e, t) {
4228
+ let {
4229
+ attrs: n,
4230
+ slots: a
4231
+ } = t;
4232
+ const {
4233
+ themeClasses: i
4234
+ } = Ce(e), {
4235
+ borderClasses: r
4236
+ } = ht(e), {
4237
+ colorClasses: o,
4238
+ colorStyles: s,
4239
+ variantClasses: l
4240
+ } = an(e), {
4241
+ densityClasses: u
4242
+ } = yt(e), {
4243
+ dimensionStyles: c
4244
+ } = mt(e), {
4245
+ elevationClasses: f
4246
+ } = tn(e), {
4247
+ loaderClasses: d
4248
+ } = ka(e), {
4249
+ locationStyles: m
4250
+ } = on(e), {
4251
+ positionClasses: v
4252
+ } = Ea(e), {
4253
+ roundedClasses: y
4254
+ } = Re(e), p = _a(e, n), g = G(void 0);
4255
+ return B(() => e.loading, (w, _) => {
4256
+ g.value = !w && typeof _ == "string" ? _ : typeof w == "boolean" ? void 0 : w;
4257
+ }, {
4258
+ immediate: !0
4259
+ }), X(() => {
4260
+ const w = e.link !== !1 && p.isLink.value, _ = !e.disabled && e.link !== !1 && (e.link || p.isClickable.value), E = w ? "a" : e.tag, V = !!(a.title || e.title != null), $ = !!(a.subtitle || e.subtitle != null), T = V || $, h = !!(a.append || e.appendAvatar || e.appendIcon), j = !!(a.prepend || e.prependAvatar || e.prependIcon), K = !!(a.image || e.image), R = T || j || h, O = !!(a.text || e.text != null);
4261
+ return We(b(E, q(p.linkProps, {
4262
+ class: ["v-card", {
4263
+ "v-card--disabled": e.disabled,
4264
+ "v-card--flat": e.flat,
4265
+ "v-card--hover": e.hover && !(e.disabled || e.flat),
4266
+ "v-card--link": _
4267
+ }, i.value, r.value, o.value, u.value, f.value, d.value, v.value, y.value, l.value, e.class],
4268
+ style: [s.value, c.value, m.value, e.style],
4269
+ onClick: _ && p.navigate,
4270
+ tabindex: e.disabled ? -1 : void 0
4271
+ }), {
4272
+ default: () => [K && C("div", {
4273
+ key: "image",
4274
+ class: "v-card__image"
4275
+ }, [a.image ? b(ce, {
4276
+ key: "image-defaults",
4277
+ disabled: !e.image,
4278
+ defaults: {
4279
+ VImg: {
4280
+ cover: !0,
4281
+ src: e.image
4282
+ }
4283
+ }
4284
+ }, a.image) : b(ya, {
4285
+ key: "image-img",
4286
+ cover: !0,
4287
+ src: e.image
4288
+ }, null)]), b(Sr, {
4289
+ name: "v-card",
4290
+ active: !!e.loading,
4291
+ color: g.value
4292
+ }, {
4293
+ default: a.loader
4294
+ }), R && b(So, {
4295
+ key: "item",
4296
+ prependAvatar: e.prependAvatar,
4297
+ prependIcon: e.prependIcon,
4298
+ title: e.title,
4299
+ subtitle: e.subtitle,
4300
+ appendAvatar: e.appendAvatar,
4301
+ appendIcon: e.appendIcon
4302
+ }, {
4303
+ default: a.item,
4304
+ prepend: a.prepend,
4305
+ title: a.title,
4306
+ subtitle: a.subtitle,
4307
+ append: a.append
4308
+ }), O && b(Ha, {
4309
+ key: "text"
4310
+ }, {
4311
+ default: () => [a.text?.() ?? e.text]
4312
+ }), a.default?.(), a.actions && b(ja, null, {
4313
+ default: a.actions
4314
+ }), nn(_, "v-card")]
4315
+ }), [[Dt, _ && e.ripple]]);
4316
+ }), {};
4317
+ }
4318
+ }), Eo = { class: "cropper__controls" }, _o = ["onClick"], Po = /* @__PURE__ */ Zn({
4319
+ __name: "VImageCropDialog",
4320
+ props: {
4321
+ modelValue: { type: Boolean },
4322
+ stencil: {},
4323
+ imgWidth: {},
4324
+ imgHeight: {},
4325
+ persistent: { type: Boolean },
4326
+ maxWidth: {},
4327
+ file: {},
4328
+ url: {},
4329
+ aspectRatio: {},
4330
+ iconFlipVertical: {},
4331
+ iconFlipHorizontal: {},
4332
+ iconRotateRight: {},
4333
+ iconRotateLeft: {},
4334
+ iconZoomIn: {},
4335
+ iconZoomOut: {},
4336
+ iconReset: {},
4337
+ iconCrop: {},
4338
+ cropButtonText: {}
4339
+ },
4340
+ emits: ["update:modelValue", "update:file"],
4341
+ setup(e, { emit: t }) {
4342
+ const n = e, a = t, i = D("image.webp"), r = D(null), o = D(!1), s = D(null), l = S({
4343
+ get: () => n.modelValue,
4344
+ set: (v) => a("update:modelValue", v)
4345
+ }), u = S(
4346
+ () => n.stencil === "circle" ? li : void 0
4347
+ );
4348
+ B(() => n.file, (v) => {
4349
+ v && c(v);
4350
+ }), B(() => n.url, (v) => {
4351
+ v && (s.value = v);
4352
+ }), B(l, (v) => {
4353
+ v || (i.value = "image.webp", s.value = null, o.value = !1);
4354
+ });
4355
+ const c = (v) => {
4356
+ i.value = v.name.replace(/\.[^/.]+$/, "") + ".webp", s.value && URL.revokeObjectURL(s.value), s.value = URL.createObjectURL(v);
4357
+ }, f = async () => {
4358
+ if (!r.value) return;
4359
+ o.value = !0;
4360
+ const v = r.value.getResult({
4361
+ size: { width: n.imgWidth, height: n.imgHeight },
4362
+ fillColor: "transparent",
4363
+ mimeType: "image/webp"
4364
+ });
4365
+ if (!v.canvas) {
4366
+ o.value = !1;
4367
+ return;
4368
+ }
4369
+ const y = await new Promise((g) => {
4370
+ v.canvas?.toBlob((w) => g(w), "image/webp");
4371
+ }), p = new File([y], i.value, { type: "image/webp" });
4372
+ a("update:file", p), l.value = !1;
4373
+ }, d = S(() => [
4374
+ { icon: n.iconFlipVertical || "mdi-flip-vertical", fn: () => r.value?.flip(!0, !1) },
4375
+ { icon: n.iconFlipHorizontal || "mdi-flip-horizontal", fn: () => r.value?.flip(!1, !0) },
4376
+ { icon: n.iconRotateRight || "mdi-rotate-right", fn: () => r.value?.rotate(90) },
4377
+ { icon: n.iconRotateLeft || "mdi-rotate-left", fn: () => r.value?.rotate(-90) },
4378
+ { icon: n.iconZoomIn || "mdi-magnify-plus-outline", fn: () => r.value?.zoom(2) },
4379
+ { icon: n.iconZoomOut || "mdi-magnify-minus-outline", fn: () => r.value?.zoom(0.5) },
4380
+ { icon: n.iconReset || "mdi-refresh", fn: () => r.value?.reset() }
4381
+ ]), m = ({ imageSize: v }) => ({
4382
+ width: v.width,
4383
+ height: v.height
4384
+ });
4385
+ return Gt(() => {
4386
+ n.file ? c(n.file) : n.url && (s.value = n.url);
4387
+ }), Be(() => {
4388
+ s.value && URL.revokeObjectURL(s.value);
4389
+ }), (v, y) => (Ke(), ln(ee(go), {
4390
+ "model-value": l.value && n.file !== null,
4391
+ persistent: n.persistent,
4392
+ "max-width": n.maxWidth || "auto",
4393
+ width: "auto",
4394
+ "onUpdate:modelValue": y[0] || (y[0] = (p) => l.value = p)
4395
+ }, {
4396
+ activator: xe(({ props: p }) => [
4397
+ cn(v.$slots, "activator", oi(si(p)), void 0, !0)
4398
+ ]),
4399
+ default: xe(() => [
4400
+ b(ee(xo), null, {
4401
+ default: xe(() => [
4402
+ b(ee(Ha), { class: "pb-4" }, {
4403
+ default: xe(() => [
4404
+ n.file !== null ? (Ke(), ln(ee(ui), {
4405
+ key: 0,
4406
+ ref_key: "cropperEl",
4407
+ ref: r,
4408
+ class: "cropper",
4409
+ src: s.value,
4410
+ "stencil-component": u.value,
4411
+ canvas: {
4412
+ maxHeight: n.imgHeight,
4413
+ maxWidth: n.imgWidth,
4414
+ mimeType: "image/webp"
4415
+ },
4416
+ "default-size": m,
4417
+ "stencil-props": {
4418
+ aspectRatio: n.aspectRatio
4419
+ }
4420
+ }, null, 8, ["src", "stencil-component", "canvas", "stencil-props"])) : ai("", !0),
4421
+ C("div", Eo, [
4422
+ (Ke(!0), un(Se, null, ii(d.value, (p, g) => (Ke(), un("div", {
4423
+ key: g,
4424
+ class: "cropper__button",
4425
+ onClick: p.fn
4426
+ }, [
4427
+ b(ee(de), {
4428
+ icon: p.icon,
4429
+ color: "white"
4430
+ }, null, 8, ["icon"])
4431
+ ], 8, _o))), 128))
4432
+ ])
4433
+ ]),
4434
+ _: 1
4435
+ }),
4436
+ b(ee(ja), { class: "pt-0" }, {
4437
+ default: xe(() => [
4438
+ cn(v.$slots, "crop-button", {
4439
+ processing: o.value,
4440
+ crop: f
4441
+ }, () => [
4442
+ b(ee(Lr), {
4443
+ color: "primary",
4444
+ variant: "tonal",
4445
+ class: "me-3 px-4",
4446
+ loading: o.value,
4447
+ onClick: f
4448
+ }, {
4449
+ default: xe(() => [
4450
+ ri(nt(n.cropButtonText || "Crop") + " ", 1),
4451
+ b(ee(de), {
4452
+ icon: n.iconCrop || "mdi-check",
4453
+ end: ""
4454
+ }, null, 8, ["icon"])
4455
+ ]),
4456
+ _: 1
4457
+ }, 8, ["loading"])
4458
+ ], !0)
4459
+ ]),
4460
+ _: 3
4461
+ })
4462
+ ]),
4463
+ _: 3
4464
+ })
4465
+ ]),
4466
+ _: 3
4467
+ }, 8, ["model-value", "persistent", "max-width"]));
4468
+ }
4469
+ }), Vo = (e, t) => {
4470
+ const n = e.__vccOpts || e;
4471
+ for (const [a, i] of t)
4472
+ n[a] = i;
4473
+ return n;
4474
+ }, Ao = /* @__PURE__ */ Vo(Po, [["__scopeId", "data-v-33cafebf"]]), To = {
4475
+ install(e) {
4476
+ e.component("VImageCropDialog", Ao);
4477
+ }
4478
+ };
4479
+ export {
4480
+ Ao as VImageCropDialog,
4481
+ To as default
4482
+ };