@ninebone/table 0.0.539 → 0.0.541

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.
@@ -2,16 +2,16 @@ var Fe = Object.defineProperty;
2
2
  var Ve = (R) => {
3
3
  throw TypeError(R);
4
4
  };
5
- var Xe = (R, i, e) => i in R ? Fe(R, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : R[i] = e;
6
- var h = (R, i) => Fe(R, "name", { value: i, configurable: !0 });
7
- var E = (R, i, e) => Xe(R, typeof i != "symbol" ? i + "" : i, e), Ye = (R, i, e) => i.has(R) || Ve("Cannot " + e);
8
- var t = (R, i, e) => (Ye(R, i, "read from private field"), e ? e.call(R) : i.get(R)), d = (R, i, e) => i.has(R) ? Ve("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(R) : i.set(R, e), y = (R, i, e, s) => (Ye(R, i, "write to private field"), s ? s.call(R, e) : i.set(R, e), e);
9
- var Ue = (R, i, e, s) => ({
10
- set _(r) {
11
- y(R, i, r, e);
5
+ var Xe = (R, r, e) => r in R ? Fe(R, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : R[r] = e;
6
+ var h = (R, r) => Fe(R, "name", { value: r, configurable: !0 });
7
+ var E = (R, r, e) => Xe(R, typeof r != "symbol" ? r + "" : r, e), Ye = (R, r, e) => r.has(R) || Ve("Cannot " + e);
8
+ var t = (R, r, e) => (Ye(R, r, "read from private field"), e ? e.call(R) : r.get(R)), d = (R, r, e) => r.has(R) ? Ve("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(R) : r.set(R, e), y = (R, r, e, s) => (Ye(R, r, "write to private field"), s ? s.call(R, e) : r.set(R, e), e);
9
+ var Ue = (R, r, e, s) => ({
10
+ set _(i) {
11
+ y(R, r, i, e);
12
12
  },
13
13
  get _() {
14
- return t(R, i, s);
14
+ return t(R, r, s);
15
15
  }
16
16
  });
17
17
  import { trace as Ke } from "@ninebone/util";
@@ -44,14 +44,14 @@ const Me = class Me extends HTMLElement {
44
44
  if (!t(this, z) || !t(this, w) || t(this, j)) return;
45
45
  const e = t(this, w).container, s = e.querySelector("table");
46
46
  if (!s) return;
47
- const r = t(this, w).track, n = t(this, w).thumb, a = t(this, z).querySelector(".ng-container-bottom"), o = e.clientWidth, c = s.scrollWidth;
47
+ const i = t(this, w).track, n = t(this, w).thumb, a = t(this, z).querySelector(".ng-container-bottom"), o = e.clientWidth, c = s.scrollWidth;
48
48
  if (o !== 0 && c > o)
49
49
  a && (a.style.display = "flex");
50
50
  else {
51
51
  a && (a.style.display = "none");
52
52
  return;
53
53
  }
54
- const l = r.clientWidth;
54
+ const l = i.clientWidth;
55
55
  if (l <= 0) return;
56
56
  const f = Math.max(Math.min(l * (o / c), l), 20);
57
57
  n.style.width = `${f}px`;
@@ -63,43 +63,43 @@ const Me = class Me extends HTMLElement {
63
63
  }, "refresh"));
64
64
  d(this, G, /* @__PURE__ */ h((e) => {
65
65
  if (!t(this, w)) return !1;
66
- const s = t(this, w).container, r = s.querySelector("table");
67
- if (!r) return !1;
66
+ const s = t(this, w).container, i = s.querySelector("table");
67
+ if (!i) return !1;
68
68
  const n = t(this, w).track.getBoundingClientRect(), a = t(this, w).thumb.clientWidth;
69
69
  let o = e;
70
70
  o < 0 && (o = 0);
71
71
  const c = n.width - a;
72
72
  o > c && (o = c), o = parseInt(o, 10), t(this, w).thumb.style.left = `${o}px`, t(this, w).left.disabled = o === 0, t(this, w).right.disabled = o >= c - 1;
73
- const l = s.clientWidth, u = r.scrollWidth - l;
73
+ const l = s.clientWidth, u = i.scrollWidth - l;
74
74
  return c > 0 && u > 0 && (s.scrollLeft = o / c * u), o > 0 && o < c - 1;
75
75
  }, "#thumbMoveTo"));
76
76
  d(this, Nt, /* @__PURE__ */ h(() => {
77
- const e = /* @__PURE__ */ h((r) => {
77
+ const e = /* @__PURE__ */ h((i) => {
78
78
  clearInterval(t(this, X)), clearInterval(t(this, K));
79
79
  const n = parseInt(t(this, w).thumb.style.left || 0, 10);
80
- t(this, G).call(this, n + r), y(this, X, setInterval(() => {
80
+ t(this, G).call(this, n + i), y(this, X, setInterval(() => {
81
81
  clearInterval(t(this, X)), y(this, K, setInterval(() => {
82
82
  const a = parseInt(t(this, w).thumb.style.left || 0, 10);
83
- t(this, G).call(this, a + r) || clearInterval(t(this, K));
83
+ t(this, G).call(this, a + i) || clearInterval(t(this, K));
84
84
  }, 50));
85
85
  }, 500));
86
86
  }, "delayScroll"), s = /* @__PURE__ */ h(() => {
87
87
  clearInterval(t(this, X)), clearInterval(t(this, K));
88
88
  }, "clearTimer");
89
- ["mouseup", "mouseleave", "touchend"].forEach((r) => {
90
- t(this, w).left.addEventListener(r, s), t(this, w).right.addEventListener(r, s), t(this, w).track.addEventListener(r, s);
91
- }), t(this, w).left.addEventListener("mousedown", (r) => {
92
- r.button === 0 && e(-20);
93
- }), t(this, w).right.addEventListener("mousedown", (r) => {
94
- r.button === 0 && e(20);
95
- }), t(this, w).left.addEventListener("touchstart", () => e(-20)), t(this, w).right.addEventListener("touchstart", () => e(20)), t(this, w).track.addEventListener("mousedown", (r) => {
96
- if (r.button !== 0) return;
97
- r.preventDefault();
89
+ ["mouseup", "mouseleave", "touchend"].forEach((i) => {
90
+ t(this, w).left.addEventListener(i, s), t(this, w).right.addEventListener(i, s), t(this, w).track.addEventListener(i, s);
91
+ }), t(this, w).left.addEventListener("mousedown", (i) => {
92
+ i.button === 0 && e(-20);
93
+ }), t(this, w).right.addEventListener("mousedown", (i) => {
94
+ i.button === 0 && e(20);
95
+ }), t(this, w).left.addEventListener("touchstart", () => e(-20)), t(this, w).right.addEventListener("touchstart", () => e(20)), t(this, w).track.addEventListener("mousedown", (i) => {
96
+ if (i.button !== 0) return;
97
+ i.preventDefault();
98
98
  const n = t(this, w).track.getBoundingClientRect(), a = t(this, w).thumb.clientWidth;
99
- t(this, G).call(this, r.clientX - n.left - a / 2);
100
- }), t(this, w).thumb.addEventListener("mousedown", (r) => {
101
- if (r.button !== 0) return;
102
- r.stopPropagation(), r.preventDefault(), y(this, j, !0), this.shiftX = r.clientX - t(this, w).thumb.getBoundingClientRect().left;
99
+ t(this, G).call(this, i.clientX - n.left - a / 2);
100
+ }), t(this, w).thumb.addEventListener("mousedown", (i) => {
101
+ if (i.button !== 0) return;
102
+ i.stopPropagation(), i.preventDefault(), y(this, j, !0), this.shiftX = i.clientX - t(this, w).thumb.getBoundingClientRect().left;
103
103
  const n = /* @__PURE__ */ h((o) => {
104
104
  if (!t(this, j)) return;
105
105
  const c = t(this, w).track.getBoundingClientRect();
@@ -214,21 +214,21 @@ const $e = class $e extends HTMLElement {
214
214
  E(this, "refresh", /* @__PURE__ */ h(() => {
215
215
  if (!t(this, F) || !t(this, q)) return;
216
216
  H.log("nine-table-vscrollbar.refresh");
217
- const e = t(this, q).container, s = t(this, q).track, r = t(this, q).thumb, n = e.clientHeight, o = (t(this, F).data.get() || []).length, c = t(this, at).getRowHeight(), l = o * c;
217
+ const e = t(this, q).container, s = t(this, q).track, i = t(this, q).thumb, n = e.clientHeight, o = (t(this, F).data.get() || []).length, c = t(this, at).getRowHeight(), l = o * c;
218
218
  if (l <= n) {
219
- r.style.display = "none", t(this, q).top.disabled = !0, t(this, q).bottom.disabled = !0;
219
+ i.style.display = "none", t(this, q).top.disabled = !0, t(this, q).bottom.disabled = !0;
220
220
  return;
221
221
  } else
222
- r.style.display = "block";
222
+ i.style.display = "block";
223
223
  const f = s.clientHeight;
224
224
  if (f <= 0) return;
225
225
  const u = Math.max(Math.min(f * (n / l), f), 20);
226
- r.style.height = `${u}px`;
226
+ i.style.height = `${u}px`;
227
227
  const g = e.scrollTop, b = Math.max(l - n, 1);
228
228
  let x = 0;
229
229
  b > 0 && (x = g / b * (f - u));
230
230
  const v = f - u;
231
- x < 0 && (x = 0), x > v && (x = v), r.style.top = `${x}px`, t(this, q).top.disabled = g <= 0, t(this, q).bottom.disabled = g >= b - 1;
231
+ x < 0 && (x = 0), x > v && (x = v), i.style.top = `${x}px`, t(this, q).top.disabled = g <= 0, t(this, q).bottom.disabled = g >= b - 1;
232
232
  }, "refresh"));
233
233
  d(this, Wt, /* @__PURE__ */ h(() => {
234
234
  H.log("nine-table-vscrollbar.#init");
@@ -238,9 +238,9 @@ const $e = class $e extends HTMLElement {
238
238
  }, "getContentHeight");
239
239
  e.addEventListener("scroll", () => {
240
240
  t(this, J) || this.refresh();
241
- }), t(this, q).thumb.addEventListener("mousedown", (r) => {
242
- if (r.button !== 0) return;
243
- r.stopPropagation(), r.preventDefault(), y(this, J, !0), y(this, vt, r.clientY), y(this, wt, e.scrollTop);
241
+ }), t(this, q).thumb.addEventListener("mousedown", (i) => {
242
+ if (i.button !== 0) return;
243
+ i.stopPropagation(), i.preventDefault(), y(this, J, !0), y(this, vt, i.clientY), y(this, wt, e.scrollTop);
244
244
  const n = /* @__PURE__ */ h((o) => {
245
245
  if (!t(this, J)) return;
246
246
  const c = t(this, q).track.getBoundingClientRect(), l = t(this, q).thumb.clientHeight, u = c.height - l, g = o.clientY - t(this, vt), b = e.clientHeight, x = s(), v = Math.max(x - b, 1);
@@ -255,9 +255,9 @@ const $e = class $e extends HTMLElement {
255
255
  y(this, J, !1), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", a), this.refresh();
256
256
  }, "onMouseUp");
257
257
  document.addEventListener("mousemove", n), document.addEventListener("mouseup", a);
258
- }), t(this, q).track.addEventListener("mousedown", (r) => {
259
- if (r.button !== 0 || r.target === t(this, q).thumb) return;
260
- const n = t(this, q).track.getBoundingClientRect(), a = t(this, q).thumb.clientHeight, o = r.clientY - n.top - a / 2, l = n.height - a, f = e.clientHeight, u = s(), g = Math.max(u - f, 1);
258
+ }), t(this, q).track.addEventListener("mousedown", (i) => {
259
+ if (i.button !== 0 || i.target === t(this, q).thumb) return;
260
+ const n = t(this, q).track.getBoundingClientRect(), a = t(this, q).thumb.clientHeight, o = i.clientY - n.top - a / 2, l = n.height - a, f = e.clientHeight, u = s(), g = Math.max(u - f, 1);
261
261
  if (l > 0 && g > 0) {
262
262
  const b = Math.max(0, Math.min(1, o / l));
263
263
  e.scrollTop = b * g;
@@ -355,13 +355,13 @@ const $e = class $e extends HTMLElement {
355
355
  F = new WeakMap(), at = new WeakMap(), J = new WeakMap(), q = new WeakMap(), vt = new WeakMap(), wt = new WeakMap(), Wt = new WeakMap(), h($e, "NineTableVScrollBar");
356
356
  let ce = $e;
357
357
  customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", ce);
358
- var P, S, Q, D, M, V, tt, St, Ee, lt, Ot, Bt, zt, Et, At, Dt, Pt, Rt, Ae, ct, qt, jt;
358
+ var D, S, Q, P, M, V, tt, St, Ee, lt, Ot, Bt, zt, Et, At, Pt, Dt, Rt, Ae, ct, qt, jt;
359
359
  const Ie = class Ie {
360
- constructor(i) {
361
- d(this, P);
360
+ constructor(r) {
361
+ d(this, D);
362
362
  d(this, S);
363
363
  d(this, Q);
364
- d(this, D, /* @__PURE__ */ new Map());
364
+ d(this, P, /* @__PURE__ */ new Map());
365
365
  d(this, M, null);
366
366
  d(this, V, null);
367
367
  d(this, tt, 0);
@@ -370,15 +370,16 @@ const Ie = class Ie {
370
370
  d(this, lt, !1);
371
371
  d(this, Ot, 3);
372
372
  E(this, "refresh", /* @__PURE__ */ h(() => {
373
+ var e;
373
374
  H.log("rowManager.refresh");
374
- const i = t(this, S).querySelector(".ng-container-body .ng-part-body");
375
- i && (t(this, Et).call(this), t(this, ct).call(this, i.scrollTop));
375
+ const r = t(this, S).querySelector(".ng-container-body .ng-part-body");
376
+ r && (t(this, Et).call(this), t(this, ct).call(this, r.scrollTop), (e = t(this, S).querySelector("nine-table-vscrollbar")) == null || e.refresh());
376
377
  }, "refresh"));
377
378
  E(this, "initialize", /* @__PURE__ */ h(() => {
378
379
  H.log("rowManager.initialize"), y(this, Q, {
379
380
  scrollTables: t(this, S).querySelectorAll(".ng-part-body table"),
380
381
  firstTr: t(this, S).querySelector(".ng-container-body .ng-part-body tbody.bindable-tbody tr:not(.nodata)")
381
- }), y(this, M, null), t(this, D).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((a) => {
382
+ }), y(this, M, null), t(this, P).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((a) => {
382
383
  const o = t(this, S).querySelector(a);
383
384
  if (!o) return;
384
385
  const c = o.querySelector(".ng-part-body table");
@@ -386,17 +387,17 @@ const Ie = class Ie {
386
387
  const l = c.querySelector("tbody.bindable-tbody");
387
388
  if (!l) return;
388
389
  const u = Array.from(l.querySelectorAll("tr")).map((g) => g.cloneNode(!0));
389
- t(this, D).set(a, u);
390
+ t(this, P).set(a, u);
390
391
  });
391
- const i = t(this, S).querySelector(".ng-container-body .ng-part-body"), e = t(this, S).querySelector(".ng-container-left .ng-part-body"), s = t(this, S).querySelector(".ng-container-right .ng-part-body"), r = t(this, S).querySelector(".ng-container-body .ng-part-header"), n = t(this, S).querySelector(".ng-container-body .ng-part-footer");
392
- if (i) {
393
- t(this, zt).call(this, i), t(this, Rt).call(this), t(this, Et).call(this), t(this, ct).call(this, i.scrollTop);
392
+ const r = t(this, S).querySelector(".ng-container-body .ng-part-body"), e = t(this, S).querySelector(".ng-container-left .ng-part-body"), s = t(this, S).querySelector(".ng-container-right .ng-part-body"), i = t(this, S).querySelector(".ng-container-body .ng-part-header"), n = t(this, S).querySelector(".ng-container-body .ng-part-footer");
393
+ if (r) {
394
+ t(this, zt).call(this, r), t(this, Rt).call(this), t(this, Et).call(this), t(this, ct).call(this, r.scrollTop);
394
395
  let a = !1;
395
396
  const o = /* @__PURE__ */ h((c, l, f) => {
396
397
  var u;
397
- a || (a = !0, i && i.scrollTop !== c && (i.scrollTop = c), e && e.scrollTop !== c && (e.scrollTop = c), s && s.scrollTop !== c && (s.scrollTop = c), r && r.scrollLeft !== l && (r.scrollLeft = l), n && n.scrollLeft !== l && (n.scrollLeft = l), t(this, ct).call(this, c), (u = t(this, S).querySelector("nine-table-vscrollbar")) == null || u.refresh(), a = !1);
398
+ a || (a = !0, r && r.scrollTop !== c && (r.scrollTop = c), e && e.scrollTop !== c && (e.scrollTop = c), s && s.scrollTop !== c && (s.scrollTop = c), i && i.scrollLeft !== l && (i.scrollLeft = l), n && n.scrollLeft !== l && (n.scrollLeft = l), t(this, ct).call(this, c), (u = t(this, S).querySelector("nine-table-vscrollbar")) == null || u.refresh(), a = !1);
398
399
  }, "syncScroll");
399
- [i, e, s].forEach((c) => {
400
+ [r, e, s].forEach((c) => {
400
401
  c && c.addEventListener("scroll", () => {
401
402
  t(this, lt) || (y(this, lt, !0), requestAnimationFrame(() => {
402
403
  o(c.scrollTop, c.scrollLeft), y(this, lt, !1);
@@ -405,33 +406,33 @@ const Ie = class Ie {
405
406
  });
406
407
  }
407
408
  }, "initialize"));
408
- d(this, Bt, /* @__PURE__ */ h((i, e) => {
409
+ d(this, Bt, /* @__PURE__ */ h((r, e) => {
409
410
  H.log("rowManager.#renderRows");
410
- const s = t(this, D).get(e);
411
+ const s = t(this, P).get(e);
411
412
  if (!s || s.length === 0) return;
412
- const r = i.querySelector(".ng-part-body tbody.bindable-tbody");
413
- if (!r) return;
414
- r.querySelectorAll("tr:not(.nodata)").forEach((o) => o.remove());
415
- const n = r.querySelector("tr.nodata"), a = document.createDocumentFragment();
413
+ const i = r.querySelector(".ng-part-body tbody.bindable-tbody");
414
+ if (!i) return;
415
+ i.querySelectorAll("tr:not(.nodata)").forEach((o) => o.remove());
416
+ const n = i.querySelector("tr.nodata"), a = document.createDocumentFragment();
416
417
  for (let o = 0; o < t(this, St); o++)
417
418
  s.forEach((c) => {
418
419
  a.appendChild(c.cloneNode(!0));
419
420
  });
420
- n ? n.before(a) : r.appendChild(a), e === ".ng-container-body" && (t(this, Q).firstTr = r.querySelector("tr:not(.nodata)"));
421
+ n ? n.before(a) : i.appendChild(a), e === ".ng-container-body" && (t(this, Q).firstTr = i.querySelector("tr:not(.nodata)"));
421
422
  }, "#renderRows"));
422
- d(this, zt, /* @__PURE__ */ h((i) => {
423
+ d(this, zt, /* @__PURE__ */ h((r) => {
423
424
  if (H.log("rowManager.#measureAndCacheHeight"), t(this, M) !== null && t(this, M) > 0)
424
425
  return t(this, M);
425
426
  H.log("#measureAndCacheHeight");
426
- const e = t(this, D).get(".ng-container-body");
427
+ const e = t(this, P).get(".ng-container-body");
427
428
  if (!e || e.length === 0) return 24;
428
- const s = i.querySelector("tbody.bindable-tbody");
429
+ const s = r.querySelector("tbody.bindable-tbody");
429
430
  if (!s) return 24;
430
431
  s.querySelectorAll("tr:not(.nodata)").forEach((g) => g.remove());
431
- const r = s.querySelector("tr.nodata"), n = document.createDocumentFragment();
432
+ const i = s.querySelector("tr.nodata"), n = document.createDocumentFragment();
432
433
  e.forEach((g) => {
433
434
  n.appendChild(g.cloneNode(!0));
434
- }), r ? r.before(n) : s.appendChild(n);
435
+ }), i ? i.before(n) : s.appendChild(n);
435
436
  const a = t(this, S), o = a.style.display, c = a.style.visibility, l = a.style.position;
436
437
  (o === "none" || window.getComputedStyle(a).display === "none") && (a.style.display = "block", a.style.visibility = "hidden", a.style.position = "absolute");
437
438
  let f = 0;
@@ -442,25 +443,25 @@ const Ie = class Ie {
442
443
  }, "#measureAndCacheHeight"));
443
444
  d(this, Et, /* @__PURE__ */ h(() => {
444
445
  H.log("rowManager.#updateVirtualScrollHeight");
445
- const e = (t(this, P).data.get() || []).length, s = t(this, M), r = e * s;
446
+ const e = (t(this, D).data.get() || []).length, s = t(this, M), i = e * s;
446
447
  [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((n) => {
447
448
  const a = t(this, S).querySelector(n);
448
449
  if (!a) return;
449
450
  const o = a.querySelector(".ng-part-body .ng-virtual-spacer");
450
- o && (o.style.height = `${r}px`);
451
+ o && (o.style.height = `${i}px`);
451
452
  });
452
453
  }, "#updateVirtualScrollHeight"));
453
454
  d(this, At, /* @__PURE__ */ h(() => {
454
455
  if (t(this, tt) > 0 && t(this, M) > 0) {
455
- const i = Math.ceil(t(this, tt) / t(this, M));
456
- y(this, St, i + t(this, Ot));
456
+ const r = Math.ceil(t(this, tt) / t(this, M));
457
+ y(this, St, r + t(this, Ot));
457
458
  }
458
459
  }, "#updateRowCount"));
459
- d(this, Dt, /* @__PURE__ */ h(() => {
460
+ d(this, Pt, /* @__PURE__ */ h(() => {
460
461
  var o, c, l, f, u, g;
461
- const i = t(this, S).querySelector(".ng-container-left .ng-part-body table"), e = t(this, S).querySelector(".ng-container-body .ng-part-body table"), s = t(this, S).querySelector(".ng-container-right .ng-part-body table");
462
+ const r = t(this, S).querySelector(".ng-container-left .ng-part-body table"), e = t(this, S).querySelector(".ng-container-body .ng-part-body table"), s = t(this, S).querySelector(".ng-container-right .ng-part-body table");
462
463
  if (e) {
463
- const b = i ? Array.from(i.querySelectorAll("tbody tr")) : [], x = Array.from(e.querySelectorAll("tbody tr")), v = s ? Array.from(s.querySelectorAll("tbody tr")) : [], A = Math.max(b.length, x.length, v.length);
464
+ const b = r ? Array.from(r.querySelectorAll("tbody tr")) : [], x = Array.from(e.querySelectorAll("tbody tr")), v = s ? Array.from(s.querySelectorAll("tbody tr")) : [], A = Math.max(b.length, x.length, v.length);
464
465
  for (let m = 0; m < A; m++) {
465
466
  const W = [
466
467
  ((o = b[m]) == null ? void 0 : o.getBoundingClientRect().height) || 0,
@@ -470,9 +471,9 @@ const Ie = class Ie {
470
471
  C > 0 && (b[m] && (b[m].style.height = `${C}px`), x[m] && (x[m].style.height = `${C}px`), v[m] && (v[m].style.height = `${C}px`));
471
472
  }
472
473
  }
473
- const r = t(this, S).querySelector(".ng-container-left .ng-part-footer table"), n = t(this, S).querySelector(".ng-container-body .ng-part-footer table"), a = t(this, S).querySelector(".ng-container-right .ng-part-footer table");
474
+ const i = t(this, S).querySelector(".ng-container-left .ng-part-footer table"), n = t(this, S).querySelector(".ng-container-body .ng-part-footer table"), a = t(this, S).querySelector(".ng-container-right .ng-part-footer table");
474
475
  if (n) {
475
- const b = r ? Array.from(r.querySelectorAll("tfoot tr")) : [], x = Array.from(n.querySelectorAll("tfoot tr")), v = a ? Array.from(a.querySelectorAll("tfoot tr")) : [], A = Math.max(b.length, x.length, v.length);
476
+ const b = i ? Array.from(i.querySelectorAll("tfoot tr")) : [], x = Array.from(n.querySelectorAll("tfoot tr")), v = a ? Array.from(a.querySelectorAll("tfoot tr")) : [], A = Math.max(b.length, x.length, v.length);
476
477
  for (let m = 0; m < A; m++) {
477
478
  const W = [
478
479
  ((f = b[m]) == null ? void 0 : f.getBoundingClientRect().height) || 0,
@@ -483,66 +484,66 @@ const Ie = class Ie {
483
484
  }
484
485
  }
485
486
  }, "#syncRowHeights"));
486
- d(this, Pt, /* @__PURE__ */ h(() => {
487
- !t(this, S) || !(t(this, S) instanceof HTMLElement) || (y(this, V, new ResizeObserver((i) => {
488
- for (const e of i) {
487
+ d(this, Dt, /* @__PURE__ */ h(() => {
488
+ !t(this, S) || !(t(this, S) instanceof HTMLElement) || (y(this, V, new ResizeObserver((r) => {
489
+ for (const e of r) {
489
490
  const s = e.target;
490
491
  if (!s.classList.contains("active")) continue;
491
- const r = e.contentRect.height;
492
- if (r > 0) {
492
+ const i = e.contentRect.height;
493
+ if (i > 0) {
493
494
  let n = 0;
494
495
  const a = s.querySelector(".ng-part-header"), o = s.querySelector(".ng-part-footer");
495
496
  a && (n += a.offsetHeight), o && (n += o.offsetHeight);
496
- const c = Math.max(r - n, 100);
497
+ const c = Math.max(i - n, 100);
497
498
  t(this, tt) !== c && (y(this, tt, c), t(this, At).call(this), t(this, M) !== null && (t(this, Rt).call(this), this.refresh()));
498
499
  }
499
500
  }
500
501
  })), t(this, V).observe(t(this, S)));
501
502
  }, "#initResizeObserver"));
502
503
  d(this, Rt, /* @__PURE__ */ h(() => {
503
- H.log("rowManager.#renderAllContainers"), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((i) => {
504
- const e = t(this, S).querySelector(i);
505
- e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, Bt).call(this, e, i);
506
- }), t(this, jt).call(this), t(this, Dt).call(this);
504
+ H.log("rowManager.#renderAllContainers"), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((r) => {
505
+ const e = t(this, S).querySelector(r);
506
+ e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, Bt).call(this, e, r);
507
+ }), t(this, jt).call(this), t(this, Pt).call(this);
507
508
  }, "#renderAllContainers"));
508
- d(this, Ae, /* @__PURE__ */ h((i) => {
509
+ d(this, Ae, /* @__PURE__ */ h((r) => {
509
510
  [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((e) => {
510
511
  var l;
511
512
  const s = t(this, S).querySelector(e);
512
513
  if (!s) return;
513
- const r = s.querySelector(".ng-part-body tbody.bindable-tbody");
514
- if (!r) return;
515
- const n = Array.from(r.querySelectorAll("tr:not(.nodata)")), a = ((l = t(this, D).get(e)) == null ? void 0 : l.length) || 1, c = (t(this, P).data.get() || []).length;
514
+ const i = s.querySelector(".ng-part-body tbody.bindable-tbody");
515
+ if (!i) return;
516
+ const n = Array.from(i.querySelectorAll("tr:not(.nodata)")), a = ((l = t(this, P).get(e)) == null ? void 0 : l.length) || 1, c = (t(this, D).data.get() || []).length;
516
517
  n.forEach((f, u) => {
517
- const g = i + Math.floor(u / a);
518
+ const g = r + Math.floor(u / a);
518
519
  if (g >= c) {
519
520
  f.style.display = "none";
520
521
  return;
521
522
  }
522
- const b = t(this, P).data.get(g);
523
+ const b = t(this, D).data.get(g);
523
524
  f.style.display = "", t(this, qt).call(this, f, b, g);
524
525
  });
525
526
  });
526
527
  }, "#adjustBufferRows"));
527
- d(this, ct, /* @__PURE__ */ h((i) => {
528
+ d(this, ct, /* @__PURE__ */ h((r) => {
528
529
  var l, f;
529
530
  const e = t(this, M);
530
531
  if (!e || e <= 0) return;
531
- const s = t(this, P).data.length, r = Math.max(0, Math.floor(i / e)), n = r * e, a = ((l = t(this, D).get(".ng-container-body")) == null ? void 0 : l.length) || 1, o = t(this, Q).firstTr, c = o && o.dataset.row !== void 0 ? parseInt(o.dataset.row, 10) : -1;
532
+ const s = t(this, D).data.length, i = Math.max(0, Math.floor(r / e)), n = i * e, a = ((l = t(this, P).get(".ng-container-body")) == null ? void 0 : l.length) || 1, o = t(this, Q).firstTr, c = o && o.dataset.row !== void 0 ? parseInt(o.dataset.row, 10) : -1;
532
533
  (f = t(this, Q)) == null || f.scrollTables.forEach((u) => {
533
- u.style.transform = `translateY(${n}px)`;
534
- }), c !== r && [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((u) => {
534
+ u.style.transform = `translate3d(0, ${n}px, 0)`;
535
+ }), c !== i && [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((u) => {
535
536
  const g = t(this, S).querySelector(u);
536
537
  if (!g) return;
537
538
  const b = g.querySelector(".ng-part-body tbody.bindable-tbody");
538
539
  if (!b) return;
539
540
  Array.from(b.querySelectorAll("tr:not(.nodata)")).forEach((v, A) => {
540
- const m = r + Math.floor(A / a);
541
+ const m = i + Math.floor(A / a);
541
542
  if (m >= s) {
542
543
  v.style.display = "none";
543
544
  return;
544
545
  }
545
- const W = t(this, P).data.get(m);
546
+ const W = t(this, D).data.get(m);
546
547
  v.style.display = "", t(this, qt).call(this, v, W, m);
547
548
  });
548
549
  });
@@ -561,55 +562,55 @@ const Ie = class Ie {
561
562
  cell.dataset.row = dataIndex;
562
563
  });
563
564
  }; */
564
- d(this, qt, /* @__PURE__ */ h((i, e, s) => {
565
- i.dataset.row = s, i.data = e, Array.from(i.cells).forEach((r, n) => {
566
- r.dataset.row = s;
567
- const a = Array.from(r.children).find((o) => o.tagName.toLowerCase().startsWith("cell-") || typeof o.refresh == "function");
565
+ d(this, qt, /* @__PURE__ */ h((r, e, s) => {
566
+ r.dataset.row = s, r.data = e, Array.from(r.cells).forEach((i, n) => {
567
+ i.dataset.row = s;
568
+ const a = Array.from(i.children).find((o) => o.tagName.toLowerCase().startsWith("cell-") || typeof o.refresh == "function");
568
569
  a && typeof a.refresh == "function" && a.refresh();
569
570
  });
570
571
  }, "#bindRowData"));
571
572
  d(this, jt, /* @__PURE__ */ h(() => {
572
573
  var c, l, f;
573
574
  H.log("rowManager.#syncHeaderHeights");
574
- const i = t(this, S).querySelector(".ng-container-left .ng-part-header table"), e = t(this, S).querySelector(".ng-container-body .ng-part-header table"), s = t(this, S).querySelector(".ng-container-right .ng-part-header table");
575
+ const r = t(this, S).querySelector(".ng-container-left .ng-part-header table"), e = t(this, S).querySelector(".ng-container-body .ng-part-header table"), s = t(this, S).querySelector(".ng-container-right .ng-part-header table");
575
576
  if (!e) return;
576
- const r = i ? Array.from(i.querySelectorAll("tr")) : [], n = Array.from(e.querySelectorAll("tr")), a = s ? Array.from(s.querySelectorAll("tr")) : [], o = Math.max(r.length, n.length, a.length);
577
+ const i = r ? Array.from(r.querySelectorAll("tr")) : [], n = Array.from(e.querySelectorAll("tr")), a = s ? Array.from(s.querySelectorAll("tr")) : [], o = Math.max(i.length, n.length, a.length);
577
578
  for (let u = 0; u < o; u++) {
578
579
  const g = [
579
- ((c = r[u]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
580
+ ((c = i[u]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
580
581
  ((l = n[u]) == null ? void 0 : l.getBoundingClientRect().height) || 0,
581
582
  ((f = a[u]) == null ? void 0 : f.getBoundingClientRect().height) || 0
582
583
  ], b = Math.max(...g);
583
- b > 0 && (r[u] && (r[u].style.height = `${b}px`), n[u] && (n[u].style.height = `${b}px`), a[u] && (a[u].style.height = `${b}px`));
584
+ b > 0 && (i[u] && (i[u].style.height = `${b}px`), n[u] && (n[u].style.height = `${b}px`), a[u] && (a[u].style.height = `${b}px`));
584
585
  }
585
586
  }, "#syncHeaderHeights"));
586
587
  E(this, "destroy", /* @__PURE__ */ h(() => {
587
588
  t(this, V) && (t(this, V).disconnect(), y(this, V, null));
588
589
  }, "destroy"));
589
- y(this, P, i.getRootNode().host), y(this, S, i), t(this, Pt).call(this);
590
+ y(this, D, r.getRootNode().host), y(this, S, r), t(this, Dt).call(this);
590
591
  }
591
592
  getRowHeight() {
592
593
  return t(this, M);
593
594
  }
594
- templateLength(i = ".ng-container-body") {
595
+ templateLength(r = ".ng-container-body") {
595
596
  var e;
596
- return ((e = t(this, D).get(i)) == null ? void 0 : e.length) || 1;
597
+ return ((e = t(this, P).get(r)) == null ? void 0 : e.length) || 1;
597
598
  }
598
599
  };
599
- P = new WeakMap(), S = new WeakMap(), Q = new WeakMap(), D = new WeakMap(), M = new WeakMap(), V = new WeakMap(), tt = new WeakMap(), St = new WeakMap(), Ee = new WeakMap(), lt = new WeakMap(), Ot = new WeakMap(), Bt = new WeakMap(), zt = new WeakMap(), Et = new WeakMap(), At = new WeakMap(), Dt = new WeakMap(), Pt = new WeakMap(), Rt = new WeakMap(), Ae = new WeakMap(), ct = new WeakMap(), qt = new WeakMap(), jt = new WeakMap(), h(Ie, "RowManager");
600
+ D = new WeakMap(), S = new WeakMap(), Q = new WeakMap(), P = new WeakMap(), M = new WeakMap(), V = new WeakMap(), tt = new WeakMap(), St = new WeakMap(), Ee = new WeakMap(), lt = new WeakMap(), Ot = new WeakMap(), Bt = new WeakMap(), zt = new WeakMap(), Et = new WeakMap(), At = new WeakMap(), Pt = new WeakMap(), Dt = new WeakMap(), Rt = new WeakMap(), Ae = new WeakMap(), ct = new WeakMap(), qt = new WeakMap(), jt = new WeakMap(), h(Ie, "RowManager");
600
601
  let he = Ie;
601
602
  const Ft = class Ft {
602
603
  /**
603
604
  * 🎯 레이아웃 내의 여러 rawTables 배열을 일괄로 받아 단일 마스터 템플릿으로 사전 컴파일합니다.
604
605
  */
605
- static compileAll(i) {
606
- return Array.isArray(i) ? i.map((e) => Ft.compile(e)) : [];
606
+ static compileAll(r) {
607
+ return Array.isArray(r) ? r.map((e) => Ft.compile(e)) : [];
607
608
  }
608
609
  /**
609
610
  * 🎯 단일 원본 테이블을 받아 기본 구조 보정 및 2차원 격자 인덱스 사전 부여 완료된 마스터 테이블 반환
610
611
  */
611
- static compile(i) {
612
- if (!i) return null;
612
+ static compile(r) {
613
+ if (!r) return null;
613
614
  const e = /* @__PURE__ */ h((o) => {
614
615
  o.querySelectorAll("tbody td, tbody th, tfoot td, tfoot th").forEach((l) => {
615
616
  const f = l.getAttribute("cell-type") || "renderer";
@@ -633,7 +634,7 @@ const Ft = class Ft {
633
634
  l ? l.after(c) : o.prepend(c);
634
635
  }
635
636
  o.classList.add("nine-table-element"), o.style.display = "table";
636
- }, "ensureTableStructure"), r = /* @__PURE__ */ h((o, c) => {
637
+ }, "ensureTableStructure"), i = /* @__PURE__ */ h((o, c) => {
637
638
  const l = Array.from(o.querySelectorAll(c + " tr")), f = Array.from(o.querySelectorAll(c + " th," + c + " td")), u = l.length;
638
639
  if (u === 0 || f.length === 0) return;
639
640
  let g = 0;
@@ -665,8 +666,8 @@ const Ft = class Ft {
665
666
  }
666
667
  });
667
668
  });
668
- }, "resetColIndex"), n = i.cloneNode(!0);
669
- return s(n), e(n), r(n, "thead"), r(n, "tbody"), r(n, "tfoot"), Array.from(n.querySelectorAll("colgroup col")).forEach((o, c) => {
669
+ }, "resetColIndex"), n = r.cloneNode(!0);
670
+ return s(n), e(n), i(n, "thead"), i(n, "tbody"), i(n, "tfoot"), Array.from(n.querySelectorAll("colgroup col")).forEach((o, c) => {
670
671
  const l = o.getAttribute("fixed");
671
672
  l && n.querySelectorAll(`thead [data-col="${c}"], tbody [data-col="${c}"], tfoot [data-col="${c}"]`).forEach((f) => {
672
673
  f.setAttribute("fixed", l);
@@ -692,28 +693,28 @@ const mt = class mt extends HTMLElement {
692
693
  { selector: ".ng-container-body", type: null },
693
694
  { selector: ".ng-container-left", type: "left" },
694
695
  { selector: ".ng-container-right", type: "right" }
695
- ].forEach(({ selector: s, type: r }) => {
696
+ ].forEach(({ selector: s, type: i }) => {
696
697
  const n = this.querySelector(s);
697
698
  if (!n) return;
698
699
  n.innerHTML = "";
699
700
  const a = document.createElement("div");
700
- a.className = "ng-part-header", a.appendChild(t(this, ht).call(this, t(this, et), r, "header"));
701
+ a.className = "ng-part-header", a.appendChild(t(this, ht).call(this, t(this, et), i, "header"));
701
702
  const o = document.createElement("div");
702
703
  o.className = "ng-part-body";
703
704
  const c = document.createElement("div");
704
- c.className = "ng-scroll-content", c.style.position = "relative", c.style.width = "100%", c.appendChild(t(this, ht).call(this, t(this, et), r, "body"));
705
+ c.className = "ng-scroll-content", c.style.position = "relative", c.style.width = "100%", c.appendChild(t(this, ht).call(this, t(this, et), i, "body"));
705
706
  const l = document.createElement("div");
706
707
  l.className = "ng-virtual-spacer", l.style.width = "100%", l.style.pointerEvents = "none", c.appendChild(l), o.appendChild(c);
707
708
  const f = document.createElement("div");
708
- f.className = "ng-part-footer", f.appendChild(t(this, ht).call(this, t(this, et), r, "footer")), n.appendChild(a), n.appendChild(o), n.appendChild(f);
709
+ f.className = "ng-part-footer", f.appendChild(t(this, ht).call(this, t(this, et), i, "footer")), n.appendChild(a), n.appendChild(o), n.appendChild(f);
709
710
  });
710
711
  }, "#renderSplitContainers"));
711
712
  d(this, Ut, /* @__PURE__ */ h(() => {
712
713
  ["left", "right", "body"].forEach((e) => {
713
- const s = this.querySelector(`.ng-container-${e}`), r = s == null ? void 0 : s.querySelectorAll("table");
714
- if (!s || !r || r.length === 0) return;
714
+ const s = this.querySelector(`.ng-container-${e}`), i = s == null ? void 0 : s.querySelectorAll("table");
715
+ if (!s || !i || i.length === 0) return;
715
716
  let n = 0;
716
- r[0].querySelectorAll("col").forEach((a) => {
717
+ i[0].querySelectorAll("col").forEach((a) => {
717
718
  const o = parseInt(a.getAttribute("width"), 10);
718
719
  isNaN(n) || (n += o);
719
720
  }), e === "body" ? s.style.flex = "1" : (s.style.flex = `0 0 ${n}px`, s.style.width = `${n}px`);
@@ -725,14 +726,14 @@ const mt = class mt extends HTMLElement {
725
726
  (s = this.querySelector("nine-table-hscrollbar")) == null || s.refresh();
726
727
  }, 0));
727
728
  }, "generate"));
728
- d(this, ht, /* @__PURE__ */ h((e, s, r) => {
729
+ d(this, ht, /* @__PURE__ */ h((e, s, i) => {
729
730
  const n = e.cloneNode(!0), a = n.querySelector("thead"), o = n.querySelector("tbody"), c = n.querySelector("tfoot");
730
- if (r === "header") {
731
+ if (i === "header") {
731
732
  if (o && o.remove(), c && c.remove(), e.querySelector("tbody")) {
732
733
  const f = document.createElement("tbody");
733
734
  f.className = "fixed-tbody", n.appendChild(f);
734
735
  }
735
- } else r === "body" ? (a && a.remove(), c && c.remove(), o && (o.className = "bindable-tbody")) : r === "footer" && (a && a.remove(), o && o.remove());
736
+ } else i === "body" ? (a && a.remove(), c && c.remove(), o && (o.className = "bindable-tbody")) : i === "footer" && (a && a.remove(), o && o.remove());
736
737
  return s === "left" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
737
738
  l.getAttribute("fixed") !== "left" && l.remove();
738
739
  }) : s === "right" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
@@ -856,6 +857,8 @@ const mt = class mt extends HTMLElement {
856
857
  border-collapse: collapse;
857
858
  width: 100%;
858
859
  table-layout: fixed;
860
+ will-change: transform; /* 🎯 GPU 레이어로 분리하여 렌더링 떨림 방지 */
861
+ transform: translateZ(0); /* 🎯 강제 하드웨어 가속 트리거 */
859
862
  }
860
863
 
861
864
  nine-table-sheet th, nine-table-sheet td {
@@ -916,12 +919,12 @@ const _e = class _e extends HTMLElement {
916
919
  var e;
917
920
  (e = this.querySelector(".nine-tab-bar")) == null || e.addEventListener("click", (s) => {
918
921
  var a;
919
- const r = s.ctrlKey || s.metaKey || s.shiftKey, n = parseInt((a = s.target.closest(".nine-tab-item")) == null ? void 0 : a.dataset.index, 10);
920
- t(this, kt).call(this, n, r);
922
+ const i = s.ctrlKey || s.metaKey || s.shiftKey, n = parseInt((a = s.target.closest(".nine-tab-item")) == null ? void 0 : a.dataset.index, 10);
923
+ t(this, kt).call(this, n, i);
921
924
  }), t(this, kt).call(this, 0, !1);
922
925
  }, "#init"));
923
926
  d(this, kt, /* @__PURE__ */ h((e, s = !1) => {
924
- const r = /* @__PURE__ */ h(() => {
927
+ const i = /* @__PURE__ */ h(() => {
925
928
  const f = Array.from(this.querySelectorAll("nine-table-sheet"));
926
929
  Array.from(this.querySelectorAll("nine-splitter")).forEach((b) => b.style.setProperty("display", "none"));
927
930
  const g = f.filter((b) => b.classList.contains("active"));
@@ -949,7 +952,7 @@ const _e = class _e extends HTMLElement {
949
952
  const l = a.querySelectorAll("nine-table-sheet.active");
950
953
  l == null || l.forEach((f) => {
951
954
  f.style.flex = l.length > 1 ? "1 1 0%" : "1 1 100%";
952
- }), r();
955
+ }), i();
953
956
  }, "#switchSheet"));
954
957
  }
955
958
  connectedCallback() {
@@ -961,24 +964,24 @@ let fe = _e;
961
964
  customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", fe);
962
965
  var I, Gt, Tt, Jt;
963
966
  const Ne = class Ne {
964
- constructor(i) {
967
+ constructor(r) {
965
968
  d(this, I);
966
969
  d(this, Gt, /* @__PURE__ */ h(() => {
967
- t(this, Jt).call(this), new ResizeObserver((i) => {
968
- for (let e of i)
970
+ t(this, Jt).call(this), new ResizeObserver((r) => {
971
+ for (let e of r)
969
972
  t(this, I).getAttribute("auto-height") === "true" && t(this, Tt).call(this);
970
973
  }).observe(t(this, I));
971
974
  }, "#init"));
972
975
  d(this, Tt, /* @__PURE__ */ h(() => {
973
976
  var c, l;
974
- const i = Array.from(t(this, I).shadowRoot.querySelectorAll("nine-table-sheet.active"));
975
- if (i.length === 0) return;
976
- const e = parseInt(t(this, I).getAttribute("max-display-row"), 10) || 10, s = Math.max(...i.map((f) => f.getRowHeight())), r = (c = t(this, I).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : c.getBoundingClientRect().height, n = (l = t(this, I).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, a = It.SCROLLBAR_SIZE, o = e * s + r + n + a;
977
+ const r = Array.from(t(this, I).shadowRoot.querySelectorAll("nine-table-sheet.active"));
978
+ if (r.length === 0) return;
979
+ const e = parseInt(t(this, I).getAttribute("max-display-row"), 10) || 10, s = Math.max(...r.map((f) => f.getRowHeight())), i = (c = t(this, I).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : c.getBoundingClientRect().height, n = (l = t(this, I).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, a = It.SCROLLBAR_SIZE, o = e * s + i + n + a;
977
980
  t(this, I).style.height = `${o}px`;
978
981
  }, "#applyAutoHeight"));
979
982
  d(this, Jt, /* @__PURE__ */ h(() => {
980
- const e = Array.from(t(this, I).children).filter((c) => c.tagName === "TABLE"), s = t(this, I).getAttribute("auto-height") === "true", r = e.length, n = e.map((c, l) => {
981
- const u = `<nine-table-sheet class="${l === 0 ? "active" : ""}" data-index="${l}"></nine-table-sheet>`, g = l < r - 1 ? `<nine-splitter class="h" data-split-index="${l}"></nine-splitter>` : "";
983
+ const e = Array.from(t(this, I).children).filter((c) => c.tagName === "TABLE"), s = t(this, I).getAttribute("auto-height") === "true", i = e.length, n = e.map((c, l) => {
984
+ const u = `<nine-table-sheet class="${l === 0 ? "active" : ""}" data-index="${l}"></nine-table-sheet>`, g = l < i - 1 ? `<nine-splitter class="h" data-split-index="${l}"></nine-splitter>` : "";
982
985
  return u + g;
983
986
  }).join(""), a = e.map((c, l) => `<div class="nine-tab-item ${l === 0 ? "active" : ""}" data-index="${l}">Sheet ${l + 1}</div>`).join("");
984
987
  t(this, I).shadowRoot.innerHTML = `
@@ -1079,32 +1082,32 @@ const Ne = class Ne {
1079
1082
  });
1080
1083
  });
1081
1084
  }, "#render"));
1082
- y(this, I, i), t(this, Gt).call(this);
1085
+ y(this, I, r), t(this, Gt).call(this);
1083
1086
  }
1084
1087
  };
1085
1088
  I = new WeakMap(), Gt = new WeakMap(), Tt = new WeakMap(), Jt = new WeakMap(), h(Ne, "LayoutManager");
1086
1089
  let ue = Ne;
1087
1090
  var Ct, dt;
1088
1091
  const We = class We {
1089
- constructor(i) {
1092
+ constructor(r) {
1090
1093
  d(this, Ct);
1091
1094
  d(this, dt, -1);
1092
1095
  E(this, "count", /* @__PURE__ */ h(() => t(this, Ct).rawRecords.length, "count"));
1093
- y(this, Ct, i);
1096
+ y(this, Ct, r);
1094
1097
  }
1095
1098
  get at() {
1096
1099
  return t(this, dt);
1097
1100
  }
1098
- set at(i) {
1099
- y(this, dt, parseInt(i, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, dt)}"]`) && setTimeout(() => {
1101
+ set at(r) {
1102
+ y(this, dt, parseInt(r, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, dt)}"]`) && setTimeout(() => {
1100
1103
  });
1101
1104
  }
1102
1105
  };
1103
1106
  Ct = new WeakMap(), dt = new WeakMap(), h(We, "ngRow");
1104
1107
  let ge = We;
1105
- var _, k, N, ft, Qt, Y, te, it, Lt, ee, se, ut;
1108
+ var _, k, N, ft, Qt, Y, te, rt, Lt, ee, se, ut;
1106
1109
  const O = class O {
1107
- constructor(i, e) {
1110
+ constructor(r, e) {
1108
1111
  d(this, _);
1109
1112
  d(this, k);
1110
1113
  d(this, N, []);
@@ -1113,34 +1116,34 @@ const O = class O {
1113
1116
  d(this, Y, []);
1114
1117
  d(this, te, /* @__PURE__ */ h(() => {
1115
1118
  y(this, Y, []);
1116
- const i = t(this, _).template || [];
1117
- Array.from(i).forEach((e) => {
1119
+ const r = t(this, _).template || [];
1120
+ Array.from(r).forEach((e) => {
1118
1121
  var s;
1119
1122
  t(this, Y).push(((s = e.getBoundingClientRect) == null ? void 0 : s.call(e).height) || 24);
1120
1123
  }), (t(this, k).rawRecords || []).forEach((e) => {
1121
1124
  e.__ng || (e.__ng = t(this, Lt).call(this)), e.__ng.height = t(this, Y).slice();
1122
1125
  });
1123
1126
  }, "#initialize"));
1124
- d(this, it, /* @__PURE__ */ h(() => {
1125
- t(this, _).shadowRoot.querySelectorAll("nine-table-sheet").forEach((i) => {
1126
- i.invalidate();
1127
+ d(this, rt, /* @__PURE__ */ h(() => {
1128
+ t(this, _).shadowRoot.querySelectorAll("nine-table-sheet").forEach((r) => {
1129
+ r.invalidate();
1127
1130
  });
1128
1131
  }, "#invalidate"));
1129
- E(this, "get", /* @__PURE__ */ h((i, e) => {
1132
+ E(this, "get", /* @__PURE__ */ h((r, e) => {
1130
1133
  var n;
1131
1134
  const s = this.getValidData();
1132
1135
  if (!s || s.length <= 0) return;
1133
- if (i == null) return t(this, ut).call(this, s);
1134
- if (i < 0 || i >= s.length) return null;
1135
- const r = typeof ((n = t(this, _).fields) == null ? void 0 : n.get) == "function" ? t(this, _).fields.get() : [];
1136
+ if (r == null) return t(this, ut).call(this, s);
1137
+ if (r < 0 || r >= s.length) return null;
1138
+ const i = typeof ((n = t(this, _).fields) == null ? void 0 : n.get) == "function" ? t(this, _).fields.get() : [];
1136
1139
  if (e != null) {
1137
- const a = r.indexOf(e);
1138
- return a >= 0 ? s[i].v[a] : null;
1140
+ const a = i.indexOf(e);
1141
+ return a >= 0 ? s[r].v[a] : null;
1139
1142
  }
1140
- return t(this, ut).call(this, s[i]);
1143
+ return t(this, ut).call(this, s[r]);
1141
1144
  }, "get"));
1142
- E(this, "set", /* @__PURE__ */ h((i) => {
1143
- this.clear(), this.add(i, !1), t(this, it).call(this);
1145
+ E(this, "set", /* @__PURE__ */ h((r) => {
1146
+ this.clear(), this.add(r, !1), t(this, rt).call(this);
1144
1147
  }, "set"));
1145
1148
  d(this, Lt, /* @__PURE__ */ h(() => ({
1146
1149
  rowState: O.ROW_STATE.EMPTY,
@@ -1152,84 +1155,84 @@ const O = class O {
1152
1155
  _: [0, 0, 0, 0, O.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, Y).slice(), -1, {}, {}]
1153
1156
  }), "#getDefaultMeta"));
1154
1157
  E(this, "reset", /* @__PURE__ */ h(() => {
1155
- y(this, N, []), y(this, ft, []), t(this, it).call(this);
1158
+ y(this, N, []), y(this, ft, []), t(this, rt).call(this);
1156
1159
  }, "reset"));
1157
1160
  E(this, "clear", /* @__PURE__ */ h(() => {
1158
- var i;
1159
- t(this, k).rawRecords = [], y(this, N, []), y(this, ft, []), (i = t(this, k).viewRecords) != null && i.reset && t(this, k).viewRecords.reset();
1160
- }, "clear"));
1161
- d(this, ee, /* @__PURE__ */ h((i) => {
1162
1161
  var r;
1163
- Array.isArray(i) || (i = [i]);
1164
- const e = typeof ((r = t(this, _).fields) == null ? void 0 : r.get) == "function" ? t(this, _).fields.get() : Object.keys(i[0] || {}), s = [];
1165
- return i.forEach((n) => {
1162
+ t(this, k).rawRecords = [], y(this, N, []), y(this, ft, []), (r = t(this, k).viewRecords) != null && r.reset && t(this, k).viewRecords.reset();
1163
+ }, "clear"));
1164
+ d(this, ee, /* @__PURE__ */ h((r) => {
1165
+ var i;
1166
+ Array.isArray(r) || (r = [r]);
1167
+ const e = typeof ((i = t(this, _).fields) == null ? void 0 : i.get) == "function" ? t(this, _).fields.get() : Object.keys(r[0] || {}), s = [];
1168
+ return r.forEach((n) => {
1166
1169
  const a = { v: [] };
1167
1170
  e.forEach((o) => {
1168
1171
  a.v.push(n[o] !== void 0 && n[o] !== null ? n[o] : "");
1169
1172
  }), s.push(a);
1170
1173
  }), s;
1171
1174
  }, "#json2Array"));
1172
- d(this, se, /* @__PURE__ */ h((i) => (Array.isArray(i) || (i = [i]), i.forEach((e) => {
1175
+ d(this, se, /* @__PURE__ */ h((r) => (Array.isArray(r) || (r = [r]), r.forEach((e) => {
1173
1176
  e.__ng = t(this, Lt).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = O.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
1174
- }), i), "#defaultInsert"));
1175
- E(this, "add", /* @__PURE__ */ h((i, e = !0) => {
1176
- i === void 0 && (i = {});
1177
- const s = t(this, ee).call(this, i);
1177
+ }), r), "#defaultInsert"));
1178
+ E(this, "add", /* @__PURE__ */ h((r, e = !0) => {
1179
+ r === void 0 && (r = {});
1180
+ const s = t(this, ee).call(this, r);
1178
1181
  t(this, k).rawRecords = t(this, k).rawRecords.concat(t(this, se).call(this, s)), this.resetRecords();
1179
- const r = this.count() - 1;
1182
+ const i = this.count() - 1;
1180
1183
  return e || s.forEach((n, a) => {
1181
- const o = t(this, k).rawRecords[r - a];
1184
+ const o = t(this, k).rawRecords[i - a];
1182
1185
  o && (o.__ng.rowState = O.ROW_STATE.EMPTY);
1183
- }), t(this, it).call(this), r;
1186
+ }), t(this, rt).call(this), i;
1184
1187
  }, "add"));
1185
- E(this, "delete", /* @__PURE__ */ h((i) => {
1188
+ E(this, "delete", /* @__PURE__ */ h((r) => {
1186
1189
  let e = [];
1187
- Array.isArray(i) ? e = i : typeof i > "u" ? e = [t(this, k).host.row.at] : e = [parseInt(i, 10)], e.sort((s, r) => r - s).forEach((s) => {
1190
+ Array.isArray(r) ? e = r : typeof r > "u" ? e = [t(this, k).host.row.at] : e = [parseInt(r, 10)], e.sort((s, i) => i - s).forEach((s) => {
1188
1191
  if (t(this, N)[s]) {
1189
- const r = t(this, N)[s].__ng.rowid;
1190
- t(this, N)[s].__ng.rowState === O.ROW_STATE.INSERT ? t(this, k).rawRecords = t(this, k).rawRecords.filter((n) => n.__ng.rowid !== r) : t(this, k).rawRecords.forEach((n) => {
1191
- n.__ng.rowid === r && (n.__ng.deleted = !0, n.__ng.rowState = O.ROW_STATE.DELETE);
1192
+ const i = t(this, N)[s].__ng.rowid;
1193
+ t(this, N)[s].__ng.rowState === O.ROW_STATE.INSERT ? t(this, k).rawRecords = t(this, k).rawRecords.filter((n) => n.__ng.rowid !== i) : t(this, k).rawRecords.forEach((n) => {
1194
+ n.__ng.rowid === i && (n.__ng.deleted = !0, n.__ng.rowState = O.ROW_STATE.DELETE);
1192
1195
  });
1193
1196
  }
1194
- }), this.resetRecords(), t(this, it).call(this);
1197
+ }), this.resetRecords(), t(this, rt).call(this);
1195
1198
  }, "delete"));
1196
- E(this, "setValue", /* @__PURE__ */ h((i, e, s) => {
1199
+ E(this, "setValue", /* @__PURE__ */ h((r, e, s) => {
1197
1200
  var c;
1198
- i = parseInt(i, 10);
1201
+ r = parseInt(r, 10);
1199
1202
  const n = (typeof ((c = t(this, _).fields) == null ? void 0 : c.get) == "function" ? t(this, _).fields.get() : []).indexOf(e);
1200
1203
  if (n < 0) return;
1201
- const a = this.getValidData()[i];
1204
+ const a = this.getValidData()[r];
1202
1205
  if (!a) return;
1203
1206
  const o = a.v[n];
1204
1207
  o !== s && a.__ng.rowState !== O.ROW_STATE.INSERT && (a.__ng.o.hasOwnProperty(e) || (a.__ng.o[e] = o), a.__ng.rowState = O.ROW_STATE.UPDATE), a.v[n] = s;
1205
1208
  }, "setValue"));
1206
1209
  E(this, "resetRecords", /* @__PURE__ */ h(() => {
1207
- y(this, ft, t(this, k).rawRecords.filter((i) => !i.__ng.deleted)), y(this, N, t(this, k).rawRecords.filter((i) => !i.__ng.deleted && !i.__ng.filtered)), t(this, k).rawRecords.forEach((i, e) => {
1208
- i.__ng.rowidx = e;
1209
- }), t(this, N).forEach((i, e) => {
1210
- i.__ng.i = e;
1210
+ y(this, ft, t(this, k).rawRecords.filter((r) => !r.__ng.deleted)), y(this, N, t(this, k).rawRecords.filter((r) => !r.__ng.deleted && !r.__ng.filtered)), t(this, k).rawRecords.forEach((r, e) => {
1211
+ r.__ng.rowidx = e;
1212
+ }), t(this, N).forEach((r, e) => {
1213
+ r.__ng.i = e;
1211
1214
  });
1212
1215
  }, "resetRecords"));
1213
1216
  E(this, "getValidData", /* @__PURE__ */ h(() => (t(this, N).length === 0 && t(this, k).rawRecords.length > 0 && this.resetRecords(), t(this, N)), "getValidData"));
1214
- d(this, ut, /* @__PURE__ */ h((i) => {
1217
+ d(this, ut, /* @__PURE__ */ h((r) => {
1215
1218
  var a;
1216
- if (!i) return i;
1217
- const e = !Array.isArray(i), s = e ? [i] : i, r = typeof ((a = t(this, _).fields) == null ? void 0 : a.get) == "function" ? t(this, _).fields.get() : [], n = s.filter((o) => !o.__ng.deleted).map((o) => {
1219
+ if (!r) return r;
1220
+ const e = !Array.isArray(r), s = e ? [r] : r, i = typeof ((a = t(this, _).fields) == null ? void 0 : a.get) == "function" ? t(this, _).fields.get() : [], n = s.filter((o) => !o.__ng.deleted).map((o) => {
1218
1221
  const c = {};
1219
- return r.forEach((l, f) => {
1222
+ return i.forEach((l, f) => {
1220
1223
  c[l] = o.v ? o.v[f] : o[l];
1221
1224
  }), c.__ng = o.__ng, c;
1222
1225
  });
1223
1226
  return e ? n[0] : n;
1224
1227
  }, "#conv"));
1225
1228
  E(this, "count", /* @__PURE__ */ h(() => this.getValidData().length, "count"));
1226
- y(this, _, i), y(this, k, e), t(this, te).call(this);
1229
+ y(this, _, r), y(this, k, e), t(this, te).call(this);
1227
1230
  }
1228
1231
  get source() {
1229
1232
  return t(this, ut).call(this, t(this, k).rawRecords);
1230
1233
  }
1231
- set source(i) {
1232
- this.clear(), this.add(i, !1);
1234
+ set source(r) {
1235
+ this.clear(), this.add(r, !1);
1233
1236
  }
1234
1237
  get nextId() {
1235
1238
  return ++Ue(this, Qt)._;
@@ -1244,7 +1247,7 @@ const O = class O {
1244
1247
  return this.length;
1245
1248
  }
1246
1249
  };
1247
- _ = new WeakMap(), k = new WeakMap(), N = new WeakMap(), ft = new WeakMap(), Qt = new WeakMap(), Y = new WeakMap(), te = new WeakMap(), it = new WeakMap(), Lt = new WeakMap(), ee = new WeakMap(), se = new WeakMap(), ut = new WeakMap(), h(O, "ngData"), // 🎯 행 상태 정의 상수를 클래스 내부로 내재화
1250
+ _ = new WeakMap(), k = new WeakMap(), N = new WeakMap(), ft = new WeakMap(), Qt = new WeakMap(), Y = new WeakMap(), te = new WeakMap(), rt = new WeakMap(), Lt = new WeakMap(), ee = new WeakMap(), se = new WeakMap(), ut = new WeakMap(), h(O, "ngData"), // 🎯 행 상태 정의 상수를 클래스 내부로 내재화
1248
1251
  E(O, "ROW_STATE", {
1249
1252
  EMPTY: "EMPTY",
1250
1253
  NORMAL: "NORMAL",
@@ -1253,56 +1256,56 @@ E(O, "ROW_STATE", {
1253
1256
  DELETE: "DELETE"
1254
1257
  });
1255
1258
  let be = O;
1256
- var rt;
1259
+ var it;
1257
1260
  const Oe = class Oe {
1258
- constructor(i) {
1259
- d(this, rt);
1260
- y(this, rt, i), this.row = new ge(this), this.data = new be(t(this, rt), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
1261
+ constructor(r) {
1262
+ d(this, it);
1263
+ y(this, it, r), this.row = new ge(this), this.data = new be(t(this, it), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
1261
1264
  var e;
1262
- (e = t(this, rt).view) != null && e.redraw && t(this, rt).view.redraw();
1265
+ (e = t(this, it).view) != null && e.redraw && t(this, it).view.redraw();
1263
1266
  }, this.setDataSource = (e) => {
1264
1267
  this.data && this.data.reset(), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.data.set(e || []);
1265
1268
  }, this.getRowState = (e) => {
1266
- var r, n;
1269
+ var i, n;
1267
1270
  const s = parseInt(e, 10);
1268
1271
  if (!(s >= this.data.count()))
1269
- return (n = (r = this.data.getValidData()[s]) == null ? void 0 : r.__ng) == null ? void 0 : n.rowState;
1272
+ return (n = (i = this.data.getValidData()[s]) == null ? void 0 : i.__ng) == null ? void 0 : n.rowState;
1270
1273
  }, this.getRowPosition = () => this.row.at, this.setRowPosition = (e) => {
1271
1274
  this.row.at = e;
1272
- }, this.scrollTo_V1 = (e) => (e < 0 && (e = 0), e >= this.rawRecords.length && (e = this.rawRecords.length - 1), this.viewRecords.rawIndex = e, this.viewRecords.reset && this.viewRecords.reset(), !(e <= 0 || e >= this.rawRecords.length - 1)), this.getColumn = (e, s) => this.data.get(e, s), this.setColumn = (e, s, r) => {
1273
- e = parseInt(e, 10), this.data.setValue(e, s, r);
1275
+ }, this.scrollTo_V1 = (e) => (e < 0 && (e = 0), e >= this.rawRecords.length && (e = this.rawRecords.length - 1), this.viewRecords.rawIndex = e, this.viewRecords.reset && this.viewRecords.reset(), !(e <= 0 || e >= this.rawRecords.length - 1)), this.getColumn = (e, s) => this.data.get(e, s), this.setColumn = (e, s, i) => {
1276
+ e = parseInt(e, 10), this.data.setValue(e, s, i);
1274
1277
  }, this.setDataSource([]);
1275
1278
  }
1276
1279
  };
1277
- rt = new WeakMap(), h(Oe, "ngDataManager");
1280
+ it = new WeakMap(), h(Oe, "ngDataManager");
1278
1281
  let ye = Oe;
1279
- var gt, L, Ht, ie;
1282
+ var gt, L, Ht, re;
1280
1283
  const Be = class Be {
1281
1284
  // 🎯 이제 { name: string, type: string } 객체들의 배열로 관리합니다.
1282
- constructor(i) {
1285
+ constructor(r) {
1283
1286
  d(this, gt);
1284
1287
  d(this, L, []);
1285
- E(this, "add", /* @__PURE__ */ h((i, e = "string") => {
1286
- i.forEach((s) => {
1287
- t(this, L).some((r) => r.name === s) || t(this, L).push({ name: s, type: e });
1288
+ E(this, "add", /* @__PURE__ */ h((r, e = "string") => {
1289
+ r.forEach((s) => {
1290
+ t(this, L).some((i) => i.name === s) || t(this, L).push({ name: s, type: e });
1288
1291
  }), t(this, Ht).call(this);
1289
1292
  }, "add"));
1290
1293
  d(this, Ht, /* @__PURE__ */ h(() => {
1291
- const i = /* @__PURE__ */ new Map();
1294
+ const r = /* @__PURE__ */ new Map();
1292
1295
  t(this, L).forEach((e) => {
1293
- i.set(e.name, e.type);
1294
- }), y(this, L, Array.from(i, ([e, s]) => ({ name: e, type: s }))), y(this, L, t(this, L).filter((e) => e.name !== "" && e.name !== "__ng")), t(this, L).sort((e, s) => e.name.length < s.name.length ? 1 : -1);
1296
+ r.set(e.name, e.type);
1297
+ }), y(this, L, Array.from(r, ([e, s]) => ({ name: e, type: s }))), y(this, L, t(this, L).filter((e) => e.name !== "" && e.name !== "__ng")), t(this, L).sort((e, s) => e.name.length < s.name.length ? 1 : -1);
1295
1298
  }, "#adjust"));
1296
- d(this, ie, /* @__PURE__ */ h(() => {
1299
+ d(this, re, /* @__PURE__ */ h(() => {
1297
1300
  y(this, L, []), H.log(t(this, gt).querySelectorAll("table"));
1298
- const i = Array.from(t(this, gt).querySelectorAll("table"));
1299
- if (!(!i || i.length === 0)) {
1300
- for (const e of i)
1301
- H.log(e), $("[data-bind]", e).each((s, r) => {
1302
- const n = r.dataset.bind, a = r.getAttribute("data-type") || "string";
1301
+ const r = Array.from(t(this, gt).querySelectorAll("table"));
1302
+ if (!(!r || r.length === 0)) {
1303
+ for (const e of r)
1304
+ H.log(e), $("[data-bind]", e).each((s, i) => {
1305
+ const n = i.dataset.bind, a = i.getAttribute("data-type") || "string";
1303
1306
  n && t(this, L).push({ name: n, type: a });
1304
1307
  }), ["data-expr", "background-color", "color", "tooltip", "visible", "readonly", "enable-button", "enable-check", "class-expr", "icon-color", "icon-src"].forEach((s) => {
1305
- $(`[${s}]`, e).each((r, n) => {
1308
+ $(`[${s}]`, e).each((i, n) => {
1306
1309
  var a = n.getAttribute(s);
1307
1310
  if (a.indexOf("data.") < 0) {
1308
1311
  const o = a.search(/[(]/g);
@@ -1325,39 +1328,39 @@ const Be = class Be {
1325
1328
  t(this, Ht).call(this);
1326
1329
  }
1327
1330
  }, "#init"));
1328
- y(this, gt, i), t(this, ie).call(this);
1331
+ y(this, gt, r), t(this, re).call(this);
1329
1332
  }
1330
1333
  // 🎯 기존에 필드 이름만 쓰던 곳들과의 호환을 위해 이름 배열만 리턴하는 메서드 유지
1331
1334
  get() {
1332
- return t(this, L).map((i) => i.name);
1335
+ return t(this, L).map((r) => r.name);
1333
1336
  }
1334
1337
  // 🎯 내부 객체 통째로 얻기
1335
1338
  getFields() {
1336
1339
  return t(this, L);
1337
1340
  }
1338
1341
  // 🎯 특정 필드의 데이터 타입 조회
1339
- getType(i) {
1340
- const e = t(this, L).find((s) => s.name === i);
1342
+ getType(r) {
1343
+ const e = t(this, L).find((s) => s.name === r);
1341
1344
  return e ? e.type : "string";
1342
1345
  }
1343
- indexOf(i) {
1344
- return t(this, L).findIndex((e) => e.name === i);
1346
+ indexOf(r) {
1347
+ return t(this, L).findIndex((e) => e.name === r);
1345
1348
  }
1346
- includes(i) {
1347
- return t(this, L).some((e) => e.name === i);
1349
+ includes(r) {
1350
+ return t(this, L).some((e) => e.name === r);
1348
1351
  }
1349
1352
  };
1350
- gt = new WeakMap(), L = new WeakMap(), Ht = new WeakMap(), ie = new WeakMap(), h(Be, "ngFields");
1353
+ gt = new WeakMap(), L = new WeakMap(), Ht = new WeakMap(), re = new WeakMap(), h(Be, "ngFields");
1351
1354
  let pe = Be;
1352
- var nt, re, ne;
1355
+ var nt, ie, ne;
1353
1356
  const ze = class ze extends HTMLElement {
1354
1357
  constructor() {
1355
1358
  super();
1356
1359
  //#created = false;
1357
1360
  d(this, nt);
1358
- d(this, re);
1361
+ d(this, ie);
1359
1362
  d(this, ne, /* @__PURE__ */ h(() => {
1360
- this.fields = new pe(this), y(this, re, new ue(this)), H.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
1363
+ this.fields = new pe(this), y(this, ie, new ue(this)), H.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
1361
1364
  }, "#init"));
1362
1365
  this.attachShadow({ mode: "open" }), y(this, nt, new ye(this));
1363
1366
  }
@@ -1380,7 +1383,7 @@ const ze = class ze extends HTMLElement {
1380
1383
  return t(this, nt);
1381
1384
  }
1382
1385
  };
1383
- nt = new WeakMap(), re = new WeakMap(), ne = new WeakMap(), h(ze, "NineTable");
1386
+ nt = new WeakMap(), ie = new WeakMap(), ne = new WeakMap(), h(ze, "NineTable");
1384
1387
  let me = ze;
1385
1388
  customElements.get("nine-table") || customElements.define("nine-table", me);
1386
1389
  const xt = class xt extends HTMLElement {
@@ -1397,7 +1400,7 @@ const xt = class xt extends HTMLElement {
1397
1400
  h(xt, "BasicCellElement"), E(xt, "_styleCache", /* @__PURE__ */ new Map()), E(xt, "_customStyleCache", /* @__PURE__ */ new Map());
1398
1401
  let xe = xt;
1399
1402
  var T, Mt, p, Re, qe, ke, Te, Ce;
1400
- const De = class De extends xe {
1403
+ const Pe = class Pe extends xe {
1401
1404
  constructor() {
1402
1405
  super();
1403
1406
  d(this, T);
@@ -1410,13 +1413,13 @@ const De = class De extends xe {
1410
1413
  E(this, "getDisplayText", /* @__PURE__ */ h((e) => {
1411
1414
  if (t(this, p))
1412
1415
  if (t(this, p).closest("tbody")) {
1413
- const s = t(this, p).closest("tr").data, r = parseInt(t(this, p).dataset.row);
1416
+ const s = t(this, p).closest("tr").data, i = parseInt(t(this, p).dataset.row);
1414
1417
  if (!s) return "";
1415
1418
  if (ninegrid.isNull(t(this, p).dataset.expr)) {
1416
1419
  if (!ninegrid.isNull(t(this, p).dataset.bind))
1417
1420
  return s[t(this, p).dataset.bind] || ninegrid.nvl(e, "");
1418
1421
  } else try {
1419
- return this.getExprValue(t(this, p).dataset.expr, s, r, t(this, p));
1422
+ return this.getExprValue(t(this, p).dataset.expr, s, i, t(this, p));
1420
1423
  } catch {
1421
1424
  console.error(t(this, p).dataset.expr, s, t(this, p).dataset.row);
1422
1425
  }
@@ -1431,14 +1434,14 @@ const De = class De extends xe {
1431
1434
  if (!(!t(this, T) || !t(this, T).template || !t(this, p).closest("tbody.bindable"))) {
1432
1435
  var e = ninegrid.j.querySelectorAll(t(this, p)).attr("suppress");
1433
1436
  if (e && (e = parseInt(e)), e && !isNaN(e)) {
1434
- var s = t(this, p).closest("tr"), r = [];
1437
+ var s = t(this, p).closest("tr"), i = [];
1435
1438
  $("th,td", s).each((m, W) => {
1436
1439
  var C = ninegrid.j.querySelectorAll(W).attr("suppress");
1437
- C && W.dataset.row && (C = parseInt(C), !isNaN(C) && C <= e && r.push(C));
1438
- }), r.sort();
1440
+ C && W.dataset.row && (C = parseInt(C), !isNaN(C) && C <= e && i.push(C));
1441
+ }), i.sort();
1439
1442
  var n = !1;
1440
1443
  if (parseInt(s.sectionRowIndex / t(this, T).template.length) > 0)
1441
- for (var a of r) {
1444
+ for (var a of i) {
1442
1445
  if (a > e) break;
1443
1446
  var o = parseInt(t(this, p).dataset.row), c = o - 1, l = t(this, p).closest("tr").data, f = t(this, T).data.get(c);
1444
1447
  t(this, p).dataset.matrixRow;
@@ -1456,12 +1459,12 @@ const De = class De extends xe {
1456
1459
  }
1457
1460
  }
1458
1461
  }, "#resetSuppress"));
1459
- E(this, "getExprValue", /* @__PURE__ */ h((e, s, r, n) => {
1462
+ E(this, "getExprValue", /* @__PURE__ */ h((e, s, i, n) => {
1460
1463
  if (typeof e < "u")
1461
1464
  try {
1462
- r = parseInt(r);
1465
+ i = parseInt(i);
1463
1466
  const a = e.replace("()", "");
1464
- return t(this, T)[a] ? t(this, T)[a].call(this, s, r, t(this, p)) : t(this, T).exprFunction(e).call(this, s, r, t(this, T).data);
1467
+ return t(this, T)[a] ? t(this, T)[a].call(this, s, i, t(this, p)) : t(this, T).exprFunction(e).call(this, s, i, t(this, T).data);
1465
1468
  } catch {
1466
1469
  return ["NG-COMBO"].includes(this.tagName) ? "" : e;
1467
1470
  }
@@ -1478,8 +1481,8 @@ const De = class De extends xe {
1478
1481
  }
1479
1482
  set value(e) {
1480
1483
  var s = parseInt(t(this, p).dataset.row);
1481
- const r = this.getAttribute("update-row-state") != "false";
1482
- s < 0 ? t(this, T).data.setValueNF(parseInt(t(this, p).dataset.index), t(this, p).dataset.bind, e, r) : t(this, T).data.setValue(s, t(this, p).dataset.bind, e, r);
1484
+ const i = this.getAttribute("update-row-state") != "false";
1485
+ s < 0 ? t(this, T).data.setValueNF(parseInt(t(this, p).dataset.index), t(this, p).dataset.bind, e, i) : t(this, T).data.setValue(s, t(this, p).dataset.bind, e, i);
1483
1486
  }
1484
1487
  get row() {
1485
1488
  return parseInt(t(this, p).dataset.row);
@@ -1492,9 +1495,9 @@ const De = class De extends xe {
1492
1495
  return parseInt(t(this, p).dataset.row), t(this, Mt).data[e];
1493
1496
  }
1494
1497
  };
1495
- T = new WeakMap(), Mt = new WeakMap(), p = new WeakMap(), Re = new WeakMap(), qe = new WeakMap(), ke = new WeakMap(), Te = new WeakMap(), Ce = new WeakMap(), h(De, "CellElement");
1496
- let ve = De;
1497
- const Pe = class Pe extends ve {
1498
+ T = new WeakMap(), Mt = new WeakMap(), p = new WeakMap(), Re = new WeakMap(), qe = new WeakMap(), ke = new WeakMap(), Te = new WeakMap(), Ce = new WeakMap(), h(Pe, "CellElement");
1499
+ let ve = Pe;
1500
+ const De = class De extends ve {
1498
1501
  constructor() {
1499
1502
  super();
1500
1503
  }
@@ -1505,8 +1508,8 @@ const Pe = class Pe extends ve {
1505
1508
  return super.refresh();
1506
1509
  }
1507
1510
  };
1508
- h(Pe, "EditableCellElement");
1509
- let we = Pe;
1511
+ h(De, "EditableCellElement");
1512
+ let we = De;
1510
1513
  var $t, ot, bt, yt, oe, U, Le;
1511
1514
  const je = class je extends we {
1512
1515
  constructor() {
@@ -1556,9 +1559,9 @@ const je = class je extends we {
1556
1559
  if (t(this, ot) == "number") {
1557
1560
  let n = [];
1558
1561
  if (t(this, U) && Number(t(this, U)) > 0 && n.push("."), t(this, yt) && Number(t(this, yt)) >= 0 && n.push("-"), !(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && !n.includes(e.key) && e.preventDefault(), t(this, U) && (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && e.target.selectionStart == e.target.selectionEnd) {
1559
- var s = e.target.value, r = s.indexOf(".");
1560
- if (r >= 0) {
1561
- var s = s.substr(r + 1, s.length);
1562
+ var s = e.target.value, i = s.indexOf(".");
1563
+ if (i >= 0) {
1564
+ var s = s.substr(i + 1, s.length);
1562
1565
  s.length >= Number(t(this, U)) && e.preventDefault();
1563
1566
  }
1564
1567
  }