@smallwebco/tinypivot-vue 1.0.34 → 1.0.36

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.
@@ -1,6 +1,6 @@
1
- import { ref as $, computed as V, watch as Te, defineComponent as et, createElementBlock as g, openBlock as d, createElementVNode as e, createCommentVNode as z, toDisplayString as S, normalizeStyle as ye, createTextVNode as ee, onMounted as kt, nextTick as ot, onUnmounted as yt, normalizeClass as J, Fragment as _, withDirectives as He, vModelText as Ie, renderList as oe, createVNode as Ke, createBlock as Kt, Teleport as Ot, withModifiers as Le, vModelSelect as Ml, unref as T, Transition as Wt, withCtx as qt, withKeys as xl, createStaticVNode as Rl } from "vue";
2
- import { useVueTable as Dl, getFilteredRowModel as Tl, getSortedRowModel as Vl, getCoreRowModel as Al } from "@tanstack/vue-table";
3
- function bt(t) {
1
+ import { ref as $, computed as A, watch as De, defineComponent as et, createElementBlock as g, openBlock as d, createElementVNode as e, createCommentVNode as z, toDisplayString as S, normalizeStyle as ke, createTextVNode as ee, onMounted as yt, nextTick as ot, onUnmounted as kt, normalizeClass as J, Fragment as _, withDirectives as He, vModelText as Ie, renderList as oe, createVNode as Ke, createBlock as Kt, Teleport as Ot, withModifiers as Le, vModelSelect as Ml, unref as D, Transition as Wt, withCtx as qt, withKeys as xl, createStaticVNode as Rl } from "vue";
2
+ import { useVueTable as Tl, getFilteredRowModel as Dl, getSortedRowModel as Vl, getCoreRowModel as Al } from "@tanstack/vue-table";
3
+ function dt(t) {
4
4
  return t !== null && typeof t == "object" && !Array.isArray(t) && ("min" in t || "max" in t);
5
5
  }
6
6
  function Ll(t) {
@@ -8,54 +8,54 @@ function Ll(t) {
8
8
  if (u.length === 0)
9
9
  return "string";
10
10
  const l = u.slice(0, 100);
11
- let r = 0, a = 0, s = 0;
11
+ let r = 0, a = 0, i = 0;
12
12
  for (const h of l)
13
- typeof h == "boolean" ? s++ : typeof h == "number" || !Number.isNaN(Number(h)) && h !== "" ? r++ : (h instanceof Date || !Number.isNaN(Date.parse(String(h)))) && a++;
13
+ typeof h == "boolean" ? i++ : typeof h == "number" || !Number.isNaN(Number(h)) && h !== "" ? r++ : (h instanceof Date || !Number.isNaN(Date.parse(String(h)))) && a++;
14
14
  const f = l.length * 0.8;
15
- return s >= f ? "boolean" : r >= f ? "number" : a >= f ? "date" : "string";
15
+ return i >= f ? "boolean" : r >= f ? "number" : a >= f ? "date" : "string";
16
16
  }
17
17
  function Nl(t, u) {
18
18
  const r = t.map((h) => h[u]).filter((h) => h != null && h !== "").slice(0, 100);
19
19
  let a = 0;
20
- const s = /* @__PURE__ */ new Set();
20
+ const i = /* @__PURE__ */ new Set();
21
21
  for (const h of r)
22
- s.add(String(h)), (typeof h == "number" || !Number.isNaN(Number(h)) && h !== "") && a++;
22
+ i.add(String(h)), (typeof h == "number" || !Number.isNaN(Number(h)) && h !== "") && a++;
23
23
  const f = a >= r.length * 0.8;
24
24
  return {
25
25
  field: u,
26
26
  type: f ? "number" : "string",
27
- uniqueCount: s.size,
27
+ uniqueCount: i.size,
28
28
  isNumeric: f
29
29
  };
30
30
  }
31
31
  function zl(t, u, l = 500) {
32
32
  const r = [];
33
- let a = 0, s, f;
34
- for (const w of t) {
35
- const x = w[u];
33
+ let a = 0, i, f;
34
+ for (const b of t) {
35
+ const x = b[u];
36
36
  if (x == null || x === "")
37
37
  a++;
38
38
  else {
39
39
  r.push(x);
40
40
  const U = typeof x == "number" ? x : Number.parseFloat(String(x));
41
- Number.isNaN(U) || ((s === void 0 || U < s) && (s = U), (f === void 0 || U > f) && (f = U));
41
+ Number.isNaN(U) || ((i === void 0 || U < i) && (i = U), (f === void 0 || U > f) && (f = U));
42
42
  }
43
43
  }
44
44
  const h = /* @__PURE__ */ new Set();
45
- for (const w of r)
46
- if (h.add(String(w)), h.size >= l)
45
+ for (const b of r)
46
+ if (h.add(String(b)), h.size >= l)
47
47
  break;
48
- const y = Array.from(h).sort((w, x) => {
49
- const U = Number.parseFloat(w), R = Number.parseFloat(x);
50
- return !Number.isNaN(U) && !Number.isNaN(R) ? U - R : w.localeCompare(x);
48
+ const k = Array.from(h).sort((b, x) => {
49
+ const U = Number.parseFloat(b), R = Number.parseFloat(x);
50
+ return !Number.isNaN(U) && !Number.isNaN(R) ? U - R : b.localeCompare(x);
51
51
  }), F = Ll(r);
52
52
  return {
53
- uniqueValues: y,
53
+ uniqueValues: k,
54
54
  totalCount: t.length,
55
55
  nullCount: a,
56
56
  type: F,
57
57
  // Only include min/max for numeric columns
58
- ...F === "number" && s !== void 0 && f !== void 0 ? { numericMin: s, numericMax: f } : {}
58
+ ...F === "number" && i !== void 0 && f !== void 0 ? { numericMin: i, numericMax: f } : {}
59
59
  };
60
60
  }
61
61
  function Pl(t, u) {
@@ -91,7 +91,7 @@ function El(t) {
91
91
  return u.length % 2 !== 0 ? u[l] : (u[l - 1] + u[l]) / 2;
92
92
  }
93
93
  function Bl(t) {
94
- const u = t.reduce((a, s) => a + s, 0) / t.length, r = t.map((a) => (a - u) ** 2).reduce((a, s) => a + s, 0) / t.length;
94
+ const u = t.reduce((a, i) => a + i, 0) / t.length, r = t.map((a) => (a - u) ** 2).reduce((a, i) => a + i, 0) / t.length;
95
95
  return Math.sqrt(r);
96
96
  }
97
97
  function ct(t, u, l, r, a) {
@@ -99,11 +99,11 @@ function ct(t, u, l, r, a) {
99
99
  return null;
100
100
  switch (u) {
101
101
  case "sum":
102
- return t.reduce((s, f) => s + f, 0);
102
+ return t.reduce((i, f) => i + f, 0);
103
103
  case "count":
104
104
  return t.length;
105
105
  case "avg":
106
- return t.reduce((s, f) => s + f, 0) / t.length;
106
+ return t.reduce((i, f) => i + f, 0) / t.length;
107
107
  case "min":
108
108
  return Math.min(...t);
109
109
  case "max":
@@ -115,19 +115,19 @@ function ct(t, u, l, r, a) {
115
115
  case "stdDev":
116
116
  return Bl(t);
117
117
  case "percentOfTotal": {
118
- const s = t.reduce((f, h) => f + h, 0);
119
- return l === void 0 || l === 0 ? null : s / l * 100;
118
+ const i = t.reduce((f, h) => f + h, 0);
119
+ return l === void 0 || l === 0 ? null : i / l * 100;
120
120
  }
121
121
  case "custom":
122
122
  return null;
123
123
  default:
124
- return t.reduce((s, f) => s + f, 0);
124
+ return t.reduce((i, f) => i + f, 0);
125
125
  }
126
126
  }
127
127
  function vt(t, u) {
128
128
  return t === null ? "-" : u === "count" || u === "countDistinct" ? Math.round(t).toLocaleString() : u === "percentOfTotal" ? `${t.toFixed(1)}%` : u === "stdDev" ? t.toLocaleString("en-US", { maximumFractionDigits: 2 }) : Math.abs(t) >= 1e3 ? t.toLocaleString("en-US", { maximumFractionDigits: 2 }) : t.toLocaleString("en-US", { maximumFractionDigits: 4 });
129
129
  }
130
- function dt(t, u) {
130
+ function gt(t, u) {
131
131
  return t === "custom" && u ? u : {
132
132
  sum: "Sum",
133
133
  count: "Count",
@@ -202,8 +202,8 @@ function Bt(t, u) {
202
202
  return `Unknown field: ${a}`;
203
203
  try {
204
204
  let a = t;
205
- for (const s of l) {
206
- const f = s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
205
+ for (const i of l) {
206
+ const f = i.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
207
207
  a = a.replace(new RegExp(`\\b${f}\\b`, "gi"), "1");
208
208
  }
209
209
  new Function(`return ${a}`);
@@ -217,19 +217,19 @@ function jt(t, u, l) {
217
217
  const r = Gt(t);
218
218
  let a = t;
219
219
  for (const f of r) {
220
- const h = l.find((x) => x.toLowerCase() === f.toLowerCase()) || f, y = u[h];
221
- if (y == null || y === "")
220
+ const h = l.find((x) => x.toLowerCase() === f.toLowerCase()) || f, k = u[h];
221
+ if (k == null || k === "")
222
222
  return null;
223
- const F = typeof y == "number" ? y : Number.parseFloat(String(y));
223
+ const F = typeof k == "number" ? k : Number.parseFloat(String(k));
224
224
  if (Number.isNaN(F))
225
225
  return null;
226
- const w = f.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
227
- a = a.replace(new RegExp(`\\b${w}\\b`, "gi"), String(F));
226
+ const b = f.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
227
+ a = a.replace(new RegExp(`\\b${b}\\b`, "gi"), String(F));
228
228
  }
229
229
  if (!/^[\d\s+\-*/().]+$/.test(a))
230
230
  return null;
231
- const s = new Function(`return ${a}`)();
232
- return typeof s == "number" && Number.isFinite(s) ? s : null;
231
+ const i = new Function(`return ${a}`)();
232
+ return typeof i == "number" && Number.isFinite(i) ? i : null;
233
233
  } catch {
234
234
  return null;
235
235
  }
@@ -241,90 +241,90 @@ function Kl(t, u, l, r) {
241
241
  const a = /* @__PURE__ */ new Set([
242
242
  ...u,
243
243
  ...l,
244
- ...r.map((s) => s.field)
244
+ ...r.map((i) => i.field)
245
245
  ]);
246
- return t.filter((s) => !a.has(s.field));
246
+ return t.filter((i) => !a.has(i.field));
247
247
  }
248
248
  function Xt(t) {
249
249
  return (t.rowFields.length > 0 || t.columnFields.length > 0) && t.valueFields.length > 0;
250
250
  }
251
251
  function Ol(t, u) {
252
- const { rowFields: l, columnFields: r, valueFields: a, showRowTotals: s, showColumnTotals: f, calculatedFields: h } = u;
252
+ const { rowFields: l, columnFields: r, valueFields: a, showRowTotals: i, showColumnTotals: f, calculatedFields: h } = u;
253
253
  if (!Xt(u) || t.length === 0)
254
254
  return null;
255
- const y = /* @__PURE__ */ new Map();
255
+ const k = /* @__PURE__ */ new Map();
256
256
  if (h)
257
- for (const A of h)
258
- y.set(A.id, A);
259
- const F = t.length > 0 ? Object.keys(t[0]) : [], w = /* @__PURE__ */ new Set(), x = /* @__PURE__ */ new Set(), U = /* @__PURE__ */ new Map();
260
- for (const A of t) {
261
- const M = l.length > 0 ? Pt(A, l) : "__all__", i = r.length > 0 ? Pt(A, r) : "__all__";
262
- w.add(M), x.add(i), U.has(M) || U.set(M, /* @__PURE__ */ new Map());
257
+ for (const L of h)
258
+ k.set(L.id, L);
259
+ const F = t.length > 0 ? Object.keys(t[0]) : [], b = /* @__PURE__ */ new Set(), x = /* @__PURE__ */ new Set(), U = /* @__PURE__ */ new Map();
260
+ for (const L of t) {
261
+ const M = l.length > 0 ? Pt(L, l) : "__all__", s = r.length > 0 ? Pt(L, r) : "__all__";
262
+ b.add(M), x.add(s), U.has(M) || U.set(M, /* @__PURE__ */ new Map());
263
263
  const o = U.get(M);
264
- o.has(i) || o.set(i, a.map(() => []));
265
- const c = o.get(i);
264
+ o.has(s) || o.set(s, a.map(() => []));
265
+ const c = o.get(s);
266
266
  for (let m = 0; m < a.length; m++) {
267
267
  const X = a[m];
268
268
  let G = null;
269
269
  if (X.field.startsWith("calc:")) {
270
- const Q = X.field.replace("calc:", ""), de = y.get(Q);
271
- de && (G = jt(de.formula, A, F));
270
+ const Q = X.field.replace("calc:", ""), de = k.get(Q);
271
+ de && (G = jt(de.formula, L, F));
272
272
  } else {
273
- const Q = A[X.field];
273
+ const Q = L[X.field];
274
274
  Q != null && Q !== "" && (G = typeof Q == "number" ? Q : Number.parseFloat(String(Q)), Number.isNaN(G) && (G = X.aggregation === "count" || X.aggregation === "countDistinct" ? 1 : null));
275
275
  }
276
276
  G !== null && c[m].push(G);
277
277
  }
278
278
  }
279
- const R = Array.from(w).sort(), C = Array.from(x).sort(), P = a.map((A, M) => {
280
- let i = 0;
279
+ const R = Array.from(b).sort(), y = Array.from(x).sort(), P = a.map((L, M) => {
280
+ let s = 0;
281
281
  for (const o of t) {
282
282
  let c = null;
283
- if (A.field.startsWith("calc:")) {
284
- const m = A.field.replace("calc:", ""), X = y.get(m);
283
+ if (L.field.startsWith("calc:")) {
284
+ const m = L.field.replace("calc:", ""), X = k.get(m);
285
285
  X && (c = jt(X.formula, o, F));
286
286
  } else {
287
- const m = o[A.field];
287
+ const m = o[L.field];
288
288
  m != null && m !== "" && (c = typeof m == "number" ? m : Number.parseFloat(String(m)), Number.isNaN(c) && (c = null));
289
289
  }
290
- c !== null && (i += c);
290
+ c !== null && (s += c);
291
291
  }
292
- return i;
292
+ return s;
293
293
  });
294
- function Z(A) {
295
- if (A.field.startsWith("calc:")) {
296
- const M = A.field.replace("calc:", ""), i = y.get(M);
297
- return `${(i == null ? void 0 : i.name) || A.field} (${dt(A.aggregation)})`;
294
+ function Z(L) {
295
+ if (L.field.startsWith("calc:")) {
296
+ const M = L.field.replace("calc:", ""), s = k.get(M);
297
+ return `${(s == null ? void 0 : s.name) || L.field} (${gt(L.aggregation)})`;
298
298
  }
299
- return `${A.label || A.field} (${dt(A.aggregation)})`;
299
+ return `${L.label || L.field} (${gt(L.aggregation)})`;
300
300
  }
301
301
  const W = [];
302
302
  if (r.length > 0) {
303
- const A = a.length > 1 ? a.length : 1;
303
+ const L = a.length > 1 ? a.length : 1;
304
304
  for (let M = 0; M < r.length; M++) {
305
- const i = [];
306
- for (const o of C) {
305
+ const s = [];
306
+ for (const o of y) {
307
307
  const c = Et(o);
308
- for (let m = 0; m < A; m++)
309
- i.push(c[M] || "");
308
+ for (let m = 0; m < L; m++)
309
+ s.push(c[M] || "");
310
310
  }
311
- W.push(i);
311
+ W.push(s);
312
312
  }
313
313
  }
314
314
  if (a.length > 1 || W.length === 0) {
315
- const A = [];
316
- for (const M of C)
317
- for (const i of a)
318
- A.push(Z(i));
319
- C.length === 1 && C[0] === "__all__" ? W.push(a.map((M) => Z(M))) : W.push(A);
320
- }
321
- const O = R.map((A) => A === "__all__" ? ["Total"] : Et(A)), B = [], N = [], j = /* @__PURE__ */ new Map();
322
- for (const A of R) {
323
- const M = [], i = a.map(() => []);
324
- for (const o of C) {
325
- const c = U.get(A), m = (c == null ? void 0 : c.get(o)) || a.map(() => []);
315
+ const L = [];
316
+ for (const M of y)
317
+ for (const s of a)
318
+ L.push(Z(s));
319
+ y.length === 1 && y[0] === "__all__" ? W.push(a.map((M) => Z(M))) : W.push(L);
320
+ }
321
+ const O = R.map((L) => L === "__all__" ? ["Total"] : Et(L)), B = [], N = [], j = /* @__PURE__ */ new Map();
322
+ for (const L of R) {
323
+ const M = [], s = a.map(() => []);
324
+ for (const o of y) {
325
+ const c = U.get(L), m = (c == null ? void 0 : c.get(o)) || a.map(() => []);
326
326
  for (let G = 0; G < m.length; G++)
327
- i[G].push(...m[G]);
327
+ s[G].push(...m[G]);
328
328
  j.has(o) || j.set(o, a.map(() => []));
329
329
  const X = j.get(o);
330
330
  for (let G = 0; G < m.length; G++)
@@ -333,7 +333,7 @@ function Ol(t, u) {
333
333
  const Q = a[G], de = m[G] || [], Oe = P[G], Me = ct(de, Q.aggregation, Oe);
334
334
  let me;
335
335
  if (Q.field.startsWith("calc:")) {
336
- const We = Q.field.replace("calc:", ""), he = y.get(We);
336
+ const We = Q.field.replace("calc:", ""), he = k.get(We);
337
337
  me = Ul(Me, (he == null ? void 0 : he.formatAs) || "number", (he == null ? void 0 : he.decimals) ?? 2);
338
338
  } else
339
339
  me = vt(Me, Q.aggregation);
@@ -344,9 +344,9 @@ function Ol(t, u) {
344
344
  });
345
345
  }
346
346
  }
347
- if (B.push(M), s && C.length > 1)
347
+ if (B.push(M), i && y.length > 1)
348
348
  if (a.length > 0) {
349
- const o = a[0], c = i[0] || [], m = ct(c, o.aggregation, P[0]);
349
+ const o = a[0], c = s[0] || [], m = ct(c, o.aggregation, P[0]);
350
350
  N.push({
351
351
  value: m,
352
352
  count: c.length,
@@ -357,10 +357,10 @@ function Ol(t, u) {
357
357
  }
358
358
  const q = [];
359
359
  if (f && R.length > 1)
360
- for (const A of C) {
361
- const M = j.get(A) || a.map(() => []);
362
- for (let i = 0; i < a.length; i++) {
363
- const o = a[i], c = M[i] || [], m = ct(c, o.aggregation, P[i]);
360
+ for (const L of y) {
361
+ const M = j.get(L) || a.map(() => []);
362
+ for (let s = 0; s < a.length; s++) {
363
+ const o = a[s], c = M[s] || [], m = ct(c, o.aggregation, P[s]);
364
364
  q.push({
365
365
  value: m,
366
366
  count: c.length,
@@ -369,20 +369,20 @@ function Ol(t, u) {
369
369
  }
370
370
  }
371
371
  const le = { value: null, count: 0, formattedValue: "-" };
372
- if (s && f && a.length > 0) {
373
- const A = a.map(() => []);
372
+ if (i && f && a.length > 0) {
373
+ const L = a.map(() => []);
374
374
  for (const c of R) {
375
375
  const m = U.get(c);
376
376
  if (m)
377
- for (const X of C) {
377
+ for (const X of y) {
378
378
  const G = m.get(X);
379
379
  if (G)
380
380
  for (let Q = 0; Q < G.length; Q++)
381
- A[Q].push(...G[Q]);
381
+ L[Q].push(...G[Q]);
382
382
  }
383
383
  }
384
- const M = a[0], i = A[0] || [], o = ct(i, M.aggregation, P[0]);
385
- le.value = o, le.count = i.length, le.formattedValue = vt(o, M.aggregation);
384
+ const M = a[0], s = L[0] || [], o = ct(s, M.aggregation, P[0]);
385
+ le.value = o, le.count = s.length, le.formattedValue = vt(o, M.aggregation);
386
386
  }
387
387
  return {
388
388
  headers: W,
@@ -413,7 +413,7 @@ function Gl(t) {
413
413
  }
414
414
  return null;
415
415
  }
416
- function ht(t, u) {
416
+ function wt(t, u) {
417
417
  const l = new Set(u);
418
418
  return [
419
419
  ...t.rowFields,
@@ -447,7 +447,7 @@ const Jt = {
447
447
  sessionPersistence: !1,
448
448
  noWatermark: !1
449
449
  }
450
- }, wt = {
450
+ }, Ct = {
451
451
  type: "free",
452
452
  isValid: !1,
453
453
  features: {
@@ -475,7 +475,7 @@ async function Yl(t, u, l) {
475
475
  return console.warn("[TinyPivot] License secret not configured. Call configureLicenseSecret() first."), !1;
476
476
  const a = `TP-${t}-${l}`;
477
477
  try {
478
- const s = new TextEncoder(), f = s.encode(r), h = s.encode(a), y = await crypto.subtle.importKey("raw", f, { name: "HMAC", hash: "SHA-256" }, !1, ["sign"]), F = await crypto.subtle.sign("HMAC", y, h), x = Array.from(new Uint8Array(F)).map((U) => U.toString(16).padStart(2, "0")).join("").slice(0, 12).toUpperCase();
478
+ const i = new TextEncoder(), f = i.encode(r), h = i.encode(a), k = await crypto.subtle.importKey("raw", f, { name: "HMAC", hash: "SHA-256" }, !1, ["sign"]), F = await crypto.subtle.sign("HMAC", k, h), x = Array.from(new Uint8Array(F)).map((U) => U.toString(16).padStart(2, "0")).join("").slice(0, 12).toUpperCase();
479
479
  return u === x;
480
480
  } catch {
481
481
  return !1;
@@ -486,24 +486,24 @@ async function Zl(t) {
486
486
  return Jt;
487
487
  const u = t.split("-");
488
488
  if (u.length !== 4 || u[0] !== "TP")
489
- return wt;
489
+ return Ct;
490
490
  const l = u[1], r = u[2], a = u[3];
491
491
  if (!await Yl(l, r, a))
492
- return wt;
493
- const f = Number.parseInt(a.slice(0, 4)), h = Number.parseInt(a.slice(4, 6)) - 1, y = Number.parseInt(a.slice(6, 8)), F = new Date(f, h, y);
492
+ return Ct;
493
+ const f = Number.parseInt(a.slice(0, 4)), h = Number.parseInt(a.slice(4, 6)) - 1, k = Number.parseInt(a.slice(6, 8)), F = new Date(f, h, k);
494
494
  if (F < /* @__PURE__ */ new Date())
495
- return { ...wt, expiresAt: F };
496
- let w = "free";
497
- return l === "PRO1" ? w = "pro-single" : l === "PROU" ? w = "pro-unlimited" : l === "PROT" && (w = "pro-team"), {
498
- type: w,
495
+ return { ...Ct, expiresAt: F };
496
+ let b = "free";
497
+ return l === "PRO1" ? b = "pro-single" : l === "PROU" ? b = "pro-unlimited" : l === "PROT" && (b = "pro-team"), {
498
+ type: b,
499
499
  isValid: !0,
500
500
  expiresAt: F,
501
501
  features: {
502
- pivot: w !== "free",
503
- advancedAggregations: w !== "free",
504
- percentageMode: w !== "free",
505
- sessionPersistence: w !== "free",
506
- noWatermark: w !== "free"
502
+ pivot: b !== "free",
503
+ advancedAggregations: b !== "free",
504
+ percentageMode: b !== "free",
505
+ sessionPersistence: b !== "free",
506
+ noWatermark: b !== "free"
507
507
  }
508
508
  };
509
509
  }
@@ -514,7 +514,7 @@ const Ql = "A48AA0618518D3E62F31FCFCA2DD2B86E7FE0863E2F90756FB0A960AE7A51583";
514
514
  async function Il(t) {
515
515
  try {
516
516
  const l = new TextEncoder().encode(t), r = await crypto.subtle.digest("SHA-256", l);
517
- return Array.from(new Uint8Array(r)).map((s) => s.toString(16).padStart(2, "0")).join("").toUpperCase();
517
+ return Array.from(new Uint8Array(r)).map((i) => i.toString(16).padStart(2, "0")).join("").toUpperCase();
518
518
  } catch {
519
519
  return "";
520
520
  }
@@ -545,27 +545,27 @@ function fe(t, u = ",") {
545
545
  `) ? `"${l.replace(/"/g, '""')}"` : l;
546
546
  }
547
547
  function sn(t, u, l = {}) {
548
- const { filename: r = "export.csv", includeHeaders: a = !0, delimiter: s = "," } = l, f = [];
549
- a && f.push(u.map((y) => fe(y, s)).join(s));
550
- for (const y of t) {
551
- const F = u.map((w) => fe(y[w], s));
552
- f.push(F.join(s));
548
+ const { filename: r = "export.csv", includeHeaders: a = !0, delimiter: i = "," } = l, f = [];
549
+ a && f.push(u.map((k) => fe(k, i)).join(i));
550
+ for (const k of t) {
551
+ const F = u.map((b) => fe(k[b], i));
552
+ f.push(F.join(i));
553
553
  }
554
554
  const h = f.join(`
555
555
  `);
556
556
  Qt(h, r, "text/csv;charset=utf-8;");
557
557
  }
558
558
  function rn(t, u, l, r, a = {}) {
559
- const { filename: s = "pivot-export.csv", delimiter: f = "," } = a, h = [], { headers: y, rowHeaders: F, data: w, rowTotals: x, columnTotals: U, grandTotal: R, showRowTotals: C, showColumnTotals: P } = t, Z = u.length || 1;
560
- if (y.length > 0)
561
- for (let O = 0; O < y.length; O++) {
559
+ const { filename: i = "pivot-export.csv", delimiter: f = "," } = a, h = [], { headers: k, rowHeaders: F, data: b, rowTotals: x, columnTotals: U, grandTotal: R, showRowTotals: y, showColumnTotals: P } = t, Z = u.length || 1;
560
+ if (k.length > 0)
561
+ for (let O = 0; O < k.length; O++) {
562
562
  const B = [];
563
563
  for (let N = 0; N < Z; N++)
564
- B.push(O === y.length - 1 ? fe(u[N] || "", f) : "");
565
- for (const N of y[O])
564
+ B.push(O === k.length - 1 ? fe(u[N] || "", f) : "");
565
+ for (const N of k[O])
566
566
  B.push(fe(N, f));
567
- if (C && x && x.length > 0)
568
- if (O === y.length - 1)
567
+ if (y && x && x.length > 0)
568
+ if (O === k.length - 1)
569
569
  for (const N of r)
570
570
  B.push(fe(`Total (${N.aggregation})`, f));
571
571
  else
@@ -579,16 +579,16 @@ function rn(t, u, l, r, a = {}) {
579
579
  O.push(fe(u[B] || "", f));
580
580
  for (const B of r)
581
581
  O.push(fe(`${B.field} (${B.aggregation})`, f));
582
- C && x && x.length > 0 && O.push(fe("Total", f)), h.push(O.join(f));
582
+ y && x && x.length > 0 && O.push(fe("Total", f)), h.push(O.join(f));
583
583
  }
584
584
  for (let O = 0; O < F.length; O++) {
585
585
  const B = [], N = F[O] || [];
586
586
  for (let q = 0; q < Z; q++)
587
587
  B.push(fe(N[q] || "", f));
588
- const j = w[O] || [];
588
+ const j = b[O] || [];
589
589
  for (const q of j)
590
590
  B.push(fe((q == null ? void 0 : q.formattedValue) || "", f));
591
- C && x && x[O] && B.push(fe(x[O].formattedValue || "", f)), h.push(B.join(f));
591
+ y && x && x[O] && B.push(fe(x[O].formattedValue || "", f)), h.push(B.join(f));
592
592
  }
593
593
  if (P && U && U.length > 0) {
594
594
  const O = [];
@@ -597,48 +597,48 @@ function rn(t, u, l, r, a = {}) {
597
597
  O.push("");
598
598
  for (const B of U)
599
599
  O.push(fe((B == null ? void 0 : B.formattedValue) || "", f));
600
- C && R && O.push(fe(R.formattedValue || "", f)), h.push(O.join(f));
600
+ y && R && O.push(fe(R.formattedValue || "", f)), h.push(O.join(f));
601
601
  }
602
602
  const W = h.join(`
603
603
  `);
604
- Qt(W, s, "text/csv;charset=utf-8;");
604
+ Qt(W, i, "text/csv;charset=utf-8;");
605
605
  }
606
606
  function Qt(t, u, l) {
607
- const r = new Blob([t], { type: l }), a = URL.createObjectURL(r), s = document.createElement("a");
608
- s.href = a, s.download = u, s.style.display = "none", document.body.appendChild(s), s.click(), document.body.removeChild(s), URL.revokeObjectURL(a);
607
+ const r = new Blob([t], { type: l }), a = URL.createObjectURL(r), i = document.createElement("a");
608
+ i.href = a, i.download = u, i.style.display = "none", document.body.appendChild(i), i.click(), document.body.removeChild(i), URL.revokeObjectURL(a);
609
609
  }
610
610
  function un(t, u, l) {
611
611
  navigator.clipboard.writeText(t).then(u).catch(l);
612
612
  }
613
613
  function cn(t, u, l) {
614
- const { minRow: r, maxRow: a, minCol: s, maxCol: f } = l, h = [];
615
- for (let y = r; y <= a; y++) {
616
- const F = t[y];
614
+ const { minRow: r, maxRow: a, minCol: i, maxCol: f } = l, h = [];
615
+ for (let k = r; k <= a; k++) {
616
+ const F = t[k];
617
617
  if (!F)
618
618
  continue;
619
- const w = [];
620
- for (let x = s; x <= f; x++) {
619
+ const b = [];
620
+ for (let x = i; x <= f; x++) {
621
621
  const U = u[x];
622
622
  if (!U)
623
623
  continue;
624
624
  const R = F[U];
625
- w.push(R == null ? "" : String(R));
625
+ b.push(R == null ? "" : String(R));
626
626
  }
627
- h.push(w.join(" "));
627
+ h.push(b.join(" "));
628
628
  }
629
629
  return h.join(`
630
630
  `);
631
631
  }
632
632
  const Ut = (t, u, l) => {
633
633
  if (!l) return !0;
634
- if (bt(l)) {
634
+ if (dt(l)) {
635
635
  const r = t.getValue(u);
636
636
  if (r == null || r === "")
637
637
  return !1;
638
638
  const a = typeof r == "number" ? r : Number.parseFloat(String(r));
639
639
  if (Number.isNaN(a)) return !1;
640
- const { min: s, max: f } = l;
641
- return !(s !== null && a < s || f !== null && a > f);
640
+ const { min: i, max: f } = l;
641
+ return !(i !== null && a < i || f !== null && a > f);
642
642
  }
643
643
  if (Array.isArray(l) && l.length > 0) {
644
644
  const r = t.getValue(u), a = r == null || r === "" ? "(blank)" : String(r);
@@ -647,29 +647,29 @@ const Ut = (t, u, l) => {
647
647
  return !0;
648
648
  };
649
649
  function vn(t) {
650
- const { data: u, enableSorting: l = !0, enableFiltering: r = !0 } = t, a = $([]), s = $([]), f = $({}), h = $(""), y = $({}), F = V(() => u.value.length === 0 ? [] : Object.keys(u.value[0]));
651
- function w(M) {
652
- const i = `${M}-${u.value.length}`;
653
- return y.value[i] || (y.value[i] = zl(u.value, M)), y.value[i];
650
+ const { data: u, enableSorting: l = !0, enableFiltering: r = !0 } = t, a = $([]), i = $([]), f = $({}), h = $(""), k = $({}), F = A(() => u.value.length === 0 ? [] : Object.keys(u.value[0]));
651
+ function b(M) {
652
+ const s = `${M}-${u.value.length}`;
653
+ return k.value[s] || (k.value[s] = zl(u.value, M)), k.value[s];
654
654
  }
655
655
  function x() {
656
- y.value = {};
656
+ k.value = {};
657
657
  }
658
- const U = V(() => F.value.map((M) => {
659
- const i = w(M);
658
+ const U = A(() => F.value.map((M) => {
659
+ const s = b(M);
660
660
  return {
661
661
  id: M,
662
662
  accessorKey: M,
663
663
  header: M,
664
664
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
665
- cell: (o) => Pl(o.getValue(), i.type),
665
+ cell: (o) => Pl(o.getValue(), s.type),
666
666
  filterFn: Ut,
667
667
  meta: {
668
- type: i.type,
669
- uniqueCount: i.uniqueValues.length
668
+ type: s.type,
669
+ uniqueCount: s.uniqueValues.length
670
670
  }
671
671
  };
672
- })), R = Dl({
672
+ })), R = Tl({
673
673
  get data() {
674
674
  return u.value;
675
675
  },
@@ -681,7 +681,7 @@ function vn(t) {
681
681
  return a.value;
682
682
  },
683
683
  get columnFilters() {
684
- return s.value;
684
+ return i.value;
685
685
  },
686
686
  get columnVisibility() {
687
687
  return f.value;
@@ -694,253 +694,263 @@ function vn(t) {
694
694
  a.value = typeof M == "function" ? M(a.value) : M;
695
695
  },
696
696
  onColumnFiltersChange: (M) => {
697
- s.value = typeof M == "function" ? M(s.value) : M;
697
+ i.value = typeof M == "function" ? M(i.value) : M;
698
698
  },
699
699
  getCoreRowModel: Al(),
700
700
  getSortedRowModel: l ? Vl() : void 0,
701
- getFilteredRowModel: r ? Tl() : void 0,
701
+ getFilteredRowModel: r ? Dl() : void 0,
702
702
  filterFns: {
703
703
  multiSelect: Ut
704
704
  },
705
705
  enableSorting: l,
706
706
  enableFilters: r
707
- }), C = V(() => R.getFilteredRowModel().rows.length), P = V(() => u.value.length), Z = V(() => s.value.map((M) => ({
708
- column: M.id,
709
- values: M.value
710
- })));
707
+ }), y = A(() => R.getFilteredRowModel().rows.length), P = A(() => u.value.length), Z = A(() => i.value.map((M) => {
708
+ const s = M.value;
709
+ return s && dt(s) ? {
710
+ column: M.id,
711
+ type: "range",
712
+ range: s,
713
+ values: []
714
+ } : {
715
+ column: M.id,
716
+ type: "values",
717
+ values: Array.isArray(s) ? s : [],
718
+ range: null
719
+ };
720
+ }));
711
721
  function W(M) {
712
- const i = R.getColumn(M);
713
- if (!i) return !1;
714
- const o = i.getFilterValue();
715
- return o ? bt(o) ? o.min !== null || o.max !== null : Array.isArray(o) && o.length > 0 : !1;
722
+ const s = R.getColumn(M);
723
+ if (!s) return !1;
724
+ const o = s.getFilterValue();
725
+ return o ? dt(o) ? o.min !== null || o.max !== null : Array.isArray(o) && o.length > 0 : !1;
716
726
  }
717
- function O(M, i) {
727
+ function O(M, s) {
718
728
  const o = R.getColumn(M);
719
- o && (o.setFilterValue(i.length === 0 ? void 0 : i), s.value = R.getState().columnFilters);
729
+ o && (o.setFilterValue(s.length === 0 ? void 0 : s), i.value = R.getState().columnFilters);
720
730
  }
721
- function B(M, i) {
731
+ function B(M, s) {
722
732
  const o = R.getColumn(M);
723
- o && (!i || i.min === null && i.max === null ? o.setFilterValue(void 0) : o.setFilterValue(i), s.value = R.getState().columnFilters);
733
+ o && (!s || s.min === null && s.max === null ? o.setFilterValue(void 0) : o.setFilterValue(s), i.value = R.getState().columnFilters);
724
734
  }
725
735
  function N(M) {
726
- const i = R.getColumn(M);
727
- if (!i) return null;
728
- const o = i.getFilterValue();
729
- return o && bt(o) ? o : null;
736
+ const s = R.getColumn(M);
737
+ if (!s) return null;
738
+ const o = s.getFilterValue();
739
+ return o && dt(o) ? o : null;
730
740
  }
731
741
  function j() {
732
- R.resetColumnFilters(), h.value = "", s.value = [];
742
+ R.resetColumnFilters(), h.value = "", i.value = [];
733
743
  }
734
744
  function q(M) {
735
- const i = R.getColumn(M);
736
- if (!i) return [];
737
- const o = i.getFilterValue();
745
+ const s = R.getColumn(M);
746
+ if (!s) return [];
747
+ const o = s.getFilterValue();
738
748
  return Array.isArray(o) ? o : [];
739
749
  }
740
750
  function le(M) {
741
- const i = a.value.find((o) => o.id === M);
742
- i ? i.desc ? a.value = [] : a.value = [{ id: M, desc: !0 }] : a.value = [{ id: M, desc: !1 }];
751
+ const s = a.value.find((o) => o.id === M);
752
+ s ? s.desc ? a.value = [] : a.value = [{ id: M, desc: !0 }] : a.value = [{ id: M, desc: !1 }];
743
753
  }
744
- function A(M) {
745
- const i = a.value.find((o) => o.id === M);
746
- return i ? i.desc ? "desc" : "asc" : null;
754
+ function L(M) {
755
+ const s = a.value.find((o) => o.id === M);
756
+ return s ? s.desc ? "desc" : "asc" : null;
747
757
  }
748
- return Te(u, () => {
758
+ return De(u, () => {
749
759
  x();
750
760
  }), {
751
761
  // Table instance
752
762
  table: R,
753
763
  // State
754
764
  sorting: a,
755
- columnFilters: s,
765
+ columnFilters: i,
756
766
  columnVisibility: f,
757
767
  globalFilter: h,
758
768
  columnKeys: F,
759
769
  // Computed
760
- filteredRowCount: C,
770
+ filteredRowCount: y,
761
771
  totalRowCount: P,
762
772
  activeFilters: Z,
763
773
  // Methods
764
- getColumnStats: w,
774
+ getColumnStats: b,
765
775
  clearStatsCache: x,
766
776
  hasActiveFilter: W,
767
777
  setColumnFilter: O,
768
778
  getColumnFilterValues: q,
769
779
  clearAllFilters: j,
770
780
  toggleSort: le,
771
- getSortDirection: A,
781
+ getSortDirection: L,
772
782
  // Numeric range filters
773
783
  setNumericRangeFilter: B,
774
784
  getNumericRangeFilter: N
775
785
  };
776
786
  }
777
787
  const dn = $(null), Ue = $(!1), $e = $(tn());
778
- let Ct = null;
779
- async function Zs(t) {
780
- dn.value = t, Ct = Zl(t), $e.value = await Ct, Ct = null, $e.value.isValid ? $e.value.type !== "free" && console.info(`[TinyPivot] Pro license activated (${$e.value.type})`) : console.warn("[TinyPivot] Invalid or expired license key. Running in free mode.");
781
- }
788
+ let bt = null;
782
789
  async function Js(t) {
790
+ dn.value = t, bt = Zl(t), $e.value = await bt, bt = null, $e.value.isValid ? $e.value.type !== "free" && console.info(`[TinyPivot] Pro license activated (${$e.value.type})`) : console.warn("[TinyPivot] Invalid or expired license key. Running in free mode.");
791
+ }
792
+ async function Qs(t) {
783
793
  const u = await en(t);
784
794
  return u ? (Ue.value = !0, $e.value = u, console.info("[TinyPivot] Demo mode enabled - all Pro features unlocked for evaluation"), !0) : (console.warn("[TinyPivot] Demo mode activation failed - invalid secret"), !1);
785
795
  }
786
- function Qs(t) {
796
+ function Is(t) {
787
797
  Jl(t);
788
798
  }
789
- function gt() {
790
- const t = V(() => Ue.value), u = V(() => Ue.value || nn($e.value)), l = V(() => Ue.value || ln($e.value)), r = V(
799
+ function pt() {
800
+ const t = A(() => Ue.value), u = A(() => Ue.value || nn($e.value)), l = A(() => Ue.value || ln($e.value)), r = A(
791
801
  () => Ue.value || $e.value.features.advancedAggregations
792
- ), a = V(
802
+ ), a = A(
793
803
  () => Ue.value || $e.value.features.percentageMode
794
- ), s = V(() => on($e.value, Ue.value));
804
+ ), i = A(() => on($e.value, Ue.value));
795
805
  function f(h) {
796
806
  return u.value ? !0 : (an(h), !1);
797
807
  }
798
808
  return {
799
- licenseInfo: V(() => $e.value),
809
+ licenseInfo: A(() => $e.value),
800
810
  isDemo: t,
801
811
  isPro: u,
802
812
  canUsePivot: l,
803
813
  canUseAdvancedAggregations: r,
804
814
  canUsePercentageMode: a,
805
- showWatermark: s,
815
+ showWatermark: i,
806
816
  requirePro: f
807
817
  };
808
818
  }
809
819
  function gn(t) {
810
- const { canUsePivot: u, requirePro: l } = gt(), r = $([]), a = $([]), s = $([]), f = $(!0), h = $(!0), y = $(Zt()), F = $(null), w = V(() => Hl(t.value)), x = V(() => Kl(
811
- w.value,
820
+ const { canUsePivot: u, requirePro: l } = pt(), r = $([]), a = $([]), i = $([]), f = $(!0), h = $(!0), k = $(Zt()), F = $(null), b = A(() => Hl(t.value)), x = A(() => Kl(
821
+ b.value,
812
822
  r.value,
813
823
  a.value,
814
- s.value
815
- )), U = V(() => Xt({
824
+ i.value
825
+ )), U = A(() => Xt({
816
826
  rowFields: r.value,
817
827
  columnFields: a.value,
818
- valueFields: s.value,
828
+ valueFields: i.value,
819
829
  showRowTotals: f.value,
820
830
  showColumnTotals: h.value
821
- })), R = V(() => !U.value || !u.value ? null : Ol(t.value, {
831
+ })), R = A(() => !U.value || !u.value ? null : Ol(t.value, {
822
832
  rowFields: r.value,
823
833
  columnFields: a.value,
824
- valueFields: s.value,
834
+ valueFields: i.value,
825
835
  showRowTotals: f.value,
826
836
  showColumnTotals: h.value,
827
- calculatedFields: y.value
837
+ calculatedFields: k.value
828
838
  }));
829
- function C(i) {
830
- l("Pivot Table - Row Fields") && (r.value.includes(i) || (r.value = [...r.value, i]));
839
+ function y(s) {
840
+ l("Pivot Table - Row Fields") && (r.value.includes(s) || (r.value = [...r.value, s]));
831
841
  }
832
- function P(i) {
833
- r.value = r.value.filter((o) => o !== i);
842
+ function P(s) {
843
+ r.value = r.value.filter((o) => o !== s);
834
844
  }
835
- function Z(i) {
836
- l("Pivot Table - Column Fields") && (a.value.includes(i) || (a.value = [...a.value, i]));
845
+ function Z(s) {
846
+ l("Pivot Table - Column Fields") && (a.value.includes(s) || (a.value = [...a.value, s]));
837
847
  }
838
- function W(i) {
839
- a.value = a.value.filter((o) => o !== i);
848
+ function W(s) {
849
+ a.value = a.value.filter((o) => o !== s);
840
850
  }
841
- function O(i, o = "sum") {
842
- l("Pivot Table - Value Fields") && (s.value.some((c) => c.field === i && c.aggregation === o) || (s.value = [...s.value, { field: i, aggregation: o }]));
851
+ function O(s, o = "sum") {
852
+ l("Pivot Table - Value Fields") && (i.value.some((c) => c.field === s && c.aggregation === o) || (i.value = [...i.value, { field: s, aggregation: o }]));
843
853
  }
844
- function B(i, o) {
845
- o ? s.value = s.value.filter(
846
- (c) => !(c.field === i && c.aggregation === o)
847
- ) : s.value = s.value.filter((c) => c.field !== i);
854
+ function B(s, o) {
855
+ o ? i.value = i.value.filter(
856
+ (c) => !(c.field === s && c.aggregation === o)
857
+ ) : i.value = i.value.filter((c) => c.field !== s);
848
858
  }
849
- function N(i, o, c) {
850
- s.value = s.value.map((m) => m.field === i && m.aggregation === o ? { ...m, aggregation: c } : m);
859
+ function N(s, o, c) {
860
+ i.value = i.value.map((m) => m.field === s && m.aggregation === o ? { ...m, aggregation: c } : m);
851
861
  }
852
862
  function j() {
853
- r.value = [], a.value = [], s.value = [];
863
+ r.value = [], a.value = [], i.value = [];
854
864
  }
855
- function q(i, o) {
856
- if (i.area === o.area) {
857
- if (i.area === "row") {
858
- const c = [...r.value], [m] = c.splice(i.index, 1);
865
+ function q(s, o) {
866
+ if (s.area === o.area) {
867
+ if (s.area === "row") {
868
+ const c = [...r.value], [m] = c.splice(s.index, 1);
859
869
  c.splice(o.index, 0, m), r.value = c;
860
- } else if (i.area === "column") {
861
- const c = [...a.value], [m] = c.splice(i.index, 1);
870
+ } else if (s.area === "column") {
871
+ const c = [...a.value], [m] = c.splice(s.index, 1);
862
872
  c.splice(o.index, 0, m), a.value = c;
863
873
  }
864
874
  }
865
875
  }
866
876
  function le() {
867
- if (!l("Pivot Table - Auto Suggest") || w.value.length === 0) return;
868
- const i = w.value.filter((c) => !c.isNumeric && c.uniqueCount < 50), o = w.value.filter((c) => c.isNumeric);
869
- i.length > 0 && o.length > 0 && (r.value = [i[0].field], s.value = [{ field: o[0].field, aggregation: "sum" }]);
870
- }
871
- function A(i) {
872
- const o = y.value.findIndex((c) => c.id === i.id);
873
- o >= 0 ? y.value = [
874
- ...y.value.slice(0, o),
875
- i,
876
- ...y.value.slice(o + 1)
877
- ] : y.value = [...y.value, i], at(y.value);
878
- }
879
- function M(i) {
880
- y.value = y.value.filter((o) => o.id !== i), s.value = s.value.filter((o) => o.field !== `calc:${i}`), at(y.value);
881
- }
882
- return Te(
877
+ if (!l("Pivot Table - Auto Suggest") || b.value.length === 0) return;
878
+ const s = b.value.filter((c) => !c.isNumeric && c.uniqueCount < 50), o = b.value.filter((c) => c.isNumeric);
879
+ s.length > 0 && o.length > 0 && (r.value = [s[0].field], i.value = [{ field: o[0].field, aggregation: "sum" }]);
880
+ }
881
+ function L(s) {
882
+ const o = k.value.findIndex((c) => c.id === s.id);
883
+ o >= 0 ? k.value = [
884
+ ...k.value.slice(0, o),
885
+ s,
886
+ ...k.value.slice(o + 1)
887
+ ] : k.value = [...k.value, s], at(k.value);
888
+ }
889
+ function M(s) {
890
+ k.value = k.value.filter((o) => o.id !== s), i.value = i.value.filter((o) => o.field !== `calc:${s}`), at(k.value);
891
+ }
892
+ return De(
883
893
  t,
884
- (i) => {
885
- if (i.length === 0) return;
886
- const o = Object.keys(i[0]), c = ql(o);
894
+ (s) => {
895
+ if (s.length === 0) return;
896
+ const o = Object.keys(s[0]), c = ql(o);
887
897
  if (c !== F.value) {
888
898
  F.value = c;
889
899
  const m = Gl(c);
890
- if (m && ht(m, o))
891
- r.value = m.rowFields, a.value = m.columnFields, s.value = m.valueFields, f.value = m.showRowTotals, h.value = m.showColumnTotals, m.calculatedFields && (y.value = m.calculatedFields);
900
+ if (m && wt(m, o))
901
+ r.value = m.rowFields, a.value = m.columnFields, i.value = m.valueFields, f.value = m.showRowTotals, h.value = m.showColumnTotals, m.calculatedFields && (k.value = m.calculatedFields);
892
902
  else {
893
903
  const X = {
894
904
  rowFields: r.value,
895
905
  columnFields: a.value,
896
- valueFields: s.value,
906
+ valueFields: i.value,
897
907
  showRowTotals: f.value,
898
908
  showColumnTotals: h.value
899
909
  };
900
- ht(X, o) || j();
910
+ wt(X, o) || j();
901
911
  }
902
912
  } else {
903
913
  const m = {
904
914
  rowFields: r.value,
905
915
  columnFields: a.value,
906
- valueFields: s.value,
916
+ valueFields: i.value,
907
917
  showRowTotals: f.value,
908
918
  showColumnTotals: h.value
909
919
  };
910
- ht(m, o) || j();
920
+ wt(m, o) || j();
911
921
  }
912
922
  },
913
923
  { immediate: !0 }
914
- ), Te(
915
- [r, a, s, f, h, y],
924
+ ), De(
925
+ [r, a, i, f, h, k],
916
926
  () => {
917
927
  if (!F.value) return;
918
- const i = {
928
+ const s = {
919
929
  rowFields: r.value,
920
930
  columnFields: a.value,
921
- valueFields: s.value,
931
+ valueFields: i.value,
922
932
  showRowTotals: f.value,
923
933
  showColumnTotals: h.value,
924
- calculatedFields: y.value
934
+ calculatedFields: k.value
925
935
  };
926
- _l(F.value, i);
936
+ _l(F.value, s);
927
937
  },
928
938
  { deep: !0 }
929
939
  ), {
930
940
  // State
931
941
  rowFields: r,
932
942
  columnFields: a,
933
- valueFields: s,
943
+ valueFields: i,
934
944
  showRowTotals: f,
935
945
  showColumnTotals: h,
936
- calculatedFields: y,
946
+ calculatedFields: k,
937
947
  // Computed
938
- availableFields: w,
948
+ availableFields: b,
939
949
  unassignedFields: x,
940
950
  isConfigured: U,
941
951
  pivotResult: R,
942
952
  // Actions
943
- addRowField: C,
953
+ addRowField: y,
944
954
  removeRowField: P,
945
955
  addColumnField: Z,
946
956
  removeColumnField: W,
@@ -950,7 +960,7 @@ function gn(t) {
950
960
  clearConfig: j,
951
961
  moveField: q,
952
962
  autoSuggestConfig: le,
953
- addCalculatedField: A,
963
+ addCalculatedField: L,
954
964
  removeCalculatedField: M
955
965
  };
956
966
  }
@@ -966,22 +976,22 @@ function mn(t, u, l) {
966
976
  function hn(t, u, l) {
967
977
  return cn(t, u, l);
968
978
  }
969
- function Is(t, u = {}) {
970
- const l = $(u.pageSize ?? 50), r = $(u.currentPage ?? 1), a = V(
979
+ function ei(t, u = {}) {
980
+ const l = $(u.pageSize ?? 50), r = $(u.currentPage ?? 1), a = A(
971
981
  () => Math.max(1, Math.ceil(t.value.length / l.value))
972
- ), s = V(() => {
973
- const C = (r.value - 1) * l.value, P = C + l.value;
974
- return t.value.slice(C, P);
975
- }), f = V(() => (r.value - 1) * l.value + 1), h = V(
982
+ ), i = A(() => {
983
+ const y = (r.value - 1) * l.value, P = y + l.value;
984
+ return t.value.slice(y, P);
985
+ }), f = A(() => (r.value - 1) * l.value + 1), h = A(
976
986
  () => Math.min(r.value * l.value, t.value.length)
977
987
  );
978
- function y(C) {
979
- r.value = Math.max(1, Math.min(C, a.value));
988
+ function k(y) {
989
+ r.value = Math.max(1, Math.min(y, a.value));
980
990
  }
981
991
  function F() {
982
992
  r.value < a.value && r.value++;
983
993
  }
984
- function w() {
994
+ function b() {
985
995
  r.value > 1 && r.value--;
986
996
  }
987
997
  function x() {
@@ -990,32 +1000,32 @@ function Is(t, u = {}) {
990
1000
  function U() {
991
1001
  r.value = a.value;
992
1002
  }
993
- function R(C) {
994
- l.value = C, r.value = 1;
1003
+ function R(y) {
1004
+ l.value = y, r.value = 1;
995
1005
  }
996
1006
  return {
997
1007
  pageSize: l,
998
1008
  currentPage: r,
999
1009
  totalPages: a,
1000
- paginatedData: s,
1010
+ paginatedData: i,
1001
1011
  startIndex: f,
1002
1012
  endIndex: h,
1003
- goToPage: y,
1013
+ goToPage: k,
1004
1014
  nextPage: F,
1005
- prevPage: w,
1015
+ prevPage: b,
1006
1016
  firstPage: x,
1007
1017
  lastPage: U,
1008
1018
  setPageSize: R
1009
1019
  };
1010
1020
  }
1011
- function ei(t, u) {
1012
- const l = $(""), r = $(!1), a = V(() => {
1021
+ function ti(t, u) {
1022
+ const l = $(""), r = $(!1), a = A(() => {
1013
1023
  if (!l.value.trim())
1014
1024
  return t.value;
1015
1025
  const f = r.value ? l.value.trim() : l.value.trim().toLowerCase();
1016
1026
  return t.value.filter((h) => {
1017
- for (const y of u.value) {
1018
- const F = h[y];
1027
+ for (const k of u.value) {
1028
+ const F = h[k];
1019
1029
  if (F == null) continue;
1020
1030
  if ((r.value ? String(F) : String(F).toLowerCase()).includes(f))
1021
1031
  return !0;
@@ -1023,19 +1033,19 @@ function ei(t, u) {
1023
1033
  return !1;
1024
1034
  });
1025
1035
  });
1026
- function s() {
1036
+ function i() {
1027
1037
  l.value = "";
1028
1038
  }
1029
1039
  return {
1030
1040
  searchTerm: l,
1031
1041
  caseSensitive: r,
1032
1042
  filteredData: a,
1033
- clearSearch: s
1043
+ clearSearch: i
1034
1044
  };
1035
1045
  }
1036
- function ti(t) {
1037
- const u = $(/* @__PURE__ */ new Set()), l = V(() => Array.from(u.value).sort((R, C) => R - C).map((R) => t.value[R]).filter(Boolean)), r = V(() => t.value.length > 0 && u.value.size === t.value.length), a = V(() => u.value.size > 0 && u.value.size < t.value.length);
1038
- function s(R) {
1046
+ function li(t) {
1047
+ const u = $(/* @__PURE__ */ new Set()), l = A(() => Array.from(u.value).sort((R, y) => R - y).map((R) => t.value[R]).filter(Boolean)), r = A(() => t.value.length > 0 && u.value.size === t.value.length), a = A(() => u.value.size > 0 && u.value.size < t.value.length);
1048
+ function i(R) {
1039
1049
  u.value.has(R) ? u.value.delete(R) : u.value.add(R), u.value = new Set(u.value);
1040
1050
  }
1041
1051
  function f(R) {
@@ -1044,20 +1054,20 @@ function ti(t) {
1044
1054
  function h(R) {
1045
1055
  u.value.delete(R), u.value = new Set(u.value);
1046
1056
  }
1047
- function y() {
1048
- u.value = new Set(t.value.map((R, C) => C));
1057
+ function k() {
1058
+ u.value = new Set(t.value.map((R, y) => y));
1049
1059
  }
1050
1060
  function F() {
1051
1061
  u.value = /* @__PURE__ */ new Set();
1052
1062
  }
1053
- function w() {
1054
- r.value ? F() : y();
1063
+ function b() {
1064
+ r.value ? F() : k();
1055
1065
  }
1056
1066
  function x(R) {
1057
1067
  return u.value.has(R);
1058
1068
  }
1059
- function U(R, C) {
1060
- const P = Math.min(R, C), Z = Math.max(R, C);
1069
+ function U(R, y) {
1070
+ const P = Math.min(R, y), Z = Math.max(R, y);
1061
1071
  for (let W = P; W <= Z; W++)
1062
1072
  u.value.add(W);
1063
1073
  u.value = new Set(u.value);
@@ -1067,30 +1077,30 @@ function ti(t) {
1067
1077
  selectedRows: l,
1068
1078
  allSelected: r,
1069
1079
  someSelected: a,
1070
- toggleRow: s,
1080
+ toggleRow: i,
1071
1081
  selectRow: f,
1072
1082
  deselectRow: h,
1073
- selectAll: y,
1083
+ selectAll: k,
1074
1084
  deselectAll: F,
1075
- toggleAll: w,
1085
+ toggleAll: b,
1076
1086
  isSelected: x,
1077
1087
  selectRange: U
1078
1088
  };
1079
1089
  }
1080
- function li(t, u = 60, l = 600) {
1081
- const r = $({ ...t.value }), a = $(!1), s = $(null);
1082
- function f(F, w) {
1083
- a.value = !0, s.value = F;
1084
- const x = w.clientX, U = r.value[F] || 150, R = (P) => {
1090
+ function ni(t, u = 60, l = 600) {
1091
+ const r = $({ ...t.value }), a = $(!1), i = $(null);
1092
+ function f(F, b) {
1093
+ a.value = !0, i.value = F;
1094
+ const x = b.clientX, U = r.value[F] || 150, R = (P) => {
1085
1095
  const Z = P.clientX - x, W = Math.max(u, Math.min(l, U + Z));
1086
1096
  r.value = {
1087
1097
  ...r.value,
1088
1098
  [F]: W
1089
1099
  };
1090
- }, C = () => {
1091
- a.value = !1, s.value = null, document.removeEventListener("mousemove", R), document.removeEventListener("mouseup", C);
1100
+ }, y = () => {
1101
+ a.value = !1, i.value = null, document.removeEventListener("mousemove", R), document.removeEventListener("mouseup", y);
1092
1102
  };
1093
- document.addEventListener("mousemove", R), document.addEventListener("mouseup", C);
1103
+ document.addEventListener("mousemove", R), document.addEventListener("mouseup", y);
1094
1104
  }
1095
1105
  function h(F) {
1096
1106
  t.value[F] && (r.value = {
@@ -1098,19 +1108,19 @@ function li(t, u = 60, l = 600) {
1098
1108
  [F]: t.value[F]
1099
1109
  });
1100
1110
  }
1101
- function y() {
1111
+ function k() {
1102
1112
  r.value = { ...t.value };
1103
1113
  }
1104
1114
  return {
1105
1115
  columnWidths: r,
1106
1116
  isResizing: a,
1107
- resizingColumn: s,
1117
+ resizingColumn: i,
1108
1118
  startResize: f,
1109
1119
  resetColumnWidth: h,
1110
- resetAllWidths: y
1120
+ resetAllWidths: k
1111
1121
  };
1112
1122
  }
1113
- const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn = { class: "vpg-range-bounds" }, kn = { class: "vpg-slider-container" }, yn = { class: "vpg-slider-track" }, Fn = ["min", "max", "step", "value"], Sn = ["min", "max", "step", "value"], $n = { class: "vpg-range-inputs" }, Mn = { class: "vpg-input-group" }, xn = ["placeholder", "value", "step"], Rn = { class: "vpg-input-group" }, Dn = ["placeholder", "value", "step"], Tn = { class: "vpg-range-actions" }, Vn = ["disabled"], An = {
1123
+ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn = { class: "vpg-range-bounds" }, yn = { class: "vpg-slider-container" }, kn = { class: "vpg-slider-track" }, Fn = ["min", "max", "step", "value"], Sn = ["min", "max", "step", "value"], $n = { class: "vpg-range-inputs" }, Mn = { class: "vpg-input-group" }, xn = ["placeholder", "value", "step"], Rn = { class: "vpg-input-group" }, Tn = ["placeholder", "value", "step"], Dn = { class: "vpg-range-actions" }, Vn = ["disabled"], An = {
1114
1124
  key: 0,
1115
1125
  class: "vpg-filter-summary"
1116
1126
  }, Ln = /* @__PURE__ */ et({
@@ -1123,49 +1133,49 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1123
1133
  emits: ["change"],
1124
1134
  setup(t, { emit: u }) {
1125
1135
  var O, B;
1126
- const l = t, r = u, a = $(((O = l.currentRange) == null ? void 0 : O.min) ?? null), s = $(((B = l.currentRange) == null ? void 0 : B.max) ?? null), f = V(() => {
1136
+ const l = t, r = u, a = $(((O = l.currentRange) == null ? void 0 : O.min) ?? null), i = $(((B = l.currentRange) == null ? void 0 : B.max) ?? null), f = A(() => {
1127
1137
  const N = l.dataMax - l.dataMin;
1128
1138
  return N === 0 ? 1 : N <= 1 ? 0.01 : N <= 10 ? 0.1 : N <= 100 ? 1 : N <= 1e3 ? 10 : Math.pow(10, Math.floor(Math.log10(N)) - 2);
1129
- }), h = (N) => N === null ? "" : Number.isInteger(N) ? N.toLocaleString() : N.toLocaleString(void 0, { maximumFractionDigits: 2 }), y = V(() => a.value !== null || s.value !== null), F = V(() => a.value === null || l.dataMax === l.dataMin ? 0 : (a.value - l.dataMin) / (l.dataMax - l.dataMin) * 100), w = V(() => s.value === null || l.dataMax === l.dataMin ? 100 : (s.value - l.dataMin) / (l.dataMax - l.dataMin) * 100);
1139
+ }), h = (N) => N === null ? "" : Number.isInteger(N) ? N.toLocaleString() : N.toLocaleString(void 0, { maximumFractionDigits: 2 }), k = A(() => a.value !== null || i.value !== null), F = A(() => a.value === null || l.dataMax === l.dataMin ? 0 : (a.value - l.dataMin) / (l.dataMax - l.dataMin) * 100), b = A(() => i.value === null || l.dataMax === l.dataMin ? 100 : (i.value - l.dataMin) / (l.dataMax - l.dataMin) * 100);
1130
1140
  function x(N) {
1131
1141
  const j = N.target, q = Number.parseFloat(j.value);
1132
- s.value !== null && q > s.value ? a.value = s.value : a.value = q;
1142
+ i.value !== null && q > i.value ? a.value = i.value : a.value = q;
1133
1143
  }
1134
1144
  function U(N) {
1135
1145
  const j = N.target, q = Number.parseFloat(j.value);
1136
- a.value !== null && q < a.value ? s.value = a.value : s.value = q;
1146
+ a.value !== null && q < a.value ? i.value = a.value : i.value = q;
1137
1147
  }
1138
1148
  function R(N) {
1139
1149
  const j = N.target, q = j.value === "" ? null : Number.parseFloat(j.value);
1140
- q !== null && !Number.isNaN(q) ? a.value = Math.max(l.dataMin, Math.min(q, s.value ?? l.dataMax)) : q === null && (a.value = null);
1150
+ q !== null && !Number.isNaN(q) ? a.value = Math.max(l.dataMin, Math.min(q, i.value ?? l.dataMax)) : q === null && (a.value = null);
1141
1151
  }
1142
- function C(N) {
1152
+ function y(N) {
1143
1153
  const j = N.target, q = j.value === "" ? null : Number.parseFloat(j.value);
1144
- q !== null && !Number.isNaN(q) ? s.value = Math.min(l.dataMax, Math.max(q, a.value ?? l.dataMin)) : q === null && (s.value = null);
1154
+ q !== null && !Number.isNaN(q) ? i.value = Math.min(l.dataMax, Math.max(q, a.value ?? l.dataMin)) : q === null && (i.value = null);
1145
1155
  }
1146
1156
  function P() {
1147
- a.value = null, s.value = null, W();
1157
+ a.value = null, i.value = null, W();
1148
1158
  }
1149
1159
  function Z() {
1150
- a.value = l.dataMin, s.value = l.dataMax, W();
1160
+ a.value = l.dataMin, i.value = l.dataMax, W();
1151
1161
  }
1152
1162
  function W() {
1153
- a.value === null && s.value === null ? r("change", null) : r("change", { min: a.value, max: s.value });
1163
+ a.value === null && i.value === null ? r("change", null) : r("change", { min: a.value, max: i.value });
1154
1164
  }
1155
- return Te(() => l.currentRange, (N) => {
1156
- a.value = (N == null ? void 0 : N.min) ?? null, s.value = (N == null ? void 0 : N.max) ?? null;
1165
+ return De(() => l.currentRange, (N) => {
1166
+ a.value = (N == null ? void 0 : N.min) ?? null, i.value = (N == null ? void 0 : N.max) ?? null;
1157
1167
  }, { immediate: !0 }), (N, j) => (d(), g("div", wn, [
1158
1168
  e("div", Cn, [
1159
1169
  j[0] || (j[0] = e("span", { class: "vpg-range-label" }, "Data range:", -1)),
1160
1170
  e("span", bn, S(h(t.dataMin)) + " – " + S(h(t.dataMax)), 1)
1161
1171
  ]),
1162
- e("div", kn, [
1163
- e("div", yn, [
1172
+ e("div", yn, [
1173
+ e("div", kn, [
1164
1174
  e("div", {
1165
1175
  class: "vpg-slider-fill",
1166
- style: ye({
1176
+ style: ke({
1167
1177
  left: `${F.value}%`,
1168
- right: `${100 - w.value}%`
1178
+ right: `${100 - b.value}%`
1169
1179
  })
1170
1180
  }, null, 4)
1171
1181
  ]),
@@ -1185,7 +1195,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1185
1195
  min: t.dataMin,
1186
1196
  max: t.dataMax,
1187
1197
  step: f.value,
1188
- value: s.value ?? t.dataMax,
1198
+ value: i.value ?? t.dataMax,
1189
1199
  onInput: U,
1190
1200
  onChange: W
1191
1201
  }, null, 40, Sn)
@@ -1210,17 +1220,17 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1210
1220
  type: "number",
1211
1221
  class: "vpg-range-input",
1212
1222
  placeholder: h(t.dataMax),
1213
- value: s.value ?? "",
1223
+ value: i.value ?? "",
1214
1224
  step: f.value,
1215
- onInput: C,
1225
+ onInput: y,
1216
1226
  onChange: W
1217
- }, null, 40, Dn)
1227
+ }, null, 40, Tn)
1218
1228
  ])
1219
1229
  ]),
1220
- e("div", Tn, [
1230
+ e("div", Dn, [
1221
1231
  e("button", {
1222
1232
  class: "vpg-range-btn",
1223
- disabled: !y.value,
1233
+ disabled: !k.value,
1224
1234
  onClick: P
1225
1235
  }, [...j[4] || (j[4] = [
1226
1236
  e("svg", {
@@ -1258,7 +1268,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1258
1268
  ee(" Full Range ", -1)
1259
1269
  ])])
1260
1270
  ]),
1261
- y.value ? (d(), g("div", An, [
1271
+ k.value ? (d(), g("div", An, [
1262
1272
  j[7] || (j[7] = e("svg", {
1263
1273
  class: "vpg-icon-xs",
1264
1274
  fill: "none",
@@ -1275,8 +1285,8 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1275
1285
  e("span", null, [
1276
1286
  j[6] || (j[6] = ee(" Showing values ", -1)),
1277
1287
  e("strong", null, S(a.value !== null ? `≥ ${h(a.value)}` : ""), 1),
1278
- ee(" " + S(a.value !== null && s.value !== null ? " and " : "") + " ", 1),
1279
- e("strong", null, S(s.value !== null ? `≤ ${h(s.value)}` : ""), 1)
1288
+ ee(" " + S(a.value !== null && i.value !== null ? " and " : "") + " ", 1),
1289
+ e("strong", null, S(i.value !== null ? `≤ ${h(i.value)}` : ""), 1)
1280
1290
  ])
1281
1291
  ])) : z("", !0)
1282
1292
  ]));
@@ -1304,35 +1314,35 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1304
1314
  },
1305
1315
  emits: ["filter", "sort", "close", "rangeFilter"],
1306
1316
  setup(t, { emit: u }) {
1307
- const l = t, r = u, a = $(""), s = $(), f = $(), h = V(() => l.stats.type === "number" && l.stats.numericMin !== void 0 && l.stats.numericMax !== void 0), y = $(l.numericRange ? "range" : "values"), F = $(l.numericRange ?? null);
1308
- V(() => {
1317
+ const l = t, r = u, a = $(""), i = $(), f = $(), h = A(() => l.stats.type === "number" && l.stats.numericMin !== void 0 && l.stats.numericMax !== void 0), k = $(l.numericRange ? "range" : "values"), F = $(l.numericRange ?? null);
1318
+ A(() => {
1309
1319
  const o = [...l.stats.uniqueValues];
1310
1320
  return l.stats.nullCount > 0 && o.unshift("(blank)"), o;
1311
1321
  });
1312
- const w = $(new Set(l.selectedValues)), x = V(() => l.stats.nullCount > 0), U = V(() => {
1322
+ const b = $(new Set(l.selectedValues)), x = A(() => l.stats.nullCount > 0), U = A(() => {
1313
1323
  const o = l.stats.uniqueValues;
1314
1324
  if (!a.value)
1315
1325
  return o;
1316
1326
  const c = a.value.toLowerCase();
1317
1327
  return o.filter((m) => m.toLowerCase().includes(c));
1318
- }), R = V(() => {
1328
+ }), R = A(() => {
1319
1329
  const o = [...U.value];
1320
1330
  return x.value && (!a.value || "(blank)".includes(a.value.toLowerCase())) && o.unshift("(blank)"), o;
1321
1331
  });
1322
- V(() => R.value.every((o) => w.value.has(o))), V(() => w.value.size === 0);
1323
- function C(o) {
1324
- w.value.has(o) ? w.value.delete(o) : w.value.add(o), w.value = new Set(w.value);
1332
+ A(() => R.value.every((o) => b.value.has(o))), A(() => b.value.size === 0);
1333
+ function y(o) {
1334
+ b.value.has(o) ? b.value.delete(o) : b.value.add(o), b.value = new Set(b.value);
1325
1335
  }
1326
1336
  function P() {
1327
1337
  for (const o of R.value)
1328
- w.value.add(o);
1329
- w.value = new Set(w.value);
1338
+ b.value.add(o);
1339
+ b.value = new Set(b.value);
1330
1340
  }
1331
1341
  function Z() {
1332
- w.value.clear(), w.value = new Set(w.value);
1342
+ b.value.clear(), b.value = new Set(b.value);
1333
1343
  }
1334
1344
  function W() {
1335
- w.value.size === 0 ? r("filter", []) : r("filter", Array.from(w.value)), r("close");
1345
+ b.value.size === 0 ? r("filter", []) : r("filter", Array.from(b.value)), r("close");
1336
1346
  }
1337
1347
  function O() {
1338
1348
  r("sort", l.sortDirection === "asc" ? null : "asc");
@@ -1341,7 +1351,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1341
1351
  r("sort", l.sortDirection === "desc" ? null : "desc");
1342
1352
  }
1343
1353
  function N() {
1344
- w.value.clear(), w.value = new Set(w.value), r("filter", []), r("close");
1354
+ b.value.clear(), b.value = new Set(b.value), r("filter", []), r("close");
1345
1355
  }
1346
1356
  function j(o) {
1347
1357
  F.value = o;
@@ -1352,29 +1362,29 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1352
1362
  function le() {
1353
1363
  F.value = null, r("rangeFilter", null), r("close");
1354
1364
  }
1355
- function A(o) {
1356
- y.value = o;
1365
+ function L(o) {
1366
+ k.value = o;
1357
1367
  }
1358
1368
  function M(o) {
1359
- s.value && !s.value.contains(o.target) && r("close");
1369
+ i.value && !i.value.contains(o.target) && r("close");
1360
1370
  }
1361
- function i(o) {
1371
+ function s(o) {
1362
1372
  o.key === "Escape" ? r("close") : o.key === "Enter" && o.ctrlKey && W();
1363
1373
  }
1364
- return kt(() => {
1374
+ return yt(() => {
1365
1375
  ot(() => {
1366
1376
  var o;
1367
1377
  (o = f.value) == null || o.focus();
1368
- }), document.addEventListener("mousedown", M), document.addEventListener("keydown", i);
1369
- }), yt(() => {
1370
- document.removeEventListener("mousedown", M), document.removeEventListener("keydown", i);
1371
- }), Te(() => l.selectedValues, (o) => {
1372
- w.value = new Set(o);
1373
- }, { immediate: !0 }), Te(() => l.numericRange, (o) => {
1374
- F.value = o ?? null, o && (y.value = "range");
1378
+ }), document.addEventListener("mousedown", M), document.addEventListener("keydown", s);
1379
+ }), kt(() => {
1380
+ document.removeEventListener("mousedown", M), document.removeEventListener("keydown", s);
1381
+ }), De(() => l.selectedValues, (o) => {
1382
+ b.value = new Set(o);
1383
+ }, { immediate: !0 }), De(() => l.numericRange, (o) => {
1384
+ F.value = o ?? null, o && (k.value = "range");
1375
1385
  }, { immediate: !0 }), (o, c) => (d(), g("div", {
1376
1386
  ref_key: "dropdownRef",
1377
- ref: s,
1387
+ ref: i,
1378
1388
  class: "vpg-filter-dropdown"
1379
1389
  }, [
1380
1390
  e("div", zn, [
@@ -1426,8 +1436,8 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1426
1436
  c[11] || (c[11] = e("div", { class: "vpg-divider" }, null, -1)),
1427
1437
  h.value ? (d(), g("div", Hn, [
1428
1438
  e("button", {
1429
- class: J(["vpg-tab-btn", { active: y.value === "values" }]),
1430
- onClick: c[0] || (c[0] = (m) => A("values"))
1439
+ class: J(["vpg-tab-btn", { active: k.value === "values" }]),
1440
+ onClick: c[0] || (c[0] = (m) => L("values"))
1431
1441
  }, [...c[6] || (c[6] = [
1432
1442
  e("svg", {
1433
1443
  class: "vpg-icon-sm",
@@ -1445,8 +1455,8 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1445
1455
  ee(" Values ", -1)
1446
1456
  ])], 2),
1447
1457
  e("button", {
1448
- class: J(["vpg-tab-btn", { active: y.value === "range" }]),
1449
- onClick: c[1] || (c[1] = (m) => A("range"))
1458
+ class: J(["vpg-tab-btn", { active: k.value === "range" }]),
1459
+ onClick: c[1] || (c[1] = (m) => L("range"))
1450
1460
  }, [...c[7] || (c[7] = [
1451
1461
  e("svg", {
1452
1462
  class: "vpg-icon-sm",
@@ -1464,7 +1474,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1464
1474
  ee(" Range ", -1)
1465
1475
  ])], 2)
1466
1476
  ])) : z("", !0),
1467
- !h.value || y.value === "values" ? (d(), g(_, { key: 1 }, [
1477
+ !h.value || k.value === "values" ? (d(), g(_, { key: 1 }, [
1468
1478
  e("div", Kn, [
1469
1479
  c[8] || (c[8] = e("svg", {
1470
1480
  class: "vpg-search-icon",
@@ -1538,13 +1548,13 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1538
1548
  e("div", On, [
1539
1549
  (d(!0), g(_, null, oe(R.value, (m) => (d(), g("label", {
1540
1550
  key: m,
1541
- class: J(["vpg-value-item", { selected: w.value.has(m) }])
1551
+ class: J(["vpg-value-item", { selected: b.value.has(m) }])
1542
1552
  }, [
1543
1553
  e("input", {
1544
1554
  type: "checkbox",
1545
- checked: w.value.has(m),
1555
+ checked: b.value.has(m),
1546
1556
  class: "vpg-value-checkbox",
1547
- onChange: (X) => C(m)
1557
+ onChange: (X) => y(m)
1548
1558
  }, null, 40, Wn),
1549
1559
  e("span", {
1550
1560
  class: J(["vpg-value-text", { "vpg-blank": m === "(blank)" }])
@@ -1603,56 +1613,56 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1603
1613
  },
1604
1614
  emits: ["close", "save"],
1605
1615
  setup(t, { emit: u }) {
1606
- const l = t, r = u, a = $(""), s = $(""), f = $("number"), h = $(2), y = $(null);
1607
- Te(() => l.show, (R) => {
1608
- R && (l.existingField ? (a.value = l.existingField.name, s.value = l.existingField.formula, f.value = l.existingField.formatAs || "number", h.value = l.existingField.decimals ?? 2) : (a.value = "", s.value = "", f.value = "number", h.value = 2), y.value = null);
1616
+ const l = t, r = u, a = $(""), i = $(""), f = $("number"), h = $(2), k = $(null);
1617
+ De(() => l.show, (R) => {
1618
+ R && (l.existingField ? (a.value = l.existingField.name, i.value = l.existingField.formula, f.value = l.existingField.formatAs || "number", h.value = l.existingField.decimals ?? 2) : (a.value = "", i.value = "", f.value = "number", h.value = 2), k.value = null);
1609
1619
  });
1610
- const F = V(() => s.value.trim() ? Bt(s.value, l.availableFields) : null);
1611
- function w(R) {
1612
- s.value.trim() && !s.value.endsWith(" ") && (s.value += " "), s.value += R;
1620
+ const F = A(() => i.value.trim() ? Bt(i.value, l.availableFields) : null);
1621
+ function b(R) {
1622
+ i.value.trim() && !i.value.endsWith(" ") && (i.value += " "), i.value += R;
1613
1623
  }
1614
1624
  function x(R) {
1615
- s.value.trim() && !s.value.endsWith(" ") && (s.value += " "), s.value += `${R} `;
1625
+ i.value.trim() && !i.value.endsWith(" ") && (i.value += " "), i.value += `${R} `;
1616
1626
  }
1617
1627
  function U() {
1618
1628
  var P;
1619
1629
  if (!a.value.trim()) {
1620
- y.value = "Name is required";
1630
+ k.value = "Name is required";
1621
1631
  return;
1622
1632
  }
1623
- const R = Bt(s.value, l.availableFields);
1633
+ const R = Bt(i.value, l.availableFields);
1624
1634
  if (R) {
1625
- y.value = R;
1635
+ k.value = R;
1626
1636
  return;
1627
1637
  }
1628
- const C = {
1638
+ const y = {
1629
1639
  id: ((P = l.existingField) == null ? void 0 : P.id) || `calc_${Date.now()}`,
1630
1640
  name: a.value.trim(),
1631
- formula: s.value.trim(),
1641
+ formula: i.value.trim(),
1632
1642
  formatAs: f.value,
1633
1643
  decimals: h.value
1634
1644
  };
1635
- r("save", C), r("close");
1645
+ r("save", y), r("close");
1636
1646
  }
1637
- return (R, C) => (d(), Kt(Ot, { to: "body" }, [
1647
+ return (R, y) => (d(), Kt(Ot, { to: "body" }, [
1638
1648
  t.show ? (d(), g("div", {
1639
1649
  key: 0,
1640
1650
  class: "vpg-modal-overlay",
1641
- onClick: C[12] || (C[12] = Le((P) => r("close"), ["self"]))
1651
+ onClick: y[12] || (y[12] = Le((P) => r("close"), ["self"]))
1642
1652
  }, [
1643
1653
  e("div", Xn, [
1644
1654
  e("div", Yn, [
1645
1655
  e("h3", null, S(t.existingField ? "Edit" : "Create") + " Calculated Field", 1),
1646
1656
  e("button", {
1647
1657
  class: "vpg-modal-close",
1648
- onClick: C[0] || (C[0] = (P) => r("close"))
1658
+ onClick: y[0] || (y[0] = (P) => r("close"))
1649
1659
  }, "×")
1650
1660
  ]),
1651
1661
  e("div", Zn, [
1652
1662
  e("div", Jn, [
1653
- C[13] || (C[13] = e("label", { class: "vpg-label" }, "Name", -1)),
1663
+ y[13] || (y[13] = e("label", { class: "vpg-label" }, "Name", -1)),
1654
1664
  He(e("input", {
1655
- "onUpdate:modelValue": C[1] || (C[1] = (P) => a.value = P),
1665
+ "onUpdate:modelValue": y[1] || (y[1] = (P) => a.value = P),
1656
1666
  type: "text",
1657
1667
  class: "vpg-input",
1658
1668
  placeholder: "e.g., Profit Margin %"
@@ -1661,64 +1671,64 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1661
1671
  ])
1662
1672
  ]),
1663
1673
  e("div", Qn, [
1664
- C[14] || (C[14] = e("label", { class: "vpg-label" }, "Formula", -1)),
1674
+ y[14] || (y[14] = e("label", { class: "vpg-label" }, "Formula", -1)),
1665
1675
  He(e("textarea", {
1666
- "onUpdate:modelValue": C[2] || (C[2] = (P) => s.value = P),
1676
+ "onUpdate:modelValue": y[2] || (y[2] = (P) => i.value = P),
1667
1677
  class: "vpg-textarea",
1668
1678
  placeholder: "e.g., revenue / units",
1669
1679
  rows: "2"
1670
1680
  }, null, 512), [
1671
- [Ie, s.value]
1681
+ [Ie, i.value]
1672
1682
  ]),
1673
- C[15] || (C[15] = e("div", { class: "vpg-formula-hint" }, "Use field names with math operators: + - * / ( )", -1)),
1683
+ y[15] || (y[15] = e("div", { class: "vpg-formula-hint" }, "Use field names with math operators: + - * / ( )", -1)),
1674
1684
  F.value ? (d(), g("div", In, S(F.value), 1)) : z("", !0)
1675
1685
  ]),
1676
1686
  e("div", eo, [
1677
- C[16] || (C[16] = e("label", { class: "vpg-label-small" }, "Operators", -1)),
1687
+ y[16] || (y[16] = e("label", { class: "vpg-label-small" }, "Operators", -1)),
1678
1688
  e("div", to, [
1679
1689
  e("button", {
1680
1690
  class: "vpg-insert-btn vpg-op-btn",
1681
- onClick: C[3] || (C[3] = (P) => x("+"))
1691
+ onClick: y[3] || (y[3] = (P) => x("+"))
1682
1692
  }, "+"),
1683
1693
  e("button", {
1684
1694
  class: "vpg-insert-btn vpg-op-btn",
1685
- onClick: C[4] || (C[4] = (P) => x("-"))
1695
+ onClick: y[4] || (y[4] = (P) => x("-"))
1686
1696
  }, "−"),
1687
1697
  e("button", {
1688
1698
  class: "vpg-insert-btn vpg-op-btn",
1689
- onClick: C[5] || (C[5] = (P) => x("*"))
1699
+ onClick: y[5] || (y[5] = (P) => x("*"))
1690
1700
  }, "×"),
1691
1701
  e("button", {
1692
1702
  class: "vpg-insert-btn vpg-op-btn",
1693
- onClick: C[6] || (C[6] = (P) => x("/"))
1703
+ onClick: y[6] || (y[6] = (P) => x("/"))
1694
1704
  }, "÷"),
1695
1705
  e("button", {
1696
1706
  class: "vpg-insert-btn vpg-op-btn",
1697
- onClick: C[7] || (C[7] = (P) => x("("))
1707
+ onClick: y[7] || (y[7] = (P) => x("("))
1698
1708
  }, "("),
1699
1709
  e("button", {
1700
1710
  class: "vpg-insert-btn vpg-op-btn",
1701
- onClick: C[8] || (C[8] = (P) => x(")"))
1711
+ onClick: y[8] || (y[8] = (P) => x(")"))
1702
1712
  }, ")")
1703
1713
  ])
1704
1714
  ]),
1705
1715
  e("div", lo, [
1706
- C[17] || (C[17] = e("label", { class: "vpg-label-small" }, "Insert Field", -1)),
1716
+ y[17] || (y[17] = e("label", { class: "vpg-label-small" }, "Insert Field", -1)),
1707
1717
  t.availableFields.length > 0 ? (d(), g("div", no, [
1708
1718
  (d(!0), g(_, null, oe(t.availableFields, (P) => (d(), g("button", {
1709
1719
  key: P,
1710
1720
  class: "vpg-insert-btn vpg-field-btn",
1711
- onClick: (Z) => w(P)
1721
+ onClick: (Z) => b(P)
1712
1722
  }, S(P), 9, oo))), 128))
1713
1723
  ])) : (d(), g("div", ao, " No numeric fields available "))
1714
1724
  ]),
1715
1725
  e("div", so, [
1716
1726
  e("div", io, [
1717
- C[19] || (C[19] = e("label", { class: "vpg-label" }, "Format As", -1)),
1727
+ y[19] || (y[19] = e("label", { class: "vpg-label" }, "Format As", -1)),
1718
1728
  He(e("select", {
1719
- "onUpdate:modelValue": C[9] || (C[9] = (P) => f.value = P),
1729
+ "onUpdate:modelValue": y[9] || (y[9] = (P) => f.value = P),
1720
1730
  class: "vpg-select"
1721
- }, [...C[18] || (C[18] = [
1731
+ }, [...y[18] || (y[18] = [
1722
1732
  e("option", { value: "number" }, "Number", -1),
1723
1733
  e("option", { value: "percent" }, "Percentage", -1),
1724
1734
  e("option", { value: "currency" }, "Currency ($)", -1)
@@ -1727,9 +1737,9 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1727
1737
  ])
1728
1738
  ]),
1729
1739
  e("div", ro, [
1730
- C[20] || (C[20] = e("label", { class: "vpg-label" }, "Decimals", -1)),
1740
+ y[20] || (y[20] = e("label", { class: "vpg-label" }, "Decimals", -1)),
1731
1741
  He(e("input", {
1732
- "onUpdate:modelValue": C[10] || (C[10] = (P) => h.value = P),
1742
+ "onUpdate:modelValue": y[10] || (y[10] = (P) => h.value = P),
1733
1743
  type: "number",
1734
1744
  class: "vpg-input",
1735
1745
  min: "0",
@@ -1744,12 +1754,12 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1744
1754
  ])
1745
1755
  ])
1746
1756
  ]),
1747
- y.value ? (d(), g("div", uo, S(y.value), 1)) : z("", !0)
1757
+ k.value ? (d(), g("div", uo, S(k.value), 1)) : z("", !0)
1748
1758
  ]),
1749
1759
  e("div", co, [
1750
1760
  e("button", {
1751
1761
  class: "vpg-btn vpg-btn-secondary",
1752
- onClick: C[11] || (C[11] = (P) => r("close"))
1762
+ onClick: y[11] || (y[11] = (P) => r("close"))
1753
1763
  }, "Cancel"),
1754
1764
  e("button", {
1755
1765
  class: "vpg-btn vpg-btn-primary",
@@ -1763,7 +1773,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1763
1773
  }), go = /* @__PURE__ */ tt(vo, [["__scopeId", "data-v-0cbcac92"]]), po = { class: "vpg-pivot-config" }, fo = { class: "vpg-config-header" }, mo = { class: "vpg-header-actions" }, ho = {
1764
1774
  key: 0,
1765
1775
  class: "vpg-assigned-section"
1766
- }, wo = { class: "vpg-assigned-list" }, Co = ["title", "onDragstart"], bo = { class: "vpg-item-main" }, ko = { class: "vpg-item-name" }, yo = { class: "vpg-item-actions" }, Fo = ["title", "onClick"], So = ["value", "onChange"], $o = ["value"], Mo = ["onClick"], xo = { class: "vpg-unassigned-section" }, Ro = { class: "vpg-section-header" }, Do = { class: "vpg-section-label" }, To = { class: "vpg-count" }, Vo = { class: "vpg-field-search" }, Ao = { class: "vpg-field-list" }, Lo = ["title", "onDragstart"], No = { class: "vpg-field-name" }, zo = ["onClick"], Po = ["onClick"], Eo = {
1776
+ }, wo = { class: "vpg-assigned-list" }, Co = ["title", "onDragstart"], bo = { class: "vpg-item-main" }, yo = { class: "vpg-item-name" }, ko = { class: "vpg-item-actions" }, Fo = ["title", "onClick"], So = ["value", "onChange"], $o = ["value"], Mo = ["onClick"], xo = { class: "vpg-unassigned-section" }, Ro = { class: "vpg-section-header" }, To = { class: "vpg-section-label" }, Do = { class: "vpg-count" }, Vo = { class: "vpg-field-search" }, Ao = { class: "vpg-field-list" }, Lo = ["title", "onDragstart"], No = { class: "vpg-field-name" }, zo = ["onClick"], Po = ["onClick"], Eo = {
1767
1777
  key: 1,
1768
1778
  class: "vpg-unique-count"
1769
1779
  }, Bo = {
@@ -1785,54 +1795,54 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1785
1795
  },
1786
1796
  emits: ["update:showRowTotals", "update:showColumnTotals", "clearConfig", "dragStart", "dragEnd", "updateAggregation", "addRowField", "removeRowField", "addColumnField", "removeColumnField", "addValueField", "removeValueField", "addCalculatedField", "removeCalculatedField", "updateCalculatedField"],
1787
1797
  setup(t, { emit: u }) {
1788
- const l = t, r = u, { isPro: a } = gt(), s = jl, f = $(!1), h = $(null), y = V(
1789
- () => l.availableFields.filter((i) => i.isNumeric).map((i) => i.field)
1798
+ const l = t, r = u, { isPro: a } = pt(), i = jl, f = $(!1), h = $(null), k = A(
1799
+ () => l.availableFields.filter((s) => s.isNumeric).map((s) => s.field)
1790
1800
  );
1791
- function F(i) {
1792
- h.value = i || null, f.value = !0;
1801
+ function F(s) {
1802
+ h.value = s || null, f.value = !0;
1793
1803
  }
1794
- function w(i) {
1795
- h.value ? r("updateCalculatedField", i) : r("addCalculatedField", i), f.value = !1, h.value = null;
1804
+ function b(s) {
1805
+ h.value ? r("updateCalculatedField", s) : r("addCalculatedField", s), f.value = !1, h.value = null;
1796
1806
  }
1797
- function x(i) {
1798
- r("update:showRowTotals", i), r("update:showColumnTotals", i);
1807
+ function x(s) {
1808
+ r("update:showRowTotals", s), r("update:showColumnTotals", s);
1799
1809
  }
1800
- const U = V(() => l.calculatedFields ? l.calculatedFields.map((i) => ({
1801
- field: `calc:${i.id}`,
1810
+ const U = A(() => l.calculatedFields ? l.calculatedFields.map((s) => ({
1811
+ field: `calc:${s.id}`,
1802
1812
  type: "number",
1803
1813
  uniqueCount: 0,
1804
1814
  isNumeric: !0,
1805
1815
  isCalculated: !0,
1806
- calcId: i.id,
1807
- calcName: i.name,
1808
- calcFormula: i.formula
1809
- })) : []), R = V(() => [
1810
- ...l.availableFields.map((i) => ({ ...i, isCalculated: !1 })),
1816
+ calcId: s.id,
1817
+ calcName: s.name,
1818
+ calcFormula: s.formula
1819
+ })) : []), R = A(() => [
1820
+ ...l.availableFields.map((s) => ({ ...s, isCalculated: !1 })),
1811
1821
  ...U.value
1812
- ]), C = V(() => {
1813
- const i = new Set(l.rowFields), o = new Set(l.columnFields), c = new Map(l.valueFields.map((m) => [m.field, m]));
1814
- return R.value.filter((m) => i.has(m.field) || o.has(m.field) || c.has(m.field)).map((m) => ({
1822
+ ]), y = A(() => {
1823
+ const s = new Set(l.rowFields), o = new Set(l.columnFields), c = new Map(l.valueFields.map((m) => [m.field, m]));
1824
+ return R.value.filter((m) => s.has(m.field) || o.has(m.field) || c.has(m.field)).map((m) => ({
1815
1825
  ...m,
1816
- assignedTo: i.has(m.field) ? "row" : o.has(m.field) ? "column" : "value",
1826
+ assignedTo: s.has(m.field) ? "row" : o.has(m.field) ? "column" : "value",
1817
1827
  valueConfig: c.get(m.field)
1818
1828
  }));
1819
- }), P = V(() => {
1820
- const i = new Set(l.rowFields), o = new Set(l.columnFields), c = new Set(l.valueFields.map((m) => m.field));
1829
+ }), P = A(() => {
1830
+ const s = new Set(l.rowFields), o = new Set(l.columnFields), c = new Set(l.valueFields.map((m) => m.field));
1821
1831
  return R.value.filter(
1822
- (m) => !i.has(m.field) && !o.has(m.field) && !c.has(m.field)
1832
+ (m) => !s.has(m.field) && !o.has(m.field) && !c.has(m.field)
1823
1833
  );
1824
- }), Z = V(() => C.value.length), W = $(""), O = V(() => {
1834
+ }), Z = A(() => y.value.length), W = $(""), O = A(() => {
1825
1835
  if (!W.value.trim())
1826
1836
  return P.value;
1827
- const i = W.value.toLowerCase().trim();
1837
+ const s = W.value.toLowerCase().trim();
1828
1838
  return P.value.filter((o) => {
1829
1839
  const c = o.field.toLowerCase(), m = o.isCalculated && o.calcName ? o.calcName.toLowerCase() : "";
1830
- return c.includes(i) || m.includes(i);
1840
+ return c.includes(s) || m.includes(s);
1831
1841
  });
1832
1842
  });
1833
- function B(i, o) {
1843
+ function B(s, o) {
1834
1844
  if (o) return "ƒ";
1835
- switch (i) {
1845
+ switch (s) {
1836
1846
  case "number":
1837
1847
  return "#";
1838
1848
  case "date":
@@ -1843,26 +1853,26 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1843
1853
  return "Aa";
1844
1854
  }
1845
1855
  }
1846
- function N(i) {
1847
- return i.isCalculated && i.calcName ? i.calcName : i.field;
1856
+ function N(s) {
1857
+ return s.isCalculated && s.calcName ? s.calcName : s.field;
1848
1858
  }
1849
- function j(i, o) {
1859
+ function j(s, o) {
1850
1860
  var c;
1851
- (c = o.dataTransfer) == null || c.setData("text/plain", i), o.dataTransfer.effectAllowed = "move", r("dragStart", i, o);
1861
+ (c = o.dataTransfer) == null || c.setData("text/plain", s), o.dataTransfer.effectAllowed = "move", r("dragStart", s, o);
1852
1862
  }
1853
1863
  function q() {
1854
1864
  r("dragEnd");
1855
1865
  }
1856
- function le(i, o, c) {
1857
- r("updateAggregation", i, o, c);
1866
+ function le(s, o, c) {
1867
+ r("updateAggregation", s, o, c);
1858
1868
  }
1859
- function A(i, o) {
1860
- o === "row" ? (r("removeRowField", i), r("addColumnField", i)) : (r("removeColumnField", i), r("addRowField", i));
1869
+ function L(s, o) {
1870
+ o === "row" ? (r("removeRowField", s), r("addColumnField", s)) : (r("removeColumnField", s), r("addRowField", s));
1861
1871
  }
1862
- function M(i, o, c) {
1863
- o === "row" ? r("removeRowField", i) : o === "column" ? r("removeColumnField", i) : c && r("removeValueField", i, c.aggregation);
1872
+ function M(s, o, c) {
1873
+ o === "row" ? r("removeRowField", s) : o === "column" ? r("removeColumnField", s) : c && r("removeValueField", s, c.aggregation);
1864
1874
  }
1865
- return (i, o) => (d(), g("div", po, [
1875
+ return (s, o) => (d(), g("div", po, [
1866
1876
  e("div", fo, [
1867
1877
  o[8] || (o[8] = e("h3", { class: "vpg-config-title" }, [
1868
1878
  e("svg", {
@@ -1906,7 +1916,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1906
1916
  Z.value > 0 ? (d(), g("div", ho, [
1907
1917
  o[10] || (o[10] = e("div", { class: "vpg-section-label" }, "Active", -1)),
1908
1918
  e("div", wo, [
1909
- (d(!0), g(_, null, oe(C.value, (c) => {
1919
+ (d(!0), g(_, null, oe(y.value, (c) => {
1910
1920
  var m;
1911
1921
  return d(), g("div", {
1912
1922
  key: c.field,
@@ -1919,15 +1929,15 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1919
1929
  e("div", bo, [
1920
1930
  e("span", {
1921
1931
  class: J(["vpg-item-badge", [c.assignedTo, { calc: c.isCalculated }]])
1922
- }, S(c.isCalculated ? "ƒ" : c.assignedTo === "row" ? "R" : c.assignedTo === "column" ? "C" : T(_t)(((m = c.valueConfig) == null ? void 0 : m.aggregation) || "sum")), 3),
1923
- e("span", ko, S(N(c)), 1)
1932
+ }, S(c.isCalculated ? "ƒ" : c.assignedTo === "row" ? "R" : c.assignedTo === "column" ? "C" : D(_t)(((m = c.valueConfig) == null ? void 0 : m.aggregation) || "sum")), 3),
1933
+ e("span", yo, S(N(c)), 1)
1924
1934
  ]),
1925
- e("div", yo, [
1935
+ e("div", ko, [
1926
1936
  c.assignedTo === "row" || c.assignedTo === "column" ? (d(), g("button", {
1927
1937
  key: 0,
1928
1938
  class: "vpg-toggle-btn",
1929
1939
  title: c.assignedTo === "row" ? "Move to Columns" : "Move to Rows",
1930
- onClick: Le((X) => A(c.field, c.assignedTo), ["stop"])
1940
+ onClick: Le((X) => L(c.field, c.assignedTo), ["stop"])
1931
1941
  }, [...o[9] || (o[9] = [
1932
1942
  e("svg", {
1933
1943
  class: "vpg-icon-xs",
@@ -1951,7 +1961,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1951
1961
  onClick: o[1] || (o[1] = Le(() => {
1952
1962
  }, ["stop"]))
1953
1963
  }, [
1954
- (d(!0), g(_, null, oe(T(s), (X) => (d(), g("option", {
1964
+ (d(!0), g(_, null, oe(D(i), (X) => (d(), g("option", {
1955
1965
  key: X.value,
1956
1966
  value: X.value
1957
1967
  }, S(X.symbol) + " " + S(X.label), 9, $o))), 128))
@@ -1968,9 +1978,9 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
1968
1978
  ])) : z("", !0),
1969
1979
  e("div", xo, [
1970
1980
  e("div", Ro, [
1971
- e("div", Do, [
1981
+ e("div", To, [
1972
1982
  o[11] || (o[11] = ee(" Available ", -1)),
1973
- e("span", To, S(P.value.length), 1)
1983
+ e("span", Do, S(P.value.length), 1)
1974
1984
  ])
1975
1985
  ]),
1976
1986
  e("div", Vo, [
@@ -2070,12 +2080,12 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2070
2080
  ]),
2071
2081
  Ke(go, {
2072
2082
  show: f.value,
2073
- "available-fields": y.value,
2083
+ "available-fields": k.value,
2074
2084
  "existing-field": h.value,
2075
2085
  onClose: o[6] || (o[6] = (c) => {
2076
2086
  f.value = !1, h.value = null;
2077
2087
  }),
2078
- onSave: w
2088
+ onSave: b
2079
2089
  }, null, 8, ["show", "available-fields", "existing-field"])
2080
2090
  ]));
2081
2091
  }
@@ -2090,55 +2100,58 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2090
2100
  class: "vpg-filter-tooltip"
2091
2101
  }, Jo = { class: "vpg-tooltip-column" }, Qo = { class: "vpg-tooltip-values" }, Io = {
2092
2102
  key: 0,
2093
- class: "vpg-tooltip-more"
2103
+ class: "vpg-tooltip-value vpg-range-value"
2094
2104
  }, ea = {
2095
2105
  key: 0,
2096
- class: "vpg-tooltip-summary"
2106
+ class: "vpg-tooltip-more"
2097
2107
  }, ta = {
2108
+ key: 0,
2109
+ class: "vpg-tooltip-summary"
2110
+ }, la = {
2098
2111
  key: 1,
2099
2112
  class: "vpg-config-summary"
2100
- }, la = { class: "vpg-summary-badge vpg-rows" }, na = { class: "vpg-summary-badge vpg-cols" }, oa = { class: "vpg-summary-badge vpg-vals" }, aa = {
2113
+ }, na = { class: "vpg-summary-badge vpg-rows" }, oa = { class: "vpg-summary-badge vpg-cols" }, aa = { class: "vpg-summary-badge vpg-vals" }, sa = {
2101
2114
  key: 2,
2102
2115
  class: "vpg-font-size-toggle"
2103
- }, sa = ["onClick"], ia = {
2116
+ }, ia = ["onClick"], ra = {
2104
2117
  key: 0,
2105
2118
  class: "vpg-pro-required"
2106
- }, ra = { class: "vpg-config-bar" }, ua = { class: "vpg-zone-chips" }, ca = ["onDragstart", "onDragover", "onDrop"], va = { class: "vpg-mini-name" }, da = ["onClick"], ga = {
2119
+ }, ua = { class: "vpg-config-bar" }, ca = { class: "vpg-zone-chips" }, va = ["onDragstart", "onDragover", "onDrop"], da = { class: "vpg-mini-name" }, ga = ["onClick"], pa = {
2107
2120
  key: 0,
2108
2121
  class: "vpg-zone-hint"
2109
- }, pa = { class: "vpg-zone-chips" }, fa = ["onDragstart", "onDragover", "onDrop"], ma = { class: "vpg-mini-name" }, ha = ["onClick"], wa = {
2122
+ }, fa = { class: "vpg-zone-chips" }, ma = ["onDragstart", "onDragover", "onDrop"], ha = { class: "vpg-mini-name" }, wa = ["onClick"], Ca = {
2110
2123
  key: 0,
2111
2124
  class: "vpg-zone-hint"
2112
- }, Ca = { class: "vpg-zone-chips" }, ba = { class: "vpg-agg-symbol" }, ka = { class: "vpg-mini-name" }, ya = ["onClick"], Fa = {
2125
+ }, ba = { class: "vpg-zone-chips" }, ya = { class: "vpg-agg-symbol" }, ka = { class: "vpg-mini-name" }, Fa = ["onClick"], Sa = {
2113
2126
  key: 0,
2114
2127
  class: "vpg-zone-hint"
2115
- }, Sa = {
2128
+ }, $a = {
2116
2129
  key: 0,
2117
2130
  class: "vpg-placeholder"
2118
- }, $a = { class: "vpg-placeholder-content" }, Ma = { class: "vpg-placeholder-text" }, xa = {
2131
+ }, Ma = { class: "vpg-placeholder-content" }, xa = { class: "vpg-placeholder-text" }, Ra = {
2119
2132
  key: 1,
2120
2133
  class: "vpg-table-container"
2121
- }, Ra = { class: "vpg-pivot-table" }, Da = ["rowspan"], Ta = { class: "vpg-header-content" }, Va = ["colspan", "onClick"], Aa = { class: "vpg-header-content" }, La = ["rowspan"], Na = ["onMousedown", "onMouseenter"], za = {
2134
+ }, Ta = { class: "vpg-pivot-table" }, Da = ["rowspan"], Va = { class: "vpg-header-content" }, Aa = ["colspan", "onClick"], La = { class: "vpg-header-content" }, Na = ["rowspan"], za = ["onMousedown", "onMouseenter"], Pa = {
2122
2135
  key: 0,
2123
2136
  class: "vpg-data-cell vpg-total-cell"
2124
- }, Pa = {
2137
+ }, Ea = {
2125
2138
  key: 0,
2126
2139
  class: "vpg-totals-row"
2127
- }, Ea = {
2140
+ }, Ba = {
2128
2141
  key: 0,
2129
2142
  class: "vpg-data-cell vpg-grand-total-cell"
2130
- }, Ba = {
2143
+ }, ja = {
2131
2144
  key: 2,
2132
2145
  class: "vpg-skeleton-footer"
2133
- }, ja = { class: "vpg-footer-info" }, Ua = {
2146
+ }, Ua = { class: "vpg-footer-info" }, Ha = {
2134
2147
  key: 0,
2135
2148
  class: "vpg-selection-stats"
2136
- }, Ha = { class: "vpg-stat" }, Ka = { class: "vpg-stat-value" }, Oa = { class: "vpg-stat" }, Wa = { class: "vpg-stat-value" }, qa = { class: "vpg-stat" }, _a = { class: "vpg-stat-value" }, Ga = {
2149
+ }, Ka = { class: "vpg-stat" }, Oa = { class: "vpg-stat-value" }, Wa = { class: "vpg-stat" }, qa = { class: "vpg-stat-value" }, _a = { class: "vpg-stat" }, Ga = { class: "vpg-stat-value" }, Xa = {
2137
2150
  key: 1,
2138
2151
  href: "https://tiny-pivot.com",
2139
2152
  target: "_blank",
2140
2153
  rel: "noopener"
2141
- }, Xa = /* @__PURE__ */ et({
2154
+ }, Ya = /* @__PURE__ */ et({
2142
2155
  __name: "PivotSkeleton",
2143
2156
  props: {
2144
2157
  rowFields: {},
@@ -2156,108 +2169,117 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2156
2169
  emits: ["addRowField", "removeRowField", "addColumnField", "removeColumnField", "addValueField", "removeValueField", "updateAggregation", "reorderRowFields", "reorderColumnFields"],
2157
2170
  setup(t, { emit: u }) {
2158
2171
  const l = t;
2159
- function r(D) {
2172
+ function r(T) {
2160
2173
  var p;
2161
- if (D.startsWith("calc:")) {
2162
- const E = D.replace("calc:", ""), b = (p = l.calculatedFields) == null ? void 0 : p.find((L) => L.id === E);
2163
- return (b == null ? void 0 : b.name) || D;
2174
+ if (T.startsWith("calc:")) {
2175
+ const E = T.replace("calc:", ""), C = (p = l.calculatedFields) == null ? void 0 : p.find((V) => V.id === E);
2176
+ return (C == null ? void 0 : C.name) || T;
2164
2177
  }
2165
- return D;
2178
+ return T;
2166
2179
  }
2167
- function a(D) {
2168
- return D.startsWith("calc:");
2180
+ function a(T) {
2181
+ return T.startsWith("calc:");
2169
2182
  }
2170
- const s = u, { showWatermark: f, canUsePivot: h, isDemo: y } = gt(), F = $(null), w = $(null), x = $(null), U = $(l.fontSize || "xs"), R = [
2183
+ const i = u, { showWatermark: f, canUsePivot: h, isDemo: k } = pt(), F = $(null), b = $(null), x = $(null), U = $(l.fontSize || "xs"), R = [
2171
2184
  { value: "xs", label: "S" },
2172
2185
  { value: "sm", label: "M" },
2173
2186
  { value: "base", label: "L" }
2174
- ], C = V(() => l.activeFilters && l.activeFilters.length > 0), P = V(() => !l.activeFilters || l.activeFilters.length === 0 ? "" : l.activeFilters.map((p) => p.column).join(", ")), Z = V(() => !l.activeFilters || l.activeFilters.length === 0 ? [] : l.activeFilters.map((D) => {
2175
- const E = D.values.slice(0, 5), b = D.values.length - 5;
2187
+ ], y = A(() => l.activeFilters && l.activeFilters.length > 0), P = A(() => !l.activeFilters || l.activeFilters.length === 0 ? "" : l.activeFilters.map((p) => p.column).join(", ")), Z = A(() => !l.activeFilters || l.activeFilters.length === 0 ? [] : l.activeFilters.map((T) => {
2188
+ if (T.isRange && T.displayText)
2189
+ return {
2190
+ column: T.column,
2191
+ displayText: T.displayText,
2192
+ isRange: !0,
2193
+ values: [],
2194
+ remaining: 0
2195
+ };
2196
+ const p = T.values || [], E = 5, C = p.slice(0, E), V = p.length - E;
2176
2197
  return {
2177
- column: D.column,
2178
- values: E,
2179
- remaining: b > 0 ? b : 0
2198
+ column: T.column,
2199
+ values: C,
2200
+ remaining: V > 0 ? V : 0,
2201
+ isRange: !1
2180
2202
  };
2181
2203
  })), W = $(!1), O = $("asc"), B = $("row");
2182
- function N(D = "row") {
2183
- B.value === D ? O.value = O.value === "asc" ? "desc" : "asc" : (B.value = D, O.value = "asc");
2204
+ function N(T = "row") {
2205
+ B.value === T ? O.value = O.value === "asc" ? "desc" : "asc" : (B.value = T, O.value = "asc");
2184
2206
  }
2185
- const j = V(() => {
2207
+ const j = A(() => {
2186
2208
  if (!l.pivotResult)
2187
2209
  return [];
2188
- const D = l.pivotResult.rowHeaders.map((b, L) => L), p = l.pivotResult.rowHeaders, E = l.pivotResult.data;
2189
- return D.sort((b, L) => {
2210
+ const T = l.pivotResult.rowHeaders.map((C, V) => V), p = l.pivotResult.rowHeaders, E = l.pivotResult.data;
2211
+ return T.sort((C, V) => {
2190
2212
  var I, te, ie, re, pe, Ce;
2191
2213
  let H;
2192
2214
  if (B.value === "row") {
2193
- const ge = ((I = p[b]) == null ? void 0 : I.join(" / ")) || "", Pe = ((te = p[L]) == null ? void 0 : te.join(" / ")) || "";
2215
+ const ge = ((I = p[C]) == null ? void 0 : I.join(" / ")) || "", Pe = ((te = p[V]) == null ? void 0 : te.join(" / ")) || "";
2194
2216
  H = ge.localeCompare(Pe, void 0, { numeric: !0, sensitivity: "base" });
2195
2217
  } else {
2196
- const ge = B.value, Pe = ((re = (ie = E[b]) == null ? void 0 : ie[ge]) == null ? void 0 : re.value) ?? null, nt = ((Ce = (pe = E[L]) == null ? void 0 : pe[ge]) == null ? void 0 : Ce.value) ?? null;
2218
+ const ge = B.value, Pe = ((re = (ie = E[C]) == null ? void 0 : ie[ge]) == null ? void 0 : re.value) ?? null, nt = ((Ce = (pe = E[V]) == null ? void 0 : pe[ge]) == null ? void 0 : Ce.value) ?? null;
2197
2219
  Pe === null && nt === null ? H = 0 : Pe === null ? H = 1 : nt === null ? H = -1 : H = Pe - nt;
2198
2220
  }
2199
2221
  return O.value === "asc" ? H : -H;
2200
- }), D;
2201
- }), q = V(() => {
2222
+ }), T;
2223
+ }), q = A(() => {
2202
2224
  if (!l.pivotResult || l.pivotResult.headers.length === 0)
2203
2225
  return [l.valueFields.map((p) => ({
2204
- label: a(p.field) ? `${r(p.field)} (${dt(p.aggregation)})` : `${p.field} (${dt(p.aggregation)})`,
2226
+ label: a(p.field) ? `${r(p.field)} (${gt(p.aggregation)})` : `${p.field} (${gt(p.aggregation)})`,
2205
2227
  colspan: 1
2206
2228
  }))];
2207
- const D = [];
2229
+ const T = [];
2208
2230
  for (let p = 0; p < l.pivotResult.headers.length; p++) {
2209
- const E = l.pivotResult.headers[p], b = [];
2210
- let L = 0;
2211
- for (; L < E.length; ) {
2212
- const H = E[L];
2231
+ const E = l.pivotResult.headers[p], C = [];
2232
+ let V = 0;
2233
+ for (; V < E.length; ) {
2234
+ const H = E[V];
2213
2235
  let I = 1;
2214
- for (; L + I < E.length && E[L + I] === H; )
2236
+ for (; V + I < E.length && E[V + I] === H; )
2215
2237
  I++;
2216
- b.push({ label: H, colspan: I }), L += I;
2238
+ C.push({ label: H, colspan: I }), V += I;
2217
2239
  }
2218
- D.push(b);
2240
+ T.push(C);
2219
2241
  }
2220
- return D;
2221
- }), le = $(null), A = $(null), M = $(null), i = $(!1), o = $(!1), c = $(""), m = V(() => !A.value || !M.value ? null : {
2222
- minRow: Math.min(A.value.row, M.value.row),
2223
- maxRow: Math.max(A.value.row, M.value.row),
2224
- minCol: Math.min(A.value.col, M.value.col),
2225
- maxCol: Math.max(A.value.col, M.value.col)
2242
+ return T;
2243
+ }), le = $(null), L = $(null), M = $(null), s = $(!1), o = $(!1), c = $(""), m = A(() => !L.value || !M.value ? null : {
2244
+ minRow: Math.min(L.value.row, M.value.row),
2245
+ maxRow: Math.max(L.value.row, M.value.row),
2246
+ minCol: Math.min(L.value.col, M.value.col),
2247
+ maxCol: Math.max(L.value.col, M.value.col)
2226
2248
  });
2227
- function X(D, p, E) {
2228
- E.preventDefault(), E.shiftKey && le.value ? M.value = { row: D, col: p } : (le.value = { row: D, col: p }, A.value = { row: D, col: p }, M.value = { row: D, col: p }, i.value = !0);
2249
+ function X(T, p, E) {
2250
+ E.preventDefault(), E.shiftKey && le.value ? M.value = { row: T, col: p } : (le.value = { row: T, col: p }, L.value = { row: T, col: p }, M.value = { row: T, col: p }, s.value = !0);
2229
2251
  }
2230
- function G(D, p) {
2231
- i.value && (M.value = { row: D, col: p });
2252
+ function G(T, p) {
2253
+ s.value && (M.value = { row: T, col: p });
2232
2254
  }
2233
2255
  function Q() {
2234
- i.value = !1;
2256
+ s.value = !1;
2235
2257
  }
2236
- function de(D, p) {
2258
+ function de(T, p) {
2237
2259
  var I, te;
2238
2260
  if (!m.value)
2239
- return ((I = le.value) == null ? void 0 : I.row) === D && ((te = le.value) == null ? void 0 : te.col) === p;
2240
- const { minRow: E, maxRow: b, minCol: L, maxCol: H } = m.value;
2241
- return D >= E && D <= b && p >= L && p <= H;
2261
+ return ((I = le.value) == null ? void 0 : I.row) === T && ((te = le.value) == null ? void 0 : te.col) === p;
2262
+ const { minRow: E, maxRow: C, minCol: V, maxCol: H } = m.value;
2263
+ return T >= E && T <= C && p >= V && p <= H;
2242
2264
  }
2243
2265
  function Oe() {
2244
2266
  var I;
2245
2267
  if (!m.value || !l.pivotResult) return;
2246
- const { minRow: D, maxRow: p, minCol: E, maxCol: b } = m.value, L = [];
2247
- for (let te = D; te <= p; te++) {
2268
+ const { minRow: T, maxRow: p, minCol: E, maxCol: C } = m.value, V = [];
2269
+ for (let te = T; te <= p; te++) {
2248
2270
  const ie = j.value[te];
2249
2271
  if (ie === void 0) continue;
2250
2272
  const re = [];
2251
- for (let pe = E; pe <= b; pe++) {
2273
+ for (let pe = E; pe <= C; pe++) {
2252
2274
  const Ce = (I = l.pivotResult.data[ie]) == null ? void 0 : I[pe];
2253
2275
  re.push((Ce == null ? void 0 : Ce.formattedValue) ?? "");
2254
2276
  }
2255
- L.push(re.join(" "));
2277
+ V.push(re.join(" "));
2256
2278
  }
2257
- const H = L.join(`
2279
+ const H = V.join(`
2258
2280
  `);
2259
2281
  navigator.clipboard.writeText(H).then(() => {
2260
- const te = (p - D + 1) * (b - E + 1);
2282
+ const te = (p - T + 1) * (C - E + 1);
2261
2283
  c.value = `Copied ${te} cell${te > 1 ? "s" : ""}`, o.value = !0, setTimeout(() => {
2262
2284
  o.value = !1;
2263
2285
  }, 2e3);
@@ -2265,109 +2287,109 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2265
2287
  console.error("Copy failed:", te);
2266
2288
  });
2267
2289
  }
2268
- function Me(D) {
2290
+ function Me(T) {
2269
2291
  if (m.value) {
2270
- if ((D.ctrlKey || D.metaKey) && D.key === "c") {
2271
- D.preventDefault(), Oe();
2292
+ if ((T.ctrlKey || T.metaKey) && T.key === "c") {
2293
+ T.preventDefault(), Oe();
2272
2294
  return;
2273
2295
  }
2274
- D.key === "Escape" && (le.value = null, A.value = null, M.value = null);
2296
+ T.key === "Escape" && (le.value = null, L.value = null, M.value = null);
2275
2297
  }
2276
2298
  }
2277
- const me = V(() => {
2299
+ const me = A(() => {
2278
2300
  var ie;
2279
2301
  if (!m.value || !l.pivotResult) return null;
2280
- const { minRow: D, maxRow: p, minCol: E, maxCol: b } = m.value, L = [];
2302
+ const { minRow: T, maxRow: p, minCol: E, maxCol: C } = m.value, V = [];
2281
2303
  let H = 0;
2282
- for (let re = D; re <= p; re++) {
2304
+ for (let re = T; re <= p; re++) {
2283
2305
  const pe = j.value[re];
2284
2306
  if (pe !== void 0)
2285
- for (let Ce = E; Ce <= b; Ce++) {
2307
+ for (let Ce = E; Ce <= C; Ce++) {
2286
2308
  const ge = (ie = l.pivotResult.data[pe]) == null ? void 0 : ie[Ce];
2287
- H++, (ge == null ? void 0 : ge.value) !== null && (ge == null ? void 0 : ge.value) !== void 0 && typeof ge.value == "number" && L.push(ge.value);
2309
+ H++, (ge == null ? void 0 : ge.value) !== null && (ge == null ? void 0 : ge.value) !== void 0 && typeof ge.value == "number" && V.push(ge.value);
2288
2310
  }
2289
2311
  }
2290
2312
  if (H <= 1) return null;
2291
- const I = L.reduce((re, pe) => re + pe, 0), te = L.length > 0 ? I / L.length : 0;
2313
+ const I = V.reduce((re, pe) => re + pe, 0), te = V.length > 0 ? I / V.length : 0;
2292
2314
  return {
2293
2315
  count: H,
2294
- numericCount: L.length,
2316
+ numericCount: V.length,
2295
2317
  sum: I,
2296
2318
  avg: te
2297
2319
  };
2298
2320
  });
2299
- function We(D) {
2300
- return Math.abs(D) >= 1e6 ? `${(D / 1e6).toFixed(2)}M` : Math.abs(D) >= 1e3 ? `${(D / 1e3).toFixed(2)}K` : D.toFixed(2);
2321
+ function We(T) {
2322
+ return Math.abs(T) >= 1e6 ? `${(T / 1e6).toFixed(2)}M` : Math.abs(T) >= 1e3 ? `${(T / 1e3).toFixed(2)}K` : T.toFixed(2);
2301
2323
  }
2302
- kt(() => {
2324
+ yt(() => {
2303
2325
  document.addEventListener("mouseup", Q), document.addEventListener("keydown", Me);
2304
- }), yt(() => {
2326
+ }), kt(() => {
2305
2327
  document.removeEventListener("mouseup", Q), document.removeEventListener("keydown", Me);
2306
2328
  });
2307
- function he(D, p) {
2308
- p.preventDefault(), p.dataTransfer.dropEffect = "move", F.value = D;
2329
+ function he(T, p) {
2330
+ p.preventDefault(), p.dataTransfer.dropEffect = "move", F.value = T;
2309
2331
  }
2310
2332
  function lt() {
2311
2333
  F.value = null;
2312
2334
  }
2313
- function Ve(D, p) {
2314
- var L;
2335
+ function Ve(T, p) {
2336
+ var V;
2315
2337
  p.preventDefault();
2316
- const E = (L = p.dataTransfer) == null ? void 0 : L.getData("text/plain");
2338
+ const E = (V = p.dataTransfer) == null ? void 0 : V.getData("text/plain");
2317
2339
  if (!E || E.startsWith("reorder:")) {
2318
2340
  F.value = null;
2319
2341
  return;
2320
2342
  }
2321
- l.rowFields.includes(E) && s("removeRowField", E), l.columnFields.includes(E) && s("removeColumnField", E);
2322
- const b = l.valueFields.find((H) => H.field === E);
2323
- switch (b && s("removeValueField", E, b.aggregation), D) {
2343
+ l.rowFields.includes(E) && i("removeRowField", E), l.columnFields.includes(E) && i("removeColumnField", E);
2344
+ const C = l.valueFields.find((H) => H.field === E);
2345
+ switch (C && i("removeValueField", E, C.aggregation), T) {
2324
2346
  case "row":
2325
- s("addRowField", E);
2347
+ i("addRowField", E);
2326
2348
  break;
2327
2349
  case "column":
2328
- s("addColumnField", E);
2350
+ i("addColumnField", E);
2329
2351
  break;
2330
2352
  case "value":
2331
- s("addValueField", E, "sum");
2353
+ i("addValueField", E, "sum");
2332
2354
  break;
2333
2355
  }
2334
2356
  F.value = null;
2335
2357
  }
2336
- function Ne(D, p, E) {
2337
- w.value = { zone: D, index: p }, E.dataTransfer.effectAllowed = "move", E.dataTransfer.setData("text/plain", `reorder:${D}:${p}`), requestAnimationFrame(() => {
2358
+ function Ne(T, p, E) {
2359
+ b.value = { zone: T, index: p }, E.dataTransfer.effectAllowed = "move", E.dataTransfer.setData("text/plain", `reorder:${T}:${p}`), requestAnimationFrame(() => {
2338
2360
  F.value = null;
2339
2361
  });
2340
2362
  }
2341
2363
  function ze() {
2342
- w.value = null, x.value = null;
2364
+ b.value = null, x.value = null;
2343
2365
  }
2344
- function qe(D, p, E) {
2345
- E.preventDefault(), w.value && w.value.zone === D && (E.dataTransfer.dropEffect = "move", x.value = { zone: D, index: p });
2366
+ function qe(T, p, E) {
2367
+ E.preventDefault(), b.value && b.value.zone === T && (E.dataTransfer.dropEffect = "move", x.value = { zone: T, index: p });
2346
2368
  }
2347
2369
  function _e() {
2348
2370
  x.value = null;
2349
2371
  }
2350
- function st(D, p, E) {
2351
- if (E.preventDefault(), E.stopPropagation(), !w.value || w.value.zone !== D)
2372
+ function st(T, p, E) {
2373
+ if (E.preventDefault(), E.stopPropagation(), !b.value || b.value.zone !== T)
2352
2374
  return;
2353
- const b = w.value.index;
2354
- if (b === p) {
2355
- w.value = null, x.value = null;
2375
+ const C = b.value.index;
2376
+ if (C === p) {
2377
+ b.value = null, x.value = null;
2356
2378
  return;
2357
2379
  }
2358
- const L = D === "row" ? [...l.rowFields] : [...l.columnFields], [H] = L.splice(b, 1);
2359
- L.splice(p, 0, H), s(D === "row" ? "reorderRowFields" : "reorderColumnFields", L), w.value = null, x.value = null;
2380
+ const V = T === "row" ? [...l.rowFields] : [...l.columnFields], [H] = V.splice(C, 1);
2381
+ V.splice(p, 0, H), i(T === "row" ? "reorderRowFields" : "reorderColumnFields", V), b.value = null, x.value = null;
2360
2382
  }
2361
- function Ge(D, p) {
2362
- var E, b;
2363
- return ((E = w.value) == null ? void 0 : E.zone) === D && ((b = w.value) == null ? void 0 : b.index) === p;
2383
+ function Ge(T, p) {
2384
+ var E, C;
2385
+ return ((E = b.value) == null ? void 0 : E.zone) === T && ((C = b.value) == null ? void 0 : C.index) === p;
2364
2386
  }
2365
- function we(D, p) {
2366
- var E, b;
2367
- return ((E = x.value) == null ? void 0 : E.zone) === D && ((b = x.value) == null ? void 0 : b.index) === p;
2387
+ function we(T, p) {
2388
+ var E, C;
2389
+ return ((E = x.value) == null ? void 0 : E.zone) === T && ((C = x.value) == null ? void 0 : C.index) === p;
2368
2390
  }
2369
2391
  const Xe = $(180), Ye = $(80);
2370
- return (D, p) => {
2392
+ return (T, p) => {
2371
2393
  var E;
2372
2394
  return d(), g("div", {
2373
2395
  class: J(["vpg-pivot-skeleton", [
@@ -2414,11 +2436,11 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2414
2436
  e("span", null, "Pivot Table")
2415
2437
  ], -1)),
2416
2438
  e("div", Go, [
2417
- C.value ? (d(), g("div", {
2439
+ y.value ? (d(), g("div", {
2418
2440
  key: 0,
2419
2441
  class: "vpg-filter-indicator",
2420
- onMouseenter: p[0] || (p[0] = (b) => W.value = !0),
2421
- onMouseleave: p[1] || (p[1] = (b) => W.value = !1)
2442
+ onMouseenter: p[0] || (p[0] = (C) => W.value = !0),
2443
+ onMouseleave: p[1] || (p[1] = (C) => W.value = !1)
2422
2444
  }, [
2423
2445
  p[12] || (p[12] = e("svg", {
2424
2446
  class: "vpg-filter-icon",
@@ -2440,134 +2462,136 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2440
2462
  ]),
2441
2463
  W.value ? (d(), g("div", Zo, [
2442
2464
  p[11] || (p[11] = e("div", { class: "vpg-tooltip-header" }, "Active Filters", -1)),
2443
- (d(!0), g(_, null, oe(Z.value, (b) => (d(), g("div", {
2444
- key: b.column,
2465
+ (d(!0), g(_, null, oe(Z.value, (C) => (d(), g("div", {
2466
+ key: C.column,
2445
2467
  class: "vpg-tooltip-filter"
2446
2468
  }, [
2447
- e("div", Jo, S(b.column), 1),
2469
+ e("div", Jo, S(C.column), 1),
2448
2470
  e("div", Qo, [
2449
- (d(!0), g(_, null, oe(b.values, (L, H) => (d(), g("span", {
2450
- key: H,
2451
- class: "vpg-tooltip-value"
2452
- }, S(L), 1))), 128)),
2453
- b.remaining > 0 ? (d(), g("span", Io, " +" + S(b.remaining) + " more ", 1)) : z("", !0)
2471
+ C.isRange ? (d(), g("span", Io, S(C.displayText), 1)) : (d(), g(_, { key: 1 }, [
2472
+ (d(!0), g(_, null, oe(C.values, (V, H) => (d(), g("span", {
2473
+ key: H,
2474
+ class: "vpg-tooltip-value"
2475
+ }, S(V), 1))), 128)),
2476
+ C.remaining > 0 ? (d(), g("span", ea, " +" + S(C.remaining) + " more ", 1)) : z("", !0)
2477
+ ], 64))
2454
2478
  ])
2455
2479
  ]))), 128)),
2456
- t.filteredRowCount !== void 0 && t.totalRowCount !== void 0 ? (d(), g("div", ea, " Showing " + S(t.filteredRowCount.toLocaleString()) + " of " + S(t.totalRowCount.toLocaleString()) + " rows ", 1)) : z("", !0)
2480
+ t.filteredRowCount !== void 0 && t.totalRowCount !== void 0 ? (d(), g("div", ta, " Showing " + S(t.filteredRowCount.toLocaleString()) + " of " + S(t.totalRowCount.toLocaleString()) + " rows ", 1)) : z("", !0)
2457
2481
  ])) : z("", !0)
2458
2482
  ], 32)) : z("", !0),
2459
- t.isConfigured ? (d(), g("div", ta, [
2460
- e("span", la, S(t.rowFields.length) + " row" + S(t.rowFields.length !== 1 ? "s" : ""), 1),
2461
- e("span", na, S(t.columnFields.length) + " col" + S(t.columnFields.length !== 1 ? "s" : ""), 1),
2462
- e("span", oa, S(t.valueFields.length) + " val" + S(t.valueFields.length !== 1 ? "s" : ""), 1)
2483
+ t.isConfigured ? (d(), g("div", la, [
2484
+ e("span", na, S(t.rowFields.length) + " row" + S(t.rowFields.length !== 1 ? "s" : ""), 1),
2485
+ e("span", oa, S(t.columnFields.length) + " col" + S(t.columnFields.length !== 1 ? "s" : ""), 1),
2486
+ e("span", aa, S(t.valueFields.length) + " val" + S(t.valueFields.length !== 1 ? "s" : ""), 1)
2463
2487
  ])) : z("", !0),
2464
- t.isConfigured && t.pivotResult ? (d(), g("div", aa, [
2465
- (d(), g(_, null, oe(R, (b) => e("button", {
2466
- key: b.value,
2467
- class: J(["vpg-font-size-btn", { active: U.value === b.value }]),
2468
- onClick: (L) => U.value = b.value
2469
- }, S(b.label), 11, sa)), 64))
2488
+ t.isConfigured && t.pivotResult ? (d(), g("div", sa, [
2489
+ (d(), g(_, null, oe(R, (C) => e("button", {
2490
+ key: C.value,
2491
+ class: J(["vpg-font-size-btn", { active: U.value === C.value }]),
2492
+ onClick: (V) => U.value = C.value
2493
+ }, S(C.label), 11, ia)), 64))
2470
2494
  ])) : z("", !0)
2471
2495
  ])
2472
2496
  ]),
2473
- T(h) ? (d(), g(_, { key: 1 }, [
2474
- e("div", ra, [
2497
+ D(h) ? (d(), g(_, { key: 1 }, [
2498
+ e("div", ua, [
2475
2499
  e("div", {
2476
2500
  class: J(["vpg-drop-zone vpg-row-zone", { "vpg-drag-over": F.value === "row" }]),
2477
- onDragover: p[2] || (p[2] = (b) => he("row", b)),
2501
+ onDragover: p[2] || (p[2] = (C) => he("row", C)),
2478
2502
  onDragleave: lt,
2479
- onDrop: p[3] || (p[3] = (b) => Ve("row", b))
2503
+ onDrop: p[3] || (p[3] = (C) => Ve("row", C))
2480
2504
  }, [
2481
2505
  p[16] || (p[16] = e("div", { class: "vpg-zone-header" }, [
2482
2506
  e("span", { class: "vpg-zone-icon vpg-row-icon" }, "↓"),
2483
2507
  e("span", { class: "vpg-zone-label" }, "Rows")
2484
2508
  ], -1)),
2485
- e("div", ua, [
2486
- (d(!0), g(_, null, oe(t.rowFields, (b, L) => (d(), g("div", {
2487
- key: b,
2509
+ e("div", ca, [
2510
+ (d(!0), g(_, null, oe(t.rowFields, (C, V) => (d(), g("div", {
2511
+ key: C,
2488
2512
  class: J(["vpg-mini-chip vpg-row-chip", {
2489
- "vpg-chip-dragging": Ge("row", L),
2490
- "vpg-chip-drop-target": we("row", L)
2513
+ "vpg-chip-dragging": Ge("row", V),
2514
+ "vpg-chip-drop-target": we("row", V)
2491
2515
  }]),
2492
2516
  draggable: "true",
2493
- onDragstart: (H) => Ne("row", L, H),
2517
+ onDragstart: (H) => Ne("row", V, H),
2494
2518
  onDragend: ze,
2495
- onDragover: (H) => qe("row", L, H),
2519
+ onDragover: (H) => qe("row", V, H),
2496
2520
  onDragleave: _e,
2497
- onDrop: (H) => st("row", L, H)
2521
+ onDrop: (H) => st("row", V, H)
2498
2522
  }, [
2499
2523
  p[15] || (p[15] = e("span", { class: "vpg-drag-handle" }, "⋮⋮", -1)),
2500
- e("span", va, S(b), 1),
2524
+ e("span", da, S(C), 1),
2501
2525
  e("button", {
2502
2526
  class: "vpg-mini-remove",
2503
- onClick: Le((H) => s("removeRowField", b), ["stop"])
2504
- }, "×", 8, da)
2505
- ], 42, ca))), 128)),
2506
- t.rowFields.length === 0 ? (d(), g("span", ga, "Drop here")) : z("", !0)
2527
+ onClick: Le((H) => i("removeRowField", C), ["stop"])
2528
+ }, "×", 8, ga)
2529
+ ], 42, va))), 128)),
2530
+ t.rowFields.length === 0 ? (d(), g("span", pa, "Drop here")) : z("", !0)
2507
2531
  ])
2508
2532
  ], 34),
2509
2533
  e("div", {
2510
2534
  class: J(["vpg-drop-zone vpg-column-zone", { "vpg-drag-over": F.value === "column" }]),
2511
- onDragover: p[4] || (p[4] = (b) => he("column", b)),
2535
+ onDragover: p[4] || (p[4] = (C) => he("column", C)),
2512
2536
  onDragleave: lt,
2513
- onDrop: p[5] || (p[5] = (b) => Ve("column", b))
2537
+ onDrop: p[5] || (p[5] = (C) => Ve("column", C))
2514
2538
  }, [
2515
2539
  p[18] || (p[18] = e("div", { class: "vpg-zone-header" }, [
2516
2540
  e("span", { class: "vpg-zone-icon vpg-column-icon" }, "→"),
2517
2541
  e("span", { class: "vpg-zone-label" }, "Columns")
2518
2542
  ], -1)),
2519
- e("div", pa, [
2520
- (d(!0), g(_, null, oe(t.columnFields, (b, L) => (d(), g("div", {
2521
- key: b,
2543
+ e("div", fa, [
2544
+ (d(!0), g(_, null, oe(t.columnFields, (C, V) => (d(), g("div", {
2545
+ key: C,
2522
2546
  class: J(["vpg-mini-chip vpg-column-chip", {
2523
- "vpg-chip-dragging": Ge("column", L),
2524
- "vpg-chip-drop-target": we("column", L)
2547
+ "vpg-chip-dragging": Ge("column", V),
2548
+ "vpg-chip-drop-target": we("column", V)
2525
2549
  }]),
2526
2550
  draggable: "true",
2527
- onDragstart: (H) => Ne("column", L, H),
2551
+ onDragstart: (H) => Ne("column", V, H),
2528
2552
  onDragend: ze,
2529
- onDragover: (H) => qe("column", L, H),
2553
+ onDragover: (H) => qe("column", V, H),
2530
2554
  onDragleave: _e,
2531
- onDrop: (H) => st("column", L, H)
2555
+ onDrop: (H) => st("column", V, H)
2532
2556
  }, [
2533
2557
  p[17] || (p[17] = e("span", { class: "vpg-drag-handle" }, "⋮⋮", -1)),
2534
- e("span", ma, S(b), 1),
2558
+ e("span", ha, S(C), 1),
2535
2559
  e("button", {
2536
2560
  class: "vpg-mini-remove",
2537
- onClick: Le((H) => s("removeColumnField", b), ["stop"])
2538
- }, "×", 8, ha)
2539
- ], 42, fa))), 128)),
2540
- t.columnFields.length === 0 ? (d(), g("span", wa, "Drop here")) : z("", !0)
2561
+ onClick: Le((H) => i("removeColumnField", C), ["stop"])
2562
+ }, "×", 8, wa)
2563
+ ], 42, ma))), 128)),
2564
+ t.columnFields.length === 0 ? (d(), g("span", Ca, "Drop here")) : z("", !0)
2541
2565
  ])
2542
2566
  ], 34),
2543
2567
  e("div", {
2544
2568
  class: J(["vpg-drop-zone vpg-value-zone", { "vpg-drag-over": F.value === "value" }]),
2545
- onDragover: p[6] || (p[6] = (b) => he("value", b)),
2569
+ onDragover: p[6] || (p[6] = (C) => he("value", C)),
2546
2570
  onDragleave: lt,
2547
- onDrop: p[7] || (p[7] = (b) => Ve("value", b))
2571
+ onDrop: p[7] || (p[7] = (C) => Ve("value", C))
2548
2572
  }, [
2549
2573
  p[19] || (p[19] = e("div", { class: "vpg-zone-header" }, [
2550
2574
  e("span", { class: "vpg-zone-icon vpg-value-icon" }, "Σ"),
2551
2575
  e("span", { class: "vpg-zone-label" }, "Values")
2552
2576
  ], -1)),
2553
- e("div", Ca, [
2554
- (d(!0), g(_, null, oe(t.valueFields, (b) => (d(), g("div", {
2555
- key: `${b.field}-${b.aggregation}`,
2556
- class: J(["vpg-mini-chip vpg-value-chip", { "vpg-calc-chip": a(b.field) }])
2577
+ e("div", ba, [
2578
+ (d(!0), g(_, null, oe(t.valueFields, (C) => (d(), g("div", {
2579
+ key: `${C.field}-${C.aggregation}`,
2580
+ class: J(["vpg-mini-chip vpg-value-chip", { "vpg-calc-chip": a(C.field) }])
2557
2581
  }, [
2558
- e("span", ba, S(a(b.field) ? "ƒ" : T(_t)(b.aggregation)), 1),
2559
- e("span", ka, S(r(b.field)), 1),
2582
+ e("span", ya, S(a(C.field) ? "ƒ" : D(_t)(C.aggregation)), 1),
2583
+ e("span", ka, S(r(C.field)), 1),
2560
2584
  e("button", {
2561
2585
  class: "vpg-mini-remove",
2562
- onClick: (L) => s("removeValueField", b.field, b.aggregation)
2563
- }, "×", 8, ya)
2586
+ onClick: (V) => i("removeValueField", C.field, C.aggregation)
2587
+ }, "×", 8, Fa)
2564
2588
  ], 2))), 128)),
2565
- t.valueFields.length === 0 ? (d(), g("span", Fa, "Drop numeric")) : z("", !0)
2589
+ t.valueFields.length === 0 ? (d(), g("span", Sa, "Drop numeric")) : z("", !0)
2566
2590
  ])
2567
2591
  ], 34)
2568
2592
  ]),
2569
- !t.isConfigured || !t.pivotResult ? (d(), g("div", Sa, [
2570
- e("div", $a, [
2593
+ !t.isConfigured || !t.pivotResult ? (d(), g("div", $a, [
2594
+ e("div", Ma, [
2571
2595
  p[28] || (p[28] = e("svg", {
2572
2596
  class: "vpg-placeholder-icon",
2573
2597
  fill: "none",
@@ -2581,7 +2605,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2581
2605
  d: "M3 10h18M3 14h18m-9-4v8m-7 0h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z"
2582
2606
  })
2583
2607
  ], -1)),
2584
- e("span", Ma, [
2608
+ e("span", xa, [
2585
2609
  t.valueFields.length === 0 ? (d(), g(_, { key: 0 }, [
2586
2610
  p[20] || (p[20] = ee(" Add a ", -1)),
2587
2611
  p[21] || (p[21] = e("strong", null, "Values", -1)),
@@ -2597,112 +2621,112 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2597
2621
  ], 64))
2598
2622
  ])
2599
2623
  ])
2600
- ])) : (d(), g("div", xa, [
2601
- e("table", Ra, [
2624
+ ])) : (d(), g("div", Ra, [
2625
+ e("table", Ta, [
2602
2626
  e("thead", null, [
2603
- (d(!0), g(_, null, oe(q.value, (b, L) => (d(), g("tr", {
2604
- key: `header-${L}`,
2627
+ (d(!0), g(_, null, oe(q.value, (C, V) => (d(), g("tr", {
2628
+ key: `header-${V}`,
2605
2629
  class: "vpg-column-header-row"
2606
2630
  }, [
2607
- L === 0 ? (d(), g("th", {
2631
+ V === 0 ? (d(), g("th", {
2608
2632
  key: 0,
2609
2633
  class: "vpg-row-header-label",
2610
2634
  rowspan: q.value.length,
2611
- style: ye({ width: `${Xe.value}px` }),
2635
+ style: ke({ width: `${Xe.value}px` }),
2612
2636
  onClick: p[8] || (p[8] = (H) => N("row"))
2613
2637
  }, [
2614
- e("div", Ta, [
2638
+ e("div", Va, [
2615
2639
  e("span", null, S(t.rowFields.join(" / ") || "Rows"), 1),
2616
2640
  e("span", {
2617
2641
  class: J(["vpg-sort-indicator", { active: B.value === "row" }])
2618
2642
  }, S(B.value === "row" ? O.value === "asc" ? "↑" : "↓" : "⇅"), 3)
2619
2643
  ])
2620
2644
  ], 12, Da)) : z("", !0),
2621
- (d(!0), g(_, null, oe(b, (H, I) => (d(), g("th", {
2645
+ (d(!0), g(_, null, oe(C, (H, I) => (d(), g("th", {
2622
2646
  key: I,
2623
2647
  class: "vpg-column-header-cell",
2624
2648
  colspan: H.colspan,
2625
- style: ye({ width: `${Ye.value * H.colspan}px` }),
2626
- onClick: (te) => L === q.value.length - 1 && N(I)
2649
+ style: ke({ width: `${Ye.value * H.colspan}px` }),
2650
+ onClick: (te) => V === q.value.length - 1 && N(I)
2627
2651
  }, [
2628
- e("div", Aa, [
2652
+ e("div", La, [
2629
2653
  e("span", null, S(H.label), 1),
2630
- L === q.value.length - 1 ? (d(), g("span", {
2654
+ V === q.value.length - 1 ? (d(), g("span", {
2631
2655
  key: 0,
2632
2656
  class: J(["vpg-sort-indicator", { active: B.value === I }])
2633
2657
  }, S(B.value === I ? O.value === "asc" ? "↑" : "↓" : "⇅"), 3)) : z("", !0)
2634
2658
  ])
2635
- ], 12, Va))), 128)),
2636
- t.pivotResult.rowTotals.length > 0 && L === 0 ? (d(), g("th", {
2659
+ ], 12, Aa))), 128)),
2660
+ t.pivotResult.rowTotals.length > 0 && V === 0 ? (d(), g("th", {
2637
2661
  key: 1,
2638
2662
  class: "vpg-total-header",
2639
2663
  rowspan: q.value.length
2640
- }, " Total ", 8, La)) : z("", !0)
2664
+ }, " Total ", 8, Na)) : z("", !0)
2641
2665
  ]))), 128))
2642
2666
  ]),
2643
2667
  e("tbody", null, [
2644
- (d(!0), g(_, null, oe(j.value, (b) => (d(), g("tr", {
2645
- key: b,
2668
+ (d(!0), g(_, null, oe(j.value, (C) => (d(), g("tr", {
2669
+ key: C,
2646
2670
  class: "vpg-data-row"
2647
2671
  }, [
2648
2672
  e("th", {
2649
2673
  class: "vpg-row-header-cell",
2650
- style: ye({ width: `${Xe.value}px` })
2674
+ style: ke({ width: `${Xe.value}px` })
2651
2675
  }, [
2652
- (d(!0), g(_, null, oe(t.pivotResult.rowHeaders[b], (L, H) => (d(), g("span", {
2676
+ (d(!0), g(_, null, oe(t.pivotResult.rowHeaders[C], (V, H) => (d(), g("span", {
2653
2677
  key: H,
2654
2678
  class: "vpg-row-value"
2655
- }, S(L), 1))), 128))
2679
+ }, S(V), 1))), 128))
2656
2680
  ], 4),
2657
- (d(!0), g(_, null, oe(t.pivotResult.data[b], (L, H) => (d(), g("td", {
2681
+ (d(!0), g(_, null, oe(t.pivotResult.data[C], (V, H) => (d(), g("td", {
2658
2682
  key: H,
2659
2683
  class: J(["vpg-data-cell", [
2660
- de(j.value.indexOf(b), H) && "selected",
2661
- L.value === null && "vpg-is-null"
2684
+ de(j.value.indexOf(C), H) && "selected",
2685
+ V.value === null && "vpg-is-null"
2662
2686
  ]]),
2663
- style: ye({ width: `${Ye.value}px` }),
2664
- onMousedown: (I) => X(j.value.indexOf(b), H, I),
2665
- onMouseenter: (I) => G(j.value.indexOf(b), H)
2666
- }, S(L.formattedValue), 47, Na))), 128)),
2667
- t.pivotResult.rowTotals[b] ? (d(), g("td", za, S(t.pivotResult.rowTotals[b].formattedValue), 1)) : z("", !0)
2687
+ style: ke({ width: `${Ye.value}px` }),
2688
+ onMousedown: (I) => X(j.value.indexOf(C), H, I),
2689
+ onMouseenter: (I) => G(j.value.indexOf(C), H)
2690
+ }, S(V.formattedValue), 47, za))), 128)),
2691
+ t.pivotResult.rowTotals[C] ? (d(), g("td", Pa, S(t.pivotResult.rowTotals[C].formattedValue), 1)) : z("", !0)
2668
2692
  ]))), 128)),
2669
- t.pivotResult.columnTotals.length > 0 ? (d(), g("tr", Pa, [
2693
+ t.pivotResult.columnTotals.length > 0 ? (d(), g("tr", Ea, [
2670
2694
  e("th", {
2671
2695
  class: "vpg-row-header-cell vpg-total-label",
2672
- style: ye({ width: `${Xe.value}px` })
2696
+ style: ke({ width: `${Xe.value}px` })
2673
2697
  }, " Total ", 4),
2674
- (d(!0), g(_, null, oe(t.pivotResult.columnTotals, (b, L) => (d(), g("td", {
2675
- key: L,
2698
+ (d(!0), g(_, null, oe(t.pivotResult.columnTotals, (C, V) => (d(), g("td", {
2699
+ key: V,
2676
2700
  class: "vpg-data-cell vpg-total-cell",
2677
- style: ye({ width: `${Ye.value}px` })
2678
- }, S(b.formattedValue), 5))), 128)),
2679
- t.pivotResult.rowTotals.length > 0 ? (d(), g("td", Ea, S(t.pivotResult.grandTotal.formattedValue), 1)) : z("", !0)
2701
+ style: ke({ width: `${Ye.value}px` })
2702
+ }, S(C.formattedValue), 5))), 128)),
2703
+ t.pivotResult.rowTotals.length > 0 ? (d(), g("td", Ba, S(t.pivotResult.grandTotal.formattedValue), 1)) : z("", !0)
2680
2704
  ])) : z("", !0)
2681
2705
  ])
2682
2706
  ])
2683
2707
  ])),
2684
- t.isConfigured && t.pivotResult ? (d(), g("div", Ba, [
2685
- e("span", ja, S(t.pivotResult.rowHeaders.length) + " rows × " + S(((E = t.pivotResult.data[0]) == null ? void 0 : E.length) || 0) + " columns", 1),
2686
- me.value && me.value.count > 1 ? (d(), g("div", Ua, [
2687
- e("span", Ha, [
2708
+ t.isConfigured && t.pivotResult ? (d(), g("div", ja, [
2709
+ e("span", Ua, S(t.pivotResult.rowHeaders.length) + " rows × " + S(((E = t.pivotResult.data[0]) == null ? void 0 : E.length) || 0) + " columns", 1),
2710
+ me.value && me.value.count > 1 ? (d(), g("div", Ha, [
2711
+ e("span", Ka, [
2688
2712
  p[29] || (p[29] = e("span", { class: "vpg-stat-label" }, "Count:", -1)),
2689
- e("span", Ka, S(me.value.count), 1)
2713
+ e("span", Oa, S(me.value.count), 1)
2690
2714
  ]),
2691
2715
  me.value.numericCount > 0 ? (d(), g(_, { key: 0 }, [
2692
2716
  p[32] || (p[32] = e("span", { class: "vpg-stat-divider" }, "|", -1)),
2693
- e("span", Oa, [
2717
+ e("span", Wa, [
2694
2718
  p[30] || (p[30] = e("span", { class: "vpg-stat-label" }, "Sum:", -1)),
2695
- e("span", Wa, S(We(me.value.sum)), 1)
2719
+ e("span", qa, S(We(me.value.sum)), 1)
2696
2720
  ]),
2697
2721
  p[33] || (p[33] = e("span", { class: "vpg-stat-divider" }, "|", -1)),
2698
- e("span", qa, [
2722
+ e("span", _a, [
2699
2723
  p[31] || (p[31] = e("span", { class: "vpg-stat-label" }, "Avg:", -1)),
2700
- e("span", _a, S(We(me.value.avg)), 1)
2724
+ e("span", Ga, S(We(me.value.avg)), 1)
2701
2725
  ])
2702
2726
  ], 64)) : z("", !0)
2703
2727
  ])) : z("", !0)
2704
2728
  ])) : z("", !0)
2705
- ], 64)) : (d(), g("div", ia, [...p[14] || (p[14] = [
2729
+ ], 64)) : (d(), g("div", ra, [...p[14] || (p[14] = [
2706
2730
  e("div", { class: "vpg-pro-content" }, [
2707
2731
  e("svg", {
2708
2732
  class: "vpg-pro-icon",
@@ -2726,11 +2750,11 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2726
2750
  }, " Get Pro License → ")
2727
2751
  ], -1)
2728
2752
  ])])),
2729
- T(f) && T(h) ? (d(), g("div", {
2753
+ D(f) && D(h) ? (d(), g("div", {
2730
2754
  key: 2,
2731
- class: J(["vpg-watermark", { "vpg-demo-mode": T(y) }])
2755
+ class: J(["vpg-watermark", { "vpg-demo-mode": D(k) }])
2732
2756
  }, [
2733
- T(y) ? (d(), g(_, { key: 0 }, [
2757
+ D(k) ? (d(), g(_, { key: 0 }, [
2734
2758
  p[34] || (p[34] = e("span", { class: "vpg-demo-badge" }, "DEMO", -1)),
2735
2759
  p[35] || (p[35] = e("span", null, "Pro features unlocked for evaluation", -1)),
2736
2760
  p[36] || (p[36] = e("a", {
@@ -2739,53 +2763,53 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2739
2763
  rel: "noopener",
2740
2764
  class: "vpg-get-pro"
2741
2765
  }, " Get Pro License → ", -1))
2742
- ], 64)) : (d(), g("a", Ga, " Powered by TinyPivot "))
2766
+ ], 64)) : (d(), g("a", Xa, " Powered by TinyPivot "))
2743
2767
  ], 2)) : z("", !0)
2744
2768
  ], 2);
2745
2769
  };
2746
2770
  }
2747
- }), Ya = /* @__PURE__ */ tt(Xa, [["__scopeId", "data-v-ac3bd982"]]), Za = {
2771
+ }), Za = /* @__PURE__ */ tt(Ya, [["__scopeId", "data-v-6b3a0147"]]), Ja = {
2748
2772
  key: 0,
2749
2773
  class: "vpg-toast"
2750
- }, Ja = { class: "vpg-toolbar" }, Qa = { class: "vpg-toolbar-left" }, Ia = {
2774
+ }, Qa = { class: "vpg-toolbar" }, Ia = { class: "vpg-toolbar-left" }, es = {
2751
2775
  key: 0,
2752
2776
  class: "vpg-view-toggle"
2753
- }, es = {
2777
+ }, ts = {
2754
2778
  key: 0,
2755
2779
  class: "vpg-search-container"
2756
- }, ts = {
2780
+ }, ls = {
2757
2781
  key: 1,
2758
2782
  class: "vpg-search-box"
2759
- }, ls = { class: "vpg-font-size-control" }, ns = { class: "vpg-font-size-toggle" }, os = ["onClick"], as = {
2783
+ }, ns = { class: "vpg-font-size-control" }, os = { class: "vpg-font-size-toggle" }, as = ["onClick"], ss = {
2760
2784
  key: 1,
2761
2785
  class: "vpg-filter-info"
2762
- }, ss = {
2786
+ }, is = {
2763
2787
  key: 2,
2764
2788
  class: "vpg-search-info"
2765
- }, is = {
2789
+ }, rs = {
2766
2790
  key: 0,
2767
2791
  class: "vpg-pivot-status"
2768
- }, rs = { class: "vpg-toolbar-right" }, us = ["title"], cs = {
2792
+ }, us = { class: "vpg-toolbar-right" }, cs = ["title"], vs = {
2769
2793
  key: 0,
2770
2794
  class: "vpg-loading"
2771
- }, vs = {
2795
+ }, ds = {
2772
2796
  key: 1,
2773
2797
  class: "vpg-empty"
2774
- }, ds = {
2798
+ }, gs = {
2775
2799
  key: 2,
2776
2800
  class: "vpg-empty"
2777
- }, gs = {
2801
+ }, ps = {
2778
2802
  key: 3,
2779
2803
  class: "vpg-table-wrapper"
2780
- }, ps = ["onClick"], fs = { class: "vpg-header-content" }, ms = { class: "vpg-header-text" }, hs = { class: "vpg-header-icons" }, ws = {
2804
+ }, fs = ["onClick"], ms = { class: "vpg-header-content" }, hs = { class: "vpg-header-text" }, ws = { class: "vpg-header-icons" }, Cs = {
2781
2805
  key: 0,
2782
2806
  class: "vpg-sort-indicator"
2783
- }, Cs = {
2807
+ }, bs = {
2784
2808
  key: 0,
2785
2809
  class: "vpg-icon-sm",
2786
2810
  fill: "currentColor",
2787
2811
  viewBox: "0 0 20 20"
2788
- }, bs = {
2812
+ }, ys = {
2789
2813
  key: 1,
2790
2814
  class: "vpg-icon-sm",
2791
2815
  fill: "currentColor",
@@ -2793,28 +2817,28 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2793
2817
  }, ks = {
2794
2818
  key: 1,
2795
2819
  class: "vpg-filter-indicator"
2796
- }, ys = ["onMousedown"], Fs = ["data-row", "data-col", "onMousedown", "onMouseenter"], Ss = {
2820
+ }, Fs = ["onMousedown"], Ss = ["data-row", "data-col", "onMousedown", "onMouseenter"], $s = {
2797
2821
  key: 1,
2798
2822
  class: "vpg-pivot-container"
2799
- }, $s = {
2823
+ }, Ms = {
2800
2824
  key: 0,
2801
2825
  class: "vpg-pivot-config-panel"
2802
- }, Ms = { class: "vpg-footer" }, xs = { class: "vpg-footer-left" }, Rs = {
2826
+ }, xs = { class: "vpg-footer" }, Rs = { class: "vpg-footer-left" }, Ts = {
2803
2827
  key: 0,
2804
2828
  class: "vpg-filtered-note"
2805
- }, Ds = { key: 1 }, Ts = { class: "vpg-filtered-count" }, Vs = {
2829
+ }, Ds = { key: 1 }, Vs = { class: "vpg-filtered-count" }, As = {
2806
2830
  key: 0,
2807
2831
  class: "vpg-pagination"
2808
- }, As = ["disabled"], Ls = ["disabled"], Ns = { class: "vpg-page-info" }, zs = ["disabled"], Ps = ["disabled"], Es = {
2832
+ }, Ls = ["disabled"], Ns = ["disabled"], zs = { class: "vpg-page-info" }, Ps = ["disabled"], Es = ["disabled"], Bs = {
2809
2833
  key: 1,
2810
2834
  class: "vpg-selection-stats"
2811
- }, Bs = { class: "vpg-stat" }, js = { class: "vpg-stat-value" }, Us = { class: "vpg-stat" }, Hs = { class: "vpg-stat-value" }, Ks = { class: "vpg-stat" }, Os = { class: "vpg-stat-value" }, Ws = { class: "vpg-footer-right" }, qs = {
2835
+ }, js = { class: "vpg-stat" }, Us = { class: "vpg-stat-value" }, Hs = { class: "vpg-stat" }, Ks = { class: "vpg-stat-value" }, Os = { class: "vpg-stat" }, Ws = { class: "vpg-stat-value" }, qs = { class: "vpg-footer-right" }, _s = {
2812
2836
  key: 0,
2813
2837
  class: "vpg-demo-banner"
2814
- }, _s = {
2838
+ }, Gs = {
2815
2839
  key: 1,
2816
2840
  class: "vpg-watermark-inline"
2817
- }, Ae = 120, Ht = 350, Gs = /* @__PURE__ */ et({
2841
+ }, Ae = 120, Ht = 350, Xs = /* @__PURE__ */ et({
2818
2842
  __name: "DataGrid",
2819
2843
  props: {
2820
2844
  data: {},
@@ -2839,18 +2863,18 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2839
2863
  },
2840
2864
  emits: ["cellClick", "selectionChange", "export", "copy"],
2841
2865
  setup(t, { emit: u }) {
2842
- const l = t, r = u, { showWatermark: a, canUsePivot: s, isDemo: f } = gt(), h = V(() => {
2866
+ const l = t, r = u, { showWatermark: a, canUsePivot: i, isDemo: f } = pt(), h = A(() => {
2843
2867
  var v;
2844
2868
  return l.theme === "auto" ? (v = window.matchMedia) != null && v.call(window, "(prefers-color-scheme: dark)").matches ? "dark" : "light" : l.theme;
2845
- }), y = $(l.fontSize), F = $(""), w = $(!1), x = $(1), U = $(null), R = $(0), C = $(0), P = $(l.initialHeight), Z = $(!1), W = $(0), O = $(0), B = $(!1), N = $(""), j = [
2869
+ }), k = $(l.fontSize), F = $(""), b = $(!1), x = $(1), U = $(null), R = $(0), y = $(0), P = $(l.initialHeight), Z = $(!1), W = $(0), O = $(0), B = $(!1), N = $(""), j = [
2846
2870
  { value: "xs", label: "S" },
2847
2871
  { value: "sm", label: "M" },
2848
2872
  { value: "base", label: "L" }
2849
- ], q = V(() => l.data), {
2873
+ ], q = A(() => l.data), {
2850
2874
  table: le,
2851
- columnKeys: A,
2875
+ columnKeys: L,
2852
2876
  filteredRowCount: M,
2853
- totalRowCount: i,
2877
+ totalRowCount: s,
2854
2878
  getColumnStats: o,
2855
2879
  hasActiveFilter: c,
2856
2880
  setColumnFilter: m,
@@ -2863,12 +2887,22 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2863
2887
  // Numeric range filters
2864
2888
  setNumericRangeFilter: me,
2865
2889
  getNumericRangeFilter: We
2866
- } = vn({ data: q }), he = V(() => le.getFilteredRowModel().rows.map((n) => n.original)), lt = V(() => Me.value.length === 0 ? null : Me.value.map((v) => {
2890
+ } = vn({ data: q }), he = A(() => le.getFilteredRowModel().rows.map((n) => n.original)), lt = A(() => Me.value.length === 0 ? null : Me.value.map((v) => {
2867
2891
  var n;
2892
+ if (v.type === "range" && v.range) {
2893
+ const w = [];
2894
+ return v.range.min !== null && w.push(`≥ ${v.range.min}`), v.range.max !== null && w.push(`≤ ${v.range.max}`), {
2895
+ column: v.column,
2896
+ valueCount: 1,
2897
+ displayText: w.join(" and "),
2898
+ isRange: !0
2899
+ };
2900
+ }
2868
2901
  return {
2869
2902
  column: v.column,
2870
2903
  valueCount: ((n = v.values) == null ? void 0 : n.length) || 0,
2871
- values: v.values || []
2904
+ values: v.values || [],
2905
+ isRange: !1
2872
2906
  };
2873
2907
  })), {
2874
2908
  rowFields: Ve,
@@ -2881,30 +2915,30 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2881
2915
  pivotResult: we,
2882
2916
  addRowField: Xe,
2883
2917
  removeRowField: Ye,
2884
- addColumnField: D,
2918
+ addColumnField: T,
2885
2919
  removeColumnField: p,
2886
2920
  addValueField: E,
2887
- removeValueField: b,
2888
- updateValueFieldAggregation: L,
2921
+ removeValueField: C,
2922
+ updateValueFieldAggregation: V,
2889
2923
  clearConfig: H,
2890
2924
  autoSuggestConfig: I
2891
- } = gn(he), te = V(() => {
2925
+ } = gn(he), te = A(() => {
2892
2926
  if (!F.value.trim() || !l.enableSearch)
2893
2927
  return Ee.value;
2894
2928
  const v = F.value.toLowerCase().trim();
2895
2929
  return Ee.value.filter((n) => {
2896
- for (const k of A.value) {
2897
- const K = n.original[k];
2930
+ for (const w of L.value) {
2931
+ const K = n.original[w];
2898
2932
  if (K != null && String(K).toLowerCase().includes(v))
2899
2933
  return !0;
2900
2934
  }
2901
2935
  return !1;
2902
2936
  });
2903
- }), ie = V(() => te.value.length), re = V(() => l.enablePagination ? Math.max(1, Math.ceil(ie.value / l.pageSize)) : 1), pe = V(() => {
2937
+ }), ie = A(() => te.value.length), re = A(() => l.enablePagination ? Math.max(1, Math.ceil(ie.value / l.pageSize)) : 1), pe = A(() => {
2904
2938
  if (!l.enablePagination) return te.value;
2905
2939
  const v = (x.value - 1) * l.pageSize, n = v + l.pageSize;
2906
2940
  return te.value.slice(v, n);
2907
- }), Ce = V(() => ie.value === 0 ? 0 : (x.value - 1) * l.pageSize + 1), ge = V(
2941
+ }), Ce = A(() => ie.value === 0 ? 0 : (x.value - 1) * l.pageSize + 1), ge = A(
2908
2942
  () => Math.min(x.value * l.pageSize, ie.value)
2909
2943
  );
2910
2944
  function Pe() {
@@ -2913,7 +2947,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2913
2947
  function nt() {
2914
2948
  x.value > 1 && x.value--;
2915
2949
  }
2916
- Te([Oe, F], () => {
2950
+ De([Oe, F], () => {
2917
2951
  x.value = 1;
2918
2952
  });
2919
2953
  function It() {
@@ -2922,7 +2956,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2922
2956
  return;
2923
2957
  }
2924
2958
  const v = l.enableSearch && F.value.trim() ? te.value.map((n) => n.original) : Ee.value.map((n) => n.original);
2925
- pn(v, A.value, {
2959
+ pn(v, L.value, {
2926
2960
  filename: l.exportFilename,
2927
2961
  includeHeaders: !0
2928
2962
  }), r("export", { rowCount: v.length, filename: l.exportFilename });
@@ -2950,14 +2984,14 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2950
2984
  r("export", { rowCount: n, filename: v });
2951
2985
  }
2952
2986
  function tl(v, n) {
2953
- l.enableColumnResize && (n.preventDefault(), n.stopPropagation(), U.value = v, R.value = n.clientX, C.value = xe.value[v] || Ae, document.addEventListener("mousemove", Ft), document.addEventListener("mouseup", St));
2987
+ l.enableColumnResize && (n.preventDefault(), n.stopPropagation(), U.value = v, R.value = n.clientX, y.value = xe.value[v] || Ae, document.addEventListener("mousemove", Ft), document.addEventListener("mouseup", St));
2954
2988
  }
2955
2989
  function Ft(v) {
2956
2990
  if (!U.value) return;
2957
- const n = v.clientX - R.value, k = Math.max(Ae, Math.min(Ht, C.value + n));
2991
+ const n = v.clientX - R.value, w = Math.max(Ae, Math.min(Ht, y.value + n));
2958
2992
  xe.value = {
2959
2993
  ...xe.value,
2960
- [U.value]: k
2994
+ [U.value]: w
2961
2995
  };
2962
2996
  }
2963
2997
  function St() {
@@ -2968,26 +3002,26 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2968
3002
  }
2969
3003
  function $t(v) {
2970
3004
  if (!Z.value) return;
2971
- const n = v.clientY - W.value, k = Math.max(
3005
+ const n = v.clientY - W.value, w = Math.max(
2972
3006
  l.minHeight,
2973
3007
  Math.min(l.maxHeight, O.value + n)
2974
3008
  );
2975
- P.value = k;
3009
+ P.value = w;
2976
3010
  }
2977
3011
  function Mt() {
2978
3012
  Z.value = !1, document.removeEventListener("mousemove", $t), document.removeEventListener("mouseup", Mt);
2979
3013
  }
2980
3014
  function xt() {
2981
- if (!ke.value || !l.enableClipboard) return;
3015
+ if (!ye.value || !l.enableClipboard) return;
2982
3016
  const v = hn(
2983
3017
  Ee.value.map((n) => n.original),
2984
- A.value,
2985
- ke.value
3018
+ L.value,
3019
+ ye.value
2986
3020
  );
2987
3021
  mn(
2988
3022
  v,
2989
3023
  () => {
2990
- const n = (ke.value.maxRow - ke.value.minRow + 1) * (ke.value.maxCol - ke.value.minCol + 1);
3024
+ const n = (ye.value.maxRow - ye.value.minRow + 1) * (ye.value.maxCol - ye.value.minCol + 1);
2991
3025
  N.value = `Copied ${n} cell${n > 1 ? "s" : ""}`, B.value = !0, setTimeout(() => {
2992
3026
  B.value = !1;
2993
3027
  }, 2e3), r("copy", { text: v, cellCount: n });
@@ -2999,23 +3033,23 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
2999
3033
  }
3000
3034
  );
3001
3035
  }
3002
- const ue = $("grid"), Ze = $(!0), pt = $(null), Fe = $(Zt());
3036
+ const ue = $("grid"), Ze = $(!0), ft = $(null), Fe = $(Zt());
3003
3037
  function nl(v) {
3004
3038
  v.id || (v.id = `calc_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`), Fe.value = [...Fe.value, v], at(Fe.value);
3005
3039
  }
3006
3040
  function ol(v) {
3007
3041
  Fe.value = Fe.value.filter((K) => K.id !== v), at(Fe.value);
3008
- const n = `calc:${v}`, k = ze.value.find((K) => K.field === n);
3009
- k && b(n, k.aggregation);
3042
+ const n = `calc:${v}`, w = ze.value.find((K) => K.field === n);
3043
+ w && C(n, w.aggregation);
3010
3044
  }
3011
3045
  function al(v) {
3012
3046
  Fe.value = Fe.value.map((n) => n.id === v.id ? v : n), at(Fe.value);
3013
3047
  }
3014
3048
  function sl(v) {
3015
- pt.value = v;
3049
+ ft.value = v;
3016
3050
  }
3017
3051
  function il() {
3018
- pt.value = null;
3052
+ ft.value = null;
3019
3053
  }
3020
3054
  function rl(v) {
3021
3055
  Ve.value = v;
@@ -3023,18 +3057,18 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3023
3057
  function ul(v) {
3024
3058
  Ne.value = v;
3025
3059
  }
3026
- const ft = $(), Rt = $(), Ee = V(() => le.getRowModel().rows), ce = $(null), it = $({ top: 0, left: 0, maxHeight: 400 }), xe = $({});
3027
- function Dt() {
3060
+ const mt = $(), Rt = $(), Ee = A(() => le.getRowModel().rows), ce = $(null), it = $({ top: 0, left: 0, maxHeight: 400 }), xe = $({});
3061
+ function Tt() {
3028
3062
  if (l.data.length === 0)
3029
3063
  return;
3030
3064
  const v = {}, n = Math.min(100, l.data.length), K = document.createElement("canvas").getContext("2d");
3031
3065
  if (K) {
3032
3066
  K.font = "13px system-ui, -apple-system, sans-serif";
3033
- for (const Y of A.value) {
3067
+ for (const Y of L.value) {
3034
3068
  let se = K.measureText(Y).width + 56;
3035
3069
  for (let ae = 0; ae < n; ae++) {
3036
- const ne = l.data[ae][Y], ve = ne == null ? "" : String(ne), De = K.measureText(ve).width + 28;
3037
- se = Math.max(se, De);
3070
+ const ne = l.data[ae][Y], ve = ne == null ? "" : String(ne), Te = K.measureText(ve).width + 28;
3071
+ se = Math.max(se, Te);
3038
3072
  }
3039
3073
  v[Y] = Math.min(Math.max(se, Ae), Ht);
3040
3074
  }
@@ -3043,12 +3077,12 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3043
3077
  }
3044
3078
  function cl(v, n) {
3045
3079
  n.stopPropagation();
3046
- const k = n.currentTarget, K = k.closest(".vpg-header-cell"), Y = (K == null ? void 0 : K.getBoundingClientRect()) || k.getBoundingClientRect(), se = 280, ae = 12;
3080
+ const w = n.currentTarget, K = w.closest(".vpg-header-cell"), Y = (K == null ? void 0 : K.getBoundingClientRect()) || w.getBoundingClientRect(), se = 280, ae = 12;
3047
3081
  let ne = Y.left;
3048
3082
  ne + se > window.innerWidth - ae && (ne = window.innerWidth - se - ae), ne = Math.max(ae, ne);
3049
- const ve = window.innerHeight - Y.bottom - ae, De = Y.top - ae;
3083
+ const ve = window.innerHeight - Y.bottom - ae, Te = Y.top - ae;
3050
3084
  let Be, je;
3051
- ve >= 300 || ve >= De ? (Be = Y.bottom + 4, je = Math.min(400, ve - 4)) : (je = Math.min(400, De - 4), Be = Y.top - je - 4), it.value = { top: Be, left: ne, maxHeight: je }, ce.value = v;
3085
+ ve >= 300 || ve >= Te ? (Be = Y.bottom + 4, je = Math.min(400, ve - 4)) : (je = Math.min(400, Te - 4), Be = Y.top - je - 4), it.value = { top: Be, left: ne, maxHeight: je }, ce.value = v;
3052
3086
  }
3053
3087
  function rt() {
3054
3088
  ce.value = null;
@@ -3063,47 +3097,47 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3063
3097
  if (n === null)
3064
3098
  de(v) && (Q(v), de(v) && Q(v));
3065
3099
  else {
3066
- const k = de(v);
3067
- k === null ? (Q(v), n === "desc" && de(v) === "asc" && Q(v)) : k !== n && Q(v);
3100
+ const w = de(v);
3101
+ w === null ? (Q(v), n === "desc" && de(v) === "asc" && Q(v)) : w !== n && Q(v);
3068
3102
  }
3069
3103
  }
3070
- const ut = V(() => Oe.value.length), Re = $(null), Se = $(null), be = $(null), mt = $(!1);
3104
+ const ut = A(() => Oe.value.length), Re = $(null), Se = $(null), be = $(null), ht = $(!1);
3071
3105
  function pl(v) {
3072
3106
  const n = Ee.value.length - 1;
3073
3107
  n < 0 || (Se.value = { row: 0, col: v }, be.value = { row: n, col: v }, Re.value = { row: 0, col: v });
3074
3108
  }
3075
3109
  function fl(v, n) {
3076
3110
  if (n.target.closest(".vpg-dropdown-arrow")) {
3077
- const K = A.value[v];
3111
+ const K = L.value[v];
3078
3112
  cl(K, n);
3079
3113
  } else
3080
3114
  pl(v);
3081
3115
  }
3082
- const ke = V(() => !Se.value || !be.value ? null : {
3116
+ const ye = A(() => !Se.value || !be.value ? null : {
3083
3117
  minRow: Math.min(Se.value.row, be.value.row),
3084
3118
  maxRow: Math.max(Se.value.row, be.value.row),
3085
3119
  minCol: Math.min(Se.value.col, be.value.col),
3086
3120
  maxCol: Math.max(Se.value.col, be.value.col)
3087
3121
  });
3088
3122
  function ml(v, n) {
3089
- if (!ke.value)
3123
+ if (!ye.value)
3090
3124
  return !1;
3091
- const { minRow: k, maxRow: K, minCol: Y, maxCol: se } = ke.value;
3092
- return v >= k && v <= K && n >= Y && n <= se;
3125
+ const { minRow: w, maxRow: K, minCol: Y, maxCol: se } = ye.value;
3126
+ return v >= w && v <= K && n >= Y && n <= se;
3093
3127
  }
3094
- const Je = V(() => {
3095
- if (!ke.value)
3128
+ const Je = A(() => {
3129
+ if (!ye.value)
3096
3130
  return null;
3097
- const { minRow: v, maxRow: n, minCol: k, maxCol: K } = ke.value, Y = [];
3131
+ const { minRow: v, maxRow: n, minCol: w, maxCol: K } = ye.value, Y = [];
3098
3132
  let se = 0;
3099
3133
  for (let ve = v; ve <= n; ve++) {
3100
- const De = Ee.value[ve];
3101
- if (De)
3102
- for (let Be = k; Be <= K; Be++) {
3103
- const je = A.value[Be];
3134
+ const Te = Ee.value[ve];
3135
+ if (Te)
3136
+ for (let Be = w; Be <= K; Be++) {
3137
+ const je = L.value[Be];
3104
3138
  if (!je)
3105
3139
  continue;
3106
- const Qe = De.original[je];
3140
+ const Qe = Te.original[je];
3107
3141
  if (se++, Qe != null && Qe !== "") {
3108
3142
  const zt = typeof Qe == "number" ? Qe : Number.parseFloat(String(Qe));
3109
3143
  Number.isNaN(zt) || Y.push(zt);
@@ -3112,19 +3146,19 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3112
3146
  }
3113
3147
  if (Y.length === 0)
3114
3148
  return { count: se, sum: null, avg: null, numericCount: 0 };
3115
- const ae = Y.reduce((ve, De) => ve + De, 0), ne = ae / Y.length;
3149
+ const ae = Y.reduce((ve, Te) => ve + Te, 0), ne = ae / Y.length;
3116
3150
  return { count: se, sum: ae, avg: ne, numericCount: Y.length };
3117
3151
  });
3118
- function Tt(v) {
3152
+ function Dt(v) {
3119
3153
  return v === null ? "-" : Math.abs(v) >= 1e3 ? v.toLocaleString("en-US", { maximumFractionDigits: 2 }) : v.toLocaleString("en-US", { maximumFractionDigits: 4 });
3120
3154
  }
3121
3155
  function Vt(v) {
3122
- if ((v.ctrlKey || v.metaKey) && v.key === "c" && ke.value) {
3156
+ if ((v.ctrlKey || v.metaKey) && v.key === "c" && ye.value) {
3123
3157
  v.preventDefault(), xt();
3124
3158
  return;
3125
3159
  }
3126
3160
  if ((v.ctrlKey || v.metaKey) && v.key === "f" && l.enableSearch) {
3127
- v.preventDefault(), w.value = !0, ot(() => {
3161
+ v.preventDefault(), b.value = !0, ot(() => {
3128
3162
  const ne = document.querySelector(".vpg-search-input");
3129
3163
  ne == null || ne.focus();
3130
3164
  });
@@ -3132,42 +3166,42 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3132
3166
  }
3133
3167
  if (!Re.value || ce.value)
3134
3168
  return;
3135
- const { row: n, col: k } = Re.value, Y = pe.value.length - 1, se = A.value.length - 1;
3169
+ const { row: n, col: w } = Re.value, Y = pe.value.length - 1, se = L.value.length - 1;
3136
3170
  function ae(ne, ve) {
3137
- v.shiftKey ? (Se.value || (Se.value = { row: n, col: k }), be.value = { row: ne, col: ve }) : (Se.value = { row: ne, col: ve }, be.value = { row: ne, col: ve }), Re.value = { row: ne, col: ve }, hl(ne, ve);
3171
+ v.shiftKey ? (Se.value || (Se.value = { row: n, col: w }), be.value = { row: ne, col: ve }) : (Se.value = { row: ne, col: ve }, be.value = { row: ne, col: ve }), Re.value = { row: ne, col: ve }, hl(ne, ve);
3138
3172
  }
3139
3173
  switch (v.key) {
3140
3174
  case "ArrowUp":
3141
- v.preventDefault(), n > 0 && ae(n - 1, k);
3175
+ v.preventDefault(), n > 0 && ae(n - 1, w);
3142
3176
  break;
3143
3177
  case "ArrowDown":
3144
- v.preventDefault(), n < Y && ae(n + 1, k);
3178
+ v.preventDefault(), n < Y && ae(n + 1, w);
3145
3179
  break;
3146
3180
  case "ArrowLeft":
3147
- v.preventDefault(), k > 0 && ae(n, k - 1);
3181
+ v.preventDefault(), w > 0 && ae(n, w - 1);
3148
3182
  break;
3149
3183
  case "ArrowRight":
3150
- v.preventDefault(), k < se && ae(n, k + 1);
3184
+ v.preventDefault(), w < se && ae(n, w + 1);
3151
3185
  break;
3152
3186
  case "Escape":
3153
- Re.value = null, Se.value = null, be.value = null, w.value = !1, F.value = "";
3187
+ Re.value = null, Se.value = null, be.value = null, b.value = !1, F.value = "";
3154
3188
  break;
3155
3189
  }
3156
3190
  }
3157
3191
  function hl(v, n) {
3158
3192
  ot(() => {
3159
3193
  var K;
3160
- const k = (K = Rt.value) == null ? void 0 : K.querySelector(
3194
+ const w = (K = Rt.value) == null ? void 0 : K.querySelector(
3161
3195
  `[data-row="${v}"][data-col="${n}"]`
3162
3196
  );
3163
- k == null || k.scrollIntoView({ block: "nearest", inline: "nearest" });
3197
+ w == null || w.scrollIntoView({ block: "nearest", inline: "nearest" });
3164
3198
  });
3165
3199
  }
3166
- function wl(v, n, k) {
3167
- k.preventDefault(), k.shiftKey && Re.value ? be.value = { row: v, col: n } : (Re.value = { row: v, col: n }, Se.value = { row: v, col: n }, be.value = { row: v, col: n }, mt.value = !0);
3200
+ function wl(v, n, w) {
3201
+ w.preventDefault(), w.shiftKey && Re.value ? be.value = { row: v, col: n } : (Re.value = { row: v, col: n }, Se.value = { row: v, col: n }, be.value = { row: v, col: n }, ht.value = !0);
3168
3202
  const K = Ee.value[v];
3169
3203
  if (K) {
3170
- const Y = A.value[n];
3204
+ const Y = L.value[n];
3171
3205
  r("cellClick", {
3172
3206
  row: v,
3173
3207
  col: n,
@@ -3177,25 +3211,25 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3177
3211
  }
3178
3212
  }
3179
3213
  function Cl(v, n) {
3180
- mt.value && (be.value = { row: v, col: n });
3214
+ ht.value && (be.value = { row: v, col: n });
3181
3215
  }
3182
3216
  function At() {
3183
- mt.value = !1;
3217
+ ht.value = !1;
3184
3218
  }
3185
3219
  function bl(v, n) {
3186
- var k, K;
3187
- return ml(v, n) ? !0 : ((k = Re.value) == null ? void 0 : k.row) === v && ((K = Re.value) == null ? void 0 : K.col) === n;
3220
+ var w, K;
3221
+ return ml(v, n) ? !0 : ((w = Re.value) == null ? void 0 : w.row) === v && ((K = Re.value) == null ? void 0 : K.col) === n;
3188
3222
  }
3189
- const kl = /^(?:.*_)?(?:id|code|year|month|quarter|day|week|date|zip|phone|fax|ssn|ein|npi|ndc|gpi|hcpcs|icd|cpt|rx|bin|pcn|group|member|claim|rx_number|script|fill)(?:_.*)?$/i;
3190
- function yl(v) {
3191
- return !kl.test(v);
3223
+ const yl = /^(?:.*_)?(?:id|code|year|month|quarter|day|week|date|zip|phone|fax|ssn|ein|npi|ndc|gpi|hcpcs|icd|cpt|rx|bin|pcn|group|member|claim|rx_number|script|fill)(?:_.*)?$/i;
3224
+ function kl(v) {
3225
+ return !yl.test(v);
3192
3226
  }
3193
3227
  function Fl(v, n) {
3194
3228
  if (v == null || v === "")
3195
3229
  return "";
3196
3230
  if (o(n).type === "number") {
3197
3231
  const K = typeof v == "number" ? v : Number.parseFloat(String(v));
3198
- return Number.isNaN(K) ? String(v) : yl(n) && Math.abs(K) >= 1e3 ? K.toLocaleString("en-US", { maximumFractionDigits: 2 }) : Number.isInteger(K) ? String(K) : K.toLocaleString("en-US", { maximumFractionDigits: 4, useGrouping: !1 });
3232
+ return Number.isNaN(K) ? String(v) : kl(n) && Math.abs(K) >= 1e3 ? K.toLocaleString("en-US", { maximumFractionDigits: 2 }) : Number.isInteger(K) ? String(K) : K.toLocaleString("en-US", { maximumFractionDigits: 4, useGrouping: !1 });
3199
3233
  }
3200
3234
  return String(v);
3201
3235
  }
@@ -3205,41 +3239,41 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3205
3239
  function Nt(v) {
3206
3240
  var n;
3207
3241
  if (ce.value) {
3208
- const k = v.target;
3209
- if (k && ((n = k.closest) != null && n.call(k, ".vpg-filter-portal")))
3242
+ const w = v.target;
3243
+ if (w && ((n = w.closest) != null && n.call(w, ".vpg-filter-portal")))
3210
3244
  return;
3211
3245
  rt();
3212
3246
  }
3213
3247
  }
3214
- kt(() => {
3215
- Dt(), document.addEventListener("keydown", Vt), document.addEventListener("mouseup", At), ot(() => {
3248
+ yt(() => {
3249
+ Tt(), document.addEventListener("keydown", Vt), document.addEventListener("mouseup", At), ot(() => {
3216
3250
  var v;
3217
- (v = ft.value) == null || v.addEventListener("scroll", Lt, { passive: !0 });
3251
+ (v = mt.value) == null || v.addEventListener("scroll", Lt, { passive: !0 });
3218
3252
  }), window.addEventListener("scroll", Nt, { passive: !0, capture: !0 });
3219
- }), yt(() => {
3253
+ }), kt(() => {
3220
3254
  var v;
3221
- document.removeEventListener("keydown", Vt), document.removeEventListener("mouseup", At), (v = ft.value) == null || v.removeEventListener("scroll", Lt), window.removeEventListener("scroll", Nt, { capture: !0 });
3222
- }), Te(() => l.data, () => {
3223
- ot(Dt);
3255
+ document.removeEventListener("keydown", Vt), document.removeEventListener("mouseup", At), (v = mt.value) == null || v.removeEventListener("scroll", Lt), window.removeEventListener("scroll", Nt, { capture: !0 });
3256
+ }), De(() => l.data, () => {
3257
+ ot(Tt);
3224
3258
  }, { immediate: !0 });
3225
- const Sl = V(() => A.value.reduce((v, n) => v + (xe.value[n] || Ae), 0));
3259
+ const Sl = A(() => L.value.reduce((v, n) => v + (xe.value[n] || Ae), 0));
3226
3260
  function $l(v) {
3227
3261
  ce.value && (v.target.closest(".vpg-filter-portal") || rt());
3228
3262
  }
3229
3263
  return (v, n) => (d(), g("div", {
3230
3264
  class: J(["vpg-data-grid", [
3231
- `vpg-font-${y.value}`,
3265
+ `vpg-font-${k.value}`,
3232
3266
  `vpg-theme-${h.value}`,
3233
3267
  { "vpg-striped": t.stripedRows },
3234
3268
  { "vpg-resizing": U.value },
3235
3269
  { "vpg-resizing-vertical": Z.value }
3236
3270
  ]]),
3237
- style: ye({ height: `${P.value}px` }),
3271
+ style: ke({ height: `${P.value}px` }),
3238
3272
  onClick: $l
3239
3273
  }, [
3240
3274
  Ke(Wt, { name: "vpg-toast" }, {
3241
3275
  default: qt(() => [
3242
- B.value ? (d(), g("div", Za, [
3276
+ B.value ? (d(), g("div", Ja, [
3243
3277
  n[16] || (n[16] = e("svg", {
3244
3278
  class: "vpg-icon",
3245
3279
  fill: "none",
@@ -3258,12 +3292,12 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3258
3292
  ]),
3259
3293
  _: 1
3260
3294
  }),
3261
- e("div", Ja, [
3262
- e("div", Qa, [
3263
- t.showPivot ? (d(), g("div", Ia, [
3295
+ e("div", Qa, [
3296
+ e("div", Ia, [
3297
+ t.showPivot ? (d(), g("div", es, [
3264
3298
  e("button", {
3265
3299
  class: J(["vpg-view-btn", { active: ue.value === "grid" }]),
3266
- onClick: n[0] || (n[0] = (k) => ue.value = "grid")
3300
+ onClick: n[0] || (n[0] = (w) => ue.value = "grid")
3267
3301
  }, [...n[17] || (n[17] = [
3268
3302
  e("svg", {
3269
3303
  class: "vpg-icon",
@@ -3282,7 +3316,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3282
3316
  ])], 2),
3283
3317
  e("button", {
3284
3318
  class: J(["vpg-view-btn vpg-pivot-btn", { active: ue.value === "pivot" }]),
3285
- onClick: n[1] || (n[1] = (k) => ue.value = "pivot")
3319
+ onClick: n[1] || (n[1] = (w) => ue.value = "pivot")
3286
3320
  }, [...n[18] || (n[18] = [
3287
3321
  e("svg", {
3288
3322
  class: "vpg-icon",
@@ -3301,8 +3335,8 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3301
3335
  ])], 2)
3302
3336
  ])) : z("", !0),
3303
3337
  ue.value === "grid" ? (d(), g(_, { key: 1 }, [
3304
- t.enableSearch ? (d(), g("div", es, [
3305
- w.value ? (d(), g("div", ts, [
3338
+ t.enableSearch ? (d(), g("div", ts, [
3339
+ b.value ? (d(), g("div", ls, [
3306
3340
  n[21] || (n[21] = e("svg", {
3307
3341
  class: "vpg-search-icon",
3308
3342
  fill: "none",
@@ -3317,12 +3351,12 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3317
3351
  })
3318
3352
  ], -1)),
3319
3353
  He(e("input", {
3320
- "onUpdate:modelValue": n[3] || (n[3] = (k) => F.value = k),
3354
+ "onUpdate:modelValue": n[3] || (n[3] = (w) => F.value = w),
3321
3355
  type: "text",
3322
3356
  class: "vpg-search-input",
3323
3357
  placeholder: "Search all columns...",
3324
- onKeydown: n[4] || (n[4] = xl((k) => {
3325
- w.value = !1, F.value = "";
3358
+ onKeydown: n[4] || (n[4] = xl((w) => {
3359
+ b.value = !1, F.value = "";
3326
3360
  }, ["escape"]))
3327
3361
  }, null, 544), [
3328
3362
  [Ie, F.value]
@@ -3330,7 +3364,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3330
3364
  F.value ? (d(), g("button", {
3331
3365
  key: 0,
3332
3366
  class: "vpg-search-clear",
3333
- onClick: n[5] || (n[5] = (k) => F.value = "")
3367
+ onClick: n[5] || (n[5] = (w) => F.value = "")
3334
3368
  }, [...n[20] || (n[20] = [
3335
3369
  e("svg", {
3336
3370
  class: "vpg-icon-xs",
@@ -3350,7 +3384,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3350
3384
  key: 0,
3351
3385
  class: "vpg-icon-btn",
3352
3386
  title: "Search (Ctrl+F)",
3353
- onClick: n[2] || (n[2] = (k) => w.value = !0)
3387
+ onClick: n[2] || (n[2] = (w) => b.value = !0)
3354
3388
  }, [...n[19] || (n[19] = [
3355
3389
  e("svg", {
3356
3390
  class: "vpg-icon",
@@ -3367,17 +3401,17 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3367
3401
  ], -1)
3368
3402
  ])]))
3369
3403
  ])) : z("", !0),
3370
- e("div", ls, [
3404
+ e("div", ns, [
3371
3405
  n[22] || (n[22] = e("span", { class: "vpg-label" }, "Size:", -1)),
3372
- e("div", ns, [
3373
- (d(), g(_, null, oe(j, (k) => e("button", {
3374
- key: k.value,
3375
- class: J(["vpg-font-size-btn", { active: y.value === k.value }]),
3376
- onClick: (K) => y.value = k.value
3377
- }, S(k.label), 11, os)), 64))
3406
+ e("div", os, [
3407
+ (d(), g(_, null, oe(j, (w) => e("button", {
3408
+ key: w.value,
3409
+ class: J(["vpg-font-size-btn", { active: k.value === w.value }]),
3410
+ onClick: (K) => k.value = w.value
3411
+ }, S(w.label), 11, as)), 64))
3378
3412
  ])
3379
3413
  ]),
3380
- ut.value > 0 ? (d(), g("div", as, [
3414
+ ut.value > 0 ? (d(), g("div", ss, [
3381
3415
  n[23] || (n[23] = e("svg", {
3382
3416
  class: "vpg-icon",
3383
3417
  fill: "currentColor",
@@ -3391,14 +3425,14 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3391
3425
  ], -1)),
3392
3426
  e("span", null, S(ut.value) + " filter" + S(ut.value > 1 ? "s" : ""), 1)
3393
3427
  ])) : z("", !0),
3394
- F.value ? (d(), g("div", ss, [
3428
+ F.value ? (d(), g("div", is, [
3395
3429
  e("span", null, S(ie.value) + " match" + S(ie.value !== 1 ? "es" : ""), 1)
3396
3430
  ])) : z("", !0)
3397
3431
  ], 64)) : z("", !0),
3398
- ue.value === "pivot" && T(s) ? (d(), g(_, { key: 2 }, [
3432
+ ue.value === "pivot" && D(i) ? (d(), g(_, { key: 2 }, [
3399
3433
  e("button", {
3400
3434
  class: J(["vpg-config-toggle", { active: Ze.value }]),
3401
- onClick: n[6] || (n[6] = (k) => Ze.value = !Ze.value)
3435
+ onClick: n[6] || (n[6] = (w) => Ze.value = !Ze.value)
3402
3436
  }, [
3403
3437
  n[24] || (n[24] = e("svg", {
3404
3438
  class: "vpg-icon",
@@ -3415,7 +3449,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3415
3449
  ], -1)),
3416
3450
  ee(" " + S(Ze.value ? "Hide" : "Show") + " Config ", 1)
3417
3451
  ], 2),
3418
- T(Ge) ? (d(), g("div", is, [...n[25] || (n[25] = [
3452
+ D(Ge) ? (d(), g("div", rs, [...n[25] || (n[25] = [
3419
3453
  e("svg", {
3420
3454
  class: "vpg-icon",
3421
3455
  fill: "currentColor",
@@ -3431,12 +3465,12 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3431
3465
  ])])) : z("", !0)
3432
3466
  ], 64)) : z("", !0)
3433
3467
  ]),
3434
- e("div", rs, [
3468
+ e("div", us, [
3435
3469
  ue.value === "grid" && ut.value > 0 ? (d(), g("button", {
3436
3470
  key: 0,
3437
3471
  class: "vpg-clear-filters",
3438
3472
  onClick: n[7] || (n[7] = //@ts-ignore
3439
- (...k) => T(G) && T(G)(...k))
3473
+ (...w) => D(G) && D(G)(...w))
3440
3474
  }, [...n[26] || (n[26] = [
3441
3475
  e("svg", {
3442
3476
  class: "vpg-icon",
@@ -3453,7 +3487,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3453
3487
  ], -1),
3454
3488
  ee(" Clear Filters ", -1)
3455
3489
  ])])) : z("", !0),
3456
- t.enableClipboard && ke.value && ue.value === "grid" ? (d(), g("button", {
3490
+ t.enableClipboard && ye.value && ue.value === "grid" ? (d(), g("button", {
3457
3491
  key: 1,
3458
3492
  class: "vpg-icon-btn",
3459
3493
  title: "Copy selection (Ctrl+C)",
@@ -3473,7 +3507,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3473
3507
  })
3474
3508
  ], -1)
3475
3509
  ])])) : z("", !0),
3476
- t.enableExport && (ue.value === "grid" || ue.value === "pivot" && T(Ge)) ? (d(), g("button", {
3510
+ t.enableExport && (ue.value === "grid" || ue.value === "pivot" && D(Ge)) ? (d(), g("button", {
3477
3511
  key: 2,
3478
3512
  class: "vpg-export-btn",
3479
3513
  title: ue.value === "pivot" ? "Export Pivot to CSV" : "Export to CSV",
@@ -3493,20 +3527,20 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3493
3527
  })
3494
3528
  ], -1)),
3495
3529
  ee(" Export" + S(ue.value === "pivot" ? " Pivot" : ""), 1)
3496
- ], 8, us)) : z("", !0)
3530
+ ], 8, cs)) : z("", !0)
3497
3531
  ])
3498
3532
  ]),
3499
3533
  ue.value === "grid" ? (d(), g("div", {
3500
3534
  key: 0,
3501
3535
  ref_key: "tableContainerRef",
3502
- ref: ft,
3536
+ ref: mt,
3503
3537
  class: "vpg-grid-container",
3504
3538
  tabindex: "0"
3505
3539
  }, [
3506
- t.loading ? (d(), g("div", cs, [...n[29] || (n[29] = [
3540
+ t.loading ? (d(), g("div", vs, [...n[29] || (n[29] = [
3507
3541
  e("div", { class: "vpg-spinner" }, null, -1),
3508
3542
  e("span", null, "Loading data...", -1)
3509
- ])])) : t.data.length === 0 ? (d(), g("div", vs, [...n[30] || (n[30] = [
3543
+ ])])) : t.data.length === 0 ? (d(), g("div", ds, [...n[30] || (n[30] = [
3510
3544
  e("div", { class: "vpg-empty-icon" }, [
3511
3545
  e("svg", {
3512
3546
  class: "vpg-icon-lg",
@@ -3523,7 +3557,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3523
3557
  ])
3524
3558
  ], -1),
3525
3559
  e("span", null, "No data available", -1)
3526
- ])])) : T(M) === 0 ? (d(), g("div", ds, [
3560
+ ])])) : D(M) === 0 ? (d(), g("div", gs, [
3527
3561
  n[31] || (n[31] = e("div", { class: "vpg-empty-icon vpg-warning" }, [
3528
3562
  e("svg", {
3529
3563
  class: "vpg-icon-lg",
@@ -3543,36 +3577,36 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3543
3577
  e("button", {
3544
3578
  class: "vpg-clear-link",
3545
3579
  onClick: n[8] || (n[8] = //@ts-ignore
3546
- (...k) => T(G) && T(G)(...k))
3580
+ (...w) => D(G) && D(G)(...w))
3547
3581
  }, " Clear all filters ")
3548
- ])) : (d(), g("div", gs, [
3582
+ ])) : (d(), g("div", ps, [
3549
3583
  e("table", {
3550
3584
  class: "vpg-table",
3551
- style: ye({ minWidth: `${Sl.value}px` })
3585
+ style: ke({ minWidth: `${Sl.value}px` })
3552
3586
  }, [
3553
3587
  e("thead", null, [
3554
3588
  e("tr", null, [
3555
- (d(!0), g(_, null, oe(T(A), (k, K) => (d(), g("th", {
3556
- key: k,
3589
+ (d(!0), g(_, null, oe(D(L), (w, K) => (d(), g("th", {
3590
+ key: w,
3557
3591
  class: J(["vpg-header-cell", {
3558
- "vpg-has-filter": T(c)(k),
3559
- "vpg-is-sorted": T(de)(k) !== null,
3560
- "vpg-is-active": ce.value === k
3592
+ "vpg-has-filter": D(c)(w),
3593
+ "vpg-is-sorted": D(de)(w) !== null,
3594
+ "vpg-is-active": ce.value === w
3561
3595
  }]),
3562
- style: ye({ width: `${xe.value[k] || Ae}px`, minWidth: `${xe.value[k] || Ae}px` }),
3596
+ style: ke({ width: `${xe.value[w] || Ae}px`, minWidth: `${xe.value[w] || Ae}px` }),
3563
3597
  onClick: (Y) => fl(K, Y)
3564
3598
  }, [
3565
- e("div", fs, [
3566
- e("span", ms, S(k), 1),
3567
- e("div", hs, [
3568
- T(de)(k) ? (d(), g("span", ws, [
3569
- T(de)(k) === "asc" ? (d(), g("svg", Cs, [...n[33] || (n[33] = [
3599
+ e("div", ms, [
3600
+ e("span", hs, S(w), 1),
3601
+ e("div", ws, [
3602
+ D(de)(w) ? (d(), g("span", Cs, [
3603
+ D(de)(w) === "asc" ? (d(), g("svg", bs, [...n[33] || (n[33] = [
3570
3604
  e("path", {
3571
3605
  "fill-rule": "evenodd",
3572
3606
  d: "M14.707 12.707a1 1 0 01-1.414 0L10 9.414l-3.293 3.293a1 1 0 01-1.414-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 010 1.414z",
3573
3607
  "clip-rule": "evenodd"
3574
3608
  }, null, -1)
3575
- ])])) : (d(), g("svg", bs, [...n[34] || (n[34] = [
3609
+ ])])) : (d(), g("svg", ys, [...n[34] || (n[34] = [
3576
3610
  e("path", {
3577
3611
  "fill-rule": "evenodd",
3578
3612
  d: "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",
@@ -3580,7 +3614,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3580
3614
  }, null, -1)
3581
3615
  ])]))
3582
3616
  ])) : z("", !0),
3583
- T(c)(k) ? (d(), g("span", ks, [...n[35] || (n[35] = [
3617
+ D(c)(w) ? (d(), g("span", ks, [...n[35] || (n[35] = [
3584
3618
  e("svg", {
3585
3619
  class: "vpg-icon-xs",
3586
3620
  fill: "currentColor",
@@ -3616,57 +3650,57 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3616
3650
  t.enableColumnResize ? (d(), g("div", {
3617
3651
  key: 0,
3618
3652
  class: "vpg-resize-handle",
3619
- onMousedown: (Y) => tl(k, Y)
3620
- }, null, 40, ys)) : z("", !0)
3621
- ], 14, ps))), 128))
3653
+ onMousedown: (Y) => tl(w, Y)
3654
+ }, null, 40, Fs)) : z("", !0)
3655
+ ], 14, fs))), 128))
3622
3656
  ])
3623
3657
  ]),
3624
3658
  e("tbody", {
3625
3659
  ref_key: "tableBodyRef",
3626
3660
  ref: Rt
3627
3661
  }, [
3628
- (d(!0), g(_, null, oe(pe.value, (k, K) => (d(), g("tr", {
3629
- key: k.id,
3662
+ (d(!0), g(_, null, oe(pe.value, (w, K) => (d(), g("tr", {
3663
+ key: w.id,
3630
3664
  class: "vpg-row"
3631
3665
  }, [
3632
- (d(!0), g(_, null, oe(T(A), (Y, se) => (d(), g("td", {
3666
+ (d(!0), g(_, null, oe(D(L), (Y, se) => (d(), g("td", {
3633
3667
  key: Y,
3634
3668
  class: J(["vpg-cell", {
3635
3669
  "vpg-selected": bl(K, se),
3636
- "vpg-is-number": T(o)(Y).type === "number"
3670
+ "vpg-is-number": D(o)(Y).type === "number"
3637
3671
  }]),
3638
3672
  "data-row": K,
3639
3673
  "data-col": se,
3640
- style: ye({ width: `${xe.value[Y] || Ae}px`, minWidth: `${xe.value[Y] || Ae}px` }),
3674
+ style: ke({ width: `${xe.value[Y] || Ae}px`, minWidth: `${xe.value[Y] || Ae}px` }),
3641
3675
  onMousedown: (ae) => wl(K, se, ae),
3642
3676
  onMouseenter: (ae) => Cl(K, se)
3643
- }, S(Fl(k.original[Y], Y)), 47, Fs))), 128))
3677
+ }, S(Fl(w.original[Y], Y)), 47, Ss))), 128))
3644
3678
  ]))), 128))
3645
3679
  ], 512)
3646
3680
  ], 4)
3647
3681
  ]))
3648
- ], 512)) : (d(), g("div", Ss, [
3649
- Ze.value && T(s) ? (d(), g("div", $s, [
3682
+ ], 512)) : (d(), g("div", $s, [
3683
+ Ze.value && D(i) ? (d(), g("div", Ms, [
3650
3684
  Ke(Wo, {
3651
- "available-fields": T(st),
3652
- "row-fields": T(Ve),
3653
- "column-fields": T(Ne),
3654
- "value-fields": T(ze),
3655
- "show-row-totals": T(qe),
3656
- "show-column-totals": T(_e),
3685
+ "available-fields": D(st),
3686
+ "row-fields": D(Ve),
3687
+ "column-fields": D(Ne),
3688
+ "value-fields": D(ze),
3689
+ "show-row-totals": D(qe),
3690
+ "show-column-totals": D(_e),
3657
3691
  "calculated-fields": Fe.value,
3658
- "onUpdate:showRowTotals": n[9] || (n[9] = (k) => qe.value = k),
3659
- "onUpdate:showColumnTotals": n[10] || (n[10] = (k) => _e.value = k),
3660
- onClearConfig: T(H),
3692
+ "onUpdate:showRowTotals": n[9] || (n[9] = (w) => qe.value = w),
3693
+ "onUpdate:showColumnTotals": n[10] || (n[10] = (w) => _e.value = w),
3694
+ onClearConfig: D(H),
3661
3695
  onDragStart: sl,
3662
3696
  onDragEnd: il,
3663
- onUpdateAggregation: T(L),
3664
- onAddRowField: T(Xe),
3665
- onRemoveRowField: T(Ye),
3666
- onAddColumnField: T(D),
3667
- onRemoveColumnField: T(p),
3668
- onAddValueField: T(E),
3669
- onRemoveValueField: T(b),
3697
+ onUpdateAggregation: D(V),
3698
+ onAddRowField: D(Xe),
3699
+ onRemoveRowField: D(Ye),
3700
+ onAddColumnField: D(T),
3701
+ onRemoveColumnField: D(p),
3702
+ onAddValueField: D(E),
3703
+ onRemoveValueField: D(C),
3670
3704
  onAddCalculatedField: nl,
3671
3705
  onRemoveCalculatedField: ol,
3672
3706
  onUpdateCalculatedField: al
@@ -3675,55 +3709,55 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3675
3709
  e("div", {
3676
3710
  class: J(["vpg-pivot-main", { "vpg-full-width": !Ze.value }])
3677
3711
  }, [
3678
- Ke(Ya, {
3679
- "row-fields": T(Ve),
3680
- "column-fields": T(Ne),
3681
- "value-fields": T(ze),
3712
+ Ke(Za, {
3713
+ "row-fields": D(Ve),
3714
+ "column-fields": D(Ne),
3715
+ "value-fields": D(ze),
3682
3716
  "calculated-fields": Fe.value,
3683
- "is-configured": T(Ge),
3684
- "dragging-field": pt.value,
3685
- "pivot-result": T(we),
3686
- "font-size": y.value,
3717
+ "is-configured": D(Ge),
3718
+ "dragging-field": ft.value,
3719
+ "pivot-result": D(we),
3720
+ "font-size": k.value,
3687
3721
  "active-filters": lt.value,
3688
- "total-row-count": T(i),
3689
- "filtered-row-count": T(M),
3690
- onAddRowField: T(Xe),
3691
- onRemoveRowField: T(Ye),
3692
- onAddColumnField: T(D),
3693
- onRemoveColumnField: T(p),
3694
- onAddValueField: T(E),
3695
- onRemoveValueField: T(b),
3696
- onUpdateAggregation: T(L),
3722
+ "total-row-count": D(s),
3723
+ "filtered-row-count": D(M),
3724
+ onAddRowField: D(Xe),
3725
+ onRemoveRowField: D(Ye),
3726
+ onAddColumnField: D(T),
3727
+ onRemoveColumnField: D(p),
3728
+ onAddValueField: D(E),
3729
+ onRemoveValueField: D(C),
3730
+ onUpdateAggregation: D(V),
3697
3731
  onReorderRowFields: rl,
3698
3732
  onReorderColumnFields: ul
3699
3733
  }, null, 8, ["row-fields", "column-fields", "value-fields", "calculated-fields", "is-configured", "dragging-field", "pivot-result", "font-size", "active-filters", "total-row-count", "filtered-row-count", "onAddRowField", "onRemoveRowField", "onAddColumnField", "onRemoveColumnField", "onAddValueField", "onRemoveValueField", "onUpdateAggregation"])
3700
3734
  ], 2)
3701
3735
  ])),
3702
- e("div", Ms, [
3703
- e("div", xs, [
3736
+ e("div", xs, [
3737
+ e("div", Rs, [
3704
3738
  ue.value === "grid" ? (d(), g(_, { key: 0 }, [
3705
3739
  t.enablePagination ? (d(), g(_, { key: 0 }, [
3706
3740
  e("span", null, S(Ce.value.toLocaleString()) + "-" + S(ge.value.toLocaleString()), 1),
3707
3741
  n[37] || (n[37] = e("span", { class: "vpg-separator" }, "of", -1)),
3708
3742
  e("span", null, S(ie.value.toLocaleString()), 1),
3709
- ie.value !== T(i) ? (d(), g("span", Rs, " (" + S(T(i).toLocaleString()) + " total) ", 1)) : z("", !0)
3710
- ], 64)) : T(M) === T(i) && ie.value === T(i) ? (d(), g("span", Ds, S(T(i).toLocaleString()) + " records", 1)) : (d(), g(_, { key: 2 }, [
3711
- e("span", Ts, S(ie.value.toLocaleString()), 1),
3743
+ ie.value !== D(s) ? (d(), g("span", Ts, " (" + S(D(s).toLocaleString()) + " total) ", 1)) : z("", !0)
3744
+ ], 64)) : D(M) === D(s) && ie.value === D(s) ? (d(), g("span", Ds, S(D(s).toLocaleString()) + " records", 1)) : (d(), g(_, { key: 2 }, [
3745
+ e("span", Vs, S(ie.value.toLocaleString()), 1),
3712
3746
  n[38] || (n[38] = e("span", { class: "vpg-separator" }, "of", -1)),
3713
- e("span", null, S(T(i).toLocaleString()), 1),
3747
+ e("span", null, S(D(s).toLocaleString()), 1),
3714
3748
  n[39] || (n[39] = e("span", { class: "vpg-separator" }, "records", -1))
3715
3749
  ], 64))
3716
3750
  ], 64)) : (d(), g(_, { key: 1 }, [
3717
3751
  n[40] || (n[40] = e("span", { class: "vpg-pivot-label" }, "Pivot Table", -1)),
3718
3752
  n[41] || (n[41] = e("span", { class: "vpg-separator" }, "•", -1)),
3719
- e("span", null, S(T(i).toLocaleString()) + " source records", 1)
3753
+ e("span", null, S(D(s).toLocaleString()) + " source records", 1)
3720
3754
  ], 64))
3721
3755
  ]),
3722
- t.enablePagination && ue.value === "grid" && re.value > 1 ? (d(), g("div", Vs, [
3756
+ t.enablePagination && ue.value === "grid" && re.value > 1 ? (d(), g("div", As, [
3723
3757
  e("button", {
3724
3758
  class: "vpg-page-btn",
3725
3759
  disabled: x.value === 1,
3726
- onClick: n[11] || (n[11] = (k) => x.value = 1)
3760
+ onClick: n[11] || (n[11] = (w) => x.value = 1)
3727
3761
  }, [...n[42] || (n[42] = [
3728
3762
  e("svg", {
3729
3763
  class: "vpg-icon-sm",
@@ -3738,7 +3772,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3738
3772
  d: "M11 19l-7-7 7-7m8 14l-7-7 7-7"
3739
3773
  })
3740
3774
  ], -1)
3741
- ])], 8, As),
3775
+ ])], 8, Ls),
3742
3776
  e("button", {
3743
3777
  class: "vpg-page-btn",
3744
3778
  disabled: x.value === 1,
@@ -3757,8 +3791,8 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3757
3791
  d: "M15 19l-7-7 7-7"
3758
3792
  })
3759
3793
  ], -1)
3760
- ])], 8, Ls),
3761
- e("span", Ns, " Page " + S(x.value) + " of " + S(re.value), 1),
3794
+ ])], 8, Ns),
3795
+ e("span", zs, " Page " + S(x.value) + " of " + S(re.value), 1),
3762
3796
  e("button", {
3763
3797
  class: "vpg-page-btn",
3764
3798
  disabled: x.value === re.value,
@@ -3777,11 +3811,11 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3777
3811
  d: "M9 5l7 7-7 7"
3778
3812
  })
3779
3813
  ], -1)
3780
- ])], 8, zs),
3814
+ ])], 8, Ps),
3781
3815
  e("button", {
3782
3816
  class: "vpg-page-btn",
3783
3817
  disabled: x.value === re.value,
3784
- onClick: n[12] || (n[12] = (k) => x.value = re.value)
3818
+ onClick: n[12] || (n[12] = (w) => x.value = re.value)
3785
3819
  }, [...n[45] || (n[45] = [
3786
3820
  e("svg", {
3787
3821
  class: "vpg-icon-sm",
@@ -3796,28 +3830,28 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3796
3830
  d: "M13 5l7 7-7 7M5 5l7 7-7 7"
3797
3831
  })
3798
3832
  ], -1)
3799
- ])], 8, Ps)
3833
+ ])], 8, Es)
3800
3834
  ])) : z("", !0),
3801
- ue.value === "grid" && Je.value && Je.value.count > 1 ? (d(), g("div", Es, [
3802
- e("span", Bs, [
3835
+ ue.value === "grid" && Je.value && Je.value.count > 1 ? (d(), g("div", Bs, [
3836
+ e("span", js, [
3803
3837
  n[46] || (n[46] = e("span", { class: "vpg-stat-label" }, "Count:", -1)),
3804
- e("span", js, S(Je.value.count), 1)
3838
+ e("span", Us, S(Je.value.count), 1)
3805
3839
  ]),
3806
3840
  Je.value.numericCount > 0 ? (d(), g(_, { key: 0 }, [
3807
3841
  n[49] || (n[49] = e("span", { class: "vpg-stat-divider" }, "|", -1)),
3808
- e("span", Us, [
3842
+ e("span", Hs, [
3809
3843
  n[47] || (n[47] = e("span", { class: "vpg-stat-label" }, "Sum:", -1)),
3810
- e("span", Hs, S(Tt(Je.value.sum)), 1)
3844
+ e("span", Ks, S(Dt(Je.value.sum)), 1)
3811
3845
  ]),
3812
3846
  n[50] || (n[50] = e("span", { class: "vpg-stat-divider" }, "|", -1)),
3813
- e("span", Ks, [
3847
+ e("span", Os, [
3814
3848
  n[48] || (n[48] = e("span", { class: "vpg-stat-label" }, "Avg:", -1)),
3815
- e("span", Os, S(Tt(Je.value.avg)), 1)
3849
+ e("span", Ws, S(Dt(Je.value.avg)), 1)
3816
3850
  ])
3817
3851
  ], 64)) : z("", !0)
3818
3852
  ])) : z("", !0),
3819
- e("div", Ws, [
3820
- T(f) ? (d(), g("div", qs, [...n[51] || (n[51] = [
3853
+ e("div", qs, [
3854
+ D(f) ? (d(), g("div", _s, [...n[51] || (n[51] = [
3821
3855
  e("span", { class: "vpg-demo-badge" }, "DEMO", -1),
3822
3856
  e("span", null, "Pro features enabled", -1),
3823
3857
  e("a", {
@@ -3825,8 +3859,8 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3825
3859
  target: "_blank",
3826
3860
  rel: "noopener"
3827
3861
  }, "Get License →", -1)
3828
- ])])) : T(a) ? (d(), g("span", _s, [...n[52] || (n[52] = [
3829
- Rl('<a href="https://tiny-pivot.com" target="_blank" rel="noopener" data-v-c01a23b6><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-c01a23b6><rect x="3" y="3" width="7" height="7" data-v-c01a23b6></rect><rect x="14" y="3" width="7" height="7" data-v-c01a23b6></rect><rect x="14" y="14" width="7" height="7" data-v-c01a23b6></rect><rect x="3" y="14" width="7" height="7" data-v-c01a23b6></rect></svg> Powered by TinyPivot </a>', 1)
3862
+ ])])) : D(a) ? (d(), g("span", Gs, [...n[52] || (n[52] = [
3863
+ Rl('<a href="https://tiny-pivot.com" target="_blank" rel="noopener" data-v-8f2b59ce><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-8f2b59ce><rect x="3" y="3" width="7" height="7" data-v-8f2b59ce></rect><rect x="14" y="3" width="7" height="7" data-v-8f2b59ce></rect><rect x="14" y="14" width="7" height="7" data-v-8f2b59ce></rect><rect x="3" y="14" width="7" height="7" data-v-8f2b59ce></rect></svg> Powered by TinyPivot </a>', 1)
3830
3864
  ])])) : z("", !0)
3831
3865
  ])
3832
3866
  ]),
@@ -3845,7 +3879,7 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3845
3879
  ce.value ? (d(), g("div", {
3846
3880
  key: 0,
3847
3881
  class: "vpg-filter-portal",
3848
- style: ye({
3882
+ style: ke({
3849
3883
  position: "fixed",
3850
3884
  top: `${it.value.top}px`,
3851
3885
  left: `${it.value.left}px`,
@@ -3856,41 +3890,41 @@ const wn = { class: "vpg-range-filter" }, Cn = { class: "vpg-range-info" }, bn =
3856
3890
  Ke(Gn, {
3857
3891
  "column-id": ce.value,
3858
3892
  "column-name": ce.value,
3859
- stats: T(o)(ce.value),
3860
- "selected-values": T(X)(ce.value),
3861
- "sort-direction": T(de)(ce.value),
3862
- "numeric-range": T(We)(ce.value),
3863
- onFilter: n[13] || (n[13] = (k) => vl(ce.value, k)),
3864
- onRangeFilter: n[14] || (n[14] = (k) => dl(ce.value, k)),
3865
- onSort: n[15] || (n[15] = (k) => gl(ce.value, k)),
3893
+ stats: D(o)(ce.value),
3894
+ "selected-values": D(X)(ce.value),
3895
+ "sort-direction": D(de)(ce.value),
3896
+ "numeric-range": D(We)(ce.value),
3897
+ onFilter: n[13] || (n[13] = (w) => vl(ce.value, w)),
3898
+ onRangeFilter: n[14] || (n[14] = (w) => dl(ce.value, w)),
3899
+ onSort: n[15] || (n[15] = (w) => gl(ce.value, w)),
3866
3900
  onClose: rt
3867
3901
  }, null, 8, ["column-id", "column-name", "stats", "selected-values", "sort-direction", "numeric-range"])
3868
3902
  ], 4)) : z("", !0)
3869
3903
  ]))
3870
3904
  ], 6));
3871
3905
  }
3872
- }), ni = /* @__PURE__ */ tt(Gs, [["__scopeId", "data-v-c01a23b6"]]);
3906
+ }), oi = /* @__PURE__ */ tt(Xs, [["__scopeId", "data-v-8f2b59ce"]]);
3873
3907
  export {
3874
3908
  Gn as ColumnFilter,
3875
- ni as DataGrid,
3909
+ oi as DataGrid,
3876
3910
  Wo as PivotConfig,
3877
- Ya as PivotSkeleton,
3878
- Qs as configureLicenseSecret,
3911
+ Za as PivotSkeleton,
3912
+ Is as configureLicenseSecret,
3879
3913
  mn as copyToClipboard,
3880
- Js as enableDemoMode,
3914
+ Qs as enableDemoMode,
3881
3915
  fn as exportPivotToCSV,
3882
3916
  pn as exportToCSV,
3883
3917
  Pl as formatCellValue,
3884
3918
  hn as formatSelectionForClipboard,
3885
- dt as getAggregationLabel,
3919
+ gt as getAggregationLabel,
3886
3920
  zl as getColumnUniqueValues,
3887
- Zs as setLicenseKey,
3888
- li as useColumnResize,
3921
+ Js as setLicenseKey,
3922
+ ni as useColumnResize,
3889
3923
  vn as useExcelGrid,
3890
- ei as useGlobalSearch,
3891
- gt as useLicense,
3892
- Is as usePagination,
3924
+ ti as useGlobalSearch,
3925
+ pt as useLicense,
3926
+ ei as usePagination,
3893
3927
  gn as usePivotTable,
3894
- ti as useRowSelection
3928
+ li as useRowSelection
3895
3929
  };
3896
3930
  //# sourceMappingURL=tinypivot-vue.js.map