@ianicdev/datatables2 0.8.10 → 0.8.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/Columns-9ukAZbwF.cjs +1 -0
  2. package/dist/Columns-BiIuzmZZ.js +28 -0
  3. package/dist/Comparison-BqTSsCLG.js +37 -0
  4. package/dist/Comparison-C6FIMUxe.cjs +1 -0
  5. package/dist/Datepicker-BVJaLzUE.cjs +1 -0
  6. package/dist/Datepicker-DFx2oByi.js +1246 -0
  7. package/dist/Download-C0jtXXJ0.js +164 -0
  8. package/dist/Download-CaNb669s.cjs +1 -0
  9. package/dist/Options-Bi0Fh84a.js +82 -0
  10. package/dist/Options-C6N7gzNo.cjs +1 -0
  11. package/dist/RefreshTable-DkVAsqS-.cjs +1 -0
  12. package/dist/RefreshTable-uBvnLVYW.js +26 -0
  13. package/dist/Search-6OIEj95Z.cjs +1 -0
  14. package/dist/Search-BlL-TqMI.js +72 -0
  15. package/dist/Table-BXmDR-au.js +64 -0
  16. package/dist/Table-CgJuX8RC.cjs +1 -0
  17. package/dist/TableServer-BU69vzbr.cjs +27 -0
  18. package/dist/TableServer-Dz-lY5mC.js +3937 -0
  19. package/dist/cellRender-CCUl5aCk.js +2269 -0
  20. package/dist/cellRender-CQYi-Dxl.cjs +1 -0
  21. package/dist/{dataTables-BBRhRgv5.js → dataTables-C3xrvV6a.js} +1535 -1470
  22. package/dist/dataTables-N06kO-u5.cjs +4 -0
  23. package/dist/datatables.cjs +1 -1
  24. package/dist/datatables.js +1 -1
  25. package/dist/datatables2.css +1 -1
  26. package/dist/escapeKeyString-B_mzfoez.js +17 -0
  27. package/dist/escapeKeyString-CQVlwp30.cjs +1 -0
  28. package/dist/exporttocsv-CUWOZ1Z_.js +88 -0
  29. package/dist/exporttocsv-RZvZEhmM.cjs +6 -0
  30. package/dist/filesaver-Deatpm3H.cjs +1 -0
  31. package/dist/filesaver-K4_fCr7v.js +75 -0
  32. package/dist/index-D5UVkV64.cjs +1 -0
  33. package/dist/index-DfHaDUjK.cjs +1 -0
  34. package/dist/index-DgwAqbjp.js +4316 -0
  35. package/dist/index-iDjxmkCZ.js +79 -0
  36. package/dist/{index.es-DaUkOvpZ.cjs → index.es-B0GUE7KM.cjs} +6 -6
  37. package/dist/{index.es-CP6kYYvo.js → index.es-sKSodxcW.js} +4 -3
  38. package/dist/jspdf-BDkAtFGI.cjs +194 -0
  39. package/dist/jspdf-CzuJJB6C.js +10998 -0
  40. package/dist/printjs-BbgDICDe.cjs +1 -0
  41. package/dist/printjs-kC3Qmb-l.js +689 -0
  42. package/dist/sortablejs-BhPwT7wS.cjs +6 -0
  43. package/dist/sortablejs-DSHM8iDp.js +1260 -0
  44. package/dist/xlsx-BBXALOAs.cjs +128 -0
  45. package/dist/xlsx-vtl6oPEm.js +15887 -0
  46. package/package.json +4 -4
  47. package/dist/dataTables-D3_DIrV3.cjs +0 -4
  48. package/dist/index-BLaSKZac.cjs +0 -357
  49. package/dist/index-CY13y4ao.js +0 -41216
@@ -0,0 +1,4316 @@
1
+ import { ref as $, inject as Se, computed as x, watch as ue, nextTick as me, createVNode as f, normalizeStyle as ye, normalizeClass as ae, createElementVNode as k, Fragment as ie, toDisplayString as Ue, withDirectives as Fe, mergeProps as z, useId as De, toRef as F, provide as Be, onScopeDispose as st, shallowRef as ne, unref as B, onBeforeMount as dn, onBeforeUnmount as vl, onMounted as Ne, createBlock as fe, openBlock as X, isRef as $e, withCtx as K, createElementBlock as Ee, renderList as Pt, createTextVNode as ml, vShow as it, mergeModels as At, useModel as ut, cloneVNode as fn, watchEffect as kt, toValue as Qt, h as gl, capitalize as Tt, defineAsyncComponent as Ce, resolveDynamicComponent as xe, createCommentVNode as He } from "vue";
2
+ import { S as vn } from "./sortablejs-DSHM8iDp.js";
3
+ import { defineStore as yl } from "pinia";
4
+ import { g as q, p as O, a as Ft, u as ee, m as ke, b as oe, c as mn, V as je, d as ge, e as pe, f as We, I as re, R as Oe, h as Re, i as Dt, j as bl, k as rt, l as Je, n as Bt, o as hl, q as Et, r as pl, s as Ye, t as Sl, v as kl, w as gn, L as Cl, x as Nt, y as Pe, z as Vl, A as Xe, B as xl, C as $t, D as Il, E as Ot, F as Qe, G as Rt, H as we, J as ze, K as he, M as Lt, N as Ae, O as ct, P as dt, Q as Ct, S as Ze, T as Le, U as wl, W as Mt, X as ft, Y as _l, Z as Pl, _ as Al, $ as Vt, a0 as vt, a1 as yn, a2 as et, a3 as bn, a4 as Ge, a5 as Zt, a6 as hn, a7 as Tl, a8 as xt, a9 as _e, aa as Ie, ab as Ht, ac as nt, ad as It, ae as Fl, af as Te, ag as pn, ah as Sn, ai as kn, aj as Dl, ak as Bl, al as at, am as el, an as El, ao as Cn, ap as Vn, aq as tl, ar as Nl, as as xn, at as In, au as wn, av as _n, aw as Pn, ax as Me, ay as ll, az as An, aA as Tn, aB as Fn, aC as Dn, aD as Bn, aE as En, aF as Nn, aG as $n, aH as nl, aI as On, aJ as Rn, aK as Ln, aL as mt, aM as Mn, aN as Hn, aO as zn } from "./dataTables-C3xrvV6a.js";
5
+ import { createSharedComposable as Un } from "@vueuse/core";
6
+ const gt = yl("datatables", () => {
7
+ const e = $([]), a = ({ table_id: i }) => {
8
+ const v = e.value.findIndex(
9
+ (c) => c.id === i
10
+ ), s = {
11
+ search: {
12
+ query: ""
13
+ },
14
+ advancedFilters: {
15
+ query: {}
16
+ },
17
+ hardFilters: {
18
+ query: {}
19
+ },
20
+ options: {
21
+ hash: null,
22
+ columns: {},
23
+ state: {}
24
+ }
25
+ };
26
+ v !== -1 && e.value.splice(v, 1), e.value.push({ id: i, ...s });
27
+ }, n = async (i) => {
28
+ const s = new TextEncoder().encode(i), c = await crypto.subtle.digest("SHA-256", s);
29
+ return Array.from(new Uint8Array(c)).map((d) => d.toString(16).padStart(2, "0")).join("");
30
+ }, t = ({ table_id: i, headers: v }) => {
31
+ n(JSON.stringify(v ?? [])).then((s) => {
32
+ l({ table_id: i, name: "options", value: { hash: s } });
33
+ });
34
+ }, l = ({ table_id: i, name: v, value: s }) => {
35
+ e.value = e.value.map((c) => {
36
+ if (c.id === i && c.hasOwnProperty(v)) {
37
+ const m = c[v];
38
+ if (m && typeof s == "object")
39
+ for (const y in s)
40
+ y in m && (m[y] = s[y]);
41
+ }
42
+ return c;
43
+ });
44
+ };
45
+ return {
46
+ // Store Data
47
+ tables: e,
48
+ // Store Methods
49
+ addTable: a,
50
+ setData: l,
51
+ restoreData: ({ table_id: i, data: v }) => {
52
+ e.value = e.value.map((s) => (s.id === i && (s = v), s));
53
+ },
54
+ getCurrentTable: (i) => e.value.find((v) => v.id === i),
55
+ // Hash
56
+ hashString: n,
57
+ setTableHash: t
58
+ };
59
+ });
60
+ function tt() {
61
+ const { setData: e, getCurrentTable: a } = gt(), n = Se("table_props"), t = x(() => a(n.id)), l = x(() => t.value.search?.query), o = x(() => {
62
+ if (!n?.headers.length) return null;
63
+ const v = t.value.options?.columns.selected ?? [];
64
+ return (t.value.options?.columns.sorted ?? []).filter((m) => v.includes(m)).map(
65
+ (m) => n.headers.find((y) => y.key === m)
66
+ );
67
+ }), r = x(() => t.value.hardFilters?.query), u = x(() => t.value.advancedFilters?.query);
68
+ return {
69
+ tableState: t,
70
+ searchState: l,
71
+ advancedFiltersState: u,
72
+ hardFiltersState: r,
73
+ headersState: o,
74
+ saveTableOptions: (v) => {
75
+ e({
76
+ table_id: n.id,
77
+ name: "options",
78
+ value: {
79
+ state: v
80
+ }
81
+ });
82
+ }
83
+ };
84
+ }
85
+ function $l(e) {
86
+ const a = gt(), { getCurrentTable: n, setTableHash: t, hashString: l } = a, o = $(!1), r = 5, u = x(() => n(e.id));
87
+ ue(
88
+ u,
89
+ async (y) => {
90
+ y.options.hash && await i(y);
91
+ },
92
+ {
93
+ deep: !0
94
+ }
95
+ );
96
+ const i = async (y) => {
97
+ if (o.value) return;
98
+ o.value = !0, await me();
99
+ const d = v(), p = d.findIndex(
100
+ (S) => S.id === e.id
101
+ );
102
+ p > -1 ? d[p] = y : d.push(y), localStorage.setItem("datatables-state", JSON.stringify(d)), o.value = !1;
103
+ }, v = () => {
104
+ const y = localStorage.getItem("datatables-state");
105
+ return JSON.parse(y ?? "[]");
106
+ }, s = () => v().find((p) => p.id === e.id);
107
+ return {
108
+ saving: o,
109
+ dataStateGet: s,
110
+ tableDataState: u,
111
+ checkTableState: async () => {
112
+ const y = localStorage.getItem("datatables-state-v");
113
+ parseInt(y) !== parseInt(r) && (localStorage.removeItem("datatables-state"), localStorage.setItem("datatables-state-v", r));
114
+ const p = s()?.options.hash;
115
+ if (p) {
116
+ const S = await l(JSON.stringify(e.headers ?? []));
117
+ p !== S && localStorage.removeItem("datatables-state");
118
+ }
119
+ t({ table_id: e.id, headers: e.headers });
120
+ },
121
+ deleteDataStorage: () => {
122
+ localStorage.removeItem("datatables-state"), localStorage.removeItem("datatables-state-v");
123
+ }
124
+ };
125
+ }
126
+ const jn = O({
127
+ ...oe(),
128
+ ...ke()
129
+ }, "VCardActions"), zt = q()({
130
+ name: "VCardActions",
131
+ props: jn(),
132
+ setup(e, a) {
133
+ let {
134
+ slots: n
135
+ } = a;
136
+ return Ft({
137
+ VBtn: {
138
+ slim: !0,
139
+ variant: "text"
140
+ }
141
+ }), ee(() => f(e.tag, {
142
+ class: ae(["v-card-actions", e.class]),
143
+ style: ye(e.style)
144
+ }, n)), {};
145
+ }
146
+ }), Gn = O({
147
+ opacity: [Number, String],
148
+ ...oe(),
149
+ ...ke()
150
+ }, "VCardSubtitle"), Kn = q()({
151
+ name: "VCardSubtitle",
152
+ props: Gn(),
153
+ setup(e, a) {
154
+ let {
155
+ slots: n
156
+ } = a;
157
+ return ee(() => f(e.tag, {
158
+ class: ae(["v-card-subtitle", e.class]),
159
+ style: ye([{
160
+ "--v-card-subtitle-opacity": e.opacity
161
+ }, e.style])
162
+ }, n)), {};
163
+ }
164
+ }), yt = mn("v-card-title"), qn = O({
165
+ appendAvatar: String,
166
+ appendIcon: re,
167
+ prependAvatar: String,
168
+ prependIcon: re,
169
+ subtitle: {
170
+ type: [String, Number, Boolean],
171
+ default: void 0
172
+ },
173
+ title: {
174
+ type: [String, Number, Boolean],
175
+ default: void 0
176
+ },
177
+ ...oe(),
178
+ ...We(),
179
+ ...ke()
180
+ }, "VCardItem"), Wn = q()({
181
+ name: "VCardItem",
182
+ props: qn(),
183
+ setup(e, a) {
184
+ let {
185
+ slots: n
186
+ } = a;
187
+ return ee(() => {
188
+ const t = !!(e.prependAvatar || e.prependIcon), l = !!(t || n.prepend), o = !!(e.appendAvatar || e.appendIcon), r = !!(o || n.append), u = !!(e.title != null || n.title), i = !!(e.subtitle != null || n.subtitle);
189
+ return f(e.tag, {
190
+ class: ae(["v-card-item", e.class]),
191
+ style: ye(e.style)
192
+ }, {
193
+ default: () => [l && k("div", {
194
+ key: "prepend",
195
+ class: "v-card-item__prepend"
196
+ }, [n.prepend ? f(pe, {
197
+ key: "prepend-defaults",
198
+ disabled: !t,
199
+ defaults: {
200
+ VAvatar: {
201
+ density: e.density,
202
+ image: e.prependAvatar
203
+ },
204
+ VIcon: {
205
+ density: e.density,
206
+ icon: e.prependIcon
207
+ }
208
+ }
209
+ }, n.prepend) : k(ie, null, [e.prependAvatar && f(je, {
210
+ key: "prepend-avatar",
211
+ density: e.density,
212
+ image: e.prependAvatar
213
+ }, null), e.prependIcon && f(ge, {
214
+ key: "prepend-icon",
215
+ density: e.density,
216
+ icon: e.prependIcon
217
+ }, null)])]), k("div", {
218
+ class: "v-card-item__content"
219
+ }, [u && f(yt, {
220
+ key: "title"
221
+ }, {
222
+ default: () => [n.title?.() ?? Ue(e.title)]
223
+ }), i && f(Kn, {
224
+ key: "subtitle"
225
+ }, {
226
+ default: () => [n.subtitle?.() ?? Ue(e.subtitle)]
227
+ }), n.default?.()]), r && k("div", {
228
+ key: "append",
229
+ class: "v-card-item__append"
230
+ }, [n.append ? f(pe, {
231
+ key: "append-defaults",
232
+ disabled: !o,
233
+ defaults: {
234
+ VAvatar: {
235
+ density: e.density,
236
+ image: e.appendAvatar
237
+ },
238
+ VIcon: {
239
+ density: e.density,
240
+ icon: e.appendIcon
241
+ }
242
+ }
243
+ }, n.append) : k(ie, null, [e.appendIcon && f(ge, {
244
+ key: "append-icon",
245
+ density: e.density,
246
+ icon: e.appendIcon
247
+ }, null), e.appendAvatar && f(je, {
248
+ key: "append-avatar",
249
+ density: e.density,
250
+ image: e.appendAvatar
251
+ }, null)])])]
252
+ });
253
+ }), {};
254
+ }
255
+ }), Jn = O({
256
+ opacity: [Number, String],
257
+ ...oe(),
258
+ ...ke()
259
+ }, "VCardText"), bt = q()({
260
+ name: "VCardText",
261
+ props: Jn(),
262
+ setup(e, a) {
263
+ let {
264
+ slots: n
265
+ } = a;
266
+ return ee(() => f(e.tag, {
267
+ class: ae(["v-card-text", e.class]),
268
+ style: ye([{
269
+ "--v-card-text-opacity": e.opacity
270
+ }, e.style])
271
+ }, n)), {};
272
+ }
273
+ }), Yn = O({
274
+ appendAvatar: String,
275
+ appendIcon: re,
276
+ disabled: Boolean,
277
+ flat: Boolean,
278
+ hover: Boolean,
279
+ image: String,
280
+ link: {
281
+ type: Boolean,
282
+ default: void 0
283
+ },
284
+ prependAvatar: String,
285
+ prependIcon: re,
286
+ ripple: {
287
+ type: [Boolean, Object],
288
+ default: !0
289
+ },
290
+ subtitle: {
291
+ type: [String, Number, Boolean],
292
+ default: void 0
293
+ },
294
+ text: {
295
+ type: [String, Number, Boolean],
296
+ default: void 0
297
+ },
298
+ title: {
299
+ type: [String, Number, Boolean],
300
+ default: void 0
301
+ },
302
+ ...Rt(),
303
+ ...oe(),
304
+ ...We(),
305
+ ...Qe(),
306
+ ...Ot(),
307
+ ...Il(),
308
+ ...$t(),
309
+ ...xl(),
310
+ ...Xe(),
311
+ ...Vl(),
312
+ ...ke(),
313
+ ...Pe(),
314
+ ...Nt({
315
+ variant: "elevated"
316
+ })
317
+ }, "VCard"), Ut = q()({
318
+ name: "VCard",
319
+ directives: {
320
+ vRipple: Oe
321
+ },
322
+ props: Yn(),
323
+ setup(e, a) {
324
+ let {
325
+ attrs: n,
326
+ slots: t
327
+ } = a;
328
+ const {
329
+ themeClasses: l
330
+ } = Re(e), {
331
+ borderClasses: o
332
+ } = Dt(e), {
333
+ colorClasses: r,
334
+ colorStyles: u,
335
+ variantClasses: i
336
+ } = bl(e), {
337
+ densityClasses: v
338
+ } = rt(e), {
339
+ dimensionStyles: s
340
+ } = Je(e), {
341
+ elevationClasses: c
342
+ } = Bt(e), {
343
+ loaderClasses: m
344
+ } = hl(e), {
345
+ locationStyles: y
346
+ } = Et(e), {
347
+ positionClasses: d
348
+ } = pl(e), {
349
+ roundedClasses: p
350
+ } = Ye(e), S = Sl(e, n);
351
+ return ee(() => {
352
+ const C = e.link !== !1 && S.isLink.value, _ = !e.disabled && e.link !== !1 && (e.link || S.isClickable.value), E = C ? "a" : e.tag, T = !!(t.title || e.title != null), V = !!(t.subtitle || e.subtitle != null), L = T || V, P = !!(t.append || e.appendAvatar || e.appendIcon), I = !!(t.prepend || e.prependAvatar || e.prependIcon), R = !!(t.image || e.image), W = L || I || P, J = !!(t.text || e.text != null);
353
+ return Fe(f(E, z(S.linkProps, {
354
+ class: ["v-card", {
355
+ "v-card--disabled": e.disabled,
356
+ "v-card--flat": e.flat,
357
+ "v-card--hover": e.hover && !(e.disabled || e.flat),
358
+ "v-card--link": _
359
+ }, l.value, o.value, r.value, v.value, c.value, m.value, d.value, p.value, i.value, e.class],
360
+ style: [u.value, s.value, y.value, e.style],
361
+ onClick: _ && S.navigate,
362
+ tabindex: e.disabled ? -1 : void 0
363
+ }), {
364
+ default: () => [R && k("div", {
365
+ key: "image",
366
+ class: "v-card__image"
367
+ }, [t.image ? f(pe, {
368
+ key: "image-defaults",
369
+ disabled: !e.image,
370
+ defaults: {
371
+ VImg: {
372
+ cover: !0,
373
+ src: e.image
374
+ }
375
+ }
376
+ }, t.image) : f(gn, {
377
+ key: "image-img",
378
+ cover: !0,
379
+ src: e.image
380
+ }, null)]), f(Cl, {
381
+ name: "v-card",
382
+ active: !!e.loading,
383
+ color: typeof e.loading == "boolean" ? void 0 : e.loading
384
+ }, {
385
+ default: t.loader
386
+ }), W && f(Wn, {
387
+ key: "item",
388
+ prependAvatar: e.prependAvatar,
389
+ prependIcon: e.prependIcon,
390
+ title: e.title,
391
+ subtitle: e.subtitle,
392
+ appendAvatar: e.appendAvatar,
393
+ appendIcon: e.appendIcon
394
+ }, {
395
+ default: t.item,
396
+ prepend: t.prepend,
397
+ title: t.title,
398
+ subtitle: t.subtitle,
399
+ append: t.append
400
+ }), J && f(bt, {
401
+ key: "text"
402
+ }, {
403
+ default: () => [t.text?.() ?? e.text]
404
+ }), t.default?.(), t.actions && f(zt, null, {
405
+ default: t.actions
406
+ }), kl(_, "v-card")]
407
+ }), [[Oe, _ && e.ripple]]);
408
+ }), {};
409
+ }
410
+ }), Xn = O({
411
+ text: String,
412
+ onClick: we(),
413
+ ...oe(),
414
+ ...Pe()
415
+ }, "VLabel"), Ol = q()({
416
+ name: "VLabel",
417
+ props: Xn(),
418
+ setup(e, a) {
419
+ let {
420
+ slots: n
421
+ } = a;
422
+ return ee(() => k("label", {
423
+ class: ae(["v-label", {
424
+ "v-label--clickable": !!e.onClick
425
+ }, e.class]),
426
+ style: ye(e.style),
427
+ onClick: e.onClick
428
+ }, [e.text, n.default?.()])), {};
429
+ }
430
+ }), Rl = Symbol.for("vuetify:selection-control-group"), Ll = O({
431
+ color: String,
432
+ disabled: {
433
+ type: Boolean,
434
+ default: null
435
+ },
436
+ defaultsTarget: String,
437
+ error: Boolean,
438
+ id: String,
439
+ inline: Boolean,
440
+ falseIcon: re,
441
+ trueIcon: re,
442
+ ripple: {
443
+ type: [Boolean, Object],
444
+ default: !0
445
+ },
446
+ multiple: {
447
+ type: Boolean,
448
+ default: null
449
+ },
450
+ name: String,
451
+ readonly: {
452
+ type: Boolean,
453
+ default: null
454
+ },
455
+ modelValue: null,
456
+ type: String,
457
+ valueComparator: {
458
+ type: Function,
459
+ default: ze
460
+ },
461
+ ...oe(),
462
+ ...We(),
463
+ ...Pe()
464
+ }, "SelectionControlGroup"), Qn = O({
465
+ ...Ll({
466
+ defaultsTarget: "VSelectionControl"
467
+ })
468
+ }, "VSelectionControlGroup");
469
+ q()({
470
+ name: "VSelectionControlGroup",
471
+ props: Qn(),
472
+ emits: {
473
+ "update:modelValue": (e) => !0
474
+ },
475
+ setup(e, a) {
476
+ let {
477
+ slots: n
478
+ } = a;
479
+ const t = he(e, "modelValue"), l = De(), o = F(() => e.id || `v-selection-control-group-${l}`), r = F(() => e.name || o.value), u = /* @__PURE__ */ new Set();
480
+ return Be(Rl, {
481
+ modelValue: t,
482
+ forceUpdate: () => {
483
+ u.forEach((i) => i());
484
+ },
485
+ onForceUpdate: (i) => {
486
+ u.add(i), st(() => {
487
+ u.delete(i);
488
+ });
489
+ }
490
+ }), Ft({
491
+ [e.defaultsTarget]: {
492
+ color: F(() => e.color),
493
+ disabled: F(() => e.disabled),
494
+ density: F(() => e.density),
495
+ error: F(() => e.error),
496
+ inline: F(() => e.inline),
497
+ modelValue: t,
498
+ multiple: F(() => !!e.multiple || e.multiple == null && Array.isArray(t.value)),
499
+ name: r,
500
+ falseIcon: F(() => e.falseIcon),
501
+ trueIcon: F(() => e.trueIcon),
502
+ readonly: F(() => e.readonly),
503
+ ripple: F(() => e.ripple),
504
+ type: F(() => e.type),
505
+ valueComparator: F(() => e.valueComparator)
506
+ }
507
+ }), ee(() => k("div", {
508
+ class: ae(["v-selection-control-group", {
509
+ "v-selection-control-group--inline": e.inline
510
+ }, e.class]),
511
+ style: ye(e.style),
512
+ role: e.type === "radio" ? "radiogroup" : void 0
513
+ }, [n.default?.()])), {};
514
+ }
515
+ });
516
+ const Ml = O({
517
+ label: String,
518
+ baseColor: String,
519
+ trueValue: null,
520
+ falseValue: null,
521
+ value: null,
522
+ ...oe(),
523
+ ...Ll()
524
+ }, "VSelectionControl");
525
+ function Zn(e) {
526
+ const a = Se(Rl, void 0), {
527
+ densityClasses: n
528
+ } = rt(e), t = he(e, "modelValue"), l = x(() => e.trueValue !== void 0 ? e.trueValue : e.value !== void 0 ? e.value : !0), o = x(() => e.falseValue !== void 0 ? e.falseValue : !1), r = x(() => !!e.multiple || e.multiple == null && Array.isArray(t.value)), u = x({
529
+ get() {
530
+ const y = a ? a.modelValue.value : t.value;
531
+ return r.value ? Ae(y).some((d) => e.valueComparator(d, l.value)) : e.valueComparator(y, l.value);
532
+ },
533
+ set(y) {
534
+ if (e.readonly) return;
535
+ const d = y ? l.value : o.value;
536
+ let p = d;
537
+ r.value && (p = y ? [...Ae(t.value), d] : Ae(t.value).filter((S) => !e.valueComparator(S, l.value))), a ? a.modelValue.value = p : t.value = p;
538
+ }
539
+ }), {
540
+ textColorClasses: i,
541
+ textColorStyles: v
542
+ } = ct(() => {
543
+ if (!(e.error || e.disabled))
544
+ return u.value ? e.color : e.baseColor;
545
+ }), {
546
+ backgroundColorClasses: s,
547
+ backgroundColorStyles: c
548
+ } = dt(() => u.value && !e.error && !e.disabled ? e.color : e.baseColor), m = x(() => u.value ? e.trueIcon : e.falseIcon);
549
+ return {
550
+ group: a,
551
+ densityClasses: n,
552
+ trueValue: l,
553
+ falseValue: o,
554
+ model: u,
555
+ textColorClasses: i,
556
+ textColorStyles: v,
557
+ backgroundColorClasses: s,
558
+ backgroundColorStyles: c,
559
+ icon: m
560
+ };
561
+ }
562
+ const al = q()({
563
+ name: "VSelectionControl",
564
+ directives: {
565
+ vRipple: Oe
566
+ },
567
+ inheritAttrs: !1,
568
+ props: Ml(),
569
+ emits: {
570
+ "update:modelValue": (e) => !0
571
+ },
572
+ setup(e, a) {
573
+ let {
574
+ attrs: n,
575
+ slots: t
576
+ } = a;
577
+ const {
578
+ group: l,
579
+ densityClasses: o,
580
+ icon: r,
581
+ model: u,
582
+ textColorClasses: i,
583
+ textColorStyles: v,
584
+ backgroundColorClasses: s,
585
+ backgroundColorStyles: c,
586
+ trueValue: m
587
+ } = Zn(e), y = De(), d = ne(!1), p = ne(!1), S = $(), C = F(() => e.id || `input-${y}`), _ = F(() => !e.disabled && !e.readonly);
588
+ l?.onForceUpdate(() => {
589
+ S.value && (S.value.checked = u.value);
590
+ });
591
+ function E(P) {
592
+ _.value && (d.value = !0, Ct(P.target, ":focus-visible") !== !1 && (p.value = !0));
593
+ }
594
+ function T() {
595
+ d.value = !1, p.value = !1;
596
+ }
597
+ function V(P) {
598
+ P.stopPropagation();
599
+ }
600
+ function L(P) {
601
+ if (!_.value) {
602
+ S.value && (S.value.checked = u.value);
603
+ return;
604
+ }
605
+ e.readonly && l && me(() => l.forceUpdate()), u.value = P.target.checked;
606
+ }
607
+ return ee(() => {
608
+ const P = t.label ? t.label({
609
+ label: e.label,
610
+ props: {
611
+ for: C.value
612
+ }
613
+ }) : e.label, [I, R] = Lt(n), W = k("input", z({
614
+ ref: S,
615
+ checked: u.value,
616
+ disabled: !!e.disabled,
617
+ id: C.value,
618
+ onBlur: T,
619
+ onFocus: E,
620
+ onInput: L,
621
+ "aria-disabled": !!e.disabled,
622
+ "aria-label": e.label,
623
+ type: e.type,
624
+ value: m.value,
625
+ name: e.name,
626
+ "aria-checked": e.type === "checkbox" ? u.value : void 0
627
+ }, R), null);
628
+ return k("div", z({
629
+ class: ["v-selection-control", {
630
+ "v-selection-control--dirty": u.value,
631
+ "v-selection-control--disabled": e.disabled,
632
+ "v-selection-control--error": e.error,
633
+ "v-selection-control--focused": d.value,
634
+ "v-selection-control--focus-visible": p.value,
635
+ "v-selection-control--inline": e.inline
636
+ }, o.value, e.class]
637
+ }, I, {
638
+ style: e.style
639
+ }), [k("div", {
640
+ class: ae(["v-selection-control__wrapper", i.value]),
641
+ style: ye(v.value)
642
+ }, [t.default?.({
643
+ backgroundColorClasses: s,
644
+ backgroundColorStyles: c
645
+ }), Fe(k("div", {
646
+ class: ae(["v-selection-control__input"])
647
+ }, [t.input?.({
648
+ model: u,
649
+ textColorClasses: i,
650
+ textColorStyles: v,
651
+ backgroundColorClasses: s,
652
+ backgroundColorStyles: c,
653
+ inputNode: W,
654
+ icon: r.value,
655
+ props: {
656
+ onFocus: E,
657
+ onBlur: T,
658
+ id: C.value
659
+ }
660
+ }) ?? k(ie, null, [r.value && f(ge, {
661
+ key: "icon",
662
+ icon: r.value
663
+ }, null), W])]), [[Oe, !e.disabled && !e.readonly && e.ripple, null, {
664
+ center: !0,
665
+ circle: !0
666
+ }]])]), P && f(Ol, {
667
+ for: C.value,
668
+ onClick: V
669
+ }, {
670
+ default: () => [P]
671
+ })]);
672
+ }), {
673
+ isFocused: d,
674
+ input: S
675
+ };
676
+ }
677
+ }), Hl = O({
678
+ indeterminate: Boolean,
679
+ indeterminateIcon: {
680
+ type: re,
681
+ default: "$checkboxIndeterminate"
682
+ },
683
+ ...Ml({
684
+ falseIcon: "$checkboxOff",
685
+ trueIcon: "$checkboxOn"
686
+ })
687
+ }, "VCheckboxBtn"), wt = q()({
688
+ name: "VCheckboxBtn",
689
+ props: Hl(),
690
+ emits: {
691
+ "update:modelValue": (e) => !0,
692
+ "update:indeterminate": (e) => !0
693
+ },
694
+ setup(e, a) {
695
+ let {
696
+ slots: n
697
+ } = a;
698
+ const t = he(e, "indeterminate"), l = he(e, "modelValue");
699
+ function o(i) {
700
+ t.value && (t.value = !1);
701
+ }
702
+ const r = F(() => t.value ? e.indeterminateIcon : e.falseIcon), u = F(() => t.value ? e.indeterminateIcon : e.trueIcon);
703
+ return ee(() => {
704
+ const i = Ze(al.filterProps(e), ["modelValue"]);
705
+ return f(al, z(i, {
706
+ modelValue: l.value,
707
+ "onUpdate:modelValue": [(v) => l.value = v, o],
708
+ class: ["v-checkbox-btn", e.class],
709
+ style: e.style,
710
+ type: "checkbox",
711
+ falseIcon: r.value,
712
+ trueIcon: u.value,
713
+ "aria-checked": t.value ? "mixed" : void 0
714
+ }), n);
715
+ }), {};
716
+ }
717
+ });
718
+ function zl(e) {
719
+ const {
720
+ t: a
721
+ } = Le();
722
+ function n(t) {
723
+ let {
724
+ name: l,
725
+ color: o,
726
+ ...r
727
+ } = t;
728
+ const u = {
729
+ prepend: "prependAction",
730
+ prependInner: "prependAction",
731
+ append: "appendAction",
732
+ appendInner: "appendAction",
733
+ clear: "clear"
734
+ }[l], i = e[`onClick:${l}`];
735
+ function v(c) {
736
+ c.key !== "Enter" && c.key !== " " || (c.preventDefault(), c.stopPropagation(), wl(i, new PointerEvent("click", c)));
737
+ }
738
+ const s = i && u ? a(`$vuetify.input.${u}`, e.label ?? "") : void 0;
739
+ return f(ge, z({
740
+ icon: e[`${l}Icon`],
741
+ "aria-label": s,
742
+ onClick: i,
743
+ onKeydown: v,
744
+ color: o
745
+ }, r), null);
746
+ }
747
+ return {
748
+ InputIcon: n
749
+ };
750
+ }
751
+ const ea = O({
752
+ active: Boolean,
753
+ color: String,
754
+ messages: {
755
+ type: [Array, String],
756
+ default: () => []
757
+ },
758
+ ...oe(),
759
+ ...ft({
760
+ transition: {
761
+ component: _l,
762
+ leaveAbsolute: !0,
763
+ group: !0
764
+ }
765
+ })
766
+ }, "VMessages"), ta = q()({
767
+ name: "VMessages",
768
+ props: ea(),
769
+ setup(e, a) {
770
+ let {
771
+ slots: n
772
+ } = a;
773
+ const t = x(() => Ae(e.messages)), {
774
+ textColorClasses: l,
775
+ textColorStyles: o
776
+ } = ct(() => e.color);
777
+ return ee(() => f(Mt, {
778
+ transition: e.transition,
779
+ tag: "div",
780
+ class: ae(["v-messages", l.value, e.class]),
781
+ style: ye([o.value, e.style])
782
+ }, {
783
+ default: () => [e.active && t.value.map((r, u) => k("div", {
784
+ class: "v-messages__message",
785
+ key: `${u}-${t.value}`
786
+ }, [n.message ? n.message({
787
+ message: r
788
+ }) : r]))]
789
+ })), {};
790
+ }
791
+ }), Ul = O({
792
+ focused: Boolean,
793
+ "onUpdate:focused": we()
794
+ }, "focus");
795
+ function jt(e) {
796
+ let a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Pl();
797
+ const n = he(e, "focused"), t = F(() => ({
798
+ [`${a}--focused`]: n.value
799
+ }));
800
+ function l() {
801
+ n.value = !0;
802
+ }
803
+ function o() {
804
+ n.value = !1;
805
+ }
806
+ return {
807
+ focusClasses: t,
808
+ isFocused: n,
809
+ focus: l,
810
+ blur: o
811
+ };
812
+ }
813
+ const la = Symbol.for("vuetify:form");
814
+ function Gt(e) {
815
+ const a = Se(la, null);
816
+ return {
817
+ ...a,
818
+ isReadonly: x(() => !!(e?.readonly ?? a?.isReadonly.value)),
819
+ isDisabled: x(() => !!(e?.disabled ?? a?.isDisabled.value))
820
+ };
821
+ }
822
+ const na = Symbol.for("vuetify:rules");
823
+ function aa(e) {
824
+ const a = Se(na, null);
825
+ if (!e) {
826
+ if (!a)
827
+ throw new Error("Could not find Vuetify rules injection");
828
+ return a.aliases;
829
+ }
830
+ return a?.resolve(e) ?? F(e);
831
+ }
832
+ const oa = O({
833
+ disabled: {
834
+ type: Boolean,
835
+ default: null
836
+ },
837
+ error: Boolean,
838
+ errorMessages: {
839
+ type: [Array, String],
840
+ default: () => []
841
+ },
842
+ maxErrors: {
843
+ type: [Number, String],
844
+ default: 1
845
+ },
846
+ name: String,
847
+ label: String,
848
+ readonly: {
849
+ type: Boolean,
850
+ default: null
851
+ },
852
+ rules: {
853
+ type: Array,
854
+ default: () => []
855
+ },
856
+ modelValue: null,
857
+ validateOn: String,
858
+ validationValue: null,
859
+ ...Ul()
860
+ }, "validation");
861
+ function sa(e) {
862
+ let a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Pl(), n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : De();
863
+ const t = he(e, "modelValue"), l = x(() => e.validationValue === void 0 ? t.value : e.validationValue), o = Gt(e), r = aa(() => e.rules), u = $([]), i = ne(!0), v = x(() => !!(Ae(t.value === "" ? null : t.value).length || Ae(l.value === "" ? null : l.value).length)), s = x(() => e.errorMessages?.length ? Ae(e.errorMessages).concat(u.value).slice(0, Math.max(0, Number(e.maxErrors))) : u.value), c = x(() => {
864
+ let T = (e.validateOn ?? o.validateOn?.value) || "input";
865
+ T === "lazy" && (T = "input lazy"), T === "eager" && (T = "input eager");
866
+ const V = new Set(T?.split(" ") ?? []);
867
+ return {
868
+ input: V.has("input"),
869
+ blur: V.has("blur") || V.has("input") || V.has("invalid-input"),
870
+ invalidInput: V.has("invalid-input"),
871
+ lazy: V.has("lazy"),
872
+ eager: V.has("eager")
873
+ };
874
+ }), m = x(() => e.error || e.errorMessages?.length ? !1 : e.rules.length ? i.value ? u.value.length || c.value.lazy ? null : !0 : !u.value.length : !0), y = ne(!1), d = x(() => ({
875
+ [`${a}--error`]: m.value === !1,
876
+ [`${a}--dirty`]: v.value,
877
+ [`${a}--disabled`]: o.isDisabled.value,
878
+ [`${a}--readonly`]: o.isReadonly.value
879
+ })), p = Al("validation"), S = x(() => e.name ?? B(n));
880
+ dn(() => {
881
+ o.register?.({
882
+ id: S.value,
883
+ vm: p,
884
+ validate: E,
885
+ reset: C,
886
+ resetValidation: _
887
+ });
888
+ }), vl(() => {
889
+ o.unregister?.(S.value);
890
+ }), Ne(async () => {
891
+ c.value.lazy || await E(!c.value.eager), o.update?.(S.value, m.value, s.value);
892
+ }), Vt(() => c.value.input || c.value.invalidInput && m.value === !1, () => {
893
+ ue(l, () => {
894
+ if (l.value != null)
895
+ E();
896
+ else if (e.focused) {
897
+ const T = ue(() => e.focused, (V) => {
898
+ V || E(), T();
899
+ });
900
+ }
901
+ });
902
+ }), Vt(() => c.value.blur, () => {
903
+ ue(() => e.focused, (T) => {
904
+ T || E();
905
+ });
906
+ }), ue([m, s], () => {
907
+ o.update?.(S.value, m.value, s.value);
908
+ });
909
+ async function C() {
910
+ t.value = null, await me(), await _();
911
+ }
912
+ async function _() {
913
+ i.value = !0, c.value.lazy ? u.value = [] : await E(!c.value.eager);
914
+ }
915
+ async function E() {
916
+ let T = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1;
917
+ const V = [];
918
+ y.value = !0;
919
+ for (const L of r.value) {
920
+ if (V.length >= Number(e.maxErrors ?? 1))
921
+ break;
922
+ const I = await (typeof L == "function" ? L : () => L)(l.value);
923
+ if (I !== !0) {
924
+ if (I !== !1 && typeof I != "string") {
925
+ console.warn(`${I} is not a valid value. Rule functions must return boolean true or a string.`);
926
+ continue;
927
+ }
928
+ V.push(I || "");
929
+ }
930
+ }
931
+ return u.value = V, y.value = !1, i.value = T, u.value;
932
+ }
933
+ return {
934
+ errorMessages: s,
935
+ isDirty: v,
936
+ isDisabled: o.isDisabled,
937
+ isReadonly: o.isReadonly,
938
+ isPristine: i,
939
+ isValid: m,
940
+ isValidating: y,
941
+ reset: C,
942
+ resetValidation: _,
943
+ validate: E,
944
+ validationClasses: d
945
+ };
946
+ }
947
+ const Kt = O({
948
+ id: String,
949
+ appendIcon: re,
950
+ baseColor: String,
951
+ centerAffix: {
952
+ type: Boolean,
953
+ default: !0
954
+ },
955
+ color: String,
956
+ glow: Boolean,
957
+ iconColor: [Boolean, String],
958
+ prependIcon: re,
959
+ hideDetails: [Boolean, String],
960
+ hideSpinButtons: Boolean,
961
+ hint: String,
962
+ persistentHint: Boolean,
963
+ messages: {
964
+ type: [Array, String],
965
+ default: () => []
966
+ },
967
+ direction: {
968
+ type: String,
969
+ default: "horizontal",
970
+ validator: (e) => ["horizontal", "vertical"].includes(e)
971
+ },
972
+ "onClick:prepend": we(),
973
+ "onClick:append": we(),
974
+ ...oe(),
975
+ ...We(),
976
+ ...yn(Qe(), ["maxWidth", "minWidth", "width"]),
977
+ ...Pe(),
978
+ ...oa()
979
+ }, "VInput"), ot = q()({
980
+ name: "VInput",
981
+ props: {
982
+ ...Kt()
983
+ },
984
+ emits: {
985
+ "update:modelValue": (e) => !0
986
+ },
987
+ setup(e, a) {
988
+ let {
989
+ attrs: n,
990
+ slots: t,
991
+ emit: l
992
+ } = a;
993
+ const {
994
+ densityClasses: o
995
+ } = rt(e), {
996
+ dimensionStyles: r
997
+ } = Je(e), {
998
+ themeClasses: u
999
+ } = Re(e), {
1000
+ rtlClasses: i
1001
+ } = vt(), {
1002
+ InputIcon: v
1003
+ } = zl(e), s = De(), c = x(() => e.id || `input-${s}`), {
1004
+ errorMessages: m,
1005
+ isDirty: y,
1006
+ isDisabled: d,
1007
+ isReadonly: p,
1008
+ isPristine: S,
1009
+ isValid: C,
1010
+ isValidating: _,
1011
+ reset: E,
1012
+ resetValidation: T,
1013
+ validate: V,
1014
+ validationClasses: L
1015
+ } = sa(e, "v-input", c), P = x(() => e.errorMessages?.length || !S.value && m.value.length ? m.value : e.hint && (e.persistentHint || e.focused) ? e.hint : e.messages), I = F(() => P.value.length > 0), R = F(() => !e.hideDetails || e.hideDetails === "auto" && (I.value || !!t.details)), W = x(() => R.value ? `${c.value}-messages` : void 0), J = x(() => ({
1016
+ id: c,
1017
+ messagesId: W,
1018
+ isDirty: y,
1019
+ isDisabled: d,
1020
+ isReadonly: p,
1021
+ isPristine: S,
1022
+ isValid: C,
1023
+ isValidating: _,
1024
+ hasDetails: R,
1025
+ reset: E,
1026
+ resetValidation: T,
1027
+ validate: V
1028
+ })), te = F(() => e.error || e.disabled ? void 0 : e.focused ? e.color : e.baseColor), Q = F(() => {
1029
+ if (e.iconColor)
1030
+ return e.iconColor === !0 ? te.value : e.iconColor;
1031
+ });
1032
+ return ee(() => {
1033
+ const U = !!(t.prepend || e.prependIcon), ce = !!(t.append || e.appendIcon);
1034
+ return k("div", {
1035
+ class: ae(["v-input", `v-input--${e.direction}`, {
1036
+ "v-input--center-affix": e.centerAffix,
1037
+ "v-input--focused": e.focused,
1038
+ "v-input--glow": e.glow,
1039
+ "v-input--hide-spin-buttons": e.hideSpinButtons
1040
+ }, o.value, u.value, i.value, L.value, e.class]),
1041
+ style: ye([r.value, e.style])
1042
+ }, [U && k("div", {
1043
+ key: "prepend",
1044
+ class: "v-input__prepend"
1045
+ }, [t.prepend?.(J.value), e.prependIcon && f(v, {
1046
+ key: "prepend-icon",
1047
+ name: "prepend",
1048
+ color: Q.value
1049
+ }, null)]), t.default && k("div", {
1050
+ class: "v-input__control"
1051
+ }, [t.default?.(J.value)]), ce && k("div", {
1052
+ key: "append",
1053
+ class: "v-input__append"
1054
+ }, [e.appendIcon && f(v, {
1055
+ key: "append-icon",
1056
+ name: "append",
1057
+ color: Q.value
1058
+ }, null), t.append?.(J.value)]), R.value && k("div", {
1059
+ id: W.value,
1060
+ class: "v-input__details",
1061
+ role: "alert",
1062
+ "aria-live": "polite"
1063
+ }, [f(ta, {
1064
+ active: I.value,
1065
+ messages: P.value
1066
+ }, {
1067
+ message: t.message
1068
+ }), t.details?.(J.value)])]);
1069
+ }), {
1070
+ reset: E,
1071
+ resetValidation: T,
1072
+ validate: V,
1073
+ isValid: C,
1074
+ errorMessages: m
1075
+ };
1076
+ }
1077
+ }), ia = O({
1078
+ ...Kt(),
1079
+ ...Ze(Hl(), ["inline"])
1080
+ }, "VCheckbox"), ua = q()({
1081
+ name: "VCheckbox",
1082
+ inheritAttrs: !1,
1083
+ props: ia(),
1084
+ emits: {
1085
+ "update:modelValue": (e) => !0,
1086
+ "update:focused": (e) => !0
1087
+ },
1088
+ setup(e, a) {
1089
+ let {
1090
+ attrs: n,
1091
+ slots: t
1092
+ } = a;
1093
+ const l = he(e, "modelValue"), {
1094
+ isFocused: o,
1095
+ focus: r,
1096
+ blur: u
1097
+ } = jt(e), i = $(), v = De();
1098
+ return ee(() => {
1099
+ const [s, c] = Lt(n), m = ot.filterProps(e), y = wt.filterProps(e);
1100
+ return f(ot, z({
1101
+ ref: i,
1102
+ class: ["v-checkbox", e.class]
1103
+ }, s, m, {
1104
+ modelValue: l.value,
1105
+ "onUpdate:modelValue": (d) => l.value = d,
1106
+ id: e.id || `checkbox-${v}`,
1107
+ focused: o.value,
1108
+ style: e.style
1109
+ }), {
1110
+ ...t,
1111
+ default: (d) => {
1112
+ let {
1113
+ id: p,
1114
+ messagesId: S,
1115
+ isDisabled: C,
1116
+ isReadonly: _,
1117
+ isValid: E
1118
+ } = d;
1119
+ return f(wt, z(y, {
1120
+ id: p.value,
1121
+ "aria-describedby": S.value,
1122
+ disabled: C.value,
1123
+ readonly: _.value
1124
+ }, c, {
1125
+ error: E.value === !1,
1126
+ modelValue: l.value,
1127
+ "onUpdate:modelValue": (T) => l.value = T,
1128
+ onFocus: r,
1129
+ onBlur: u
1130
+ }), t);
1131
+ }
1132
+ });
1133
+ }), et({}, i);
1134
+ }
1135
+ }), ra = O({
1136
+ fullscreen: Boolean,
1137
+ retainFocus: {
1138
+ type: Boolean,
1139
+ default: !0
1140
+ },
1141
+ scrollable: Boolean,
1142
+ ...hn({
1143
+ origin: "center center",
1144
+ scrollStrategy: "block",
1145
+ transition: {
1146
+ component: Tl
1147
+ },
1148
+ zIndex: 2400
1149
+ })
1150
+ }, "VDialog"), qt = q()({
1151
+ name: "VDialog",
1152
+ props: ra(),
1153
+ emits: {
1154
+ "update:modelValue": (e) => !0,
1155
+ afterEnter: () => !0,
1156
+ afterLeave: () => !0
1157
+ },
1158
+ setup(e, a) {
1159
+ let {
1160
+ emit: n,
1161
+ slots: t
1162
+ } = a;
1163
+ const l = he(e, "modelValue"), {
1164
+ scopeId: o
1165
+ } = bn(), r = $();
1166
+ async function u(c) {
1167
+ const m = c.relatedTarget, y = c.target;
1168
+ await me(), l.value && m !== y && r.value?.contentEl && // We're the topmost dialog
1169
+ r.value?.globalTop && // It isn't the document or the dialog body
1170
+ ![document, r.value.contentEl].includes(y) && // It isn't inside the dialog body
1171
+ !r.value.contentEl.contains(y) && xt(r.value.contentEl)[0]?.focus();
1172
+ }
1173
+ function i(c) {
1174
+ if (c.key !== "Tab" || !r.value?.contentEl) return;
1175
+ const m = xt(r.value.contentEl);
1176
+ if (!m.length) return;
1177
+ const y = m[0], d = m[m.length - 1], p = document.activeElement;
1178
+ c.shiftKey && p === y ? (c.preventDefault(), d.focus()) : !c.shiftKey && p === d && (c.preventDefault(), y.focus());
1179
+ }
1180
+ vl(() => {
1181
+ document.removeEventListener("focusin", u), document.removeEventListener("keydown", i);
1182
+ }), Ge && ue(() => l.value && e.retainFocus, (c) => {
1183
+ c ? (document.addEventListener("focusin", u, {
1184
+ once: !0
1185
+ }), document.addEventListener("keydown", i)) : (document.removeEventListener("focusin", u), document.removeEventListener("keydown", i));
1186
+ }, {
1187
+ immediate: !0
1188
+ });
1189
+ function v() {
1190
+ n("afterEnter"), (e.scrim || e.retainFocus) && r.value?.contentEl && !r.value.contentEl.contains(document.activeElement) && r.value.contentEl.focus({
1191
+ preventScroll: !0
1192
+ });
1193
+ }
1194
+ function s() {
1195
+ n("afterLeave");
1196
+ }
1197
+ return ue(l, async (c) => {
1198
+ c || (await me(), r.value.activatorEl?.focus({
1199
+ preventScroll: !0
1200
+ }));
1201
+ }), ee(() => {
1202
+ const c = Zt.filterProps(e), m = z({
1203
+ "aria-haspopup": "dialog"
1204
+ }, e.activatorProps), y = z({
1205
+ tabindex: -1
1206
+ }, e.contentProps);
1207
+ return f(Zt, z({
1208
+ ref: r,
1209
+ class: ["v-dialog", {
1210
+ "v-dialog--fullscreen": e.fullscreen,
1211
+ "v-dialog--scrollable": e.scrollable
1212
+ }, e.class],
1213
+ style: e.style
1214
+ }, c, {
1215
+ modelValue: l.value,
1216
+ "onUpdate:modelValue": (d) => l.value = d,
1217
+ "aria-modal": "true",
1218
+ activatorProps: m,
1219
+ contentProps: y,
1220
+ height: e.fullscreen ? void 0 : e.height,
1221
+ width: e.fullscreen ? void 0 : e.width,
1222
+ maxHeight: e.fullscreen ? void 0 : e.maxHeight,
1223
+ maxWidth: e.fullscreen ? void 0 : e.maxWidth,
1224
+ role: "dialog",
1225
+ onAfterEnter: v,
1226
+ onAfterLeave: s
1227
+ }, o), {
1228
+ activator: t.activator,
1229
+ default: function() {
1230
+ for (var d = arguments.length, p = new Array(d), S = 0; S < d; S++)
1231
+ p[S] = arguments[S];
1232
+ return f(pe, {
1233
+ root: "VDialog"
1234
+ }, {
1235
+ default: () => [t.default?.(...p)]
1236
+ });
1237
+ }
1238
+ });
1239
+ }), et({}, r);
1240
+ }
1241
+ }), ca = { class: "text-medium-emphasis ps-2" }, da = {
1242
+ __name: "index",
1243
+ setup(e, { expose: a }) {
1244
+ const n = Se("table_props"), { tableState: t } = tt(), { tableDataState: l } = $l(n), o = $(0), r = $(null), u = $(!1), i = $([]), v = $([]), s = $([]), c = () => {
1245
+ u.value = !0;
1246
+ };
1247
+ Ne(async () => {
1248
+ await me(), vn.create(r.value.$el, {
1249
+ onEnd: async (y) => {
1250
+ const d = Array.from(y.from.children).map(function(p) {
1251
+ return p.getAttribute("header-keys");
1252
+ });
1253
+ JSON.stringify(d) !== JSON.stringify(s.value) && (s.value = d);
1254
+ }
1255
+ }), v.value = t.value.options.columns?.selected, s.value = t.value.options.columns?.sorted, i.value = s.value.map((y) => n.headers.find((d) => d.key === y));
1256
+ });
1257
+ const m = () => {
1258
+ (JSON.stringify(v.value) !== JSON.stringify(t.value.options.columns?.selected) || JSON.stringify(s.value) !== JSON.stringify(t.value.options.columns?.sorted)) && (l.value.options.columns.selected = v.value, l.value.options.columns.sorted = s.value), u.value = !1;
1259
+ };
1260
+ return a({ openDialog: c }), (y, d) => (X(), fe(qt, {
1261
+ modelValue: B(u),
1262
+ "onUpdate:modelValue": d[1] || (d[1] = (p) => $e(u) ? u.value = p : null),
1263
+ "max-width": "500",
1264
+ eager: "",
1265
+ "retain-focus": !1
1266
+ }, {
1267
+ default: K(({ isActive: p }) => [
1268
+ f(Ut, { rounded: "lg" }, {
1269
+ default: K(() => [
1270
+ f(yt, { class: "d-flex justify-space-between align-center" }, {
1271
+ default: K(() => [
1272
+ k("div", ca, Ue(y.$t("$datatables.selectColumns")), 1),
1273
+ f(_e, {
1274
+ icon: "mdi-close",
1275
+ variant: "text",
1276
+ onClick: (S) => p.value = !1
1277
+ }, null, 8, ["onClick"])
1278
+ ]),
1279
+ _: 2
1280
+ }, 1024),
1281
+ f(Ie),
1282
+ f(bt, { class: "overflow-auto pt-8" }, {
1283
+ default: K(() => [
1284
+ f(Ht, {
1285
+ ref_key: "list",
1286
+ ref: r
1287
+ }, {
1288
+ default: K(() => [
1289
+ (X(!0), Ee(ie, null, Pt(B(i), (S, C) => (X(), fe(nt, {
1290
+ key: `${B(o)}-${C}`,
1291
+ title: S?.title,
1292
+ "header-keys": S?.key,
1293
+ onClick: () => {
1294
+ }
1295
+ }, {
1296
+ prepend: K(() => [
1297
+ f(ua, {
1298
+ modelValue: B(v),
1299
+ "onUpdate:modelValue": d[0] || (d[0] = (_) => $e(v) ? v.value = _ : null),
1300
+ value: S?.key,
1301
+ "hide-details": ""
1302
+ }, null, 8, ["modelValue", "value"])
1303
+ ]),
1304
+ append: K(() => [
1305
+ f(ge, null, {
1306
+ default: K(() => [...d[2] || (d[2] = [
1307
+ ml("mdi-drag-vertical", -1)
1308
+ ])]),
1309
+ _: 1
1310
+ })
1311
+ ]),
1312
+ _: 2
1313
+ }, 1032, ["title", "header-keys"]))), 128))
1314
+ ]),
1315
+ _: 1
1316
+ }, 512)
1317
+ ]),
1318
+ _: 1
1319
+ }),
1320
+ f(Ie, { class: "mt-2" }),
1321
+ f(zt, { class: "my-2 d-flex justify-end" }, {
1322
+ default: K(() => [
1323
+ f(_e, {
1324
+ class: "text-none",
1325
+ text: y.$t("$datatables.cancel"),
1326
+ onClick: (S) => p.value = !1
1327
+ }, null, 8, ["text", "onClick"]),
1328
+ f(_e, {
1329
+ class: "text-none",
1330
+ color: "primary",
1331
+ text: y.$t("$datatables.submit"),
1332
+ variant: "flat",
1333
+ onClick: m
1334
+ }, null, 8, ["text"])
1335
+ ]),
1336
+ _: 2
1337
+ }, 1024)
1338
+ ]),
1339
+ _: 2
1340
+ }, 1024)
1341
+ ]),
1342
+ _: 1
1343
+ }, 8, ["modelValue"]));
1344
+ }
1345
+ }, fa = Symbol.for("vuetify:goto");
1346
+ function va() {
1347
+ return {
1348
+ container: void 0,
1349
+ duration: 300,
1350
+ layout: !1,
1351
+ offset: 0,
1352
+ easing: "easeInOutCubic",
1353
+ patterns: Sn
1354
+ };
1355
+ }
1356
+ function ma(e) {
1357
+ return Wt(e) ?? (document.scrollingElement || document.body);
1358
+ }
1359
+ function Wt(e) {
1360
+ return typeof e == "string" ? document.querySelector(e) : kn(e);
1361
+ }
1362
+ function ht(e, a, n) {
1363
+ if (typeof e == "number") return a && n ? -e : e;
1364
+ let t = Wt(e), l = 0;
1365
+ for (; t; )
1366
+ l += a ? t.offsetLeft : t.offsetTop, t = t.offsetParent;
1367
+ return l;
1368
+ }
1369
+ async function ol(e, a, n, t) {
1370
+ const l = n ? "scrollLeft" : "scrollTop", o = It(t?.options ?? va(), a), r = t?.rtl.value, u = (typeof e == "number" ? e : Wt(e)) ?? 0, i = o.container === "parent" && u instanceof HTMLElement ? u.parentElement : ma(o.container), v = Fl() ? o.patterns.instant : typeof o.easing == "function" ? o.easing : o.patterns[o.easing];
1371
+ if (!v) throw new TypeError(`Easing function "${o.easing}" not found.`);
1372
+ let s;
1373
+ if (typeof u == "number")
1374
+ s = ht(u, n, r);
1375
+ else if (s = ht(u, n, r) - ht(i, n, r), o.layout) {
1376
+ const d = window.getComputedStyle(u).getPropertyValue("--v-layout-top");
1377
+ d && (s -= parseInt(d, 10));
1378
+ }
1379
+ s += o.offset, s = ya(i, s, !!r, !!n);
1380
+ const c = i[l] ?? 0;
1381
+ if (s === c) return Promise.resolve(s);
1382
+ const m = performance.now();
1383
+ return new Promise((y) => requestAnimationFrame(function d(p) {
1384
+ const C = (p - m) / o.duration, _ = Math.floor(c + (s - c) * v(Te(C, 0, 1)));
1385
+ if (i[l] = _, C >= 1 && Math.abs(_ - i[l]) < 10)
1386
+ return y(s);
1387
+ if (C > 2)
1388
+ return pn("Scroll target is not reachable"), y(i[l]);
1389
+ requestAnimationFrame(d);
1390
+ }));
1391
+ }
1392
+ function ga() {
1393
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
1394
+ const a = Se(fa), {
1395
+ isRtl: n
1396
+ } = vt();
1397
+ if (!a) throw new Error("[Vuetify] Could not find injected goto instance");
1398
+ const t = {
1399
+ ...a,
1400
+ // can be set via VLocaleProvider
1401
+ rtl: F(() => a.rtl.value || n.value)
1402
+ };
1403
+ async function l(o, r) {
1404
+ return ol(o, It(e, r), !1, t);
1405
+ }
1406
+ return l.horizontal = async (o, r) => ol(o, It(e, r), !0, t), l;
1407
+ }
1408
+ function ya(e, a, n, t) {
1409
+ const {
1410
+ scrollWidth: l,
1411
+ scrollHeight: o
1412
+ } = e, [r, u] = e === document.scrollingElement ? [window.innerWidth, window.innerHeight] : [e.offsetWidth, e.offsetHeight];
1413
+ let i, v;
1414
+ return t ? n ? (i = -(l - r), v = 0) : (i = 0, v = l - r) : (i = 0, v = o + -u), Te(a, i, v);
1415
+ }
1416
+ function ba(e) {
1417
+ let {
1418
+ selectedElement: a,
1419
+ containerElement: n,
1420
+ isRtl: t,
1421
+ isHorizontal: l
1422
+ } = e;
1423
+ const o = Ke(l, n), r = jl(l, t, n), u = Ke(l, a), i = Gl(l, a), v = u * 0.4;
1424
+ return r > i ? i - v : r + o < i + u ? i - o + u + v : r;
1425
+ }
1426
+ function ha(e) {
1427
+ let {
1428
+ selectedElement: a,
1429
+ containerElement: n,
1430
+ isHorizontal: t
1431
+ } = e;
1432
+ const l = Ke(t, n), o = Gl(t, a), r = Ke(t, a);
1433
+ return o - l / 2 + r / 2;
1434
+ }
1435
+ function sl(e, a) {
1436
+ return a?.[e ? "scrollWidth" : "scrollHeight"] || 0;
1437
+ }
1438
+ function pa(e, a) {
1439
+ return a?.[e ? "clientWidth" : "clientHeight"] || 0;
1440
+ }
1441
+ function jl(e, a, n) {
1442
+ if (!n)
1443
+ return 0;
1444
+ const {
1445
+ scrollLeft: t,
1446
+ offsetWidth: l,
1447
+ scrollWidth: o
1448
+ } = n;
1449
+ return e ? a ? o - l + t : t : n.scrollTop;
1450
+ }
1451
+ function Ke(e, a) {
1452
+ return a?.[e ? "offsetWidth" : "offsetHeight"] || 0;
1453
+ }
1454
+ function Gl(e, a) {
1455
+ return a?.[e ? "offsetLeft" : "offsetTop"] || 0;
1456
+ }
1457
+ const Kl = Symbol.for("vuetify:v-slide-group"), ql = O({
1458
+ centerActive: Boolean,
1459
+ scrollToActive: {
1460
+ type: Boolean,
1461
+ default: !0
1462
+ },
1463
+ contentClass: null,
1464
+ direction: {
1465
+ type: String,
1466
+ default: "horizontal"
1467
+ },
1468
+ symbol: {
1469
+ type: null,
1470
+ default: Kl
1471
+ },
1472
+ nextIcon: {
1473
+ type: re,
1474
+ default: "$next"
1475
+ },
1476
+ prevIcon: {
1477
+ type: re,
1478
+ default: "$prev"
1479
+ },
1480
+ showArrows: {
1481
+ type: [Boolean, String],
1482
+ validator: (e) => typeof e == "boolean" || ["always", "desktop", "mobile"].includes(e)
1483
+ },
1484
+ ...oe(),
1485
+ ...Cn({
1486
+ mobile: null
1487
+ }),
1488
+ ...ke(),
1489
+ ...El({
1490
+ selectedClass: "v-slide-group-item--active"
1491
+ })
1492
+ }, "VSlideGroup"), il = q()({
1493
+ name: "VSlideGroup",
1494
+ props: ql(),
1495
+ emits: {
1496
+ "update:modelValue": (e) => !0
1497
+ },
1498
+ setup(e, a) {
1499
+ let {
1500
+ slots: n
1501
+ } = a;
1502
+ const {
1503
+ isRtl: t
1504
+ } = vt(), {
1505
+ displayClasses: l,
1506
+ mobile: o
1507
+ } = Dl(e), r = Bl(e, e.symbol), u = ne(!1), i = ne(0), v = ne(0), s = ne(0), c = x(() => e.direction === "horizontal"), {
1508
+ resizeRef: m,
1509
+ contentRect: y
1510
+ } = at(), {
1511
+ resizeRef: d,
1512
+ contentRect: p
1513
+ } = at(), S = ga(), C = x(() => ({
1514
+ container: m.el,
1515
+ duration: 200,
1516
+ easing: "easeOutQuart"
1517
+ })), _ = x(() => r.selected.value.length ? r.items.value.findIndex((b) => b.id === r.selected.value[0]) : -1), E = x(() => r.selected.value.length ? r.items.value.findIndex((b) => b.id === r.selected.value[r.selected.value.length - 1]) : -1);
1518
+ if (Ge) {
1519
+ let b = -1;
1520
+ ue(() => [r.selected.value, y.value, p.value, c.value], () => {
1521
+ cancelAnimationFrame(b), b = requestAnimationFrame(() => {
1522
+ if (y.value && p.value) {
1523
+ const g = c.value ? "width" : "height";
1524
+ v.value = y.value[g], s.value = p.value[g], u.value = v.value + 1 < s.value;
1525
+ }
1526
+ if (e.scrollToActive && _.value >= 0 && d.el) {
1527
+ const g = d.el.children[E.value];
1528
+ V(g, e.centerActive);
1529
+ }
1530
+ });
1531
+ });
1532
+ }
1533
+ const T = ne(!1);
1534
+ function V(b, g) {
1535
+ let w = 0;
1536
+ g ? w = ha({
1537
+ containerElement: m.el,
1538
+ isHorizontal: c.value,
1539
+ selectedElement: b
1540
+ }) : w = ba({
1541
+ containerElement: m.el,
1542
+ isHorizontal: c.value,
1543
+ isRtl: t.value,
1544
+ selectedElement: b
1545
+ }), L(w);
1546
+ }
1547
+ function L(b) {
1548
+ if (!Ge || !m.el) return;
1549
+ const g = Ke(c.value, m.el), w = jl(c.value, t.value, m.el);
1550
+ if (!(sl(c.value, m.el) <= g || // Prevent scrolling by only a couple of pixels, which doesn't look smooth
1551
+ Math.abs(b - w) < 16)) {
1552
+ if (c.value && t.value && m.el) {
1553
+ const {
1554
+ scrollWidth: M,
1555
+ offsetWidth: G
1556
+ } = m.el;
1557
+ b = M - G - b;
1558
+ }
1559
+ c.value ? S.horizontal(b, C.value) : S(b, C.value);
1560
+ }
1561
+ }
1562
+ function P(b) {
1563
+ const {
1564
+ scrollTop: g,
1565
+ scrollLeft: w
1566
+ } = b.target;
1567
+ i.value = c.value ? w : g;
1568
+ }
1569
+ function I(b) {
1570
+ if (T.value = !0, !(!u.value || !d.el)) {
1571
+ for (const g of b.composedPath())
1572
+ for (const w of d.el.children)
1573
+ if (w === g) {
1574
+ V(w);
1575
+ return;
1576
+ }
1577
+ }
1578
+ }
1579
+ function R(b) {
1580
+ T.value = !1;
1581
+ }
1582
+ let W = !1;
1583
+ function J(b) {
1584
+ !W && !T.value && !(b.relatedTarget && d.el?.contains(b.relatedTarget)) && ce(), W = !1;
1585
+ }
1586
+ function te() {
1587
+ W = !0;
1588
+ }
1589
+ function Q(b) {
1590
+ if (!d.el) return;
1591
+ function g(w) {
1592
+ b.preventDefault(), ce(w);
1593
+ }
1594
+ c.value ? b.key === "ArrowRight" ? g(t.value ? "prev" : "next") : b.key === "ArrowLeft" && g(t.value ? "next" : "prev") : b.key === "ArrowDown" ? g("next") : b.key === "ArrowUp" && g("prev"), b.key === "Home" ? g("first") : b.key === "End" && g("last");
1595
+ }
1596
+ function U(b, g) {
1597
+ if (!b) return;
1598
+ let w = b;
1599
+ do
1600
+ w = w?.[g === "next" ? "nextElementSibling" : "previousElementSibling"];
1601
+ while (w?.hasAttribute("disabled"));
1602
+ return w;
1603
+ }
1604
+ function ce(b) {
1605
+ if (!d.el) return;
1606
+ let g;
1607
+ if (!b)
1608
+ g = xt(d.el)[0];
1609
+ else if (b === "next") {
1610
+ if (g = U(d.el.querySelector(":focus"), b), !g) return ce("first");
1611
+ } else if (b === "prev") {
1612
+ if (g = U(d.el.querySelector(":focus"), b), !g) return ce("last");
1613
+ } else b === "first" ? (g = d.el.firstElementChild, g?.hasAttribute("disabled") && (g = U(g, "next"))) : b === "last" && (g = d.el.lastElementChild, g?.hasAttribute("disabled") && (g = U(g, "prev")));
1614
+ g && g.focus({
1615
+ preventScroll: !0
1616
+ });
1617
+ }
1618
+ function j(b) {
1619
+ const g = c.value && t.value ? -1 : 1, w = (b === "prev" ? -g : g) * v.value;
1620
+ let D = i.value + w;
1621
+ if (c.value && t.value && m.el) {
1622
+ const {
1623
+ scrollWidth: M,
1624
+ offsetWidth: G
1625
+ } = m.el;
1626
+ D += M - G;
1627
+ }
1628
+ L(D);
1629
+ }
1630
+ const Z = x(() => ({
1631
+ next: r.next,
1632
+ prev: r.prev,
1633
+ select: r.select,
1634
+ isSelected: r.isSelected
1635
+ })), se = x(() => u.value || Math.abs(i.value) > 0), de = x(() => {
1636
+ switch (e.showArrows) {
1637
+ // Always show arrows on desktop & mobile
1638
+ case "always":
1639
+ return !0;
1640
+ // Always show arrows on desktop
1641
+ case "desktop":
1642
+ return !o.value;
1643
+ // Show arrows on mobile when overflowing.
1644
+ // This matches the default 2.2 behavior
1645
+ case !0:
1646
+ return se.value;
1647
+ // Always show on mobile
1648
+ case "mobile":
1649
+ return o.value || se.value;
1650
+ // https://material.io/components/tabs#scrollable-tabs
1651
+ // Always show arrows when
1652
+ // overflowed on desktop
1653
+ default:
1654
+ return !o.value && se.value;
1655
+ }
1656
+ }), A = x(() => Math.abs(i.value) > 1), h = x(() => {
1657
+ if (!m.value || !se.value) return !1;
1658
+ const b = sl(c.value, m.el), g = pa(c.value, m.el);
1659
+ return b - g - Math.abs(i.value) > 1;
1660
+ });
1661
+ return ee(() => f(e.tag, {
1662
+ class: ae(["v-slide-group", {
1663
+ "v-slide-group--vertical": !c.value,
1664
+ "v-slide-group--has-affixes": de.value,
1665
+ "v-slide-group--is-overflowing": u.value
1666
+ }, l.value, e.class]),
1667
+ style: ye(e.style),
1668
+ tabindex: T.value || r.selected.value.length ? -1 : 0,
1669
+ onFocus: J
1670
+ }, {
1671
+ default: () => [de.value && k("div", {
1672
+ key: "prev",
1673
+ class: ae(["v-slide-group__prev", {
1674
+ "v-slide-group__prev--disabled": !A.value
1675
+ }]),
1676
+ onMousedown: te,
1677
+ onClick: () => A.value && j("prev")
1678
+ }, [n.prev?.(Z.value) ?? f(el, null, {
1679
+ default: () => [f(ge, {
1680
+ icon: t.value ? e.nextIcon : e.prevIcon
1681
+ }, null)]
1682
+ })]), k("div", {
1683
+ key: "container",
1684
+ ref: m,
1685
+ class: ae(["v-slide-group__container", e.contentClass]),
1686
+ onScroll: P
1687
+ }, [k("div", {
1688
+ ref: d,
1689
+ class: "v-slide-group__content",
1690
+ onFocusin: I,
1691
+ onFocusout: R,
1692
+ onKeydown: Q
1693
+ }, [n.default?.(Z.value)])]), de.value && k("div", {
1694
+ key: "next",
1695
+ class: ae(["v-slide-group__next", {
1696
+ "v-slide-group__next--disabled": !h.value
1697
+ }]),
1698
+ onMousedown: te,
1699
+ onClick: () => h.value && j("next")
1700
+ }, [n.next?.(Z.value) ?? f(el, null, {
1701
+ default: () => [f(ge, {
1702
+ icon: t.value ? e.prevIcon : e.nextIcon
1703
+ }, null)]
1704
+ })])]
1705
+ })), {
1706
+ selected: r.selected,
1707
+ scrollTo: j,
1708
+ scrollOffset: i,
1709
+ focus: ce,
1710
+ hasPrev: A,
1711
+ hasNext: h
1712
+ };
1713
+ }
1714
+ }), Wl = Symbol.for("vuetify:v-chip-group"), Sa = O({
1715
+ baseColor: String,
1716
+ column: Boolean,
1717
+ filter: Boolean,
1718
+ valueComparator: {
1719
+ type: Function,
1720
+ default: ze
1721
+ },
1722
+ ...ql({
1723
+ scrollToActive: !1
1724
+ }),
1725
+ ...oe(),
1726
+ ...El({
1727
+ selectedClass: "v-chip--selected"
1728
+ }),
1729
+ ...ke(),
1730
+ ...Pe(),
1731
+ ...Nt({
1732
+ variant: "tonal"
1733
+ })
1734
+ }, "VChipGroup"), ka = q()({
1735
+ name: "VChipGroup",
1736
+ props: Sa(),
1737
+ emits: {
1738
+ "update:modelValue": (e) => !0
1739
+ },
1740
+ setup(e, a) {
1741
+ let {
1742
+ slots: n
1743
+ } = a;
1744
+ const {
1745
+ themeClasses: t
1746
+ } = Re(e), {
1747
+ isSelected: l,
1748
+ select: o,
1749
+ next: r,
1750
+ prev: u,
1751
+ selected: i
1752
+ } = Bl(e, Wl);
1753
+ return Ft({
1754
+ VChip: {
1755
+ baseColor: F(() => e.baseColor),
1756
+ color: F(() => e.color),
1757
+ disabled: F(() => e.disabled),
1758
+ filter: F(() => e.filter),
1759
+ variant: F(() => e.variant)
1760
+ }
1761
+ }), ee(() => {
1762
+ const v = il.filterProps(e);
1763
+ return f(il, z(v, {
1764
+ class: ["v-chip-group", {
1765
+ "v-chip-group--column": e.column
1766
+ }, t.value, e.class],
1767
+ style: e.style
1768
+ }), {
1769
+ default: () => [n.default?.({
1770
+ isSelected: l,
1771
+ select: o,
1772
+ next: r,
1773
+ prev: u,
1774
+ selected: i.value
1775
+ })]
1776
+ });
1777
+ }), {};
1778
+ }
1779
+ }), Ca = O({
1780
+ activeClass: String,
1781
+ appendAvatar: String,
1782
+ appendIcon: re,
1783
+ baseColor: String,
1784
+ closable: Boolean,
1785
+ closeIcon: {
1786
+ type: re,
1787
+ default: "$delete"
1788
+ },
1789
+ closeLabel: {
1790
+ type: String,
1791
+ default: "$vuetify.close"
1792
+ },
1793
+ draggable: Boolean,
1794
+ filter: Boolean,
1795
+ filterIcon: {
1796
+ type: re,
1797
+ default: "$complete"
1798
+ },
1799
+ label: Boolean,
1800
+ link: {
1801
+ type: Boolean,
1802
+ default: void 0
1803
+ },
1804
+ pill: Boolean,
1805
+ prependAvatar: String,
1806
+ prependIcon: re,
1807
+ ripple: {
1808
+ type: [Boolean, Object],
1809
+ default: !0
1810
+ },
1811
+ text: {
1812
+ type: [String, Number, Boolean],
1813
+ default: void 0
1814
+ },
1815
+ modelValue: {
1816
+ type: Boolean,
1817
+ default: !0
1818
+ },
1819
+ onClick: we(),
1820
+ onClickOnce: we(),
1821
+ ...Rt(),
1822
+ ...oe(),
1823
+ ...We(),
1824
+ ...Ot(),
1825
+ ...In(),
1826
+ ...Xe(),
1827
+ ...Vl(),
1828
+ ...xn(),
1829
+ ...ke({
1830
+ tag: "span"
1831
+ }),
1832
+ ...Pe(),
1833
+ ...Nt({
1834
+ variant: "tonal"
1835
+ })
1836
+ }, "VChip"), Jl = q()({
1837
+ name: "VChip",
1838
+ directives: {
1839
+ vRipple: Oe
1840
+ },
1841
+ props: Ca(),
1842
+ emits: {
1843
+ "click:close": (e) => !0,
1844
+ "update:modelValue": (e) => !0,
1845
+ "group:selected": (e) => !0,
1846
+ click: (e) => !0
1847
+ },
1848
+ setup(e, a) {
1849
+ let {
1850
+ attrs: n,
1851
+ emit: t,
1852
+ slots: l
1853
+ } = a;
1854
+ const {
1855
+ t: o
1856
+ } = Le(), {
1857
+ borderClasses: r
1858
+ } = Dt(e), {
1859
+ densityClasses: u
1860
+ } = rt(e), {
1861
+ elevationClasses: i
1862
+ } = Bt(e), {
1863
+ roundedClasses: v
1864
+ } = Ye(e), {
1865
+ sizeClasses: s
1866
+ } = Vn(e), {
1867
+ themeClasses: c
1868
+ } = Re(e), m = he(e, "modelValue"), y = tl(e, Wl, !1), d = tl(e, Kl, !1), p = Sl(e, n), S = F(() => e.link !== !1 && p.isLink.value), C = x(() => !e.disabled && e.link !== !1 && (!!y || e.link || p.isClickable.value)), _ = F(() => ({
1869
+ "aria-label": o(e.closeLabel),
1870
+ disabled: e.disabled,
1871
+ onClick(I) {
1872
+ I.preventDefault(), I.stopPropagation(), m.value = !1, t("click:close", I);
1873
+ }
1874
+ }));
1875
+ ue(m, (I) => {
1876
+ I ? (y?.register(), d?.register()) : (y?.unregister(), d?.unregister());
1877
+ });
1878
+ const {
1879
+ colorClasses: E,
1880
+ colorStyles: T,
1881
+ variantClasses: V
1882
+ } = bl(() => ({
1883
+ color: !y || y.isSelected.value ? e.color ?? e.baseColor : e.baseColor,
1884
+ variant: e.variant
1885
+ }));
1886
+ function L(I) {
1887
+ t("click", I), C.value && (p.navigate?.(I), y?.toggle());
1888
+ }
1889
+ function P(I) {
1890
+ (I.key === "Enter" || I.key === " ") && (I.preventDefault(), L(I));
1891
+ }
1892
+ return () => {
1893
+ const I = p.isLink.value ? "a" : e.tag, R = !!(e.appendIcon || e.appendAvatar), W = !!(R || l.append), J = !!(l.close || e.closable), te = !!(l.filter || e.filter) && y, Q = !!(e.prependIcon || e.prependAvatar), U = !!(Q || l.prepend);
1894
+ return m.value && Fe(f(I, z(p.linkProps, {
1895
+ class: ["v-chip", {
1896
+ "v-chip--disabled": e.disabled,
1897
+ "v-chip--label": e.label,
1898
+ "v-chip--link": C.value,
1899
+ "v-chip--filter": te,
1900
+ "v-chip--pill": e.pill,
1901
+ [`${e.activeClass}`]: e.activeClass && p.isActive?.value
1902
+ }, c.value, r.value, E.value, u.value, i.value, v.value, s.value, V.value, y?.selectedClass.value, e.class],
1903
+ style: [T.value, e.style],
1904
+ disabled: e.disabled || void 0,
1905
+ draggable: e.draggable,
1906
+ tabindex: C.value ? 0 : void 0,
1907
+ onClick: L,
1908
+ onKeydown: C.value && !S.value && P
1909
+ }), {
1910
+ default: () => [kl(C.value, "v-chip"), te && f(Nl, {
1911
+ key: "filter"
1912
+ }, {
1913
+ default: () => [Fe(k("div", {
1914
+ class: "v-chip__filter"
1915
+ }, [l.filter ? f(pe, {
1916
+ key: "filter-defaults",
1917
+ disabled: !e.filterIcon,
1918
+ defaults: {
1919
+ VIcon: {
1920
+ icon: e.filterIcon
1921
+ }
1922
+ }
1923
+ }, l.filter) : f(ge, {
1924
+ key: "filter-icon",
1925
+ icon: e.filterIcon
1926
+ }, null)]), [[it, y.isSelected.value]])]
1927
+ }), U && k("div", {
1928
+ key: "prepend",
1929
+ class: "v-chip__prepend"
1930
+ }, [l.prepend ? f(pe, {
1931
+ key: "prepend-defaults",
1932
+ disabled: !Q,
1933
+ defaults: {
1934
+ VAvatar: {
1935
+ image: e.prependAvatar,
1936
+ start: !0
1937
+ },
1938
+ VIcon: {
1939
+ icon: e.prependIcon,
1940
+ start: !0
1941
+ }
1942
+ }
1943
+ }, l.prepend) : k(ie, null, [e.prependIcon && f(ge, {
1944
+ key: "prepend-icon",
1945
+ icon: e.prependIcon,
1946
+ start: !0
1947
+ }, null), e.prependAvatar && f(je, {
1948
+ key: "prepend-avatar",
1949
+ image: e.prependAvatar,
1950
+ start: !0
1951
+ }, null)])]), k("div", {
1952
+ class: "v-chip__content",
1953
+ "data-no-activator": ""
1954
+ }, [l.default?.({
1955
+ isSelected: y?.isSelected.value,
1956
+ selectedClass: y?.selectedClass.value,
1957
+ select: y?.select,
1958
+ toggle: y?.toggle,
1959
+ value: y?.value.value,
1960
+ disabled: e.disabled
1961
+ }) ?? Ue(e.text)]), W && k("div", {
1962
+ key: "append",
1963
+ class: "v-chip__append"
1964
+ }, [l.append ? f(pe, {
1965
+ key: "append-defaults",
1966
+ disabled: !R,
1967
+ defaults: {
1968
+ VAvatar: {
1969
+ end: !0,
1970
+ image: e.appendAvatar
1971
+ },
1972
+ VIcon: {
1973
+ end: !0,
1974
+ icon: e.appendIcon
1975
+ }
1976
+ }
1977
+ }, l.append) : k(ie, null, [e.appendIcon && f(ge, {
1978
+ key: "append-icon",
1979
+ end: !0,
1980
+ icon: e.appendIcon
1981
+ }, null), e.appendAvatar && f(je, {
1982
+ key: "append-avatar",
1983
+ end: !0,
1984
+ image: e.appendAvatar
1985
+ }, null)])]), J && k("button", z({
1986
+ key: "close",
1987
+ class: "v-chip__close",
1988
+ type: "button",
1989
+ "data-testid": "close-chip"
1990
+ }, _.value), [l.close ? f(pe, {
1991
+ key: "close-defaults",
1992
+ defaults: {
1993
+ VIcon: {
1994
+ icon: e.closeIcon,
1995
+ size: "x-small"
1996
+ }
1997
+ }
1998
+ }, l.close) : f(ge, {
1999
+ key: "close-icon",
2000
+ icon: e.closeIcon,
2001
+ size: "x-small"
2002
+ }, null)])]
2003
+ }), [[Oe, C.value && e.ripple, null]]);
2004
+ };
2005
+ }
2006
+ }), Va = O({
2007
+ color: String,
2008
+ ...Rt(),
2009
+ ...oe(),
2010
+ ...Qe(),
2011
+ ...Ot(),
2012
+ ...$t(),
2013
+ ...xl(),
2014
+ ...Xe(),
2015
+ ...ke(),
2016
+ ...Pe()
2017
+ }, "VSheet"), xa = q()({
2018
+ name: "VSheet",
2019
+ props: Va(),
2020
+ setup(e, a) {
2021
+ let {
2022
+ slots: n
2023
+ } = a;
2024
+ const {
2025
+ themeClasses: t
2026
+ } = Re(e), {
2027
+ backgroundColorClasses: l,
2028
+ backgroundColorStyles: o
2029
+ } = dt(() => e.color), {
2030
+ borderClasses: r
2031
+ } = Dt(e), {
2032
+ dimensionStyles: u
2033
+ } = Je(e), {
2034
+ elevationClasses: i
2035
+ } = Bt(e), {
2036
+ locationStyles: v
2037
+ } = Et(e), {
2038
+ positionClasses: s
2039
+ } = pl(e), {
2040
+ roundedClasses: c
2041
+ } = Ye(e);
2042
+ return ee(() => f(e.tag, {
2043
+ class: ae(["v-sheet", t.value, l.value, r.value, i.value, s.value, c.value, e.class]),
2044
+ style: ye([o.value, u.value, v.value, e.style])
2045
+ }, n)), {};
2046
+ }
2047
+ }), Ia = {
2048
+ __name: "Selected",
2049
+ props: {
2050
+ modelValue: {},
2051
+ modelModifiers: {}
2052
+ },
2053
+ emits: /* @__PURE__ */ At("save", ["update:modelValue"]),
2054
+ setup(e, { emit: a }) {
2055
+ const { advancedFiltersState: n } = tt(), t = Se("table_props"), l = ut(e, "modelValue"), o = (i, v) => {
2056
+ const s = t.headers.find((d) => (d.advancedFilter?.key ?? d.key) === v), c = i.comparison === "=" ? ":" : " " + i.comparison, y = (Array.isArray(i.value) ? i.value : [i.value]).map((d) => {
2057
+ const p = s.advancedFilter?.options?.items ?? [];
2058
+ let S = d, C;
2059
+ return p.length && (C = p.find((_) => _.value === d), C && (S = C.title)), typeof s.advancedFilter?.valueFormatter == "function" && (S = s.advancedFilter.valueFormatter({
2060
+ item: C,
2061
+ value: d
2062
+ })), S;
2063
+ });
2064
+ return `${s.title}${c} ${y}`;
2065
+ }, r = (i) => {
2066
+ l.value[i] = { comparison: "=", value: null }, u("save");
2067
+ }, u = a;
2068
+ return (i, v) => (X(), fe(xa, null, {
2069
+ default: K(() => [
2070
+ f(ka, null, {
2071
+ default: K(() => [
2072
+ (X(!0), Ee(ie, null, Pt(B(n), (s, c) => (X(), fe(Jl, {
2073
+ key: c,
2074
+ class: "my-0",
2075
+ text: o(s, c),
2076
+ closable: "",
2077
+ value: s,
2078
+ density: "comfortable",
2079
+ "onClick:close": (m) => r(c)
2080
+ }, null, 8, ["text", "value", "onClick:close"]))), 128))
2081
+ ]),
2082
+ _: 1
2083
+ })
2084
+ ]),
2085
+ _: 1
2086
+ }));
2087
+ }
2088
+ }, wa = O({
2089
+ active: Boolean,
2090
+ disabled: Boolean,
2091
+ max: [Number, String],
2092
+ value: {
2093
+ type: [Number, String],
2094
+ default: 0
2095
+ },
2096
+ ...oe(),
2097
+ ...ft({
2098
+ transition: {
2099
+ component: _l
2100
+ }
2101
+ })
2102
+ }, "VCounter"), _a = q()({
2103
+ name: "VCounter",
2104
+ functional: !0,
2105
+ props: wa(),
2106
+ setup(e, a) {
2107
+ let {
2108
+ slots: n
2109
+ } = a;
2110
+ const t = F(() => e.max ? `${e.value} / ${e.max}` : String(e.value));
2111
+ return ee(() => f(Mt, {
2112
+ transition: e.transition
2113
+ }, {
2114
+ default: () => [Fe(k("div", {
2115
+ class: ae(["v-counter", {
2116
+ "text-error": e.max && !e.disabled && parseFloat(e.value) > parseFloat(e.max)
2117
+ }, e.class]),
2118
+ style: ye(e.style)
2119
+ }, [n.default ? n.default({
2120
+ counter: t.value,
2121
+ max: e.max,
2122
+ value: e.value
2123
+ }) : t.value]), [[it, e.active]])]
2124
+ })), {};
2125
+ }
2126
+ }), Pa = O({
2127
+ floating: Boolean,
2128
+ ...oe()
2129
+ }, "VFieldLabel"), lt = q()({
2130
+ name: "VFieldLabel",
2131
+ props: Pa(),
2132
+ setup(e, a) {
2133
+ let {
2134
+ slots: n
2135
+ } = a;
2136
+ return ee(() => f(Ol, {
2137
+ class: ae(["v-field-label", {
2138
+ "v-field-label--floating": e.floating
2139
+ }, e.class]),
2140
+ style: ye(e.style)
2141
+ }, n)), {};
2142
+ }
2143
+ }), Aa = ["underlined", "outlined", "filled", "solo", "solo-inverted", "solo-filled", "plain"], Yl = O({
2144
+ appendInnerIcon: re,
2145
+ bgColor: String,
2146
+ clearable: Boolean,
2147
+ clearIcon: {
2148
+ type: re,
2149
+ default: "$clear"
2150
+ },
2151
+ active: Boolean,
2152
+ centerAffix: {
2153
+ type: Boolean,
2154
+ default: void 0
2155
+ },
2156
+ color: String,
2157
+ baseColor: String,
2158
+ details: Boolean,
2159
+ dirty: Boolean,
2160
+ disabled: {
2161
+ type: Boolean,
2162
+ default: null
2163
+ },
2164
+ glow: Boolean,
2165
+ error: Boolean,
2166
+ flat: Boolean,
2167
+ iconColor: [Boolean, String],
2168
+ label: String,
2169
+ persistentClear: Boolean,
2170
+ prependInnerIcon: re,
2171
+ reverse: Boolean,
2172
+ singleLine: Boolean,
2173
+ variant: {
2174
+ type: String,
2175
+ default: "filled",
2176
+ validator: (e) => Aa.includes(e)
2177
+ },
2178
+ "onClick:clear": we(),
2179
+ "onClick:appendInner": we(),
2180
+ "onClick:prependInner": we(),
2181
+ ...oe(),
2182
+ ...Il(),
2183
+ ...Xe(),
2184
+ ...Pe()
2185
+ }, "VField"), ul = q()({
2186
+ name: "VField",
2187
+ inheritAttrs: !1,
2188
+ props: {
2189
+ id: String,
2190
+ ...Ul(),
2191
+ ...Yl()
2192
+ },
2193
+ emits: {
2194
+ "update:focused": (e) => !0,
2195
+ "update:modelValue": (e) => !0
2196
+ },
2197
+ setup(e, a) {
2198
+ let {
2199
+ attrs: n,
2200
+ emit: t,
2201
+ slots: l
2202
+ } = a;
2203
+ const {
2204
+ themeClasses: o
2205
+ } = Re(e), {
2206
+ loaderClasses: r
2207
+ } = hl(e), {
2208
+ focusClasses: u,
2209
+ isFocused: i,
2210
+ focus: v,
2211
+ blur: s
2212
+ } = jt(e), {
2213
+ InputIcon: c
2214
+ } = zl(e), {
2215
+ roundedClasses: m
2216
+ } = Ye(e), {
2217
+ rtlClasses: y
2218
+ } = vt(), d = F(() => e.dirty || e.active), p = F(() => !!(e.label || l.label)), S = F(() => !e.singleLine && p.value), C = De(), _ = x(() => e.id || `input-${C}`), E = F(() => e.details ? `${_.value}-messages` : void 0), T = $(), V = $(), L = $(), P = x(() => ["plain", "underlined"].includes(e.variant)), I = x(() => e.error || e.disabled ? void 0 : d.value && i.value ? e.color : e.baseColor), R = x(() => {
2219
+ if (!(!e.iconColor || e.glow && !i.value))
2220
+ return e.iconColor === !0 ? I.value : e.iconColor;
2221
+ }), {
2222
+ backgroundColorClasses: W,
2223
+ backgroundColorStyles: J
2224
+ } = dt(() => e.bgColor), {
2225
+ textColorClasses: te,
2226
+ textColorStyles: Q
2227
+ } = ct(I);
2228
+ ue(d, (j) => {
2229
+ if (S.value && !Fl()) {
2230
+ const Z = T.value.$el, se = V.value.$el;
2231
+ requestAnimationFrame(() => {
2232
+ const de = wn(Z), A = se.getBoundingClientRect(), h = A.x - de.x, b = A.y - de.y - (de.height / 2 - A.height / 2), g = A.width / 0.75, w = Math.abs(g - de.width) > 1 ? {
2233
+ maxWidth: Me(g)
2234
+ } : void 0, D = getComputedStyle(Z), M = getComputedStyle(se), G = parseFloat(D.transitionDuration) * 1e3 || 150, N = parseFloat(M.getPropertyValue("--v-field-label-scale")), Y = M.getPropertyValue("color");
2235
+ Z.style.visibility = "visible", se.style.visibility = "hidden", _n(Z, {
2236
+ transform: `translate(${h}px, ${b}px) scale(${N})`,
2237
+ color: Y,
2238
+ ...w
2239
+ }, {
2240
+ duration: G,
2241
+ easing: Pn,
2242
+ direction: j ? "normal" : "reverse"
2243
+ }).finished.then(() => {
2244
+ Z.style.removeProperty("visibility"), se.style.removeProperty("visibility");
2245
+ });
2246
+ });
2247
+ }
2248
+ }, {
2249
+ flush: "post"
2250
+ });
2251
+ const U = x(() => ({
2252
+ isActive: d,
2253
+ isFocused: i,
2254
+ controlRef: L,
2255
+ blur: s,
2256
+ focus: v
2257
+ }));
2258
+ function ce(j) {
2259
+ j.target !== document.activeElement && j.preventDefault();
2260
+ }
2261
+ return ee(() => {
2262
+ const j = e.variant === "outlined", Z = !!(l["prepend-inner"] || e.prependInnerIcon), se = !!(e.clearable || l.clear) && !e.disabled, de = !!(l["append-inner"] || e.appendInnerIcon || se), A = () => l.label ? l.label({
2263
+ ...U.value,
2264
+ label: e.label,
2265
+ props: {
2266
+ for: _.value
2267
+ }
2268
+ }) : e.label;
2269
+ return k("div", z({
2270
+ class: ["v-field", {
2271
+ "v-field--active": d.value,
2272
+ "v-field--appended": de,
2273
+ "v-field--center-affix": e.centerAffix ?? !P.value,
2274
+ "v-field--disabled": e.disabled,
2275
+ "v-field--dirty": e.dirty,
2276
+ "v-field--error": e.error,
2277
+ "v-field--glow": e.glow,
2278
+ "v-field--flat": e.flat,
2279
+ "v-field--has-background": !!e.bgColor,
2280
+ "v-field--persistent-clear": e.persistentClear,
2281
+ "v-field--prepended": Z,
2282
+ "v-field--reverse": e.reverse,
2283
+ "v-field--single-line": e.singleLine,
2284
+ "v-field--no-label": !A(),
2285
+ [`v-field--variant-${e.variant}`]: !0
2286
+ }, o.value, W.value, u.value, r.value, m.value, y.value, e.class],
2287
+ style: [J.value, e.style],
2288
+ onClick: ce
2289
+ }, n), [k("div", {
2290
+ class: "v-field__overlay"
2291
+ }, null), f(Cl, {
2292
+ name: "v-field",
2293
+ active: !!e.loading,
2294
+ color: e.error ? "error" : typeof e.loading == "string" ? e.loading : e.color
2295
+ }, {
2296
+ default: l.loader
2297
+ }), Z && k("div", {
2298
+ key: "prepend",
2299
+ class: "v-field__prepend-inner"
2300
+ }, [e.prependInnerIcon && f(c, {
2301
+ key: "prepend-icon",
2302
+ name: "prependInner",
2303
+ color: R.value
2304
+ }, null), l["prepend-inner"]?.(U.value)]), k("div", {
2305
+ class: "v-field__field",
2306
+ "data-no-activator": ""
2307
+ }, [["filled", "solo", "solo-inverted", "solo-filled"].includes(e.variant) && S.value && f(lt, {
2308
+ key: "floating-label",
2309
+ ref: V,
2310
+ class: ae([te.value]),
2311
+ floating: !0,
2312
+ for: _.value,
2313
+ "aria-hidden": !d.value,
2314
+ style: ye(Q.value)
2315
+ }, {
2316
+ default: () => [A()]
2317
+ }), p.value && f(lt, {
2318
+ key: "label",
2319
+ ref: T,
2320
+ for: _.value
2321
+ }, {
2322
+ default: () => [A()]
2323
+ }), l.default?.({
2324
+ ...U.value,
2325
+ props: {
2326
+ id: _.value,
2327
+ class: "v-field__input",
2328
+ "aria-describedby": E.value
2329
+ },
2330
+ focus: v,
2331
+ blur: s
2332
+ }) ?? k("div", {
2333
+ id: _.value,
2334
+ class: "v-field__input",
2335
+ "aria-describedby": E.value
2336
+ }, null)]), se && f(Nl, {
2337
+ key: "clear"
2338
+ }, {
2339
+ default: () => [Fe(k("div", {
2340
+ class: "v-field__clearable",
2341
+ onMousedown: (h) => {
2342
+ h.preventDefault(), h.stopPropagation();
2343
+ }
2344
+ }, [f(pe, {
2345
+ defaults: {
2346
+ VIcon: {
2347
+ icon: e.clearIcon
2348
+ }
2349
+ }
2350
+ }, {
2351
+ default: () => [l.clear ? l.clear({
2352
+ ...U.value,
2353
+ props: {
2354
+ onFocus: v,
2355
+ onBlur: s,
2356
+ onClick: e["onClick:clear"],
2357
+ tabindex: -1
2358
+ }
2359
+ }) : f(c, {
2360
+ name: "clear",
2361
+ onFocus: v,
2362
+ onBlur: s,
2363
+ tabindex: -1
2364
+ }, null)]
2365
+ })]), [[it, e.dirty]])]
2366
+ }), de && k("div", {
2367
+ key: "append",
2368
+ class: "v-field__append-inner"
2369
+ }, [l["append-inner"]?.(U.value), e.appendInnerIcon && f(c, {
2370
+ key: "append-icon",
2371
+ name: "appendInner",
2372
+ color: R.value
2373
+ }, null)]), k("div", {
2374
+ class: ae(["v-field__outline", te.value]),
2375
+ style: ye(Q.value)
2376
+ }, [j && k(ie, null, [k("div", {
2377
+ class: "v-field__outline__start"
2378
+ }, null), S.value && k("div", {
2379
+ class: "v-field__outline__notch"
2380
+ }, [f(lt, {
2381
+ ref: V,
2382
+ floating: !0,
2383
+ for: _.value,
2384
+ "aria-hidden": !d.value
2385
+ }, {
2386
+ default: () => [A()]
2387
+ })]), k("div", {
2388
+ class: "v-field__outline__end"
2389
+ }, null)]), P.value && S.value && f(lt, {
2390
+ ref: V,
2391
+ floating: !0,
2392
+ for: _.value,
2393
+ "aria-hidden": !d.value
2394
+ }, {
2395
+ default: () => [A()]
2396
+ })])]);
2397
+ }), {
2398
+ controlRef: L,
2399
+ fieldIconColor: R
2400
+ };
2401
+ }
2402
+ }), Ta = O({
2403
+ autocomplete: String
2404
+ }, "autocomplete");
2405
+ function Fa(e) {
2406
+ const a = De(), n = ne(0), t = F(() => e.autocomplete === "suppress"), l = F(() => t.value ? `${e.name}-${a}-${n.value}` : e.name), o = F(() => t.value ? "off" : e.autocomplete);
2407
+ return {
2408
+ isSuppressing: t,
2409
+ fieldAutocomplete: o,
2410
+ fieldName: l,
2411
+ update: () => n.value = (/* @__PURE__ */ new Date()).getTime()
2412
+ };
2413
+ }
2414
+ function Da(e) {
2415
+ function a(n, t) {
2416
+ !e.autofocus || !n || t[0].target?.focus?.();
2417
+ }
2418
+ return {
2419
+ onIntersect: a
2420
+ };
2421
+ }
2422
+ const Ba = ["color", "file", "time", "date", "datetime-local", "week", "month"], Jt = O({
2423
+ autofocus: Boolean,
2424
+ counter: [Boolean, Number, String],
2425
+ counterValue: [Number, Function],
2426
+ prefix: String,
2427
+ placeholder: String,
2428
+ persistentPlaceholder: Boolean,
2429
+ persistentCounter: Boolean,
2430
+ suffix: String,
2431
+ role: String,
2432
+ type: {
2433
+ type: String,
2434
+ default: "text"
2435
+ },
2436
+ modelModifiers: Object,
2437
+ ...Ta(),
2438
+ ...Kt(),
2439
+ ...Yl()
2440
+ }, "VTextField"), qe = q()({
2441
+ name: "VTextField",
2442
+ directives: {
2443
+ vIntersect: ll
2444
+ },
2445
+ inheritAttrs: !1,
2446
+ props: Jt(),
2447
+ emits: {
2448
+ "click:control": (e) => !0,
2449
+ "mousedown:control": (e) => !0,
2450
+ "update:focused": (e) => !0,
2451
+ "update:modelValue": (e) => !0
2452
+ },
2453
+ setup(e, a) {
2454
+ let {
2455
+ attrs: n,
2456
+ emit: t,
2457
+ slots: l
2458
+ } = a;
2459
+ const o = he(e, "modelValue"), {
2460
+ isFocused: r,
2461
+ focus: u,
2462
+ blur: i
2463
+ } = jt(e), {
2464
+ onIntersect: v
2465
+ } = Da(e), s = x(() => typeof e.counterValue == "function" ? e.counterValue(o.value) : typeof e.counterValue == "number" ? e.counterValue : (o.value ?? "").toString().length), c = x(() => {
2466
+ if (n.maxlength) return n.maxlength;
2467
+ if (!(!e.counter || typeof e.counter != "number" && typeof e.counter != "string"))
2468
+ return e.counter;
2469
+ }), m = x(() => ["plain", "underlined"].includes(e.variant)), y = $(), d = $(), p = $(), S = Fa(e), C = x(() => Ba.includes(e.type) || e.persistentPlaceholder || r.value || e.active);
2470
+ function _() {
2471
+ S.isSuppressing.value && S.update(), r.value || u(), me(() => {
2472
+ p.value !== document.activeElement && p.value?.focus();
2473
+ });
2474
+ }
2475
+ function E(P) {
2476
+ t("mousedown:control", P), P.target !== p.value && (_(), P.preventDefault());
2477
+ }
2478
+ function T(P) {
2479
+ t("click:control", P);
2480
+ }
2481
+ function V(P, I) {
2482
+ P.stopPropagation(), _(), me(() => {
2483
+ I(), wl(e["onClick:clear"], P);
2484
+ });
2485
+ }
2486
+ function L(P) {
2487
+ const I = P.target;
2488
+ if (o.value = I.value, e.modelModifiers?.trim && ["text", "search", "password", "tel", "url"].includes(e.type)) {
2489
+ const R = [I.selectionStart, I.selectionEnd];
2490
+ me(() => {
2491
+ I.selectionStart = R[0], I.selectionEnd = R[1];
2492
+ });
2493
+ }
2494
+ }
2495
+ return ee(() => {
2496
+ const P = !!(l.counter || e.counter !== !1 && e.counter != null), I = !!(P || l.details), [R, W] = Lt(n), {
2497
+ modelValue: J,
2498
+ ...te
2499
+ } = ot.filterProps(e), Q = ul.filterProps(e);
2500
+ return f(ot, z({
2501
+ ref: y,
2502
+ modelValue: o.value,
2503
+ "onUpdate:modelValue": (U) => o.value = U,
2504
+ class: ["v-text-field", {
2505
+ "v-text-field--prefixed": e.prefix,
2506
+ "v-text-field--suffixed": e.suffix,
2507
+ "v-input--plain-underlined": m.value
2508
+ }, e.class],
2509
+ style: e.style
2510
+ }, R, te, {
2511
+ centerAffix: !m.value,
2512
+ focused: r.value
2513
+ }), {
2514
+ ...l,
2515
+ default: (U) => {
2516
+ let {
2517
+ id: ce,
2518
+ isDisabled: j,
2519
+ isDirty: Z,
2520
+ isReadonly: se,
2521
+ isValid: de,
2522
+ hasDetails: A,
2523
+ reset: h
2524
+ } = U;
2525
+ return f(ul, z({
2526
+ ref: d,
2527
+ onMousedown: E,
2528
+ onClick: T,
2529
+ "onClick:clear": (b) => V(b, h),
2530
+ role: e.role
2531
+ }, Ze(Q, ["onClick:clear"]), {
2532
+ id: ce.value,
2533
+ active: C.value || Z.value,
2534
+ dirty: Z.value || e.dirty,
2535
+ disabled: j.value,
2536
+ focused: r.value,
2537
+ details: A.value,
2538
+ error: de.value === !1
2539
+ }), {
2540
+ ...l,
2541
+ default: (b) => {
2542
+ let {
2543
+ props: {
2544
+ class: g,
2545
+ ...w
2546
+ },
2547
+ controlRef: D
2548
+ } = b;
2549
+ const M = Fe(k("input", z({
2550
+ ref: (G) => p.value = D.value = G,
2551
+ value: o.value,
2552
+ onInput: L,
2553
+ autofocus: e.autofocus,
2554
+ readonly: se.value,
2555
+ disabled: j.value,
2556
+ name: S.fieldName.value,
2557
+ autocomplete: S.fieldAutocomplete.value,
2558
+ placeholder: e.placeholder,
2559
+ size: 1,
2560
+ role: e.role,
2561
+ type: e.type,
2562
+ onFocus: u,
2563
+ onBlur: i
2564
+ }, w, W), null), [[ll, {
2565
+ handler: v
2566
+ }, null, {
2567
+ once: !0
2568
+ }]]);
2569
+ return k(ie, null, [e.prefix && k("span", {
2570
+ class: "v-text-field__prefix"
2571
+ }, [k("span", {
2572
+ class: "v-text-field__prefix__text"
2573
+ }, [e.prefix])]), l.default ? k("div", {
2574
+ class: ae(g),
2575
+ "data-no-activator": ""
2576
+ }, [l.default(), M]) : fn(M, {
2577
+ class: g
2578
+ }), e.suffix && k("span", {
2579
+ class: "v-text-field__suffix"
2580
+ }, [k("span", {
2581
+ class: "v-text-field__suffix__text"
2582
+ }, [e.suffix])])]);
2583
+ }
2584
+ });
2585
+ },
2586
+ details: I ? (U) => k(ie, null, [l.details?.(U), P && k(ie, null, [k("span", null, null), f(_a, {
2587
+ active: e.persistentCounter || r.value,
2588
+ value: s.value,
2589
+ max: c.value,
2590
+ disabled: e.disabled
2591
+ }, l.counter)])]) : void 0
2592
+ });
2593
+ }), et({}, y, d, p);
2594
+ }
2595
+ }), Ea = O({
2596
+ renderless: Boolean,
2597
+ ...oe()
2598
+ }, "VVirtualScrollItem"), Na = q()({
2599
+ name: "VVirtualScrollItem",
2600
+ inheritAttrs: !1,
2601
+ props: Ea(),
2602
+ emits: {
2603
+ "update:height": (e) => !0
2604
+ },
2605
+ setup(e, a) {
2606
+ let {
2607
+ attrs: n,
2608
+ emit: t,
2609
+ slots: l
2610
+ } = a;
2611
+ const {
2612
+ resizeRef: o,
2613
+ contentRect: r
2614
+ } = at(void 0, "border");
2615
+ ue(() => r.value?.height, (u) => {
2616
+ u != null && t("update:height", u);
2617
+ }), ee(() => e.renderless ? k(ie, null, [l.default?.({
2618
+ itemRef: o
2619
+ })]) : k("div", z({
2620
+ ref: o,
2621
+ class: ["v-virtual-scroll__item", e.class],
2622
+ style: e.style
2623
+ }, n), [l.default?.()]));
2624
+ }
2625
+ }), $a = -1, Oa = 1, pt = 100, Ra = O({
2626
+ itemHeight: {
2627
+ type: [Number, String],
2628
+ default: null
2629
+ },
2630
+ itemKey: {
2631
+ type: [String, Array, Function],
2632
+ default: null
2633
+ },
2634
+ height: [Number, String]
2635
+ }, "virtual");
2636
+ function La(e, a) {
2637
+ const n = Dl(), t = ne(0);
2638
+ kt(() => {
2639
+ t.value = parseFloat(e.itemHeight || 0);
2640
+ });
2641
+ const l = ne(0), o = ne(Math.ceil(
2642
+ // Assume 16px items filling the entire screen height if
2643
+ // not provided. This is probably incorrect but it minimises
2644
+ // the chance of ending up with empty space at the bottom.
2645
+ // The default value is set here to avoid poisoning getSize()
2646
+ (parseInt(e.height) || n.height.value) / (t.value || 16)
2647
+ ) || 1), r = ne(0), u = ne(0), i = $(), v = $();
2648
+ let s = 0;
2649
+ const {
2650
+ resizeRef: c,
2651
+ contentRect: m
2652
+ } = at();
2653
+ kt(() => {
2654
+ c.value = i.value;
2655
+ });
2656
+ const y = x(() => i.value === document.documentElement ? n.height.value : m.value?.height || parseInt(e.height) || 0), d = x(() => !!(i.value && v.value && y.value && t.value));
2657
+ let p = Array.from({
2658
+ length: a.value.length
2659
+ }), S = Array.from({
2660
+ length: a.value.length
2661
+ });
2662
+ const C = ne(0);
2663
+ let _ = -1;
2664
+ function E(A) {
2665
+ return p[A] || t.value;
2666
+ }
2667
+ const T = An(() => {
2668
+ const A = performance.now();
2669
+ S[0] = 0;
2670
+ const h = a.value.length;
2671
+ for (let b = 1; b <= h; b++)
2672
+ S[b] = (S[b - 1] || 0) + E(b - 1);
2673
+ C.value = Math.max(C.value, performance.now() - A);
2674
+ }, C), V = ue(d, (A) => {
2675
+ A && (V(), s = v.value.offsetTop, T.immediate(), j(), ~_ && me(() => {
2676
+ Ge && window.requestAnimationFrame(() => {
2677
+ se(_), _ = -1;
2678
+ });
2679
+ }));
2680
+ });
2681
+ st(() => {
2682
+ T.clear();
2683
+ });
2684
+ function L(A, h) {
2685
+ const b = p[A], g = t.value;
2686
+ t.value = g ? Math.min(t.value, h) : h, (b !== h || g !== t.value) && (p[A] = h, T());
2687
+ }
2688
+ function P(A) {
2689
+ A = Te(A, 0, a.value.length);
2690
+ const h = Math.floor(A), b = A % 1, g = h + 1, w = S[h] || 0, D = S[g] || w;
2691
+ return w + (D - w) * b;
2692
+ }
2693
+ function I(A) {
2694
+ return Ma(S, A);
2695
+ }
2696
+ let R = 0, W = 0, J = 0;
2697
+ ue(y, (A, h) => {
2698
+ h && (j(), A < h && requestAnimationFrame(() => {
2699
+ W = 0, j();
2700
+ }));
2701
+ });
2702
+ let te = -1;
2703
+ function Q() {
2704
+ if (!i.value || !v.value) return;
2705
+ const A = i.value.scrollTop, h = performance.now();
2706
+ h - J > 500 ? (W = Math.sign(A - R), s = v.value.offsetTop) : W = A - R, R = A, J = h, window.clearTimeout(te), te = window.setTimeout(U, 500), j();
2707
+ }
2708
+ function U() {
2709
+ !i.value || !v.value || (W = 0, J = 0, window.clearTimeout(te), j());
2710
+ }
2711
+ let ce = -1;
2712
+ function j() {
2713
+ cancelAnimationFrame(ce), ce = requestAnimationFrame(Z);
2714
+ }
2715
+ function Z() {
2716
+ if (!i.value || !y.value || !t.value) return;
2717
+ const A = R - s, h = Math.sign(W), b = Math.max(0, A - pt), g = Te(I(b), 0, a.value.length), w = A + y.value + pt, D = Te(I(w) + 1, g + 1, a.value.length);
2718
+ if (
2719
+ // Only update the side we're scrolling towards,
2720
+ // the other side will be updated incidentally
2721
+ (h !== $a || g < l.value) && (h !== Oa || D > o.value)
2722
+ ) {
2723
+ const M = P(l.value) - P(g), G = P(D) - P(o.value);
2724
+ Math.max(M, G) > pt ? (l.value = g, o.value = D) : (g <= 0 && (l.value = g), D >= a.value.length && (o.value = D));
2725
+ }
2726
+ r.value = P(l.value), u.value = P(a.value.length) - P(o.value);
2727
+ }
2728
+ function se(A) {
2729
+ const h = P(A);
2730
+ !i.value || A && !h ? _ = A : i.value.scrollTop = h;
2731
+ }
2732
+ const de = x(() => a.value.slice(l.value, o.value).map((A, h) => {
2733
+ const b = h + l.value;
2734
+ return {
2735
+ raw: A,
2736
+ index: b,
2737
+ key: Tn(A, e.itemKey, b)
2738
+ };
2739
+ }));
2740
+ return ue(a, () => {
2741
+ p = Array.from({
2742
+ length: a.value.length
2743
+ }), S = Array.from({
2744
+ length: a.value.length
2745
+ }), T.immediate(), j();
2746
+ }, {
2747
+ deep: 1
2748
+ }), {
2749
+ calculateVisibleItems: j,
2750
+ containerRef: i,
2751
+ markerRef: v,
2752
+ computedItems: de,
2753
+ paddingTop: r,
2754
+ paddingBottom: u,
2755
+ scrollToIndex: se,
2756
+ handleScroll: Q,
2757
+ handleScrollend: U,
2758
+ handleItemResize: L
2759
+ };
2760
+ }
2761
+ function Ma(e, a) {
2762
+ let n = e.length - 1, t = 0, l = 0, o = null, r = -1;
2763
+ if (e[n] < a)
2764
+ return n;
2765
+ for (; t <= n; )
2766
+ if (l = t + n >> 1, o = e[l], o > a)
2767
+ n = l - 1;
2768
+ else if (o < a)
2769
+ r = l, t = l + 1;
2770
+ else return o === a ? l : t;
2771
+ return r;
2772
+ }
2773
+ const Ha = O({
2774
+ items: {
2775
+ type: Array,
2776
+ default: () => []
2777
+ },
2778
+ renderless: Boolean,
2779
+ ...Ra(),
2780
+ ...oe(),
2781
+ ...Qe()
2782
+ }, "VVirtualScroll"), za = q()({
2783
+ name: "VVirtualScroll",
2784
+ props: Ha(),
2785
+ setup(e, a) {
2786
+ let {
2787
+ slots: n
2788
+ } = a;
2789
+ const t = Al("VVirtualScroll"), {
2790
+ dimensionStyles: l
2791
+ } = Je(e), {
2792
+ calculateVisibleItems: o,
2793
+ containerRef: r,
2794
+ markerRef: u,
2795
+ handleScroll: i,
2796
+ handleScrollend: v,
2797
+ handleItemResize: s,
2798
+ scrollToIndex: c,
2799
+ paddingTop: m,
2800
+ paddingBottom: y,
2801
+ computedItems: d
2802
+ } = La(e, F(() => e.items));
2803
+ return Vt(() => e.renderless, () => {
2804
+ function p() {
2805
+ const C = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !1) ? "addEventListener" : "removeEventListener";
2806
+ r.value === document.documentElement ? (document[C]("scroll", i, {
2807
+ passive: !0
2808
+ }), document[C]("scrollend", v)) : (r.value?.[C]("scroll", i, {
2809
+ passive: !0
2810
+ }), r.value?.[C]("scrollend", v));
2811
+ }
2812
+ Ne(() => {
2813
+ r.value = Fn(t.vnode.el, !0), p(!0);
2814
+ }), st(p);
2815
+ }), ee(() => {
2816
+ const p = d.value.map((S) => f(Na, {
2817
+ key: S.key,
2818
+ renderless: e.renderless,
2819
+ "onUpdate:height": (C) => s(S.index, C)
2820
+ }, {
2821
+ default: (C) => n.default?.({
2822
+ item: S.raw,
2823
+ index: S.index,
2824
+ ...C
2825
+ })
2826
+ }));
2827
+ return e.renderless ? k(ie, null, [k("div", {
2828
+ ref: u,
2829
+ class: "v-virtual-scroll__spacer",
2830
+ style: {
2831
+ paddingTop: Me(m.value)
2832
+ }
2833
+ }, null), p, k("div", {
2834
+ class: "v-virtual-scroll__spacer",
2835
+ style: {
2836
+ paddingBottom: Me(y.value)
2837
+ }
2838
+ }, null)]) : k("div", {
2839
+ ref: r,
2840
+ class: ae(["v-virtual-scroll", e.class]),
2841
+ onScrollPassive: i,
2842
+ onScrollend: v,
2843
+ style: ye([l.value, e.style])
2844
+ }, [k("div", {
2845
+ ref: u,
2846
+ class: "v-virtual-scroll__container",
2847
+ style: {
2848
+ paddingTop: Me(m.value),
2849
+ paddingBottom: Me(y.value)
2850
+ }
2851
+ }, [p])]);
2852
+ }), {
2853
+ calculateVisibleItems: o,
2854
+ scrollToIndex: c
2855
+ };
2856
+ }
2857
+ });
2858
+ function Ua(e, a) {
2859
+ const n = ne(!1);
2860
+ let t;
2861
+ function l(u) {
2862
+ cancelAnimationFrame(t), n.value = !0, t = requestAnimationFrame(() => {
2863
+ t = requestAnimationFrame(() => {
2864
+ n.value = !1;
2865
+ });
2866
+ });
2867
+ }
2868
+ async function o() {
2869
+ await new Promise((u) => requestAnimationFrame(u)), await new Promise((u) => requestAnimationFrame(u)), await new Promise((u) => requestAnimationFrame(u)), await new Promise((u) => {
2870
+ if (n.value) {
2871
+ const i = ue(n, () => {
2872
+ i(), u();
2873
+ });
2874
+ } else u();
2875
+ });
2876
+ }
2877
+ async function r(u) {
2878
+ if (u.key === "Tab" && a.value?.focus(), !["PageDown", "PageUp", "Home", "End"].includes(u.key)) return;
2879
+ const i = e.value?.$el;
2880
+ if (!i) return;
2881
+ (u.key === "Home" || u.key === "End") && i.scrollTo({
2882
+ top: u.key === "Home" ? 0 : i.scrollHeight,
2883
+ behavior: "smooth"
2884
+ }), await o();
2885
+ const v = i.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");
2886
+ if (u.key === "PageDown" || u.key === "Home") {
2887
+ const s = i.getBoundingClientRect().top;
2888
+ for (const c of v)
2889
+ if (c.getBoundingClientRect().top >= s) {
2890
+ c.focus();
2891
+ break;
2892
+ }
2893
+ } else {
2894
+ const s = i.getBoundingClientRect().bottom;
2895
+ for (const c of [...v].reverse())
2896
+ if (c.getBoundingClientRect().bottom <= s) {
2897
+ c.focus();
2898
+ break;
2899
+ }
2900
+ }
2901
+ }
2902
+ return {
2903
+ onScrollPassive: l,
2904
+ onKeydown: r
2905
+ };
2906
+ }
2907
+ const ja = O({
2908
+ closeText: {
2909
+ type: String,
2910
+ default: "$vuetify.close"
2911
+ },
2912
+ openText: {
2913
+ type: String,
2914
+ default: "$vuetify.open"
2915
+ }
2916
+ }, "autocomplete");
2917
+ function Ga(e, a) {
2918
+ const {
2919
+ t: n
2920
+ } = Le(), t = De(), l = x(() => `menu-${t}`), o = F(() => Qt(a)), r = F(() => l.value), u = F(() => n(Qt(a) ? e.closeText : e.openText));
2921
+ return {
2922
+ menuId: l,
2923
+ ariaExpanded: o,
2924
+ ariaControls: r,
2925
+ ariaLabel: u
2926
+ };
2927
+ }
2928
+ const Ka = O({
2929
+ chips: Boolean,
2930
+ closableChips: Boolean,
2931
+ eager: Boolean,
2932
+ hideNoData: Boolean,
2933
+ hideSelected: Boolean,
2934
+ listProps: {
2935
+ type: Object
2936
+ },
2937
+ menu: Boolean,
2938
+ menuIcon: {
2939
+ type: re,
2940
+ default: "$dropdown"
2941
+ },
2942
+ menuProps: {
2943
+ type: Object
2944
+ },
2945
+ multiple: Boolean,
2946
+ noDataText: {
2947
+ type: String,
2948
+ default: "$vuetify.noDataText"
2949
+ },
2950
+ openOnClear: Boolean,
2951
+ itemColor: String,
2952
+ noAutoScroll: Boolean,
2953
+ ...ja(),
2954
+ ...On({
2955
+ itemChildren: !1
2956
+ })
2957
+ }, "Select"), qa = O({
2958
+ ...Ka(),
2959
+ ...Ze(Jt({
2960
+ modelValue: null,
2961
+ role: "combobox"
2962
+ }), ["validationValue", "dirty", "appendInnerIcon"]),
2963
+ ...ft({
2964
+ transition: {
2965
+ component: Tl
2966
+ }
2967
+ })
2968
+ }, "VSelect"), Wa = q()({
2969
+ name: "VSelect",
2970
+ props: qa(),
2971
+ emits: {
2972
+ "update:focused": (e) => !0,
2973
+ "update:modelValue": (e) => !0,
2974
+ "update:menu": (e) => !0
2975
+ },
2976
+ setup(e, a) {
2977
+ let {
2978
+ slots: n
2979
+ } = a;
2980
+ const {
2981
+ t
2982
+ } = Le(), l = $(), o = $(), r = $(), {
2983
+ items: u,
2984
+ transformIn: i,
2985
+ transformOut: v
2986
+ } = Dn(e), s = he(e, "modelValue", [], (g) => i(g === null ? [null] : Ae(g)), (g) => {
2987
+ const w = v(g);
2988
+ return e.multiple ? w : w[0] ?? null;
2989
+ }), c = x(() => typeof e.counterValue == "function" ? e.counterValue(s.value) : typeof e.counterValue == "number" ? e.counterValue : s.value.length), m = Gt(e), y = x(() => s.value.map((g) => g.value)), d = ne(!1);
2990
+ let p = "", S = -1, C;
2991
+ const _ = x(() => e.hideSelected ? u.value.filter((g) => !s.value.some((w) => (e.valueComparator || ze)(w, g))) : u.value), E = x(() => e.hideNoData && !_.value.length || m.isReadonly.value || m.isDisabled.value), T = he(e, "menu"), V = x({
2992
+ get: () => T.value,
2993
+ set: (g) => {
2994
+ T.value && !g && o.value?.ΨopenChildren.size || g && E.value || (T.value = g);
2995
+ }
2996
+ }), {
2997
+ menuId: L,
2998
+ ariaExpanded: P,
2999
+ ariaControls: I,
3000
+ ariaLabel: R
3001
+ } = Ga(e, V), W = x(() => ({
3002
+ ...e.menuProps,
3003
+ activatorProps: {
3004
+ ...e.menuProps?.activatorProps || {},
3005
+ "aria-haspopup": "listbox"
3006
+ // Set aria-haspopup to 'listbox'
3007
+ }
3008
+ })), J = $(), te = Ua(J, l);
3009
+ function Q(g) {
3010
+ e.openOnClear && (V.value = !0);
3011
+ }
3012
+ function U() {
3013
+ E.value || (V.value = !V.value);
3014
+ }
3015
+ function ce(g) {
3016
+ nl(g) && j(g);
3017
+ }
3018
+ function j(g) {
3019
+ if (!g.key || m.isReadonly.value) return;
3020
+ ["Enter", " ", "ArrowDown", "ArrowUp", "Home", "End"].includes(g.key) && g.preventDefault(), ["Enter", "ArrowDown", " "].includes(g.key) && (V.value = !0), ["Escape", "Tab"].includes(g.key) && (V.value = !1), g.key === "Home" ? J.value?.focus("first") : g.key === "End" && J.value?.focus("last");
3021
+ const w = 1e3;
3022
+ if (!nl(g)) return;
3023
+ const D = performance.now();
3024
+ D - C > w && (p = "", S = -1), p += g.key.toLowerCase(), C = D;
3025
+ const M = _.value;
3026
+ function G() {
3027
+ let H = N();
3028
+ return H || p.at(-1) === p.at(-2) && (p = p.slice(0, -1), H = N(), H) || (S = -1, H = N(), H) ? H : (p = g.key.toLowerCase(), N());
3029
+ }
3030
+ function N() {
3031
+ for (let H = S + 1; H < M.length; H++) {
3032
+ const be = M[H];
3033
+ if (be.title.toLowerCase().startsWith(p))
3034
+ return [be, H];
3035
+ }
3036
+ }
3037
+ const Y = G();
3038
+ if (!Y) return;
3039
+ const [ve, Ve] = Y;
3040
+ S = Ve, J.value?.focus(Ve), e.multiple || (s.value = [ve]);
3041
+ }
3042
+ function Z(g) {
3043
+ let w = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0;
3044
+ if (!g.props.disabled)
3045
+ if (e.multiple) {
3046
+ const D = s.value.findIndex((G) => (e.valueComparator || ze)(G.value, g.value)), M = w ?? !~D;
3047
+ if (~D) {
3048
+ const G = M ? [...s.value, g] : [...s.value];
3049
+ G.splice(D, 1), s.value = G;
3050
+ } else M && (s.value = [...s.value, g]);
3051
+ } else {
3052
+ const D = w !== !1;
3053
+ s.value = D ? [g] : [], me(() => {
3054
+ V.value = !1;
3055
+ });
3056
+ }
3057
+ }
3058
+ function se(g) {
3059
+ J.value?.$el.contains(g.relatedTarget) || (V.value = !1);
3060
+ }
3061
+ function de() {
3062
+ e.eager && r.value?.calculateVisibleItems();
3063
+ }
3064
+ function A() {
3065
+ d.value && l.value?.focus();
3066
+ }
3067
+ function h(g) {
3068
+ d.value = !0;
3069
+ }
3070
+ function b(g) {
3071
+ if (g == null) s.value = [];
3072
+ else if (Ct(l.value, ":autofill") || Ct(l.value, ":-webkit-autofill")) {
3073
+ const w = u.value.find((D) => D.title === g);
3074
+ w && Z(w);
3075
+ } else l.value && (l.value.value = "");
3076
+ }
3077
+ return ue(V, () => {
3078
+ if (!e.hideSelected && V.value && s.value.length) {
3079
+ const g = _.value.findIndex((w) => s.value.some((D) => (e.valueComparator || ze)(D.value, w.value)));
3080
+ Ge && !e.noAutoScroll && window.requestAnimationFrame(() => {
3081
+ g >= 0 && r.value?.scrollToIndex(g);
3082
+ });
3083
+ }
3084
+ }), ue(u, (g, w) => {
3085
+ V.value || d.value && e.hideNoData && !w.length && g.length && (V.value = !0);
3086
+ }), ee(() => {
3087
+ const g = !!(e.chips || n.chip), w = !!(!e.hideNoData || _.value.length || n["prepend-item"] || n["append-item"] || n["no-data"]), D = s.value.length > 0, M = qe.filterProps(e), G = D || !d.value && e.label && !e.persistentPlaceholder ? void 0 : e.placeholder;
3088
+ return f(qe, z({
3089
+ ref: l
3090
+ }, M, {
3091
+ modelValue: s.value.map((N) => N.props.value).join(", "),
3092
+ "onUpdate:modelValue": b,
3093
+ focused: d.value,
3094
+ "onUpdate:focused": (N) => d.value = N,
3095
+ validationValue: s.externalValue,
3096
+ counterValue: c.value,
3097
+ dirty: D,
3098
+ class: ["v-select", {
3099
+ "v-select--active-menu": V.value,
3100
+ "v-select--chips": !!e.chips,
3101
+ [`v-select--${e.multiple ? "multiple" : "single"}`]: !0,
3102
+ "v-select--selected": s.value.length,
3103
+ "v-select--selection-slot": !!n.selection
3104
+ }, e.class],
3105
+ style: e.style,
3106
+ inputmode: "none",
3107
+ placeholder: G,
3108
+ "onClick:clear": Q,
3109
+ "onMousedown:control": U,
3110
+ onBlur: se,
3111
+ onKeydown: j,
3112
+ "aria-expanded": P.value,
3113
+ "aria-controls": I.value,
3114
+ "aria-label": R.value,
3115
+ title: R.value
3116
+ }), {
3117
+ ...n,
3118
+ default: () => k(ie, null, [f(Bn, z({
3119
+ id: L.value,
3120
+ ref: o,
3121
+ modelValue: V.value,
3122
+ "onUpdate:modelValue": (N) => V.value = N,
3123
+ activator: "parent",
3124
+ contentClass: "v-select__content",
3125
+ disabled: E.value,
3126
+ eager: e.eager,
3127
+ maxHeight: 310,
3128
+ openOnClick: !1,
3129
+ closeOnContentClick: !1,
3130
+ transition: e.transition,
3131
+ onAfterEnter: de,
3132
+ onAfterLeave: A
3133
+ }, W.value), {
3134
+ default: () => [w && f(Ht, z({
3135
+ ref: J,
3136
+ selected: y.value,
3137
+ selectStrategy: e.multiple ? "independent" : "single-independent",
3138
+ onMousedown: (N) => N.preventDefault(),
3139
+ onKeydown: ce,
3140
+ onFocusin: h,
3141
+ tabindex: "-1",
3142
+ selectable: !0,
3143
+ "aria-live": "polite",
3144
+ "aria-label": `${e.label}-list`,
3145
+ color: e.itemColor ?? e.color
3146
+ }, te, e.listProps), {
3147
+ default: () => [n["prepend-item"]?.(), !_.value.length && !e.hideNoData && (n["no-data"]?.() ?? f(nt, {
3148
+ key: "no-data",
3149
+ title: t(e.noDataText)
3150
+ }, null)), f(za, {
3151
+ ref: r,
3152
+ renderless: !0,
3153
+ items: _.value,
3154
+ itemKey: "value"
3155
+ }, {
3156
+ default: (N) => {
3157
+ let {
3158
+ item: Y,
3159
+ index: ve,
3160
+ itemRef: Ve
3161
+ } = N;
3162
+ const H = En(Y.props), be = z(Y.props, {
3163
+ ref: Ve,
3164
+ key: Y.value,
3165
+ onClick: () => Z(Y, null)
3166
+ });
3167
+ return Y.type === "divider" ? n.divider?.({
3168
+ props: Y.raw,
3169
+ index: ve
3170
+ }) ?? f(Ie, z(Y.props, {
3171
+ key: `divider-${ve}`
3172
+ }), null) : Y.type === "subheader" ? n.subheader?.({
3173
+ props: Y.raw,
3174
+ index: ve
3175
+ }) ?? f(Nn, z(Y.props, {
3176
+ key: `subheader-${ve}`
3177
+ }), null) : n.item?.({
3178
+ item: Y,
3179
+ index: ve,
3180
+ props: be
3181
+ }) ?? f(nt, z(be, {
3182
+ role: "option"
3183
+ }), {
3184
+ prepend: (le) => {
3185
+ let {
3186
+ isSelected: rn
3187
+ } = le;
3188
+ return k(ie, null, [e.multiple && !e.hideSelected ? f(wt, {
3189
+ key: Y.value,
3190
+ modelValue: rn,
3191
+ ripple: !1,
3192
+ tabindex: "-1",
3193
+ onClick: (cn) => cn.preventDefault()
3194
+ }, null) : void 0, H.prependAvatar && f(je, {
3195
+ image: H.prependAvatar
3196
+ }, null), H.prependIcon && f(ge, {
3197
+ icon: H.prependIcon
3198
+ }, null)]);
3199
+ }
3200
+ });
3201
+ }
3202
+ }), n["append-item"]?.()]
3203
+ })]
3204
+ }), s.value.map((N, Y) => {
3205
+ function ve(le) {
3206
+ le.stopPropagation(), le.preventDefault(), Z(N, !1);
3207
+ }
3208
+ const Ve = {
3209
+ "onClick:close": ve,
3210
+ onKeydown(le) {
3211
+ le.key !== "Enter" && le.key !== " " || (le.preventDefault(), le.stopPropagation(), ve(le));
3212
+ },
3213
+ onMousedown(le) {
3214
+ le.preventDefault(), le.stopPropagation();
3215
+ },
3216
+ modelValue: !0,
3217
+ "onUpdate:modelValue": void 0
3218
+ }, H = g ? !!n.chip : !!n.selection, be = H ? $n(g ? n.chip({
3219
+ item: N,
3220
+ index: Y,
3221
+ props: Ve
3222
+ }) : n.selection({
3223
+ item: N,
3224
+ index: Y
3225
+ })) : void 0;
3226
+ if (!(H && !be))
3227
+ return k("div", {
3228
+ key: N.value,
3229
+ class: "v-select__selection"
3230
+ }, [g ? n.chip ? f(pe, {
3231
+ key: "chip-defaults",
3232
+ defaults: {
3233
+ VChip: {
3234
+ closable: e.closableChips,
3235
+ size: "small",
3236
+ text: N.title
3237
+ }
3238
+ }
3239
+ }, {
3240
+ default: () => [be]
3241
+ }) : f(Jl, z({
3242
+ key: "chip",
3243
+ closable: e.closableChips,
3244
+ size: "small",
3245
+ text: N.title,
3246
+ disabled: N.props.disabled
3247
+ }, Ve), null) : be ?? k("span", {
3248
+ class: "v-select__selection-text"
3249
+ }, [N.title, e.multiple && Y < s.value.length - 1 && k("span", {
3250
+ class: "v-select__selection-comma"
3251
+ }, [ml(",")])])]);
3252
+ })]),
3253
+ "append-inner": function() {
3254
+ for (var N = arguments.length, Y = new Array(N), ve = 0; ve < N; ve++)
3255
+ Y[ve] = arguments[ve];
3256
+ return k(ie, null, [n["append-inner"]?.(...Y), e.menuIcon ? f(ge, {
3257
+ class: "v-select__menu-icon",
3258
+ color: l.value?.fieldIconColor,
3259
+ icon: e.menuIcon
3260
+ }, null) : void 0]);
3261
+ }
3262
+ });
3263
+ }), et({
3264
+ isFocused: d,
3265
+ menu: V,
3266
+ select: Z
3267
+ }, l);
3268
+ }
3269
+ }), Ja = O({
3270
+ bordered: Boolean,
3271
+ color: String,
3272
+ content: [Number, String],
3273
+ dot: Boolean,
3274
+ floating: Boolean,
3275
+ icon: re,
3276
+ inline: Boolean,
3277
+ label: {
3278
+ type: String,
3279
+ default: "$vuetify.badge"
3280
+ },
3281
+ max: [Number, String],
3282
+ modelValue: {
3283
+ type: Boolean,
3284
+ default: !0
3285
+ },
3286
+ offsetX: [Number, String],
3287
+ offsetY: [Number, String],
3288
+ textColor: String,
3289
+ ...oe(),
3290
+ ...$t({
3291
+ location: "top end"
3292
+ }),
3293
+ ...Xe(),
3294
+ ...ke(),
3295
+ ...Pe(),
3296
+ ...ft({
3297
+ transition: "scale-rotate-transition"
3298
+ }),
3299
+ ...Qe()
3300
+ }, "VBadge"), Ya = q()({
3301
+ name: "VBadge",
3302
+ inheritAttrs: !1,
3303
+ props: Ja(),
3304
+ setup(e, a) {
3305
+ const {
3306
+ backgroundColorClasses: n,
3307
+ backgroundColorStyles: t
3308
+ } = dt(() => e.color), {
3309
+ roundedClasses: l
3310
+ } = Ye(e), {
3311
+ t: o
3312
+ } = Le(), {
3313
+ textColorClasses: r,
3314
+ textColorStyles: u
3315
+ } = ct(() => e.textColor), {
3316
+ themeClasses: i
3317
+ } = Rn(), {
3318
+ locationStyles: v
3319
+ } = Et(e, !0, (c) => (e.floating ? e.dot ? 2 : 4 : e.dot ? 8 : 12) + (["top", "bottom"].includes(c) ? Number(e.offsetY ?? 0) : ["left", "right"].includes(c) ? Number(e.offsetX ?? 0) : 0)), {
3320
+ dimensionStyles: s
3321
+ } = Je(e);
3322
+ return ee(() => {
3323
+ const c = Number(e.content), m = !e.max || isNaN(c) ? e.content : c <= Number(e.max) ? c : `${e.max}+`, [y, d] = Ln(a.attrs, ["aria-atomic", "aria-label", "aria-live", "role", "title"]);
3324
+ return f(e.tag, z({
3325
+ class: ["v-badge", {
3326
+ "v-badge--bordered": e.bordered,
3327
+ "v-badge--dot": e.dot,
3328
+ "v-badge--floating": e.floating,
3329
+ "v-badge--inline": e.inline
3330
+ }, e.class]
3331
+ }, d, {
3332
+ style: e.style
3333
+ }), {
3334
+ default: () => [k("div", {
3335
+ class: "v-badge__wrapper"
3336
+ }, [a.slots.default?.(), f(Mt, {
3337
+ transition: e.transition
3338
+ }, {
3339
+ default: () => [Fe(k("span", z({
3340
+ class: ["v-badge__badge", i.value, n.value, l.value, r.value],
3341
+ style: [t.value, u.value, s.value, e.inline ? {} : v.value],
3342
+ "aria-atomic": "true",
3343
+ "aria-label": o(e.label, c),
3344
+ "aria-live": "polite",
3345
+ role: "status"
3346
+ }, y), [e.dot ? void 0 : a.slots.badge ? a.slots.badge?.() : e.icon ? f(ge, {
3347
+ icon: e.icon
3348
+ }, null) : m]), [[it, e.modelValue]])]
3349
+ })])]
3350
+ });
3351
+ }), {};
3352
+ }
3353
+ }), Xl = mt.reduce((e, a) => (e[a] = {
3354
+ type: [Boolean, String, Number],
3355
+ default: !1
3356
+ }, e), {}), Ql = mt.reduce((e, a) => {
3357
+ const n = "offset" + Tt(a);
3358
+ return e[n] = {
3359
+ type: [String, Number],
3360
+ default: null
3361
+ }, e;
3362
+ }, {}), Zl = mt.reduce((e, a) => {
3363
+ const n = "order" + Tt(a);
3364
+ return e[n] = {
3365
+ type: [String, Number],
3366
+ default: null
3367
+ }, e;
3368
+ }, {}), rl = {
3369
+ col: Object.keys(Xl),
3370
+ offset: Object.keys(Ql),
3371
+ order: Object.keys(Zl)
3372
+ };
3373
+ function Xa(e, a, n) {
3374
+ let t = e;
3375
+ if (!(n == null || n === !1)) {
3376
+ if (a) {
3377
+ const l = a.replace(e, "");
3378
+ t += `-${l}`;
3379
+ }
3380
+ return e === "col" && (t = "v-" + t), e === "col" && (n === "" || n === !0) || (t += `-${n}`), t.toLowerCase();
3381
+ }
3382
+ }
3383
+ const Qa = ["auto", "start", "end", "center", "baseline", "stretch"], Za = O({
3384
+ cols: {
3385
+ type: [Boolean, String, Number],
3386
+ default: !1
3387
+ },
3388
+ ...Xl,
3389
+ offset: {
3390
+ type: [String, Number],
3391
+ default: null
3392
+ },
3393
+ ...Ql,
3394
+ order: {
3395
+ type: [String, Number],
3396
+ default: null
3397
+ },
3398
+ ...Zl,
3399
+ alignSelf: {
3400
+ type: String,
3401
+ default: null,
3402
+ validator: (e) => Qa.includes(e)
3403
+ },
3404
+ ...oe(),
3405
+ ...ke()
3406
+ }, "VCol"), cl = q()({
3407
+ name: "VCol",
3408
+ props: Za(),
3409
+ setup(e, a) {
3410
+ let {
3411
+ slots: n
3412
+ } = a;
3413
+ const t = x(() => {
3414
+ const l = [];
3415
+ let o;
3416
+ for (o in rl)
3417
+ rl[o].forEach((u) => {
3418
+ const i = e[u], v = Xa(o, u, i);
3419
+ v && l.push(v);
3420
+ });
3421
+ const r = l.some((u) => u.startsWith("v-col-"));
3422
+ return l.push({
3423
+ // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified.
3424
+ "v-col": !r || !e.cols,
3425
+ [`v-col-${e.cols}`]: e.cols,
3426
+ [`offset-${e.offset}`]: e.offset,
3427
+ [`order-${e.order}`]: e.order,
3428
+ [`align-self-${e.alignSelf}`]: e.alignSelf
3429
+ }), l;
3430
+ });
3431
+ return () => gl(e.tag, {
3432
+ class: [t.value, e.class],
3433
+ style: e.style
3434
+ }, n.default?.());
3435
+ }
3436
+ }), Yt = ["start", "end", "center"], en = ["space-between", "space-around", "space-evenly"];
3437
+ function Xt(e, a) {
3438
+ return mt.reduce((n, t) => {
3439
+ const l = e + Tt(t);
3440
+ return n[l] = a(), n;
3441
+ }, {});
3442
+ }
3443
+ const eo = [...Yt, "baseline", "stretch"], tn = (e) => eo.includes(e), ln = Xt("align", () => ({
3444
+ type: String,
3445
+ default: null,
3446
+ validator: tn
3447
+ })), to = [...Yt, ...en], nn = (e) => to.includes(e), an = Xt("justify", () => ({
3448
+ type: String,
3449
+ default: null,
3450
+ validator: nn
3451
+ })), lo = [...Yt, ...en, "stretch"], on = (e) => lo.includes(e), sn = Xt("alignContent", () => ({
3452
+ type: String,
3453
+ default: null,
3454
+ validator: on
3455
+ })), dl = {
3456
+ align: Object.keys(ln),
3457
+ justify: Object.keys(an),
3458
+ alignContent: Object.keys(sn)
3459
+ }, no = {
3460
+ align: "align",
3461
+ justify: "justify",
3462
+ alignContent: "align-content"
3463
+ };
3464
+ function ao(e, a, n) {
3465
+ let t = no[e];
3466
+ if (n != null) {
3467
+ if (a) {
3468
+ const l = a.replace(e, "");
3469
+ t += `-${l}`;
3470
+ }
3471
+ return t += `-${n}`, t.toLowerCase();
3472
+ }
3473
+ }
3474
+ const oo = O({
3475
+ dense: Boolean,
3476
+ noGutters: Boolean,
3477
+ align: {
3478
+ type: String,
3479
+ default: null,
3480
+ validator: tn
3481
+ },
3482
+ ...ln,
3483
+ justify: {
3484
+ type: String,
3485
+ default: null,
3486
+ validator: nn
3487
+ },
3488
+ ...an,
3489
+ alignContent: {
3490
+ type: String,
3491
+ default: null,
3492
+ validator: on
3493
+ },
3494
+ ...sn,
3495
+ ...oe(),
3496
+ ...ke()
3497
+ }, "VRow"), so = q()({
3498
+ name: "VRow",
3499
+ props: oo(),
3500
+ setup(e, a) {
3501
+ let {
3502
+ slots: n
3503
+ } = a;
3504
+ const t = x(() => {
3505
+ const l = [];
3506
+ let o;
3507
+ for (o in dl)
3508
+ dl[o].forEach((r) => {
3509
+ const u = e[r], i = ao(o, r, u);
3510
+ i && l.push(i);
3511
+ });
3512
+ return l.push({
3513
+ "v-row--no-gutters": e.noGutters,
3514
+ "v-row--dense": e.dense,
3515
+ [`align-${e.align}`]: e.align,
3516
+ [`justify-${e.justify}`]: e.justify,
3517
+ [`align-content-${e.alignContent}`]: e.alignContent
3518
+ }), l;
3519
+ });
3520
+ return () => gl(e.tag, {
3521
+ class: ["v-row", t.value, e.class],
3522
+ style: e.style
3523
+ }, n.default?.());
3524
+ }
3525
+ }), io = 50, uo = 500;
3526
+ function ro(e) {
3527
+ let {
3528
+ toggleUpDown: a
3529
+ } = e, n = -1, t = -1;
3530
+ st(o);
3531
+ function l(u) {
3532
+ o(), r(u), window.addEventListener("pointerup", o), document.addEventListener("blur", o), n = window.setTimeout(() => {
3533
+ t = window.setInterval(() => r(u), io);
3534
+ }, uo);
3535
+ }
3536
+ function o() {
3537
+ window.clearTimeout(n), window.clearInterval(t), window.removeEventListener("pointerup", o), document.removeEventListener("blur", o);
3538
+ }
3539
+ function r(u) {
3540
+ a(u === "up");
3541
+ }
3542
+ return {
3543
+ holdStart: l,
3544
+ holdStop: o
3545
+ };
3546
+ }
3547
+ const co = O({
3548
+ controlVariant: {
3549
+ type: String,
3550
+ default: "default"
3551
+ },
3552
+ inset: Boolean,
3553
+ hideInput: Boolean,
3554
+ modelValue: {
3555
+ type: Number,
3556
+ default: null
3557
+ },
3558
+ min: {
3559
+ type: Number,
3560
+ default: Number.MIN_SAFE_INTEGER
3561
+ },
3562
+ max: {
3563
+ type: Number,
3564
+ default: Number.MAX_SAFE_INTEGER
3565
+ },
3566
+ step: {
3567
+ type: Number,
3568
+ default: 1
3569
+ },
3570
+ precision: {
3571
+ type: Number,
3572
+ default: 0
3573
+ },
3574
+ minFractionDigits: {
3575
+ type: Number,
3576
+ default: null
3577
+ },
3578
+ decimalSeparator: {
3579
+ type: String,
3580
+ validator: (e) => !e || e.length === 1
3581
+ },
3582
+ ...Ze(Jt(), ["modelValue", "validationValue"])
3583
+ }, "VNumberInput"), fo = q()({
3584
+ name: "VNumberInput",
3585
+ props: {
3586
+ ...co()
3587
+ },
3588
+ emits: {
3589
+ "update:focused": (e) => !0,
3590
+ "update:modelValue": (e) => !0
3591
+ },
3592
+ setup(e, a) {
3593
+ let {
3594
+ slots: n
3595
+ } = a;
3596
+ const t = $(), {
3597
+ holdStart: l,
3598
+ holdStop: o
3599
+ } = ro({
3600
+ toggleUpDown: R
3601
+ }), r = Gt(e), u = x(() => r.isDisabled.value || r.isReadonly.value), i = ne(e.focused), {
3602
+ decimalSeparator: v
3603
+ } = Le(), s = x(() => e.decimalSeparator?.[0] || v.value);
3604
+ function c(h) {
3605
+ let b = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : e.precision, g = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !0;
3606
+ const w = b == null ? String(h) : h.toFixed(b);
3607
+ if (i.value && g)
3608
+ return Number(w).toString().replace(".", s.value);
3609
+ if (e.minFractionDigits === null || b !== null && b < e.minFractionDigits)
3610
+ return w.replace(".", s.value);
3611
+ let [D, M] = w.split(".");
3612
+ return M = (M ?? "").padEnd(e.minFractionDigits, "0").replace(new RegExp(`(?<=\\d{${e.minFractionDigits}})0+$`, "g"), ""), [D, M].filter(Boolean).join(s.value);
3613
+ }
3614
+ const m = he(e, "modelValue", null, (h) => h ?? null, (h) => h == null ? h ?? null : Te(Number(h), e.min, e.max)), y = ne(null);
3615
+ kt(() => {
3616
+ i.value && !u.value && Number(y.value?.replace(s.value, ".")) === m.value || (m.value == null ? y.value = null : isNaN(m.value) || (y.value = c(m.value)));
3617
+ });
3618
+ const d = x({
3619
+ get: () => y.value,
3620
+ set(h) {
3621
+ if (h === null || h === "") {
3622
+ m.value = null, y.value = null;
3623
+ return;
3624
+ }
3625
+ const b = Number(h.replace(s.value, "."));
3626
+ !isNaN(b) && b <= e.max && b >= e.min && (m.value = b, y.value = h);
3627
+ }
3628
+ }), p = x(() => u.value ? !1 : (m.value ?? 0) + e.step <= e.max), S = x(() => u.value ? !1 : (m.value ?? 0) - e.step >= e.min), C = x(() => e.hideInput ? "stacked" : e.controlVariant), _ = F(() => C.value === "split" ? "$plus" : "$collapse"), E = F(() => C.value === "split" ? "$minus" : "$expand"), T = F(() => C.value === "split" ? "default" : "small"), V = F(() => C.value === "stacked" ? "auto" : "100%"), L = {
3629
+ props: {
3630
+ onClick: te,
3631
+ onPointerup: Q,
3632
+ onPointerdown: U,
3633
+ onPointercancel: Q
3634
+ }
3635
+ }, P = {
3636
+ props: {
3637
+ onClick: te,
3638
+ onPointerup: Q,
3639
+ onPointerdown: ce,
3640
+ onPointercancel: Q
3641
+ }
3642
+ };
3643
+ ue(() => e.precision, () => Z()), ue(() => e.minFractionDigits, () => Z()), Ne(() => {
3644
+ j();
3645
+ });
3646
+ function I(h) {
3647
+ if (h == null) return 0;
3648
+ const b = h.toString(), g = b.indexOf(".");
3649
+ return ~g ? b.length - g : 0;
3650
+ }
3651
+ function R() {
3652
+ let h = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0;
3653
+ if (u.value) return;
3654
+ if (m.value == null) {
3655
+ d.value = c(Te(0, e.min, e.max));
3656
+ return;
3657
+ }
3658
+ let b = Math.max(I(m.value), I(e.step));
3659
+ e.precision != null && (b = Math.max(b, e.precision)), h ? p.value && (d.value = c(m.value + e.step, b)) : S.value && (d.value = c(m.value - e.step, b));
3660
+ }
3661
+ function W(h) {
3662
+ if (!h.data) return;
3663
+ const b = h.target, {
3664
+ value: g,
3665
+ selectionStart: w,
3666
+ selectionEnd: D
3667
+ } = b ?? {}, M = g ? g.slice(0, w) + h.data + g.slice(D) : h.data, G = Mn(M, e.precision, s.value);
3668
+ if (new RegExp(`^-?\\d*${Hn(s.value)}?\\d*$`).test(M) || (h.preventDefault(), b.value = G, me(() => d.value = G)), e.precision != null) {
3669
+ if (M.split(s.value)[1]?.length > e.precision) {
3670
+ h.preventDefault(), b.value = G, me(() => d.value = G);
3671
+ const N = (w ?? 0) + h.data.length;
3672
+ b.setSelectionRange(N, N);
3673
+ }
3674
+ e.precision === 0 && M.endsWith(s.value) && (h.preventDefault(), b.value = G, me(() => d.value = G));
3675
+ }
3676
+ }
3677
+ async function J(h) {
3678
+ ["Enter", "ArrowLeft", "ArrowRight", "Backspace", "Delete", "Tab"].includes(h.key) || h.ctrlKey || ["ArrowDown", "ArrowUp"].includes(h.key) && (h.preventDefault(), h.stopPropagation(), j(), await me(), h.key === "ArrowDown" ? R(!1) : R());
3679
+ }
3680
+ function te(h) {
3681
+ h.stopPropagation();
3682
+ }
3683
+ function Q(h) {
3684
+ h.currentTarget?.releasePointerCapture(h.pointerId), h.preventDefault(), o();
3685
+ }
3686
+ function U(h) {
3687
+ h.currentTarget?.setPointerCapture(h.pointerId), h.preventDefault(), h.stopPropagation(), l("up");
3688
+ }
3689
+ function ce(h) {
3690
+ h.currentTarget?.setPointerCapture(h.pointerId), h.preventDefault(), h.stopPropagation(), l("down");
3691
+ }
3692
+ function j() {
3693
+ if (u.value || !t.value) return;
3694
+ const h = t.value.value, b = Number(h.replace(s.value, "."));
3695
+ h && !isNaN(b) ? d.value = c(Te(b, e.min, e.max)) : d.value = null;
3696
+ }
3697
+ function Z() {
3698
+ u.value || (d.value = m.value !== null && !isNaN(m.value) ? c(m.value, e.precision, !1) : null);
3699
+ }
3700
+ function se() {
3701
+ if (!u.value) {
3702
+ if (m.value === null || isNaN(m.value)) {
3703
+ d.value = null;
3704
+ return;
3705
+ }
3706
+ d.value = m.value.toString().replace(".", s.value);
3707
+ }
3708
+ }
3709
+ function de() {
3710
+ se();
3711
+ }
3712
+ function A() {
3713
+ j();
3714
+ }
3715
+ return ee(() => {
3716
+ const {
3717
+ modelValue: h,
3718
+ type: b,
3719
+ ...g
3720
+ } = qe.filterProps(e);
3721
+ function w() {
3722
+ return n.increment ? f(pe, {
3723
+ key: "increment-defaults",
3724
+ defaults: {
3725
+ VBtn: {
3726
+ disabled: !p.value,
3727
+ height: V.value,
3728
+ size: T.value,
3729
+ icon: _.value,
3730
+ variant: "text"
3731
+ }
3732
+ }
3733
+ }, {
3734
+ default: () => [n.increment(L)]
3735
+ }) : f(_e, {
3736
+ "aria-hidden": "true",
3737
+ "data-testid": "increment",
3738
+ disabled: !p.value,
3739
+ height: V.value,
3740
+ icon: _.value,
3741
+ key: "increment-btn",
3742
+ onClick: te,
3743
+ onPointerdown: U,
3744
+ onPointerup: Q,
3745
+ onPointercancel: Q,
3746
+ size: T.value,
3747
+ variant: "text",
3748
+ tabindex: "-1"
3749
+ }, null);
3750
+ }
3751
+ function D() {
3752
+ return n.decrement ? f(pe, {
3753
+ key: "decrement-defaults",
3754
+ defaults: {
3755
+ VBtn: {
3756
+ disabled: !S.value,
3757
+ height: V.value,
3758
+ size: T.value,
3759
+ icon: E.value,
3760
+ variant: "text"
3761
+ }
3762
+ }
3763
+ }, {
3764
+ default: () => [n.decrement(P)]
3765
+ }) : f(_e, {
3766
+ "aria-hidden": "true",
3767
+ "data-testid": "decrement",
3768
+ disabled: !S.value,
3769
+ height: V.value,
3770
+ icon: E.value,
3771
+ key: "decrement-btn",
3772
+ onClick: te,
3773
+ onPointerdown: ce,
3774
+ onPointerup: Q,
3775
+ onPointercancel: Q,
3776
+ size: T.value,
3777
+ variant: "text",
3778
+ tabindex: "-1"
3779
+ }, null);
3780
+ }
3781
+ function M() {
3782
+ return k("div", {
3783
+ class: "v-number-input__control"
3784
+ }, [D(), f(Ie, {
3785
+ vertical: C.value !== "stacked"
3786
+ }, null), w()]);
3787
+ }
3788
+ function G() {
3789
+ return !e.hideInput && !e.inset ? f(Ie, {
3790
+ vertical: !0
3791
+ }, null) : void 0;
3792
+ }
3793
+ const N = C.value === "split" ? k("div", {
3794
+ class: "v-number-input__control"
3795
+ }, [f(Ie, {
3796
+ vertical: !0
3797
+ }, null), w()]) : e.reverse || C.value === "hidden" ? void 0 : k(ie, null, [G(), M()]), Y = n["append-inner"] || N, ve = C.value === "split" ? k("div", {
3798
+ class: "v-number-input__control"
3799
+ }, [D(), f(Ie, {
3800
+ vertical: !0
3801
+ }, null)]) : e.reverse && C.value !== "hidden" ? k(ie, null, [M(), G()]) : void 0, Ve = n["prepend-inner"] || ve;
3802
+ return f(qe, z({
3803
+ ref: t
3804
+ }, g, {
3805
+ modelValue: d.value,
3806
+ "onUpdate:modelValue": (H) => d.value = H,
3807
+ focused: i.value,
3808
+ "onUpdate:focused": (H) => i.value = H,
3809
+ validationValue: m.value,
3810
+ onBeforeinput: W,
3811
+ onFocus: de,
3812
+ onBlur: A,
3813
+ onKeydown: J,
3814
+ class: ["v-number-input", {
3815
+ "v-number-input--default": C.value === "default",
3816
+ "v-number-input--hide-input": e.hideInput,
3817
+ "v-number-input--inset": e.inset,
3818
+ "v-number-input--reverse": e.reverse,
3819
+ "v-number-input--split": C.value === "split",
3820
+ "v-number-input--stacked": C.value === "stacked"
3821
+ }, e.class],
3822
+ style: e.style,
3823
+ inputmode: "decimal"
3824
+ }), {
3825
+ ...n,
3826
+ "append-inner": Y ? function() {
3827
+ for (var H = arguments.length, be = new Array(H), le = 0; le < H; le++)
3828
+ be[le] = arguments[le];
3829
+ return k(ie, null, [n["append-inner"]?.(...be), N]);
3830
+ } : void 0,
3831
+ "prepend-inner": Ve ? function() {
3832
+ for (var H = arguments.length, be = new Array(H), le = 0; le < H; le++)
3833
+ be[le] = arguments[le];
3834
+ return k(ie, null, [ve, n["prepend-inner"]?.(...be)]);
3835
+ } : void 0
3836
+ });
3837
+ }), et({}, t);
3838
+ }
3839
+ }), vo = { class: "text-medium-emphasis ps-2" }, mo = ["id"], go = {
3840
+ __name: "index",
3841
+ props: {
3842
+ modelValue: {},
3843
+ modelModifiers: {}
3844
+ },
3845
+ emits: /* @__PURE__ */ At(["closeDialog", "save"], ["update:modelValue"]),
3846
+ setup(e, { emit: a }) {
3847
+ const n = Se("table_props"), t = ut(e, "modelValue"), l = a, o = {
3848
+ textfield: qe,
3849
+ select: Wa,
3850
+ number: fo,
3851
+ datepicker: Ce(
3852
+ () => import("./Datepicker-DFx2oByi.js")
3853
+ ),
3854
+ comparison: Ce(
3855
+ () => import("./Comparison-BqTSsCLG.js")
3856
+ )
3857
+ }, r = x(() => n.headers.filter((i) => i.advancedFilter !== !1 && !i.hidden)), u = (i) => i ? typeof i == "string" ? o[i] : i : o.textfield;
3858
+ return ue(
3859
+ r,
3860
+ (i) => {
3861
+ i.forEach((v) => {
3862
+ const s = v.advancedFilter?.key ?? v.key;
3863
+ Object.hasOwn(t.value, s) || (t.value[s] = {
3864
+ comparison: "=",
3865
+ value: null
3866
+ });
3867
+ });
3868
+ },
3869
+ { immediate: !0 }
3870
+ ), Ne(async () => {
3871
+ await n.options.advancedFilters?.onMounted();
3872
+ }), (i, v) => (X(), fe(Ut, { rounded: "lg" }, {
3873
+ default: K(() => [
3874
+ f(yt, { class: "d-flex justify-space-between align-center" }, {
3875
+ default: K(() => [
3876
+ k("div", vo, Ue(i.$t("$datatables.advancedFilters")), 1),
3877
+ f(_e, {
3878
+ icon: "mdi-close",
3879
+ variant: "text",
3880
+ onClick: v[0] || (v[0] = (s) => l("closeDialog"))
3881
+ })
3882
+ ]),
3883
+ _: 1
3884
+ }),
3885
+ f(Ie),
3886
+ f(bt, { class: "overflow-auto pt-8" }, {
3887
+ default: K(() => [
3888
+ (X(!0), Ee(ie, null, Pt(B(r), (s, c) => (X(), Ee("div", {
3889
+ id: `advanced-filter-${s.key}`,
3890
+ key: `filter-${c}`,
3891
+ class: ae(`advanced-filter advanced-filter--${s.key}`)
3892
+ }, [
3893
+ (X(), fe(xe(u(s.advancedFilter?.component)), z({
3894
+ modelValue: t.value[s.advancedFilter?.key ?? s.key].value,
3895
+ "onUpdate:modelValue": (m) => t.value[s.advancedFilter?.key ?? s.key].value = m,
3896
+ comparison: t.value[s.advancedFilter?.key ?? s.key].comparison,
3897
+ "onUpdate:comparison": (m) => t.value[s.advancedFilter?.key ?? s.key].comparison = m
3898
+ }, { ref_for: !0 }, s.advancedFilter?.options, {
3899
+ label: s.title,
3900
+ variant: "underlined",
3901
+ clearable: ""
3902
+ }), null, 16, ["modelValue", "onUpdate:modelValue", "comparison", "onUpdate:comparison", "label"]))
3903
+ ], 10, mo))), 128))
3904
+ ]),
3905
+ _: 1
3906
+ }),
3907
+ f(Ie, { class: "mt-2" }),
3908
+ f(zt, { class: "my-2 d-flex justify-end" }, {
3909
+ default: K(() => [
3910
+ f(_e, {
3911
+ class: "text-none",
3912
+ text: i.$t("$datatables.cancel"),
3913
+ onClick: v[1] || (v[1] = (s) => l("closeDialog"))
3914
+ }, null, 8, ["text"]),
3915
+ f(_e, {
3916
+ class: "text-none",
3917
+ color: "primary",
3918
+ text: i.$t("$datatables.submit"),
3919
+ variant: "flat",
3920
+ onClick: v[2] || (v[2] = (s) => l("save"))
3921
+ }, null, 8, ["text"])
3922
+ ]),
3923
+ _: 1
3924
+ })
3925
+ ]),
3926
+ _: 1
3927
+ }));
3928
+ }
3929
+ };
3930
+ function fl(e) {
3931
+ return JSON.parse(JSON.stringify(e));
3932
+ }
3933
+ const yo = {
3934
+ __name: "index",
3935
+ props: {
3936
+ modelValue: { required: !0 },
3937
+ modelModifiers: {}
3938
+ },
3939
+ emits: ["update:modelValue"],
3940
+ setup(e) {
3941
+ const a = gt(), { advancedFiltersState: n } = tt(), { setData: t } = a, l = ut(e, "modelValue"), o = $({}), r = Se("table_props"), u = Se("busEmits"), i = () => {
3942
+ const v = Object.entries(o.value).filter(([, s]) => {
3943
+ const c = s.value;
3944
+ return Array.isArray(c) || typeof c == "string" ? c.length > 0 : c != null && c !== "";
3945
+ }).reduce((s, [c, m]) => (s[c] = m, s), {});
3946
+ JSON.stringify(v) !== JSON.stringify(n.value) && (t({
3947
+ table_id: r.id,
3948
+ name: "advancedFilters",
3949
+ value: { query: fl(v) }
3950
+ }), u("advancedFilters:update", v)), l.value = !1;
3951
+ };
3952
+ return Ne(() => {
3953
+ o.value = fl(n.value);
3954
+ }), (v, s) => {
3955
+ const c = go, m = Ia;
3956
+ return X(), Ee("div", null, [
3957
+ f(qt, {
3958
+ modelValue: l.value,
3959
+ "onUpdate:modelValue": s[1] || (s[1] = (y) => l.value = y),
3960
+ "max-width": "550"
3961
+ }, {
3962
+ default: K(({ isActive: y }) => [
3963
+ f(c, {
3964
+ modelValue: B(o),
3965
+ "onUpdate:modelValue": s[0] || (s[0] = (d) => $e(o) ? o.value = d : null),
3966
+ onSave: i,
3967
+ onCloseDialog: (d) => y.value = !1
3968
+ }, null, 8, ["modelValue", "onCloseDialog"])
3969
+ ]),
3970
+ _: 1
3971
+ }, 8, ["modelValue"]),
3972
+ Object.keys(B(n)).length ? (X(), fe(m, {
3973
+ key: 0,
3974
+ modelValue: B(o),
3975
+ "onUpdate:modelValue": s[2] || (s[2] = (y) => $e(o) ? o.value = y : null),
3976
+ onSave: i
3977
+ }, null, 8, ["modelValue"])) : He("", !0)
3978
+ ]);
3979
+ };
3980
+ }
3981
+ }, bo = {
3982
+ __name: "index",
3983
+ setup(e) {
3984
+ const a = Ce(
3985
+ () => import("./Search-BlL-TqMI.js")
3986
+ ), n = Ce(
3987
+ () => import("./RefreshTable-uBvnLVYW.js")
3988
+ ), t = Ce(
3989
+ () => import("./Options-Bi0Fh84a.js")
3990
+ ), l = Ce(
3991
+ () => import("./index-iDjxmkCZ.js")
3992
+ ), o = Ce(
3993
+ () => import("./Columns-BiIuzmZZ.js")
3994
+ ), r = Ce(
3995
+ () => import("./Download-C0jtXXJ0.js")
3996
+ ), u = Se("table_props"), { advancedFiltersState: i } = tt(), v = $(null), s = $(!1), c = u.options?.header?.components ?? {}, m = x(() => Object.keys(i.value).length);
3997
+ return (y, d) => {
3998
+ const p = yo, S = da;
3999
+ return X(), Ee("div", null, [
4000
+ f(so, null, {
4001
+ default: K(() => [
4002
+ f(cl, {
4003
+ class: "d-flex align-center",
4004
+ style: { gap: "0.75rem" }
4005
+ }, {
4006
+ default: K(() => [
4007
+ f(_e, {
4008
+ variant: "text",
4009
+ icon: "mdi-filter-variant",
4010
+ color: B(m) ? "primary" : "dark",
4011
+ density: "comfortable",
4012
+ onClick: d[0] || (d[0] = (C) => s.value = !0)
4013
+ }, {
4014
+ default: K(() => [
4015
+ B(m) ? (X(), fe(Ya, {
4016
+ key: 0,
4017
+ color: "primary",
4018
+ content: B(m)
4019
+ }, {
4020
+ default: K(() => [
4021
+ f(ge)
4022
+ ]),
4023
+ _: 1
4024
+ }, 8, ["content"])) : (X(), fe(ge, { key: 1 }))
4025
+ ]),
4026
+ _: 1
4027
+ }, 8, ["color"]),
4028
+ B(u).hardFilters.length ? (X(), fe(xe(B(c).hardFilters ?? B(l)), {
4029
+ key: 0,
4030
+ id: "header-hardFilters"
4031
+ })) : He("", !0),
4032
+ f(p, {
4033
+ modelValue: B(s),
4034
+ "onUpdate:modelValue": d[1] || (d[1] = (C) => $e(s) ? s.value = C : null)
4035
+ }, null, 8, ["modelValue"]),
4036
+ (X(), fe(xe(B(c).toolbar), { id: "header-toolbar" }))
4037
+ ]),
4038
+ _: 1
4039
+ }),
4040
+ f(cl, { class: "d-flex align-center justify-end" }, {
4041
+ default: K(() => [
4042
+ (X(), fe(xe(B(c).search ?? B(a)), { id: "header-search" })),
4043
+ (X(), fe(xe(B(c).columns ?? B(o)), {
4044
+ id: "header-columns",
4045
+ "component-refs": { columns: B(v) }
4046
+ }, null, 8, ["component-refs"])),
4047
+ (X(), fe(xe(B(c).download ?? B(r)), { id: "header-download" })),
4048
+ (X(), fe(xe(B(c).refreshTable ?? B(n)), { id: "header-refreshTable" })),
4049
+ (X(), fe(xe(B(c).options ?? B(t)), {
4050
+ id: "header-options",
4051
+ "component-refs": { columns: B(v) }
4052
+ }, null, 8, ["component-refs"]))
4053
+ ]),
4054
+ _: 1
4055
+ })
4056
+ ]),
4057
+ _: 1
4058
+ }),
4059
+ f(S, {
4060
+ ref_key: "columns",
4061
+ ref: v
4062
+ }, null, 512)
4063
+ ]);
4064
+ };
4065
+ }
4066
+ };
4067
+ function St(e) {
4068
+ if (e === null || typeof e != "object")
4069
+ return !1;
4070
+ const a = Object.getPrototypeOf(e);
4071
+ return a !== null && a !== Object.prototype && Object.getPrototypeOf(a) !== null || Symbol.iterator in e ? !1 : Symbol.toStringTag in e ? Object.prototype.toString.call(e) === "[object Module]" : !0;
4072
+ }
4073
+ function _t(e, a, n = ".", t) {
4074
+ if (!St(a))
4075
+ return _t(e, {}, n, t);
4076
+ const l = Object.assign({}, a);
4077
+ for (const o in e) {
4078
+ if (o === "__proto__" || o === "constructor")
4079
+ continue;
4080
+ const r = e[o];
4081
+ r != null && (t && t(l, o, r, n) || (Array.isArray(r) && Array.isArray(l[o]) ? l[o] = [...r, ...l[o]] : St(r) && St(l[o]) ? l[o] = _t(
4082
+ r,
4083
+ l[o],
4084
+ (n ? `${n}.` : "") + o.toString(),
4085
+ t
4086
+ ) : l[o] = r));
4087
+ }
4088
+ return l;
4089
+ }
4090
+ function ho(e) {
4091
+ return (...a) => (
4092
+ // eslint-disable-next-line unicorn/no-array-reduce
4093
+ a.reduce((n, t) => _t(n, t, "", e), {})
4094
+ );
4095
+ }
4096
+ const po = ho(), un = Un(() => {
4097
+ const e = ne({}), a = ne({});
4098
+ return {
4099
+ storeOptions: {
4100
+ state: e,
4101
+ columns: a
4102
+ },
4103
+ setUserOptions: ({
4104
+ state: l = null,
4105
+ columns: o = null
4106
+ }) => {
4107
+ l && (e.value = l), o && (a.value = o);
4108
+ }
4109
+ };
4110
+ }), So = {
4111
+ key: 0,
4112
+ class: "datatables-v2"
4113
+ }, ko = { class: "pe-4" }, Co = {
4114
+ __name: "Blueprint",
4115
+ props: {
4116
+ modelValue: {},
4117
+ modelModifiers: {}
4118
+ },
4119
+ emits: /* @__PURE__ */ At([
4120
+ "refreshTable",
4121
+ "refetchData",
4122
+ "advancedFilters:update",
4123
+ "hardFilters:update"
4124
+ ], ["update:modelValue"]),
4125
+ setup(e, { expose: a, emit: n }) {
4126
+ const t = Ce(
4127
+ () => import("./Table-BXmDR-au.js")
4128
+ ), l = Ce(
4129
+ () => import("./TableServer-Dz-lY5mC.js")
4130
+ ), { storeOptions: o } = un(), { saveTableOptions: r } = tt(), u = ut(e, "modelValue"), i = Se("table_props"), v = $(null), s = $(!1), c = $(!1), m = $(!1), y = n, d = gt(), { dataStateGet: p, tableDataState: S, checkTableState: C } = $l(i), { addTable: _, restoreData: E } = d, T = x(() => {
4131
+ const V = i.options?.header;
4132
+ return V === void 0 || typeof V == "object" && V !== null;
4133
+ });
4134
+ return Ne(async () => {
4135
+ _({ table_id: i.id }), await C();
4136
+ const V = p();
4137
+ if (V)
4138
+ E({ table_id: i.id, data: V });
4139
+ else {
4140
+ const P = S.value.options.columns;
4141
+ P.selected = i.headers.filter((I) => !I.hidden).map((I) => I.key), P.sorted = i.headers.map((I) => I.key);
4142
+ }
4143
+ r(
4144
+ po(o.state.value, S.value.options.state)
4145
+ ), c.value = !0, await me(), m.value = !0;
4146
+ }), Be("busEmits", y), Be("tableRef", v), Be("tableState", S), Be("downloadModal", s), a({ tableRef: v }), (V, L) => {
4147
+ const P = bo;
4148
+ return B(c) ? (X(), Ee("div", So, [
4149
+ f(Ut, null, {
4150
+ default: K(() => [
4151
+ B(T) ? (X(), fe(yt, { key: 0 }, {
4152
+ default: K(() => [
4153
+ f(P)
4154
+ ]),
4155
+ _: 1
4156
+ })) : He("", !0),
4157
+ f(bt, { class: "pa-0" }, {
4158
+ default: K(() => [
4159
+ B(m) ? (X(), fe(xe(B(i).api ? B(l) : B(t)), {
4160
+ key: 0,
4161
+ ref_key: "tableRef",
4162
+ ref: v,
4163
+ modelValue: u.value,
4164
+ "onUpdate:modelValue": L[0] || (L[0] = (I) => u.value = I)
4165
+ }, null, 8, ["modelValue"])) : He("", !0)
4166
+ ]),
4167
+ _: 1
4168
+ })
4169
+ ]),
4170
+ _: 1
4171
+ }),
4172
+ f(qt, {
4173
+ modelValue: B(s),
4174
+ "onUpdate:modelValue": L[1] || (L[1] = (I) => $e(s) ? s.value = I : null),
4175
+ "max-width": "350",
4176
+ persistent: ""
4177
+ }, {
4178
+ default: K(() => [
4179
+ f(Ht, {
4180
+ class: "py-2",
4181
+ color: "primary",
4182
+ elevation: "12",
4183
+ rounded: "lg"
4184
+ }, {
4185
+ default: K(() => [
4186
+ f(nt, {
4187
+ "prepend-icon": "mdi-file-download",
4188
+ title: V.$t("$datatables.preparing_download_file")
4189
+ }, {
4190
+ prepend: K(() => [
4191
+ k("div", ko, [
4192
+ f(ge, {
4193
+ color: "primary",
4194
+ size: "x-large"
4195
+ })
4196
+ ])
4197
+ ]),
4198
+ append: K(() => [
4199
+ f(zn, {
4200
+ color: "primary",
4201
+ indeterminate: "disable-shrink",
4202
+ size: "16",
4203
+ width: "2"
4204
+ })
4205
+ ]),
4206
+ _: 1
4207
+ }, 8, ["title"])
4208
+ ]),
4209
+ _: 1
4210
+ })
4211
+ ]),
4212
+ _: 1
4213
+ }, 8, ["modelValue"])
4214
+ ])) : He("", !0);
4215
+ };
4216
+ }
4217
+ }, Vo = yl("datatablesHooks", () => {
4218
+ const e = $({});
4219
+ return {
4220
+ hooks: e,
4221
+ registerHook: (t, l) => {
4222
+ Object.assign(e.value, { [t]: l });
4223
+ },
4224
+ triggerHook: (t, l) => {
4225
+ e.value.hasOwnProperty(t) && e.value[t](l);
4226
+ }
4227
+ };
4228
+ }), xo = {
4229
+ __name: "index",
4230
+ props: {
4231
+ id: {
4232
+ type: String,
4233
+ required: !0
4234
+ },
4235
+ api: {
4236
+ type: Object,
4237
+ default: () => {
4238
+ }
4239
+ },
4240
+ data: {
4241
+ type: Array,
4242
+ default: () => []
4243
+ },
4244
+ options: {
4245
+ type: Object,
4246
+ default: () => ({})
4247
+ },
4248
+ params: {
4249
+ type: Object,
4250
+ default: () => ({})
4251
+ },
4252
+ hardFilters: {
4253
+ type: Array,
4254
+ default: () => []
4255
+ },
4256
+ headers: {
4257
+ type: Array,
4258
+ default: () => []
4259
+ },
4260
+ loading: {
4261
+ type: Boolean,
4262
+ default: !1
4263
+ },
4264
+ locale: {
4265
+ type: String,
4266
+ default: "en"
4267
+ },
4268
+ title: {
4269
+ type: String,
4270
+ default: ""
4271
+ }
4272
+ },
4273
+ emits: ["refreshTable", "refetchData"],
4274
+ setup(e, { expose: a, emit: n }) {
4275
+ const t = e, { triggerHook: l } = Vo(), { storeOptions: o, setUserOptions: r } = un(), u = $(null), i = $(0), v = async (m = {}) => {
4276
+ r(m), i.value < 99 && (c("refreshTable"), await me(), i.value++);
4277
+ }, s = (m = {}) => {
4278
+ r(m), u.value.tableRef.hasOwnProperty("reloadItems") && (u.value.tableRef.reloadItems(o.state.value), c("refetchData"));
4279
+ }, c = n;
4280
+ return a({ refreshTable: v, refetchData: s, triggerHook: l }), Be("table_props", t), Be("triggerHook", l), (m, y) => {
4281
+ const d = Co;
4282
+ return X(), fe(d, {
4283
+ id: e.id,
4284
+ ref_key: "table",
4285
+ ref: u,
4286
+ key: `${e.id}-${B(i)}`,
4287
+ onRefreshTable: v,
4288
+ onRefetchData: s
4289
+ }, null, 8, ["id"]);
4290
+ };
4291
+ }
4292
+ }, To = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4293
+ __proto__: null,
4294
+ default: xo
4295
+ }, Symbol.toStringTag, { value: "Module" }));
4296
+ export {
4297
+ Wa as V,
4298
+ Jl as a,
4299
+ wt as b,
4300
+ fl as c,
4301
+ po as d,
4302
+ gt as e,
4303
+ Ut as f,
4304
+ bt as g,
4305
+ qe as h,
4306
+ $l as i,
4307
+ Vo as j,
4308
+ xa as k,
4309
+ ka as l,
4310
+ Va as m,
4311
+ Jt as n,
4312
+ Ul as o,
4313
+ fo as p,
4314
+ To as q,
4315
+ tt as u
4316
+ };