@ianicdev/datatables2 0.10.3 → 0.10.5

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