@ianicdev/datatables2 0.8.11 → 0.8.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/Columns-DeJNOLCM.cjs +1 -0
  2. package/dist/Columns-GBEpMZ5m.js +28 -0
  3. package/dist/Comparison-gMTr9mHU.cjs +1 -0
  4. package/dist/Comparison-v57GhUTZ.js +37 -0
  5. package/dist/Datepicker-Bv4of4w1.js +1246 -0
  6. package/dist/Datepicker-DGQbQ2jD.cjs +1 -0
  7. package/dist/Download-B4zf7Fob.js +164 -0
  8. package/dist/Download-DFSeQ_uL.cjs +1 -0
  9. package/dist/Options-C6gv21MY.js +82 -0
  10. package/dist/Options-XytiOb4O.cjs +1 -0
  11. package/dist/RefreshTable-BO7uzuWX.js +26 -0
  12. package/dist/RefreshTable-C-5AmxAL.cjs +1 -0
  13. package/dist/Search-ByPG22T-.js +72 -0
  14. package/dist/Search-DIUl3vxm.cjs +1 -0
  15. package/dist/Table-0QV9000m.js +64 -0
  16. package/dist/Table-xPzhAgpA.cjs +1 -0
  17. package/dist/TableServer-ByC-EgB4.js +3937 -0
  18. package/dist/TableServer-i6_C-Qd2.cjs +27 -0
  19. package/dist/cellRender-L5NaGvf8.js +2269 -0
  20. package/dist/cellRender-Ru_IZsKe.cjs +1 -0
  21. package/dist/dataTables-DP-djHBE.cjs +4 -0
  22. package/dist/{dataTables-vb6hbdQB.js → dataTables-qd_2hmGP.js} +1548 -1471
  23. package/dist/datatables.cjs +1 -1
  24. package/dist/datatables.js +1 -1
  25. package/dist/datatables2.css +1 -1
  26. package/dist/escapeKeyString-B_mzfoez.js +17 -0
  27. package/dist/escapeKeyString-CQVlwp30.cjs +1 -0
  28. package/dist/exporttocsv-CUWOZ1Z_.js +88 -0
  29. package/dist/exporttocsv-RZvZEhmM.cjs +6 -0
  30. package/dist/filesaver-Deatpm3H.cjs +1 -0
  31. package/dist/filesaver-K4_fCr7v.js +75 -0
  32. package/dist/index-BeWDgF_v.cjs +1 -0
  33. package/dist/index-CIkwH8Kr.cjs +1 -0
  34. package/dist/index-Drz0TALq.js +79 -0
  35. package/dist/index-Dt2Z193z.js +4316 -0
  36. package/dist/{index.es-DRbDgHS7.cjs → index.es-B0GUE7KM.cjs} +6 -6
  37. package/dist/{index.es-JO9irKMX.js → index.es-sKSodxcW.js} +4 -3
  38. package/dist/jspdf-BDkAtFGI.cjs +194 -0
  39. package/dist/jspdf-CzuJJB6C.js +10998 -0
  40. package/dist/printjs-BbgDICDe.cjs +1 -0
  41. package/dist/printjs-kC3Qmb-l.js +689 -0
  42. package/dist/sortablejs-BhPwT7wS.cjs +6 -0
  43. package/dist/sortablejs-DSHM8iDp.js +1260 -0
  44. package/dist/xlsx-BBXALOAs.cjs +128 -0
  45. package/dist/xlsx-vtl6oPEm.js +15887 -0
  46. package/package.json +4 -4
  47. package/dist/dataTables-DzQnNgjr.cjs +0 -4
  48. package/dist/index-CsWSROxT.js +0 -41217
  49. package/dist/index-nr135rbT.cjs +0 -357
@@ -0,0 +1,2269 @@
1
+ import { shallowRef as ie, computed as V, unref as q, watchEffect as He, toRef as C, provide as Y, toRaw as ne, inject as Q, ref as j, toValue as Dt, watch as de, onBeforeUpdate as Tt, createVNode as k, normalizeStyle as we, normalizeClass as G, createElementVNode as S, mergeProps as B, nextTick as Te, capitalize as Ct, Fragment as U, createTextVNode as Ce, withModifiers as re, toDisplayString as _t, toRefs as Bt, defineComponent as Lt, h as Ot } from "vue";
2
+ import { aP as At, U as Et, p as _, N as z, aA as ee, K as J, aQ as ue, _ as je, J as Ge, af as he, aR as Nt, T as Z, aS as se, g as $, a0 as Rt, h as ke, aj as ce, a as xe, al as $t, aT as oe, u as K, a9 as W, x as Mt, y as Ie, m as Ke, as as Ht, A as jt, E as We, f as ae, b as ze, G as Gt, I as L, aU as _e, aV as Kt, ax as A, aW as Wt, o as zt, P as Ue, L as Ut, D as Jt, ao as Ve, d as Be, H as ye, a1 as Se, k as Qt, aa as Xt, l as Yt, n as Zt, F as qt } from "./dataTables-qd_2hmGP.js";
3
+ import { V as Je, a as ea, b as Fe, u as ta, c as aa } from "./index-Dt2Z193z.js";
4
+ function Le(e, t, a) {
5
+ return Object.keys(e).filter((l) => At(l) && l.endsWith(t)).reduce((l, n) => (l[n.slice(0, -t.length)] = (r) => Et(e[n], r, a(r)), l), {});
6
+ }
7
+ const la = (e, t, a) => {
8
+ if (e == null || t == null) return -1;
9
+ if (!t.length) return 0;
10
+ e = e.toString().toLocaleLowerCase(), t = t.toString().toLocaleLowerCase();
11
+ const l = [];
12
+ let n = e.indexOf(t);
13
+ for (; ~n; )
14
+ l.push([n, n + t.length]), n = e.indexOf(t, n + t.length);
15
+ return l.length ? l : -1;
16
+ };
17
+ function pe(e, t) {
18
+ if (!(e == null || typeof e == "boolean" || e === -1))
19
+ return typeof e == "number" ? [[e, e + t.length]] : Array.isArray(e[0]) ? e : [e];
20
+ }
21
+ const na = _({
22
+ customFilter: Function,
23
+ customKeyFilter: Object,
24
+ filterKeys: [Array, String],
25
+ filterMode: {
26
+ type: String,
27
+ default: "intersection"
28
+ },
29
+ noFilter: Boolean
30
+ }, "filter");
31
+ function ra(e, t, a) {
32
+ const l = [], n = a?.default ?? la, r = a?.filterKeys ? z(a.filterKeys) : !1, o = Object.keys(a?.customKeyFilter ?? {}).length;
33
+ if (!e?.length) return l;
34
+ let u = null;
35
+ e: for (let s = 0; s < e.length; s++) {
36
+ const [i, f = i] = z(e[s]), m = {}, d = {};
37
+ let c = -1;
38
+ if ((t || o > 0) && !a?.noFilter) {
39
+ let y = !1;
40
+ if (typeof i == "object") {
41
+ if (i.type === "divider" || i.type === "subheader") {
42
+ u?.type === "divider" && i.type === "subheader" && l.push(u), u = {
43
+ index: s,
44
+ matches: {},
45
+ type: i.type
46
+ };
47
+ continue;
48
+ }
49
+ const F = r || Object.keys(f);
50
+ y = F.length === o;
51
+ for (const h of F) {
52
+ const I = ee(f, h), D = a?.customKeyFilter?.[h];
53
+ if (c = D ? D(I, t, i) : n(I, t, i), c !== -1 && c !== !1)
54
+ D ? m[h] = pe(c, t) : d[h] = pe(c, t);
55
+ else if (a?.filterMode === "every")
56
+ continue e;
57
+ }
58
+ } else
59
+ c = n(i, t, i), c !== -1 && c !== !1 && (d.title = pe(c, t));
60
+ const b = Object.keys(d).length, v = Object.keys(m).length;
61
+ if (!b && !v || a?.filterMode === "union" && v !== o && !b || a?.filterMode === "intersection" && (v !== o || !b && o > 0 && !y)) continue;
62
+ }
63
+ u && (l.push(u), u = null), l.push({
64
+ index: s,
65
+ matches: {
66
+ ...d,
67
+ ...m
68
+ }
69
+ });
70
+ }
71
+ return l;
72
+ }
73
+ function sa(e, t, a, l) {
74
+ const n = ie([]), r = ie(/* @__PURE__ */ new Map()), o = V(() => l?.transform ? q(t).map((s) => [s, l.transform(s)]) : q(t));
75
+ He(() => {
76
+ const s = typeof a == "function" ? a() : q(a), i = typeof s != "string" && typeof s != "number" ? "" : String(s), f = ra(o.value, i, {
77
+ customKeyFilter: {
78
+ ...e.customKeyFilter,
79
+ ...q(l?.customKeyFilter)
80
+ },
81
+ default: e.customFilter,
82
+ filterKeys: e.filterKeys,
83
+ filterMode: e.filterMode,
84
+ noFilter: e.noFilter
85
+ }), m = q(t), d = [], c = /* @__PURE__ */ new Map();
86
+ f.forEach((y) => {
87
+ let {
88
+ index: b,
89
+ matches: v
90
+ } = y;
91
+ const F = m[b];
92
+ d.push(F), c.set(F.value, v);
93
+ }), n.value = d, r.value = c;
94
+ });
95
+ function u(s) {
96
+ return r.value.get(s.value);
97
+ }
98
+ return {
99
+ filteredItems: n,
100
+ filteredMatches: r,
101
+ getMatches: u
102
+ };
103
+ }
104
+ const oa = _({
105
+ expandOnClick: Boolean,
106
+ showExpand: Boolean,
107
+ expanded: {
108
+ type: Array,
109
+ default: () => []
110
+ }
111
+ }, "DataTable-expand"), Qe = Symbol.for("vuetify:datatable:expanded");
112
+ function ia(e) {
113
+ const t = C(() => e.expandOnClick), a = J(e, "expanded", e.expanded, (u) => new Set(u), (u) => [...u.values()]);
114
+ function l(u, s) {
115
+ const i = new Set(a.value), f = ne(u.value);
116
+ if (s)
117
+ i.add(f);
118
+ else {
119
+ const m = [...a.value].find((d) => ne(d) === f);
120
+ i.delete(m);
121
+ }
122
+ a.value = i;
123
+ }
124
+ function n(u) {
125
+ const s = ne(u.value);
126
+ return [...a.value].some((i) => ne(i) === s);
127
+ }
128
+ function r(u) {
129
+ l(u, !n(u));
130
+ }
131
+ const o = {
132
+ expand: l,
133
+ expanded: a,
134
+ expandOnClick: t,
135
+ isExpanded: n,
136
+ toggleExpand: r
137
+ };
138
+ return Y(Qe, o), o;
139
+ }
140
+ function Xe() {
141
+ const e = Q(Qe);
142
+ if (!e) throw new Error("foo");
143
+ return e;
144
+ }
145
+ const ua = _({
146
+ groupBy: {
147
+ type: Array,
148
+ default: () => []
149
+ }
150
+ }, "DataTable-group"), Ye = Symbol.for("vuetify:data-table-group");
151
+ function da(e) {
152
+ return {
153
+ groupBy: J(e, "groupBy")
154
+ };
155
+ }
156
+ function ca(e) {
157
+ const {
158
+ disableSort: t,
159
+ groupBy: a,
160
+ sortBy: l
161
+ } = e, n = j(/* @__PURE__ */ new Set()), r = V(() => a.value.map((f) => ({
162
+ ...f,
163
+ order: f.order ?? !1
164
+ })).concat(t?.value ? [] : l.value));
165
+ function o(f) {
166
+ return n.value.has(f.id);
167
+ }
168
+ function u(f) {
169
+ const m = new Set(n.value);
170
+ o(f) ? m.delete(f.id) : m.add(f.id), n.value = m;
171
+ }
172
+ function s(f) {
173
+ function m(d) {
174
+ const c = [];
175
+ for (const y of d.items)
176
+ "type" in y && y.type === "group" ? c.push(...m(y)) : c.push(y);
177
+ return [...new Set(c)];
178
+ }
179
+ return m({
180
+ items: f
181
+ });
182
+ }
183
+ const i = {
184
+ sortByWithGroups: r,
185
+ toggleGroup: u,
186
+ opened: n,
187
+ groupBy: a,
188
+ extractRows: s,
189
+ isGroupOpen: o
190
+ };
191
+ return Y(Ye, i), i;
192
+ }
193
+ function Ze() {
194
+ const e = Q(Ye);
195
+ if (!e) throw new Error("Missing group!");
196
+ return e;
197
+ }
198
+ function fa(e, t) {
199
+ if (!e.length) return [];
200
+ const a = /* @__PURE__ */ new Map();
201
+ for (const l of e) {
202
+ const n = ue(l.raw, t);
203
+ a.has(n) || a.set(n, []), a.get(n).push(l);
204
+ }
205
+ return a;
206
+ }
207
+ function qe(e, t) {
208
+ let a = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0, l = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "root";
209
+ if (!t.length) return [];
210
+ const n = fa(e, t[0]), r = [], o = t.slice(1);
211
+ return n.forEach((u, s) => {
212
+ const i = t[0], f = `${l}_${i}_${s}`;
213
+ r.push({
214
+ depth: a,
215
+ id: f,
216
+ key: i,
217
+ value: s,
218
+ items: o.length ? qe(u, o, a + 1, f) : u,
219
+ type: "group"
220
+ });
221
+ }), r;
222
+ }
223
+ function et(e, t, a) {
224
+ const l = [];
225
+ for (const n of e)
226
+ "type" in n && n.type === "group" ? (n.value != null && l.push(n), (t.has(n.id) || n.value == null) && (l.push(...et(n.items, t, a)), a && l.push({
227
+ ...n,
228
+ type: "group-summary"
229
+ }))) : l.push(n);
230
+ return l;
231
+ }
232
+ function va(e, t, a, l) {
233
+ return {
234
+ flatItems: V(() => {
235
+ if (!t.value.length) return e.value;
236
+ const r = qe(e.value, t.value.map((o) => o.key));
237
+ return et(r, a.value, Dt(l));
238
+ })
239
+ };
240
+ }
241
+ function ga(e) {
242
+ let {
243
+ page: t,
244
+ itemsPerPage: a,
245
+ sortBy: l,
246
+ groupBy: n,
247
+ search: r
248
+ } = e;
249
+ const o = je("VDataTable"), u = () => ({
250
+ page: t.value,
251
+ itemsPerPage: a.value,
252
+ sortBy: l.value,
253
+ groupBy: n.value,
254
+ search: r.value
255
+ });
256
+ let s = null;
257
+ de(u, (i) => {
258
+ Ge(s, i) || (s && s.search !== i.search && (t.value = 1), o.emit("update:options", i), s = i);
259
+ }, {
260
+ deep: !0,
261
+ immediate: !0
262
+ });
263
+ }
264
+ const ma = _({
265
+ page: {
266
+ type: [Number, String],
267
+ default: 1
268
+ },
269
+ itemsPerPage: {
270
+ type: [Number, String],
271
+ default: 10
272
+ }
273
+ }, "DataTable-paginate"), tt = Symbol.for("vuetify:data-table-pagination");
274
+ function ba(e) {
275
+ const t = J(e, "page", void 0, (l) => Number(l ?? 1)), a = J(e, "itemsPerPage", void 0, (l) => Number(l ?? 10));
276
+ return {
277
+ page: t,
278
+ itemsPerPage: a
279
+ };
280
+ }
281
+ function ha(e) {
282
+ const {
283
+ page: t,
284
+ itemsPerPage: a,
285
+ itemsLength: l
286
+ } = e, n = V(() => a.value === -1 ? 0 : a.value * (t.value - 1)), r = V(() => a.value === -1 ? l.value : Math.min(l.value, n.value + a.value)), o = V(() => a.value === -1 || l.value === 0 ? 1 : Math.ceil(l.value / a.value));
287
+ de([t, o], () => {
288
+ t.value > o.value && (t.value = o.value);
289
+ });
290
+ function u(d) {
291
+ a.value = d, t.value = 1;
292
+ }
293
+ function s() {
294
+ t.value = he(t.value + 1, 1, o.value);
295
+ }
296
+ function i() {
297
+ t.value = he(t.value - 1, 1, o.value);
298
+ }
299
+ function f(d) {
300
+ t.value = he(d, 1, o.value);
301
+ }
302
+ const m = {
303
+ page: t,
304
+ itemsPerPage: a,
305
+ startIndex: n,
306
+ stopIndex: r,
307
+ pageCount: o,
308
+ itemsLength: l,
309
+ nextPage: s,
310
+ prevPage: i,
311
+ setPage: f,
312
+ setItemsPerPage: u
313
+ };
314
+ return Y(tt, m), m;
315
+ }
316
+ function ya() {
317
+ const e = Q(tt);
318
+ if (!e) throw new Error("Missing pagination!");
319
+ return e;
320
+ }
321
+ function pa(e) {
322
+ const t = je("usePaginatedItems"), {
323
+ items: a,
324
+ startIndex: l,
325
+ stopIndex: n,
326
+ itemsPerPage: r
327
+ } = e, o = V(() => r.value <= 0 ? a.value : a.value.slice(l.value, n.value));
328
+ return de(o, (u) => {
329
+ t.emit("update:currentItems", u);
330
+ }, {
331
+ immediate: !0
332
+ }), {
333
+ paginatedItems: o
334
+ };
335
+ }
336
+ const xa = {
337
+ showSelectAll: !1,
338
+ allSelected: () => [],
339
+ select: (e) => {
340
+ let {
341
+ items: t,
342
+ value: a
343
+ } = e;
344
+ return new Set(a ? [t[0]?.value] : []);
345
+ },
346
+ selectAll: (e) => {
347
+ let {
348
+ selected: t
349
+ } = e;
350
+ return t;
351
+ }
352
+ }, at = {
353
+ showSelectAll: !0,
354
+ allSelected: (e) => {
355
+ let {
356
+ currentPage: t
357
+ } = e;
358
+ return t;
359
+ },
360
+ select: (e) => {
361
+ let {
362
+ items: t,
363
+ value: a,
364
+ selected: l
365
+ } = e;
366
+ for (const n of t)
367
+ a ? l.add(n.value) : l.delete(n.value);
368
+ return l;
369
+ },
370
+ selectAll: (e) => {
371
+ let {
372
+ value: t,
373
+ currentPage: a,
374
+ selected: l
375
+ } = e;
376
+ return at.select({
377
+ items: a,
378
+ value: t,
379
+ selected: l
380
+ });
381
+ }
382
+ }, Sa = {
383
+ showSelectAll: !0,
384
+ allSelected: (e) => {
385
+ let {
386
+ allItems: t
387
+ } = e;
388
+ return t;
389
+ },
390
+ select: (e) => {
391
+ let {
392
+ items: t,
393
+ value: a,
394
+ selected: l
395
+ } = e;
396
+ for (const n of t)
397
+ a ? l.add(n.value) : l.delete(n.value);
398
+ return l;
399
+ },
400
+ selectAll: (e) => {
401
+ let {
402
+ value: t,
403
+ allItems: a
404
+ } = e;
405
+ return new Set(t ? a.map((l) => l.value) : []);
406
+ }
407
+ }, Pa = _({
408
+ showSelect: Boolean,
409
+ selectStrategy: {
410
+ type: [String, Object],
411
+ default: "page"
412
+ },
413
+ modelValue: {
414
+ type: Array,
415
+ default: () => []
416
+ },
417
+ valueComparator: Function
418
+ }, "DataTable-select"), lt = Symbol.for("vuetify:data-table-selection");
419
+ function wa(e, t) {
420
+ let {
421
+ allItems: a,
422
+ currentPage: l
423
+ } = t;
424
+ const n = J(e, "modelValue", e.modelValue, (h) => {
425
+ const I = e.valueComparator;
426
+ return I ? new Set(z(h).map((D) => a.value.find((P) => I(D, P.value))?.value ?? D)) : new Set(z(h).map((D) => Nt(D) ? a.value.find((P) => D === P.value)?.value ?? D : a.value.find((P) => Ge(D, P.value))?.value ?? D));
427
+ }, (h) => [...h.values()]), r = V(() => a.value.filter((h) => h.selectable)), o = V(() => l.value.filter((h) => h.selectable)), u = V(() => {
428
+ if (typeof e.selectStrategy == "object") return e.selectStrategy;
429
+ switch (e.selectStrategy) {
430
+ case "single":
431
+ return xa;
432
+ case "all":
433
+ return Sa;
434
+ case "page":
435
+ default:
436
+ return at;
437
+ }
438
+ }), s = ie(null);
439
+ function i(h) {
440
+ return z(h).every((I) => n.value.has(I.value));
441
+ }
442
+ function f(h) {
443
+ return z(h).some((I) => n.value.has(I.value));
444
+ }
445
+ function m(h, I) {
446
+ const D = u.value.select({
447
+ items: h,
448
+ value: I,
449
+ selected: new Set(n.value)
450
+ });
451
+ n.value = D;
452
+ }
453
+ function d(h, I, D) {
454
+ const P = [];
455
+ if (I = I ?? l.value.findIndex((O) => O.value === h.value), e.selectStrategy !== "single" && D?.shiftKey && s.value !== null) {
456
+ const [O, N] = [s.value, I].sort((p, x) => p - x);
457
+ P.push(...l.value.slice(O, N + 1).filter((p) => p.selectable));
458
+ } else
459
+ P.push(h), s.value = I;
460
+ m(P, !i([h]));
461
+ }
462
+ function c(h) {
463
+ const I = u.value.selectAll({
464
+ value: h,
465
+ allItems: r.value,
466
+ currentPage: o.value,
467
+ selected: new Set(n.value)
468
+ });
469
+ n.value = I;
470
+ }
471
+ const y = V(() => n.value.size > 0), b = V(() => {
472
+ const h = u.value.allSelected({
473
+ allItems: r.value,
474
+ currentPage: o.value
475
+ });
476
+ return !!h.length && i(h);
477
+ }), v = C(() => u.value.showSelectAll), F = {
478
+ toggleSelect: d,
479
+ select: m,
480
+ selectAll: c,
481
+ isSelected: i,
482
+ isSomeSelected: f,
483
+ someSelected: y,
484
+ allSelected: b,
485
+ showSelectAll: v,
486
+ lastSelectedIndex: s,
487
+ selectStrategy: u
488
+ };
489
+ return Y(lt, F), F;
490
+ }
491
+ function fe() {
492
+ const e = Q(lt);
493
+ if (!e) throw new Error("Missing selection!");
494
+ return e;
495
+ }
496
+ const ka = _({
497
+ sortBy: {
498
+ type: Array,
499
+ default: () => []
500
+ },
501
+ customKeySort: Object,
502
+ multiSort: Boolean,
503
+ mustSort: Boolean
504
+ }, "DataTable-sort"), nt = Symbol.for("vuetify:data-table-sort");
505
+ function Ia(e) {
506
+ const t = J(e, "sortBy"), a = C(() => e.mustSort), l = C(() => e.multiSort);
507
+ return {
508
+ sortBy: t,
509
+ mustSort: a,
510
+ multiSort: l
511
+ };
512
+ }
513
+ function Va(e) {
514
+ const {
515
+ sortBy: t,
516
+ mustSort: a,
517
+ multiSort: l,
518
+ page: n
519
+ } = e, r = (s) => {
520
+ if (s.key == null) return;
521
+ let i = t.value.map((m) => ({
522
+ ...m
523
+ })) ?? [];
524
+ const f = i.find((m) => m.key === s.key);
525
+ f ? f.order === "desc" ? a.value && i.length === 1 ? f.order = "asc" : i = i.filter((m) => m.key !== s.key) : f.order = "desc" : l.value ? i.push({
526
+ key: s.key,
527
+ order: "asc"
528
+ }) : i = [{
529
+ key: s.key,
530
+ order: "asc"
531
+ }], t.value = i, n && (n.value = 1);
532
+ };
533
+ function o(s) {
534
+ return !!t.value.find((i) => i.key === s.key);
535
+ }
536
+ const u = {
537
+ sortBy: t,
538
+ toggleSort: r,
539
+ isSorted: o
540
+ };
541
+ return Y(nt, u), u;
542
+ }
543
+ function rt() {
544
+ const e = Q(nt);
545
+ if (!e) throw new Error("Missing sort!");
546
+ return e;
547
+ }
548
+ function Fa(e, t, a, l) {
549
+ const n = Z();
550
+ return {
551
+ sortedItems: V(() => a.value.length ? Da(t.value, a.value, n.current.value, {
552
+ transform: l?.transform,
553
+ sortFunctions: {
554
+ ...e.customKeySort,
555
+ ...l?.sortFunctions?.value
556
+ },
557
+ sortRawFunctions: l?.sortRawFunctions?.value
558
+ }) : t.value)
559
+ };
560
+ }
561
+ function Da(e, t, a, l) {
562
+ const n = new Intl.Collator(a, {
563
+ sensitivity: "accent",
564
+ usage: "sort"
565
+ });
566
+ return e.map((o) => [o, l?.transform ? l.transform(o) : o]).sort((o, u) => {
567
+ for (let s = 0; s < t.length; s++) {
568
+ let i = !1;
569
+ const f = t[s].key, m = t[s].order ?? "asc";
570
+ if (m === !1) continue;
571
+ let d = ue(o[1], f), c = ue(u[1], f), y = o[0].raw, b = u[0].raw;
572
+ if (m === "desc" && ([d, c] = [c, d], [y, b] = [b, y]), l?.sortRawFunctions?.[f]) {
573
+ const v = l.sortRawFunctions[f](y, b);
574
+ if (v == null) continue;
575
+ if (i = !0, v) return v;
576
+ }
577
+ if (l?.sortFunctions?.[f]) {
578
+ const v = l.sortFunctions[f](d, c);
579
+ if (v == null) continue;
580
+ if (i = !0, v) return v;
581
+ }
582
+ if (!i && (d instanceof Date && c instanceof Date && (d = d.getTime(), c = c.getTime()), [d, c] = [d, c].map((v) => v != null ? v.toString().toLocaleLowerCase() : v), d !== c))
583
+ return se(d) && se(c) ? 0 : se(d) ? -1 : se(c) ? 1 : !isNaN(d) && !isNaN(c) ? Number(d) - Number(c) : n.compare(d, c);
584
+ }
585
+ return 0;
586
+ }).map((o) => {
587
+ let [u] = o;
588
+ return u;
589
+ });
590
+ }
591
+ function Ta() {
592
+ const e = j([]);
593
+ Tt(() => e.value = []);
594
+ function t(a, l) {
595
+ e.value[l] = a;
596
+ }
597
+ return {
598
+ refs: e,
599
+ updateRef: t
600
+ };
601
+ }
602
+ const Ca = _({
603
+ activeColor: String,
604
+ start: {
605
+ type: [Number, String],
606
+ default: 1
607
+ },
608
+ modelValue: {
609
+ type: Number,
610
+ default: (e) => e.start
611
+ },
612
+ disabled: Boolean,
613
+ length: {
614
+ type: [Number, String],
615
+ default: 1,
616
+ validator: (e) => e % 1 === 0
617
+ },
618
+ totalVisible: [Number, String],
619
+ firstIcon: {
620
+ type: L,
621
+ default: "$first"
622
+ },
623
+ prevIcon: {
624
+ type: L,
625
+ default: "$prev"
626
+ },
627
+ nextIcon: {
628
+ type: L,
629
+ default: "$next"
630
+ },
631
+ lastIcon: {
632
+ type: L,
633
+ default: "$last"
634
+ },
635
+ ariaLabel: {
636
+ type: String,
637
+ default: "$vuetify.pagination.ariaLabel.root"
638
+ },
639
+ pageAriaLabel: {
640
+ type: String,
641
+ default: "$vuetify.pagination.ariaLabel.page"
642
+ },
643
+ currentPageAriaLabel: {
644
+ type: String,
645
+ default: "$vuetify.pagination.ariaLabel.currentPage"
646
+ },
647
+ firstAriaLabel: {
648
+ type: String,
649
+ default: "$vuetify.pagination.ariaLabel.first"
650
+ },
651
+ previousAriaLabel: {
652
+ type: String,
653
+ default: "$vuetify.pagination.ariaLabel.previous"
654
+ },
655
+ nextAriaLabel: {
656
+ type: String,
657
+ default: "$vuetify.pagination.ariaLabel.next"
658
+ },
659
+ lastAriaLabel: {
660
+ type: String,
661
+ default: "$vuetify.pagination.ariaLabel.last"
662
+ },
663
+ ellipsis: {
664
+ type: String,
665
+ default: "..."
666
+ },
667
+ showFirstLastPage: Boolean,
668
+ ...Gt(),
669
+ ...ze(),
670
+ ...ae(),
671
+ ...We(),
672
+ ...jt(),
673
+ ...Ht(),
674
+ ...Ke({
675
+ tag: "nav"
676
+ }),
677
+ ...Ie(),
678
+ ...Mt({
679
+ variant: "text"
680
+ })
681
+ }, "VPagination"), Oe = $()({
682
+ name: "VPagination",
683
+ props: Ca(),
684
+ emits: {
685
+ "update:modelValue": (e) => !0,
686
+ first: (e) => !0,
687
+ prev: (e) => !0,
688
+ next: (e) => !0,
689
+ last: (e) => !0
690
+ },
691
+ setup(e, t) {
692
+ let {
693
+ slots: a,
694
+ emit: l
695
+ } = t;
696
+ const n = J(e, "modelValue"), {
697
+ t: r,
698
+ n: o
699
+ } = Z(), {
700
+ isRtl: u
701
+ } = Rt(), {
702
+ themeClasses: s
703
+ } = ke(e), {
704
+ width: i
705
+ } = ce(), f = ie(-1);
706
+ xe(void 0, {
707
+ scoped: !0
708
+ });
709
+ const {
710
+ resizeRef: m
711
+ } = $t((p) => {
712
+ if (!p.length) return;
713
+ const {
714
+ target: x,
715
+ contentRect: g
716
+ } = p[0], w = x.querySelector(".v-pagination__list > *");
717
+ if (!w) return;
718
+ const T = g.width, R = w.offsetWidth + parseFloat(getComputedStyle(w).marginRight) * 2;
719
+ f.value = b(T, R);
720
+ }), d = V(() => parseInt(e.length, 10)), c = V(() => parseInt(e.start, 10)), y = V(() => e.totalVisible != null ? parseInt(e.totalVisible, 10) : f.value >= 0 ? f.value : b(i.value, 58));
721
+ function b(p, x) {
722
+ const g = e.showFirstLastPage ? 5 : 3;
723
+ return Math.max(0, Math.floor(
724
+ // Round to two decimal places to avoid floating point errors
725
+ Number(((p - x * g) / x).toFixed(2))
726
+ ));
727
+ }
728
+ const v = V(() => {
729
+ if (d.value <= 0 || isNaN(d.value) || d.value > Number.MAX_SAFE_INTEGER) return [];
730
+ if (y.value <= 0) return [];
731
+ if (y.value === 1) return [n.value];
732
+ if (d.value <= y.value)
733
+ return oe(d.value, c.value);
734
+ const p = y.value % 2 === 0, x = p ? y.value / 2 : Math.floor(y.value / 2), g = p ? x : x + 1, w = d.value - x;
735
+ if (g - n.value >= 0)
736
+ return [...oe(Math.max(1, y.value - 1), c.value), e.ellipsis, d.value];
737
+ if (n.value - w >= (p ? 1 : 0)) {
738
+ const T = y.value - 1, R = d.value - T + c.value;
739
+ return [c.value, e.ellipsis, ...oe(T, R)];
740
+ } else {
741
+ const T = Math.max(1, y.value - 2), R = T === 1 ? n.value : n.value - Math.ceil(T / 2) + c.value;
742
+ return [c.value, e.ellipsis, ...oe(T, R), e.ellipsis, d.value];
743
+ }
744
+ });
745
+ function F(p, x, g) {
746
+ p.preventDefault(), n.value = x, g && l(g, x);
747
+ }
748
+ const {
749
+ refs: h,
750
+ updateRef: I
751
+ } = Ta();
752
+ xe({
753
+ VPaginationBtn: {
754
+ color: C(() => e.color),
755
+ border: C(() => e.border),
756
+ density: C(() => e.density),
757
+ size: C(() => e.size),
758
+ variant: C(() => e.variant),
759
+ rounded: C(() => e.rounded),
760
+ elevation: C(() => e.elevation)
761
+ }
762
+ });
763
+ const D = V(() => v.value.map((p, x) => {
764
+ const g = (w) => I(w, x);
765
+ if (typeof p == "string")
766
+ return {
767
+ isActive: !1,
768
+ key: `ellipsis-${x}`,
769
+ page: p,
770
+ props: {
771
+ ref: g,
772
+ ellipsis: !0,
773
+ icon: !0,
774
+ disabled: !0
775
+ }
776
+ };
777
+ {
778
+ const w = p === n.value;
779
+ return {
780
+ isActive: w,
781
+ key: p,
782
+ page: o(p),
783
+ props: {
784
+ ref: g,
785
+ ellipsis: !1,
786
+ icon: !0,
787
+ disabled: !!e.disabled || Number(e.length) < 2,
788
+ color: w ? e.activeColor : e.color,
789
+ "aria-current": w,
790
+ "aria-label": r(w ? e.currentPageAriaLabel : e.pageAriaLabel, p),
791
+ onClick: (T) => F(T, p)
792
+ }
793
+ };
794
+ }
795
+ })), P = V(() => {
796
+ const p = !!e.disabled || n.value <= c.value, x = !!e.disabled || n.value >= c.value + d.value - 1;
797
+ return {
798
+ first: e.showFirstLastPage ? {
799
+ icon: u.value ? e.lastIcon : e.firstIcon,
800
+ onClick: (g) => F(g, c.value, "first"),
801
+ disabled: p,
802
+ "aria-label": r(e.firstAriaLabel),
803
+ "aria-disabled": p
804
+ } : void 0,
805
+ prev: {
806
+ icon: u.value ? e.nextIcon : e.prevIcon,
807
+ onClick: (g) => F(g, n.value - 1, "prev"),
808
+ disabled: p,
809
+ "aria-label": r(e.previousAriaLabel),
810
+ "aria-disabled": p
811
+ },
812
+ next: {
813
+ icon: u.value ? e.prevIcon : e.nextIcon,
814
+ onClick: (g) => F(g, n.value + 1, "next"),
815
+ disabled: x,
816
+ "aria-label": r(e.nextAriaLabel),
817
+ "aria-disabled": x
818
+ },
819
+ last: e.showFirstLastPage ? {
820
+ icon: u.value ? e.firstIcon : e.lastIcon,
821
+ onClick: (g) => F(g, c.value + d.value - 1, "last"),
822
+ disabled: x,
823
+ "aria-label": r(e.lastAriaLabel),
824
+ "aria-disabled": x
825
+ } : void 0
826
+ };
827
+ });
828
+ function O() {
829
+ const p = n.value - c.value;
830
+ h.value[p]?.$el.focus();
831
+ }
832
+ function N(p) {
833
+ p.key === _e.left && !e.disabled && n.value > Number(e.start) ? (n.value = n.value - 1, Te(O)) : p.key === _e.right && !e.disabled && n.value < c.value + d.value - 1 && (n.value = n.value + 1, Te(O));
834
+ }
835
+ return K(() => k(e.tag, {
836
+ ref: m,
837
+ class: G(["v-pagination", s.value, e.class]),
838
+ style: we(e.style),
839
+ role: "navigation",
840
+ "aria-label": r(e.ariaLabel),
841
+ onKeydown: N,
842
+ "data-test": "v-pagination-root"
843
+ }, {
844
+ default: () => [S("ul", {
845
+ class: "v-pagination__list"
846
+ }, [e.showFirstLastPage && S("li", {
847
+ key: "first",
848
+ class: "v-pagination__first",
849
+ "data-test": "v-pagination-first"
850
+ }, [a.first ? a.first(P.value.first) : k(W, B({
851
+ _as: "VPaginationBtn"
852
+ }, P.value.first), null)]), S("li", {
853
+ key: "prev",
854
+ class: "v-pagination__prev",
855
+ "data-test": "v-pagination-prev"
856
+ }, [a.prev ? a.prev(P.value.prev) : k(W, B({
857
+ _as: "VPaginationBtn"
858
+ }, P.value.prev), null)]), D.value.map((p, x) => S("li", {
859
+ key: p.key,
860
+ class: G(["v-pagination__item", {
861
+ "v-pagination__item--is-active": p.isActive
862
+ }]),
863
+ "data-test": "v-pagination-item"
864
+ }, [a.item ? a.item(p) : k(W, B({
865
+ _as: "VPaginationBtn"
866
+ }, p.props), {
867
+ default: () => [p.page]
868
+ })])), S("li", {
869
+ key: "next",
870
+ class: "v-pagination__next",
871
+ "data-test": "v-pagination-next"
872
+ }, [a.next ? a.next(P.value.next) : k(W, B({
873
+ _as: "VPaginationBtn"
874
+ }, P.value.next), null)]), e.showFirstLastPage && S("li", {
875
+ key: "last",
876
+ class: "v-pagination__last",
877
+ "data-test": "v-pagination-last"
878
+ }, [a.last ? a.last(P.value.last) : k(W, B({
879
+ _as: "VPaginationBtn"
880
+ }, P.value.last), null)])])]
881
+ })), {};
882
+ }
883
+ }), st = _({
884
+ prevIcon: {
885
+ type: L,
886
+ default: "$prev"
887
+ },
888
+ nextIcon: {
889
+ type: L,
890
+ default: "$next"
891
+ },
892
+ firstIcon: {
893
+ type: L,
894
+ default: "$first"
895
+ },
896
+ lastIcon: {
897
+ type: L,
898
+ default: "$last"
899
+ },
900
+ itemsPerPageText: {
901
+ type: String,
902
+ default: "$vuetify.dataFooter.itemsPerPageText"
903
+ },
904
+ pageText: {
905
+ type: String,
906
+ default: "$vuetify.dataFooter.pageText"
907
+ },
908
+ firstPageLabel: {
909
+ type: String,
910
+ default: "$vuetify.dataFooter.firstPage"
911
+ },
912
+ prevPageLabel: {
913
+ type: String,
914
+ default: "$vuetify.dataFooter.prevPage"
915
+ },
916
+ nextPageLabel: {
917
+ type: String,
918
+ default: "$vuetify.dataFooter.nextPage"
919
+ },
920
+ lastPageLabel: {
921
+ type: String,
922
+ default: "$vuetify.dataFooter.lastPage"
923
+ },
924
+ itemsPerPageOptions: {
925
+ type: Array,
926
+ default: () => [{
927
+ value: 10,
928
+ title: "10"
929
+ }, {
930
+ value: 25,
931
+ title: "25"
932
+ }, {
933
+ value: 50,
934
+ title: "50"
935
+ }, {
936
+ value: 100,
937
+ title: "100"
938
+ }, {
939
+ value: -1,
940
+ title: "$vuetify.dataFooter.itemsPerPageAll"
941
+ }]
942
+ },
943
+ showCurrentPage: Boolean
944
+ }, "VDataTableFooter"), Ae = $()({
945
+ name: "VDataTableFooter",
946
+ props: st(),
947
+ setup(e, t) {
948
+ let {
949
+ slots: a
950
+ } = t;
951
+ const {
952
+ t: l
953
+ } = Z(), {
954
+ page: n,
955
+ pageCount: r,
956
+ startIndex: o,
957
+ stopIndex: u,
958
+ itemsLength: s,
959
+ itemsPerPage: i,
960
+ setItemsPerPage: f
961
+ } = ya(), m = V(() => e.itemsPerPageOptions.map((d) => typeof d == "number" ? {
962
+ value: d,
963
+ title: d === -1 ? l("$vuetify.dataFooter.itemsPerPageAll") : String(d)
964
+ } : {
965
+ ...d,
966
+ title: isNaN(Number(d.title)) ? l(d.title) : d.title
967
+ }));
968
+ return K(() => {
969
+ const d = Oe.filterProps(e);
970
+ return S("div", {
971
+ class: "v-data-table-footer"
972
+ }, [a.prepend?.(), S("div", {
973
+ class: "v-data-table-footer__items-per-page"
974
+ }, [S("span", {
975
+ "aria-label": l(e.itemsPerPageText)
976
+ }, [l(e.itemsPerPageText)]), k(Je, {
977
+ items: m.value,
978
+ modelValue: i.value,
979
+ "onUpdate:modelValue": (c) => f(Number(c)),
980
+ density: "compact",
981
+ variant: "outlined",
982
+ hideDetails: !0
983
+ }, null)]), S("div", {
984
+ class: "v-data-table-footer__info"
985
+ }, [S("div", null, [l(e.pageText, s.value ? o.value + 1 : 0, u.value, s.value)])]), S("div", {
986
+ class: "v-data-table-footer__pagination"
987
+ }, [k(Oe, B({
988
+ modelValue: n.value,
989
+ "onUpdate:modelValue": (c) => n.value = c,
990
+ density: "comfortable",
991
+ firstAriaLabel: e.firstPageLabel,
992
+ lastAriaLabel: e.lastPageLabel,
993
+ length: r.value,
994
+ nextAriaLabel: e.nextPageLabel,
995
+ previousAriaLabel: e.prevPageLabel,
996
+ rounded: !0,
997
+ showFirstLastPage: !0,
998
+ totalVisible: e.showCurrentPage ? 1 : 0,
999
+ variant: "plain"
1000
+ }, d), null)])]);
1001
+ }), {};
1002
+ }
1003
+ }), te = Kt({
1004
+ align: {
1005
+ type: String,
1006
+ default: "start"
1007
+ },
1008
+ fixed: {
1009
+ type: [Boolean, String],
1010
+ default: !1
1011
+ },
1012
+ fixedOffset: [Number, String],
1013
+ fixedEndOffset: [Number, String],
1014
+ height: [Number, String],
1015
+ lastFixed: Boolean,
1016
+ firstFixedEnd: Boolean,
1017
+ noPadding: Boolean,
1018
+ indent: [Number, String],
1019
+ empty: Boolean,
1020
+ tag: String,
1021
+ width: [Number, String],
1022
+ maxWidth: [Number, String],
1023
+ nowrap: Boolean
1024
+ }, (e, t) => {
1025
+ let {
1026
+ slots: a
1027
+ } = t;
1028
+ const l = e.tag ?? "td", n = typeof e.fixed == "string" ? e.fixed : e.fixed ? "start" : "none";
1029
+ return k(l, {
1030
+ class: G(["v-data-table__td", {
1031
+ "v-data-table-column--fixed": n === "start",
1032
+ "v-data-table-column--fixed-end": n === "end",
1033
+ "v-data-table-column--last-fixed": e.lastFixed,
1034
+ "v-data-table-column--first-fixed-end": e.firstFixedEnd,
1035
+ "v-data-table-column--no-padding": e.noPadding,
1036
+ "v-data-table-column--nowrap": e.nowrap,
1037
+ "v-data-table-column--empty": e.empty
1038
+ }, `v-data-table-column--align-${e.align}`]),
1039
+ style: {
1040
+ height: A(e.height),
1041
+ width: A(e.width),
1042
+ maxWidth: A(e.maxWidth),
1043
+ left: n === "start" ? A(e.fixedOffset || null) : void 0,
1044
+ right: n === "end" ? A(e.fixedEndOffset || null) : void 0,
1045
+ paddingInlineStart: e.indent ? A(e.indent) : void 0
1046
+ }
1047
+ }, {
1048
+ default: () => [a.default?.()]
1049
+ });
1050
+ }), _a = _({
1051
+ headers: Array
1052
+ }, "DataTable-header"), ot = Symbol.for("vuetify:data-table-headers"), it = {
1053
+ title: "",
1054
+ sortable: !1
1055
+ }, Ba = {
1056
+ ...it,
1057
+ width: 48
1058
+ };
1059
+ function La() {
1060
+ const t = (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []).map((a) => ({
1061
+ element: a,
1062
+ priority: 0
1063
+ }));
1064
+ return {
1065
+ enqueue: (a, l) => {
1066
+ let n = !1;
1067
+ for (let r = 0; r < t.length; r++)
1068
+ if (t[r].priority > l) {
1069
+ t.splice(r, 0, {
1070
+ element: a,
1071
+ priority: l
1072
+ }), n = !0;
1073
+ break;
1074
+ }
1075
+ n || t.push({
1076
+ element: a,
1077
+ priority: l
1078
+ });
1079
+ },
1080
+ size: () => t.length,
1081
+ count: () => {
1082
+ let a = 0;
1083
+ if (!t.length) return 0;
1084
+ const l = Math.floor(t[0].priority);
1085
+ for (let n = 0; n < t.length; n++)
1086
+ Math.floor(t[n].priority) === l && (a += 1);
1087
+ return a;
1088
+ },
1089
+ dequeue: () => t.shift()
1090
+ };
1091
+ }
1092
+ function Pe(e) {
1093
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
1094
+ if (!e.children)
1095
+ t.push(e);
1096
+ else
1097
+ for (const a of e.children)
1098
+ Pe(a, t);
1099
+ return t;
1100
+ }
1101
+ function ut(e) {
1102
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : /* @__PURE__ */ new Set();
1103
+ for (const a of e)
1104
+ a.key && t.add(a.key), a.children && ut(a.children, t);
1105
+ return t;
1106
+ }
1107
+ function Oa(e) {
1108
+ if (e.key) {
1109
+ if (e.key === "data-table-group") return it;
1110
+ if (["data-table-expand", "data-table-select"].includes(e.key)) return Ba;
1111
+ }
1112
+ }
1113
+ function De(e) {
1114
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
1115
+ return e.children ? Math.max(t, ...e.children.map((a) => De(a, t + 1))) : t;
1116
+ }
1117
+ function Aa(e) {
1118
+ let t = !1;
1119
+ function a(r, o) {
1120
+ let u = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "none";
1121
+ if (r)
1122
+ if (u !== "none" && (r.fixed = u), r.fixed === !0 && (r.fixed = "start"), r.fixed === o)
1123
+ if (r.children)
1124
+ if (o === "start")
1125
+ for (let s = r.children.length - 1; s >= 0; s--)
1126
+ a(r.children[s], o, o);
1127
+ else
1128
+ for (let s = 0; s < r.children.length; s++)
1129
+ a(r.children[s], o, o);
1130
+ else
1131
+ !t && o === "start" ? r.lastFixed = !0 : !t && o === "end" ? r.firstFixedEnd = !0 : isNaN(Number(r.width)) ? Wt(`Multiple fixed columns should have a static width (key: ${r.key})`) : r.minWidth = Math.max(Number(r.width) || 0, Number(r.minWidth) || 0), t = !0;
1132
+ else if (r.children)
1133
+ if (o === "start")
1134
+ for (let s = r.children.length - 1; s >= 0; s--)
1135
+ a(r.children[s], o);
1136
+ else
1137
+ for (let s = 0; s < r.children.length; s++)
1138
+ a(r.children[s], o);
1139
+ else
1140
+ t = !1;
1141
+ }
1142
+ for (let r = e.length - 1; r >= 0; r--)
1143
+ a(e[r], "start");
1144
+ for (let r = 0; r < e.length; r++)
1145
+ a(e[r], "end");
1146
+ let l = 0;
1147
+ for (let r = 0; r < e.length; r++)
1148
+ l = dt(e[r], l);
1149
+ let n = 0;
1150
+ for (let r = e.length - 1; r >= 0; r--)
1151
+ n = ct(e[r], n);
1152
+ }
1153
+ function dt(e) {
1154
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
1155
+ if (!e) return t;
1156
+ if (e.children) {
1157
+ e.fixedOffset = t;
1158
+ for (const a of e.children)
1159
+ t = dt(a, t);
1160
+ } else e.fixed && e.fixed !== "end" && (e.fixedOffset = t, t += parseFloat(e.width || "0") || 0);
1161
+ return t;
1162
+ }
1163
+ function ct(e) {
1164
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
1165
+ if (!e) return t;
1166
+ if (e.children) {
1167
+ e.fixedEndOffset = t;
1168
+ for (const a of e.children)
1169
+ t = ct(a, t);
1170
+ } else e.fixed === "end" && (e.fixedEndOffset = t, t += parseFloat(e.width || "0") || 0);
1171
+ return t;
1172
+ }
1173
+ function Ea(e, t) {
1174
+ const a = [];
1175
+ let l = 0;
1176
+ const n = La(e);
1177
+ for (; n.size() > 0; ) {
1178
+ let o = n.count();
1179
+ const u = [];
1180
+ let s = 1;
1181
+ for (; o > 0; ) {
1182
+ const {
1183
+ element: i,
1184
+ priority: f
1185
+ } = n.dequeue(), m = t - l - De(i);
1186
+ if (u.push({
1187
+ ...i,
1188
+ rowspan: m ?? 1,
1189
+ colspan: i.children ? Pe(i).length : 1
1190
+ }), i.children)
1191
+ for (const d of i.children) {
1192
+ const c = f % 1 + s / Math.pow(10, l + 2);
1193
+ n.enqueue(d, l + m + c);
1194
+ }
1195
+ s += 1, o -= 1;
1196
+ }
1197
+ l += 1, a.push(u);
1198
+ }
1199
+ return {
1200
+ columns: e.map((o) => Pe(o)).flat(),
1201
+ headers: a
1202
+ };
1203
+ }
1204
+ function ft(e) {
1205
+ const t = [];
1206
+ for (const a of e) {
1207
+ const l = {
1208
+ ...Oa(a),
1209
+ ...a
1210
+ }, n = l.key ?? (typeof l.value == "string" ? l.value : null), r = l.value ?? n ?? null, o = {
1211
+ ...l,
1212
+ key: n,
1213
+ value: r,
1214
+ sortable: l.sortable ?? (l.key != null || !!l.sort),
1215
+ children: l.children ? ft(l.children) : void 0
1216
+ };
1217
+ t.push(o);
1218
+ }
1219
+ return t;
1220
+ }
1221
+ function Na(e, t) {
1222
+ const a = j([]), l = j([]), n = j({}), r = j({}), o = j({});
1223
+ He(() => {
1224
+ const i = (e.headers || Object.keys(e.items[0] ?? {}).map((b) => ({
1225
+ key: b,
1226
+ title: Ct(b)
1227
+ }))).slice(), f = ut(i);
1228
+ t?.groupBy?.value.length && !f.has("data-table-group") && i.unshift({
1229
+ key: "data-table-group",
1230
+ title: "Group"
1231
+ }), t?.showSelect?.value && !f.has("data-table-select") && i.unshift({
1232
+ key: "data-table-select"
1233
+ }), t?.showExpand?.value && !f.has("data-table-expand") && i.push({
1234
+ key: "data-table-expand"
1235
+ });
1236
+ const m = ft(i);
1237
+ Aa(m);
1238
+ const d = Math.max(...m.map((b) => De(b))) + 1, c = Ea(m, d);
1239
+ a.value = c.headers, l.value = c.columns;
1240
+ const y = c.headers.flat(1);
1241
+ for (const b of y)
1242
+ b.key && (b.sortable && (b.sort && (n.value[b.key] = b.sort), b.sortRaw && (r.value[b.key] = b.sortRaw)), b.filter && (o.value[b.key] = b.filter));
1243
+ });
1244
+ const u = {
1245
+ headers: a,
1246
+ columns: l,
1247
+ sortFunctions: n,
1248
+ sortRawFunctions: r,
1249
+ filterFunctions: o
1250
+ };
1251
+ return Y(ot, u), u;
1252
+ }
1253
+ function ve() {
1254
+ const e = Q(ot);
1255
+ if (!e) throw new Error("Missing headers!");
1256
+ return e;
1257
+ }
1258
+ const vt = _({
1259
+ color: String,
1260
+ disableSort: Boolean,
1261
+ fixedHeader: Boolean,
1262
+ multiSort: Boolean,
1263
+ sortAscIcon: {
1264
+ type: L,
1265
+ default: "$sortAsc"
1266
+ },
1267
+ sortDescIcon: {
1268
+ type: L,
1269
+ default: "$sortDesc"
1270
+ },
1271
+ headerProps: {
1272
+ type: Object
1273
+ },
1274
+ /** @deprecated */
1275
+ sticky: Boolean,
1276
+ ...ae(),
1277
+ ...Ve(),
1278
+ ...Jt()
1279
+ }, "VDataTableHeaders"), Ee = $()({
1280
+ name: "VDataTableHeaders",
1281
+ props: vt(),
1282
+ setup(e, t) {
1283
+ let {
1284
+ slots: a
1285
+ } = t;
1286
+ const {
1287
+ t: l
1288
+ } = Z(), {
1289
+ toggleSort: n,
1290
+ sortBy: r,
1291
+ isSorted: o
1292
+ } = rt(), {
1293
+ someSelected: u,
1294
+ allSelected: s,
1295
+ selectAll: i,
1296
+ showSelectAll: f
1297
+ } = fe(), {
1298
+ columns: m,
1299
+ headers: d
1300
+ } = ve(), {
1301
+ loaderClasses: c
1302
+ } = zt(e);
1303
+ function y(x, g) {
1304
+ if (!(e.sticky || e.fixedHeader) && !x.fixed) return;
1305
+ const w = typeof x.fixed == "string" ? x.fixed : x.fixed ? "start" : "none";
1306
+ return {
1307
+ position: "sticky",
1308
+ left: w === "start" ? A(x.fixedOffset) : void 0,
1309
+ right: w === "end" ? A(x.fixedEndOffset) : void 0,
1310
+ top: e.sticky || e.fixedHeader ? `calc(var(--v-table-header-height) * ${g})` : void 0
1311
+ };
1312
+ }
1313
+ function b(x, g) {
1314
+ x.key === "Enter" && !e.disableSort && n(g);
1315
+ }
1316
+ function v(x) {
1317
+ const g = r.value.find((w) => w.key === x.key);
1318
+ return g ? g.order === "asc" ? e.sortAscIcon : e.sortDescIcon : e.sortAscIcon;
1319
+ }
1320
+ const {
1321
+ backgroundColorClasses: F,
1322
+ backgroundColorStyles: h
1323
+ } = Ue(() => e.color), {
1324
+ displayClasses: I,
1325
+ mobile: D
1326
+ } = ce(e), P = V(() => ({
1327
+ headers: d.value,
1328
+ columns: m.value,
1329
+ toggleSort: n,
1330
+ isSorted: o,
1331
+ sortBy: r.value,
1332
+ someSelected: u.value,
1333
+ allSelected: s.value,
1334
+ selectAll: i,
1335
+ getSortIcon: v
1336
+ })), O = V(() => ["v-data-table__th", {
1337
+ "v-data-table__th--sticky": e.sticky || e.fixedHeader
1338
+ }, I.value, c.value]), N = (x) => {
1339
+ let {
1340
+ column: g,
1341
+ x: w,
1342
+ y: T
1343
+ } = x;
1344
+ const R = g.key === "data-table-select" || g.key === "data-table-expand", le = g.key === "data-table-group" && g.width === 0 && !g.title, me = B(e.headerProps ?? {}, g.headerProps ?? {});
1345
+ return k(te, B({
1346
+ tag: "th",
1347
+ align: g.align,
1348
+ class: [{
1349
+ "v-data-table__th--sortable": g.sortable && !e.disableSort,
1350
+ "v-data-table__th--sorted": o(g),
1351
+ "v-data-table__th--fixed": g.fixed
1352
+ }, ...O.value],
1353
+ style: {
1354
+ width: A(g.width),
1355
+ minWidth: A(g.minWidth),
1356
+ maxWidth: A(g.maxWidth),
1357
+ ...y(g, T)
1358
+ },
1359
+ colspan: g.colspan,
1360
+ rowspan: g.rowspan,
1361
+ fixed: g.fixed,
1362
+ nowrap: g.nowrap,
1363
+ lastFixed: g.lastFixed,
1364
+ firstFixedEnd: g.firstFixedEnd,
1365
+ noPadding: R,
1366
+ empty: le,
1367
+ tabindex: g.sortable ? 0 : void 0,
1368
+ onClick: g.sortable ? () => n(g) : void 0,
1369
+ onKeydown: g.sortable ? (M) => b(M, g) : void 0
1370
+ }, me), {
1371
+ default: () => {
1372
+ const M = `header.${g.key}`, X = {
1373
+ column: g,
1374
+ selectAll: i,
1375
+ isSorted: o,
1376
+ toggleSort: n,
1377
+ sortBy: r.value,
1378
+ someSelected: u.value,
1379
+ allSelected: s.value,
1380
+ getSortIcon: v
1381
+ };
1382
+ return a[M] ? a[M](X) : le ? "" : g.key === "data-table-select" ? a["header.data-table-select"]?.(X) ?? (f.value && k(Fe, {
1383
+ density: e.density,
1384
+ modelValue: s.value,
1385
+ indeterminate: u.value && !s.value,
1386
+ "onUpdate:modelValue": i
1387
+ }, null)) : S("div", {
1388
+ class: "v-data-table-header__content"
1389
+ }, [S("span", null, [g.title]), g.sortable && !e.disableSort && k(Be, {
1390
+ key: "icon",
1391
+ class: "v-data-table-header__sort-icon",
1392
+ icon: v(g)
1393
+ }, null), e.multiSort && o(g) && S("div", {
1394
+ key: "badge",
1395
+ class: G(["v-data-table-header__sort-badge", ...F.value]),
1396
+ style: we(h.value)
1397
+ }, [r.value.findIndex((be) => be.key === g.key) + 1])]);
1398
+ }
1399
+ });
1400
+ }, p = () => {
1401
+ const x = V(() => m.value.filter((w) => w?.sortable && !e.disableSort)), g = V(() => {
1402
+ if (m.value.find((T) => T.key === "data-table-select") != null)
1403
+ return s.value ? "$checkboxOn" : u.value ? "$checkboxIndeterminate" : "$checkboxOff";
1404
+ });
1405
+ return k(te, B({
1406
+ tag: "th",
1407
+ class: [...O.value],
1408
+ colspan: d.value.length + 1
1409
+ }, e.headerProps), {
1410
+ default: () => [S("div", {
1411
+ class: "v-data-table-header__content"
1412
+ }, [k(Je, {
1413
+ chips: !0,
1414
+ class: "v-data-table__td-sort-select",
1415
+ clearable: !0,
1416
+ density: "default",
1417
+ items: x.value,
1418
+ label: l("$vuetify.dataTable.sortBy"),
1419
+ multiple: e.multiSort,
1420
+ variant: "underlined",
1421
+ "onClick:clear": () => r.value = [],
1422
+ appendIcon: g.value,
1423
+ "onClick:append": () => i(!s.value)
1424
+ }, {
1425
+ chip: (w) => k(ea, {
1426
+ onClick: w.item.raw?.sortable ? () => n(w.item.raw) : void 0,
1427
+ onMousedown: (T) => {
1428
+ T.preventDefault(), T.stopPropagation();
1429
+ }
1430
+ }, {
1431
+ default: () => [w.item.title, k(Be, {
1432
+ class: G(["v-data-table__td-sort-icon", o(w.item.raw) && "v-data-table__td-sort-icon-active"]),
1433
+ icon: v(w.item.raw),
1434
+ size: "small"
1435
+ }, null)]
1436
+ })
1437
+ })])]
1438
+ });
1439
+ };
1440
+ K(() => D.value ? S("tr", null, [k(p, null, null)]) : S(U, null, [a.headers ? a.headers(P.value) : d.value.map((x, g) => S("tr", null, [x.map((w, T) => k(N, {
1441
+ column: w,
1442
+ x: T,
1443
+ y: g
1444
+ }, null))])), e.loading && S("tr", {
1445
+ class: "v-data-table-progress"
1446
+ }, [S("th", {
1447
+ colspan: m.value.length
1448
+ }, [k(Ut, {
1449
+ name: "v-data-table-progress",
1450
+ absolute: !0,
1451
+ active: !0,
1452
+ color: typeof e.loading == "boolean" ? void 0 : e.loading,
1453
+ indeterminate: !0
1454
+ }, {
1455
+ default: a.loader
1456
+ })])])]));
1457
+ }
1458
+ }), gt = _({
1459
+ item: {
1460
+ type: Object,
1461
+ required: !0
1462
+ },
1463
+ groupCollapseIcon: {
1464
+ type: L,
1465
+ default: "$tableGroupCollapse"
1466
+ },
1467
+ groupExpandIcon: {
1468
+ type: L,
1469
+ default: "$tableGroupExpand"
1470
+ },
1471
+ ...ae()
1472
+ }, "VDataTableGroupHeaderRow"), Ra = $()({
1473
+ name: "VDataTableGroupHeaderRow",
1474
+ props: gt(),
1475
+ setup(e, t) {
1476
+ let {
1477
+ slots: a
1478
+ } = t;
1479
+ const {
1480
+ isGroupOpen: l,
1481
+ toggleGroup: n,
1482
+ extractRows: r
1483
+ } = Ze(), {
1484
+ isSelected: o,
1485
+ isSomeSelected: u,
1486
+ select: s
1487
+ } = fe(), {
1488
+ columns: i
1489
+ } = ve(), f = V(() => r([e.item])), m = C(() => i.value.length - (i.value.some((d) => d.key === "data-table-select") ? 1 : 0));
1490
+ return () => S("tr", {
1491
+ class: "v-data-table-group-header-row",
1492
+ style: {
1493
+ "--v-data-table-group-header-row-depth": e.item.depth
1494
+ }
1495
+ }, [i.value.map((d) => {
1496
+ if (d.key === "data-table-group") {
1497
+ const c = l(e.item) ? e.groupCollapseIcon : e.groupExpandIcon, y = () => n(e.item);
1498
+ return a["data-table-group"]?.({
1499
+ item: e.item,
1500
+ count: f.value.length,
1501
+ props: {
1502
+ icon: c,
1503
+ onClick: y
1504
+ }
1505
+ }) ?? k(te, {
1506
+ class: "v-data-table-group-header-row__column",
1507
+ colspan: m.value
1508
+ }, {
1509
+ default: () => [k(W, {
1510
+ size: "small",
1511
+ variant: "text",
1512
+ icon: c,
1513
+ onClick: y
1514
+ }, null), S("span", null, [e.item.value]), S("span", null, [Ce("("), f.value.length, Ce(")")])]
1515
+ });
1516
+ } else if (d.key === "data-table-select") {
1517
+ const c = o(f.value), y = u(f.value) && !c, b = (v) => s(f.value, v);
1518
+ return a["data-table-select"]?.({
1519
+ props: {
1520
+ modelValue: c,
1521
+ indeterminate: y,
1522
+ "onUpdate:modelValue": b
1523
+ }
1524
+ }) ?? k(te, {
1525
+ class: "v-data-table__td--select-row",
1526
+ noPadding: !0
1527
+ }, {
1528
+ default: () => [k(Fe, {
1529
+ density: e.density,
1530
+ modelValue: c,
1531
+ indeterminate: y,
1532
+ "onUpdate:modelValue": b
1533
+ }, null)]
1534
+ });
1535
+ }
1536
+ return "";
1537
+ })]);
1538
+ }
1539
+ }), mt = _({
1540
+ index: Number,
1541
+ item: Object,
1542
+ cellProps: [Object, Function],
1543
+ collapseIcon: {
1544
+ type: L,
1545
+ default: "$collapse"
1546
+ },
1547
+ expandIcon: {
1548
+ type: L,
1549
+ default: "$expand"
1550
+ },
1551
+ onClick: ye(),
1552
+ onContextmenu: ye(),
1553
+ onDblclick: ye(),
1554
+ ...ae(),
1555
+ ...Ve()
1556
+ }, "VDataTableRow"), $a = $()({
1557
+ name: "VDataTableRow",
1558
+ props: mt(),
1559
+ setup(e, t) {
1560
+ let {
1561
+ slots: a
1562
+ } = t;
1563
+ const {
1564
+ displayClasses: l,
1565
+ mobile: n
1566
+ } = ce(e, "v-data-table__tr"), {
1567
+ isSelected: r,
1568
+ toggleSelect: o,
1569
+ someSelected: u,
1570
+ allSelected: s,
1571
+ selectAll: i
1572
+ } = fe(), {
1573
+ isExpanded: f,
1574
+ toggleExpand: m
1575
+ } = Xe(), {
1576
+ toggleSort: d,
1577
+ sortBy: c,
1578
+ isSorted: y
1579
+ } = rt(), {
1580
+ columns: b
1581
+ } = ve();
1582
+ K(() => S("tr", {
1583
+ class: G(["v-data-table__tr", {
1584
+ "v-data-table__tr--clickable": !!(e.onClick || e.onContextmenu || e.onDblclick)
1585
+ }, l.value]),
1586
+ onClick: e.onClick,
1587
+ onContextmenu: e.onContextmenu,
1588
+ onDblclick: e.onDblclick
1589
+ }, [e.item && b.value.map((v, F) => {
1590
+ const h = e.item, I = `item.${v.key}`, D = `header.${v.key}`, P = {
1591
+ index: e.index,
1592
+ item: h.raw,
1593
+ internalItem: h,
1594
+ value: ue(h.columns, v.key),
1595
+ column: v,
1596
+ isSelected: r,
1597
+ toggleSelect: o,
1598
+ isExpanded: f,
1599
+ toggleExpand: m
1600
+ }, O = {
1601
+ column: v,
1602
+ selectAll: i,
1603
+ isSorted: y,
1604
+ toggleSort: d,
1605
+ sortBy: c.value,
1606
+ someSelected: u.value,
1607
+ allSelected: s.value,
1608
+ getSortIcon: () => ""
1609
+ }, N = typeof e.cellProps == "function" ? e.cellProps({
1610
+ index: P.index,
1611
+ item: P.item,
1612
+ internalItem: P.internalItem,
1613
+ value: P.value,
1614
+ column: v
1615
+ }) : e.cellProps, p = typeof v.cellProps == "function" ? v.cellProps({
1616
+ index: P.index,
1617
+ item: P.item,
1618
+ internalItem: P.internalItem,
1619
+ value: P.value
1620
+ }) : v.cellProps, x = v.key === "data-table-select" || v.key === "data-table-expand", g = v.key === "data-table-group" && v.width === 0 && !v.title;
1621
+ return k(te, B({
1622
+ align: v.align,
1623
+ indent: v.intent,
1624
+ class: {
1625
+ "v-data-table__td--expanded-row": v.key === "data-table-expand",
1626
+ "v-data-table__td--select-row": v.key === "data-table-select"
1627
+ },
1628
+ fixed: v.fixed,
1629
+ fixedOffset: v.fixedOffset,
1630
+ fixedEndOffset: v.fixedEndOffset,
1631
+ lastFixed: v.lastFixed,
1632
+ firstFixedEnd: v.firstFixedEnd,
1633
+ maxWidth: n.value ? void 0 : v.maxWidth,
1634
+ noPadding: x,
1635
+ empty: g,
1636
+ nowrap: v.nowrap,
1637
+ width: n.value ? void 0 : v.width
1638
+ }, N, p), {
1639
+ default: () => {
1640
+ if (v.key === "data-table-select")
1641
+ return a["item.data-table-select"]?.({
1642
+ ...P,
1643
+ props: {
1644
+ disabled: !h.selectable,
1645
+ modelValue: r([h]),
1646
+ onClick: re(() => o(h), ["stop"])
1647
+ }
1648
+ }) ?? k(Fe, {
1649
+ disabled: !h.selectable,
1650
+ density: e.density,
1651
+ modelValue: r([h]),
1652
+ onClick: re((T) => o(h, e.index, T), ["stop"])
1653
+ }, null);
1654
+ if (v.key === "data-table-expand")
1655
+ return a["item.data-table-expand"]?.({
1656
+ ...P,
1657
+ props: {
1658
+ icon: f(h) ? e.collapseIcon : e.expandIcon,
1659
+ size: "small",
1660
+ variant: "text",
1661
+ onClick: re(() => m(h), ["stop"])
1662
+ }
1663
+ }) ?? k(W, {
1664
+ icon: f(h) ? e.collapseIcon : e.expandIcon,
1665
+ size: "small",
1666
+ variant: "text",
1667
+ onClick: re(() => m(h), ["stop"])
1668
+ }, null);
1669
+ if (a[I] && !n.value) return a[I](P);
1670
+ const w = _t(P.value);
1671
+ return n.value ? S(U, null, [S("div", {
1672
+ class: "v-data-table__td-title"
1673
+ }, [a[D]?.(O) ?? v.title]), S("div", {
1674
+ class: "v-data-table__td-value"
1675
+ }, [a[I]?.(P) ?? w])]) : w;
1676
+ }
1677
+ });
1678
+ })]));
1679
+ }
1680
+ }), bt = _({
1681
+ loading: [Boolean, String],
1682
+ loadingText: {
1683
+ type: String,
1684
+ default: "$vuetify.dataIterator.loadingText"
1685
+ },
1686
+ hideNoData: Boolean,
1687
+ items: {
1688
+ type: Array,
1689
+ default: () => []
1690
+ },
1691
+ noDataText: {
1692
+ type: String,
1693
+ default: "$vuetify.noDataText"
1694
+ },
1695
+ rowProps: [Object, Function],
1696
+ cellProps: [Object, Function],
1697
+ ...Se(mt(), ["collapseIcon", "expandIcon", "density"]),
1698
+ ...Se(gt(), ["groupCollapseIcon", "groupExpandIcon", "density"]),
1699
+ ...Ve()
1700
+ }, "VDataTableRows"), Ne = $()({
1701
+ name: "VDataTableRows",
1702
+ inheritAttrs: !1,
1703
+ props: bt(),
1704
+ setup(e, t) {
1705
+ let {
1706
+ attrs: a,
1707
+ slots: l
1708
+ } = t;
1709
+ const {
1710
+ columns: n
1711
+ } = ve(), {
1712
+ expandOnClick: r,
1713
+ toggleExpand: o,
1714
+ isExpanded: u
1715
+ } = Xe(), {
1716
+ isSelected: s,
1717
+ toggleSelect: i
1718
+ } = fe(), {
1719
+ toggleGroup: f,
1720
+ isGroupOpen: m
1721
+ } = Ze(), {
1722
+ t: d
1723
+ } = Z(), {
1724
+ mobile: c
1725
+ } = ce(e);
1726
+ return K(() => {
1727
+ const y = Se(e, ["groupCollapseIcon", "groupExpandIcon", "density"]);
1728
+ return e.loading && (!e.items.length || l.loading) ? S("tr", {
1729
+ class: "v-data-table-rows-loading",
1730
+ key: "loading"
1731
+ }, [S("td", {
1732
+ colspan: n.value.length
1733
+ }, [l.loading?.() ?? d(e.loadingText)])]) : !e.loading && !e.items.length && !e.hideNoData ? S("tr", {
1734
+ class: "v-data-table-rows-no-data",
1735
+ key: "no-data"
1736
+ }, [S("td", {
1737
+ colspan: n.value.length
1738
+ }, [l["no-data"]?.() ?? d(e.noDataText)])]) : S(U, null, [e.items.map((b, v) => {
1739
+ if (b.type === "group") {
1740
+ const I = {
1741
+ index: v,
1742
+ item: b,
1743
+ columns: n.value,
1744
+ isExpanded: u,
1745
+ toggleExpand: o,
1746
+ isSelected: s,
1747
+ toggleSelect: i,
1748
+ toggleGroup: f,
1749
+ isGroupOpen: m
1750
+ };
1751
+ return l["group-header"] ? l["group-header"](I) : k(Ra, B({
1752
+ key: `group-header_${b.id}`,
1753
+ item: b
1754
+ }, Le(a, ":groupHeader", () => I), y), l);
1755
+ }
1756
+ if (b.type === "group-summary") {
1757
+ const I = {
1758
+ index: v,
1759
+ item: b,
1760
+ columns: n.value,
1761
+ toggleGroup: f
1762
+ };
1763
+ return l["group-summary"]?.(I) ?? "";
1764
+ }
1765
+ const F = {
1766
+ index: v,
1767
+ item: b.raw,
1768
+ internalItem: b,
1769
+ columns: n.value,
1770
+ isExpanded: u,
1771
+ toggleExpand: o,
1772
+ isSelected: s,
1773
+ toggleSelect: i
1774
+ }, h = {
1775
+ ...F,
1776
+ props: B({
1777
+ key: `item_${b.key ?? b.index}`,
1778
+ onClick: r.value ? () => {
1779
+ o(b);
1780
+ } : void 0,
1781
+ index: v,
1782
+ item: b,
1783
+ cellProps: e.cellProps,
1784
+ collapseIcon: e.collapseIcon,
1785
+ expandIcon: e.expandIcon,
1786
+ density: e.density,
1787
+ mobile: c.value
1788
+ }, Le(a, ":row", () => F), typeof e.rowProps == "function" ? e.rowProps({
1789
+ item: F.item,
1790
+ index: F.index,
1791
+ internalItem: F.internalItem
1792
+ }) : e.rowProps)
1793
+ };
1794
+ return S(U, {
1795
+ key: h.props.key
1796
+ }, [l.item ? l.item(h) : k($a, h.props, l), u(b) && l["expanded-row"]?.(F)]);
1797
+ })]);
1798
+ }), {};
1799
+ }
1800
+ }), ht = _({
1801
+ fixedHeader: Boolean,
1802
+ fixedFooter: Boolean,
1803
+ height: [Number, String],
1804
+ hover: Boolean,
1805
+ striped: {
1806
+ type: String,
1807
+ default: null,
1808
+ validator: (e) => ["even", "odd"].includes(e)
1809
+ },
1810
+ ...ze(),
1811
+ ...ae(),
1812
+ ...Ke(),
1813
+ ...Ie()
1814
+ }, "VTable"), Re = $()({
1815
+ name: "VTable",
1816
+ props: ht(),
1817
+ setup(e, t) {
1818
+ let {
1819
+ slots: a,
1820
+ emit: l
1821
+ } = t;
1822
+ const {
1823
+ themeClasses: n
1824
+ } = ke(e), {
1825
+ densityClasses: r
1826
+ } = Qt(e);
1827
+ return K(() => k(e.tag, {
1828
+ class: G(["v-table", {
1829
+ "v-table--fixed-height": !!e.height,
1830
+ "v-table--fixed-header": e.fixedHeader,
1831
+ "v-table--fixed-footer": e.fixedFooter,
1832
+ "v-table--has-top": !!a.top,
1833
+ "v-table--has-bottom": !!a.bottom,
1834
+ "v-table--hover": e.hover,
1835
+ "v-table--striped-even": e.striped === "even",
1836
+ "v-table--striped-odd": e.striped === "odd"
1837
+ }, n.value, r.value, e.class]),
1838
+ style: we(e.style)
1839
+ }, {
1840
+ default: () => [a.top?.(), a.default ? S("div", {
1841
+ class: "v-table__wrapper",
1842
+ style: {
1843
+ height: A(e.height)
1844
+ }
1845
+ }, [S("table", null, [a.default()])]) : a.wrapper?.(), a.bottom?.()]
1846
+ })), {};
1847
+ }
1848
+ }), Ma = _({
1849
+ items: {
1850
+ type: Array,
1851
+ default: () => []
1852
+ },
1853
+ itemValue: {
1854
+ type: [String, Array, Function],
1855
+ default: "id"
1856
+ },
1857
+ itemSelectable: {
1858
+ type: [String, Array, Function],
1859
+ default: null
1860
+ },
1861
+ rowProps: [Object, Function],
1862
+ cellProps: [Object, Function],
1863
+ returnObject: Boolean
1864
+ }, "DataTable-items");
1865
+ function Ha(e, t, a, l) {
1866
+ const n = e.returnObject ? t : ee(t, e.itemValue), r = ee(t, e.itemSelectable, !0), o = l.reduce((u, s) => (s.key != null && (u[s.key] = ee(t, s.value)), u), {});
1867
+ return {
1868
+ type: "item",
1869
+ key: e.returnObject ? ee(t, e.itemValue) : n,
1870
+ index: a,
1871
+ value: n,
1872
+ selectable: r,
1873
+ columns: o,
1874
+ raw: t
1875
+ };
1876
+ }
1877
+ function ja(e, t, a) {
1878
+ return t.map((l, n) => Ha(e, l, n, a));
1879
+ }
1880
+ function Ga(e, t) {
1881
+ return {
1882
+ items: V(() => ja(e, e.items, t.value))
1883
+ };
1884
+ }
1885
+ const Ka = _({
1886
+ ...bt(),
1887
+ hideDefaultBody: Boolean,
1888
+ hideDefaultFooter: Boolean,
1889
+ hideDefaultHeader: Boolean,
1890
+ width: [String, Number],
1891
+ search: String,
1892
+ ...oa(),
1893
+ ...ua(),
1894
+ ..._a(),
1895
+ ...Ma(),
1896
+ ...Pa(),
1897
+ ...ka(),
1898
+ ...vt(),
1899
+ ...ht()
1900
+ }, "DataTable"), Wa = _({
1901
+ ...ma(),
1902
+ ...Ka(),
1903
+ ...na(),
1904
+ ...st()
1905
+ }, "VDataTable"), qa = $()({
1906
+ name: "VDataTable",
1907
+ props: Wa(),
1908
+ emits: {
1909
+ "update:modelValue": (e) => !0,
1910
+ "update:page": (e) => !0,
1911
+ "update:itemsPerPage": (e) => !0,
1912
+ "update:sortBy": (e) => !0,
1913
+ "update:options": (e) => !0,
1914
+ "update:groupBy": (e) => !0,
1915
+ "update:expanded": (e) => !0,
1916
+ "update:currentItems": (e) => !0
1917
+ },
1918
+ setup(e, t) {
1919
+ let {
1920
+ attrs: a,
1921
+ slots: l
1922
+ } = t;
1923
+ const {
1924
+ groupBy: n
1925
+ } = da(e), {
1926
+ sortBy: r,
1927
+ multiSort: o,
1928
+ mustSort: u
1929
+ } = Ia(e), {
1930
+ page: s,
1931
+ itemsPerPage: i
1932
+ } = ba(e), {
1933
+ disableSort: f
1934
+ } = Bt(e), {
1935
+ columns: m,
1936
+ headers: d,
1937
+ sortFunctions: c,
1938
+ sortRawFunctions: y,
1939
+ filterFunctions: b
1940
+ } = Na(e, {
1941
+ groupBy: n,
1942
+ showSelect: C(() => e.showSelect),
1943
+ showExpand: C(() => e.showExpand)
1944
+ }), {
1945
+ items: v
1946
+ } = Ga(e, m), F = C(() => e.search), {
1947
+ filteredItems: h
1948
+ } = sa(e, v, F, {
1949
+ transform: (H) => H.columns,
1950
+ customKeyFilter: b
1951
+ }), {
1952
+ toggleSort: I
1953
+ } = Va({
1954
+ sortBy: r,
1955
+ multiSort: o,
1956
+ mustSort: u,
1957
+ page: s
1958
+ }), {
1959
+ sortByWithGroups: D,
1960
+ opened: P,
1961
+ extractRows: O,
1962
+ isGroupOpen: N,
1963
+ toggleGroup: p
1964
+ } = ca({
1965
+ groupBy: n,
1966
+ sortBy: r,
1967
+ disableSort: f
1968
+ }), {
1969
+ sortedItems: x
1970
+ } = Fa(e, h, D, {
1971
+ transform: (H) => ({
1972
+ ...H.raw,
1973
+ ...H.columns
1974
+ }),
1975
+ sortFunctions: c,
1976
+ sortRawFunctions: y
1977
+ }), {
1978
+ flatItems: g
1979
+ } = va(x, n, P, () => !!l["group-summary"]), w = V(() => g.value.length), {
1980
+ startIndex: T,
1981
+ stopIndex: R,
1982
+ pageCount: le,
1983
+ setItemsPerPage: me
1984
+ } = ha({
1985
+ page: s,
1986
+ itemsPerPage: i,
1987
+ itemsLength: w
1988
+ }), {
1989
+ paginatedItems: M
1990
+ } = pa({
1991
+ items: g,
1992
+ startIndex: T,
1993
+ stopIndex: R,
1994
+ itemsPerPage: i
1995
+ }), X = V(() => O(M.value)), {
1996
+ isSelected: be,
1997
+ select: yt,
1998
+ selectAll: pt,
1999
+ toggleSelect: xt,
2000
+ someSelected: St,
2001
+ allSelected: Pt
2002
+ } = wa(e, {
2003
+ allItems: v,
2004
+ currentPage: X
2005
+ }), {
2006
+ isExpanded: wt,
2007
+ toggleExpand: kt
2008
+ } = ia(e);
2009
+ ga({
2010
+ page: s,
2011
+ itemsPerPage: i,
2012
+ sortBy: r,
2013
+ groupBy: n,
2014
+ search: F
2015
+ }), xe({
2016
+ VDataTableRows: {
2017
+ hideNoData: C(() => e.hideNoData),
2018
+ noDataText: C(() => e.noDataText),
2019
+ loading: C(() => e.loading),
2020
+ loadingText: C(() => e.loadingText)
2021
+ }
2022
+ });
2023
+ const E = V(() => ({
2024
+ page: s.value,
2025
+ itemsPerPage: i.value,
2026
+ sortBy: r.value,
2027
+ pageCount: le.value,
2028
+ toggleSort: I,
2029
+ setItemsPerPage: me,
2030
+ someSelected: St.value,
2031
+ allSelected: Pt.value,
2032
+ isSelected: be,
2033
+ select: yt,
2034
+ selectAll: pt,
2035
+ toggleSelect: xt,
2036
+ isExpanded: wt,
2037
+ toggleExpand: kt,
2038
+ isGroupOpen: N,
2039
+ toggleGroup: p,
2040
+ items: X.value.map((H) => H.raw),
2041
+ internalItems: X.value,
2042
+ groupedItems: M.value,
2043
+ columns: m.value,
2044
+ headers: d.value
2045
+ }));
2046
+ return K(() => {
2047
+ const H = Ae.filterProps(e), It = Ee.filterProps(e), Vt = Ne.filterProps(e), Ft = Re.filterProps(e);
2048
+ return k(Re, B({
2049
+ class: ["v-data-table", {
2050
+ "v-data-table--show-select": e.showSelect,
2051
+ "v-data-table--loading": e.loading
2052
+ }, e.class],
2053
+ style: e.style
2054
+ }, Ft, {
2055
+ fixedHeader: e.fixedHeader || e.sticky
2056
+ }), {
2057
+ top: () => l.top?.(E.value),
2058
+ default: () => l.default ? l.default(E.value) : S(U, null, [l.colgroup?.(E.value), !e.hideDefaultHeader && S("thead", {
2059
+ key: "thead"
2060
+ }, [k(Ee, It, l)]), l.thead?.(E.value), !e.hideDefaultBody && S("tbody", null, [l["body.prepend"]?.(E.value), l.body ? l.body(E.value) : k(Ne, B(a, Vt, {
2061
+ items: M.value
2062
+ }), l), l["body.append"]?.(E.value)]), l.tbody?.(E.value), l.tfoot?.(E.value)]),
2063
+ bottom: () => l.bottom ? l.bottom(E.value) : !e.hideDefaultFooter && S(U, null, [k(Xt, null, null), k(Ae, H, {
2064
+ prepend: l["footer.prepend"]
2065
+ })])
2066
+ });
2067
+ }), {};
2068
+ }
2069
+ }), za = {
2070
+ actions: "button@2",
2071
+ article: "heading, paragraph",
2072
+ avatar: "avatar",
2073
+ button: "button",
2074
+ card: "image, heading",
2075
+ "card-avatar": "image, list-item-avatar",
2076
+ chip: "chip",
2077
+ "date-picker": "list-item, heading, divider, date-picker-options, date-picker-days, actions",
2078
+ "date-picker-options": "text, avatar@2",
2079
+ "date-picker-days": "avatar@28",
2080
+ divider: "divider",
2081
+ heading: "heading",
2082
+ image: "image",
2083
+ "list-item": "text",
2084
+ "list-item-avatar": "avatar, text",
2085
+ "list-item-two-line": "sentences",
2086
+ "list-item-avatar-two-line": "avatar, sentences",
2087
+ "list-item-three-line": "paragraph",
2088
+ "list-item-avatar-three-line": "avatar, paragraph",
2089
+ ossein: "ossein",
2090
+ paragraph: "text@3",
2091
+ sentences: "text@2",
2092
+ subtitle: "text",
2093
+ table: "table-heading, table-thead, table-tbody, table-tfoot",
2094
+ "table-heading": "chip, text",
2095
+ "table-thead": "heading@6",
2096
+ "table-tbody": "table-row-divider@6",
2097
+ "table-row-divider": "table-row, divider",
2098
+ "table-row": "text@6",
2099
+ "table-tfoot": "text@2, avatar@2",
2100
+ text: "text"
2101
+ };
2102
+ function Ua(e) {
2103
+ let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
2104
+ return S("div", {
2105
+ class: G(["v-skeleton-loader__bone", `v-skeleton-loader__${e}`])
2106
+ }, [t]);
2107
+ }
2108
+ function $e(e) {
2109
+ const [t, a] = e.split("@");
2110
+ return Array.from({
2111
+ length: a
2112
+ }).map(() => ge(t));
2113
+ }
2114
+ function ge(e) {
2115
+ let t = [];
2116
+ if (!e) return t;
2117
+ const a = za[e];
2118
+ if (e !== a) {
2119
+ if (e.includes(",")) return Me(e);
2120
+ if (e.includes("@")) return $e(e);
2121
+ a.includes(",") ? t = Me(a) : a.includes("@") ? t = $e(a) : a && t.push(ge(a));
2122
+ }
2123
+ return [Ua(e, t)];
2124
+ }
2125
+ function Me(e) {
2126
+ return e.replace(/\s/g, "").split(",").map(ge);
2127
+ }
2128
+ const Ja = _({
2129
+ boilerplate: Boolean,
2130
+ color: String,
2131
+ loading: Boolean,
2132
+ loadingText: {
2133
+ type: String,
2134
+ default: "$vuetify.loading"
2135
+ },
2136
+ type: {
2137
+ type: [String, Array],
2138
+ default: "ossein"
2139
+ },
2140
+ ...qt(),
2141
+ ...We(),
2142
+ ...Ie()
2143
+ }, "VSkeletonLoader"), el = $()({
2144
+ name: "VSkeletonLoader",
2145
+ inheritAttrs: !1,
2146
+ props: Ja(),
2147
+ setup(e, t) {
2148
+ let {
2149
+ attrs: a,
2150
+ slots: l
2151
+ } = t;
2152
+ const {
2153
+ backgroundColorClasses: n,
2154
+ backgroundColorStyles: r
2155
+ } = Ue(() => e.color), {
2156
+ dimensionStyles: o
2157
+ } = Yt(e), {
2158
+ elevationClasses: u
2159
+ } = Zt(e), {
2160
+ themeClasses: s
2161
+ } = ke(e), {
2162
+ t: i
2163
+ } = Z(), f = V(() => ge(z(e.type).join(",")));
2164
+ return K(() => {
2165
+ const m = !l.default || e.loading, d = e.boilerplate || !m ? {} : {
2166
+ ariaLive: "polite",
2167
+ ariaLabel: i(e.loadingText),
2168
+ role: "alert"
2169
+ };
2170
+ return m ? S("div", B({
2171
+ class: ["v-skeleton-loader", {
2172
+ "v-skeleton-loader--boilerplate": e.boilerplate
2173
+ }, s.value, n.value, u.value],
2174
+ style: [r.value, o.value]
2175
+ }, d, a), [f.value]) : S(U, null, [l.default?.()]);
2176
+ }), {};
2177
+ }
2178
+ });
2179
+ function Qa(e, t, a) {
2180
+ switch (a) {
2181
+ case ">":
2182
+ return e > t;
2183
+ case "<":
2184
+ return e < t;
2185
+ case ">=":
2186
+ return e >= t;
2187
+ case "<=":
2188
+ return e <= t;
2189
+ case "=":
2190
+ return e === t;
2191
+ default:
2192
+ throw new Error(`Invalid operator: ${a}`);
2193
+ }
2194
+ }
2195
+ function tl() {
2196
+ const { advancedFiltersState: e, hardFiltersState: t } = ta(), a = Q("table_props"), l = j(), n = V(() => {
2197
+ const r = Object.values(t.value).filter((s) => s.args).map((s) => s.args).reduce((s, i) => ({ ...s, ...i }), {}), o = { ...e.value, ...r };
2198
+ let u = l.value;
2199
+ return o && Object.keys(o).forEach((s) => {
2200
+ const i = o[s].value, f = o[s]?.comparison ?? "=";
2201
+ i && (u = u.filter((m) => {
2202
+ const d = a.headers.find((b) => (b.advancedFilter?.key ?? b.key) === s);
2203
+ let c = aa(m);
2204
+ Object.hasOwn(d, "filterReturnValue") && typeof d.filterReturnValue == "function" && (c[s] = d.filterReturnValue({
2205
+ value: m[s],
2206
+ item: m
2207
+ }));
2208
+ let y = s.split(".").reduce((b, v) => b && b[v], c);
2209
+ if (typeof y == "number")
2210
+ return Qa(y, i, f);
2211
+ if (typeof y == "string")
2212
+ return Array.isArray(i) ? i.map((b) => b.toLowerCase()).includes(y.toLowerCase()) : y?.toLowerCase().includes(i.toLowerCase());
2213
+ }));
2214
+ }), u;
2215
+ });
2216
+ return de(
2217
+ () => a.data,
2218
+ async (r, o) => {
2219
+ const u = r ?? [], s = o ?? [];
2220
+ JSON.stringify(u) !== JSON.stringify(s) && (l.value = r);
2221
+ },
2222
+ { deep: !0, immediate: !0 }
2223
+ ), { tableData: l, filteredData: n };
2224
+ }
2225
+ const al = Lt({
2226
+ props: {
2227
+ render: {
2228
+ type: [Function, Object, String, Number, Date],
2229
+ required: !0
2230
+ },
2231
+ props: {
2232
+ type: Object,
2233
+ default: () => ({})
2234
+ },
2235
+ params: {
2236
+ type: Object,
2237
+ default: () => ({})
2238
+ }
2239
+ },
2240
+ setup: (e) => () => {
2241
+ const t = { ...e.props, ...e.params };
2242
+ return typeof e.render == "function" ? e.render(t) : typeof e.render == "object" && e.render !== null ? Ot(e.render, t) : e.render;
2243
+ }
2244
+ });
2245
+ export {
2246
+ al as C,
2247
+ qa as V,
2248
+ el as a,
2249
+ Ia as b,
2250
+ da as c,
2251
+ ba as d,
2252
+ Na as e,
2253
+ Ga as f,
2254
+ ca as g,
2255
+ ha as h,
2256
+ va as i,
2257
+ wa as j,
2258
+ ia as k,
2259
+ ga as l,
2260
+ Ae as m,
2261
+ Ee as n,
2262
+ Ne as o,
2263
+ Va as p,
2264
+ Re as q,
2265
+ st as r,
2266
+ Ka as s,
2267
+ ma as t,
2268
+ tl as u
2269
+ };