fcad-lang 0.0.0

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,3227 @@
1
+ import { warn as cn, capitalize as xt, reactive as Oe, watchEffect as ke, toRef as p, Fragment as F, shallowRef as O, getCurrentInstance as dn, inject as de, computed as y, provide as Ye, ref as re, unref as me, defineComponent as fn, h as It, camelize as gn, createVNode as g, normalizeStyle as P, normalizeClass as k, toRefs as mn, toValue as q, mergeProps as se, createElementVNode as f, Text as vn, isRef as Le, TransitionGroup as hn, Transition as Pt, watch as H, onBeforeMount as yn, nextTick as bn, onBeforeUnmount as Vt, withDirectives as ze, vShow as pn, toDisplayString as te, onScopeDispose as Tt, effectScope as Cn, toRaw as wn, readonly as kn, resolveDynamicComponent as Sn, resolveComponent as _n, openBlock as R, createElementBlock as E, renderList as ve, withCtx as he, createTextVNode as ye, createCommentVNode as tt } from "vue";
2
+ const xn = [
3
+ {
4
+ word: "Apple",
5
+ categorie: [
6
+ "fruit",
7
+ "tech",
8
+ "food"
9
+ ]
10
+ },
11
+ {
12
+ word: "Orange",
13
+ categorie: [
14
+ "fruit",
15
+ "color",
16
+ "food"
17
+ ]
18
+ },
19
+ {
20
+ word: "Mouse",
21
+ categorie: [
22
+ "animal",
23
+ "computer"
24
+ ]
25
+ },
26
+ {
27
+ word: "Bat",
28
+ categorie: [
29
+ "animal",
30
+ "sport"
31
+ ]
32
+ },
33
+ {
34
+ word: "Bank",
35
+ categorie: [
36
+ "money",
37
+ "river",
38
+ "place",
39
+ "city",
40
+ "storage"
41
+ ]
42
+ },
43
+ {
44
+ word: "Light",
45
+ categorie: [
46
+ "physics",
47
+ "lamp",
48
+ "nightlife",
49
+ "lightning",
50
+ "energy",
51
+ "danger",
52
+ "science"
53
+ ]
54
+ },
55
+ {
56
+ word: "Spring",
57
+ categorie: [
58
+ "season",
59
+ "object"
60
+ ]
61
+ },
62
+ {
63
+ word: "Star",
64
+ categorie: [
65
+ "space",
66
+ "celebrity"
67
+ ]
68
+ },
69
+ {
70
+ word: "Cell",
71
+ categorie: [
72
+ "biology",
73
+ "prison",
74
+ "body",
75
+ "science",
76
+ "storage"
77
+ ]
78
+ },
79
+ {
80
+ word: "Train",
81
+ categorie: [
82
+ "transport",
83
+ "action",
84
+ "movement",
85
+ "travel"
86
+ ]
87
+ },
88
+ {
89
+ word: "Match",
90
+ categorie: [
91
+ "sport",
92
+ "fire",
93
+ "danger",
94
+ "competition"
95
+ ]
96
+ },
97
+ {
98
+ word: "Ring",
99
+ categorie: [
100
+ "jewelry",
101
+ "sound"
102
+ ]
103
+ },
104
+ {
105
+ word: "Rock",
106
+ categorie: [
107
+ "music",
108
+ "stone",
109
+ "material",
110
+ "nightlife"
111
+ ]
112
+ },
113
+ {
114
+ word: "Pen",
115
+ categorie: [
116
+ "writing",
117
+ "animal enclosure",
118
+ "tool"
119
+ ]
120
+ },
121
+ {
122
+ word: "Club",
123
+ categorie: [
124
+ "sport",
125
+ "nightlife",
126
+ "city",
127
+ "competition"
128
+ ]
129
+ },
130
+ {
131
+ word: "Light",
132
+ categorie: [
133
+ "physics",
134
+ "lamp",
135
+ "nightlife",
136
+ "lightning",
137
+ "energy",
138
+ "danger",
139
+ "science"
140
+ ]
141
+ },
142
+ {
143
+ word: "Spring",
144
+ categorie: [
145
+ "season",
146
+ "object"
147
+ ]
148
+ },
149
+ {
150
+ word: "Star",
151
+ categorie: [
152
+ "space",
153
+ "celebrity"
154
+ ]
155
+ },
156
+ {
157
+ word: "Cell",
158
+ categorie: [
159
+ "biology",
160
+ "prison",
161
+ "body",
162
+ "science",
163
+ "storage"
164
+ ]
165
+ },
166
+ {
167
+ word: "Train",
168
+ categorie: [
169
+ "transport",
170
+ "action",
171
+ "movement",
172
+ "travel"
173
+ ]
174
+ },
175
+ {
176
+ word: "Match",
177
+ categorie: [
178
+ "sport",
179
+ "fire",
180
+ "danger",
181
+ "competition"
182
+ ]
183
+ },
184
+ {
185
+ word: "Ring",
186
+ categorie: [
187
+ "jewelry",
188
+ "sound"
189
+ ]
190
+ },
191
+ {
192
+ word: "Rock",
193
+ categorie: [
194
+ "music",
195
+ "stone",
196
+ "material",
197
+ "nightlife"
198
+ ]
199
+ },
200
+ {
201
+ word: "Pen",
202
+ categorie: [
203
+ "writing",
204
+ "animal enclosure",
205
+ "tool"
206
+ ]
207
+ },
208
+ {
209
+ word: "Club",
210
+ categorie: [
211
+ "sport",
212
+ "nightlife",
213
+ "city",
214
+ "competition"
215
+ ]
216
+ },
217
+ {
218
+ word: "Glass",
219
+ categorie: [
220
+ "sport",
221
+ "drinkware"
222
+ ]
223
+ },
224
+ {
225
+ word: "Key",
226
+ categorie: [
227
+ "music",
228
+ "lock"
229
+ ]
230
+ },
231
+ {
232
+ word: "Wave",
233
+ categorie: [
234
+ "ocean",
235
+ "gesture",
236
+ "water",
237
+ "movement",
238
+ "communication"
239
+ ]
240
+ },
241
+ {
242
+ word: "File",
243
+ categorie: [
244
+ "office",
245
+ "tool",
246
+ "cleaning"
247
+ ]
248
+ },
249
+ {
250
+ word: "Plate",
251
+ categorie: [
252
+ "food",
253
+ "tectonic"
254
+ ]
255
+ },
256
+ {
257
+ word: "Code",
258
+ categorie: [
259
+ "computer",
260
+ "secret",
261
+ "math",
262
+ "argument",
263
+ "logic",
264
+ "thinking",
265
+ "communication"
266
+ ]
267
+ },
268
+ {
269
+ word: "Bug",
270
+ categorie: [
271
+ "insect",
272
+ "error",
273
+ "computer",
274
+ "logic",
275
+ "problem"
276
+ ]
277
+ },
278
+ {
279
+ word: "Jam",
280
+ categorie: [
281
+ "food",
282
+ "error",
283
+ "traffic",
284
+ "problem"
285
+ ]
286
+ },
287
+ {
288
+ word: "Nail",
289
+ categorie: [
290
+ "body",
291
+ "tool",
292
+ "biology",
293
+ "construction",
294
+ "cleaning"
295
+ ]
296
+ },
297
+ {
298
+ word: "Watch",
299
+ categorie: [
300
+ "time",
301
+ "observe",
302
+ "action"
303
+ ]
304
+ },
305
+ {
306
+ word: "Park",
307
+ categorie: [
308
+ "place",
309
+ "action",
310
+ "nature",
311
+ "wood",
312
+ "city"
313
+ ]
314
+ },
315
+ {
316
+ word: "Leaf",
317
+ categorie: [
318
+ "nature",
319
+ "book"
320
+ ]
321
+ },
322
+ {
323
+ word: "Seal",
324
+ categorie: [
325
+ "animal",
326
+ "stamp"
327
+ ]
328
+ },
329
+ {
330
+ word: "Bolt",
331
+ categorie: [
332
+ "tool",
333
+ "lightning",
334
+ "danger",
335
+ "construction"
336
+ ]
337
+ },
338
+ {
339
+ word: "Can",
340
+ categorie: [
341
+ "container",
342
+ "ability",
343
+ "storage"
344
+ ]
345
+ },
346
+ {
347
+ word: "Cross",
348
+ categorie: [
349
+ "religion",
350
+ "action"
351
+ ]
352
+ },
353
+ {
354
+ word: "Stick",
355
+ categorie: [
356
+ "object",
357
+ "action",
358
+ "tool",
359
+ "construction"
360
+ ]
361
+ },
362
+ {},
363
+ {
364
+ word: "Glass",
365
+ categorie: [
366
+ "sport",
367
+ "drinkware"
368
+ ]
369
+ },
370
+ {
371
+ word: "Key",
372
+ categorie: [
373
+ "music",
374
+ "lock"
375
+ ]
376
+ },
377
+ {
378
+ word: "Wave",
379
+ categorie: [
380
+ "ocean",
381
+ "gesture",
382
+ "water",
383
+ "movement",
384
+ "communication"
385
+ ]
386
+ },
387
+ {
388
+ word: "File",
389
+ categorie: [
390
+ "office",
391
+ "tool",
392
+ "cleaning"
393
+ ]
394
+ },
395
+ {
396
+ word: "Plate",
397
+ categorie: [
398
+ "food",
399
+ "tectonic"
400
+ ]
401
+ },
402
+ {
403
+ word: "Code",
404
+ categorie: [
405
+ "computer",
406
+ "secret",
407
+ "math",
408
+ "argument",
409
+ "logic",
410
+ "thinking",
411
+ "communication"
412
+ ]
413
+ },
414
+ {
415
+ word: "Bug",
416
+ categorie: [
417
+ "insect",
418
+ "error",
419
+ "computer",
420
+ "logic",
421
+ "problem"
422
+ ]
423
+ },
424
+ {
425
+ word: "Jam",
426
+ categorie: [
427
+ "food",
428
+ "error",
429
+ "traffic",
430
+ "problem"
431
+ ]
432
+ },
433
+ {
434
+ word: "Nail",
435
+ categorie: [
436
+ "body",
437
+ "tool",
438
+ "biology",
439
+ "construction",
440
+ "cleaning"
441
+ ]
442
+ },
443
+ {
444
+ word: "Watch",
445
+ categorie: [
446
+ "time",
447
+ "observe",
448
+ "action"
449
+ ]
450
+ },
451
+ {
452
+ word: "Park",
453
+ categorie: [
454
+ "place",
455
+ "action",
456
+ "nature",
457
+ "wood",
458
+ "city"
459
+ ]
460
+ },
461
+ {
462
+ word: "Leaf",
463
+ categorie: [
464
+ "nature",
465
+ "book"
466
+ ]
467
+ },
468
+ {
469
+ word: "Seal",
470
+ categorie: [
471
+ "animal",
472
+ "stamp"
473
+ ]
474
+ },
475
+ {
476
+ word: "Bolt",
477
+ categorie: [
478
+ "tool",
479
+ "lightning",
480
+ "danger",
481
+ "construction"
482
+ ]
483
+ },
484
+ {
485
+ word: "Can",
486
+ categorie: [
487
+ "container",
488
+ "ability",
489
+ "storage"
490
+ ]
491
+ },
492
+ {
493
+ word: "Cross",
494
+ categorie: [
495
+ "religion",
496
+ "action"
497
+ ]
498
+ },
499
+ {
500
+ word: "Stick",
501
+ categorie: [
502
+ "object",
503
+ "action",
504
+ "tool",
505
+ "construction"
506
+ ]
507
+ },
508
+ {
509
+ word: "Charge",
510
+ categorie: [
511
+ "energy",
512
+ "legal"
513
+ ]
514
+ },
515
+ {
516
+ word: "Block",
517
+ categorie: [
518
+ "object",
519
+ "obstacle",
520
+ "barrier"
521
+ ]
522
+ },
523
+ {
524
+ word: "Draft",
525
+ categorie: [
526
+ "wind",
527
+ "document",
528
+ "office"
529
+ ]
530
+ },
531
+ {
532
+ word: "Board",
533
+ categorie: [
534
+ "wood",
535
+ "management",
536
+ "office"
537
+ ]
538
+ },
539
+ {
540
+ word: "Point",
541
+ categorie: [
542
+ "math",
543
+ "argument",
544
+ "logic",
545
+ "thinking"
546
+ ]
547
+ },
548
+ {
549
+ word: "Current",
550
+ categorie: [
551
+ "electricity",
552
+ "water",
553
+ "energy",
554
+ "science"
555
+ ]
556
+ },
557
+ {
558
+ word: "Scale",
559
+ categorie: [
560
+ "music",
561
+ "size"
562
+ ]
563
+ },
564
+ {
565
+ word: "Model",
566
+ categorie: [
567
+ "fashion",
568
+ "example"
569
+ ]
570
+ },
571
+ {
572
+ word: "Track",
573
+ categorie: [
574
+ "music",
575
+ "path",
576
+ "movement"
577
+ ]
578
+ },
579
+ {
580
+ word: "Field",
581
+ categorie: [
582
+ "sport",
583
+ "science",
584
+ "nature"
585
+ ]
586
+ },
587
+ {
588
+ word: "Spot",
589
+ categorie: [
590
+ "place",
591
+ "stain"
592
+ ]
593
+ },
594
+ {
595
+ word: "Tape",
596
+ categorie: [
597
+ "music",
598
+ "adhesive"
599
+ ]
600
+ },
601
+ {
602
+ word: "Trip",
603
+ categorie: [
604
+ "travel",
605
+ "fall",
606
+ "movement"
607
+ ]
608
+ },
609
+ {
610
+ word: "Crash",
611
+ categorie: [
612
+ "accident",
613
+ "computer",
614
+ "danger",
615
+ "problem"
616
+ ]
617
+ },
618
+ {
619
+ word: "Fan",
620
+ categorie: [
621
+ "cooling",
622
+ "sports",
623
+ "competition"
624
+ ]
625
+ },
626
+ {
627
+ word: "Brush",
628
+ categorie: [
629
+ "tool",
630
+ "action",
631
+ "cleaning"
632
+ ]
633
+ },
634
+ {
635
+ word: "Screen",
636
+ categorie: [
637
+ "display",
638
+ "hide",
639
+ "barrier"
640
+ ]
641
+ }
642
+ ], In = {
643
+ wordBank: xn
644
+ }, Bt = (e, t) => {
645
+ const n = e.__vccOpts || e;
646
+ for (const [r, a] of t)
647
+ n[r] = a;
648
+ return n;
649
+ };
650
+ function b(e, t) {
651
+ return (n) => Object.keys(e).reduce((r, a) => {
652
+ const o = typeof e[a] == "object" && e[a] != null && !Array.isArray(e[a]) ? e[a] : {
653
+ type: e[a]
654
+ };
655
+ return n && a in n ? r[a] = {
656
+ ...o,
657
+ default: n[a]
658
+ } : r[a] = o, t && !r[a].source && (r[a].source = t), r;
659
+ }, {});
660
+ }
661
+ const L = b({
662
+ class: [String, Array, Object],
663
+ style: {
664
+ type: [String, Array, Object],
665
+ default: null
666
+ }
667
+ }, "component");
668
+ function oe(e) {
669
+ cn(`Vuetify: ${e}`);
670
+ }
671
+ const At = typeof window < "u", Ke = At && "IntersectionObserver" in window;
672
+ function C(e) {
673
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "px";
674
+ if (e == null || e === "")
675
+ return;
676
+ const n = Number(e);
677
+ return isNaN(n) ? String(e) : isFinite(n) ? `${n}${t}` : void 0;
678
+ }
679
+ function De(e) {
680
+ return e !== null && typeof e == "object" && !Array.isArray(e);
681
+ }
682
+ function nt(e) {
683
+ let t;
684
+ return e !== null && typeof e == "object" && ((t = Object.getPrototypeOf(e)) === Object.prototype || t === null);
685
+ }
686
+ function Pn(e) {
687
+ if (e && "$el" in e) {
688
+ const t = e.$el;
689
+ return (t == null ? void 0 : t.nodeType) === Node.TEXT_NODE ? t.nextElementSibling : t;
690
+ }
691
+ return e;
692
+ }
693
+ function $e(e, t) {
694
+ return t.every((n) => e.hasOwnProperty(n));
695
+ }
696
+ function Vn(e, t) {
697
+ const n = {};
698
+ for (const r of t)
699
+ Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]);
700
+ return n;
701
+ }
702
+ function Fe(e) {
703
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1;
704
+ return Math.max(t, Math.min(n, e));
705
+ }
706
+ function rt(e, t) {
707
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "0";
708
+ return e + n.repeat(Math.max(0, t - e.length));
709
+ }
710
+ function Tn(e) {
711
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
712
+ const n = [];
713
+ let r = 0;
714
+ for (; r < e.length; )
715
+ n.push(e.substr(r, t)), r += t;
716
+ return n;
717
+ }
718
+ function ne() {
719
+ 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;
720
+ const r = {};
721
+ for (const a in e)
722
+ r[a] = e[a];
723
+ for (const a in t) {
724
+ const i = e[a], o = t[a];
725
+ if (nt(i) && nt(o)) {
726
+ r[a] = ne(i, o, n);
727
+ continue;
728
+ }
729
+ if (n && Array.isArray(i) && Array.isArray(o)) {
730
+ r[a] = n(i, o);
731
+ continue;
732
+ }
733
+ r[a] = o;
734
+ }
735
+ return r;
736
+ }
737
+ function Rt(e) {
738
+ return e.map((t) => t.type === F ? Rt(t.children) : t).flat();
739
+ }
740
+ function K() {
741
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
742
+ if (K.cache.has(e)) return K.cache.get(e);
743
+ const t = e.replace(/[^a-z]/gi, "-").replace(/\B([A-Z])/g, "-$1").toLowerCase();
744
+ return K.cache.set(e, t), t;
745
+ }
746
+ K.cache = /* @__PURE__ */ new Map();
747
+ function Et(e) {
748
+ const t = Oe({});
749
+ ke(() => {
750
+ const r = e();
751
+ for (const a in r)
752
+ t[a] = r[a];
753
+ }, {
754
+ flush: "sync"
755
+ });
756
+ const n = {};
757
+ for (const r in t)
758
+ n[r] = p(() => t[r]);
759
+ return n;
760
+ }
761
+ function je(e, t) {
762
+ return e.includes(t);
763
+ }
764
+ function at(e, t) {
765
+ return t = "on" + xt(t), !!(e[t] || e[`${t}Once`] || e[`${t}Capture`] || e[`${t}OnceCapture`] || e[`${t}CaptureOnce`]);
766
+ }
767
+ function Bn() {
768
+ const e = O(), t = (n) => {
769
+ e.value = n;
770
+ };
771
+ return Object.defineProperty(t, "value", {
772
+ enumerable: !0,
773
+ get: () => e.value,
774
+ set: (n) => e.value = n
775
+ }), Object.defineProperty(t, "el", {
776
+ enumerable: !0,
777
+ get: () => Pn(e.value)
778
+ }), t;
779
+ }
780
+ function Se(e) {
781
+ return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || typeof e == "bigint";
782
+ }
783
+ function An(e) {
784
+ const t = ["checked", "disabled"];
785
+ return Object.fromEntries(Object.entries(e).filter((n) => {
786
+ let [r, a] = n;
787
+ return t.includes(r) ? !!a : a !== void 0;
788
+ }));
789
+ }
790
+ function j(e, t) {
791
+ const n = dn();
792
+ if (!n)
793
+ throw new Error(`[Vuetify] ${e} must be called from inside a setup function`);
794
+ return n;
795
+ }
796
+ function J() {
797
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "composables";
798
+ const t = j(e).type;
799
+ return K((t == null ? void 0 : t.aliasName) || (t == null ? void 0 : t.name));
800
+ }
801
+ function Rn(e) {
802
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : j("injectSelf");
803
+ const {
804
+ provides: n
805
+ } = t;
806
+ if (n && e in n)
807
+ return n[e];
808
+ }
809
+ const _e = Symbol.for("vuetify:defaults");
810
+ function Ze() {
811
+ const e = de(_e);
812
+ if (!e) throw new Error("[Vuetify] Could not find defaults instance");
813
+ return e;
814
+ }
815
+ function Nt(e, t) {
816
+ const n = Ze(), r = re(e), a = y(() => {
817
+ if (me(t == null ? void 0 : t.disabled)) return n.value;
818
+ const o = me(t == null ? void 0 : t.scoped), s = me(t == null ? void 0 : t.reset), l = me(t == null ? void 0 : t.root);
819
+ if (r.value == null && !(o || s || l)) return n.value;
820
+ let u = ne(r.value, {
821
+ prev: n.value
822
+ });
823
+ if (o) return u;
824
+ if (s || l) {
825
+ const d = Number(s || 1 / 0);
826
+ for (let c = 0; c <= d && !(!u || !("prev" in u)); c++)
827
+ u = u.prev;
828
+ return u && typeof l == "string" && l in u && (u = ne(ne(u, {
829
+ prev: u
830
+ }), u[l])), u;
831
+ }
832
+ return u.prev ? ne(u.prev, u) : u;
833
+ });
834
+ return Ye(_e, a), a;
835
+ }
836
+ function En(e, t) {
837
+ return e.props && (typeof e.props[t] < "u" || typeof e.props[K(t)] < "u");
838
+ }
839
+ function Nn() {
840
+ 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] : Ze();
841
+ const r = j("useDefaults");
842
+ if (t = t ?? r.type.name ?? r.type.__name, !t)
843
+ throw new Error("[Vuetify] Could not determine component name");
844
+ const a = y(() => {
845
+ var l;
846
+ return (l = n.value) == null ? void 0 : l[e._as ?? t];
847
+ }), i = new Proxy(e, {
848
+ get(l, u) {
849
+ var m, w, N, _;
850
+ const d = Reflect.get(l, u);
851
+ if (u === "class" || u === "style")
852
+ return [(m = a.value) == null ? void 0 : m[u], d].filter((D) => D != null);
853
+ if (En(r.vnode, u)) return d;
854
+ const c = (w = a.value) == null ? void 0 : w[u];
855
+ if (c !== void 0) return c;
856
+ const v = (_ = (N = n.value) == null ? void 0 : N.global) == null ? void 0 : _[u];
857
+ return v !== void 0 ? v : d;
858
+ }
859
+ }), o = O();
860
+ ke(() => {
861
+ if (a.value) {
862
+ const l = Object.entries(a.value).filter((u) => {
863
+ let [d] = u;
864
+ return d.startsWith(d[0].toUpperCase());
865
+ });
866
+ o.value = l.length ? Object.fromEntries(l) : void 0;
867
+ } else
868
+ o.value = void 0;
869
+ });
870
+ function s() {
871
+ const l = Rn(_e, r);
872
+ Ye(_e, y(() => o.value ? ne((l == null ? void 0 : l.value) ?? {}, o.value) : l == null ? void 0 : l.value));
873
+ }
874
+ return {
875
+ props: i,
876
+ provideSubDefaults: s
877
+ };
878
+ }
879
+ const $n = ["top", "bottom"], On = ["start", "end", "left", "right"];
880
+ function Ln(e, t) {
881
+ let [n, r] = e.split(" ");
882
+ return r || (r = je($n, n) ? "start" : je(On, n) ? "top" : "center"), {
883
+ side: it(n, t),
884
+ align: it(r, t)
885
+ };
886
+ }
887
+ function it(e, t) {
888
+ return e === "start" ? t ? "right" : "left" : e === "end" ? t ? "left" : "right" : e;
889
+ }
890
+ class Me {
891
+ constructor(t) {
892
+ const n = document.body.currentCSSZoom ?? 1, r = t instanceof Element, a = r ? 1 + (1 - n) / n : 1, {
893
+ x: i,
894
+ y: o,
895
+ width: s,
896
+ height: l
897
+ } = r ? t.getBoundingClientRect() : t;
898
+ this.x = i * a, this.y = o * a, this.width = s * a, this.height = l * a;
899
+ }
900
+ get top() {
901
+ return this.y;
902
+ }
903
+ get bottom() {
904
+ return this.y + this.height;
905
+ }
906
+ get left() {
907
+ return this.x;
908
+ }
909
+ get right() {
910
+ return this.x + this.width;
911
+ }
912
+ }
913
+ function zn(e) {
914
+ if (Array.isArray(e)) {
915
+ const t = document.body.currentCSSZoom ?? 1, n = 1 + (1 - t) / t;
916
+ return new Me({
917
+ x: e[0] * n,
918
+ y: e[1] * n,
919
+ width: 0 * n,
920
+ height: 0 * n
921
+ });
922
+ } else
923
+ return new Me(e);
924
+ }
925
+ const ee = 2.4, ot = 0.2126729, st = 0.7151522, lt = 0.072175, Dn = 0.55, Fn = 0.58, jn = 0.57, Mn = 0.62, be = 0.03, ut = 1.45, Wn = 5e-4, Gn = 1.25, Hn = 1.25, ct = 0.078, dt = 12.82051282051282, pe = 0.06, ft = 1e-3;
926
+ function gt(e, t) {
927
+ const n = (e.r / 255) ** ee, r = (e.g / 255) ** ee, a = (e.b / 255) ** ee, i = (t.r / 255) ** ee, o = (t.g / 255) ** ee, s = (t.b / 255) ** ee;
928
+ let l = n * ot + r * st + a * lt, u = i * ot + o * st + s * lt;
929
+ if (l <= be && (l += (be - l) ** ut), u <= be && (u += (be - u) ** ut), Math.abs(u - l) < Wn) return 0;
930
+ let d;
931
+ if (u > l) {
932
+ const c = (u ** Dn - l ** Fn) * Gn;
933
+ d = c < ft ? 0 : c < ct ? c - c * dt * pe : c - pe;
934
+ } else {
935
+ const c = (u ** Mn - l ** jn) * Hn;
936
+ d = c > -ft ? 0 : c > -ct ? c - c * dt * pe : c + pe;
937
+ }
938
+ return d * 100;
939
+ }
940
+ function We(e) {
941
+ return !!e && /^(#|var\(--|(rgb|hsl)a?\()/.test(e);
942
+ }
943
+ function qn(e) {
944
+ return We(e) && !/^((rgb|hsl)a?\()?var\(--/.test(e);
945
+ }
946
+ const mt = /^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/, Un = {
947
+ rgb: (e, t, n, r) => ({
948
+ r: e,
949
+ g: t,
950
+ b: n,
951
+ a: r
952
+ }),
953
+ rgba: (e, t, n, r) => ({
954
+ r: e,
955
+ g: t,
956
+ b: n,
957
+ a: r
958
+ }),
959
+ hsl: (e, t, n, r) => vt({
960
+ h: e,
961
+ s: t,
962
+ l: n,
963
+ a: r
964
+ }),
965
+ hsla: (e, t, n, r) => vt({
966
+ h: e,
967
+ s: t,
968
+ l: n,
969
+ a: r
970
+ }),
971
+ hsv: (e, t, n, r) => le({
972
+ h: e,
973
+ s: t,
974
+ v: n,
975
+ a: r
976
+ }),
977
+ hsva: (e, t, n, r) => le({
978
+ h: e,
979
+ s: t,
980
+ v: n,
981
+ a: r
982
+ })
983
+ };
984
+ function ie(e) {
985
+ if (typeof e == "number")
986
+ return (isNaN(e) || e < 0 || e > 16777215) && oe(`'${e}' is not a valid hex color`), {
987
+ r: (e & 16711680) >> 16,
988
+ g: (e & 65280) >> 8,
989
+ b: e & 255
990
+ };
991
+ if (typeof e == "string" && mt.test(e)) {
992
+ const {
993
+ groups: t
994
+ } = e.match(mt), {
995
+ fn: n,
996
+ values: r
997
+ } = t, a = r.split(/,\s*|\s*\/\s*|\s+/).map((i, o) => i.endsWith("%") || // unitless slv are %
998
+ o > 0 && o < 3 && ["hsl", "hsla", "hsv", "hsva"].includes(n) ? parseFloat(i) / 100 : parseFloat(i));
999
+ return Un[n](...a);
1000
+ } else if (typeof e == "string") {
1001
+ let t = e.startsWith("#") ? e.slice(1) : e;
1002
+ [3, 4].includes(t.length) ? t = t.split("").map((r) => r + r).join("") : [6, 8].includes(t.length) || oe(`'${e}' is not a valid hex(a) color`);
1003
+ const n = parseInt(t, 16);
1004
+ return (isNaN(n) || n < 0 || n > 4294967295) && oe(`'${e}' is not a valid hex(a) color`), Xn(t);
1005
+ } else if (typeof e == "object") {
1006
+ if ($e(e, ["r", "g", "b"]))
1007
+ return e;
1008
+ if ($e(e, ["h", "s", "l"]))
1009
+ return le($t(e));
1010
+ if ($e(e, ["h", "s", "v"]))
1011
+ return le(e);
1012
+ }
1013
+ throw new TypeError(`Invalid color: ${e == null ? e : String(e) || e.constructor.name}
1014
+ Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`);
1015
+ }
1016
+ function le(e) {
1017
+ const {
1018
+ h: t,
1019
+ s: n,
1020
+ v: r,
1021
+ a
1022
+ } = e, i = (s) => {
1023
+ const l = (s + t / 60) % 6;
1024
+ return r - r * n * Math.max(Math.min(l, 4 - l, 1), 0);
1025
+ }, o = [i(5), i(3), i(1)].map((s) => Math.round(s * 255));
1026
+ return {
1027
+ r: o[0],
1028
+ g: o[1],
1029
+ b: o[2],
1030
+ a
1031
+ };
1032
+ }
1033
+ function vt(e) {
1034
+ return le($t(e));
1035
+ }
1036
+ function $t(e) {
1037
+ const {
1038
+ h: t,
1039
+ s: n,
1040
+ l: r,
1041
+ a
1042
+ } = e, i = r + n * Math.min(r, 1 - r), o = i === 0 ? 0 : 2 - 2 * r / i;
1043
+ return {
1044
+ h: t,
1045
+ s: o,
1046
+ v: i,
1047
+ a
1048
+ };
1049
+ }
1050
+ function Xn(e) {
1051
+ e = Yn(e);
1052
+ let [t, n, r, a] = Tn(e, 2).map((i) => parseInt(i, 16));
1053
+ return a = a === void 0 ? a : a / 255, {
1054
+ r: t,
1055
+ g: n,
1056
+ b: r,
1057
+ a
1058
+ };
1059
+ }
1060
+ function Yn(e) {
1061
+ 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 = rt(rt(e, 6), 8, "F")), e;
1062
+ }
1063
+ function Kn(e) {
1064
+ const t = Math.abs(gt(ie(0), ie(e)));
1065
+ return Math.abs(gt(ie(16777215), ie(e))) > Math.min(t, 50) ? "#fff" : "#000";
1066
+ }
1067
+ function Ve(e) {
1068
+ if (e._setup = e._setup ?? e.setup, !e.name)
1069
+ return oe("The component is missing an explicit name, unable to generate default prop value"), e;
1070
+ if (e._setup) {
1071
+ e.props = b(e.props ?? {}, e.name)();
1072
+ const t = Object.keys(e.props).filter((n) => n !== "class" && n !== "style");
1073
+ e.filterProps = function(r) {
1074
+ return Vn(r, t);
1075
+ }, e.props._as = String, e.setup = function(r, a) {
1076
+ const i = Ze();
1077
+ if (!i.value) return e._setup(r, a);
1078
+ const {
1079
+ props: o,
1080
+ provideSubDefaults: s
1081
+ } = Nn(r, r._as ?? e.name, i), l = e._setup(o, a);
1082
+ return s(), l;
1083
+ };
1084
+ }
1085
+ return e;
1086
+ }
1087
+ function T() {
1088
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0;
1089
+ return (t) => (e ? Ve : fn)(t);
1090
+ }
1091
+ function Zn(e) {
1092
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "div", n = arguments.length > 2 ? arguments[2] : void 0;
1093
+ return T()({
1094
+ name: n ?? xt(gn(e.replace(/__/g, "-"))),
1095
+ props: {
1096
+ tag: {
1097
+ type: String,
1098
+ default: t
1099
+ },
1100
+ ...L()
1101
+ },
1102
+ setup(r, a) {
1103
+ let {
1104
+ slots: i
1105
+ } = a;
1106
+ return () => {
1107
+ var o;
1108
+ return It(r.tag, {
1109
+ class: [e, r.class],
1110
+ style: r.style
1111
+ }, (o = i.default) == null ? void 0 : o.call(i));
1112
+ };
1113
+ }
1114
+ });
1115
+ }
1116
+ function Jn(e, t, n, r) {
1117
+ if (!n || Se(e) || Se(t)) return;
1118
+ const a = n.get(e);
1119
+ if (a)
1120
+ a.set(t, r);
1121
+ else {
1122
+ const i = /* @__PURE__ */ new WeakMap();
1123
+ i.set(t, r), n.set(e, i);
1124
+ }
1125
+ }
1126
+ function Qn(e, t, n) {
1127
+ var i, o;
1128
+ if (!n || Se(e) || Se(t)) return null;
1129
+ const r = (i = n.get(e)) == null ? void 0 : i.get(t);
1130
+ if (typeof r == "boolean") return r;
1131
+ const a = (o = n.get(t)) == null ? void 0 : o.get(e);
1132
+ return typeof a == "boolean" ? a : null;
1133
+ }
1134
+ function Ot(e, t) {
1135
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : /* @__PURE__ */ new WeakMap();
1136
+ if (e === t) return !0;
1137
+ if (e instanceof Date && t instanceof Date && e.getTime() !== t.getTime() || e !== Object(e) || t !== Object(t))
1138
+ return !1;
1139
+ const r = Object.keys(e);
1140
+ if (r.length !== Object.keys(t).length)
1141
+ return !1;
1142
+ const a = Qn(e, t, n);
1143
+ return a || (Jn(e, t, n, !0), r.every((i) => Ot(e[i], t[i], n)));
1144
+ }
1145
+ function z(e) {
1146
+ const t = j("useRender");
1147
+ t.render = e;
1148
+ }
1149
+ const U = b({
1150
+ tag: {
1151
+ type: [String, Object, Function],
1152
+ default: "div"
1153
+ }
1154
+ }, "tag"), er = b({
1155
+ ...L(),
1156
+ ...U()
1157
+ }, "VCardActions"), tr = T()({
1158
+ name: "VCardActions",
1159
+ props: er(),
1160
+ setup(e, t) {
1161
+ let {
1162
+ slots: n
1163
+ } = t;
1164
+ return Nt({
1165
+ VBtn: {
1166
+ slim: !0,
1167
+ variant: "text"
1168
+ }
1169
+ }), z(() => g(e.tag, {
1170
+ class: k(["v-card-actions", e.class]),
1171
+ style: P(e.style)
1172
+ }, n)), {};
1173
+ }
1174
+ }), nr = b({
1175
+ opacity: [Number, String],
1176
+ ...L(),
1177
+ ...U()
1178
+ }, "VCardSubtitle"), rr = T()({
1179
+ name: "VCardSubtitle",
1180
+ props: nr(),
1181
+ setup(e, t) {
1182
+ let {
1183
+ slots: n
1184
+ } = t;
1185
+ return z(() => g(e.tag, {
1186
+ class: k(["v-card-subtitle", e.class]),
1187
+ style: P([{
1188
+ "--v-card-subtitle-opacity": e.opacity
1189
+ }, e.style])
1190
+ }, n)), {};
1191
+ }
1192
+ }), ar = Zn("v-card-title"), ir = b({
1193
+ defaults: Object,
1194
+ disabled: Boolean,
1195
+ reset: [Number, String],
1196
+ root: [Boolean, String],
1197
+ scoped: Boolean
1198
+ }, "VDefaultsProvider"), xe = T(!1)({
1199
+ name: "VDefaultsProvider",
1200
+ props: ir(),
1201
+ setup(e, t) {
1202
+ let {
1203
+ slots: n
1204
+ } = t;
1205
+ const {
1206
+ defaults: r,
1207
+ disabled: a,
1208
+ reset: i,
1209
+ root: o,
1210
+ scoped: s
1211
+ } = mn(e);
1212
+ return Nt(r, {
1213
+ reset: i,
1214
+ root: o,
1215
+ scoped: s,
1216
+ disabled: a
1217
+ }), () => {
1218
+ var l;
1219
+ return (l = n.default) == null ? void 0 : l.call(n);
1220
+ };
1221
+ }
1222
+ });
1223
+ function Je(e) {
1224
+ return Et(() => {
1225
+ const {
1226
+ class: t,
1227
+ style: n
1228
+ } = sr(e);
1229
+ return {
1230
+ colorClasses: t,
1231
+ colorStyles: n
1232
+ };
1233
+ });
1234
+ }
1235
+ function Lt(e) {
1236
+ const {
1237
+ colorClasses: t,
1238
+ colorStyles: n
1239
+ } = Je(() => ({
1240
+ text: q(e)
1241
+ }));
1242
+ return {
1243
+ textColorClasses: t,
1244
+ textColorStyles: n
1245
+ };
1246
+ }
1247
+ function we(e) {
1248
+ const {
1249
+ colorClasses: t,
1250
+ colorStyles: n
1251
+ } = Je(() => ({
1252
+ background: q(e)
1253
+ }));
1254
+ return {
1255
+ backgroundColorClasses: t,
1256
+ backgroundColorStyles: n
1257
+ };
1258
+ }
1259
+ function or(e) {
1260
+ return {
1261
+ text: typeof e.text == "string" ? e.text.replace(/^text-/, "") : e.text,
1262
+ background: typeof e.background == "string" ? e.background.replace(/^bg-/, "") : e.background
1263
+ };
1264
+ }
1265
+ function sr(e) {
1266
+ const t = or(q(e)), n = [], r = {};
1267
+ if (t.background)
1268
+ if (We(t.background)) {
1269
+ if (r.backgroundColor = t.background, !t.text && qn(t.background)) {
1270
+ const a = ie(t.background);
1271
+ if (a.a == null || a.a === 1) {
1272
+ const i = Kn(a);
1273
+ r.color = i, r.caretColor = i;
1274
+ }
1275
+ }
1276
+ } else
1277
+ n.push(`bg-${t.background}`);
1278
+ return t.text && (We(t.text) ? (r.color = t.text, r.caretColor = t.text) : n.push(`text-${t.text}`)), {
1279
+ class: n,
1280
+ style: r
1281
+ };
1282
+ }
1283
+ const Z = [String, Function, Object, Array], lr = Symbol.for("vuetify:icons"), Te = b({
1284
+ icon: {
1285
+ type: Z
1286
+ },
1287
+ // Could not remove this and use makeTagProps, types complained because it is not required
1288
+ tag: {
1289
+ type: [String, Object, Function],
1290
+ required: !0
1291
+ }
1292
+ }, "icon"), ht = T()({
1293
+ name: "VComponentIcon",
1294
+ props: Te(),
1295
+ setup(e, t) {
1296
+ let {
1297
+ slots: n
1298
+ } = t;
1299
+ return () => {
1300
+ const r = e.icon;
1301
+ return g(e.tag, null, {
1302
+ default: () => {
1303
+ var a;
1304
+ return [e.icon ? g(r, null, null) : (a = n.default) == null ? void 0 : a.call(n)];
1305
+ }
1306
+ });
1307
+ };
1308
+ }
1309
+ }), ur = Ve({
1310
+ name: "VSvgIcon",
1311
+ inheritAttrs: !1,
1312
+ props: Te(),
1313
+ setup(e, t) {
1314
+ let {
1315
+ attrs: n
1316
+ } = t;
1317
+ return () => g(e.tag, se(n, {
1318
+ style: null
1319
+ }), {
1320
+ default: () => [f("svg", {
1321
+ class: "v-icon__svg",
1322
+ xmlns: "http://www.w3.org/2000/svg",
1323
+ viewBox: "0 0 24 24",
1324
+ role: "img",
1325
+ "aria-hidden": "true"
1326
+ }, [Array.isArray(e.icon) ? e.icon.map((r) => Array.isArray(r) ? f("path", {
1327
+ d: r[0],
1328
+ "fill-opacity": r[1]
1329
+ }, null) : f("path", {
1330
+ d: r
1331
+ }, null)) : f("path", {
1332
+ d: e.icon
1333
+ }, null)])]
1334
+ });
1335
+ }
1336
+ });
1337
+ Ve({
1338
+ name: "VLigatureIcon",
1339
+ props: Te(),
1340
+ setup(e) {
1341
+ return () => g(e.tag, null, {
1342
+ default: () => [e.icon]
1343
+ });
1344
+ }
1345
+ });
1346
+ Ve({
1347
+ name: "VClassIcon",
1348
+ props: Te(),
1349
+ setup(e) {
1350
+ return () => g(e.tag, {
1351
+ class: k(e.icon)
1352
+ }, null);
1353
+ }
1354
+ });
1355
+ const cr = (e) => {
1356
+ const t = de(lr);
1357
+ if (!t) throw new Error("Missing Vuetify Icons provide!");
1358
+ return {
1359
+ iconData: y(() => {
1360
+ var l;
1361
+ const r = q(e);
1362
+ if (!r) return {
1363
+ component: ht
1364
+ };
1365
+ let a = r;
1366
+ if (typeof a == "string" && (a = a.trim(), a.startsWith("$") && (a = (l = t.aliases) == null ? void 0 : l[a.slice(1)])), a || oe(`Could not find aliased icon "${r}"`), Array.isArray(a))
1367
+ return {
1368
+ component: ur,
1369
+ icon: a
1370
+ };
1371
+ if (typeof a != "string")
1372
+ return {
1373
+ component: ht,
1374
+ icon: a
1375
+ };
1376
+ const i = Object.keys(t.sets).find((u) => typeof a == "string" && a.startsWith(`${u}:`)), o = i ? a.slice(i.length + 1) : a;
1377
+ return {
1378
+ component: t.sets[i ?? t.defaultSet].component,
1379
+ icon: o
1380
+ };
1381
+ })
1382
+ };
1383
+ }, dr = ["x-small", "small", "default", "large", "x-large"], zt = b({
1384
+ size: {
1385
+ type: [String, Number],
1386
+ default: "default"
1387
+ }
1388
+ }, "size");
1389
+ function Dt(e) {
1390
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : J();
1391
+ return Et(() => {
1392
+ const n = e.size;
1393
+ let r, a;
1394
+ return je(dr, n) ? r = `${t}--size-${n}` : n && (a = {
1395
+ width: C(n),
1396
+ height: C(n)
1397
+ }), {
1398
+ sizeClasses: r,
1399
+ sizeStyles: a
1400
+ };
1401
+ });
1402
+ }
1403
+ const Ge = Symbol.for("vuetify:theme"), Be = b({
1404
+ theme: String
1405
+ }, "theme");
1406
+ function Qe(e) {
1407
+ j("provideTheme");
1408
+ const t = de(Ge, null);
1409
+ if (!t) throw new Error("Could not find Vuetify theme injection");
1410
+ const n = p(() => e.theme ?? t.name.value), r = p(() => t.themes.value[n.value]), a = p(() => t.isDisabled ? void 0 : `${t.prefix}theme--${n.value}`), i = {
1411
+ ...t,
1412
+ name: n,
1413
+ current: r,
1414
+ themeClasses: a
1415
+ };
1416
+ return Ye(Ge, i), i;
1417
+ }
1418
+ function fr() {
1419
+ j("useTheme");
1420
+ const e = de(Ge, null);
1421
+ if (!e) throw new Error("Could not find Vuetify theme injection");
1422
+ return e;
1423
+ }
1424
+ const gr = b({
1425
+ color: String,
1426
+ disabled: Boolean,
1427
+ start: Boolean,
1428
+ end: Boolean,
1429
+ icon: Z,
1430
+ opacity: [String, Number],
1431
+ ...L(),
1432
+ ...zt(),
1433
+ ...U({
1434
+ tag: "i"
1435
+ }),
1436
+ ...Be()
1437
+ }, "VIcon"), He = T()({
1438
+ name: "VIcon",
1439
+ props: gr(),
1440
+ setup(e, t) {
1441
+ let {
1442
+ attrs: n,
1443
+ slots: r
1444
+ } = t;
1445
+ const a = O(), {
1446
+ themeClasses: i
1447
+ } = fr(), {
1448
+ iconData: o
1449
+ } = cr(() => a.value || e.icon), {
1450
+ sizeClasses: s
1451
+ } = Dt(e), {
1452
+ textColorClasses: l,
1453
+ textColorStyles: u
1454
+ } = Lt(() => e.color);
1455
+ return z(() => {
1456
+ var v, m;
1457
+ const d = (v = r.default) == null ? void 0 : v.call(r);
1458
+ d && (a.value = (m = Rt(d).filter((w) => w.type === vn && w.children && typeof w.children == "string")[0]) == null ? void 0 : m.children);
1459
+ const c = !!(n.onClick || n.onClickOnce);
1460
+ return g(o.value.component, {
1461
+ tag: e.tag,
1462
+ icon: o.value.icon,
1463
+ class: k(["v-icon", "notranslate", i.value, s.value, l.value, {
1464
+ "v-icon--clickable": c,
1465
+ "v-icon--disabled": e.disabled,
1466
+ "v-icon--start": e.start,
1467
+ "v-icon--end": e.end
1468
+ }, e.class]),
1469
+ style: P([{
1470
+ "--v-icon-opacity": e.opacity
1471
+ }, s.value ? void 0 : {
1472
+ fontSize: C(e.size),
1473
+ height: C(e.size),
1474
+ width: C(e.size)
1475
+ }, u.value, e.style]),
1476
+ role: c ? "button" : void 0,
1477
+ "aria-hidden": !c,
1478
+ tabindex: c ? e.disabled ? -1 : 0 : void 0
1479
+ }, {
1480
+ default: () => [d]
1481
+ });
1482
+ }), {};
1483
+ }
1484
+ }), Ft = b({
1485
+ height: [Number, String],
1486
+ maxHeight: [Number, String],
1487
+ maxWidth: [Number, String],
1488
+ minHeight: [Number, String],
1489
+ minWidth: [Number, String],
1490
+ width: [Number, String]
1491
+ }, "dimension");
1492
+ function jt(e) {
1493
+ return {
1494
+ dimensionStyles: y(() => {
1495
+ const n = {}, r = C(e.height), a = C(e.maxHeight), i = C(e.maxWidth), o = C(e.minHeight), s = C(e.minWidth), l = C(e.width);
1496
+ return r != null && (n.height = r), a != null && (n.maxHeight = a), i != null && (n.maxWidth = i), o != null && (n.minHeight = o), s != null && (n.minWidth = s), l != null && (n.width = l), n;
1497
+ })
1498
+ };
1499
+ }
1500
+ function mr(e) {
1501
+ return {
1502
+ aspectStyles: y(() => {
1503
+ const t = Number(e.aspectRatio);
1504
+ return t ? {
1505
+ paddingBottom: String(1 / t * 100) + "%"
1506
+ } : void 0;
1507
+ })
1508
+ };
1509
+ }
1510
+ const Mt = b({
1511
+ aspectRatio: [String, Number],
1512
+ contentClass: null,
1513
+ inline: Boolean,
1514
+ ...L(),
1515
+ ...Ft()
1516
+ }, "VResponsive"), yt = T()({
1517
+ name: "VResponsive",
1518
+ props: Mt(),
1519
+ setup(e, t) {
1520
+ let {
1521
+ slots: n
1522
+ } = t;
1523
+ const {
1524
+ aspectStyles: r
1525
+ } = mr(e), {
1526
+ dimensionStyles: a
1527
+ } = jt(e);
1528
+ return z(() => {
1529
+ var i;
1530
+ return f("div", {
1531
+ class: k(["v-responsive", {
1532
+ "v-responsive--inline": e.inline
1533
+ }, e.class]),
1534
+ style: P([a.value, e.style])
1535
+ }, [f("div", {
1536
+ class: "v-responsive__sizer",
1537
+ style: P(r.value)
1538
+ }, null), (i = n.additional) == null ? void 0 : i.call(n), n.default && f("div", {
1539
+ class: k(["v-responsive__content", e.contentClass])
1540
+ }, [n.default()])]);
1541
+ }), {};
1542
+ }
1543
+ }), Ae = b({
1544
+ rounded: {
1545
+ type: [Boolean, Number, String],
1546
+ default: void 0
1547
+ },
1548
+ tile: Boolean
1549
+ }, "rounded");
1550
+ function Re(e) {
1551
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : J();
1552
+ return {
1553
+ roundedClasses: y(() => {
1554
+ const r = Le(e) ? e.value : e.rounded, a = Le(e) ? !1 : e.tile, i = [];
1555
+ if (a || r === !1)
1556
+ i.push("rounded-0");
1557
+ else if (r === !0 || r === "")
1558
+ i.push(`${t}--rounded`);
1559
+ else if (typeof r == "string" || r === 0)
1560
+ for (const o of String(r).split(" "))
1561
+ i.push(`rounded-${o}`);
1562
+ return i;
1563
+ })
1564
+ };
1565
+ }
1566
+ const vr = b({
1567
+ transition: {
1568
+ type: null,
1569
+ default: "fade-transition",
1570
+ validator: (e) => e !== !0
1571
+ }
1572
+ }, "transition"), Ce = (e, t) => {
1573
+ let {
1574
+ slots: n
1575
+ } = t;
1576
+ const {
1577
+ transition: r,
1578
+ disabled: a,
1579
+ group: i,
1580
+ ...o
1581
+ } = e, {
1582
+ component: s = i ? hn : Pt,
1583
+ ...l
1584
+ } = De(r) ? r : {};
1585
+ let u;
1586
+ return De(r) ? u = se(l, An({
1587
+ disabled: a,
1588
+ group: i
1589
+ }), o) : u = se({
1590
+ name: a || !r ? "" : r
1591
+ }, o), It(s, u, n);
1592
+ };
1593
+ function bt(e, t) {
1594
+ if (!Ke) return;
1595
+ const n = t.modifiers || {}, r = t.value, {
1596
+ handler: a,
1597
+ options: i
1598
+ } = typeof r == "object" ? r : {
1599
+ handler: r,
1600
+ options: {}
1601
+ }, o = new IntersectionObserver(function() {
1602
+ var c;
1603
+ let s = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], l = arguments.length > 1 ? arguments[1] : void 0;
1604
+ const u = (c = e._observe) == null ? void 0 : c[t.instance.$.uid];
1605
+ if (!u) return;
1606
+ const d = s.some((v) => v.isIntersecting);
1607
+ a && (!n.quiet || u.init) && (!n.once || d || u.init) && a(d, s, l), d && n.once ? qe(e, t) : u.init = !0;
1608
+ }, i);
1609
+ e._observe = Object(e._observe), e._observe[t.instance.$.uid] = {
1610
+ init: !1,
1611
+ observer: o
1612
+ }, o.observe(e);
1613
+ }
1614
+ function qe(e, t) {
1615
+ var r;
1616
+ const n = (r = e._observe) == null ? void 0 : r[t.instance.$.uid];
1617
+ n && (n.observer.unobserve(e), delete e._observe[t.instance.$.uid]);
1618
+ }
1619
+ const pt = {
1620
+ mounted: bt,
1621
+ unmounted: qe,
1622
+ updated: (e, t) => {
1623
+ var n;
1624
+ (n = e._observe) != null && n[t.instance.$.uid] && (qe(e, t), bt(e, t));
1625
+ }
1626
+ }, hr = b({
1627
+ absolute: Boolean,
1628
+ alt: String,
1629
+ cover: Boolean,
1630
+ color: String,
1631
+ draggable: {
1632
+ type: [Boolean, String],
1633
+ default: void 0
1634
+ },
1635
+ eager: Boolean,
1636
+ gradient: String,
1637
+ imageClass: null,
1638
+ lazySrc: String,
1639
+ options: {
1640
+ type: Object,
1641
+ // For more information on types, navigate to:
1642
+ // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
1643
+ default: () => ({
1644
+ root: void 0,
1645
+ rootMargin: void 0,
1646
+ threshold: void 0
1647
+ })
1648
+ },
1649
+ sizes: String,
1650
+ src: {
1651
+ type: [String, Object],
1652
+ default: ""
1653
+ },
1654
+ crossorigin: String,
1655
+ referrerpolicy: String,
1656
+ srcset: String,
1657
+ position: String,
1658
+ ...Mt(),
1659
+ ...L(),
1660
+ ...Ae(),
1661
+ ...vr()
1662
+ }, "VImg"), Wt = T()({
1663
+ name: "VImg",
1664
+ directives: {
1665
+ vIntersect: pt
1666
+ },
1667
+ props: hr(),
1668
+ emits: {
1669
+ loadstart: (e) => !0,
1670
+ load: (e) => !0,
1671
+ error: (e) => !0
1672
+ },
1673
+ setup(e, t) {
1674
+ let {
1675
+ emit: n,
1676
+ slots: r
1677
+ } = t;
1678
+ const {
1679
+ backgroundColorClasses: a,
1680
+ backgroundColorStyles: i
1681
+ } = we(() => e.color), {
1682
+ roundedClasses: o
1683
+ } = Re(e), s = j("VImg"), l = O(""), u = re(), d = O(e.eager ? "loading" : "idle"), c = O(), v = O(), m = y(() => e.src && typeof e.src == "object" ? {
1684
+ src: e.src.src,
1685
+ srcset: e.srcset || e.src.srcset,
1686
+ lazySrc: e.lazySrc || e.src.lazySrc,
1687
+ aspect: Number(e.aspectRatio || e.src.aspect || 0)
1688
+ } : {
1689
+ src: e.src,
1690
+ srcset: e.srcset,
1691
+ lazySrc: e.lazySrc,
1692
+ aspect: Number(e.aspectRatio || 0)
1693
+ }), w = y(() => m.value.aspect || c.value / v.value || 0);
1694
+ H(() => e.src, () => {
1695
+ N(d.value !== "idle");
1696
+ }), H(w, (h, S) => {
1697
+ !h && S && u.value && A(u.value);
1698
+ }), yn(() => N());
1699
+ function N(h) {
1700
+ if (!(e.eager && h) && !(Ke && !h && !e.eager)) {
1701
+ if (d.value = "loading", m.value.lazySrc) {
1702
+ const S = new Image();
1703
+ S.src = m.value.lazySrc, A(S, null);
1704
+ }
1705
+ m.value.src && bn(() => {
1706
+ var S;
1707
+ n("loadstart", ((S = u.value) == null ? void 0 : S.currentSrc) || m.value.src), setTimeout(() => {
1708
+ var I;
1709
+ if (!s.isUnmounted)
1710
+ if ((I = u.value) != null && I.complete) {
1711
+ if (u.value.naturalWidth || D(), d.value === "error") return;
1712
+ w.value || A(u.value, null), d.value === "loading" && _();
1713
+ } else
1714
+ w.value || A(u.value), B();
1715
+ });
1716
+ });
1717
+ }
1718
+ }
1719
+ function _() {
1720
+ var h;
1721
+ s.isUnmounted || (B(), A(u.value), d.value = "loaded", n("load", ((h = u.value) == null ? void 0 : h.currentSrc) || m.value.src));
1722
+ }
1723
+ function D() {
1724
+ var h;
1725
+ s.isUnmounted || (d.value = "error", n("error", ((h = u.value) == null ? void 0 : h.currentSrc) || m.value.src));
1726
+ }
1727
+ function B() {
1728
+ const h = u.value;
1729
+ h && (l.value = h.currentSrc || h.src);
1730
+ }
1731
+ let x = -1;
1732
+ Vt(() => {
1733
+ clearTimeout(x);
1734
+ });
1735
+ function A(h) {
1736
+ let S = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 100;
1737
+ const I = () => {
1738
+ if (clearTimeout(x), s.isUnmounted) return;
1739
+ const {
1740
+ naturalHeight: fe,
1741
+ naturalWidth: ge
1742
+ } = h;
1743
+ fe || ge ? (c.value = ge, v.value = fe) : !h.complete && d.value === "loading" && S != null ? x = window.setTimeout(I, S) : (h.currentSrc.endsWith(".svg") || h.currentSrc.startsWith("data:image/svg+xml")) && (c.value = 1, v.value = 1);
1744
+ };
1745
+ I();
1746
+ }
1747
+ const $ = p(() => ({
1748
+ "v-img__img--cover": e.cover,
1749
+ "v-img__img--contain": !e.cover
1750
+ })), M = () => {
1751
+ var I;
1752
+ if (!m.value.src || d.value === "idle") return null;
1753
+ const h = f("img", {
1754
+ class: k(["v-img__img", $.value, e.imageClass]),
1755
+ style: {
1756
+ objectPosition: e.position
1757
+ },
1758
+ crossorigin: e.crossorigin,
1759
+ src: m.value.src,
1760
+ srcset: m.value.srcset,
1761
+ alt: e.alt,
1762
+ referrerpolicy: e.referrerpolicy,
1763
+ draggable: e.draggable,
1764
+ sizes: e.sizes,
1765
+ ref: u,
1766
+ onLoad: _,
1767
+ onError: D
1768
+ }, null), S = (I = r.sources) == null ? void 0 : I.call(r);
1769
+ return g(Ce, {
1770
+ transition: e.transition,
1771
+ appear: !0
1772
+ }, {
1773
+ default: () => [ze(S ? f("picture", {
1774
+ class: "v-img__picture"
1775
+ }, [S, h]) : h, [[pn, d.value === "loaded"]])]
1776
+ });
1777
+ }, X = () => g(Ce, {
1778
+ transition: e.transition
1779
+ }, {
1780
+ default: () => [m.value.lazySrc && d.value !== "loaded" && f("img", {
1781
+ class: k(["v-img__img", "v-img__img--preload", $.value]),
1782
+ style: {
1783
+ objectPosition: e.position
1784
+ },
1785
+ crossorigin: e.crossorigin,
1786
+ src: m.value.lazySrc,
1787
+ alt: e.alt,
1788
+ referrerpolicy: e.referrerpolicy,
1789
+ draggable: e.draggable
1790
+ }, null)]
1791
+ }), W = () => r.placeholder ? g(Ce, {
1792
+ transition: e.transition,
1793
+ appear: !0
1794
+ }, {
1795
+ default: () => [(d.value === "loading" || d.value === "error" && !r.error) && f("div", {
1796
+ class: "v-img__placeholder"
1797
+ }, [r.placeholder()])]
1798
+ }) : null, ae = () => r.error ? g(Ce, {
1799
+ transition: e.transition,
1800
+ appear: !0
1801
+ }, {
1802
+ default: () => [d.value === "error" && f("div", {
1803
+ class: "v-img__error"
1804
+ }, [r.error()])]
1805
+ }) : null, Q = () => e.gradient ? f("div", {
1806
+ class: "v-img__gradient",
1807
+ style: {
1808
+ backgroundImage: `linear-gradient(${e.gradient})`
1809
+ }
1810
+ }, null) : null, G = O(!1);
1811
+ {
1812
+ const h = H(w, (S) => {
1813
+ S && (requestAnimationFrame(() => {
1814
+ requestAnimationFrame(() => {
1815
+ G.value = !0;
1816
+ });
1817
+ }), h());
1818
+ });
1819
+ }
1820
+ return z(() => {
1821
+ const h = yt.filterProps(e);
1822
+ return ze(g(yt, se({
1823
+ class: ["v-img", {
1824
+ "v-img--absolute": e.absolute,
1825
+ "v-img--booting": !G.value,
1826
+ "v-img--fit-content": e.width === "fit-content"
1827
+ }, a.value, o.value, e.class],
1828
+ style: [{
1829
+ width: C(e.width === "auto" ? c.value : e.width)
1830
+ }, i.value, e.style]
1831
+ }, h, {
1832
+ aspectRatio: w.value,
1833
+ "aria-label": e.alt,
1834
+ role: e.alt ? "img" : void 0
1835
+ }), {
1836
+ additional: () => f(F, null, [g(M, null, null), g(X, null, null), g(Q, null, null), g(W, null, null), g(ae, null, null)]),
1837
+ default: r.default
1838
+ }), [[pt, {
1839
+ handler: N,
1840
+ options: e.options
1841
+ }, null, {
1842
+ once: !0
1843
+ }]]);
1844
+ }), {
1845
+ currentSrc: l,
1846
+ image: u,
1847
+ state: d,
1848
+ naturalWidth: c,
1849
+ naturalHeight: v
1850
+ };
1851
+ }
1852
+ }), Gt = b({
1853
+ border: [Boolean, Number, String]
1854
+ }, "border");
1855
+ function Ht(e) {
1856
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : J();
1857
+ return {
1858
+ borderClasses: y(() => {
1859
+ const r = e.border;
1860
+ return r === !0 || r === "" ? `${t}--border` : typeof r == "string" || r === 0 ? String(r).split(" ").map((a) => `border-${a}`) : [];
1861
+ })
1862
+ };
1863
+ }
1864
+ const yr = [null, "default", "comfortable", "compact"], et = b({
1865
+ density: {
1866
+ type: String,
1867
+ default: "default",
1868
+ validator: (e) => yr.includes(e)
1869
+ }
1870
+ }, "density");
1871
+ function qt(e) {
1872
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : J();
1873
+ return {
1874
+ densityClasses: p(() => `${t}--density-${e.density}`)
1875
+ };
1876
+ }
1877
+ const br = ["elevated", "flat", "tonal", "outlined", "text", "plain"];
1878
+ function Ut(e, t) {
1879
+ return f(F, null, [e && f("span", {
1880
+ key: "overlay",
1881
+ class: k(`${t}__overlay`)
1882
+ }, null), f("span", {
1883
+ key: "underlay",
1884
+ class: k(`${t}__underlay`)
1885
+ }, null)]);
1886
+ }
1887
+ const Xt = b({
1888
+ color: String,
1889
+ variant: {
1890
+ type: String,
1891
+ default: "elevated",
1892
+ validator: (e) => br.includes(e)
1893
+ }
1894
+ }, "variant");
1895
+ function Yt(e) {
1896
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : J();
1897
+ const n = p(() => {
1898
+ const {
1899
+ variant: i
1900
+ } = q(e);
1901
+ return `${t}--variant-${i}`;
1902
+ }), {
1903
+ colorClasses: r,
1904
+ colorStyles: a
1905
+ } = Je(() => {
1906
+ const {
1907
+ variant: i,
1908
+ color: o
1909
+ } = q(e);
1910
+ return {
1911
+ [["elevated", "flat"].includes(i) ? "background" : "text"]: o
1912
+ };
1913
+ });
1914
+ return {
1915
+ colorClasses: r,
1916
+ colorStyles: a,
1917
+ variantClasses: n
1918
+ };
1919
+ }
1920
+ const pr = b({
1921
+ start: Boolean,
1922
+ end: Boolean,
1923
+ icon: Z,
1924
+ image: String,
1925
+ text: String,
1926
+ ...Gt(),
1927
+ ...L(),
1928
+ ...et(),
1929
+ ...Ae(),
1930
+ ...zt(),
1931
+ ...U(),
1932
+ ...Be(),
1933
+ ...Xt({
1934
+ variant: "flat"
1935
+ })
1936
+ }, "VAvatar"), Ct = T()({
1937
+ name: "VAvatar",
1938
+ props: pr(),
1939
+ setup(e, t) {
1940
+ let {
1941
+ slots: n
1942
+ } = t;
1943
+ const {
1944
+ themeClasses: r
1945
+ } = Qe(e), {
1946
+ borderClasses: a
1947
+ } = Ht(e), {
1948
+ colorClasses: i,
1949
+ colorStyles: o,
1950
+ variantClasses: s
1951
+ } = Yt(e), {
1952
+ densityClasses: l
1953
+ } = qt(e), {
1954
+ roundedClasses: u
1955
+ } = Re(e), {
1956
+ sizeClasses: d,
1957
+ sizeStyles: c
1958
+ } = Dt(e);
1959
+ return z(() => g(e.tag, {
1960
+ class: k(["v-avatar", {
1961
+ "v-avatar--start": e.start,
1962
+ "v-avatar--end": e.end
1963
+ }, r.value, a.value, i.value, l.value, u.value, d.value, s.value, e.class]),
1964
+ style: P([o.value, c.value, e.style])
1965
+ }, {
1966
+ default: () => [n.default ? g(xe, {
1967
+ key: "content-defaults",
1968
+ defaults: {
1969
+ VImg: {
1970
+ cover: !0,
1971
+ src: e.image
1972
+ },
1973
+ VIcon: {
1974
+ icon: e.icon
1975
+ }
1976
+ }
1977
+ }, {
1978
+ default: () => [n.default()]
1979
+ }) : e.image ? g(Wt, {
1980
+ key: "image",
1981
+ src: e.image,
1982
+ alt: "",
1983
+ cover: !0
1984
+ }, null) : e.icon ? g(He, {
1985
+ key: "icon",
1986
+ icon: e.icon
1987
+ }, null) : e.text, Ut(!1, "v-avatar")]
1988
+ })), {};
1989
+ }
1990
+ }), Cr = b({
1991
+ appendAvatar: String,
1992
+ appendIcon: Z,
1993
+ prependAvatar: String,
1994
+ prependIcon: Z,
1995
+ subtitle: {
1996
+ type: [String, Number, Boolean],
1997
+ default: void 0
1998
+ },
1999
+ title: {
2000
+ type: [String, Number, Boolean],
2001
+ default: void 0
2002
+ },
2003
+ ...L(),
2004
+ ...et(),
2005
+ ...U()
2006
+ }, "VCardItem"), wr = T()({
2007
+ name: "VCardItem",
2008
+ props: Cr(),
2009
+ setup(e, t) {
2010
+ let {
2011
+ slots: n
2012
+ } = t;
2013
+ return z(() => {
2014
+ const r = !!(e.prependAvatar || e.prependIcon), a = !!(r || n.prepend), i = !!(e.appendAvatar || e.appendIcon), o = !!(i || n.append), s = !!(e.title != null || n.title), l = !!(e.subtitle != null || n.subtitle);
2015
+ return g(e.tag, {
2016
+ class: k(["v-card-item", e.class]),
2017
+ style: P(e.style)
2018
+ }, {
2019
+ default: () => {
2020
+ var u;
2021
+ return [a && f("div", {
2022
+ key: "prepend",
2023
+ class: "v-card-item__prepend"
2024
+ }, [n.prepend ? g(xe, {
2025
+ key: "prepend-defaults",
2026
+ disabled: !r,
2027
+ defaults: {
2028
+ VAvatar: {
2029
+ density: e.density,
2030
+ image: e.prependAvatar
2031
+ },
2032
+ VIcon: {
2033
+ density: e.density,
2034
+ icon: e.prependIcon
2035
+ }
2036
+ }
2037
+ }, n.prepend) : f(F, null, [e.prependAvatar && g(Ct, {
2038
+ key: "prepend-avatar",
2039
+ density: e.density,
2040
+ image: e.prependAvatar
2041
+ }, null), e.prependIcon && g(He, {
2042
+ key: "prepend-icon",
2043
+ density: e.density,
2044
+ icon: e.prependIcon
2045
+ }, null)])]), f("div", {
2046
+ class: "v-card-item__content"
2047
+ }, [s && g(ar, {
2048
+ key: "title"
2049
+ }, {
2050
+ default: () => {
2051
+ var d;
2052
+ return [((d = n.title) == null ? void 0 : d.call(n)) ?? te(e.title)];
2053
+ }
2054
+ }), l && g(rr, {
2055
+ key: "subtitle"
2056
+ }, {
2057
+ default: () => {
2058
+ var d;
2059
+ return [((d = n.subtitle) == null ? void 0 : d.call(n)) ?? te(e.subtitle)];
2060
+ }
2061
+ }), (u = n.default) == null ? void 0 : u.call(n)]), o && f("div", {
2062
+ key: "append",
2063
+ class: "v-card-item__append"
2064
+ }, [n.append ? g(xe, {
2065
+ key: "append-defaults",
2066
+ disabled: !i,
2067
+ defaults: {
2068
+ VAvatar: {
2069
+ density: e.density,
2070
+ image: e.appendAvatar
2071
+ },
2072
+ VIcon: {
2073
+ density: e.density,
2074
+ icon: e.appendIcon
2075
+ }
2076
+ }
2077
+ }, n.append) : f(F, null, [e.appendIcon && g(He, {
2078
+ key: "append-icon",
2079
+ density: e.density,
2080
+ icon: e.appendIcon
2081
+ }, null), e.appendAvatar && g(Ct, {
2082
+ key: "append-avatar",
2083
+ density: e.density,
2084
+ image: e.appendAvatar
2085
+ }, null)])])];
2086
+ }
2087
+ });
2088
+ }), {};
2089
+ }
2090
+ }), kr = b({
2091
+ opacity: [Number, String],
2092
+ ...L(),
2093
+ ...U()
2094
+ }, "VCardText"), Sr = T()({
2095
+ name: "VCardText",
2096
+ props: kr(),
2097
+ setup(e, t) {
2098
+ let {
2099
+ slots: n
2100
+ } = t;
2101
+ return z(() => g(e.tag, {
2102
+ class: k(["v-card-text", e.class]),
2103
+ style: P([{
2104
+ "--v-card-text-opacity": e.opacity
2105
+ }, e.style])
2106
+ }, n)), {};
2107
+ }
2108
+ }), _r = b({
2109
+ elevation: {
2110
+ type: [Number, String],
2111
+ validator(e) {
2112
+ const t = parseInt(e);
2113
+ return !isNaN(t) && t >= 0 && // Material Design has a maximum elevation of 24
2114
+ // https://material.io/design/environment/elevation.html#default-elevations
2115
+ t <= 24;
2116
+ }
2117
+ }
2118
+ }, "elevation");
2119
+ function xr(e) {
2120
+ return {
2121
+ elevationClasses: p(() => {
2122
+ const n = Le(e) ? e.value : e.elevation;
2123
+ return n == null ? [] : [`elevation-${n}`];
2124
+ })
2125
+ };
2126
+ }
2127
+ function Ir(e, t) {
2128
+ const n = re(), r = O(!1);
2129
+ if (Ke) {
2130
+ const a = new IntersectionObserver((i) => {
2131
+ r.value = !!i.find((o) => o.isIntersecting);
2132
+ }, t);
2133
+ Tt(() => {
2134
+ a.disconnect();
2135
+ }), H(n, (i, o) => {
2136
+ o && (a.unobserve(o), r.value = !1), i && a.observe(i);
2137
+ }, {
2138
+ flush: "post"
2139
+ });
2140
+ }
2141
+ return {
2142
+ intersectionRef: n,
2143
+ isIntersecting: r
2144
+ };
2145
+ }
2146
+ function Kt(e, t) {
2147
+ let n;
2148
+ function r() {
2149
+ n = Cn(), n.run(() => t.length ? t(() => {
2150
+ n == null || n.stop(), r();
2151
+ }) : t());
2152
+ }
2153
+ H(e, (a) => {
2154
+ a && !n ? r() : a || (n == null || n.stop(), n = void 0);
2155
+ }, {
2156
+ immediate: !0
2157
+ }), Tt(() => {
2158
+ n == null || n.stop();
2159
+ });
2160
+ }
2161
+ function Pr(e, t, n) {
2162
+ let r = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : (c) => c, a = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : (c) => c;
2163
+ const i = j("useProxiedModel"), o = re(e[t] !== void 0 ? e[t] : n), s = K(t), u = s !== t ? y(() => {
2164
+ var c, v, m, w;
2165
+ return e[t], !!(((c = i.vnode.props) != null && c.hasOwnProperty(t) || (v = i.vnode.props) != null && v.hasOwnProperty(s)) && ((m = i.vnode.props) != null && m.hasOwnProperty(`onUpdate:${t}`) || (w = i.vnode.props) != null && w.hasOwnProperty(`onUpdate:${s}`)));
2166
+ }) : y(() => {
2167
+ var c, v;
2168
+ return e[t], !!((c = i.vnode.props) != null && c.hasOwnProperty(t) && ((v = i.vnode.props) != null && v.hasOwnProperty(`onUpdate:${t}`)));
2169
+ });
2170
+ Kt(() => !u.value, () => {
2171
+ H(() => e[t], (c) => {
2172
+ o.value = c;
2173
+ });
2174
+ });
2175
+ const d = y({
2176
+ get() {
2177
+ const c = e[t];
2178
+ return r(u.value ? c : o.value);
2179
+ },
2180
+ set(c) {
2181
+ const v = a(c), m = wn(u.value ? e[t] : o.value);
2182
+ m === v || r(m) === c || (o.value = v, i == null || i.emit(`update:${t}`, v));
2183
+ }
2184
+ });
2185
+ return Object.defineProperty(d, "externalValue", {
2186
+ get: () => u.value ? e[t] : o.value
2187
+ }), d;
2188
+ }
2189
+ const Vr = Symbol.for("vuetify:locale");
2190
+ function Zt() {
2191
+ const e = de(Vr);
2192
+ if (!e) throw new Error("[Vuetify] Could not find injected rtl instance");
2193
+ return {
2194
+ isRtl: e.isRtl,
2195
+ rtlClasses: e.rtlClasses
2196
+ };
2197
+ }
2198
+ const wt = {
2199
+ center: "center",
2200
+ top: "bottom",
2201
+ bottom: "top",
2202
+ left: "right",
2203
+ right: "left"
2204
+ }, Jt = b({
2205
+ location: String
2206
+ }, "location");
2207
+ function Qt(e) {
2208
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1, n = arguments.length > 2 ? arguments[2] : void 0;
2209
+ const {
2210
+ isRtl: r
2211
+ } = Zt();
2212
+ return {
2213
+ locationStyles: y(() => {
2214
+ if (!e.location) return {};
2215
+ const {
2216
+ side: i,
2217
+ align: o
2218
+ } = Ln(e.location.split(" ").length > 1 ? e.location : `${e.location} center`, r.value);
2219
+ function s(u) {
2220
+ return n ? n(u) : 0;
2221
+ }
2222
+ const l = {};
2223
+ return i !== "center" && (t ? l[wt[i]] = `calc(100% - ${s(i)}px)` : l[i] = 0), o !== "center" ? t ? l[wt[o]] = `calc(100% - ${s(o)}px)` : l[o] = 0 : (i === "center" ? l.top = l.left = "50%" : l[{
2224
+ top: "left",
2225
+ bottom: "left",
2226
+ left: "top",
2227
+ right: "top"
2228
+ }[i]] = "50%", l.transform = {
2229
+ top: "translateX(-50%)",
2230
+ bottom: "translateX(-50%)",
2231
+ left: "translateY(-50%)",
2232
+ right: "translateY(-50%)",
2233
+ center: "translate(-50%, -50%)"
2234
+ }[i]), l;
2235
+ })
2236
+ };
2237
+ }
2238
+ function Tr(e) {
2239
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "content";
2240
+ const n = Bn(), r = re();
2241
+ if (At) {
2242
+ const a = new ResizeObserver((i) => {
2243
+ e == null || e(i, a), i.length && (t === "content" ? r.value = i[0].contentRect : r.value = i[0].target.getBoundingClientRect());
2244
+ });
2245
+ Vt(() => {
2246
+ a.disconnect();
2247
+ }), H(() => n.el, (i, o) => {
2248
+ o && (a.unobserve(o), r.value = void 0), i && a.observe(i);
2249
+ }, {
2250
+ flush: "post"
2251
+ });
2252
+ }
2253
+ return {
2254
+ resizeRef: n,
2255
+ contentRect: kn(r)
2256
+ };
2257
+ }
2258
+ const Br = b({
2259
+ chunkCount: {
2260
+ type: [Number, String],
2261
+ default: null
2262
+ },
2263
+ chunkWidth: {
2264
+ type: [Number, String],
2265
+ default: null
2266
+ },
2267
+ chunkGap: {
2268
+ type: [Number, String],
2269
+ default: 4
2270
+ }
2271
+ }, "chunks");
2272
+ function Ar(e, t) {
2273
+ const n = p(() => !!e.chunkCount || !!e.chunkWidth), r = y(() => {
2274
+ const s = q(t);
2275
+ if (!s)
2276
+ return 0;
2277
+ if (!e.chunkCount)
2278
+ return Number(e.chunkWidth);
2279
+ const l = Number(e.chunkCount);
2280
+ return (s - Number(e.chunkGap) * (l - 1)) / l;
2281
+ }), a = p(() => Number(e.chunkGap)), i = y(() => {
2282
+ if (!n.value)
2283
+ return {};
2284
+ const s = C(a.value), l = C(r.value);
2285
+ return {
2286
+ maskRepeat: "repeat-x",
2287
+ maskImage: `linear-gradient(90deg, #000, #000 ${l}, transparent ${l}, transparent)`,
2288
+ maskSize: `calc(${l} + ${s}) 100%`
2289
+ };
2290
+ });
2291
+ function o(s) {
2292
+ const l = q(t);
2293
+ if (!l)
2294
+ return s;
2295
+ const u = 100 * a.value / l, d = 100 * (r.value + a.value) / l, c = Math.floor((s + u) / d + 1e-9);
2296
+ return Fe(c * d - u / 2, 0, 100);
2297
+ }
2298
+ return {
2299
+ hasChunks: n,
2300
+ chunksMaskStyles: i,
2301
+ snapValueToChunk: o
2302
+ };
2303
+ }
2304
+ const Rr = b({
2305
+ absolute: Boolean,
2306
+ active: {
2307
+ type: Boolean,
2308
+ default: !0
2309
+ },
2310
+ bgColor: String,
2311
+ bgOpacity: [Number, String],
2312
+ bufferValue: {
2313
+ type: [Number, String],
2314
+ default: 0
2315
+ },
2316
+ bufferColor: String,
2317
+ bufferOpacity: [Number, String],
2318
+ clickable: Boolean,
2319
+ color: String,
2320
+ height: {
2321
+ type: [Number, String],
2322
+ default: 4
2323
+ },
2324
+ indeterminate: Boolean,
2325
+ max: {
2326
+ type: [Number, String],
2327
+ default: 100
2328
+ },
2329
+ modelValue: {
2330
+ type: [Number, String],
2331
+ default: 0
2332
+ },
2333
+ opacity: [Number, String],
2334
+ reverse: Boolean,
2335
+ stream: Boolean,
2336
+ striped: Boolean,
2337
+ roundedBar: Boolean,
2338
+ ...Br(),
2339
+ ...L(),
2340
+ ...Jt({
2341
+ location: "top"
2342
+ }),
2343
+ ...Ae(),
2344
+ ...U(),
2345
+ ...Be()
2346
+ }, "VProgressLinear"), Er = T()({
2347
+ name: "VProgressLinear",
2348
+ props: Rr(),
2349
+ emits: {
2350
+ "update:modelValue": (e) => !0
2351
+ },
2352
+ setup(e, t) {
2353
+ let {
2354
+ slots: n
2355
+ } = t;
2356
+ const r = re(), a = Pr(e, "modelValue"), {
2357
+ isRtl: i,
2358
+ rtlClasses: o
2359
+ } = Zt(), {
2360
+ themeClasses: s
2361
+ } = Qe(e), {
2362
+ locationStyles: l
2363
+ } = Qt(e), {
2364
+ textColorClasses: u,
2365
+ textColorStyles: d
2366
+ } = Lt(() => e.color), {
2367
+ backgroundColorClasses: c,
2368
+ backgroundColorStyles: v
2369
+ } = we(() => e.bgColor || e.color), {
2370
+ backgroundColorClasses: m,
2371
+ backgroundColorStyles: w
2372
+ } = we(() => e.bufferColor || e.bgColor || e.color), {
2373
+ backgroundColorClasses: N,
2374
+ backgroundColorStyles: _
2375
+ } = we(() => e.color), {
2376
+ roundedClasses: D
2377
+ } = Re(e), {
2378
+ intersectionRef: B,
2379
+ isIntersecting: x
2380
+ } = Ir(), A = y(() => parseFloat(e.max)), $ = y(() => parseFloat(e.height)), M = y(() => Fe(parseFloat(e.bufferValue) / A.value * 100, 0, 100)), X = y(() => Fe(parseFloat(a.value) / A.value * 100, 0, 100)), W = y(() => i.value !== e.reverse), ae = y(() => e.indeterminate ? "fade-transition" : "slide-x-transition"), Q = O(0), {
2381
+ hasChunks: G,
2382
+ chunksMaskStyles: h,
2383
+ snapValueToChunk: S
2384
+ } = Ar(e, Q);
2385
+ Kt(G, () => {
2386
+ const {
2387
+ resizeRef: Y
2388
+ } = Tr((Ee) => Q.value = Ee[0].contentRect.width);
2389
+ ke(() => Y.value = r.value);
2390
+ });
2391
+ const I = y(() => G.value ? S(M.value) : M.value), fe = y(() => G.value ? S(X.value) : X.value);
2392
+ function ge(Y) {
2393
+ if (!B.value) return;
2394
+ const {
2395
+ left: Ee,
2396
+ right: ln,
2397
+ width: Ne
2398
+ } = B.value.getBoundingClientRect(), un = W.value ? Ne - Y.clientX + (ln - Ne) : Y.clientX - Ee;
2399
+ a.value = Math.round(un / Ne * A.value);
2400
+ }
2401
+ return ke(() => {
2402
+ B.value = r.value;
2403
+ }), z(() => g(e.tag, {
2404
+ ref: r,
2405
+ class: k(["v-progress-linear", {
2406
+ "v-progress-linear--absolute": e.absolute,
2407
+ "v-progress-linear--active": e.active && x.value,
2408
+ "v-progress-linear--reverse": W.value,
2409
+ "v-progress-linear--rounded": e.rounded,
2410
+ "v-progress-linear--rounded-bar": e.roundedBar,
2411
+ "v-progress-linear--striped": e.striped,
2412
+ "v-progress-linear--clickable": e.clickable
2413
+ }, D.value, s.value, o.value, e.class]),
2414
+ style: P([{
2415
+ bottom: e.location === "bottom" ? 0 : void 0,
2416
+ top: e.location === "top" ? 0 : void 0,
2417
+ height: e.active ? C($.value) : 0,
2418
+ "--v-progress-linear-height": C($.value),
2419
+ ...e.absolute ? l.value : {}
2420
+ }, h.value, e.style]),
2421
+ role: "progressbar",
2422
+ "aria-hidden": e.active ? "false" : "true",
2423
+ "aria-valuemin": "0",
2424
+ "aria-valuemax": e.max,
2425
+ "aria-valuenow": e.indeterminate ? void 0 : Math.min(parseFloat(a.value), A.value),
2426
+ onClick: e.clickable && ge
2427
+ }, {
2428
+ default: () => [e.stream && f("div", {
2429
+ key: "stream",
2430
+ class: k(["v-progress-linear__stream", u.value]),
2431
+ style: {
2432
+ ...d.value,
2433
+ [W.value ? "left" : "right"]: C(-$.value),
2434
+ borderTop: `${C($.value / 2)} dotted`,
2435
+ opacity: e.bufferOpacity != null ? parseFloat(e.bufferOpacity) : void 0,
2436
+ top: `calc(50% - ${C($.value / 4)})`,
2437
+ width: C(100 - M.value, "%"),
2438
+ "--v-progress-linear-stream-to": C($.value * (W.value ? 1 : -1))
2439
+ }
2440
+ }, null), f("div", {
2441
+ class: k(["v-progress-linear__background", c.value]),
2442
+ style: P([v.value, {
2443
+ opacity: e.bgOpacity != null ? parseFloat(e.bgOpacity) : void 0,
2444
+ width: e.stream ? 0 : void 0
2445
+ }])
2446
+ }, null), f("div", {
2447
+ class: k(["v-progress-linear__buffer", m.value]),
2448
+ style: P([w.value, {
2449
+ opacity: e.bufferOpacity != null ? parseFloat(e.bufferOpacity) : void 0,
2450
+ width: C(I.value, "%")
2451
+ }])
2452
+ }, null), g(Pt, {
2453
+ name: ae.value
2454
+ }, {
2455
+ default: () => [e.indeterminate ? f("div", {
2456
+ class: "v-progress-linear__indeterminate"
2457
+ }, [["long", "short"].map((Y) => f("div", {
2458
+ key: Y,
2459
+ class: k(["v-progress-linear__indeterminate", Y, N.value]),
2460
+ style: P(_.value)
2461
+ }, null))]) : f("div", {
2462
+ class: k(["v-progress-linear__determinate", N.value]),
2463
+ style: P([_.value, {
2464
+ width: C(fe.value, "%")
2465
+ }])
2466
+ }, null)]
2467
+ }), n.default && f("div", {
2468
+ class: "v-progress-linear__content"
2469
+ }, [n.default({
2470
+ value: X.value,
2471
+ buffer: M.value
2472
+ })])]
2473
+ })), {};
2474
+ }
2475
+ }), Nr = b({
2476
+ loading: [Boolean, String]
2477
+ }, "loader");
2478
+ function $r(e) {
2479
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : J();
2480
+ return {
2481
+ loaderClasses: p(() => ({
2482
+ [`${t}--loading`]: e.loading
2483
+ }))
2484
+ };
2485
+ }
2486
+ function Or(e, t) {
2487
+ var r;
2488
+ let {
2489
+ slots: n
2490
+ } = t;
2491
+ return f("div", {
2492
+ class: k(`${e.name}__loader`)
2493
+ }, [((r = n.default) == null ? void 0 : r.call(n, {
2494
+ color: e.color,
2495
+ isActive: e.active
2496
+ })) || g(Er, {
2497
+ absolute: e.absolute,
2498
+ active: e.active,
2499
+ color: e.color,
2500
+ height: "2",
2501
+ indeterminate: !0
2502
+ }, null)]);
2503
+ }
2504
+ const Lr = ["static", "relative", "fixed", "absolute", "sticky"], zr = b({
2505
+ position: {
2506
+ type: String,
2507
+ validator: (
2508
+ /* istanbul ignore next */
2509
+ (e) => Lr.includes(e)
2510
+ )
2511
+ }
2512
+ }, "position");
2513
+ function Dr(e) {
2514
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : J();
2515
+ return {
2516
+ positionClasses: p(() => e.position ? `${t}--${e.position}` : void 0)
2517
+ };
2518
+ }
2519
+ function Fr() {
2520
+ const e = j("useRoute");
2521
+ return y(() => {
2522
+ var t;
2523
+ return (t = e == null ? void 0 : e.proxy) == null ? void 0 : t.$route;
2524
+ });
2525
+ }
2526
+ function jr(e, t) {
2527
+ const n = Sn("RouterLink"), r = p(() => !!(e.href || e.to)), a = y(() => (r == null ? void 0 : r.value) || at(t, "click") || at(e, "click"));
2528
+ if (typeof n == "string" || !("useLink" in n)) {
2529
+ const c = p(() => e.href);
2530
+ return {
2531
+ isLink: r,
2532
+ isRouterLink: p(() => !1),
2533
+ isClickable: a,
2534
+ href: c,
2535
+ linkProps: Oe({
2536
+ href: c
2537
+ }),
2538
+ route: p(() => {
2539
+ }),
2540
+ navigate: p(() => {
2541
+ })
2542
+ };
2543
+ }
2544
+ const i = n.useLink({
2545
+ to: p(() => e.to || ""),
2546
+ replace: p(() => e.replace)
2547
+ }), o = y(() => e.to ? i : void 0), s = Fr(), l = y(() => {
2548
+ var c, v, m;
2549
+ return o.value ? e.exact ? s.value ? ((m = o.value.isExactActive) == null ? void 0 : m.value) && Ot(o.value.route.value.query, s.value.query) : ((v = o.value.isExactActive) == null ? void 0 : v.value) ?? !1 : ((c = o.value.isActive) == null ? void 0 : c.value) ?? !1 : !1;
2550
+ }), u = y(() => {
2551
+ var c;
2552
+ return e.to ? (c = o.value) == null ? void 0 : c.route.value.href : e.href;
2553
+ }), d = p(() => !!e.to);
2554
+ return {
2555
+ isLink: r,
2556
+ isRouterLink: d,
2557
+ isClickable: a,
2558
+ isActive: l,
2559
+ route: p(() => {
2560
+ var c;
2561
+ return (c = o.value) == null ? void 0 : c.route.value;
2562
+ }),
2563
+ navigate: p(() => {
2564
+ var c;
2565
+ return (c = o.value) == null ? void 0 : c.navigate;
2566
+ }),
2567
+ href: u,
2568
+ linkProps: Oe({
2569
+ href: u,
2570
+ "aria-current": p(() => l.value ? "page" : void 0),
2571
+ "aria-disabled": p(() => e.disabled && r.value ? "true" : void 0),
2572
+ tabindex: p(() => e.disabled && r.value ? "-1" : void 0)
2573
+ })
2574
+ };
2575
+ }
2576
+ const Mr = b({
2577
+ href: String,
2578
+ replace: Boolean,
2579
+ to: [String, Object],
2580
+ exact: Boolean
2581
+ }, "router"), Ue = Symbol("rippleStop"), Wr = 80;
2582
+ function kt(e, t) {
2583
+ e.style.transform = t, e.style.webkitTransform = t;
2584
+ }
2585
+ function Xe(e) {
2586
+ return e.constructor.name === "TouchEvent";
2587
+ }
2588
+ function en(e) {
2589
+ return e.constructor.name === "KeyboardEvent";
2590
+ }
2591
+ const Gr = function(e, t) {
2592
+ var c;
2593
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, r = 0, a = 0;
2594
+ if (!en(e)) {
2595
+ const v = new Me(t), m = Xe(e) ? e.touches[e.touches.length - 1] : e, w = zn([m.clientX, m.clientY]);
2596
+ r = w.x - v.left, a = w.y - v.top;
2597
+ }
2598
+ let i = 0, o = 0.3;
2599
+ (c = t._ripple) != null && c.circle ? (o = 0.15, i = t.clientWidth / 2, i = n.center ? i : i + Math.sqrt((r - i) ** 2 + (a - i) ** 2) / 4) : i = Math.sqrt(t.clientWidth ** 2 + t.clientHeight ** 2) / 2;
2600
+ const s = `${(t.clientWidth - i * 2) / 2}px`, l = `${(t.clientHeight - i * 2) / 2}px`, u = n.center ? s : `${r - i}px`, d = n.center ? l : `${a - i}px`;
2601
+ return {
2602
+ radius: i,
2603
+ scale: o,
2604
+ x: u,
2605
+ y: d,
2606
+ centerX: s,
2607
+ centerY: l
2608
+ };
2609
+ }, Ie = {
2610
+ /* eslint-disable max-statements */
2611
+ show(e, t) {
2612
+ var m;
2613
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
2614
+ if (!((m = t == null ? void 0 : t._ripple) != null && m.enabled))
2615
+ return;
2616
+ const r = document.createElement("span"), a = document.createElement("span");
2617
+ r.appendChild(a), r.className = "v-ripple__container", n.class && (r.className += ` ${n.class}`);
2618
+ const {
2619
+ radius: i,
2620
+ scale: o,
2621
+ x: s,
2622
+ y: l,
2623
+ centerX: u,
2624
+ centerY: d
2625
+ } = Gr(e, t, n), c = `${i * 2}px`;
2626
+ a.className = "v-ripple__animation", a.style.width = c, a.style.height = c, t.appendChild(r);
2627
+ const v = window.getComputedStyle(t);
2628
+ v && v.position === "static" && (t.style.position = "relative", t.dataset.previousPosition = "static"), a.classList.add("v-ripple__animation--enter"), a.classList.add("v-ripple__animation--visible"), kt(a, `translate(${s}, ${l}) scale3d(${o},${o},${o})`), a.dataset.activated = String(performance.now()), requestAnimationFrame(() => {
2629
+ requestAnimationFrame(() => {
2630
+ a.classList.remove("v-ripple__animation--enter"), a.classList.add("v-ripple__animation--in"), kt(a, `translate(${u}, ${d}) scale3d(1,1,1)`);
2631
+ });
2632
+ });
2633
+ },
2634
+ hide(e) {
2635
+ var i;
2636
+ if (!((i = e == null ? void 0 : e._ripple) != null && i.enabled)) return;
2637
+ const t = e.getElementsByClassName("v-ripple__animation");
2638
+ if (t.length === 0) return;
2639
+ const n = Array.from(t).findLast((o) => !o.dataset.isHiding);
2640
+ if (n) n.dataset.isHiding = "true";
2641
+ else return;
2642
+ const r = performance.now() - Number(n.dataset.activated), a = Math.max(250 - r, 0);
2643
+ setTimeout(() => {
2644
+ n.classList.remove("v-ripple__animation--in"), n.classList.add("v-ripple__animation--out"), setTimeout(() => {
2645
+ var s;
2646
+ e.getElementsByClassName("v-ripple__animation").length === 1 && e.dataset.previousPosition && (e.style.position = e.dataset.previousPosition, delete e.dataset.previousPosition), ((s = n.parentNode) == null ? void 0 : s.parentNode) === e && e.removeChild(n.parentNode);
2647
+ }, 300);
2648
+ }, a);
2649
+ }
2650
+ };
2651
+ function tn(e) {
2652
+ return typeof e > "u" || !!e;
2653
+ }
2654
+ function ue(e) {
2655
+ const t = {}, n = e.currentTarget;
2656
+ if (!(!(n != null && n._ripple) || n._ripple.touched || e[Ue])) {
2657
+ if (e[Ue] = !0, Xe(e))
2658
+ n._ripple.touched = !0, n._ripple.isTouch = !0;
2659
+ else if (n._ripple.isTouch) return;
2660
+ if (t.center = n._ripple.centered || en(e), n._ripple.class && (t.class = n._ripple.class), Xe(e)) {
2661
+ if (n._ripple.showTimerCommit) return;
2662
+ n._ripple.showTimerCommit = () => {
2663
+ Ie.show(e, n, t);
2664
+ }, n._ripple.showTimer = window.setTimeout(() => {
2665
+ var r;
2666
+ (r = n == null ? void 0 : n._ripple) != null && r.showTimerCommit && (n._ripple.showTimerCommit(), n._ripple.showTimerCommit = null);
2667
+ }, Wr);
2668
+ } else
2669
+ Ie.show(e, n, t);
2670
+ }
2671
+ }
2672
+ function Pe(e) {
2673
+ e[Ue] = !0;
2674
+ }
2675
+ function V(e) {
2676
+ const t = e.currentTarget;
2677
+ if (t != null && t._ripple) {
2678
+ if (window.clearTimeout(t._ripple.showTimer), e.type === "touchend" && t._ripple.showTimerCommit) {
2679
+ t._ripple.showTimerCommit(), t._ripple.showTimerCommit = null, t._ripple.showTimer = window.setTimeout(() => {
2680
+ V(e);
2681
+ });
2682
+ return;
2683
+ }
2684
+ window.setTimeout(() => {
2685
+ t._ripple && (t._ripple.touched = !1);
2686
+ }), Ie.hide(t);
2687
+ }
2688
+ }
2689
+ function nn(e) {
2690
+ const t = e.currentTarget;
2691
+ t != null && t._ripple && (t._ripple.showTimerCommit && (t._ripple.showTimerCommit = null), window.clearTimeout(t._ripple.showTimer));
2692
+ }
2693
+ let ce = !1;
2694
+ function Hr(e, t) {
2695
+ !ce && t.includes(e.key) && (ce = !0, ue(e));
2696
+ }
2697
+ function rn(e) {
2698
+ ce = !1, V(e);
2699
+ }
2700
+ function an(e) {
2701
+ ce && (ce = !1, V(e));
2702
+ }
2703
+ function on(e, t, n) {
2704
+ const {
2705
+ value: r,
2706
+ modifiers: a
2707
+ } = t, i = tn(r);
2708
+ i || Ie.hide(e), e._ripple = e._ripple ?? {}, e._ripple.enabled = i, e._ripple.centered = a.center, e._ripple.circle = a.circle;
2709
+ const o = De(r) ? r : {};
2710
+ o.class && (e._ripple.class = o.class);
2711
+ const s = o.keys ?? ["Enter", "Space"];
2712
+ if (e._ripple.keyDownHandler = (l) => Hr(l, s), i && !n) {
2713
+ if (a.stop) {
2714
+ e.addEventListener("touchstart", Pe, {
2715
+ passive: !0
2716
+ }), e.addEventListener("mousedown", Pe);
2717
+ return;
2718
+ }
2719
+ e.addEventListener("touchstart", ue, {
2720
+ passive: !0
2721
+ }), e.addEventListener("touchend", V, {
2722
+ passive: !0
2723
+ }), e.addEventListener("touchmove", nn, {
2724
+ passive: !0
2725
+ }), e.addEventListener("touchcancel", V), e.addEventListener("mousedown", ue), e.addEventListener("mouseup", V), e.addEventListener("mouseleave", V), e.addEventListener("keydown", e._ripple.keyDownHandler), e.addEventListener("keyup", rn), e.addEventListener("blur", an), e.addEventListener("dragstart", V, {
2726
+ passive: !0
2727
+ });
2728
+ } else !i && n && sn(e);
2729
+ }
2730
+ function sn(e) {
2731
+ var t;
2732
+ e.removeEventListener("touchstart", Pe), e.removeEventListener("mousedown", Pe), e.removeEventListener("touchstart", ue), e.removeEventListener("touchend", V), e.removeEventListener("touchmove", nn), e.removeEventListener("touchcancel", V), e.removeEventListener("mousedown", ue), e.removeEventListener("mouseup", V), e.removeEventListener("mouseleave", V), (t = e._ripple) != null && t.keyDownHandler && e.removeEventListener("keydown", e._ripple.keyDownHandler), e.removeEventListener("keyup", rn), e.removeEventListener("blur", an), e.removeEventListener("dragstart", V);
2733
+ }
2734
+ function qr(e, t) {
2735
+ on(e, t, !1);
2736
+ }
2737
+ function Ur(e) {
2738
+ sn(e), delete e._ripple;
2739
+ }
2740
+ function Xr(e, t) {
2741
+ if (t.value === t.oldValue)
2742
+ return;
2743
+ const n = tn(t.oldValue);
2744
+ on(e, t, n);
2745
+ }
2746
+ const St = {
2747
+ mounted: qr,
2748
+ unmounted: Ur,
2749
+ updated: Xr
2750
+ }, Yr = b({
2751
+ appendAvatar: String,
2752
+ appendIcon: Z,
2753
+ disabled: Boolean,
2754
+ flat: Boolean,
2755
+ hover: Boolean,
2756
+ image: String,
2757
+ link: {
2758
+ type: Boolean,
2759
+ default: void 0
2760
+ },
2761
+ prependAvatar: String,
2762
+ prependIcon: Z,
2763
+ ripple: {
2764
+ type: [Boolean, Object],
2765
+ default: !0
2766
+ },
2767
+ subtitle: {
2768
+ type: [String, Number, Boolean],
2769
+ default: void 0
2770
+ },
2771
+ text: {
2772
+ type: [String, Number, Boolean],
2773
+ default: void 0
2774
+ },
2775
+ title: {
2776
+ type: [String, Number, Boolean],
2777
+ default: void 0
2778
+ },
2779
+ ...Gt(),
2780
+ ...L(),
2781
+ ...et(),
2782
+ ...Ft(),
2783
+ ..._r(),
2784
+ ...Nr(),
2785
+ ...Jt(),
2786
+ ...zr(),
2787
+ ...Ae(),
2788
+ ...Mr(),
2789
+ ...U(),
2790
+ ...Be(),
2791
+ ...Xt({
2792
+ variant: "elevated"
2793
+ })
2794
+ }, "VCard"), _t = T()({
2795
+ name: "VCard",
2796
+ directives: {
2797
+ vRipple: St
2798
+ },
2799
+ props: Yr(),
2800
+ setup(e, t) {
2801
+ let {
2802
+ attrs: n,
2803
+ slots: r
2804
+ } = t;
2805
+ const {
2806
+ themeClasses: a
2807
+ } = Qe(e), {
2808
+ borderClasses: i
2809
+ } = Ht(e), {
2810
+ colorClasses: o,
2811
+ colorStyles: s,
2812
+ variantClasses: l
2813
+ } = Yt(e), {
2814
+ densityClasses: u
2815
+ } = qt(e), {
2816
+ dimensionStyles: d
2817
+ } = jt(e), {
2818
+ elevationClasses: c
2819
+ } = xr(e), {
2820
+ loaderClasses: v
2821
+ } = $r(e), {
2822
+ locationStyles: m
2823
+ } = Qt(e), {
2824
+ positionClasses: w
2825
+ } = Dr(e), {
2826
+ roundedClasses: N
2827
+ } = Re(e), _ = jr(e, n), D = O(void 0);
2828
+ return H(() => e.loading, (B, x) => {
2829
+ D.value = !B && typeof x == "string" ? x : typeof B == "boolean" ? void 0 : B;
2830
+ }, {
2831
+ immediate: !0
2832
+ }), z(() => {
2833
+ const B = e.link !== !1 && _.isLink.value, x = !e.disabled && e.link !== !1 && (e.link || _.isClickable.value), A = B ? "a" : e.tag, $ = !!(r.title || e.title != null), M = !!(r.subtitle || e.subtitle != null), X = $ || M, W = !!(r.append || e.appendAvatar || e.appendIcon), ae = !!(r.prepend || e.prependAvatar || e.prependIcon), Q = !!(r.image || e.image), G = X || ae || W, h = !!(r.text || e.text != null);
2834
+ return ze(g(A, se(_.linkProps, {
2835
+ class: ["v-card", {
2836
+ "v-card--disabled": e.disabled,
2837
+ "v-card--flat": e.flat,
2838
+ "v-card--hover": e.hover && !(e.disabled || e.flat),
2839
+ "v-card--link": x
2840
+ }, a.value, i.value, o.value, u.value, c.value, v.value, w.value, N.value, l.value, e.class],
2841
+ style: [s.value, d.value, m.value, {
2842
+ "--v-card-height": C(e.height)
2843
+ }, e.style],
2844
+ onClick: x && _.navigate.value,
2845
+ tabindex: e.disabled ? -1 : void 0
2846
+ }), {
2847
+ default: () => {
2848
+ var S;
2849
+ return [Q && f("div", {
2850
+ key: "image",
2851
+ class: "v-card__image"
2852
+ }, [r.image ? g(xe, {
2853
+ key: "image-defaults",
2854
+ disabled: !e.image,
2855
+ defaults: {
2856
+ VImg: {
2857
+ cover: !0,
2858
+ src: e.image
2859
+ }
2860
+ }
2861
+ }, r.image) : g(Wt, {
2862
+ key: "image-img",
2863
+ cover: !0,
2864
+ src: e.image
2865
+ }, null)]), g(Or, {
2866
+ name: "v-card",
2867
+ active: !!e.loading,
2868
+ color: D.value
2869
+ }, {
2870
+ default: r.loader
2871
+ }), G && g(wr, {
2872
+ key: "item",
2873
+ prependAvatar: e.prependAvatar,
2874
+ prependIcon: e.prependIcon,
2875
+ title: e.title,
2876
+ subtitle: e.subtitle,
2877
+ appendAvatar: e.appendAvatar,
2878
+ appendIcon: e.appendIcon
2879
+ }, {
2880
+ default: r.item,
2881
+ prepend: r.prepend,
2882
+ title: r.title,
2883
+ subtitle: r.subtitle,
2884
+ append: r.append
2885
+ }), h && g(Sr, {
2886
+ key: "text"
2887
+ }, {
2888
+ default: () => {
2889
+ var I;
2890
+ return [((I = r.text) == null ? void 0 : I.call(r)) ?? e.text];
2891
+ }
2892
+ }), (S = r.default) == null ? void 0 : S.call(r), r.actions && g(tr, null, {
2893
+ default: r.actions
2894
+ }), Ut(x, "v-card")];
2895
+ }
2896
+ }), [[St, x && e.ripple]]);
2897
+ }), {};
2898
+ }
2899
+ }), Kr = {
2900
+ props: {
2901
+ gameData: {
2902
+ type: Object,
2903
+ default: () => {
2904
+ }
2905
+ }
2906
+ },
2907
+ data() {
2908
+ return {
2909
+ attempt: [],
2910
+ try: 0,
2911
+ solution: [],
2912
+ anwser: [],
2913
+ indices: [],
2914
+ ending: !1,
2915
+ good: [],
2916
+ bad: [],
2917
+ test: In,
2918
+ autoData: null,
2919
+ autoClues: []
2920
+ };
2921
+ },
2922
+ computed: {
2923
+ /**
2924
+ * @description Activate the sumbit buton
2925
+ * @returns {Bolean} true or false
2926
+ */
2927
+ IsEnabled() {
2928
+ return this.anwser.length != 0;
2929
+ }
2930
+ },
2931
+ mounted() {
2932
+ this.gameData.auto == !0 ? (this.solution = this.MakeAutoSolution(this.test), this.MakeAutoGrid()) : (this.solution = this.gameData.solution, this.GetIndice());
2933
+ },
2934
+ methods: {
2935
+ /**
2936
+ * @description Get a random category and a random number to automatically build a solution
2937
+ * @returns {array} array of solution
2938
+ */
2939
+ MakeAutoSolution(e) {
2940
+ let t = [];
2941
+ e.wordBank.forEach((i) => {
2942
+ t = [
2943
+ ...new Set(e.wordBank.flatMap((o) => o.categorie))
2944
+ ];
2945
+ });
2946
+ let n = [], r = [], a = null;
2947
+ for (; n.length <= 7; ) {
2948
+ a = this.GetRandomNumber(t.length), e.wordBank.forEach((o) => {
2949
+ o.categorie.forEach((s) => {
2950
+ s == t[a] && r.push(o);
2951
+ });
2952
+ });
2953
+ let i = this.GetRandomNumber(r.length);
2954
+ for (let o = 0; o <= i + 1; o++) {
2955
+ let s = this.GetRandomItem(r);
2956
+ n.some((u) => u.word === s.word) || n.push(s);
2957
+ }
2958
+ }
2959
+ return n;
2960
+ },
2961
+ /**
2962
+ * @description Shuffle all words and select 25, including the solution, to build the game grid
2963
+ * @returns {array} array of random word including the solution
2964
+ */
2965
+ MakeAutoGrid() {
2966
+ const t = [...this.test.wordBank].sort(() => Math.random() - 0.5).slice(0, 25);
2967
+ let n = [];
2968
+ this.solution.forEach((r, a) => {
2969
+ if (t.includes(r))
2970
+ n.push(a);
2971
+ else {
2972
+ let i = this.GetRandomNumber(25);
2973
+ n.includes(i) || (i = this.GetRandomNumber(25)), t[i] = r;
2974
+ }
2975
+ }), this.MakeAutoClues(), this.autoData = t;
2976
+ },
2977
+ /**
2978
+ * @description Generate a random number and return the item at that index in the array
2979
+ * @returns {array item}
2980
+ */
2981
+ GetRandomItem(e) {
2982
+ const t = this.GetRandomNumber(e.length);
2983
+ return e[t];
2984
+ },
2985
+ /**
2986
+ * @description Generate a random number
2987
+ * @returns {int} random number
2988
+ */
2989
+ GetRandomNumber(e) {
2990
+ return Math.floor(Math.random() * e);
2991
+ },
2992
+ /**
2993
+ *@description Verify is the input is selected or not
2994
+ *@return - true|false
2995
+ */
2996
+ IsSelected(e) {
2997
+ return this.anwser.includes(e);
2998
+ },
2999
+ /**
3000
+ *@description Incremante try
3001
+ *@return - try incramente
3002
+ */
3003
+ UpdateAttempt() {
3004
+ this.try++;
3005
+ },
3006
+ /**
3007
+ * @description Generate clues from the solution categories by counting their occurrences,
3008
+ * format them as "word for X", and * remove duplicates
3009
+ * @returns {array} array of clues
3010
+ */
3011
+ MakeAutoClues() {
3012
+ let e = [], t = [];
3013
+ this.solution.forEach((a) => {
3014
+ t.push(a.categorie);
3015
+ });
3016
+ let n = t.flat();
3017
+ n.forEach((a) => {
3018
+ let i = n.filter((o) => o == a).length;
3019
+ e.push(`${a} for ${i}`);
3020
+ });
3021
+ const r = [...new Set(e)].sort((a, i) => parseInt(i.split("for ")[1]) - parseInt(a.split("for ")[1]));
3022
+ this.autoClues = r, this.GetIndice();
3023
+ },
3024
+ /**
3025
+ *@description Return the next clue
3026
+ *@return - arrays of clues
3027
+ */
3028
+ GetIndice() {
3029
+ if (this.gameData.auto == !0)
3030
+ this.attempt = 7, this.indices.push(this.updateAutoClues());
3031
+ else {
3032
+ this.attempt = this.gameData.indice.length;
3033
+ let e = this.gameData.indice[this.try];
3034
+ this.indices.push(e);
3035
+ }
3036
+ return this.indice;
3037
+ },
3038
+ /**
3039
+ *@description Update the remaining number of clues to find if it has already been found
3040
+ *@return {String} - update clues
3041
+ */
3042
+ updateAutoClues() {
3043
+ if (this.try == 0) return this.autoClues[this.try];
3044
+ {
3045
+ const t = this.autoClues[this.try].replace(/ for \d+/g, "");
3046
+ let n = [...this.solution];
3047
+ n.forEach((a, i) => {
3048
+ this.good.includes(a.word) && n.splice(i, 1);
3049
+ });
3050
+ let r = 0;
3051
+ return n.forEach((a) => {
3052
+ a.categorie.includes(t) && r++;
3053
+ }), `${t} for ${r}`;
3054
+ }
3055
+ },
3056
+ /**
3057
+ *@description Update select input
3058
+ */
3059
+ OnSelectUpdate(e, t) {
3060
+ e.target.checked ? this.anwser.includes(t) || this.anwser.push(t) : this.anwser = this.anwser.filter((r) => r !== t);
3061
+ },
3062
+ /**
3063
+ *@description Validate that the input is good or bad and class them in the rigth array to assign the rigth class
3064
+ */
3065
+ ValidateAnwser() {
3066
+ this.anwser.forEach((e) => {
3067
+ this.gameData.auto == !0 ? this.solution.some((n) => n.word === e) ? this.good.push(e) : this.bad.push(e) : this.solution.includes(e) ? this.good.push(e) : this.bad.push(e);
3068
+ }), this.GetIndice(), (this.try == this.attempt || this.good.length == this.solution.length) && (this.ending = !0);
3069
+ },
3070
+ /**
3071
+ *@description Reset all gamme value
3072
+ */
3073
+ Restart() {
3074
+ this.try = 0, this.ending = !1, this.anwser = [], this.good = [], this.bad = [];
3075
+ }
3076
+ }
3077
+ }, Zr = { class: "box-codeName" }, Jr = { class: "box-question" }, Qr = { class: "box-indices" }, ea = { class: "box-grll" }, ta = ["for", "is-disabled"], na = ["id", "checked", "onChange"], ra = {
3078
+ key: 0,
3079
+ class: "box-grll"
3080
+ }, aa = ["for", "is-disabled"], ia = ["id", "checked", "onChange"], oa = { class: "box-button" }, sa = {
3081
+ key: 1,
3082
+ class: "box-endGame"
3083
+ }, la = { class: "box" };
3084
+ function ua(e, t, n, r, a, i) {
3085
+ const o = _n("app-base-button");
3086
+ return R(), E("div", Zr, [
3087
+ f("div", Jr, [
3088
+ t[3] || (t[3] = f("div", { class: "box-instructions" }, [
3089
+ f("p", { class: "question" }, "Trouvez les 7 mots cachés à l’aide des indices fournis."),
3090
+ f("p", null, "À chaque round, un indice composé d’un mot et d’un chiffre est donné. Le mot indique un lien commun, et le chiffre correspond au nombre de mots associés à cet indice. Sélectionnez les mots qui, selon vous, ont un rapport avec l’indice. Vous disposez de 7 rounds pour trouver tous les mots et gagner la partie.")
3091
+ ], -1)),
3092
+ f("div", Qr, [
3093
+ t[2] || (t[2] = f("p", { class: "question" }, "Indices: ", -1)),
3094
+ f("ul", null, [
3095
+ (R(!0), E(F, null, ve(a.indices, (s) => (R(), E("li", { key: s }, te(s), 1))), 128))
3096
+ ])
3097
+ ])
3098
+ ]),
3099
+ f("div", ea, [
3100
+ (R(!0), E(F, null, ve(n.gameData.wordGrid, (s) => (R(), E("label", {
3101
+ key: `wrd-${s}`,
3102
+ for: `wrd-${s}`,
3103
+ "is-disabled": a.ending,
3104
+ class: k([
3105
+ {
3106
+ answerSlct: i.IsSelected(s)
3107
+ },
3108
+ {
3109
+ good: a.good.includes(s)
3110
+ },
3111
+ {
3112
+ bad: a.bad.includes(s)
3113
+ },
3114
+ "card-mot"
3115
+ ])
3116
+ }, [
3117
+ f("input", {
3118
+ id: `wrd-${s}`,
3119
+ type: "checkbox",
3120
+ checked: i.IsSelected(s),
3121
+ onChange: (l) => i.OnSelectUpdate(l, s)
3122
+ }, null, 40, na),
3123
+ g(_t, null, {
3124
+ default: he(() => [
3125
+ ye(te(s), 1)
3126
+ ]),
3127
+ _: 2
3128
+ }, 1024)
3129
+ ], 10, ta))), 128))
3130
+ ]),
3131
+ n.gameData.auto ? (R(), E("div", ra, [
3132
+ (R(!0), E(F, null, ve(a.autoData, (s) => (R(), E("label", {
3133
+ key: `wrd-${s.word}`,
3134
+ for: `wrd-${s.word}`,
3135
+ "is-disabled": a.ending,
3136
+ class: k([
3137
+ {
3138
+ answerSlct: i.IsSelected(s.word)
3139
+ },
3140
+ {
3141
+ good: a.good.includes(s.word)
3142
+ },
3143
+ {
3144
+ bad: a.bad.includes(s.word)
3145
+ },
3146
+ "card-mot"
3147
+ ])
3148
+ }, [
3149
+ f("input", {
3150
+ id: `wrd-${s.word}`,
3151
+ type: "checkbox",
3152
+ checked: i.IsSelected(s.word),
3153
+ onChange: (l) => i.OnSelectUpdate(l, s.word)
3154
+ }, null, 40, ia),
3155
+ g(_t, null, {
3156
+ default: he(() => [
3157
+ ye(te(s.word), 1)
3158
+ ]),
3159
+ _: 2
3160
+ }, 1024)
3161
+ ], 10, aa))), 128))
3162
+ ])) : tt("", !0),
3163
+ f("div", oa, [
3164
+ g(o, {
3165
+ id: `btn_quiz_${n.gameData.id}`,
3166
+ ref: "quiz",
3167
+ class: "btn-quiz btn-main",
3168
+ "is-disabled": !i.IsEnabled || a.ending,
3169
+ title: "vérifier",
3170
+ onClick: t[0] || (t[0] = (s) => (i.UpdateAttempt(), i.ValidateAnwser()))
3171
+ }, {
3172
+ default: he(() => [...t[4] || (t[4] = [
3173
+ ye(" vérifier ", -1)
3174
+ ])]),
3175
+ _: 1
3176
+ }, 8, ["id", "is-disabled"])
3177
+ ]),
3178
+ a.ending ? (R(), E("div", sa, [
3179
+ f("div", la, [
3180
+ t[6] || (t[6] = f("p", { class: "end-title" }, "Vous avez terminer le jeu!", -1)),
3181
+ t[7] || (t[7] = f("p", null, "Les bonnes réponse était : ", -1)),
3182
+ f("ul", null, [
3183
+ (R(!0), E(F, null, ve(a.solution, (s) => (R(), E("li", {
3184
+ key: `solu-${s}`
3185
+ }, te(s), 1))), 128))
3186
+ ]),
3187
+ t[8] || (t[8] = f("p", null, "Voulez-vous rejouer ?", -1)),
3188
+ g(o, {
3189
+ id: `btn_quiz_${n.gameData.id}`,
3190
+ ref: "quiz",
3191
+ class: "btn-quiz btn-main btn-Endreplay",
3192
+ title: e.rejouer,
3193
+ onClick: t[1] || (t[1] = (s) => i.Restart())
3194
+ }, {
3195
+ default: he(() => [...t[5] || (t[5] = [
3196
+ ye(" rejouer ", -1)
3197
+ ])]),
3198
+ _: 1
3199
+ }, 8, ["id", "title"])
3200
+ ])
3201
+ ])) : tt("", !0)
3202
+ ]);
3203
+ }
3204
+ const ca = /* @__PURE__ */ Bt(Kr, [["render", ua]]), da = {
3205
+ props: {},
3206
+ data() {
3207
+ return {};
3208
+ },
3209
+ computed: {},
3210
+ mounted() {
3211
+ },
3212
+ methods: {}
3213
+ }, fa = { class: "gamebook" };
3214
+ function ga(e, t, n, r, a, i) {
3215
+ return R(), E("div", fa, " TESTE ");
3216
+ }
3217
+ const ma = /* @__PURE__ */ Bt(da, [["render", ga]]), ha = {
3218
+ install(e) {
3219
+ e.component("AppCompCodeName", ca), e.component("GameBook", ma);
3220
+ }
3221
+ };
3222
+ export {
3223
+ ca as AppCompCodeName,
3224
+ ma as GameBook,
3225
+ ha as default
3226
+ };
3227
+ //# sourceMappingURL=fcad-lang.js.map