@ninebone/table 0.0.664 → 0.0.666

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.
@@ -3,7 +3,7 @@ var Ve = (q) => {
3
3
  throw TypeError(q);
4
4
  };
5
5
  var Xe = (q, i, e) => i in q ? Fe(q, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : q[i] = e;
6
- var h = (q, i) => Fe(q, "name", { value: i, configurable: !0 });
6
+ var c = (q, i) => Fe(q, "name", { value: i, configurable: !0 });
7
7
  var E = (q, i, e) => Xe(q, typeof i != "symbol" ? i + "" : i, e), Ye = (q, i, e) => i.has(q) || Ve("Cannot " + e);
8
8
  var t = (q, i, e) => (Ye(q, i, "read from private field"), e ? e.call(q) : i.get(q)), d = (q, i, e) => i.has(q) ? Ve("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(q) : i.set(q, e), y = (q, i, e, s) => (Ye(q, i, "write to private field"), s ? s.call(q, e) : i.set(q, e), e);
9
9
  var Ue = (q, i, e, s) => ({
@@ -20,7 +20,7 @@ const He = class He extends Ke.constructor {
20
20
  super(), this.init("nine-table", "green");
21
21
  }
22
22
  };
23
- h(He, "Trace");
23
+ c(He, "Trace");
24
24
  let oe = He;
25
25
  const H = new oe();
26
26
  var B, j, w, X, K, Z, It, G, _t;
@@ -33,19 +33,19 @@ const Me = class Me extends HTMLElement {
33
33
  d(this, X);
34
34
  d(this, K);
35
35
  d(this, Z);
36
- d(this, It, /* @__PURE__ */ h(() => {
36
+ d(this, It, /* @__PURE__ */ c(() => {
37
37
  if (!t(this, B)) return;
38
38
  const e = t(this, B).querySelector(".ng-container-body .ng-part-body");
39
39
  e && (y(this, Z, new ResizeObserver(() => {
40
40
  this.refresh();
41
41
  })), t(this, Z).observe(e));
42
42
  }, "#observeResize"));
43
- E(this, "refresh", /* @__PURE__ */ h(() => {
43
+ E(this, "refresh", /* @__PURE__ */ c(() => {
44
44
  if (!t(this, B) || !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, o = t(this, B).querySelector(".ng-container-bottom"), a = e.clientWidth, c = s.scrollWidth;
48
- if (a !== 0 && c > a)
47
+ const r = t(this, w).track, n = t(this, w).thumb, o = t(this, B).querySelector(".ng-container-bottom"), a = e.clientWidth, h = s.scrollWidth;
48
+ if (a !== 0 && h > a)
49
49
  o && (o.style.display = "flex");
50
50
  else {
51
51
  o && (o.style.display = "none");
@@ -53,28 +53,28 @@ const Me = class Me extends HTMLElement {
53
53
  }
54
54
  const l = r.clientWidth;
55
55
  if (l <= 0) return;
56
- const f = Math.max(Math.min(l * (a / c), l), 20);
56
+ const f = Math.max(Math.min(l * (a / h), l), 20);
57
57
  n.style.width = `${f}px`;
58
- const g = e.scrollLeft, b = c - a;
58
+ const g = e.scrollLeft, b = h - a;
59
59
  let u = 0;
60
60
  b > 0 && (u = parseInt(g / b * (l - f), 10)), u < 0 && (u = 0);
61
61
  const v = l - f;
62
62
  u > v && (u = v), n.style.left = `${u}px`, t(this, w).left.disabled = u === 0, t(this, w).right.disabled = u >= v - 1;
63
63
  }, "refresh"));
64
- d(this, G, /* @__PURE__ */ h((e) => {
64
+ d(this, G, /* @__PURE__ */ c((e) => {
65
65
  if (!t(this, w)) return !1;
66
66
  const s = t(this, w).container, r = s.querySelector("table");
67
67
  if (!r) return !1;
68
68
  const n = t(this, w).track.getBoundingClientRect(), o = t(this, w).thumb.clientWidth;
69
69
  let a = e;
70
70
  a < 0 && (a = 0);
71
- const c = n.width - o;
72
- a > c && (a = c), a = parseInt(a, 10), t(this, w).thumb.style.left = `${a}px`, t(this, w).left.disabled = a === 0, t(this, w).right.disabled = a >= c - 1;
71
+ const h = n.width - o;
72
+ a > h && (a = h), a = parseInt(a, 10), t(this, w).thumb.style.left = `${a}px`, t(this, w).left.disabled = a === 0, t(this, w).right.disabled = a >= h - 1;
73
73
  const l = s.clientWidth, g = r.scrollWidth - l;
74
- return c > 0 && g > 0 && (s.scrollLeft = a / c * g), a > 0 && a < c - 1;
74
+ return h > 0 && g > 0 && (s.scrollLeft = a / h * g), a > 0 && a < h - 1;
75
75
  }, "#thumbMoveTo"));
76
- d(this, _t, /* @__PURE__ */ h(() => {
77
- const e = /* @__PURE__ */ h((r) => {
76
+ d(this, _t, /* @__PURE__ */ c(() => {
77
+ const e = /* @__PURE__ */ c((r) => {
78
78
  clearInterval(t(this, X)), clearInterval(t(this, K));
79
79
  const n = parseInt(t(this, w).thumb.style.left || 0, 10);
80
80
  t(this, G).call(this, n + r), y(this, X, setInterval(() => {
@@ -83,7 +83,7 @@ const Me = class Me extends HTMLElement {
83
83
  t(this, G).call(this, o + r) || clearInterval(t(this, K));
84
84
  }, 50));
85
85
  }, 500));
86
- }, "delayScroll"), s = /* @__PURE__ */ h(() => {
86
+ }, "delayScroll"), s = /* @__PURE__ */ c(() => {
87
87
  clearInterval(t(this, X)), clearInterval(t(this, K));
88
88
  }, "clearTimer");
89
89
  ["mouseup", "mouseleave", "touchend"].forEach((r) => {
@@ -100,11 +100,11 @@ const Me = class Me extends HTMLElement {
100
100
  }), t(this, w).thumb.addEventListener("mousedown", (r) => {
101
101
  if (r.button !== 0) return;
102
102
  r.stopPropagation(), r.preventDefault(), y(this, j, !0), this.shiftX = r.clientX - t(this, w).thumb.getBoundingClientRect().left;
103
- const n = /* @__PURE__ */ h((a) => {
103
+ const n = /* @__PURE__ */ c((a) => {
104
104
  if (!t(this, j)) return;
105
- const c = t(this, w).track.getBoundingClientRect();
106
- t(this, G).call(this, a.clientX - c.left - this.shiftX);
107
- }, "onMouseMove"), o = /* @__PURE__ */ h(() => {
105
+ const h = t(this, w).track.getBoundingClientRect();
106
+ t(this, G).call(this, a.clientX - h.left - this.shiftX);
107
+ }, "onMouseMove"), o = /* @__PURE__ */ c(() => {
108
108
  y(this, j, !1), s(), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", o), this.refresh();
109
109
  }, "onMouseUp");
110
110
  document.addEventListener("mousemove", n), document.addEventListener("mouseup", o);
@@ -176,7 +176,7 @@ const Me = class Me extends HTMLElement {
176
176
  <div class='ng-scroll-track'><div class='ng-scroll-thumb'></div></div>
177
177
  <button class='ng-scroll-right' disabled><div class='ng-scroll-icon'></div></button>
178
178
  `;
179
- const e = /* @__PURE__ */ h(() => {
179
+ const e = /* @__PURE__ */ c(() => {
180
180
  const s = t(this, B).querySelector(".ng-container-body .ng-part-body");
181
181
  if (!s) {
182
182
  setTimeout(e, 10);
@@ -198,7 +198,7 @@ const Me = class Me extends HTMLElement {
198
198
  t(this, Z) && t(this, Z).disconnect();
199
199
  }
200
200
  };
201
- B = new WeakMap(), j = new WeakMap(), w = new WeakMap(), X = new WeakMap(), K = new WeakMap(), Z = new WeakMap(), It = new WeakMap(), G = new WeakMap(), _t = new WeakMap(), h(Me, "NineTableHScrollBar");
201
+ B = new WeakMap(), j = new WeakMap(), w = new WeakMap(), X = new WeakMap(), K = new WeakMap(), Z = new WeakMap(), It = new WeakMap(), G = new WeakMap(), _t = new WeakMap(), c(Me, "NineTableHScrollBar");
202
202
  let ae = Me;
203
203
  customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", ae);
204
204
  var F, at, J, T, vt, xt, Nt;
@@ -211,27 +211,27 @@ const $e = class $e extends HTMLElement {
211
211
  d(this, T);
212
212
  d(this, vt, 0);
213
213
  d(this, xt, 0);
214
- E(this, "refresh", /* @__PURE__ */ h(() => {
214
+ E(this, "refresh", /* @__PURE__ */ c(() => {
215
215
  if (!t(this, F) || !t(this, T)) return;
216
- const e = t(this, T).container, s = t(this, T).track, r = t(this, T).thumb, n = e.clientHeight, o = t(this, F).data.length, a = t(this, at).getRowHeight(), c = o * a;
217
- if (c <= n || o === 0) {
216
+ const e = t(this, T).container, s = t(this, T).track, r = t(this, T).thumb, n = e.clientHeight, o = t(this, F).data.length, a = t(this, at).getRowHeight(), h = o * a;
217
+ if (h <= n || o === 0) {
218
218
  this.style.display = "none";
219
219
  return;
220
220
  } else
221
221
  this.style.display = "flex";
222
222
  const l = s.clientHeight;
223
223
  if (l <= 0) return;
224
- const f = Math.max(Math.min(l * (n / c), l), 20);
224
+ const f = Math.max(Math.min(l * (n / h), l), 20);
225
225
  r.style.height = `${f}px`;
226
- const g = e.scrollTop, b = Math.max(c - n, 1);
226
+ const g = e.scrollTop, b = Math.max(h - n, 1);
227
227
  let u = 0;
228
228
  b > 0 && (u = g / b * (l - f));
229
229
  const v = l - f;
230
230
  u < 0 && (u = 0), u > v && (u = v), r.style.top = `${u}px`, t(this, T).top.disabled = g <= 0, t(this, T).bottom.disabled = g >= b - 1;
231
231
  }, "refresh"));
232
- d(this, Nt, /* @__PURE__ */ h(() => {
232
+ d(this, Nt, /* @__PURE__ */ c(() => {
233
233
  H.log("nine-table-vscrollbar.#init");
234
- const e = t(this, T).container, s = /* @__PURE__ */ h(() => {
234
+ const e = t(this, T).container, s = /* @__PURE__ */ c(() => {
235
235
  const n = (t(this, F).data.get() || []).length, o = t(this, at).getRowHeight();
236
236
  return n * o;
237
237
  }, "getContentHeight");
@@ -240,9 +240,9 @@ const $e = class $e extends HTMLElement {
240
240
  }), t(this, T).thumb.addEventListener("mousedown", (r) => {
241
241
  if (r.button !== 0) return;
242
242
  r.stopPropagation(), r.preventDefault(), y(this, J, !0), y(this, vt, r.clientY), y(this, xt, e.scrollTop);
243
- const n = /* @__PURE__ */ h((a) => {
243
+ const n = /* @__PURE__ */ c((a) => {
244
244
  if (!t(this, J)) return;
245
- const c = t(this, T).track.getBoundingClientRect(), l = t(this, T).thumb.clientHeight, g = c.height - l, b = a.clientY - t(this, vt), u = e.clientHeight, v = s(), x = Math.max(v - u, 1);
245
+ const h = t(this, T).track.getBoundingClientRect(), l = t(this, T).thumb.clientHeight, g = h.height - l, b = a.clientY - t(this, vt), u = e.clientHeight, v = s(), x = Math.max(v - u, 1);
246
246
  if (g > 0 && x > 0) {
247
247
  const A = b / g * x;
248
248
  let m = t(this, xt) + A;
@@ -250,7 +250,7 @@ const $e = class $e extends HTMLElement {
250
250
  m < 0 && (m = 0), m > W && (m = W), e.scrollTop = m;
251
251
  }
252
252
  this.refresh();
253
- }, "onMouseMove"), o = /* @__PURE__ */ h(() => {
253
+ }, "onMouseMove"), o = /* @__PURE__ */ c(() => {
254
254
  y(this, J, !1), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", o), this.refresh();
255
255
  }, "onMouseUp");
256
256
  document.addEventListener("mousemove", n), document.addEventListener("mouseup", o);
@@ -334,7 +334,7 @@ const $e = class $e extends HTMLElement {
334
334
  <div class='ng-scroll-track'><div class='ng-scroll-thumb'></div></div>
335
335
  <button class='ng-scroll-bottom' disabled><div class='ng-scroll-icon'></div></button>
336
336
  `;
337
- const e = /* @__PURE__ */ h(() => {
337
+ const e = /* @__PURE__ */ c(() => {
338
338
  const s = t(this, F).shadowRoot.querySelector(".ng-container-body .ng-part-body");
339
339
  if (!s) {
340
340
  setTimeout(e, 10);
@@ -351,7 +351,7 @@ const $e = class $e extends HTMLElement {
351
351
  e();
352
352
  }
353
353
  };
354
- F = new WeakMap(), at = new WeakMap(), J = new WeakMap(), T = new WeakMap(), vt = new WeakMap(), xt = new WeakMap(), Nt = new WeakMap(), h($e, "NineTableVScrollBar");
354
+ F = new WeakMap(), at = new WeakMap(), J = new WeakMap(), T = new WeakMap(), vt = new WeakMap(), xt = new WeakMap(), Nt = new WeakMap(), c($e, "NineTableVScrollBar");
355
355
  let le = $e;
356
356
  customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", le);
357
357
  var P, S, Q, D, I, V, tt, wt, Se, Ee, Wt, Ot, zt, St, Et, Bt, Dt, At, Ae, lt, qt, Pt;
@@ -369,22 +369,22 @@ const Ie = class Ie {
369
369
  d(this, Ee, !1);
370
370
  //#ticking = false; // 🎯 고속 스크롤 스로틀링용 플래그
371
371
  d(this, Wt, 3);
372
- E(this, "refresh", /* @__PURE__ */ h(() => {
372
+ E(this, "refresh", /* @__PURE__ */ c(() => {
373
373
  var e;
374
374
  H.log("rowManager.refresh");
375
375
  const i = t(this, S).querySelector(".ng-container-body .ng-part-body");
376
376
  i && (t(this, St).call(this), t(this, lt).call(this, i.scrollTop), (e = t(this, S).querySelector("nine-table-vscrollbar")) == null || e.refresh());
377
377
  }, "refresh"));
378
- E(this, "initialize", /* @__PURE__ */ h(() => {
378
+ E(this, "initialize", /* @__PURE__ */ c(() => {
379
379
  H.log("rowManager.initialize"), y(this, Q, {
380
380
  scrollTables: t(this, S).querySelectorAll(".ng-part-body table"),
381
381
  firstTr: t(this, S).querySelector(".ng-container-body .ng-part-body tbody.bindable-tbody tr:not(.nodata)")
382
382
  }), y(this, I, null), t(this, D).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((o) => {
383
383
  const a = t(this, S).querySelector(o);
384
384
  if (!a) return;
385
- const c = a.querySelector(".ng-part-body table");
386
- if (!c) return;
387
- const l = c.querySelector("tbody.bindable-tbody");
385
+ const h = a.querySelector(".ng-part-body table");
386
+ if (!h) return;
387
+ const l = h.querySelector("tbody.bindable-tbody");
388
388
  if (!l) return;
389
389
  const g = Array.from(l.querySelectorAll("tr")).map((b) => b.cloneNode(!0));
390
390
  t(this, D).set(o, g);
@@ -393,20 +393,20 @@ const Ie = class Ie {
393
393
  if (i) {
394
394
  t(this, zt).call(this, i), t(this, At).call(this), t(this, St).call(this), t(this, lt).call(this, i.scrollTop);
395
395
  let o = !1;
396
- const a = /* @__PURE__ */ h((c) => {
396
+ const a = /* @__PURE__ */ c((h) => {
397
397
  if (o) return;
398
398
  o = !0;
399
- const l = c.scrollTop, f = c.scrollLeft;
399
+ const l = h.scrollTop, f = h.scrollLeft;
400
400
  i && i.scrollTop !== l && (i.scrollTop = l), e && e.scrollTop !== l && (e.scrollTop = l), s && s.scrollTop !== l && (s.scrollTop = l), r && r.scrollLeft !== f && (r.scrollLeft = f), n && n.scrollLeft !== f && (n.scrollLeft = f), t(this, lt).call(this, l), o = !1;
401
401
  }, "handleContainerScroll");
402
- [i, e, s].forEach((c) => {
403
- c && c.addEventListener("scroll", () => {
404
- a(c);
402
+ [i, e, s].forEach((h) => {
403
+ h && h.addEventListener("scroll", () => {
404
+ a(h);
405
405
  }, { passive: !0 });
406
406
  });
407
407
  }
408
408
  }, "initialize"));
409
- d(this, Ot, /* @__PURE__ */ h((i, e) => {
409
+ d(this, Ot, /* @__PURE__ */ c((i, e) => {
410
410
  H.log("rowManager.#renderRows");
411
411
  const s = t(this, D).get(e);
412
412
  if (!s || s.length === 0) return;
@@ -415,12 +415,12 @@ const Ie = class Ie {
415
415
  r.querySelectorAll("tr:not(.nodata)").forEach((a) => a.remove());
416
416
  const n = r.querySelector("tr.nodata"), o = document.createDocumentFragment();
417
417
  for (let a = 0; a < t(this, wt); a++)
418
- s.forEach((c) => {
419
- o.appendChild(c.cloneNode(!0));
418
+ s.forEach((h) => {
419
+ o.appendChild(h.cloneNode(!0));
420
420
  });
421
421
  n ? n.before(o) : r.appendChild(o), e === ".ng-container-body" && (t(this, Q).firstTr = r.querySelector("tr:not(.nodata)"));
422
422
  }, "#renderRows"));
423
- d(this, zt, /* @__PURE__ */ h((i) => {
423
+ d(this, zt, /* @__PURE__ */ c((i) => {
424
424
  if (H.log("rowManager.#measureAndCacheHeight"), t(this, I) !== null && t(this, I) > 0)
425
425
  return t(this, I);
426
426
  H.log("#measureAndCacheHeight");
@@ -433,7 +433,7 @@ const Ie = class Ie {
433
433
  e.forEach((b) => {
434
434
  n.appendChild(b.cloneNode(!0));
435
435
  }), r ? r.before(n) : s.appendChild(n);
436
- const o = t(this, S), a = o.style.display, c = o.style.visibility, l = o.style.position;
436
+ const o = t(this, S), a = o.style.display, h = o.style.visibility, l = o.style.position;
437
437
  (a === "none" || window.getComputedStyle(o).display === "none") && (o.style.display = "block", o.style.visibility = "hidden", o.style.position = "absolute");
438
438
  let f = 0;
439
439
  const g = s.querySelectorAll("tr");
@@ -444,10 +444,10 @@ const Ie = class Ie {
444
444
  u = parseFloat(v.height) || parseFloat(v.minHeight) || 0;
445
445
  }
446
446
  f += u;
447
- }), g.forEach((b) => b.remove()), o.style.display = a, o.style.visibility = c, o.style.position = l, f <= 0) throw new Error("invalid dom");
447
+ }), g.forEach((b) => b.remove()), o.style.display = a, o.style.visibility = h, o.style.position = l, f <= 0) throw new Error("invalid dom");
448
448
  return y(this, I, f), t(this, Et).call(this), t(this, I);
449
449
  }, "#measureAndCacheHeight"));
450
- d(this, St, /* @__PURE__ */ h(() => {
450
+ d(this, St, /* @__PURE__ */ c(() => {
451
451
  H.log("rowManager.#updateVirtualScrollHeight");
452
452
  const e = (t(this, P).data.get() || []).length, s = t(this, I), r = e * s;
453
453
  H.log("🔍 [VirtualHeight]", { totalCount: e, rowHeight: s, totalVirtualHeight: r }), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((n) => {
@@ -457,21 +457,21 @@ const Ie = class Ie {
457
457
  a && (a.style.height = `${r}px`);
458
458
  });
459
459
  }, "#updateVirtualScrollHeight"));
460
- d(this, Et, /* @__PURE__ */ h(() => {
460
+ d(this, Et, /* @__PURE__ */ c(() => {
461
461
  if (t(this, tt) > 0 && t(this, I) > 0) {
462
462
  const i = Math.ceil(t(this, tt) / t(this, I));
463
463
  y(this, wt, i + t(this, Wt));
464
464
  }
465
465
  }, "#updateRowCount"));
466
- d(this, Bt, /* @__PURE__ */ h(() => {
467
- var a, c, l, f, g, b;
466
+ d(this, Bt, /* @__PURE__ */ c(() => {
467
+ var a, h, l, f, g, b;
468
468
  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");
469
469
  if (e) {
470
470
  const u = i ? Array.from(i.querySelectorAll("tbody tr")) : [], v = Array.from(e.querySelectorAll("tbody tr")), x = s ? Array.from(s.querySelectorAll("tbody tr")) : [], A = Math.max(u.length, v.length, x.length);
471
471
  for (let m = 0; m < A; m++) {
472
472
  const W = [
473
473
  ((a = u[m]) == null ? void 0 : a.getBoundingClientRect().height) || 0,
474
- ((c = v[m]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
474
+ ((h = v[m]) == null ? void 0 : h.getBoundingClientRect().height) || 0,
475
475
  ((l = x[m]) == null ? void 0 : l.getBoundingClientRect().height) || 0
476
476
  ], R = Math.max(...W);
477
477
  R > 0 && (u[m] && (u[m].style.height = `${R}px`), v[m] && (v[m].style.height = `${R}px`), x[m] && (x[m].style.height = `${R}px`));
@@ -490,7 +490,7 @@ const Ie = class Ie {
490
490
  }
491
491
  }
492
492
  }, "#syncRowHeights"));
493
- d(this, Dt, /* @__PURE__ */ h(() => {
493
+ d(this, Dt, /* @__PURE__ */ c(() => {
494
494
  !t(this, S) || !(t(this, S) instanceof HTMLElement) || (y(this, V, new ResizeObserver((i) => {
495
495
  for (const e of i) {
496
496
  const s = e.target;
@@ -500,29 +500,29 @@ const Ie = class Ie {
500
500
  let n = 0;
501
501
  const o = s.querySelector(".ng-part-header"), a = s.querySelector(".ng-part-footer");
502
502
  o && (n += o.offsetHeight), a && (n += a.offsetHeight);
503
- const c = Math.max(r - n, 100);
504
- t(this, tt) !== c && (y(this, tt, c), t(this, Et).call(this), t(this, I) !== null && (t(this, At).call(this), this.refresh()));
503
+ const h = Math.max(r - n, 100);
504
+ t(this, tt) !== h && (y(this, tt, h), t(this, Et).call(this), t(this, I) !== null && (t(this, At).call(this), this.refresh()));
505
505
  }
506
506
  }
507
507
  })), t(this, V).observe(t(this, S)));
508
508
  }, "#initResizeObserver"));
509
- d(this, At, /* @__PURE__ */ h(() => {
509
+ d(this, At, /* @__PURE__ */ c(() => {
510
510
  H.log("rowManager.#renderAllContainers"), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((i) => {
511
511
  const e = t(this, S).querySelector(i);
512
512
  e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, Ot).call(this, e, i);
513
513
  }), t(this, Pt).call(this), t(this, Bt).call(this);
514
514
  }, "#renderAllContainers"));
515
- d(this, Ae, /* @__PURE__ */ h((i) => {
515
+ d(this, Ae, /* @__PURE__ */ c((i) => {
516
516
  [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((e) => {
517
517
  var l;
518
518
  const s = t(this, S).querySelector(e);
519
519
  if (!s) return;
520
520
  const r = s.querySelector(".ng-part-body tbody.bindable-tbody");
521
521
  if (!r) return;
522
- const n = Array.from(r.querySelectorAll("tr:not(.nodata)")), o = ((l = t(this, D).get(e)) == null ? void 0 : l.length) || 1, c = (t(this, P).data.get() || []).length;
522
+ const n = Array.from(r.querySelectorAll("tr:not(.nodata)")), o = ((l = t(this, D).get(e)) == null ? void 0 : l.length) || 1, h = (t(this, P).data.get() || []).length;
523
523
  n.forEach((f, g) => {
524
524
  const b = i + Math.floor(g / o);
525
- if (b >= c) {
525
+ if (b >= h) {
526
526
  f.style.visibility = "hidden";
527
527
  return;
528
528
  }
@@ -531,18 +531,18 @@ const Ie = class Ie {
531
531
  });
532
532
  });
533
533
  }, "#adjustBufferRows"));
534
- d(this, lt, /* @__PURE__ */ h((i) => {
534
+ d(this, lt, /* @__PURE__ */ c((i) => {
535
535
  var g, b;
536
536
  const e = t(this, I);
537
537
  if (!e || e <= 0) return;
538
538
  const s = t(this, P).data.length;
539
539
  if (s === 0) return;
540
540
  const r = ((g = t(this, D).get(".ng-container-body")) == null ? void 0 : g.length) || 1, n = t(this, S).querySelector(".ng-container-body .ng-part-body"), o = Math.max(0, s - Math.floor(n.clientHeight / e)), a = Math.min(o, Math.max(0, Math.floor(i / e)));
541
- let c = Math.floor(a * e);
542
- a === o && (c = i), H.log(`📜 [Scroll Inspect] scrollTop: ${i}, rowHeight: ${e}, maxStartIndex: ${o}, startIndex: ${a}, offsetY: ${c}`);
541
+ let h = Math.floor(a * e);
542
+ a === o && H.log(`📜 [Scroll Inspect] scrollTop: ${i}, rowHeight: ${e}, maxStartIndex: ${o}, startIndex: ${a}, offsetY: ${h}`);
543
543
  const l = t(this, Q).firstTr, f = l && l.dataset.row !== void 0 ? parseInt(l.dataset.row, 10) : -1;
544
544
  (b = t(this, Q)) == null || b.scrollTables.forEach((u) => {
545
- u.style.transform = `translate3d(0, ${c}px, 0)`;
545
+ u.style.transform = `translate3d(0, ${h}px, 0)`;
546
546
  }), f !== a && [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((u) => {
547
547
  const v = t(this, S).querySelector(u);
548
548
  if (!v) return;
@@ -573,29 +573,29 @@ const Ie = class Ie {
573
573
  cell.dataset.row = dataIndex;
574
574
  });
575
575
  }; */
576
- d(this, qt, /* @__PURE__ */ h((i, e, s) => {
576
+ d(this, qt, /* @__PURE__ */ c((i, e, s) => {
577
577
  i.dataset.row = s, i.data = e, Array.from(i.cells).forEach((r, n) => {
578
578
  r.dataset.row = s;
579
579
  const o = Array.from(r.children).find((a) => a.tagName.toLowerCase().startsWith("cell-") || typeof a.refresh == "function");
580
580
  o && typeof o.refresh == "function" && o.refresh();
581
581
  });
582
582
  }, "#bindRowData"));
583
- d(this, Pt, /* @__PURE__ */ h(() => {
584
- var c, l, f;
583
+ d(this, Pt, /* @__PURE__ */ c(() => {
584
+ var h, l, f;
585
585
  H.log("rowManager.#syncHeaderHeights");
586
586
  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");
587
587
  if (!e) return;
588
588
  const r = i ? Array.from(i.querySelectorAll("tr")) : [], n = Array.from(e.querySelectorAll("tr")), o = s ? Array.from(s.querySelectorAll("tr")) : [], a = Math.max(r.length, n.length, o.length);
589
589
  for (let g = 0; g < a; g++) {
590
590
  const b = [
591
- ((c = r[g]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
591
+ ((h = r[g]) == null ? void 0 : h.getBoundingClientRect().height) || 0,
592
592
  ((l = n[g]) == null ? void 0 : l.getBoundingClientRect().height) || 0,
593
593
  ((f = o[g]) == null ? void 0 : f.getBoundingClientRect().height) || 0
594
594
  ], u = Math.max(...b);
595
595
  u > 0 && (r[g] && (r[g].style.height = `${u}px`), n[g] && (n[g].style.height = `${u}px`), o[g] && (o[g].style.height = `${u}px`));
596
596
  }
597
597
  }, "#syncHeaderHeights"));
598
- E(this, "destroy", /* @__PURE__ */ h(() => {
598
+ E(this, "destroy", /* @__PURE__ */ c(() => {
599
599
  t(this, V) && (t(this, V).disconnect(), y(this, V, null));
600
600
  }, "destroy"));
601
601
  y(this, P, i.getRootNode().host), y(this, S, i), t(this, Dt).call(this);
@@ -608,7 +608,7 @@ const Ie = class Ie {
608
608
  return ((e = t(this, D).get(i)) == null ? void 0 : e.length) || 1;
609
609
  }
610
610
  };
611
- P = new WeakMap(), S = new WeakMap(), Q = new WeakMap(), D = new WeakMap(), I = new WeakMap(), V = new WeakMap(), tt = new WeakMap(), wt = new WeakMap(), Se = new WeakMap(), Ee = new WeakMap(), Wt = new WeakMap(), Ot = new WeakMap(), zt = new WeakMap(), St = new WeakMap(), Et = new WeakMap(), Bt = new WeakMap(), Dt = new WeakMap(), At = new WeakMap(), Ae = new WeakMap(), lt = new WeakMap(), qt = new WeakMap(), Pt = new WeakMap(), h(Ie, "RowManager");
611
+ P = new WeakMap(), S = new WeakMap(), Q = new WeakMap(), D = new WeakMap(), I = new WeakMap(), V = new WeakMap(), tt = new WeakMap(), wt = new WeakMap(), Se = new WeakMap(), Ee = new WeakMap(), Wt = new WeakMap(), Ot = new WeakMap(), zt = new WeakMap(), St = new WeakMap(), Et = new WeakMap(), Bt = new WeakMap(), Dt = new WeakMap(), At = new WeakMap(), Ae = new WeakMap(), lt = new WeakMap(), qt = new WeakMap(), Pt = new WeakMap(), c(Ie, "RowManager");
612
612
  let ce = Ie;
613
613
  const jt = class jt {
614
614
  /**
@@ -622,7 +622,7 @@ const jt = class jt {
622
622
  */
623
623
  static compile(i) {
624
624
  if (!i) return null;
625
- const e = /* @__PURE__ */ h((a) => {
625
+ const e = /* @__PURE__ */ c((a) => {
626
626
  a.querySelectorAll("tbody td, tbody th, tfoot td, tfoot th").forEach((l) => {
627
627
  const f = l.getAttribute("cell-type") || "renderer";
628
628
  if (l.children.length > 0 && l.firstElementChild.tagName.includes("-")) return;
@@ -631,9 +631,9 @@ const jt = class jt {
631
631
  let A = [];
632
632
  b && A.push(`data-bind="${b}"`), u && A.push(`data-expr="${u}"`), v && A.push(`maxbyte="${v}"`), x && A.push(`type="${x}"`), l.innerHTML = `<${g} ${A.join(" ")}></${g}>`;
633
633
  });
634
- }, "processCellTypes"), s = /* @__PURE__ */ h((a) => {
634
+ }, "processCellTypes"), s = /* @__PURE__ */ c((a) => {
635
635
  if (!a.querySelector("colgroup")) {
636
- const c = a.querySelector("tbody tr") || a.querySelector("tr"), l = c ? c.querySelectorAll("th, td").length : 1, f = document.createElement("colgroup"), g = Math.max(Math.floor(a.clientWidth / l), 100);
636
+ const h = a.querySelector("tbody tr") || a.querySelector("tr"), l = h ? h.querySelectorAll("th, td").length : 1, f = document.createElement("colgroup"), g = Math.max(Math.floor(a.clientWidth / l), 100);
637
637
  for (let b = 0; b < l; b++) {
638
638
  const u = document.createElement("col");
639
639
  u.setAttribute("width", g), f.appendChild(u);
@@ -641,12 +641,12 @@ const jt = class jt {
641
641
  a.prepend(f);
642
642
  }
643
643
  if (!a.querySelector("thead")) {
644
- const c = document.createElement("thead"), l = a.querySelector("colgroup");
645
- l ? l.after(c) : a.prepend(c);
644
+ const h = document.createElement("thead"), l = a.querySelector("colgroup");
645
+ l ? l.after(h) : a.prepend(h);
646
646
  }
647
647
  a.classList.add("nine-table-element");
648
- }, "ensureTableStructure"), r = /* @__PURE__ */ h((a, c) => {
649
- const l = Array.from(a.querySelectorAll(c + " tr")), f = Array.from(a.querySelectorAll(c + " th," + c + " td")), g = l.length;
648
+ }, "ensureTableStructure"), r = /* @__PURE__ */ c((a, h) => {
649
+ const l = Array.from(a.querySelectorAll(h + " tr")), f = Array.from(a.querySelectorAll(h + " th," + h + " td")), g = l.length;
650
650
  if (g === 0 || f.length === 0) return;
651
651
  let b = 0;
652
652
  f.forEach((v) => {
@@ -678,16 +678,16 @@ const jt = class jt {
678
678
  });
679
679
  });
680
680
  }, "resetColIndex"), n = i.cloneNode(!0);
681
- return s(n), e(n), r(n, "thead"), r(n, "tbody"), r(n, "tfoot"), Array.from(n.querySelectorAll("colgroup col")).forEach((a, c) => {
681
+ return s(n), e(n), r(n, "thead"), r(n, "tbody"), r(n, "tfoot"), Array.from(n.querySelectorAll("colgroup col")).forEach((a, h) => {
682
682
  const l = a.getAttribute("fixed");
683
- l && n.querySelectorAll(`thead [data-col="${c}"], tbody [data-col="${c}"], tfoot [data-col="${c}"]`).forEach((f) => {
683
+ l && n.querySelectorAll(`thead [data-col="${h}"], tbody [data-col="${h}"], tfoot [data-col="${h}"]`).forEach((f) => {
684
684
  f.setAttribute("fixed", l);
685
685
  });
686
686
  }), n;
687
687
  }
688
688
  // 🎯 [추가] td/th에 선언된 cell-type 속성을 읽어 커스텀 태그로 자동 감싸기
689
689
  };
690
- h(jt, "TableCompiler");
690
+ c(jt, "TableCompiler");
691
691
  let he = jt;
692
692
  var Ft, et, st, Vt, Yt, ct, Ut, Xt;
693
693
  const pt = class pt extends HTMLElement {
@@ -696,10 +696,10 @@ const pt = class pt extends HTMLElement {
696
696
  d(this, Ft);
697
697
  d(this, et, null);
698
698
  d(this, st);
699
- E(this, "invalidate", /* @__PURE__ */ h(() => {
699
+ E(this, "invalidate", /* @__PURE__ */ c(() => {
700
700
  t(this, st).refresh();
701
701
  }, "invalidate"));
702
- d(this, Vt, /* @__PURE__ */ h(() => {
702
+ d(this, Vt, /* @__PURE__ */ c(() => {
703
703
  [
704
704
  { selector: ".ng-container-body", type: null },
705
705
  { selector: ".ng-container-left", type: "left" },
@@ -709,7 +709,7 @@ const pt = class pt extends HTMLElement {
709
709
  (n = this.querySelector(`${s} .ng-part-header`)) == null || n.appendChild(t(this, ct).call(this, t(this, et), r, "header")), (o = this.querySelector(`${s} .ng-virtual-spacer`)) == null || o.before(t(this, ct).call(this, t(this, et), r, "body")), (a = this.querySelector(`${s} .ng-part-footer`)) == null || a.appendChild(t(this, ct).call(this, t(this, et), r, "footer"));
710
710
  });
711
711
  }, "#renderSplitContainers"));
712
- d(this, Yt, /* @__PURE__ */ h(() => {
712
+ d(this, Yt, /* @__PURE__ */ c(() => {
713
713
  ["left", "right", "body"].forEach((e) => {
714
714
  const s = this.querySelector(`.ng-container-${e}`), r = s == null ? void 0 : s.querySelectorAll("table");
715
715
  if (!s || !r || r.length === 0) return;
@@ -720,7 +720,7 @@ const pt = class pt extends HTMLElement {
720
720
  }), e === "body" ? s.style.flex = "1" : (s.style.flex = `0 0 ${n}px`, s.style.width = `${n}px`);
721
721
  });
722
722
  }, "#updateContainerWidths"));
723
- E(this, "generate", /* @__PURE__ */ h((e) => {
723
+ E(this, "generate", /* @__PURE__ */ c((e) => {
724
724
  if (!e) return;
725
725
  y(this, et, he.compile(e)), t(this, Vt).call(this), t(this, Yt).call(this);
726
726
  const s = this.querySelector(".ng-container-body .ng-part-header"), r = this.querySelector(".ng-container-body .ng-part-footer"), n = this.querySelector(".ng-nodata-overlay");
@@ -729,14 +729,14 @@ const pt = class pt extends HTMLElement {
729
729
  (o = this.querySelector("nine-table-hscrollbar")) == null || o.refresh();
730
730
  }, 0);
731
731
  }, "generate"));
732
- d(this, ct, /* @__PURE__ */ h((e, s, r) => {
733
- const n = e.cloneNode(!0), o = n.querySelector("thead"), a = n.querySelector("tbody"), c = n.querySelector("tfoot");
732
+ d(this, ct, /* @__PURE__ */ c((e, s, r) => {
733
+ const n = e.cloneNode(!0), o = n.querySelector("thead"), a = n.querySelector("tbody"), h = n.querySelector("tfoot");
734
734
  if (r === "header") {
735
- if (a && a.remove(), c && c.remove(), e.querySelector("tbody")) {
735
+ if (a && a.remove(), h && h.remove(), e.querySelector("tbody")) {
736
736
  const f = document.createElement("tbody");
737
737
  f.className = "fixed-tbody", n.appendChild(f);
738
738
  }
739
- } else r === "body" ? (o && o.remove(), c && c.remove(), a && (a.className = "bindable-tbody")) : r === "footer" && (o && o.remove(), a && a.remove());
739
+ } else r === "body" ? (o && o.remove(), h && h.remove(), a && (a.className = "bindable-tbody")) : r === "footer" && (o && o.remove(), a && a.remove());
740
740
  return s === "left" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
741
741
  l.getAttribute("fixed") !== "left" && l.remove();
742
742
  }) : s === "right" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
@@ -745,19 +745,19 @@ const pt = class pt extends HTMLElement {
745
745
  l.remove();
746
746
  }), n;
747
747
  }, "#createSplitTable"));
748
- E(this, "getRowHeight", /* @__PURE__ */ h(() => t(this, st).getRowHeight(), "getRowHeight"));
749
- E(this, "scrollToX", /* @__PURE__ */ h((e) => {
748
+ E(this, "getRowHeight", /* @__PURE__ */ c(() => t(this, st).getRowHeight(), "getRowHeight"));
749
+ E(this, "scrollToX", /* @__PURE__ */ c((e) => {
750
750
  const s = this.querySelector(".ng-container-body .ng-part-body");
751
751
  s && (s.scrollLeft = e);
752
752
  }, "scrollToX"));
753
- E(this, "scrollToY", /* @__PURE__ */ h((e) => {
753
+ E(this, "scrollToY", /* @__PURE__ */ c((e) => {
754
754
  const s = this.querySelector(".ng-container-body .ng-part-body");
755
755
  s && (s.scrollTop = e);
756
756
  }, "scrollToY"));
757
- d(this, Ut, /* @__PURE__ */ h(() => {
757
+ d(this, Ut, /* @__PURE__ */ c(() => {
758
758
  t(this, Xt).call(this);
759
759
  }, "#init"));
760
- d(this, Xt, /* @__PURE__ */ h(() => {
760
+ d(this, Xt, /* @__PURE__ */ c(() => {
761
761
  const e = pt.SCROLLBAR_SIZE;
762
762
  this.innerHTML = `
763
763
  <style>
@@ -902,7 +902,9 @@ const pt = class pt extends HTMLElement {
902
902
  .ng-virtual-spacer {
903
903
  width: 100%;
904
904
  pointer-events: none;
905
+ display: none;
905
906
  }
907
+
906
908
  </style>
907
909
 
908
910
  <div class='ng-container-top'>
@@ -955,14 +957,14 @@ const pt = class pt extends HTMLElement {
955
957
  this.innerHTML = "", H.log("NineTableSheet destroyed.");
956
958
  }
957
959
  };
958
- Ft = new WeakMap(), et = new WeakMap(), st = new WeakMap(), Vt = new WeakMap(), Yt = new WeakMap(), ct = new WeakMap(), Ut = new WeakMap(), Xt = new WeakMap(), h(pt, "NineTableSheet"), E(pt, "SCROLLBAR_SIZE", 16);
960
+ Ft = new WeakMap(), et = new WeakMap(), st = new WeakMap(), Vt = new WeakMap(), Yt = new WeakMap(), ct = new WeakMap(), Ut = new WeakMap(), Xt = new WeakMap(), c(pt, "NineTableSheet"), E(pt, "SCROLLBAR_SIZE", 16);
959
961
  let $t = pt;
960
962
  customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", $t);
961
963
  var Kt, Rt;
962
964
  const _e = class _e extends HTMLElement {
963
965
  constructor() {
964
966
  super();
965
- d(this, Kt, /* @__PURE__ */ h(() => {
967
+ d(this, Kt, /* @__PURE__ */ c(() => {
966
968
  var e;
967
969
  (e = this.querySelector(".nine-tab-bar")) == null || e.addEventListener("click", (s) => {
968
970
  var o;
@@ -970,8 +972,8 @@ const _e = class _e extends HTMLElement {
970
972
  t(this, Rt).call(this, n, r);
971
973
  }), t(this, Rt).call(this, 0, !1);
972
974
  }, "#init"));
973
- d(this, Rt, /* @__PURE__ */ h((e, s = !1) => {
974
- const r = /* @__PURE__ */ h(() => {
975
+ d(this, Rt, /* @__PURE__ */ c((e, s = !1) => {
976
+ const r = /* @__PURE__ */ c(() => {
975
977
  const f = Array.from(this.querySelectorAll("nine-table-sheet"));
976
978
  Array.from(this.querySelectorAll("nine-splitter")).forEach((u) => u.style.setProperty("display", "none"));
977
979
  const b = f.filter((u) => u.classList.contains("active"));
@@ -979,12 +981,12 @@ const _e = class _e extends HTMLElement {
979
981
  const v = parseInt(u.getAttribute("data-index"), 10), x = this.querySelector(`nine-splitter[data-split-index="${v}"]`), A = f[v + 1];
980
982
  x && A && A.classList.contains("active") && x.style.setProperty("display", "flex");
981
983
  });
982
- }, "updateSplitters"), n = this.querySelector(".nine-tab-bar"), o = this.querySelector("nine-table-sheets-body"), a = n.querySelectorAll(".nine-tab-item"), c = o.querySelectorAll("nine-table-sheet");
984
+ }, "updateSplitters"), n = this.querySelector(".nine-tab-bar"), o = this.querySelector("nine-table-sheets-body"), a = n.querySelectorAll(".nine-tab-item"), h = o.querySelectorAll("nine-table-sheet");
983
985
  if (!a[e]) return;
984
986
  if (!s)
985
987
  a.forEach((f, g) => {
986
988
  f.classList.toggle("active", g === e);
987
- }), c.forEach((f, g) => {
989
+ }), h.forEach((f, g) => {
988
990
  const b = g === e;
989
991
  f.classList.toggle("active", b), f.style.flex = b ? "1 1 100%" : "";
990
992
  });
@@ -1006,31 +1008,31 @@ const _e = class _e extends HTMLElement {
1006
1008
  t(this, Kt).call(this);
1007
1009
  }
1008
1010
  };
1009
- Kt = new WeakMap(), Rt = new WeakMap(), h(_e, "NineTableSheets");
1011
+ Kt = new WeakMap(), Rt = new WeakMap(), c(_e, "NineTableSheets");
1010
1012
  let de = _e;
1011
1013
  customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", de);
1012
1014
  var M, Zt, Tt, Gt;
1013
1015
  const Ne = class Ne {
1014
1016
  constructor(i) {
1015
1017
  d(this, M);
1016
- d(this, Zt, /* @__PURE__ */ h(() => {
1018
+ d(this, Zt, /* @__PURE__ */ c(() => {
1017
1019
  t(this, Gt).call(this), new ResizeObserver((i) => {
1018
1020
  for (let e of i)
1019
1021
  t(this, M).getAttribute("auto-height") === "true" && t(this, Tt).call(this);
1020
1022
  }).observe(t(this, M));
1021
1023
  }, "#init"));
1022
- d(this, Tt, /* @__PURE__ */ h(() => {
1023
- var c, l;
1024
+ d(this, Tt, /* @__PURE__ */ c(() => {
1025
+ var h, l;
1024
1026
  const i = Array.from(t(this, M).shadowRoot.querySelectorAll("nine-table-sheet.active"));
1025
1027
  if (i.length === 0) return;
1026
- const e = parseInt(t(this, M).getAttribute("max-display-row"), 10) || 10, s = Math.max(...i.map((f) => f.getRowHeight())), r = (c = t(this, M).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : c.getBoundingClientRect().height, n = (l = t(this, M).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, o = $t.SCROLLBAR_SIZE, a = e * s + r + n + o;
1028
+ const e = parseInt(t(this, M).getAttribute("max-display-row"), 10) || 10, s = Math.max(...i.map((f) => f.getRowHeight())), r = (h = t(this, M).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : h.getBoundingClientRect().height, n = (l = t(this, M).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, o = $t.SCROLLBAR_SIZE, a = e * s + r + n + o;
1027
1029
  t(this, M).style.height = `${a}px`;
1028
1030
  }, "#applyAutoHeight"));
1029
- d(this, Gt, /* @__PURE__ */ h(() => {
1030
- const e = Array.from(t(this, M).children).filter((c) => c.tagName === "TABLE"), s = t(this, M).getAttribute("auto-height") === "true", r = e.length, n = e.map((c, l) => {
1031
+ d(this, Gt, /* @__PURE__ */ c(() => {
1032
+ const e = Array.from(t(this, M).children).filter((h) => h.tagName === "TABLE"), s = t(this, M).getAttribute("auto-height") === "true", r = e.length, n = e.map((h, l) => {
1031
1033
  const g = `<nine-table-sheet class="${l === 0 ? "active" : ""}" data-index="${l}"></nine-table-sheet>`, b = l < r - 1 ? `<nine-splitter class="h" data-split-index="${l}"></nine-splitter>` : "";
1032
1034
  return g + b;
1033
- }).join(""), o = e.map((c, l) => `<div class="nine-tab-item ${l === 0 ? "active" : ""}" data-index="${l}">Sheet ${l + 1}</div>`).join("");
1035
+ }).join(""), o = e.map((h, l) => `<div class="nine-tab-item ${l === 0 ? "active" : ""}" data-index="${l}">Sheet ${l + 1}</div>`).join("");
1034
1036
  t(this, M).shadowRoot.innerHTML = `
1035
1037
  <style>
1036
1038
  :host {
@@ -1153,23 +1155,23 @@ const Ne = class Ne {
1153
1155
  <nine-table-footer></nine-table-footer>
1154
1156
  `, t(this, M).shadowRoot.querySelector("nine-table-sheets").classList.add("nodata");
1155
1157
  const a = t(this, M).shadowRoot.querySelectorAll("nine-table-sheet");
1156
- a == null || a.forEach((c, l) => {
1158
+ a == null || a.forEach((h, l) => {
1157
1159
  e[l] && setTimeout(() => {
1158
- c.generate(e[l]), s && t(this, Tt).call(this);
1160
+ h.generate(e[l]), s && t(this, Tt).call(this);
1159
1161
  });
1160
1162
  });
1161
1163
  }, "#render"));
1162
1164
  y(this, M, i), t(this, Zt).call(this);
1163
1165
  }
1164
1166
  };
1165
- M = new WeakMap(), Zt = new WeakMap(), Tt = new WeakMap(), Gt = new WeakMap(), h(Ne, "LayoutManager");
1167
+ M = new WeakMap(), Zt = new WeakMap(), Tt = new WeakMap(), Gt = new WeakMap(), c(Ne, "LayoutManager");
1166
1168
  let fe = Ne;
1167
1169
  var kt, ht;
1168
1170
  const We = class We {
1169
1171
  constructor(i) {
1170
1172
  d(this, kt);
1171
1173
  d(this, ht, -1);
1172
- E(this, "count", /* @__PURE__ */ h(() => t(this, kt).rawRecords.length, "count"));
1174
+ E(this, "count", /* @__PURE__ */ c(() => t(this, kt).rawRecords.length, "count"));
1173
1175
  y(this, kt, i);
1174
1176
  }
1175
1177
  get at() {
@@ -1180,7 +1182,7 @@ const We = class We {
1180
1182
  });
1181
1183
  }
1182
1184
  };
1183
- kt = new WeakMap(), ht = new WeakMap(), h(We, "ngRow");
1185
+ kt = new WeakMap(), ht = new WeakMap(), c(We, "ngRow");
1184
1186
  let ue = We;
1185
1187
  var _, k, N, dt, Jt, Y, Qt, it, Ct, te, ee, ft;
1186
1188
  const z = class z {
@@ -1191,7 +1193,7 @@ const z = class z {
1191
1193
  d(this, dt, []);
1192
1194
  d(this, Jt, 0);
1193
1195
  d(this, Y, []);
1194
- d(this, Qt, /* @__PURE__ */ h(() => {
1196
+ d(this, Qt, /* @__PURE__ */ c(() => {
1195
1197
  y(this, Y, []);
1196
1198
  const i = t(this, _).template || [];
1197
1199
  Array.from(i).forEach((e) => {
@@ -1201,13 +1203,13 @@ const z = class z {
1201
1203
  e.__ng || (e.__ng = t(this, Ct).call(this)), e.__ng.height = t(this, Y).slice();
1202
1204
  });
1203
1205
  }, "#initialize"));
1204
- d(this, it, /* @__PURE__ */ h(() => {
1206
+ d(this, it, /* @__PURE__ */ c(() => {
1205
1207
  const i = t(this, _).shadowRoot.querySelector("nine-table-sheets");
1206
1208
  i == null || i.classList.toggle("nodata", this.length === 0), t(this, _).shadowRoot.querySelectorAll("nine-table-sheet").forEach((e) => {
1207
1209
  e.invalidate();
1208
1210
  });
1209
1211
  }, "#invalidate"));
1210
- E(this, "get", /* @__PURE__ */ h((i, e) => {
1212
+ E(this, "get", /* @__PURE__ */ c((i, e) => {
1211
1213
  var n;
1212
1214
  const s = this.getValidData();
1213
1215
  if (!s || s.length <= 0) return;
@@ -1220,10 +1222,10 @@ const z = class z {
1220
1222
  }
1221
1223
  return t(this, ft).call(this, s[i]);
1222
1224
  }, "get"));
1223
- E(this, "set", /* @__PURE__ */ h((i) => {
1225
+ E(this, "set", /* @__PURE__ */ c((i) => {
1224
1226
  this.clear(), this.add(i, !1), t(this, it).call(this);
1225
1227
  }, "set"));
1226
- d(this, Ct, /* @__PURE__ */ h(() => ({
1228
+ d(this, Ct, /* @__PURE__ */ c(() => ({
1227
1229
  rowState: z.ROW_STATE.EMPTY,
1228
1230
  deleted: !1,
1229
1231
  filtered: !1,
@@ -1232,14 +1234,14 @@ const z = class z {
1232
1234
  c: {},
1233
1235
  _: [0, 0, 0, 0, z.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, Y).slice(), -1, {}, {}]
1234
1236
  }), "#getDefaultMeta"));
1235
- E(this, "reset", /* @__PURE__ */ h(() => {
1237
+ E(this, "reset", /* @__PURE__ */ c(() => {
1236
1238
  y(this, N, []), y(this, dt, []), t(this, it).call(this);
1237
1239
  }, "reset"));
1238
- E(this, "clear", /* @__PURE__ */ h(() => {
1240
+ E(this, "clear", /* @__PURE__ */ c(() => {
1239
1241
  var i;
1240
1242
  t(this, k).rawRecords = [], y(this, N, []), y(this, dt, []), (i = t(this, k).viewRecords) != null && i.reset && t(this, k).viewRecords.reset();
1241
1243
  }, "clear"));
1242
- d(this, te, /* @__PURE__ */ h((i) => {
1244
+ d(this, te, /* @__PURE__ */ c((i) => {
1243
1245
  var r;
1244
1246
  Array.isArray(i) || (i = [i]);
1245
1247
  const e = typeof ((r = t(this, _).fields) == null ? void 0 : r.get) == "function" ? t(this, _).fields.get() : Object.keys(i[0] || {}), s = [];
@@ -1250,10 +1252,10 @@ const z = class z {
1250
1252
  }), s.push(o);
1251
1253
  }), s;
1252
1254
  }, "#json2Array"));
1253
- d(this, ee, /* @__PURE__ */ h((i) => (Array.isArray(i) || (i = [i]), i.forEach((e) => {
1255
+ d(this, ee, /* @__PURE__ */ c((i) => (Array.isArray(i) || (i = [i]), i.forEach((e) => {
1254
1256
  e.__ng = t(this, Ct).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = z.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
1255
1257
  }), i), "#defaultInsert"));
1256
- E(this, "add", /* @__PURE__ */ h((i, e = !0) => {
1258
+ E(this, "add", /* @__PURE__ */ c((i, e = !0) => {
1257
1259
  i === void 0 && (i = {});
1258
1260
  const s = t(this, te).call(this, i);
1259
1261
  t(this, k).rawRecords = t(this, k).rawRecords.concat(t(this, ee).call(this, s)), this.resetRecords();
@@ -1263,7 +1265,7 @@ const z = class z {
1263
1265
  a && (a.__ng.rowState = z.ROW_STATE.EMPTY);
1264
1266
  }), t(this, it).call(this), r;
1265
1267
  }, "add"));
1266
- E(this, "delete", /* @__PURE__ */ h((i) => {
1268
+ E(this, "delete", /* @__PURE__ */ c((i) => {
1267
1269
  let e = [];
1268
1270
  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) => {
1269
1271
  if (t(this, N)[s]) {
@@ -1274,36 +1276,36 @@ const z = class z {
1274
1276
  }
1275
1277
  }), this.resetRecords(), t(this, it).call(this);
1276
1278
  }, "delete"));
1277
- E(this, "setValue", /* @__PURE__ */ h((i, e, s) => {
1278
- var c;
1279
+ E(this, "setValue", /* @__PURE__ */ c((i, e, s) => {
1280
+ var h;
1279
1281
  i = parseInt(i, 10);
1280
- const n = (typeof ((c = t(this, _).fields) == null ? void 0 : c.get) == "function" ? t(this, _).fields.get() : []).indexOf(e);
1282
+ const n = (typeof ((h = t(this, _).fields) == null ? void 0 : h.get) == "function" ? t(this, _).fields.get() : []).indexOf(e);
1281
1283
  if (n < 0) return;
1282
1284
  const o = this.getValidData()[i];
1283
1285
  if (!o) return;
1284
1286
  const a = o.v[n];
1285
1287
  a !== s && o.__ng.rowState !== z.ROW_STATE.INSERT && (o.__ng.o.hasOwnProperty(e) || (o.__ng.o[e] = a), o.__ng.rowState = z.ROW_STATE.UPDATE), o.v[n] = s;
1286
1288
  }, "setValue"));
1287
- E(this, "resetRecords", /* @__PURE__ */ h(() => {
1289
+ E(this, "resetRecords", /* @__PURE__ */ c(() => {
1288
1290
  y(this, dt, 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) => {
1289
1291
  i.__ng.rowidx = e;
1290
1292
  }), t(this, N).forEach((i, e) => {
1291
1293
  i.__ng.i = e;
1292
1294
  });
1293
1295
  }, "resetRecords"));
1294
- E(this, "getValidData", /* @__PURE__ */ h(() => (t(this, N).length === 0 && t(this, k).rawRecords.length > 0 && this.resetRecords(), t(this, N)), "getValidData"));
1295
- d(this, ft, /* @__PURE__ */ h((i) => {
1296
+ E(this, "getValidData", /* @__PURE__ */ c(() => (t(this, N).length === 0 && t(this, k).rawRecords.length > 0 && this.resetRecords(), t(this, N)), "getValidData"));
1297
+ d(this, ft, /* @__PURE__ */ c((i) => {
1296
1298
  var o;
1297
1299
  if (!i) return i;
1298
1300
  const e = !Array.isArray(i), s = e ? [i] : i, r = typeof ((o = t(this, _).fields) == null ? void 0 : o.get) == "function" ? t(this, _).fields.get() : [], n = s.filter((a) => !a.__ng.deleted).map((a) => {
1299
- const c = {};
1301
+ const h = {};
1300
1302
  return r.forEach((l, f) => {
1301
- c[l] = a.v ? a.v[f] : a[l];
1302
- }), c.__ng = a.__ng, c;
1303
+ h[l] = a.v ? a.v[f] : a[l];
1304
+ }), h.__ng = a.__ng, h;
1303
1305
  });
1304
1306
  return e ? n[0] : n;
1305
1307
  }, "#conv"));
1306
- E(this, "count", /* @__PURE__ */ h(() => this.getValidData().length, "count"));
1308
+ E(this, "count", /* @__PURE__ */ c(() => this.getValidData().length, "count"));
1307
1309
  y(this, _, i), y(this, k, e), t(this, Qt).call(this);
1308
1310
  }
1309
1311
  get source() {
@@ -1325,7 +1327,7 @@ const z = class z {
1325
1327
  return this.length;
1326
1328
  }
1327
1329
  };
1328
- _ = new WeakMap(), k = new WeakMap(), N = new WeakMap(), dt = new WeakMap(), Jt = new WeakMap(), Y = new WeakMap(), Qt = new WeakMap(), it = new WeakMap(), Ct = new WeakMap(), te = new WeakMap(), ee = new WeakMap(), ft = new WeakMap(), h(z, "ngData"), // 🎯 행 상태 정의 상수를 클래스 내부로 내재화
1330
+ _ = new WeakMap(), k = new WeakMap(), N = new WeakMap(), dt = new WeakMap(), Jt = new WeakMap(), Y = new WeakMap(), Qt = new WeakMap(), it = new WeakMap(), Ct = new WeakMap(), te = new WeakMap(), ee = new WeakMap(), ft = new WeakMap(), c(z, "ngData"), // 🎯 행 상태 정의 상수를 클래스 내부로 내재화
1329
1331
  E(z, "ROW_STATE", {
1330
1332
  EMPTY: "EMPTY",
1331
1333
  NORMAL: "NORMAL",
@@ -1355,7 +1357,7 @@ const Oe = class Oe {
1355
1357
  }, this.setDataSource([]);
1356
1358
  }
1357
1359
  };
1358
- rt = new WeakMap(), h(Oe, "ngDataManager");
1360
+ rt = new WeakMap(), c(Oe, "ngDataManager");
1359
1361
  let be = Oe;
1360
1362
  var ut, L, Lt, se;
1361
1363
  const ze = class ze {
@@ -1363,18 +1365,18 @@ const ze = class ze {
1363
1365
  constructor(i) {
1364
1366
  d(this, ut);
1365
1367
  d(this, L, []);
1366
- E(this, "add", /* @__PURE__ */ h((i, e = "string") => {
1368
+ E(this, "add", /* @__PURE__ */ c((i, e = "string") => {
1367
1369
  i.forEach((s) => {
1368
1370
  t(this, L).some((r) => r.name === s) || t(this, L).push({ name: s, type: e });
1369
1371
  }), t(this, Lt).call(this);
1370
1372
  }, "add"));
1371
- d(this, Lt, /* @__PURE__ */ h(() => {
1373
+ d(this, Lt, /* @__PURE__ */ c(() => {
1372
1374
  const i = /* @__PURE__ */ new Map();
1373
1375
  t(this, L).forEach((e) => {
1374
1376
  i.set(e.name, e.type);
1375
1377
  }), 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);
1376
1378
  }, "#adjust"));
1377
- d(this, se, /* @__PURE__ */ h(() => {
1379
+ d(this, se, /* @__PURE__ */ c(() => {
1378
1380
  y(this, L, []), H.log(t(this, ut).querySelectorAll("table"));
1379
1381
  const i = Array.from(t(this, ut).querySelectorAll("table"));
1380
1382
  if (!(!i || i.length === 0)) {
@@ -1396,9 +1398,9 @@ const ze = class ze {
1396
1398
  }
1397
1399
  o.split("data.").forEach((a) => {
1398
1400
  if (a.trim() != "") {
1399
- const c = a.search(/[^_A-Za-z0-9]/g);
1401
+ const h = a.search(/[^_A-Za-z0-9]/g);
1400
1402
  let l = "";
1401
- c >= 0 ? l = a.substring(0, c) : o.startsWith("data.") && (l = a.replace("data.", "")), l && t(this, L).push({ name: l, type: "string" });
1403
+ h >= 0 ? l = a.substring(0, h) : o.startsWith("data.") && (l = a.replace("data.", "")), l && t(this, L).push({ name: l, type: "string" });
1402
1404
  }
1403
1405
  });
1404
1406
  });
@@ -1428,7 +1430,7 @@ const ze = class ze {
1428
1430
  return t(this, L).some((e) => e.name === i);
1429
1431
  }
1430
1432
  };
1431
- ut = new WeakMap(), L = new WeakMap(), Lt = new WeakMap(), se = new WeakMap(), h(ze, "ngFields");
1433
+ ut = new WeakMap(), L = new WeakMap(), Lt = new WeakMap(), se = new WeakMap(), c(ze, "ngFields");
1432
1434
  let ye = ze;
1433
1435
  var nt, ie, re;
1434
1436
  const Be = class Be extends HTMLElement {
@@ -1437,7 +1439,7 @@ const Be = class Be extends HTMLElement {
1437
1439
  //#created = false;
1438
1440
  d(this, nt);
1439
1441
  d(this, ie);
1440
- d(this, re, /* @__PURE__ */ h(() => {
1442
+ d(this, re, /* @__PURE__ */ c(() => {
1441
1443
  this.fields = new ye(this), y(this, ie, new fe(this)), H.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
1442
1444
  }, "#init"));
1443
1445
  this.attachShadow({ mode: "open" }), y(this, nt, new be(this));
@@ -1461,7 +1463,7 @@ const Be = class Be extends HTMLElement {
1461
1463
  return t(this, nt);
1462
1464
  }
1463
1465
  };
1464
- nt = new WeakMap(), ie = new WeakMap(), re = new WeakMap(), h(Be, "NineTable");
1466
+ nt = new WeakMap(), ie = new WeakMap(), re = new WeakMap(), c(Be, "NineTable");
1465
1467
  let pe = Be;
1466
1468
  customElements.get("nine-table") || customElements.define("nine-table", pe);
1467
1469
  const mt = class mt extends HTMLElement {
@@ -1475,7 +1477,7 @@ const mt = class mt extends HTMLElement {
1475
1477
  connectedCallback() {
1476
1478
  }
1477
1479
  };
1478
- h(mt, "BasicCellElement"), E(mt, "_styleCache", /* @__PURE__ */ new Map()), E(mt, "_customStyleCache", /* @__PURE__ */ new Map());
1480
+ c(mt, "BasicCellElement"), E(mt, "_styleCache", /* @__PURE__ */ new Map()), E(mt, "_customStyleCache", /* @__PURE__ */ new Map());
1479
1481
  let me = mt;
1480
1482
  var C, Ht, p, qe, Re, Te, ke, Ce;
1481
1483
  const De = class De extends me {
@@ -1488,7 +1490,7 @@ const De = class De extends me {
1488
1490
  d(this, Re);
1489
1491
  d(this, Te);
1490
1492
  d(this, ke);
1491
- E(this, "getDisplayText", /* @__PURE__ */ h((e) => {
1493
+ E(this, "getDisplayText", /* @__PURE__ */ c((e) => {
1492
1494
  if (t(this, p))
1493
1495
  if (t(this, p).closest("tbody")) {
1494
1496
  const s = t(this, p).closest("tr").data, r = parseInt(t(this, p).dataset.row);
@@ -1508,7 +1510,7 @@ const De = class De extends me {
1508
1510
  } catch {
1509
1511
  }
1510
1512
  }, "getDisplayText"));
1511
- d(this, Ce, /* @__PURE__ */ h(() => {
1513
+ d(this, Ce, /* @__PURE__ */ c(() => {
1512
1514
  if (!(!t(this, C) || !t(this, C).template || !t(this, p).closest("tbody.bindable"))) {
1513
1515
  var e = ninegrid.j.querySelectorAll(t(this, p)).attr("suppress");
1514
1516
  if (e && (e = parseInt(e)), e && !isNaN(e)) {
@@ -1521,9 +1523,9 @@ const De = class De extends me {
1521
1523
  if (parseInt(s.sectionRowIndex / t(this, C).template.length) > 0)
1522
1524
  for (var o of r) {
1523
1525
  if (o > e) break;
1524
- var a = parseInt(t(this, p).dataset.row), c = a - 1, l = t(this, p).closest("tr").data, f = t(this, C).data.get(c);
1526
+ var a = parseInt(t(this, p).dataset.row), h = a - 1, l = t(this, p).closest("tr").data, f = t(this, C).data.get(h);
1525
1527
  t(this, p).dataset.matrixRow;
1526
- var g = t(this, C).body.querySelector(`tbody.bindable [suppress="${o}"][data-matrix-row="${t(this, p).dataset.matrixRow}"]`), b = g.dataset.expr ? this.getExprValue(g.dataset.expr, l, a) : l[g.dataset.bind], u = g.dataset.expr ? this.getExprValue(g.dataset.expr, f, c) : f[g.dataset.bind];
1528
+ var g = t(this, C).body.querySelector(`tbody.bindable [suppress="${o}"][data-matrix-row="${t(this, p).dataset.matrixRow}"]`), b = g.dataset.expr ? this.getExprValue(g.dataset.expr, l, a) : l[g.dataset.bind], u = g.dataset.expr ? this.getExprValue(g.dataset.expr, f, h) : f[g.dataset.bind];
1527
1529
  if (b != u) {
1528
1530
  n = !0;
1529
1531
  break;
@@ -1537,7 +1539,7 @@ const De = class De extends me {
1537
1539
  }
1538
1540
  }
1539
1541
  }, "#resetSuppress"));
1540
- E(this, "getExprValue", /* @__PURE__ */ h((e, s, r, n) => {
1542
+ E(this, "getExprValue", /* @__PURE__ */ c((e, s, r, n) => {
1541
1543
  if (typeof e < "u")
1542
1544
  try {
1543
1545
  r = parseInt(r);
@@ -1573,7 +1575,7 @@ const De = class De extends me {
1573
1575
  return parseInt(t(this, p).dataset.row), t(this, Ht).data[e];
1574
1576
  }
1575
1577
  };
1576
- C = new WeakMap(), Ht = new WeakMap(), p = new WeakMap(), qe = new WeakMap(), Re = new WeakMap(), Te = new WeakMap(), ke = new WeakMap(), Ce = new WeakMap(), h(De, "CellElement");
1578
+ C = new WeakMap(), Ht = new WeakMap(), p = new WeakMap(), qe = new WeakMap(), Re = new WeakMap(), Te = new WeakMap(), ke = new WeakMap(), Ce = new WeakMap(), c(De, "CellElement");
1577
1579
  let ve = De;
1578
1580
  const Pe = class Pe extends ve {
1579
1581
  constructor() {
@@ -1586,7 +1588,7 @@ const Pe = class Pe extends ve {
1586
1588
  return super.refresh();
1587
1589
  }
1588
1590
  };
1589
- h(Pe, "EditableCellElement");
1591
+ c(Pe, "EditableCellElement");
1590
1592
  let xe = Pe;
1591
1593
  var Mt, ot, gt, bt, ne, U, Le;
1592
1594
  const je = class je extends xe {
@@ -1598,7 +1600,7 @@ const je = class je extends xe {
1598
1600
  d(this, bt);
1599
1601
  d(this, ne);
1600
1602
  d(this, U);
1601
- E(this, "refresh", /* @__PURE__ */ h(() => {
1603
+ E(this, "refresh", /* @__PURE__ */ c(() => {
1602
1604
  const e = super.refresh();
1603
1605
  t(this, Mt).value = e;
1604
1606
  }, "refresh"));
@@ -1632,7 +1634,7 @@ const je = class je extends xe {
1632
1634
  if (!v) this.reset();
1633
1635
  };
1634
1636
  */
1635
- d(this, Le, /* @__PURE__ */ h((e) => {
1637
+ d(this, Le, /* @__PURE__ */ c((e) => {
1636
1638
  if (!["Escape", "Enter", "Tab", "Home", "End", "ArrowLeft", "ArrowRight", "PageUp", "PageDown", "Backspace", "Delete"].includes(e.code)) {
1637
1639
  if (t(this, ot) == "number") {
1638
1640
  let n = [];
@@ -1660,7 +1662,7 @@ const je = class je extends xe {
1660
1662
  `, super.connectedCallback(), y(this, Mt, this.querySelector("input"));
1661
1663
  }
1662
1664
  };
1663
- Mt = new WeakMap(), ot = new WeakMap(), gt = new WeakMap(), bt = new WeakMap(), ne = new WeakMap(), U = new WeakMap(), Le = new WeakMap(), h(je, "CellInputText");
1665
+ Mt = new WeakMap(), ot = new WeakMap(), gt = new WeakMap(), bt = new WeakMap(), ne = new WeakMap(), U = new WeakMap(), Le = new WeakMap(), c(je, "CellInputText");
1664
1666
  let we = je;
1665
1667
  customElements.get("cell-input-text");
1666
1668
  customElements.get("cell-input") || customElements.define("cell-input", we);