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