@smallwebco/tinypivot-vue 1.0.62 → 1.0.63

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,4 +1,4 @@
1
- import { ref as E, computed as z, onMounted as vt, defineComponent as tt, watch as qe, nextTick as ct, createElementBlock as u, openBlock as i, normalizeClass as ie, unref as R, createElementVNode as e, createStaticVNode as bt, Fragment as te, createCommentVNode as O, withDirectives as We, vModelText as et, renderList as ve, toDisplayString as C, withModifiers as Ie, createTextVNode as ce, createBlock as kt, Teleport as rn, vModelSelect as sa, defineAsyncComponent as ra, Suspense as ia, withCtx as xt, normalizeStyle as ze, onUnmounted as Tt, createVNode as Je, Transition as un, withKeys as ua, vShow as ca } from "vue";
1
+ import { ref as E, computed as z, onMounted as vt, defineComponent as tt, watch as Ie, nextTick as ct, createElementBlock as u, openBlock as i, normalizeClass as ie, unref as R, createElementVNode as e, createStaticVNode as bt, Fragment as te, createCommentVNode as O, withDirectives as We, vModelText as et, renderList as ve, toDisplayString as C, withModifiers as qe, createTextVNode as ce, createBlock as kt, Teleport as rn, vModelSelect as sa, defineAsyncComponent as ra, Suspense as ia, withCtx as xt, normalizeStyle as ze, onUnmounted as Tt, createVNode as Je, Transition as un, withKeys as ua, vShow as ca } from "vue";
2
2
  import { useVueTable as da, getFilteredRowModel as va, getSortedRowModel as pa, getCoreRowModel as ga } from "@tanstack/vue-table";
3
3
  const ma = /* @__PURE__ */ new Map([
4
4
  ["sales", {
@@ -437,7 +437,7 @@ ${v.length > 0 ? ka(v) : ""}
437
437
 
438
438
  ## Query Rules
439
439
  1. **READ-ONLY**: ONLY use SELECT. NEVER use INSERT, UPDATE, DELETE, DROP, ALTER, TRUNCATE, or any write operations.
440
- 2. **LIMIT RESULTS**: Always use LIMIT (default 100-1000 rows) to avoid overwhelming results.
440
+ 2. **NO LIMIT**: Do NOT add LIMIT clauses unless the user explicitly asks for a limited number of results. Return all matching rows by default.
441
441
  3. **PRIMARY TABLE**: The main table is \`${(l == null ? void 0 : l.table) || "table_name"}\`
442
442
  4. **JOINs ALLOWED**: You CAN JOIN with other tables listed in "Related Tables" when the user needs data from multiple tables.
443
443
  5. **BE SPECIFIC**: Select relevant columns, not SELECT * (unless showing sample data)
@@ -446,7 +446,7 @@ ${v.length > 0 ? ka(v) : ""}
446
446
  Output queries in this EXACT format (the system auto-executes SQL blocks):
447
447
 
448
448
  \`\`\`sql
449
- SELECT column1, column2 FROM ${(l == null ? void 0 : l.table) || "table_name"} WHERE condition LIMIT 100
449
+ SELECT column1, column2 FROM ${(l == null ? void 0 : l.table) || "table_name"} WHERE condition
450
450
  \`\`\`
451
451
 
452
452
  For JOINs (when user needs data from related tables):
@@ -455,7 +455,6 @@ SELECT p.column1, r.column2
455
455
  FROM ${(l == null ? void 0 : l.table) || "primary_table"} p
456
456
  JOIN related_table r ON p.foreign_key = r.id
457
457
  WHERE condition
458
- LIMIT 100
459
458
  \`\`\`
460
459
 
461
460
  For complex analysis, use CTEs:
@@ -465,7 +464,7 @@ WITH summary AS (
465
464
  FROM ${(l == null ? void 0 : l.table) || "table_name"}
466
465
  GROUP BY category
467
466
  )
468
- SELECT * FROM summary ORDER BY count DESC LIMIT 20
467
+ SELECT * FROM summary ORDER BY count DESC
469
468
  \`\`\`
470
469
 
471
470
  ## Response Format
@@ -478,7 +477,7 @@ Keep responses concise and insight-focused:
478
477
 
479
478
  Example response:
480
479
  "\`\`\`sql
481
- SELECT department, AVG(salary) as avg_salary FROM employees GROUP BY department ORDER BY avg_salary DESC LIMIT 10
480
+ SELECT department, AVG(salary) as avg_salary FROM employees GROUP BY department ORDER BY avg_salary DESC
482
481
  \`\`\`
483
482
 
484
483
  Engineering and Product teams have the highest average salaries at $145K and $138K respectively, while Support and Operations are at the lower end around $75K. This 2x salary gap may indicate market-driven compensation or role complexity differences.
@@ -1109,7 +1108,7 @@ const gn = {
1109
1108
  charts: !1,
1110
1109
  aiAnalyst: !1
1111
1110
  }
1112
- }, Ia = {
1111
+ }, qa = {
1113
1112
  type: "free",
1114
1113
  isValid: !0,
1115
1114
  features: {
@@ -1124,7 +1123,7 @@ const gn = {
1124
1123
  aiAnalyst: !0
1125
1124
  // Demo can use AI Analyst
1126
1125
  }
1127
- }, qa = `-----BEGIN PUBLIC KEY-----
1126
+ }, Ia = `-----BEGIN PUBLIC KEY-----
1128
1127
  MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE436rfGofder4lfo4UHsRF2M88Gs0
1129
1128
  zLsikg2H9GMkL8hLGuOtnGMpVfLRlc7cD8FdkPBBRgiQ8UFnG8hm+nMIug==
1130
1129
  -----END PUBLIC KEY-----`;
@@ -1161,7 +1160,7 @@ function Ha(t) {
1161
1160
  }
1162
1161
  async function ja() {
1163
1162
  try {
1164
- const t = qa.replace("-----BEGIN PUBLIC KEY-----", "").replace("-----END PUBLIC KEY-----", "").replace(/\s/g, ""), a = mn(t);
1163
+ const t = Ia.replace("-----BEGIN PUBLIC KEY-----", "").replace("-----END PUBLIC KEY-----", "").replace(/\s/g, ""), a = mn(t);
1165
1164
  return await crypto.subtle.importKey("spki", new Uint8Array(a).buffer, { name: "ECDSA", namedCurve: "P-256" }, !1, ["verify"]);
1166
1165
  } catch {
1167
1166
  return null;
@@ -1223,7 +1222,7 @@ async function Qa(t) {
1223
1222
  }
1224
1223
  }
1225
1224
  async function Ja(t) {
1226
- return !t || await Qa(t) !== Ka ? null : Ia;
1225
+ return !t || await Qa(t) !== Ka ? null : qa;
1227
1226
  }
1228
1227
  function Xa() {
1229
1228
  return gn;
@@ -1508,15 +1507,15 @@ function fo(t, a) {
1508
1507
  const p = f.get(w);
1509
1508
  for (let m = 0; m < l.length; m++) {
1510
1509
  const N = l[m];
1511
- let I = null;
1510
+ let q = null;
1512
1511
  if (N.field.startsWith("calc:")) {
1513
1512
  const se = N.field.replace("calc:", ""), M = x.get(se);
1514
- M && (I = on(M.formula, K, g));
1513
+ M && (q = on(M.formula, K, g));
1515
1514
  } else {
1516
1515
  const se = K[N.field];
1517
- se != null && se !== "" && (I = typeof se == "number" ? se : Number.parseFloat(String(se)), Number.isNaN(I) && (I = N.aggregation === "count" || N.aggregation === "countDistinct" ? 1 : null));
1516
+ se != null && se !== "" && (q = typeof se == "number" ? se : Number.parseFloat(String(se)), Number.isNaN(q) && (q = N.aggregation === "count" || N.aggregation === "countDistinct" ? 1 : null));
1518
1517
  }
1519
- I !== null && p[m].push(I);
1518
+ q !== null && p[m].push(q);
1520
1519
  }
1521
1520
  }
1522
1521
  const S = Array.from(k).sort(), h = Array.from(F).sort(), L = l.map((K, P) => {
@@ -1566,14 +1565,14 @@ function fo(t, a) {
1566
1565
  const P = [], w = l.map(() => []);
1567
1566
  for (const f of h) {
1568
1567
  const p = D.get(K), m = (p == null ? void 0 : p.get(f)) || l.map(() => []);
1569
- for (let I = 0; I < m.length; I++)
1570
- w[I].push(...m[I]);
1568
+ for (let q = 0; q < m.length; q++)
1569
+ w[q].push(...m[q]);
1571
1570
  W.has(f) || W.set(f, l.map(() => []));
1572
1571
  const N = W.get(f);
1573
- for (let I = 0; I < m.length; I++)
1574
- N[I].push(...m[I]);
1575
- for (let I = 0; I < l.length; I++) {
1576
- const se = l[I], M = m[I] || [], A = L[I], U = yt(M, se.aggregation, A);
1572
+ for (let q = 0; q < m.length; q++)
1573
+ N[q].push(...m[q]);
1574
+ for (let q = 0; q < l.length; q++) {
1575
+ const se = l[q], M = m[q] || [], A = L[q], U = yt(M, se.aggregation, A);
1577
1576
  let $;
1578
1577
  if (se.field.startsWith("calc:")) {
1579
1578
  const Y = se.field.replace("calc:", ""), T = x.get(Y);
@@ -1618,10 +1617,10 @@ function fo(t, a) {
1618
1617
  const m = D.get(p);
1619
1618
  if (m)
1620
1619
  for (const N of h) {
1621
- const I = m.get(N);
1622
- if (I)
1623
- for (let se = 0; se < I.length; se++)
1624
- K[se].push(...I[se]);
1620
+ const q = m.get(N);
1621
+ if (q)
1622
+ for (let se = 0; se < q.length; se++)
1623
+ K[se].push(...q[se]);
1625
1624
  }
1626
1625
  }
1627
1626
  const P = l[0], w = K[0] || [], f = yt(w, P.aggregation, L[0]);
@@ -2068,7 +2067,7 @@ What would you like to know about this data?`
2068
2067
  });
2069
2068
  }
2070
2069
  }
2071
- async function I() {
2070
+ async function q() {
2072
2071
  const $ = g.value.dataSourceId;
2073
2072
  if (!$)
2074
2073
  return null;
@@ -2165,7 +2164,7 @@ What would you like to know about this data?`
2165
2164
  /** Refresh table list from endpoint */
2166
2165
  fetchTables: Z,
2167
2166
  /** Load full data for the currently selected data source */
2168
- loadFullData: I
2167
+ loadFullData: q
2169
2168
  };
2170
2169
  }
2171
2170
  const ko = {
@@ -2189,7 +2188,7 @@ const ko = {
2189
2188
  }, Po = { class: "vpg-ai-suggestions" }, Oo = {
2190
2189
  key: 0,
2191
2190
  class: "vpg-ai-msg vpg-ai-msg-user"
2192
- }, Bo = ["onClick"], Uo = { class: "vpg-ai-result-header" }, Io = { class: "vpg-ai-result-badge" }, qo = { class: "vpg-ai-result-content" }, Ho = {
2191
+ }, Bo = ["onClick"], Uo = { class: "vpg-ai-result-header" }, qo = { class: "vpg-ai-result-badge" }, Io = { class: "vpg-ai-result-content" }, Ho = {
2193
2192
  key: 2,
2194
2193
  class: "vpg-ai-msg vpg-ai-msg-assistant"
2195
2194
  }, jo = { class: "vpg-ai-assistant-content" }, Wo = {
@@ -2298,7 +2297,7 @@ const ko = {
2298
2297
  return ((pe = o.value[Ce].metadata) == null ? void 0 : pe.query) || "";
2299
2298
  return "";
2300
2299
  });
2301
- qe(o, () => {
2300
+ Ie(o, () => {
2302
2301
  ct(() => {
2303
2302
  j.value && (j.value.scrollTop = j.value.scrollHeight);
2304
2303
  });
@@ -2314,7 +2313,7 @@ const ko = {
2314
2313
  function N(H) {
2315
2314
  H.key === "Enter" && !H.shiftKey && (H.preventDefault(), m());
2316
2315
  }
2317
- function I() {
2316
+ function q() {
2318
2317
  w.value.length > 0 && l("viewResults", { data: w.value, query: p.value });
2319
2318
  }
2320
2319
  function se(H) {
@@ -2427,7 +2426,7 @@ const ko = {
2427
2426
  onClick: (Xe) => se(re.id)
2428
2427
  }, [
2429
2428
  e("div", Uo, [
2430
- e("div", Io, [
2429
+ e("div", qo, [
2431
2430
  b[16] || (b[16] = e("svg", {
2432
2431
  viewBox: "0 0 24 24",
2433
2432
  fill: "none",
@@ -2443,7 +2442,7 @@ const ko = {
2443
2442
  key: 0,
2444
2443
  class: ie(["vpg-ai-sql-toggle", { "vpg-ai-sql-expanded": Z.value && W.value === re.id }]),
2445
2444
  title: "View SQL query",
2446
- onClick: b[4] || (b[4] = Ie((Xe) => M(), ["stop"]))
2445
+ onClick: b[4] || (b[4] = qe((Xe) => M(), ["stop"]))
2447
2446
  }, [...b[17] || (b[17] = [
2448
2447
  e("svg", {
2449
2448
  viewBox: "0 0 24 24",
@@ -2457,7 +2456,7 @@ const ko = {
2457
2456
  e("span", null, "SQL", -1)
2458
2457
  ])], 2)) : O("", !0)
2459
2458
  ]),
2460
- e("div", qo, C(J(re)), 1)
2459
+ e("div", Io, C(J(re)), 1)
2461
2460
  ], 10, Bo)) : re.role === "assistant" ? (i(), u("div", Ho, [
2462
2461
  e("div", jo, C(J(re)), 1),
2463
2462
  (He = re.metadata) != null && He.error ? (i(), u("div", Wo, [...b[18] || (b[18] = [
@@ -2501,7 +2500,7 @@ const ko = {
2501
2500
  e("div", Yo, [
2502
2501
  e("form", {
2503
2502
  class: "vpg-ai-input-form",
2504
- onSubmit: Ie(m, ["prevent"])
2503
+ onSubmit: qe(m, ["prevent"])
2505
2504
  }, [
2506
2505
  We(e("textarea", {
2507
2506
  "onUpdate:modelValue": b[5] || (b[5] = (re) => ee.value = re),
@@ -2543,7 +2542,7 @@ const ko = {
2543
2542
  key: 0,
2544
2543
  class: "vpg-ai-action-btn vpg-ai-action-primary",
2545
2544
  title: "View in Grid tab",
2546
- onClick: I
2545
+ onClick: q
2547
2546
  }, [...b[21] || (b[21] = [
2548
2547
  e("svg", {
2549
2548
  viewBox: "0 0 24 24",
@@ -2586,7 +2585,7 @@ const ko = {
2586
2585
  key: 2,
2587
2586
  class: "vpg-ai-preview-view-btn",
2588
2587
  title: "View in Grid",
2589
- onClick: I
2588
+ onClick: q
2590
2589
  }, [...b[23] || (b[23] = [
2591
2590
  e("svg", {
2592
2591
  viewBox: "0 0 24 24",
@@ -2721,7 +2720,7 @@ const ko = {
2721
2720
  ]),
2722
2721
  w.value.length > 100 ? (i(), u("div", yl, [
2723
2722
  ce(" Showing 100 of " + C(w.value.length.toLocaleString()) + " rows. ", 1),
2724
- e("button", { onClick: I }, " View all in Grid ")
2723
+ e("button", { onClick: q }, " View all in Grid ")
2725
2724
  ])) : O("", !0)
2726
2725
  ]))
2727
2726
  ])
@@ -2821,7 +2820,7 @@ const ko = {
2821
2820
  emits: ["close", "save"],
2822
2821
  setup(t, { emit: a }) {
2823
2822
  const n = t, s = a, l = E(""), o = E(""), v = E("number"), c = E(2), x = E(null);
2824
- qe(() => n.show, (S) => {
2823
+ Ie(() => n.show, (S) => {
2825
2824
  S && (n.existingField ? (l.value = n.existingField.name, o.value = n.existingField.formula, v.value = n.existingField.formatAs || "number", c.value = n.existingField.decimals ?? 2) : (l.value = "", o.value = "", v.value = "number", c.value = 2), x.value = null);
2826
2825
  });
2827
2826
  const g = z(() => o.value.trim() ? an(o.value, n.availableFields) : null);
@@ -2855,7 +2854,7 @@ const ko = {
2855
2854
  t.show ? (i(), u("div", {
2856
2855
  key: 0,
2857
2856
  class: "vpg-modal-overlay",
2858
- onClick: h[12] || (h[12] = Ie((L) => s("close"), ["self"]))
2857
+ onClick: h[12] || (h[12] = qe((L) => s("close"), ["self"]))
2859
2858
  }, [
2860
2859
  e("div", Cl, [
2861
2860
  e("div", kl, [
@@ -2977,7 +2976,7 @@ const ko = {
2977
2976
  ])) : O("", !0)
2978
2977
  ]));
2979
2978
  }
2980
- }), Ol = /* @__PURE__ */ lt(Pl, [["__scopeId", "data-v-a29541ff"]]), Bl = { class: "vpg-chart-builder" }, Ul = { class: "vpg-chart-type-bar" }, Il = ["title", "onClick"], ql = {
2979
+ }), Ol = /* @__PURE__ */ lt(Pl, [["__scopeId", "data-v-a29541ff"]]), Bl = { class: "vpg-chart-builder" }, Ul = { class: "vpg-chart-type-bar" }, ql = ["title", "onClick"], Il = {
2981
2980
  class: "vpg-icon",
2982
2981
  viewBox: "0 0 24 24",
2983
2982
  fill: "currentColor"
@@ -3233,7 +3232,7 @@ const ko = {
3233
3232
  title: { text: U.yAxisTitle || A.yAxis.label },
3234
3233
  labels: {
3235
3234
  style: { colors: M ? "#94a3b8" : "#64748b" },
3236
- formatter: (Y) => I(Y, U.valueFormat, U.decimals)
3235
+ formatter: (Y) => q(Y, U.valueFormat, U.decimals)
3237
3236
  }
3238
3237
  }), U.title && ($.title = {
3239
3238
  text: U.title,
@@ -3253,7 +3252,7 @@ const ko = {
3253
3252
  label: "Total",
3254
3253
  formatter: (Y) => {
3255
3254
  const T = Y.globals.seriesTotals.reduce((J, le) => J + le, 0);
3256
- return I(T, U.valueFormat, U.decimals);
3255
+ return q(T, U.valueFormat, U.decimals);
3257
3256
  }
3258
3257
  }
3259
3258
  }
@@ -3316,7 +3315,7 @@ const ko = {
3316
3315
  heatmap: "heatmap"
3317
3316
  }[M] || "bar";
3318
3317
  }
3319
- function I(M, A, U) {
3318
+ function q(M, A, U) {
3320
3319
  if (M == null)
3321
3320
  return "";
3322
3321
  if (typeof M != "number")
@@ -3340,7 +3339,7 @@ const ko = {
3340
3339
  };
3341
3340
  return A[M] || A.bar;
3342
3341
  }
3343
- return qe(() => n.data, () => {
3342
+ return Ie(() => n.data, () => {
3344
3343
  }, { deep: !0 }), vt(() => {
3345
3344
  s("configChange", o.value);
3346
3345
  }), (M, A) => {
@@ -3353,13 +3352,13 @@ const ko = {
3353
3352
  title: _.description,
3354
3353
  onClick: (H) => K(_.type)
3355
3354
  }, [
3356
- (i(), u("svg", ql, [
3355
+ (i(), u("svg", Il, [
3357
3356
  e("path", {
3358
3357
  d: se(_.type)
3359
3358
  }, null, 8, Hl)
3360
3359
  ])),
3361
3360
  e("span", jl, C(_.label.replace(" Chart", "")), 1)
3362
- ], 10, Il))), 128))
3361
+ ], 10, ql))), 128))
3363
3362
  ]),
3364
3363
  e("div", Wl, [
3365
3364
  e("div", Gl, [
@@ -3629,7 +3628,7 @@ const ko = {
3629
3628
  ]);
3630
3629
  };
3631
3630
  }
3632
- }), zs = { class: "vpg-range-filter" }, Ps = { class: "vpg-range-info" }, Os = { class: "vpg-range-bounds" }, Bs = { class: "vpg-slider-container" }, Us = { class: "vpg-slider-track" }, Is = ["min", "max", "step", "value"], qs = ["min", "max", "step", "value"], Hs = { class: "vpg-range-inputs" }, js = { class: "vpg-input-group" }, Ws = ["placeholder", "value", "step"], Gs = { class: "vpg-input-group" }, Ys = ["placeholder", "value", "step"], Ks = { class: "vpg-range-actions" }, Qs = ["disabled"], Js = {
3631
+ }), zs = { class: "vpg-range-filter" }, Ps = { class: "vpg-range-info" }, Os = { class: "vpg-range-bounds" }, Bs = { class: "vpg-slider-container" }, Us = { class: "vpg-slider-track" }, qs = ["min", "max", "step", "value"], Is = ["min", "max", "step", "value"], Hs = { class: "vpg-range-inputs" }, js = { class: "vpg-input-group" }, Ws = ["placeholder", "value", "step"], Gs = { class: "vpg-input-group" }, Ys = ["placeholder", "value", "step"], Ks = { class: "vpg-range-actions" }, Qs = ["disabled"], Js = {
3633
3632
  key: 0,
3634
3633
  class: "vpg-filter-summary"
3635
3634
  }, Xs = /* @__PURE__ */ tt({
@@ -3675,7 +3674,7 @@ const ko = {
3675
3674
  function ne() {
3676
3675
  l.value === null && o.value === null ? s("change", null) : s("change", { min: l.value, max: o.value });
3677
3676
  }
3678
- return qe(() => n.currentRange, (j) => {
3677
+ return Ie(() => n.currentRange, (j) => {
3679
3678
  l.value = (j == null ? void 0 : j.min) ?? null, o.value = (j == null ? void 0 : j.max) ?? null;
3680
3679
  }, { immediate: !0 }), (j, W) => (i(), u("div", zs, [
3681
3680
  e("div", Ps, [
@@ -3701,7 +3700,7 @@ const ko = {
3701
3700
  value: l.value ?? t.dataMin,
3702
3701
  onInput: F,
3703
3702
  onChange: ne
3704
- }, null, 40, Is),
3703
+ }, null, 40, qs),
3705
3704
  e("input", {
3706
3705
  type: "range",
3707
3706
  class: "vpg-slider vpg-slider-max",
@@ -3711,7 +3710,7 @@ const ko = {
3711
3710
  value: o.value ?? t.dataMax,
3712
3711
  onInput: D,
3713
3712
  onChange: ne
3714
- }, null, 40, qs)
3713
+ }, null, 40, Is)
3715
3714
  ]),
3716
3715
  e("div", Hs, [
3717
3716
  e("div", js, [
@@ -3880,9 +3879,9 @@ const ko = {
3880
3879
  }), document.addEventListener("mousedown", P), document.addEventListener("keydown", w);
3881
3880
  }), Tt(() => {
3882
3881
  document.removeEventListener("mousedown", P), document.removeEventListener("keydown", w);
3883
- }), qe(() => n.selectedValues, (f) => {
3882
+ }), Ie(() => n.selectedValues, (f) => {
3884
3883
  k.value = new Set(f);
3885
- }, { immediate: !0 }), qe(() => n.numericRange, (f) => {
3884
+ }, { immediate: !0 }), Ie(() => n.numericRange, (f) => {
3886
3885
  g.value = f ?? null, f && (x.value = "range");
3887
3886
  }, { immediate: !0 }), (f, p) => (i(), u("div", {
3888
3887
  ref_key: "dropdownRef",
@@ -4224,7 +4223,7 @@ function pr(t) {
4224
4223
  const w = l.value.find((f) => f.id === P);
4225
4224
  return w ? w.desc ? "desc" : "asc" : null;
4226
4225
  }
4227
- return qe(a, () => {
4226
+ return Ie(a, () => {
4228
4227
  F();
4229
4228
  }), {
4230
4229
  // Table instance
@@ -4518,7 +4517,7 @@ function wr(t) {
4518
4517
  function P(w) {
4519
4518
  x.value = x.value.filter((f) => f.id !== w), o.value = o.value.filter((f) => f.field !== `calc:${w}`), dt(x.value);
4520
4519
  }
4521
- return qe(
4520
+ return Ie(
4522
4521
  t,
4523
4522
  (w) => {
4524
4523
  if (w.length === 0)
@@ -4551,7 +4550,7 @@ function wr(t) {
4551
4550
  }
4552
4551
  },
4553
4552
  { immediate: !0 }
4554
- ), qe(
4553
+ ), Ie(
4555
4554
  [s, l, o, v, c, x],
4556
4555
  () => {
4557
4556
  if (!g.value)
@@ -4598,7 +4597,7 @@ function wr(t) {
4598
4597
  const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, kr = { class: "vpg-header-actions" }, xr = {
4599
4598
  key: 0,
4600
4599
  class: "vpg-assigned-section"
4601
- }, Sr = { class: "vpg-assigned-list" }, Fr = ["title", "onDragstart"], $r = { class: "vpg-item-main" }, Mr = { class: "vpg-item-name" }, Ar = { class: "vpg-item-actions" }, Rr = ["title", "onClick"], Dr = ["value", "onChange"], _r = ["value", "disabled"], Tr = ["onClick"], Er = { class: "vpg-unassigned-section" }, Lr = { class: "vpg-section-header" }, Nr = { class: "vpg-section-label" }, Vr = { class: "vpg-count" }, zr = { class: "vpg-field-search" }, Pr = { class: "vpg-field-list" }, Or = ["title", "onDragstart"], Br = { class: "vpg-field-name" }, Ur = ["onClick"], Ir = ["onClick"], qr = {
4600
+ }, Sr = { class: "vpg-assigned-list" }, Fr = ["title", "onDragstart"], $r = { class: "vpg-item-main" }, Mr = { class: "vpg-item-name" }, Ar = { class: "vpg-item-actions" }, Rr = ["title", "onClick"], Dr = ["value", "onChange"], _r = ["value", "disabled"], Tr = ["onClick"], Er = { class: "vpg-unassigned-section" }, Lr = { class: "vpg-section-header" }, Nr = { class: "vpg-section-label" }, Vr = { class: "vpg-count" }, zr = { class: "vpg-field-search" }, Pr = { class: "vpg-field-list" }, Or = ["title", "onDragstart"], Br = { class: "vpg-field-name" }, Ur = ["onClick"], qr = ["onClick"], Ir = {
4602
4601
  key: 1,
4603
4602
  class: "vpg-unique-count"
4604
4603
  }, Hr = {
@@ -4652,24 +4651,24 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
4652
4651
  ...n.availableFields.map((p) => ({ ...p, isCalculated: !1 })),
4653
4652
  ...h.value
4654
4653
  ]), ue = z(() => {
4655
- const p = new Set(n.rowFields), m = new Set(n.columnFields), N = new Map(n.valueFields.map((I) => [I.field, I]));
4656
- return L.value.filter((I) => p.has(I.field) || m.has(I.field) || N.has(I.field)).map((I) => ({
4657
- ...I,
4658
- assignedTo: p.has(I.field) ? "row" : m.has(I.field) ? "column" : "value",
4659
- valueConfig: N.get(I.field)
4654
+ const p = new Set(n.rowFields), m = new Set(n.columnFields), N = new Map(n.valueFields.map((q) => [q.field, q]));
4655
+ return L.value.filter((q) => p.has(q.field) || m.has(q.field) || N.has(q.field)).map((q) => ({
4656
+ ...q,
4657
+ assignedTo: p.has(q.field) ? "row" : m.has(q.field) ? "column" : "value",
4658
+ valueConfig: N.get(q.field)
4660
4659
  }));
4661
4660
  }), ne = z(() => {
4662
- const p = new Set(n.rowFields), m = new Set(n.columnFields), N = new Set(n.valueFields.map((I) => I.field));
4661
+ const p = new Set(n.rowFields), m = new Set(n.columnFields), N = new Set(n.valueFields.map((q) => q.field));
4663
4662
  return L.value.filter(
4664
- (I) => !p.has(I.field) && !m.has(I.field) && !N.has(I.field)
4663
+ (q) => !p.has(q.field) && !m.has(q.field) && !N.has(q.field)
4665
4664
  );
4666
4665
  }), ee = z(() => ue.value.length), G = E(""), j = z(() => {
4667
4666
  if (!G.value.trim())
4668
4667
  return ne.value;
4669
4668
  const p = G.value.toLowerCase().trim();
4670
4669
  return ne.value.filter((m) => {
4671
- const N = m.field.toLowerCase(), I = m.isCalculated && m.calcName ? m.calcName.toLowerCase() : "";
4672
- return N.includes(p) || I.includes(p);
4670
+ const N = m.field.toLowerCase(), q = m.isCalculated && m.calcName ? m.calcName.toLowerCase() : "";
4671
+ return N.includes(p) || q.includes(p);
4673
4672
  });
4674
4673
  });
4675
4674
  function W(p, m) {
@@ -4754,7 +4753,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
4754
4753
  m[10] || (m[10] = e("div", { class: "vpg-section-label" }, " Active ", -1)),
4755
4754
  e("div", Sr, [
4756
4755
  (i(!0), u(te, null, ve(ue.value, (N) => {
4757
- var I;
4756
+ var q;
4758
4757
  return i(), u("div", {
4759
4758
  key: N.field,
4760
4759
  class: ie(["vpg-assigned-item", [`vpg-type-${N.assignedTo}`, { "vpg-type-calc": N.isCalculated }]]),
@@ -4766,7 +4765,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
4766
4765
  e("div", $r, [
4767
4766
  e("span", {
4768
4767
  class: ie(["vpg-item-badge", [N.assignedTo, { calc: N.isCalculated }]])
4769
- }, C(N.isCalculated ? "ƒ" : N.assignedTo === "row" ? "R" : N.assignedTo === "column" ? "C" : R(fn)(((I = N.valueConfig) == null ? void 0 : I.aggregation) || "sum")), 3),
4768
+ }, C(N.isCalculated ? "ƒ" : N.assignedTo === "row" ? "R" : N.assignedTo === "column" ? "C" : R(fn)(((q = N.valueConfig) == null ? void 0 : q.aggregation) || "sum")), 3),
4770
4769
  e("span", Mr, C(Z(N)), 1)
4771
4770
  ]),
4772
4771
  e("div", Ar, [
@@ -4774,7 +4773,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
4774
4773
  key: 0,
4775
4774
  class: "vpg-toggle-btn",
4776
4775
  title: N.assignedTo === "row" ? "Move to Columns" : "Move to Rows",
4777
- onClick: Ie((se) => w(N.field, N.assignedTo), ["stop"])
4776
+ onClick: qe((se) => w(N.field, N.assignedTo), ["stop"])
4778
4777
  }, [...m[9] || (m[9] = [
4779
4778
  e("svg", {
4780
4779
  class: "vpg-icon-xs",
@@ -4795,7 +4794,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
4795
4794
  class: "vpg-agg-select",
4796
4795
  value: N.valueConfig.aggregation,
4797
4796
  onChange: (se) => P(N.field, N.valueConfig.aggregation, se.target.value),
4798
- onClick: m[1] || (m[1] = Ie(() => {
4797
+ onClick: m[1] || (m[1] = qe(() => {
4799
4798
  }, ["stop"]))
4800
4799
  }, [
4801
4800
  (i(!0), u(te, null, ve(R(o), (se) => (i(), u("option", {
@@ -4807,7 +4806,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
4807
4806
  e("button", {
4808
4807
  class: "vpg-remove-btn",
4809
4808
  title: "Remove",
4810
- onClick: Ie((se) => f(N.field, N.assignedTo, N.valueConfig), ["stop"])
4809
+ onClick: qe((se) => f(N.field, N.assignedTo, N.valueConfig), ["stop"])
4811
4810
  }, " × ", 8, Tr)
4812
4811
  ])
4813
4812
  ], 42, Fr);
@@ -4872,7 +4871,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
4872
4871
  }]),
4873
4872
  title: N.isCalculated ? N.calcFormula : N.field,
4874
4873
  draggable: "true",
4875
- onDragstart: (I) => de(N.field, I),
4874
+ onDragstart: (q) => de(N.field, q),
4876
4875
  onDragend: K
4877
4876
  }, [
4878
4877
  e("span", {
@@ -4883,7 +4882,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
4883
4882
  e("button", {
4884
4883
  class: "vpg-field-edit",
4885
4884
  title: "Edit calculated field",
4886
- onClick: Ie((I) => {
4885
+ onClick: qe((q) => {
4887
4886
  var se;
4888
4887
  return F((se = t.calculatedFields) == null ? void 0 : se.find((M) => M.id === N.calcId));
4889
4888
  }, ["stop"])
@@ -4891,9 +4890,9 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
4891
4890
  e("button", {
4892
4891
  class: "vpg-field-delete",
4893
4892
  title: "Delete calculated field",
4894
- onClick: Ie((I) => N.calcId && s("removeCalculatedField", N.calcId), ["stop"])
4895
- }, " × ", 8, Ir)
4896
- ], 64)) : (i(), u("span", qr, C(N.uniqueCount), 1))
4893
+ onClick: qe((q) => N.calcId && s("removeCalculatedField", N.calcId), ["stop"])
4894
+ }, " × ", 8, qr)
4895
+ ], 64)) : (i(), u("span", Ir, C(N.uniqueCount), 1))
4897
4896
  ], 42, Or))), 128)),
4898
4897
  j.value.length === 0 && G.value ? (i(), u("div", Hr, ' No fields match "' + C(G.value) + '" ', 1)) : ne.value.length === 0 ? (i(), u("div", jr, " All fields assigned ")) : O("", !0)
4899
4898
  ])
@@ -4969,10 +4968,10 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
4969
4968
  }, Ti = { class: "vpg-placeholder-content" }, Ei = { class: "vpg-placeholder-text" }, Li = {
4970
4969
  key: 1,
4971
4970
  class: "vpg-table-container"
4972
- }, Ni = { class: "vpg-pivot-table" }, Vi = ["rowspan"], zi = { class: "vpg-header-content" }, Pi = ["colspan", "onClick"], Oi = { class: "vpg-header-content" }, Bi = ["rowspan"], Ui = ["onMousedown", "onMouseenter"], Ii = {
4971
+ }, Ni = { class: "vpg-pivot-table" }, Vi = ["rowspan"], zi = { class: "vpg-header-content" }, Pi = ["colspan", "onClick"], Oi = { class: "vpg-header-content" }, Bi = ["rowspan"], Ui = ["onMousedown", "onMouseenter"], qi = {
4973
4972
  key: 0,
4974
4973
  class: "vpg-data-cell vpg-total-cell"
4975
- }, qi = {
4974
+ }, Ii = {
4976
4975
  key: 0,
4977
4976
  class: "vpg-totals-row"
4978
4977
  }, Hi = ["colspan"], ji = {
@@ -5007,46 +5006,46 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5007
5006
  emits: ["addRowField", "removeRowField", "addColumnField", "removeColumnField", "addValueField", "removeValueField", "updateAggregation", "reorderRowFields", "reorderColumnFields"],
5008
5007
  setup(t, { emit: a }) {
5009
5008
  const n = t, s = a;
5010
- function l(q) {
5009
+ function l(I) {
5011
5010
  var y;
5012
- if (q.startsWith("calc:")) {
5013
- const X = q.replace("calc:", ""), V = (y = n.calculatedFields) == null ? void 0 : y.find((Q) => Q.id === X);
5014
- return (V == null ? void 0 : V.name) || q;
5011
+ if (I.startsWith("calc:")) {
5012
+ const X = I.replace("calc:", ""), V = (y = n.calculatedFields) == null ? void 0 : y.find((Q) => Q.id === X);
5013
+ return (V == null ? void 0 : V.name) || I;
5015
5014
  }
5016
- return q;
5015
+ return I;
5017
5016
  }
5018
- function o(q) {
5019
- return q.startsWith("calc:");
5017
+ function o(I) {
5018
+ return I.startsWith("calc:");
5020
5019
  }
5021
5020
  const { showWatermark: v, canUsePivot: c, isDemo: x } = Ft(), g = E(null), k = E(null), F = E(null), D = E(n.fontSize || "xs"), S = [
5022
5021
  { value: "xs", label: "S" },
5023
5022
  { value: "sm", label: "M" },
5024
5023
  { value: "base", label: "L" }
5025
- ], h = z(() => n.activeFilters && n.activeFilters.length > 0), L = z(() => !n.activeFilters || n.activeFilters.length === 0 ? "" : n.activeFilters.map((y) => y.column).join(", ")), ue = z(() => !n.activeFilters || n.activeFilters.length === 0 ? [] : n.activeFilters.map((q) => {
5026
- if (q.isRange && q.displayText)
5024
+ ], h = z(() => n.activeFilters && n.activeFilters.length > 0), L = z(() => !n.activeFilters || n.activeFilters.length === 0 ? "" : n.activeFilters.map((y) => y.column).join(", ")), ue = z(() => !n.activeFilters || n.activeFilters.length === 0 ? [] : n.activeFilters.map((I) => {
5025
+ if (I.isRange && I.displayText)
5027
5026
  return {
5028
- column: q.column,
5029
- displayText: q.displayText,
5027
+ column: I.column,
5028
+ displayText: I.displayText,
5030
5029
  isRange: !0,
5031
5030
  values: [],
5032
5031
  remaining: 0
5033
5032
  };
5034
- const y = q.values || [], X = 5, V = y.slice(0, X), Q = y.length - X;
5033
+ const y = I.values || [], X = 5, V = y.slice(0, X), Q = y.length - X;
5035
5034
  return {
5036
- column: q.column,
5035
+ column: I.column,
5037
5036
  values: V,
5038
5037
  remaining: Q > 0 ? Q : 0,
5039
5038
  isRange: !1
5040
5039
  };
5041
5040
  })), ne = E(!1), ee = E("asc"), G = E("row");
5042
- function j(q = "row") {
5043
- G.value === q ? ee.value = ee.value === "asc" ? "desc" : "asc" : (G.value = q, ee.value = "asc");
5041
+ function j(I = "row") {
5042
+ G.value === I ? ee.value = ee.value === "asc" ? "desc" : "asc" : (G.value = I, ee.value = "asc");
5044
5043
  }
5045
5044
  const W = z(() => {
5046
5045
  if (!n.pivotResult)
5047
5046
  return [];
5048
- const q = n.pivotResult.rowHeaders.map((V, Q) => Q), y = n.pivotResult.rowHeaders, X = n.pivotResult.data;
5049
- return q.sort((V, Q) => {
5047
+ const I = n.pivotResult.rowHeaders.map((V, Q) => Q), y = n.pivotResult.rowHeaders, X = n.pivotResult.data;
5048
+ return I.sort((V, Q) => {
5050
5049
  var ge, be, Ee, $e, De, Oe;
5051
5050
  let ae;
5052
5051
  if (G.value === "row") {
@@ -5057,14 +5056,14 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5057
5056
  Fe === null && je === null ? ae = 0 : Fe === null ? ae = 1 : je === null ? ae = -1 : ae = Fe - je;
5058
5057
  }
5059
5058
  return ee.value === "asc" ? ae : -ae;
5060
- }), q;
5059
+ }), I;
5061
5060
  }), Z = z(() => {
5062
5061
  if (!n.pivotResult || n.pivotResult.headers.length === 0)
5063
5062
  return [n.valueFields.map((y) => ({
5064
5063
  label: o(y.field) ? `${l(y.field)} (${St(y.aggregation)})` : `${y.field} (${St(y.aggregation)})`,
5065
5064
  colspan: 1
5066
5065
  }))];
5067
- const q = [];
5066
+ const I = [];
5068
5067
  for (let y = 0; y < n.pivotResult.headers.length; y++) {
5069
5068
  const X = n.pivotResult.headers[y], V = [];
5070
5069
  let Q = 0;
@@ -5075,37 +5074,37 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5075
5074
  ge++;
5076
5075
  V.push({ label: ae, colspan: ge }), Q += ge;
5077
5076
  }
5078
- q.push(V);
5077
+ I.push(V);
5079
5078
  }
5080
- return q;
5079
+ return I;
5081
5080
  }), de = E(null), K = E(null), P = E(null), w = E(!1), f = E(!1), p = E(""), m = z(() => !K.value || !P.value ? null : {
5082
5081
  minRow: Math.min(K.value.row, P.value.row),
5083
5082
  maxRow: Math.max(K.value.row, P.value.row),
5084
5083
  minCol: Math.min(K.value.col, P.value.col),
5085
5084
  maxCol: Math.max(K.value.col, P.value.col)
5086
5085
  });
5087
- function N(q, y, X) {
5088
- X.preventDefault(), X.shiftKey && de.value ? P.value = { row: q, col: y } : (de.value = { row: q, col: y }, K.value = { row: q, col: y }, P.value = { row: q, col: y }, w.value = !0);
5086
+ function N(I, y, X) {
5087
+ X.preventDefault(), X.shiftKey && de.value ? P.value = { row: I, col: y } : (de.value = { row: I, col: y }, K.value = { row: I, col: y }, P.value = { row: I, col: y }, w.value = !0);
5089
5088
  }
5090
- function I(q, y) {
5091
- w.value && (P.value = { row: q, col: y });
5089
+ function q(I, y) {
5090
+ w.value && (P.value = { row: I, col: y });
5092
5091
  }
5093
5092
  function se() {
5094
5093
  w.value = !1;
5095
5094
  }
5096
- function M(q, y) {
5095
+ function M(I, y) {
5097
5096
  var ge, be;
5098
5097
  if (!m.value)
5099
- return ((ge = de.value) == null ? void 0 : ge.row) === q && ((be = de.value) == null ? void 0 : be.col) === y;
5098
+ return ((ge = de.value) == null ? void 0 : ge.row) === I && ((be = de.value) == null ? void 0 : be.col) === y;
5100
5099
  const { minRow: X, maxRow: V, minCol: Q, maxCol: ae } = m.value;
5101
- return q >= X && q <= V && y >= Q && y <= ae;
5100
+ return I >= X && I <= V && y >= Q && y <= ae;
5102
5101
  }
5103
5102
  function A() {
5104
5103
  var ge;
5105
5104
  if (!m.value || !n.pivotResult)
5106
5105
  return;
5107
- const { minRow: q, maxRow: y, minCol: X, maxCol: V } = m.value, Q = [];
5108
- for (let be = q; be <= y; be++) {
5106
+ const { minRow: I, maxRow: y, minCol: X, maxCol: V } = m.value, Q = [];
5107
+ for (let be = I; be <= y; be++) {
5109
5108
  const Ee = W.value[be];
5110
5109
  if (Ee === void 0)
5111
5110
  continue;
@@ -5119,7 +5118,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5119
5118
  const ae = Q.join(`
5120
5119
  `);
5121
5120
  navigator.clipboard.writeText(ae).then(() => {
5122
- const be = (y - q + 1) * (V - X + 1);
5121
+ const be = (y - I + 1) * (V - X + 1);
5123
5122
  p.value = `Copied ${be} cell${be > 1 ? "s" : ""}`, f.value = !0, setTimeout(() => {
5124
5123
  f.value = !1;
5125
5124
  }, 2e3);
@@ -5127,22 +5126,22 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5127
5126
  console.error("Copy failed:", be);
5128
5127
  });
5129
5128
  }
5130
- function U(q) {
5129
+ function U(I) {
5131
5130
  if (m.value) {
5132
- if ((q.ctrlKey || q.metaKey) && q.key === "c") {
5133
- q.preventDefault(), A();
5131
+ if ((I.ctrlKey || I.metaKey) && I.key === "c") {
5132
+ I.preventDefault(), A();
5134
5133
  return;
5135
5134
  }
5136
- q.key === "Escape" && (de.value = null, K.value = null, P.value = null);
5135
+ I.key === "Escape" && (de.value = null, K.value = null, P.value = null);
5137
5136
  }
5138
5137
  }
5139
5138
  const $ = z(() => {
5140
5139
  var Ee;
5141
5140
  if (!m.value || !n.pivotResult)
5142
5141
  return null;
5143
- const { minRow: q, maxRow: y, minCol: X, maxCol: V } = m.value, Q = [];
5142
+ const { minRow: I, maxRow: y, minCol: X, maxCol: V } = m.value, Q = [];
5144
5143
  let ae = 0;
5145
- for (let $e = q; $e <= y; $e++) {
5144
+ for (let $e = I; $e <= y; $e++) {
5146
5145
  const De = W.value[$e];
5147
5146
  if (De !== void 0)
5148
5147
  for (let Oe = X; Oe <= V; Oe++) {
@@ -5160,21 +5159,21 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5160
5159
  avg: be
5161
5160
  };
5162
5161
  });
5163
- function Y(q) {
5164
- return Math.abs(q) >= 1e6 ? `${(q / 1e6).toFixed(2)}M` : Math.abs(q) >= 1e3 ? `${(q / 1e3).toFixed(2)}K` : q.toFixed(2);
5162
+ function Y(I) {
5163
+ return Math.abs(I) >= 1e6 ? `${(I / 1e6).toFixed(2)}M` : Math.abs(I) >= 1e3 ? `${(I / 1e3).toFixed(2)}K` : I.toFixed(2);
5165
5164
  }
5166
5165
  vt(() => {
5167
5166
  document.addEventListener("mouseup", se), document.addEventListener("keydown", U);
5168
5167
  }), Tt(() => {
5169
5168
  document.removeEventListener("mouseup", se), document.removeEventListener("keydown", U);
5170
5169
  });
5171
- function T(q, y) {
5172
- y.preventDefault(), y.dataTransfer.dropEffect = "move", g.value = q;
5170
+ function T(I, y) {
5171
+ y.preventDefault(), y.dataTransfer.dropEffect = "move", g.value = I;
5173
5172
  }
5174
5173
  function J() {
5175
5174
  g.value = null;
5176
5175
  }
5177
- function le(q, y) {
5176
+ function le(I, y) {
5178
5177
  var Q;
5179
5178
  y.preventDefault();
5180
5179
  const X = (Q = y.dataTransfer) == null ? void 0 : Q.getData("text/plain");
@@ -5184,7 +5183,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5184
5183
  }
5185
5184
  n.rowFields.includes(X) && s("removeRowField", X), n.columnFields.includes(X) && s("removeColumnField", X);
5186
5185
  const V = n.valueFields.find((ae) => ae.field === X);
5187
- switch (V && s("removeValueField", X, V.aggregation), q) {
5186
+ switch (V && s("removeValueField", X, V.aggregation), I) {
5188
5187
  case "row":
5189
5188
  s("addRowField", X);
5190
5189
  break;
@@ -5197,47 +5196,47 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5197
5196
  }
5198
5197
  g.value = null;
5199
5198
  }
5200
- function _(q, y, X) {
5201
- k.value = { zone: q, index: y }, X.dataTransfer.effectAllowed = "move", X.dataTransfer.setData("text/plain", `reorder:${q}:${y}`), requestAnimationFrame(() => {
5199
+ function _(I, y, X) {
5200
+ k.value = { zone: I, index: y }, X.dataTransfer.effectAllowed = "move", X.dataTransfer.setData("text/plain", `reorder:${I}:${y}`), requestAnimationFrame(() => {
5202
5201
  g.value = null;
5203
5202
  });
5204
5203
  }
5205
5204
  function H() {
5206
5205
  k.value = null, F.value = null;
5207
5206
  }
5208
- function b(q, y, X) {
5209
- X.preventDefault(), k.value && k.value.zone === q && (X.dataTransfer.dropEffect = "move", F.value = { zone: q, index: y });
5207
+ function b(I, y, X) {
5208
+ X.preventDefault(), k.value && k.value.zone === I && (X.dataTransfer.dropEffect = "move", F.value = { zone: I, index: y });
5210
5209
  }
5211
5210
  function pe() {
5212
5211
  F.value = null;
5213
5212
  }
5214
- function Ce(q, y, X) {
5215
- if (X.preventDefault(), X.stopPropagation(), !k.value || k.value.zone !== q)
5213
+ function Ce(I, y, X) {
5214
+ if (X.preventDefault(), X.stopPropagation(), !k.value || k.value.zone !== I)
5216
5215
  return;
5217
5216
  const V = k.value.index;
5218
5217
  if (V === y) {
5219
5218
  k.value = null, F.value = null;
5220
5219
  return;
5221
5220
  }
5222
- const Q = q === "row" ? [...n.rowFields] : [...n.columnFields], [ae] = Q.splice(V, 1);
5223
- Q.splice(y, 0, ae), s(q === "row" ? "reorderRowFields" : "reorderColumnFields", Q), k.value = null, F.value = null;
5221
+ const Q = I === "row" ? [...n.rowFields] : [...n.columnFields], [ae] = Q.splice(V, 1);
5222
+ Q.splice(y, 0, ae), s(I === "row" ? "reorderRowFields" : "reorderColumnFields", Q), k.value = null, F.value = null;
5224
5223
  }
5225
- function re(q, y) {
5224
+ function re(I, y) {
5226
5225
  var X, V;
5227
- return ((X = k.value) == null ? void 0 : X.zone) === q && ((V = k.value) == null ? void 0 : V.index) === y;
5226
+ return ((X = k.value) == null ? void 0 : X.zone) === I && ((V = k.value) == null ? void 0 : V.index) === y;
5228
5227
  }
5229
- function Ae(q, y) {
5228
+ function Ae(I, y) {
5230
5229
  var X, V;
5231
- return ((X = F.value) == null ? void 0 : X.zone) === q && ((V = F.value) == null ? void 0 : V.index) === y;
5230
+ return ((X = F.value) == null ? void 0 : X.zone) === I && ((V = F.value) == null ? void 0 : V.index) === y;
5232
5231
  }
5233
5232
  const Re = E(180), Pe = E(80), He = z(() => {
5234
- const q = Math.max(n.rowFields.length, 1);
5235
- return Math.max(Re.value / q, 80);
5233
+ const I = Math.max(n.rowFields.length, 1);
5234
+ return Math.max(Re.value / I, 80);
5236
5235
  });
5237
- function Xe(q) {
5238
- return q * He.value;
5236
+ function Xe(I) {
5237
+ return I * He.value;
5239
5238
  }
5240
- return (q, y) => {
5239
+ return (I, y) => {
5241
5240
  var X;
5242
5241
  return i(), u("div", {
5243
5242
  class: ie(["vpg-pivot-skeleton", [
@@ -5372,7 +5371,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5372
5371
  e("span", yi, C(V), 1),
5373
5372
  e("button", {
5374
5373
  class: "vpg-mini-remove",
5375
- onClick: Ie((ae) => s("removeRowField", V), ["stop"])
5374
+ onClick: qe((ae) => s("removeRowField", V), ["stop"])
5376
5375
  }, " × ", 8, wi)
5377
5376
  ], 42, hi))), 128)),
5378
5377
  t.rowFields.length === 0 ? (i(), u("span", bi, "Drop here")) : O("", !0)
@@ -5406,7 +5405,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5406
5405
  e("span", xi, C(V), 1),
5407
5406
  e("button", {
5408
5407
  class: "vpg-mini-remove",
5409
- onClick: Ie((ae) => s("removeColumnField", V), ["stop"])
5408
+ onClick: qe((ae) => s("removeColumnField", V), ["stop"])
5410
5409
  }, " × ", 8, Si)
5411
5410
  ], 42, ki))), 128)),
5412
5411
  t.columnFields.length === 0 ? (i(), u("span", Fi, "Drop here")) : O("", !0)
@@ -5531,11 +5530,11 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5531
5530
  ]]),
5532
5531
  style: ze({ width: `${Pe.value}px` }),
5533
5532
  onMousedown: (ge) => N(W.value.indexOf(V), ae, ge),
5534
- onMouseenter: (ge) => I(W.value.indexOf(V), ae)
5533
+ onMouseenter: (ge) => q(W.value.indexOf(V), ae)
5535
5534
  }, C(Q.formattedValue), 47, Ui))), 128)),
5536
- t.pivotResult.rowTotals[V] ? (i(), u("td", Ii, C(t.pivotResult.rowTotals[V].formattedValue), 1)) : O("", !0)
5535
+ t.pivotResult.rowTotals[V] ? (i(), u("td", qi, C(t.pivotResult.rowTotals[V].formattedValue), 1)) : O("", !0)
5537
5536
  ]))), 128)),
5538
- t.pivotResult.columnTotals.length > 0 ? (i(), u("tr", qi, [
5537
+ t.pivotResult.columnTotals.length > 0 ? (i(), u("tr", Ii, [
5539
5538
  e("th", {
5540
5539
  class: "vpg-row-header-cell vpg-total-label",
5541
5540
  colspan: Math.max(t.rowFields.length, 1),
@@ -5693,7 +5692,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5693
5692
  }, Uu = {
5694
5693
  key: 0,
5695
5694
  class: "vpg-chart-filter-bar"
5696
- }, Iu = { class: "vpg-footer" }, qu = { class: "vpg-footer-left" }, Hu = {
5695
+ }, qu = { class: "vpg-footer" }, Iu = { class: "vpg-footer-left" }, Hu = {
5697
5696
  key: 0,
5698
5697
  class: "vpg-filtered-note"
5699
5698
  }, ju = { key: 1 }, Wu = { class: "vpg-filtered-count" }, Gu = {
@@ -5748,7 +5747,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5748
5747
  { value: "base", label: "L" }
5749
5748
  ], w = E(null), f = E(null), p = z(() => f.value || n.data), m = z(() => p.value), {
5750
5749
  table: N,
5751
- columnKeys: I,
5750
+ columnKeys: q,
5752
5751
  filteredRowCount: se,
5753
5752
  totalRowCount: M,
5754
5753
  getColumnStats: A,
@@ -5786,7 +5785,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5786
5785
  valueFields: Pe,
5787
5786
  showRowTotals: He,
5788
5787
  showColumnTotals: Xe,
5789
- availableFields: q,
5788
+ availableFields: I,
5790
5789
  isConfigured: y,
5791
5790
  pivotResult: X,
5792
5791
  addRowField: V,
@@ -5803,7 +5802,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5803
5802
  return nt.value;
5804
5803
  const d = S.value.toLowerCase().trim();
5805
5804
  return nt.value.filter((r) => {
5806
- for (const oe of I.value) {
5805
+ for (const oe of q.value) {
5807
5806
  const B = r.original[oe];
5808
5807
  if (B != null && String(B).toLowerCase().includes(d))
5809
5808
  return !0;
@@ -5824,7 +5823,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5824
5823
  function Sn() {
5825
5824
  L.value > 1 && L.value--;
5826
5825
  }
5827
- qe([_, S], () => {
5826
+ Ie([_, S], () => {
5828
5827
  L.value = 1;
5829
5828
  });
5830
5829
  function zt() {
@@ -5833,7 +5832,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5833
5832
  return;
5834
5833
  }
5835
5834
  const d = n.enableSearch && S.value.trim() ? ke.value.map((r) => r.original) : nt.value.map((r) => r.original);
5836
- gr(d, I.value, {
5835
+ gr(d, q.value, {
5837
5836
  filename: n.exportFilename,
5838
5837
  includeHeaders: !0
5839
5838
  }), s("export", { rowCount: d.length, filename: n.exportFilename });
@@ -5891,12 +5890,12 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5891
5890
  function Ut() {
5892
5891
  j.value = !1, document.removeEventListener("mousemove", Bt), document.removeEventListener("mouseup", Ut);
5893
5892
  }
5894
- function It() {
5893
+ function qt() {
5895
5894
  if (!Ne.value || !n.enableClipboard)
5896
5895
  return;
5897
5896
  const d = hr(
5898
5897
  nt.value.map((r) => r.original),
5899
- I.value,
5898
+ q.value,
5900
5899
  Ne.value
5901
5900
  );
5902
5901
  fr(
@@ -5969,20 +5968,20 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
5969
5968
  function Un() {
5970
5969
  $t.value = null;
5971
5970
  }
5972
- function In(d) {
5971
+ function qn(d) {
5973
5972
  Ae.value = d;
5974
5973
  }
5975
- function qn(d) {
5974
+ function In(d) {
5976
5975
  Re.value = d;
5977
5976
  }
5978
- const Mt = E(), qt = E(), nt = z(() => N.getRowModel().rows), xe = E(null), pt = E({ top: 0, left: 0, maxHeight: 400 }), Ge = E({});
5977
+ const Mt = E(), It = E(), nt = z(() => N.getRowModel().rows), xe = E(null), pt = E({ top: 0, left: 0, maxHeight: 400 }), Ge = E({});
5979
5978
  function Ht() {
5980
5979
  if (typeof document > "u" || p.value.length === 0)
5981
5980
  return;
5982
5981
  const d = {}, r = Math.min(100, p.value.length), B = document.createElement("canvas").getContext("2d");
5983
5982
  if (B) {
5984
5983
  B.font = "13px system-ui, -apple-system, sans-serif";
5985
- for (const me of I.value) {
5984
+ for (const me of q.value) {
5986
5985
  let he = B.measureText(me).width + 56;
5987
5986
  for (let we = 0; we < r; we++) {
5988
5987
  const ye = p.value[we][me], Se = ye == null ? "" : String(ye), Ke = B.measureText(Se).width + 28;
@@ -6026,7 +6025,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6026
6025
  }
6027
6026
  function Kn(d, r) {
6028
6027
  if (r.target.closest(".vpg-dropdown-arrow")) {
6029
- const B = I.value[d];
6028
+ const B = q.value[d];
6030
6029
  Hn(B, r);
6031
6030
  } else
6032
6031
  Yn(d);
@@ -6052,7 +6051,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6052
6051
  const Ke = nt.value[Se];
6053
6052
  if (Ke)
6054
6053
  for (let at = oe; at <= B; at++) {
6055
- const ot = I.value[at];
6054
+ const ot = q.value[at];
6056
6055
  if (!ot)
6057
6056
  continue;
6058
6057
  const ut = Ke.original[ot];
@@ -6072,7 +6071,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6072
6071
  }
6073
6072
  function Wt(d) {
6074
6073
  if ((d.ctrlKey || d.metaKey) && d.key === "c" && Ne.value) {
6075
- d.preventDefault(), It();
6074
+ d.preventDefault(), qt();
6076
6075
  return;
6077
6076
  }
6078
6077
  if ((d.ctrlKey || d.metaKey) && d.key === "f" && n.enableSearch) {
@@ -6084,7 +6083,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6084
6083
  }
6085
6084
  if (!Ye.value || xe.value)
6086
6085
  return;
6087
- const { row: r, col: oe } = Ye.value, me = Vt.value.length - 1, he = I.value.length - 1;
6086
+ const { row: r, col: oe } = Ye.value, me = Vt.value.length - 1, he = q.value.length - 1;
6088
6087
  function we(ye, Se) {
6089
6088
  d.shiftKey ? (Ue.value || (Ue.value = { row: r, col: oe }), Le.value = { row: ye, col: Se }) : (Ue.value = { row: ye, col: Se }, Le.value = { row: ye, col: Se }), Ye.value = { row: ye, col: Se }, Jn(ye, Se);
6090
6089
  }
@@ -6109,7 +6108,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6109
6108
  function Jn(d, r) {
6110
6109
  ct(() => {
6111
6110
  var B;
6112
- const oe = (B = qt.value) == null ? void 0 : B.querySelector(
6111
+ const oe = (B = It.value) == null ? void 0 : B.querySelector(
6113
6112
  `[data-row="${d}"][data-col="${r}"]`
6114
6113
  );
6115
6114
  oe == null || oe.scrollIntoView({ block: "nearest", inline: "nearest" });
@@ -6119,7 +6118,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6119
6118
  oe.preventDefault(), oe.shiftKey && Ye.value ? Le.value = { row: d, col: r } : (Ye.value = { row: d, col: r }, Ue.value = { row: d, col: r }, Le.value = { row: d, col: r }, At.value = !0);
6120
6119
  const B = nt.value[d];
6121
6120
  if (B) {
6122
- const me = I.value[r];
6121
+ const me = q.value[r];
6123
6122
  s("cellClick", {
6124
6123
  row: d,
6125
6124
  col: r,
@@ -6171,10 +6170,10 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6171
6170
  }), Tt(() => {
6172
6171
  var d;
6173
6172
  document.removeEventListener("keydown", Wt), document.removeEventListener("mouseup", Gt), (d = Mt.value) == null || d.removeEventListener("scroll", Yt), window.removeEventListener("scroll", Kt, { capture: !0 });
6174
- }), qe([() => n.data, f], () => {
6173
+ }), Ie([() => n.data, f], () => {
6175
6174
  ct(Ht);
6176
6175
  }, { immediate: !0 });
6177
- const oa = z(() => I.value.reduce((d, r) => d + (Ge.value[r] || Ze), 0));
6176
+ const oa = z(() => q.value.reduce((d, r) => d + (Ge.value[r] || Ze), 0));
6178
6177
  function la(d) {
6179
6178
  xe.value && (d.target.closest(".vpg-filter-portal") || gt());
6180
6179
  }
@@ -6238,7 +6237,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6238
6237
  key: 1,
6239
6238
  class: "vpg-view-btn vpg-ai-btn vpg-pro-feature",
6240
6239
  title: "AI Analyst (Pro feature)",
6241
- onClick: r[1] || (r[1] = Ie(() => {
6240
+ onClick: r[1] || (r[1] = qe(() => {
6242
6241
  }, ["prevent"]))
6243
6242
  }, [...r[23] || (r[23] = [
6244
6243
  e("svg", {
@@ -6498,7 +6497,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6498
6497
  key: 1,
6499
6498
  class: "vpg-icon-btn",
6500
6499
  title: "Copy selection (Ctrl+C)",
6501
- onClick: It
6500
+ onClick: qt
6502
6501
  }, [...r[38] || (r[38] = [
6503
6502
  e("svg", {
6504
6503
  class: "vpg-icon",
@@ -6630,7 +6629,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6630
6629
  }, [
6631
6630
  e("thead", null, [
6632
6631
  e("tr", null, [
6633
- (i(!0), u(te, null, ve(R(I), (B, me) => (i(), u("th", {
6632
+ (i(!0), u(te, null, ve(R(q), (B, me) => (i(), u("th", {
6634
6633
  key: B,
6635
6634
  class: ie(["vpg-header-cell", {
6636
6635
  "vpg-has-filter": R(U)(B),
@@ -6701,13 +6700,13 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6701
6700
  ]),
6702
6701
  e("tbody", {
6703
6702
  ref_key: "tableBodyRef",
6704
- ref: qt
6703
+ ref: It
6705
6704
  }, [
6706
6705
  (i(!0), u(te, null, ve(Vt.value, (B, me) => (i(), u("tr", {
6707
6706
  key: B.id,
6708
6707
  class: "vpg-row"
6709
6708
  }, [
6710
- (i(!0), u(te, null, ve(R(I), (he, we) => (i(), u("td", {
6709
+ (i(!0), u(te, null, ve(R(q), (he, we) => (i(), u("td", {
6711
6710
  key: he,
6712
6711
  class: ie(["vpg-cell", {
6713
6712
  "vpg-selected": ea(me, we),
@@ -6726,7 +6725,7 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6726
6725
  ], 512)) : fe.value === "pivot" ? (i(), u("div", Pu, [
6727
6726
  rt.value && R(o) ? (i(), u("div", Ou, [
6728
6727
  Je(Qr, {
6729
- "available-fields": R(q),
6728
+ "available-fields": R(I),
6730
6729
  "row-fields": R(Ae),
6731
6730
  "column-fields": R(Re),
6732
6731
  "value-fields": R(Pe),
@@ -6772,8 +6771,8 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6772
6771
  onAddValueField: R(be),
6773
6772
  onRemoveValueField: R(Ee),
6774
6773
  onUpdateAggregation: R($e),
6775
- onReorderRowFields: In,
6776
- onReorderColumnFields: qn
6774
+ onReorderRowFields: qn,
6775
+ onReorderColumnFields: In
6777
6776
  }, 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"])
6778
6777
  ], 2)
6779
6778
  ])) : fe.value === "chart" ? (i(), u("div", Bu, [
@@ -6802,8 +6801,8 @@ const br = { class: "vpg-pivot-config" }, Cr = { class: "vpg-config-header" }, k
6802
6801
  onConfigChange: Vn
6803
6802
  }, null, 8, ["data", "theme"])
6804
6803
  ])) : O("", !0),
6805
- e("div", Iu, [
6806
- e("div", qu, [
6804
+ e("div", qu, [
6805
+ e("div", Iu, [
6807
6806
  fe.value === "grid" ? (i(), u(te, { key: 0 }, [
6808
6807
  t.enablePagination ? (i(), u(te, { key: 0 }, [
6809
6808
  e("span", null, C(Cn.value.toLocaleString()) + "-" + C(kn.value.toLocaleString()), 1),