@ianicdev/datatables2 0.10.5 → 0.10.7

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 (51) hide show
  1. package/dist/{Columns-CPCKKIx3.cjs → Columns-BQBgwIE4.cjs} +1 -1
  2. package/dist/{Columns-ZxF5CuL6.js → Columns-CeOoSZPT.js} +1 -1
  3. package/dist/{Comparison-DfPeTvCT.cjs → Comparison-TwSFYOo8.cjs} +1 -1
  4. package/dist/{Comparison-CMTDEfUJ.js → Comparison-w8X0sSEz.js} +6 -6
  5. package/dist/Datepicker-Bfg7S8gY.cjs +2 -0
  6. package/dist/Datepicker-DZj1h3YE.js +1425 -0
  7. package/dist/{Download-CjD4NWhV.cjs → Download-CtOrEQa0.cjs} +1 -1
  8. package/dist/{Download-CBodg9GI.js → Download-h5jMMWzV.js} +3 -3
  9. package/dist/{Options-BHx4o8aa.js → Options-Cf8cNif9.js} +1 -1
  10. package/dist/{Options-e0hJOpF8.cjs → Options-DgUkT0h1.cjs} +1 -1
  11. package/dist/{RefreshTable-DlG8UH4c.js → RefreshTable-B5qFMtYy.js} +2 -2
  12. package/dist/{RefreshTable-CyPWCK3e.cjs → RefreshTable-CyPzzQ1S.cjs} +1 -1
  13. package/dist/{Search-DDRz2N_S.js → Search--1ntexbx.js} +2 -2
  14. package/dist/{Search-D4UmoZpS.cjs → Search-YN4Jt4eC.cjs} +1 -1
  15. package/dist/{Table-QxreAQB1.js → Table-5pQ_bwxC.js} +3 -3
  16. package/dist/{Table-ACmKFpAk.cjs → Table-WgtgmVfz.cjs} +1 -1
  17. package/dist/{TableServer-pRzLKhVw.cjs → TableServer-7AzrveN2.cjs} +1 -1
  18. package/dist/{TableServer-BQUFKBeQ.js → TableServer-Bewaghu8.js} +3 -3
  19. package/dist/{cellRender-B3IOPLJf.js → cellRender-Cy88VFEF.js} +451 -452
  20. package/dist/cellRender-kbJfFjXc.cjs +1 -0
  21. package/dist/{dataTables-Be-U1RVV.js → dataTables-ej1IEGzo.js} +1385 -1388
  22. package/dist/dataTables-z7fPX2Wi.cjs +4 -0
  23. package/dist/datatables.cjs +1 -1
  24. package/dist/datatables.js +1 -1
  25. package/dist/datatables2.css +1 -1
  26. package/dist/html2canvas.esm-B5qzocYs.cjs +5 -0
  27. package/dist/{html2canvas.esm-DQ00cQCm.js → html2canvas.esm-BWVIUcAF.js} +5 -55
  28. package/dist/{index-5WIEduUN.js → index-C3S1kkaI.js} +2 -2
  29. package/dist/index-CiJ4XY6g.cjs +1 -0
  30. package/dist/index-DfPhvU77.js +5865 -0
  31. package/dist/{index-CDteNa2i.cjs → index-EmvtFwx8.cjs} +1 -1
  32. package/dist/{index.es-Ciudu1vj.cjs → index.es-BtDW7HTQ.cjs} +1 -1
  33. package/dist/{index.es-eRsZ1LFr.js → index.es-Bv6Mb9BC.js} +2 -2
  34. package/dist/{jspdf-B3ZoDzKb.cjs → jspdf-BsORS480.cjs} +2 -2
  35. package/dist/{jspdf-ooxm5O8S.js → jspdf-D9i2dan7.js} +3 -3
  36. package/dist/purify.es-B-PIlM9I.js +552 -0
  37. package/dist/purify.es-B-_4ubwQ.cjs +2 -0
  38. package/dist/{xlsx-BiH37OJz.cjs → xlsx-D4qEY9Uo.cjs} +5 -5
  39. package/dist/{xlsx-Beik4N2o.js → xlsx-VYa4XHDj.js} +8 -48
  40. package/package.json +14 -13
  41. package/dist/Datepicker-BLYCUwKH.js +0 -1411
  42. package/dist/Datepicker-CbsULJsG.cjs +0 -2
  43. package/dist/cellRender-CA6S9KvF.cjs +0 -1
  44. package/dist/dataTables-BbXv6am2.cjs +0 -4
  45. package/dist/html2canvas.esm-CNmnTSlr.cjs +0 -5
  46. package/dist/index-BAxGZLuh.js +0 -4533
  47. package/dist/index-m_LBTAkz.cjs +0 -1
  48. package/dist/purify.es-BwLardii.js +0 -527
  49. package/dist/purify.es-ClceE12G.cjs +0 -2
  50. package/dist/sortablejs-C0WJhxmJ.js +0 -1254
  51. package/dist/sortablejs-Da6TYh39.cjs +0 -1
@@ -1,4533 +0,0 @@
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
- };