@ninebone/table 0.0.567 → 0.0.568

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, n, e) => n in R ? Fe(R, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : R[n] = e;
6
- var h = (R, n) => Fe(R, "name", { value: n, configurable: !0 });
7
- var A = (R, n, e) => Xe(R, typeof n != "symbol" ? n + "" : n, e), Ye = (R, n, e) => n.has(R) || Ve("Cannot " + e);
8
- var t = (R, n, e) => (Ye(R, n, "read from private field"), e ? e.call(R) : n.get(R)), d = (R, n, e) => n.has(R) ? Ve("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(R) : n.set(R, e), p = (R, n, e, s) => (Ye(R, n, "write to private field"), s ? s.call(R, e) : n.set(R, e), e);
9
- var Ue = (R, n, e, s) => ({
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 A = (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
10
  set _(i) {
11
- p(R, n, i, e);
11
+ y(R, r, i, e);
12
12
  },
13
13
  get _() {
14
- return t(R, n, s);
14
+ return t(R, r, s);
15
15
  }
16
16
  });
17
17
  import { trace as Ke } from "@ninebone/util";
@@ -36,7 +36,7 @@ const Me = class Me extends HTMLElement {
36
36
  d(this, It, /* @__PURE__ */ h(() => {
37
37
  if (!t(this, z)) return;
38
38
  const e = t(this, z).querySelector(".ng-container-body .ng-part-body");
39
- e && (p(this, Z, new ResizeObserver(() => {
39
+ e && (y(this, Z, new ResizeObserver(() => {
40
40
  this.refresh();
41
41
  })), t(this, Z).observe(e));
42
42
  }, "#observeResize"));
@@ -44,7 +44,7 @@ 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 i = t(this, w).track, r = t(this, w).thumb, o = t(this, z).querySelector(".ng-container-bottom"), a = e.clientWidth, c = s.scrollWidth;
47
+ const i = t(this, w).track, n = t(this, w).thumb, o = t(this, z).querySelector(".ng-container-bottom"), a = e.clientWidth, c = s.scrollWidth;
48
48
  if (a !== 0 && c > a)
49
49
  o && (o.style.display = "flex");
50
50
  else {
@@ -54,21 +54,21 @@ const Me = class Me extends HTMLElement {
54
54
  const l = i.clientWidth;
55
55
  if (l <= 0) return;
56
56
  const f = Math.max(Math.min(l * (a / c), l), 20);
57
- r.style.width = `${f}px`;
57
+ n.style.width = `${f}px`;
58
58
  const u = e.scrollLeft, g = c - a;
59
59
  let b = 0;
60
60
  g > 0 && (b = parseInt(u / g * (l - f), 10)), b < 0 && (b = 0);
61
61
  const m = l - f;
62
- b > m && (b = m), r.style.left = `${b}px`, t(this, w).left.disabled = b === 0, t(this, w).right.disabled = b >= m - 1;
62
+ b > m && (b = m), n.style.left = `${b}px`, t(this, w).left.disabled = b === 0, t(this, w).right.disabled = b >= m - 1;
63
63
  }, "refresh"));
64
64
  d(this, G, /* @__PURE__ */ h((e) => {
65
65
  if (!t(this, w)) return !1;
66
66
  const s = t(this, w).container, i = s.querySelector("table");
67
67
  if (!i) return !1;
68
- const r = t(this, w).track.getBoundingClientRect(), o = t(this, w).thumb.clientWidth;
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 = r.width - o;
71
+ const c = n.width - o;
72
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;
73
73
  const l = s.clientWidth, u = i.scrollWidth - l;
74
74
  return c > 0 && u > 0 && (s.scrollLeft = a / c * u), a > 0 && a < c - 1;
@@ -76,9 +76,9 @@ const Me = class Me extends HTMLElement {
76
76
  d(this, _t, /* @__PURE__ */ h(() => {
77
77
  const e = /* @__PURE__ */ h((i) => {
78
78
  clearInterval(t(this, X)), clearInterval(t(this, K));
79
- const r = parseInt(t(this, w).thumb.style.left || 0, 10);
80
- t(this, G).call(this, r + i), p(this, X, setInterval(() => {
81
- clearInterval(t(this, X)), p(this, K, setInterval(() => {
79
+ const n = parseInt(t(this, w).thumb.style.left || 0, 10);
80
+ t(this, G).call(this, n + i), y(this, X, setInterval(() => {
81
+ clearInterval(t(this, X)), y(this, K, setInterval(() => {
82
82
  const o = parseInt(t(this, w).thumb.style.left || 0, 10);
83
83
  t(this, G).call(this, o + i) || clearInterval(t(this, K));
84
84
  }, 50));
@@ -95,24 +95,24 @@ const Me = class Me extends HTMLElement {
95
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
96
  if (i.button !== 0) return;
97
97
  i.preventDefault();
98
- const r = t(this, w).track.getBoundingClientRect(), o = t(this, w).thumb.clientWidth;
99
- t(this, G).call(this, i.clientX - r.left - o / 2);
98
+ const n = t(this, w).track.getBoundingClientRect(), o = t(this, w).thumb.clientWidth;
99
+ t(this, G).call(this, i.clientX - n.left - o / 2);
100
100
  }), t(this, w).thumb.addEventListener("mousedown", (i) => {
101
101
  if (i.button !== 0) return;
102
- i.stopPropagation(), i.preventDefault(), p(this, j, !0), this.shiftX = i.clientX - t(this, w).thumb.getBoundingClientRect().left;
103
- const r = /* @__PURE__ */ h((a) => {
102
+ i.stopPropagation(), i.preventDefault(), y(this, j, !0), this.shiftX = i.clientX - t(this, w).thumb.getBoundingClientRect().left;
103
+ const n = /* @__PURE__ */ h((a) => {
104
104
  if (!t(this, j)) return;
105
105
  const c = t(this, w).track.getBoundingClientRect();
106
106
  t(this, G).call(this, a.clientX - c.left - this.shiftX);
107
107
  }, "onMouseMove"), o = /* @__PURE__ */ h(() => {
108
- p(this, j, !1), s(), document.removeEventListener("mousemove", r), document.removeEventListener("mouseup", o), this.refresh();
108
+ y(this, j, !1), s(), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", o), this.refresh();
109
109
  }, "onMouseUp");
110
- document.addEventListener("mousemove", r), document.addEventListener("mouseup", o);
110
+ document.addEventListener("mousemove", n), document.addEventListener("mouseup", o);
111
111
  });
112
112
  }, "#init"));
113
113
  }
114
114
  connectedCallback() {
115
- if (p(this, z, this.closest("nine-table-sheet") || this.getRootNode().host), !t(this, z)) return;
115
+ if (y(this, z, this.closest("nine-table-sheet") || this.getRootNode().host), !t(this, z)) return;
116
116
  this.innerHTML = `
117
117
  <style>
118
118
  nine-table-hscrollbar {
@@ -182,7 +182,7 @@ const Me = class Me extends HTMLElement {
182
182
  setTimeout(e, 10);
183
183
  return;
184
184
  }
185
- p(this, w, {
185
+ y(this, w, {
186
186
  container: s,
187
187
  track: this.querySelector(".ng-scroll-track"),
188
188
  thumb: this.querySelector(".ng-scroll-thumb"),
@@ -201,29 +201,29 @@ const Me = class Me extends HTMLElement {
201
201
  z = 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");
202
202
  let ae = Me;
203
203
  customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", ae);
204
- var F, at, J, q, xt, vt, Nt;
204
+ var F, ot, J, q, mt, xt, Nt;
205
205
  const $e = class $e extends HTMLElement {
206
206
  constructor() {
207
207
  super();
208
208
  d(this, F);
209
- d(this, at);
209
+ d(this, ot);
210
210
  d(this, J, !1);
211
211
  d(this, q);
212
+ d(this, mt, 0);
212
213
  d(this, xt, 0);
213
- d(this, vt, 0);
214
214
  A(this, "refresh", /* @__PURE__ */ h(() => {
215
215
  if (!t(this, F) || !t(this, q)) return;
216
- const e = t(this, q).container, s = t(this, q).track, i = t(this, q).thumb, r = e.clientHeight, a = (t(this, F).data.get() || []).length, c = t(this, at).getRowHeight(), l = a * c;
217
- if (l <= r) {
216
+ const e = t(this, q).container, s = t(this, q).track, i = t(this, q).thumb, n = e.clientHeight, a = (t(this, F).data.get() || []).length, c = t(this, ot).getRowHeight(), l = a * c;
217
+ if (l <= n) {
218
218
  i.style.display = "none", t(this, q).top.disabled = !0, t(this, q).bottom.disabled = !0;
219
219
  return;
220
220
  } else
221
221
  i.style.display = "block";
222
222
  const f = s.clientHeight;
223
223
  if (f <= 0) return;
224
- const u = Math.max(Math.min(f * (r / l), f), 20);
224
+ const u = Math.max(Math.min(f * (n / l), f), 20);
225
225
  i.style.height = `${u}px`;
226
- const g = e.scrollTop, b = Math.max(l - r, 1);
226
+ const g = e.scrollTop, b = Math.max(l - n, 1);
227
227
  let m = 0;
228
228
  b > 0 && (m = g / b * (f - u));
229
229
  const v = f - u;
@@ -232,31 +232,31 @@ const $e = class $e extends HTMLElement {
232
232
  d(this, Nt, /* @__PURE__ */ h(() => {
233
233
  W.log("nine-table-vscrollbar.#init");
234
234
  const e = t(this, q).container, s = /* @__PURE__ */ h(() => {
235
- const r = (t(this, F).data.get() || []).length, o = t(this, at).getRowHeight();
236
- return r * o;
235
+ const n = (t(this, F).data.get() || []).length, o = t(this, ot).getRowHeight();
236
+ return n * o;
237
237
  }, "getContentHeight");
238
238
  e.addEventListener("scroll", () => {
239
239
  t(this, J) || this.refresh();
240
240
  }), t(this, q).thumb.addEventListener("mousedown", (i) => {
241
241
  if (i.button !== 0) return;
242
- i.stopPropagation(), i.preventDefault(), p(this, J, !0), p(this, xt, i.clientY), p(this, vt, e.scrollTop);
243
- const r = /* @__PURE__ */ h((a) => {
242
+ i.stopPropagation(), i.preventDefault(), y(this, J, !0), y(this, mt, i.clientY), y(this, xt, e.scrollTop);
243
+ const n = /* @__PURE__ */ h((a) => {
244
244
  if (!t(this, J)) return;
245
- const c = t(this, q).track.getBoundingClientRect(), l = t(this, q).thumb.clientHeight, u = c.height - l, g = a.clientY - t(this, xt), b = e.clientHeight, m = s(), v = Math.max(m - b, 1);
245
+ const c = t(this, q).track.getBoundingClientRect(), l = t(this, q).thumb.clientHeight, u = c.height - l, g = a.clientY - t(this, mt), b = e.clientHeight, m = s(), v = Math.max(m - b, 1);
246
246
  if (u > 0 && v > 0) {
247
247
  const E = g / u * v;
248
- let x = t(this, vt) + E;
248
+ let x = t(this, xt) + E;
249
249
  const M = Math.max(0, m - b);
250
250
  x < 0 && (x = 0), x > M && (x = M), e.scrollTop = x;
251
251
  }
252
252
  this.refresh();
253
253
  }, "onMouseMove"), o = /* @__PURE__ */ h(() => {
254
- p(this, J, !1), document.removeEventListener("mousemove", r), document.removeEventListener("mouseup", o), this.refresh();
254
+ y(this, J, !1), document.removeEventListener("mousemove", n), document.removeEventListener("mouseup", o), this.refresh();
255
255
  }, "onMouseUp");
256
- document.addEventListener("mousemove", r), document.addEventListener("mouseup", o);
256
+ document.addEventListener("mousemove", n), document.addEventListener("mouseup", o);
257
257
  }), t(this, q).track.addEventListener("mousedown", (i) => {
258
258
  if (i.button !== 0 || i.target === t(this, q).thumb) return;
259
- const r = t(this, q).track.getBoundingClientRect(), o = t(this, q).thumb.clientHeight, a = i.clientY - r.top - o / 2, l = r.height - o, f = e.clientHeight, u = s(), g = Math.max(u - f, 1);
259
+ const n = t(this, q).track.getBoundingClientRect(), o = t(this, q).thumb.clientHeight, a = i.clientY - n.top - o / 2, l = n.height - o, f = e.clientHeight, u = s(), g = Math.max(u - f, 1);
260
260
  if (l > 0 && g > 0) {
261
261
  const b = Math.max(0, Math.min(1, a / l));
262
262
  e.scrollTop = b * g;
@@ -270,7 +270,7 @@ const $e = class $e extends HTMLElement {
270
270
  }, "#init"));
271
271
  }
272
272
  connectedCallback() {
273
- p(this, F, this.getRootNode().host), p(this, at, this.closest("nine-table-sheet")), this.innerHTML = `
273
+ y(this, F, this.getRootNode().host), y(this, ot, this.closest("nine-table-sheet")), this.innerHTML = `
274
274
  <style>
275
275
  nine-table-vscrollbar {
276
276
  display: flex;
@@ -340,7 +340,7 @@ const $e = class $e extends HTMLElement {
340
340
  setTimeout(e, 10);
341
341
  return;
342
342
  }
343
- p(this, q, {
343
+ y(this, q, {
344
344
  container: s,
345
345
  track: this.querySelector(".ng-scroll-track"),
346
346
  thumb: this.querySelector(".ng-scroll-thumb"),
@@ -351,20 +351,20 @@ const $e = class $e extends HTMLElement {
351
351
  e();
352
352
  }
353
353
  };
354
- F = new WeakMap(), at = new WeakMap(), J = new WeakMap(), q = new WeakMap(), xt = new WeakMap(), vt = new WeakMap(), Nt = new WeakMap(), h($e, "NineTableVScrollBar");
354
+ F = new WeakMap(), ot = new WeakMap(), J = new WeakMap(), q = new WeakMap(), mt = new WeakMap(), xt = new WeakMap(), Nt = new WeakMap(), h($e, "NineTableVScrollBar");
355
355
  let le = $e;
356
356
  customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", le);
357
- var P, S, Q, D, I, V, tt, wt, Se, Ee, Wt, Ot, Bt, St, Et, zt, Dt, At, Ae, lt, Rt, Pt;
357
+ var D, S, Q, P, I, V, tt, vt, Se, Ee, Wt, Ot, Bt, wt, St, zt, Pt, Et, Ae, at, At, Dt;
358
358
  const Ie = class Ie {
359
- constructor(n) {
360
- d(this, P);
359
+ constructor(r) {
360
+ d(this, D);
361
361
  d(this, S);
362
362
  d(this, Q);
363
- d(this, D, /* @__PURE__ */ new Map());
363
+ d(this, P, /* @__PURE__ */ new Map());
364
364
  d(this, I, null);
365
365
  d(this, V, null);
366
366
  d(this, tt, 0);
367
- d(this, wt, 40);
367
+ d(this, vt, 40);
368
368
  d(this, Se, !1);
369
369
  d(this, Ee, !1);
370
370
  //#ticking = false; // 🎯 고속 스크롤 스로틀링용 플래그
@@ -372,14 +372,14 @@ const Ie = class Ie {
372
372
  A(this, "refresh", /* @__PURE__ */ h(() => {
373
373
  var e;
374
374
  W.log("rowManager.refresh");
375
- const n = t(this, S).querySelector(".ng-container-body .ng-part-body");
376
- n && (t(this, St).call(this), t(this, lt).call(this, n.scrollTop), (e = t(this, S).querySelector("nine-table-vscrollbar")) == null || e.refresh());
375
+ const r = t(this, S).querySelector(".ng-container-body .ng-part-body");
376
+ r && (t(this, wt).call(this), t(this, at).call(this, r.scrollTop), (e = t(this, S).querySelector("nine-table-vscrollbar")) == null || e.refresh());
377
377
  }, "refresh"));
378
378
  A(this, "initialize", /* @__PURE__ */ h(() => {
379
- W.log("rowManager.initialize"), p(this, Q, {
379
+ W.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
- }), p(this, I, null), t(this, D).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((o) => {
382
+ }), y(this, I, null), t(this, P).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
385
  const c = a.querySelector(".ng-part-body table");
@@ -387,81 +387,81 @@ const Ie = class Ie {
387
387
  const l = c.querySelector("tbody.bindable-tbody");
388
388
  if (!l) return;
389
389
  const u = Array.from(l.querySelectorAll("tr")).map((g) => g.cloneNode(!0));
390
- t(this, D).set(o, u);
390
+ t(this, P).set(o, u);
391
391
  });
392
- const n = 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"), r = t(this, S).querySelector(".ng-container-body .ng-part-footer");
393
- if (n) {
394
- t(this, Bt).call(this, n), t(this, At).call(this), t(this, St).call(this), t(this, lt).call(this, n.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, Bt).call(this, r), t(this, Et).call(this), t(this, wt).call(this), t(this, at).call(this, r.scrollTop);
395
395
  let o = !1;
396
396
  const a = /* @__PURE__ */ h((c) => {
397
397
  if (o) return;
398
398
  o = !0;
399
399
  const l = c.scrollTop, f = c.scrollLeft;
400
- n && n.scrollTop !== l && (n.scrollTop = l), e && e.scrollTop !== l && (e.scrollTop = l), s && s.scrollTop !== l && (s.scrollTop = l), i && i.scrollLeft !== f && (i.scrollLeft = f), r && r.scrollLeft !== f && (r.scrollLeft = f), t(this, lt).call(this, l), o = !1;
400
+ r && r.scrollTop !== l && (r.scrollTop = l), e && e.scrollTop !== l && (e.scrollTop = l), s && s.scrollTop !== l && (s.scrollTop = l), i && i.scrollLeft !== f && (i.scrollLeft = f), n && n.scrollLeft !== f && (n.scrollLeft = f), t(this, at).call(this, l), o = !1;
401
401
  }, "handleContainerScroll");
402
- [n, e, s].forEach((c) => {
402
+ [r, e, s].forEach((c) => {
403
403
  c && c.addEventListener("scroll", () => {
404
404
  a(c);
405
405
  }, { passive: !0 });
406
406
  });
407
407
  }
408
408
  }, "initialize"));
409
- d(this, Ot, /* @__PURE__ */ h((n, e) => {
409
+ d(this, Ot, /* @__PURE__ */ h((r, e) => {
410
410
  W.log("rowManager.#renderRows");
411
- const s = t(this, D).get(e);
411
+ const s = t(this, P).get(e);
412
412
  if (!s || s.length === 0) return;
413
- const i = n.querySelector(".ng-part-body tbody.bindable-tbody");
413
+ const i = r.querySelector(".ng-part-body tbody.bindable-tbody");
414
414
  if (!i) return;
415
415
  i.querySelectorAll("tr:not(.nodata)").forEach((a) => a.remove());
416
- const r = i.querySelector("tr.nodata"), o = document.createDocumentFragment();
417
- for (let a = 0; a < t(this, wt); a++)
416
+ const n = i.querySelector("tr.nodata"), o = document.createDocumentFragment();
417
+ for (let a = 0; a < t(this, vt); a++)
418
418
  s.forEach((c) => {
419
419
  o.appendChild(c.cloneNode(!0));
420
420
  });
421
- r ? r.before(o) : i.appendChild(o), e === ".ng-container-body" && (t(this, Q).firstTr = i.querySelector("tr:not(.nodata)"));
421
+ n ? n.before(o) : i.appendChild(o), e === ".ng-container-body" && (t(this, Q).firstTr = i.querySelector("tr:not(.nodata)"));
422
422
  }, "#renderRows"));
423
- d(this, Bt, /* @__PURE__ */ h((n) => {
423
+ d(this, Bt, /* @__PURE__ */ h((r) => {
424
424
  if (W.log("rowManager.#measureAndCacheHeight"), t(this, I) !== null && t(this, I) > 0)
425
425
  return t(this, I);
426
426
  W.log("#measureAndCacheHeight");
427
- const e = t(this, D).get(".ng-container-body");
427
+ const e = t(this, P).get(".ng-container-body");
428
428
  if (!e || e.length === 0) return 24;
429
- const s = n.querySelector("tbody.bindable-tbody");
429
+ const s = r.querySelector("tbody.bindable-tbody");
430
430
  if (!s) return 24;
431
431
  s.querySelectorAll("tr:not(.nodata)").forEach((g) => g.remove());
432
- const i = s.querySelector("tr.nodata"), r = document.createDocumentFragment();
432
+ const i = s.querySelector("tr.nodata"), n = document.createDocumentFragment();
433
433
  e.forEach((g) => {
434
- r.appendChild(g.cloneNode(!0));
435
- }), i ? i.before(r) : s.appendChild(r);
434
+ n.appendChild(g.cloneNode(!0));
435
+ }), i ? i.before(n) : s.appendChild(n);
436
436
  const o = t(this, S), a = o.style.display, c = 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 u = s.querySelectorAll("tr:not(.nodata)");
440
440
  return u.forEach((g) => {
441
441
  f += g.offsetHeight || g.getBoundingClientRect().height;
442
- }), u.forEach((g) => g.remove()), o.style.display = a, o.style.visibility = c, o.style.position = l, p(this, I, f > 0 ? f : 24), t(this, Et).call(this), t(this, I);
442
+ }), u.forEach((g) => g.remove()), o.style.display = a, o.style.visibility = c, o.style.position = l, y(this, I, f > 0 ? f : 24), t(this, St).call(this), t(this, I);
443
443
  }, "#measureAndCacheHeight"));
444
- d(this, St, /* @__PURE__ */ h(() => {
444
+ d(this, wt, /* @__PURE__ */ h(() => {
445
445
  W.log("rowManager.#updateVirtualScrollHeight");
446
- const e = (t(this, P).data.get() || []).length, s = t(this, I), i = e * s;
447
- [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((r) => {
448
- const o = t(this, S).querySelector(r);
446
+ const e = (t(this, D).data.get() || []).length, s = t(this, I), i = e * s;
447
+ [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((n) => {
448
+ const o = t(this, S).querySelector(n);
449
449
  if (!o) return;
450
450
  const a = o.querySelector(".ng-part-body .ng-virtual-spacer");
451
451
  a && (a.style.height = `${i}px`);
452
452
  });
453
453
  }, "#updateVirtualScrollHeight"));
454
- d(this, Et, /* @__PURE__ */ h(() => {
454
+ d(this, St, /* @__PURE__ */ h(() => {
455
455
  if (t(this, tt) > 0 && t(this, I) > 0) {
456
- const n = Math.ceil(t(this, tt) / t(this, I));
457
- p(this, wt, n + t(this, Wt));
456
+ const r = Math.ceil(t(this, tt) / t(this, I));
457
+ y(this, vt, r + t(this, Wt));
458
458
  }
459
459
  }, "#updateRowCount"));
460
460
  d(this, zt, /* @__PURE__ */ h(() => {
461
461
  var a, c, l, f, u, g;
462
- const n = 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");
463
463
  if (e) {
464
- const b = n ? Array.from(n.querySelectorAll("tbody tr")) : [], m = Array.from(e.querySelectorAll("tbody tr")), v = s ? Array.from(s.querySelectorAll("tbody tr")) : [], E = Math.max(b.length, m.length, v.length);
464
+ const b = r ? Array.from(r.querySelectorAll("tbody tr")) : [], m = Array.from(e.querySelectorAll("tbody tr")), v = s ? Array.from(s.querySelectorAll("tbody tr")) : [], E = Math.max(b.length, m.length, v.length);
465
465
  for (let x = 0; x < E; x++) {
466
466
  const M = [
467
467
  ((a = b[x]) == null ? void 0 : a.getBoundingClientRect().height) || 0,
@@ -471,9 +471,9 @@ const Ie = class Ie {
471
471
  T > 0 && (b[x] && (b[x].style.height = `${T}px`), m[x] && (m[x].style.height = `${T}px`), v[x] && (v[x].style.height = `${T}px`));
472
472
  }
473
473
  }
474
- const i = t(this, S).querySelector(".ng-container-left .ng-part-footer table"), r = t(this, S).querySelector(".ng-container-body .ng-part-footer table"), o = t(this, S).querySelector(".ng-container-right .ng-part-footer table");
475
- if (r) {
476
- const b = i ? Array.from(i.querySelectorAll("tfoot tr")) : [], m = Array.from(r.querySelectorAll("tfoot tr")), v = o ? Array.from(o.querySelectorAll("tfoot tr")) : [], E = Math.max(b.length, m.length, v.length);
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"), o = t(this, S).querySelector(".ng-container-right .ng-part-footer table");
475
+ if (n) {
476
+ const b = i ? Array.from(i.querySelectorAll("tfoot tr")) : [], m = Array.from(n.querySelectorAll("tfoot tr")), v = o ? Array.from(o.querySelectorAll("tfoot tr")) : [], E = Math.max(b.length, m.length, v.length);
477
477
  for (let x = 0; x < E; x++) {
478
478
  const M = [
479
479
  ((f = b[x]) == null ? void 0 : f.getBoundingClientRect().height) || 0,
@@ -484,54 +484,54 @@ const Ie = class Ie {
484
484
  }
485
485
  }
486
486
  }, "#syncRowHeights"));
487
- d(this, Dt, /* @__PURE__ */ h(() => {
488
- !t(this, S) || !(t(this, S) instanceof HTMLElement) || (p(this, V, new ResizeObserver((n) => {
489
- for (const e of n) {
487
+ d(this, Pt, /* @__PURE__ */ h(() => {
488
+ !t(this, S) || !(t(this, S) instanceof HTMLElement) || (y(this, V, new ResizeObserver((r) => {
489
+ for (const e of r) {
490
490
  const s = e.target;
491
491
  if (!s.classList.contains("active")) continue;
492
492
  const i = e.contentRect.height;
493
493
  if (i > 0) {
494
- let r = 0;
494
+ let n = 0;
495
495
  const o = s.querySelector(".ng-part-header"), a = s.querySelector(".ng-part-footer");
496
- o && (r += o.offsetHeight), a && (r += a.offsetHeight);
497
- const c = Math.max(i - r, 100);
498
- t(this, tt) !== c && (p(this, tt, c), t(this, Et).call(this), t(this, I) !== null && (t(this, At).call(this), this.refresh()));
496
+ o && (n += o.offsetHeight), a && (n += a.offsetHeight);
497
+ const c = Math.max(i - n, 100);
498
+ t(this, tt) !== c && (y(this, tt, c), t(this, St).call(this), t(this, I) !== null && (t(this, Et).call(this), this.refresh()));
499
499
  }
500
500
  }
501
501
  })), t(this, V).observe(t(this, S)));
502
502
  }, "#initResizeObserver"));
503
- d(this, At, /* @__PURE__ */ h(() => {
504
- W.log("rowManager.#renderAllContainers"), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((n) => {
505
- const e = t(this, S).querySelector(n);
506
- e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, Ot).call(this, e, n);
507
- }), t(this, Pt).call(this), t(this, zt).call(this);
503
+ d(this, Et, /* @__PURE__ */ h(() => {
504
+ W.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, Ot).call(this, e, r);
507
+ }), t(this, Dt).call(this), t(this, zt).call(this);
508
508
  }, "#renderAllContainers"));
509
- d(this, Ae, /* @__PURE__ */ h((n) => {
509
+ d(this, Ae, /* @__PURE__ */ h((r) => {
510
510
  [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((e) => {
511
511
  var l;
512
512
  const s = t(this, S).querySelector(e);
513
513
  if (!s) return;
514
514
  const i = s.querySelector(".ng-part-body tbody.bindable-tbody");
515
515
  if (!i) return;
516
- const r = Array.from(i.querySelectorAll("tr:not(.nodata)")), o = ((l = t(this, D).get(e)) == null ? void 0 : l.length) || 1, c = (t(this, P).data.get() || []).length;
517
- r.forEach((f, u) => {
518
- const g = n + Math.floor(u / o);
516
+ const n = Array.from(i.querySelectorAll("tr:not(.nodata)")), o = ((l = t(this, P).get(e)) == null ? void 0 : l.length) || 1, c = (t(this, D).data.get() || []).length;
517
+ n.forEach((f, u) => {
518
+ const g = r + Math.floor(u / o);
519
519
  if (g >= c) {
520
520
  f.style.display = "none";
521
521
  return;
522
522
  }
523
- const b = t(this, P).data.get(g);
524
- f.style.display = "", t(this, Rt).call(this, f, b, g);
523
+ const b = t(this, D).data.get(g);
524
+ f.style.display = "", t(this, At).call(this, f, b, g);
525
525
  });
526
526
  });
527
527
  }, "#adjustBufferRows"));
528
- d(this, lt, /* @__PURE__ */ h((n) => {
528
+ d(this, at, /* @__PURE__ */ h((r) => {
529
529
  var f, u;
530
530
  const e = t(this, I);
531
531
  if (!e || e <= 0) return;
532
- const s = t(this, P).data.length;
532
+ const s = t(this, D).data.length;
533
533
  if (s === 0) return;
534
- const i = ((f = t(this, D).get(".ng-container-body")) == null ? void 0 : f.length) || 1, r = Math.max(0, s - 1), o = Math.min(r, Math.max(0, Math.floor(n / e))), a = Math.floor(o * e), c = t(this, Q).firstTr, l = c && c.dataset.row !== void 0 ? parseInt(c.dataset.row, 10) : -1;
534
+ const i = ((f = t(this, P).get(".ng-container-body")) == null ? void 0 : f.length) || 1, n = Math.max(0, s - 1), o = Math.min(n, Math.max(0, Math.floor(r / e))), a = Math.floor(o * e), c = t(this, Q).firstTr, l = c && c.dataset.row !== void 0 ? parseInt(c.dataset.row, 10) : -1;
535
535
  (u = t(this, Q)) == null || u.scrollTables.forEach((g) => {
536
536
  g.style.transform = `translate3d(0, ${a}px, 0)`;
537
537
  }), l !== o && [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((g) => {
@@ -545,8 +545,8 @@ const Ie = class Ie {
545
545
  E.style.display = "none";
546
546
  return;
547
547
  }
548
- const T = t(this, P).data.get(M);
549
- E.style.display = "", t(this, Rt).call(this, E, T, M);
548
+ const T = t(this, D).data.get(M);
549
+ E.style.display = "", t(this, At).call(this, E, T, M);
550
550
  });
551
551
  });
552
552
  }, "#handleScroll"));
@@ -564,55 +564,55 @@ const Ie = class Ie {
564
564
  cell.dataset.row = dataIndex;
565
565
  });
566
566
  }; */
567
- d(this, Rt, /* @__PURE__ */ h((n, e, s) => {
568
- n.dataset.row = s, n.data = e, Array.from(n.cells).forEach((i, r) => {
567
+ d(this, At, /* @__PURE__ */ h((r, e, s) => {
568
+ r.dataset.row = s, r.data = e, Array.from(r.cells).forEach((i, n) => {
569
569
  i.dataset.row = s;
570
570
  const o = Array.from(i.children).find((a) => a.tagName.toLowerCase().startsWith("cell-") || typeof a.refresh == "function");
571
571
  o && typeof o.refresh == "function" && o.refresh();
572
572
  });
573
573
  }, "#bindRowData"));
574
- d(this, Pt, /* @__PURE__ */ h(() => {
574
+ d(this, Dt, /* @__PURE__ */ h(() => {
575
575
  var c, l, f;
576
576
  W.log("rowManager.#syncHeaderHeights");
577
- const n = 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");
577
+ 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");
578
578
  if (!e) return;
579
- const i = n ? Array.from(n.querySelectorAll("tr")) : [], r = Array.from(e.querySelectorAll("tr")), o = s ? Array.from(s.querySelectorAll("tr")) : [], a = Math.max(i.length, r.length, o.length);
579
+ const i = r ? Array.from(r.querySelectorAll("tr")) : [], n = Array.from(e.querySelectorAll("tr")), o = s ? Array.from(s.querySelectorAll("tr")) : [], a = Math.max(i.length, n.length, o.length);
580
580
  for (let u = 0; u < a; u++) {
581
581
  const g = [
582
582
  ((c = i[u]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
583
- ((l = r[u]) == null ? void 0 : l.getBoundingClientRect().height) || 0,
583
+ ((l = n[u]) == null ? void 0 : l.getBoundingClientRect().height) || 0,
584
584
  ((f = o[u]) == null ? void 0 : f.getBoundingClientRect().height) || 0
585
585
  ], b = Math.max(...g);
586
- b > 0 && (i[u] && (i[u].style.height = `${b}px`), r[u] && (r[u].style.height = `${b}px`), o[u] && (o[u].style.height = `${b}px`));
586
+ b > 0 && (i[u] && (i[u].style.height = `${b}px`), n[u] && (n[u].style.height = `${b}px`), o[u] && (o[u].style.height = `${b}px`));
587
587
  }
588
588
  }, "#syncHeaderHeights"));
589
589
  A(this, "destroy", /* @__PURE__ */ h(() => {
590
- t(this, V) && (t(this, V).disconnect(), p(this, V, null));
590
+ t(this, V) && (t(this, V).disconnect(), y(this, V, null));
591
591
  }, "destroy"));
592
- p(this, P, n.getRootNode().host), p(this, S, n), t(this, Dt).call(this);
592
+ y(this, D, r.getRootNode().host), y(this, S, r), t(this, Pt).call(this);
593
593
  }
594
594
  getRowHeight() {
595
595
  return t(this, I);
596
596
  }
597
- templateLength(n = ".ng-container-body") {
597
+ templateLength(r = ".ng-container-body") {
598
598
  var e;
599
- return ((e = t(this, D).get(n)) == null ? void 0 : e.length) || 1;
599
+ return ((e = t(this, P).get(r)) == null ? void 0 : e.length) || 1;
600
600
  }
601
601
  };
602
- 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(), Bt = new WeakMap(), St = new WeakMap(), Et = new WeakMap(), zt = new WeakMap(), Dt = new WeakMap(), At = new WeakMap(), Ae = new WeakMap(), lt = new WeakMap(), Rt = new WeakMap(), Pt = new WeakMap(), h(Ie, "RowManager");
602
+ D = new WeakMap(), S = new WeakMap(), Q = new WeakMap(), P = new WeakMap(), I = new WeakMap(), V = new WeakMap(), tt = new WeakMap(), vt = new WeakMap(), Se = new WeakMap(), Ee = new WeakMap(), Wt = new WeakMap(), Ot = new WeakMap(), Bt = new WeakMap(), wt = new WeakMap(), St = new WeakMap(), zt = new WeakMap(), Pt = new WeakMap(), Et = new WeakMap(), Ae = new WeakMap(), at = new WeakMap(), At = new WeakMap(), Dt = new WeakMap(), h(Ie, "RowManager");
603
603
  let ce = Ie;
604
604
  const jt = class jt {
605
605
  /**
606
606
  * 🎯 레이아웃 내의 여러 rawTables 배열을 일괄로 받아 단일 마스터 템플릿으로 사전 컴파일합니다.
607
607
  */
608
- static compileAll(n) {
609
- return Array.isArray(n) ? n.map((e) => jt.compile(e)) : [];
608
+ static compileAll(r) {
609
+ return Array.isArray(r) ? r.map((e) => jt.compile(e)) : [];
610
610
  }
611
611
  /**
612
612
  * 🎯 단일 원본 테이블을 받아 기본 구조 보정 및 2차원 격자 인덱스 사전 부여 완료된 마스터 테이블 반환
613
613
  */
614
- static compile(n) {
615
- if (!n) return null;
614
+ static compile(r) {
615
+ if (!r) return null;
616
616
  const e = /* @__PURE__ */ h((a) => {
617
617
  a.querySelectorAll("tbody td, tbody th, tfoot td, tfoot th").forEach((l) => {
618
618
  const f = l.getAttribute("cell-type") || "renderer";
@@ -655,8 +655,8 @@ const jt = class jt {
655
655
  }
656
656
  const M = x.rowSpan || 1, T = x.colSpan || 1;
657
657
  for (let B = 0; B < M; B++)
658
- for (let pt = 0; pt < T; pt++)
659
- v + B < u && E + pt < g && (b[v + B][E + pt] = B === 0 && pt === 0 ? "1" : "0");
658
+ for (let bt = 0; bt < T; bt++)
659
+ v + B < u && E + bt < g && (b[v + B][E + bt] = B === 0 && bt === 0 ? "1" : "0");
660
660
  });
661
661
  }), l.forEach((m) => {
662
662
  const v = m.sectionRowIndex;
@@ -668,27 +668,27 @@ const jt = class jt {
668
668
  }
669
669
  });
670
670
  });
671
- }, "resetColIndex"), r = n.cloneNode(!0);
672
- return s(r), e(r), i(r, "thead"), i(r, "tbody"), i(r, "tfoot"), Array.from(r.querySelectorAll("colgroup col")).forEach((a, c) => {
671
+ }, "resetColIndex"), n = r.cloneNode(!0);
672
+ return s(n), e(n), i(n, "thead"), i(n, "tbody"), i(n, "tfoot"), Array.from(n.querySelectorAll("colgroup col")).forEach((a, c) => {
673
673
  const l = a.getAttribute("fixed");
674
- l && r.querySelectorAll(`thead [data-col="${c}"], tbody [data-col="${c}"], tfoot [data-col="${c}"]`).forEach((f) => {
674
+ l && n.querySelectorAll(`thead [data-col="${c}"], tbody [data-col="${c}"], tfoot [data-col="${c}"]`).forEach((f) => {
675
675
  f.setAttribute("fixed", l);
676
676
  });
677
- }), r;
677
+ }), n;
678
678
  }
679
679
  // 🎯 [추가] td/th에 선언된 cell-type 속성을 읽어 커스텀 태그로 자동 감싸기
680
680
  };
681
681
  h(jt, "TableCompiler");
682
682
  let he = jt;
683
- var Ft, et, st, Vt, Yt, ct, Ut, Xt;
683
+ var Ft, lt, et, Vt, Yt, Rt, Ut, Xt;
684
684
  const yt = class yt extends HTMLElement {
685
685
  constructor() {
686
686
  super();
687
687
  d(this, Ft);
688
- d(this, et, null);
689
- d(this, st);
688
+ d(this, lt, null);
689
+ d(this, et);
690
690
  A(this, "invalidate", /* @__PURE__ */ h(() => {
691
- t(this, st).refresh();
691
+ t(this, et).refresh();
692
692
  }, "invalidate"));
693
693
  d(this, Vt, /* @__PURE__ */ h(() => {
694
694
  [
@@ -696,55 +696,53 @@ const yt = class yt extends HTMLElement {
696
696
  { selector: ".ng-container-left", type: "left" },
697
697
  { selector: ".ng-container-right", type: "right" }
698
698
  ].forEach(({ selector: s, type: i }) => {
699
- const r = this.querySelector(s);
700
- if (!r) return;
701
- r.innerHTML = "";
702
- const o = document.createElement("div");
703
- o.className = "ng-part-header", o.appendChild(t(this, ct).call(this, t(this, et), i, "header"));
704
- const a = document.createElement("div");
699
+ const n = this.querySelector(s);
700
+ if (!n) return;
701
+ n.innerHTML = "";
702
+ const o = this.querySelector(`${s} .ng-part-header`), a = document.createElement("div");
705
703
  a.className = "ng-part-body";
706
704
  const c = document.createElement("div");
707
- c.className = "ng-scroll-content", c.style.position = "relative", c.style.width = "100%", c.appendChild(t(this, ct).call(this, t(this, et), i, "body"));
705
+ c.className = "ng-scroll-content", c.style.position = "relative", c.style.width = "100%", c.appendChild(t(this, Rt).call(this, t(this, lt), i, "body"));
708
706
  const l = document.createElement("div");
709
707
  l.className = "ng-virtual-spacer", l.style.width = "100%", l.style.pointerEvents = "none", c.appendChild(l), a.appendChild(c);
710
708
  const f = document.createElement("div");
711
- f.className = "ng-part-footer", f.appendChild(t(this, ct).call(this, t(this, et), i, "footer")), r.appendChild(o), r.appendChild(a), r.appendChild(f);
709
+ f.className = "ng-part-footer", f.appendChild(t(this, Rt).call(this, t(this, lt), i, "footer")), n.appendChild(o), n.appendChild(a), n.appendChild(f);
712
710
  });
713
711
  }, "#renderSplitContainers"));
714
712
  d(this, Yt, /* @__PURE__ */ h(() => {
715
713
  ["left", "right", "body"].forEach((e) => {
716
714
  const s = this.querySelector(`.ng-container-${e}`), i = s == null ? void 0 : s.querySelectorAll("table");
717
715
  if (!s || !i || i.length === 0) return;
718
- let r = 0;
716
+ let n = 0;
719
717
  i[0].querySelectorAll("col").forEach((o) => {
720
718
  const a = parseInt(o.getAttribute("width"), 10);
721
- isNaN(r) || (r += a);
722
- }), e === "body" ? s.style.flex = "1" : (s.style.flex = `0 0 ${r}px`, s.style.width = `${r}px`);
719
+ isNaN(n) || (n += a);
720
+ }), e === "body" ? s.style.flex = "1" : (s.style.flex = `0 0 ${n}px`, s.style.width = `${n}px`);
723
721
  });
724
722
  }, "#updateContainerWidths"));
725
723
  A(this, "generate", /* @__PURE__ */ h((e) => {
726
- e && (p(this, et, he.compile(e)), t(this, Vt).call(this), t(this, Yt).call(this), t(this, st).initialize(), setTimeout(() => {
724
+ e && (y(this, lt, he.compile(e)), t(this, Vt).call(this), t(this, Yt).call(this), t(this, et).initialize(), setTimeout(() => {
727
725
  var s;
728
726
  (s = this.querySelector("nine-table-hscrollbar")) == null || s.refresh();
729
727
  }, 0));
730
728
  }, "generate"));
731
- d(this, ct, /* @__PURE__ */ h((e, s, i) => {
732
- const r = e.cloneNode(!0), o = r.querySelector("thead"), a = r.querySelector("tbody"), c = r.querySelector("tfoot");
729
+ d(this, Rt, /* @__PURE__ */ h((e, s, i) => {
730
+ const n = e.cloneNode(!0), o = n.querySelector("thead"), a = n.querySelector("tbody"), c = n.querySelector("tfoot");
733
731
  if (i === "header") {
734
732
  if (a && a.remove(), c && c.remove(), e.querySelector("tbody")) {
735
733
  const f = document.createElement("tbody");
736
- f.className = "fixed-tbody", r.appendChild(f);
734
+ f.className = "fixed-tbody", n.appendChild(f);
737
735
  }
738
736
  } else i === "body" ? (o && o.remove(), c && c.remove(), a && (a.className = "bindable-tbody")) : i === "footer" && (o && o.remove(), a && a.remove());
739
- return s === "left" ? r.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
737
+ return s === "left" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
740
738
  l.getAttribute("fixed") !== "left" && l.remove();
741
- }) : s === "right" ? r.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
739
+ }) : s === "right" ? n.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
742
740
  l.getAttribute("fixed") !== "right" && l.remove();
743
- }) : r.querySelectorAll("[fixed=left], [fixed=right]").forEach((l) => {
741
+ }) : n.querySelectorAll("[fixed=left], [fixed=right]").forEach((l) => {
744
742
  l.remove();
745
- }), r;
743
+ }), n;
746
744
  }, "#createSplitTable"));
747
- A(this, "getRowHeight", /* @__PURE__ */ h(() => t(this, st).getRowHeight(), "getRowHeight"));
745
+ A(this, "getRowHeight", /* @__PURE__ */ h(() => t(this, et).getRowHeight(), "getRowHeight"));
748
746
  A(this, "scrollToX", /* @__PURE__ */ h((e) => {
749
747
  const s = this.querySelector(".ng-container-body .ng-part-body");
750
748
  s && (s.scrollLeft = e);
@@ -896,18 +894,19 @@ const yt = class yt extends HTMLElement {
896
894
 
897
895
  <div class='ng-container-top'>
898
896
  <div class='ng-container-left'></div>
899
- <div class='ng-container-body'></div>
897
+ <div class='ng-container-body'>
898
+
899
+ </div>
900
900
  <div class='ng-container-right'></div>
901
901
  <nine-table-vscrollbar></nine-table-vscrollbar>
902
- </div>
903
- <div class='ng-container-nodata'>Data Not Found</div>
902
+ </div
904
903
  <div class='ng-container-bottom'>
905
904
  <nine-table-hscrollbar></nine-table-hscrollbar>
906
905
  <div class='ng-scroll-edge'></div>
907
906
  </div>
908
907
  `;
909
908
  }, "#render"));
910
- p(this, st, new ce(this)), p(this, Ft, this.getRootNode().host);
909
+ y(this, et, new ce(this)), y(this, Ft, this.getRootNode().host);
911
910
  }
912
911
  connectedCallback() {
913
912
  t(this, Ut).call(this);
@@ -916,7 +915,7 @@ const yt = class yt extends HTMLElement {
916
915
  this.innerHTML = "", W.log("NineTableSheet destroyed.");
917
916
  }
918
917
  };
919
- 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(yt, "NineTableSheet"), A(yt, "SCROLLBAR_SIZE", 16);
918
+ Ft = new WeakMap(), lt = new WeakMap(), et = new WeakMap(), Vt = new WeakMap(), Yt = new WeakMap(), Rt = new WeakMap(), Ut = new WeakMap(), Xt = new WeakMap(), h(yt, "NineTableSheet"), A(yt, "SCROLLBAR_SIZE", 16);
920
919
  let $t = yt;
921
920
  customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", $t);
922
921
  var Kt, qt;
@@ -927,8 +926,8 @@ const _e = class _e extends HTMLElement {
927
926
  var e;
928
927
  (e = this.querySelector(".nine-tab-bar")) == null || e.addEventListener("click", (s) => {
929
928
  var o;
930
- const i = s.ctrlKey || s.metaKey || s.shiftKey, r = parseInt((o = s.target.closest(".nine-tab-item")) == null ? void 0 : o.dataset.index, 10);
931
- t(this, qt).call(this, r, i);
929
+ const i = s.ctrlKey || s.metaKey || s.shiftKey, n = parseInt((o = s.target.closest(".nine-tab-item")) == null ? void 0 : o.dataset.index, 10);
930
+ t(this, qt).call(this, n, i);
932
931
  }), t(this, qt).call(this, 0, !1);
933
932
  }, "#init"));
934
933
  d(this, qt, /* @__PURE__ */ h((e, s = !1) => {
@@ -940,7 +939,7 @@ const _e = class _e extends HTMLElement {
940
939
  const m = parseInt(b.getAttribute("data-index"), 10), v = this.querySelector(`nine-splitter[data-split-index="${m}"]`), E = f[m + 1];
941
940
  v && E && E.classList.contains("active") && v.style.setProperty("display", "flex");
942
941
  });
943
- }, "updateSplitters"), r = this.querySelector(".nine-tab-bar"), o = this.querySelector("nine-table-sheets-body"), a = r.querySelectorAll(".nine-tab-item"), c = o.querySelectorAll("nine-table-sheet");
942
+ }, "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");
944
943
  if (!a[e]) return;
945
944
  if (!s)
946
945
  a.forEach((f, u) => {
@@ -950,7 +949,7 @@ const _e = class _e extends HTMLElement {
950
949
  f.classList.toggle("active", g), f.style.flex = g ? "1 1 100%" : "";
951
950
  });
952
951
  else {
953
- const f = a[e], u = r.querySelectorAll(".nine-tab-item.active");
952
+ const f = a[e], u = n.querySelectorAll(".nine-tab-item.active");
954
953
  if (f.classList.contains("active") && u.length <= 1)
955
954
  return;
956
955
  f.classList.toggle("active");
@@ -972,23 +971,23 @@ let de = _e;
972
971
  customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", de);
973
972
  var H, Zt, Tt, Gt;
974
973
  const Ne = class Ne {
975
- constructor(n) {
974
+ constructor(r) {
976
975
  d(this, H);
977
976
  d(this, Zt, /* @__PURE__ */ h(() => {
978
- t(this, Gt).call(this), new ResizeObserver((n) => {
979
- for (let e of n)
977
+ t(this, Gt).call(this), new ResizeObserver((r) => {
978
+ for (let e of r)
980
979
  t(this, H).getAttribute("auto-height") === "true" && t(this, Tt).call(this);
981
980
  }).observe(t(this, H));
982
981
  }, "#init"));
983
982
  d(this, Tt, /* @__PURE__ */ h(() => {
984
983
  var c, l;
985
- const n = Array.from(t(this, H).shadowRoot.querySelectorAll("nine-table-sheet.active"));
986
- if (n.length === 0) return;
987
- const e = parseInt(t(this, H).getAttribute("max-display-row"), 10) || 10, s = Math.max(...n.map((f) => f.getRowHeight())), i = (c = t(this, H).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : c.getBoundingClientRect().height, r = (l = t(this, H).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, o = $t.SCROLLBAR_SIZE, a = e * s + i + r + o;
984
+ const r = Array.from(t(this, H).shadowRoot.querySelectorAll("nine-table-sheet.active"));
985
+ if (r.length === 0) return;
986
+ const e = parseInt(t(this, H).getAttribute("max-display-row"), 10) || 10, s = Math.max(...r.map((f) => f.getRowHeight())), i = (c = t(this, H).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : c.getBoundingClientRect().height, n = (l = t(this, H).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, o = $t.SCROLLBAR_SIZE, a = e * s + i + n + o;
988
987
  t(this, H).style.height = `${a}px`;
989
988
  }, "#applyAutoHeight"));
990
989
  d(this, Gt, /* @__PURE__ */ h(() => {
991
- const e = Array.from(t(this, H).children).filter((c) => c.tagName === "TABLE"), s = t(this, H).getAttribute("auto-height") === "true", i = e.length, r = e.map((c, l) => {
990
+ const e = Array.from(t(this, H).children).filter((c) => c.tagName === "TABLE"), s = t(this, H).getAttribute("auto-height") === "true", i = e.length, n = e.map((c, l) => {
992
991
  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>` : "";
993
992
  return u + g;
994
993
  }).join(""), o = e.map((c, l) => `<div class="nine-tab-item ${l === 0 ? "active" : ""}" data-index="${l}">Sheet ${l + 1}</div>`).join("");
@@ -1090,7 +1089,7 @@ const Ne = class Ne {
1090
1089
  <nine-table-body>
1091
1090
  <nine-table-summary></nine-table-summary>
1092
1091
  <nine-table-sheets>
1093
- <nine-table-sheets-body>${r}</nine-table-sheets-body>
1092
+ <nine-table-sheets-body>${n}</nine-table-sheets-body>
1094
1093
  <nine-table-sheets-footer>
1095
1094
  <div class="nine-tab-bar">${o}</div>
1096
1095
  <div class="sheets-counter">Total : <span id="row-count">0</span></div>
@@ -1107,69 +1106,69 @@ const Ne = class Ne {
1107
1106
  });
1108
1107
  });
1109
1108
  }, "#render"));
1110
- p(this, H, n), t(this, Zt).call(this);
1109
+ y(this, H, r), t(this, Zt).call(this);
1111
1110
  }
1112
1111
  };
1113
1112
  H = new WeakMap(), Zt = new WeakMap(), Tt = new WeakMap(), Gt = new WeakMap(), h(Ne, "LayoutManager");
1114
1113
  let fe = Ne;
1115
- var kt, ht;
1114
+ var kt, ct;
1116
1115
  const We = class We {
1117
- constructor(n) {
1116
+ constructor(r) {
1118
1117
  d(this, kt);
1119
- d(this, ht, -1);
1118
+ d(this, ct, -1);
1120
1119
  A(this, "count", /* @__PURE__ */ h(() => t(this, kt).rawRecords.length, "count"));
1121
- p(this, kt, n);
1120
+ y(this, kt, r);
1122
1121
  }
1123
1122
  get at() {
1124
- return t(this, ht);
1123
+ return t(this, ct);
1125
1124
  }
1126
- set at(n) {
1127
- p(this, ht, parseInt(n, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, ht)}"]`) && setTimeout(() => {
1125
+ set at(r) {
1126
+ y(this, ct, parseInt(r, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, ct)}"]`) && setTimeout(() => {
1128
1127
  });
1129
1128
  }
1130
1129
  };
1131
- kt = new WeakMap(), ht = new WeakMap(), h(We, "ngRow");
1130
+ kt = new WeakMap(), ct = new WeakMap(), h(We, "ngRow");
1132
1131
  let ue = We;
1133
- var _, k, N, dt, Jt, Y, Qt, nt, Ct, te, ee, ft;
1132
+ var _, k, N, ht, Jt, Y, Qt, st, Ct, te, ee, dt;
1134
1133
  const O = class O {
1135
- constructor(n, e) {
1134
+ constructor(r, e) {
1136
1135
  d(this, _);
1137
1136
  d(this, k);
1138
1137
  d(this, N, []);
1139
- d(this, dt, []);
1138
+ d(this, ht, []);
1140
1139
  d(this, Jt, 0);
1141
1140
  d(this, Y, []);
1142
1141
  d(this, Qt, /* @__PURE__ */ h(() => {
1143
- p(this, Y, []);
1144
- const n = t(this, _).template || [];
1145
- Array.from(n).forEach((e) => {
1142
+ y(this, Y, []);
1143
+ const r = t(this, _).template || [];
1144
+ Array.from(r).forEach((e) => {
1146
1145
  var s;
1147
1146
  t(this, Y).push(((s = e.getBoundingClientRect) == null ? void 0 : s.call(e).height) || 24);
1148
1147
  }), (t(this, k).rawRecords || []).forEach((e) => {
1149
1148
  e.__ng || (e.__ng = t(this, Ct).call(this)), e.__ng.height = t(this, Y).slice();
1150
1149
  });
1151
1150
  }, "#initialize"));
1152
- d(this, nt, /* @__PURE__ */ h(() => {
1153
- const n = t(this, _).shadowRoot.querySelector("nine-table-sheets");
1154
- n == null || n.classList.toggle("nodata", this.length === 0), t(this, _).shadowRoot.querySelectorAll("nine-table-sheet").forEach((e) => {
1151
+ d(this, st, /* @__PURE__ */ h(() => {
1152
+ const r = t(this, _).shadowRoot.querySelector("nine-table-sheets");
1153
+ r == null || r.classList.toggle("nodata", this.length === 0), t(this, _).shadowRoot.querySelectorAll("nine-table-sheet").forEach((e) => {
1155
1154
  e.invalidate();
1156
1155
  });
1157
1156
  }, "#invalidate"));
1158
- A(this, "get", /* @__PURE__ */ h((n, e) => {
1159
- var r;
1157
+ A(this, "get", /* @__PURE__ */ h((r, e) => {
1158
+ var n;
1160
1159
  const s = this.getValidData();
1161
1160
  if (!s || s.length <= 0) return;
1162
- if (n == null) return t(this, ft).call(this, s);
1163
- if (n < 0 || n >= s.length) return null;
1164
- const i = typeof ((r = t(this, _).fields) == null ? void 0 : r.get) == "function" ? t(this, _).fields.get() : [];
1161
+ if (r == null) return t(this, dt).call(this, s);
1162
+ if (r < 0 || r >= s.length) return null;
1163
+ const i = typeof ((n = t(this, _).fields) == null ? void 0 : n.get) == "function" ? t(this, _).fields.get() : [];
1165
1164
  if (e != null) {
1166
1165
  const o = i.indexOf(e);
1167
- return o >= 0 ? s[n].v[o] : null;
1166
+ return o >= 0 ? s[r].v[o] : null;
1168
1167
  }
1169
- return t(this, ft).call(this, s[n]);
1168
+ return t(this, dt).call(this, s[r]);
1170
1169
  }, "get"));
1171
- A(this, "set", /* @__PURE__ */ h((n) => {
1172
- this.clear(), this.add(n, !1), t(this, nt).call(this);
1170
+ A(this, "set", /* @__PURE__ */ h((r) => {
1171
+ this.clear(), this.add(r, !1), t(this, st).call(this);
1173
1172
  }, "set"));
1174
1173
  d(this, Ct, /* @__PURE__ */ h(() => ({
1175
1174
  rowState: O.ROW_STATE.EMPTY,
@@ -1181,84 +1180,84 @@ const O = class O {
1181
1180
  _: [0, 0, 0, 0, O.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, Y).slice(), -1, {}, {}]
1182
1181
  }), "#getDefaultMeta"));
1183
1182
  A(this, "reset", /* @__PURE__ */ h(() => {
1184
- p(this, N, []), p(this, dt, []), t(this, nt).call(this);
1183
+ y(this, N, []), y(this, ht, []), t(this, st).call(this);
1185
1184
  }, "reset"));
1186
1185
  A(this, "clear", /* @__PURE__ */ h(() => {
1187
- var n;
1188
- t(this, k).rawRecords = [], p(this, N, []), p(this, dt, []), (n = t(this, k).viewRecords) != null && n.reset && t(this, k).viewRecords.reset();
1186
+ var r;
1187
+ t(this, k).rawRecords = [], y(this, N, []), y(this, ht, []), (r = t(this, k).viewRecords) != null && r.reset && t(this, k).viewRecords.reset();
1189
1188
  }, "clear"));
1190
- d(this, te, /* @__PURE__ */ h((n) => {
1189
+ d(this, te, /* @__PURE__ */ h((r) => {
1191
1190
  var i;
1192
- Array.isArray(n) || (n = [n]);
1193
- const e = typeof ((i = t(this, _).fields) == null ? void 0 : i.get) == "function" ? t(this, _).fields.get() : Object.keys(n[0] || {}), s = [];
1194
- return n.forEach((r) => {
1191
+ Array.isArray(r) || (r = [r]);
1192
+ const e = typeof ((i = t(this, _).fields) == null ? void 0 : i.get) == "function" ? t(this, _).fields.get() : Object.keys(r[0] || {}), s = [];
1193
+ return r.forEach((n) => {
1195
1194
  const o = { v: [] };
1196
1195
  e.forEach((a) => {
1197
- o.v.push(r[a] !== void 0 && r[a] !== null ? r[a] : "");
1196
+ o.v.push(n[a] !== void 0 && n[a] !== null ? n[a] : "");
1198
1197
  }), s.push(o);
1199
1198
  }), s;
1200
1199
  }, "#json2Array"));
1201
- d(this, ee, /* @__PURE__ */ h((n) => (Array.isArray(n) || (n = [n]), n.forEach((e) => {
1200
+ d(this, ee, /* @__PURE__ */ h((r) => (Array.isArray(r) || (r = [r]), r.forEach((e) => {
1202
1201
  e.__ng = t(this, Ct).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = O.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
1203
- }), n), "#defaultInsert"));
1204
- A(this, "add", /* @__PURE__ */ h((n, e = !0) => {
1205
- n === void 0 && (n = {});
1206
- const s = t(this, te).call(this, n);
1202
+ }), r), "#defaultInsert"));
1203
+ A(this, "add", /* @__PURE__ */ h((r, e = !0) => {
1204
+ r === void 0 && (r = {});
1205
+ const s = t(this, te).call(this, r);
1207
1206
  t(this, k).rawRecords = t(this, k).rawRecords.concat(t(this, ee).call(this, s)), this.resetRecords();
1208
1207
  const i = this.count() - 1;
1209
- return e || s.forEach((r, o) => {
1208
+ return e || s.forEach((n, o) => {
1210
1209
  const a = t(this, k).rawRecords[i - o];
1211
1210
  a && (a.__ng.rowState = O.ROW_STATE.EMPTY);
1212
- }), t(this, nt).call(this), i;
1211
+ }), t(this, st).call(this), i;
1213
1212
  }, "add"));
1214
- A(this, "delete", /* @__PURE__ */ h((n) => {
1213
+ A(this, "delete", /* @__PURE__ */ h((r) => {
1215
1214
  let e = [];
1216
- Array.isArray(n) ? e = n : typeof n > "u" ? e = [t(this, k).host.row.at] : e = [parseInt(n, 10)], e.sort((s, i) => i - s).forEach((s) => {
1215
+ 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) => {
1217
1216
  if (t(this, N)[s]) {
1218
1217
  const i = t(this, N)[s].__ng.rowid;
1219
- t(this, N)[s].__ng.rowState === O.ROW_STATE.INSERT ? t(this, k).rawRecords = t(this, k).rawRecords.filter((r) => r.__ng.rowid !== i) : t(this, k).rawRecords.forEach((r) => {
1220
- r.__ng.rowid === i && (r.__ng.deleted = !0, r.__ng.rowState = O.ROW_STATE.DELETE);
1218
+ 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) => {
1219
+ n.__ng.rowid === i && (n.__ng.deleted = !0, n.__ng.rowState = O.ROW_STATE.DELETE);
1221
1220
  });
1222
1221
  }
1223
- }), this.resetRecords(), t(this, nt).call(this);
1222
+ }), this.resetRecords(), t(this, st).call(this);
1224
1223
  }, "delete"));
1225
- A(this, "setValue", /* @__PURE__ */ h((n, e, s) => {
1224
+ A(this, "setValue", /* @__PURE__ */ h((r, e, s) => {
1226
1225
  var c;
1227
- n = parseInt(n, 10);
1228
- const r = (typeof ((c = t(this, _).fields) == null ? void 0 : c.get) == "function" ? t(this, _).fields.get() : []).indexOf(e);
1229
- if (r < 0) return;
1230
- const o = this.getValidData()[n];
1226
+ r = parseInt(r, 10);
1227
+ const n = (typeof ((c = t(this, _).fields) == null ? void 0 : c.get) == "function" ? t(this, _).fields.get() : []).indexOf(e);
1228
+ if (n < 0) return;
1229
+ const o = this.getValidData()[r];
1231
1230
  if (!o) return;
1232
- const a = o.v[r];
1233
- a !== s && o.__ng.rowState !== O.ROW_STATE.INSERT && (o.__ng.o.hasOwnProperty(e) || (o.__ng.o[e] = a), o.__ng.rowState = O.ROW_STATE.UPDATE), o.v[r] = s;
1231
+ const a = o.v[n];
1232
+ a !== s && o.__ng.rowState !== O.ROW_STATE.INSERT && (o.__ng.o.hasOwnProperty(e) || (o.__ng.o[e] = a), o.__ng.rowState = O.ROW_STATE.UPDATE), o.v[n] = s;
1234
1233
  }, "setValue"));
1235
1234
  A(this, "resetRecords", /* @__PURE__ */ h(() => {
1236
- p(this, dt, t(this, k).rawRecords.filter((n) => !n.__ng.deleted)), p(this, N, t(this, k).rawRecords.filter((n) => !n.__ng.deleted && !n.__ng.filtered)), t(this, k).rawRecords.forEach((n, e) => {
1237
- n.__ng.rowidx = e;
1238
- }), t(this, N).forEach((n, e) => {
1239
- n.__ng.i = e;
1235
+ y(this, ht, 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) => {
1236
+ r.__ng.rowidx = e;
1237
+ }), t(this, N).forEach((r, e) => {
1238
+ r.__ng.i = e;
1240
1239
  });
1241
1240
  }, "resetRecords"));
1242
1241
  A(this, "getValidData", /* @__PURE__ */ h(() => (t(this, N).length === 0 && t(this, k).rawRecords.length > 0 && this.resetRecords(), t(this, N)), "getValidData"));
1243
- d(this, ft, /* @__PURE__ */ h((n) => {
1242
+ d(this, dt, /* @__PURE__ */ h((r) => {
1244
1243
  var o;
1245
- if (!n) return n;
1246
- const e = !Array.isArray(n), s = e ? [n] : n, i = typeof ((o = t(this, _).fields) == null ? void 0 : o.get) == "function" ? t(this, _).fields.get() : [], r = s.filter((a) => !a.__ng.deleted).map((a) => {
1244
+ if (!r) return r;
1245
+ const e = !Array.isArray(r), s = e ? [r] : r, i = typeof ((o = t(this, _).fields) == null ? void 0 : o.get) == "function" ? t(this, _).fields.get() : [], n = s.filter((a) => !a.__ng.deleted).map((a) => {
1247
1246
  const c = {};
1248
1247
  return i.forEach((l, f) => {
1249
1248
  c[l] = a.v ? a.v[f] : a[l];
1250
1249
  }), c.__ng = a.__ng, c;
1251
1250
  });
1252
- return e ? r[0] : r;
1251
+ return e ? n[0] : n;
1253
1252
  }, "#conv"));
1254
1253
  A(this, "count", /* @__PURE__ */ h(() => this.getValidData().length, "count"));
1255
- p(this, _, n), p(this, k, e), t(this, Qt).call(this);
1254
+ y(this, _, r), y(this, k, e), t(this, Qt).call(this);
1256
1255
  }
1257
1256
  get source() {
1258
- return t(this, ft).call(this, t(this, k).rawRecords);
1257
+ return t(this, dt).call(this, t(this, k).rawRecords);
1259
1258
  }
1260
- set source(n) {
1261
- this.clear(), this.add(n, !1);
1259
+ set source(r) {
1260
+ this.clear(), this.add(r, !1);
1262
1261
  }
1263
1262
  get nextId() {
1264
1263
  return ++Ue(this, Jt)._;
@@ -1273,7 +1272,7 @@ const O = class O {
1273
1272
  return this.length;
1274
1273
  }
1275
1274
  };
1276
- _ = new WeakMap(), k = new WeakMap(), N = new WeakMap(), dt = new WeakMap(), Jt = new WeakMap(), Y = new WeakMap(), Qt = new WeakMap(), nt = new WeakMap(), Ct = new WeakMap(), te = new WeakMap(), ee = new WeakMap(), ft = new WeakMap(), h(O, "ngData"), // 🎯 행 상태 정의 상수를 클래스 내부로 내재화
1275
+ _ = new WeakMap(), k = new WeakMap(), N = new WeakMap(), ht = new WeakMap(), Jt = new WeakMap(), Y = new WeakMap(), Qt = new WeakMap(), st = new WeakMap(), Ct = new WeakMap(), te = new WeakMap(), ee = new WeakMap(), dt = new WeakMap(), h(O, "ngData"), // 🎯 행 상태 정의 상수를 클래스 내부로 내재화
1277
1276
  A(O, "ROW_STATE", {
1278
1277
  EMPTY: "EMPTY",
1279
1278
  NORMAL: "NORMAL",
@@ -1282,20 +1281,20 @@ A(O, "ROW_STATE", {
1282
1281
  DELETE: "DELETE"
1283
1282
  });
1284
1283
  let ge = O;
1285
- var it;
1284
+ var rt;
1286
1285
  const Oe = class Oe {
1287
- constructor(n) {
1288
- d(this, it);
1289
- p(this, it, n), this.row = new ue(this), this.data = new ge(t(this, it), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
1286
+ constructor(r) {
1287
+ d(this, rt);
1288
+ y(this, rt, r), this.row = new ue(this), this.data = new ge(t(this, rt), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
1290
1289
  var e;
1291
- (e = t(this, it).view) != null && e.redraw && t(this, it).view.redraw();
1290
+ (e = t(this, rt).view) != null && e.redraw && t(this, rt).view.redraw();
1292
1291
  }, this.setDataSource = (e) => {
1293
1292
  this.data && this.data.reset(), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.data.set(e || []);
1294
1293
  }, this.getRowState = (e) => {
1295
- var i, r;
1294
+ var i, n;
1296
1295
  const s = parseInt(e, 10);
1297
1296
  if (!(s >= this.data.count()))
1298
- return (r = (i = this.data.getValidData()[s]) == null ? void 0 : i.__ng) == null ? void 0 : r.rowState;
1297
+ return (n = (i = this.data.getValidData()[s]) == null ? void 0 : i.__ng) == null ? void 0 : n.rowState;
1299
1298
  }, this.getRowPosition = () => this.row.at, this.setRowPosition = (e) => {
1300
1299
  this.row.at = e;
1301
1300
  }, 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) => {
@@ -1303,36 +1302,36 @@ const Oe = class Oe {
1303
1302
  }, this.setDataSource([]);
1304
1303
  }
1305
1304
  };
1306
- it = new WeakMap(), h(Oe, "ngDataManager");
1305
+ rt = new WeakMap(), h(Oe, "ngDataManager");
1307
1306
  let be = Oe;
1308
- var ut, L, Lt, se;
1307
+ var ft, L, Lt, se;
1309
1308
  const Be = class Be {
1310
1309
  // 🎯 이제 { name: string, type: string } 객체들의 배열로 관리합니다.
1311
- constructor(n) {
1312
- d(this, ut);
1310
+ constructor(r) {
1311
+ d(this, ft);
1313
1312
  d(this, L, []);
1314
- A(this, "add", /* @__PURE__ */ h((n, e = "string") => {
1315
- n.forEach((s) => {
1313
+ A(this, "add", /* @__PURE__ */ h((r, e = "string") => {
1314
+ r.forEach((s) => {
1316
1315
  t(this, L).some((i) => i.name === s) || t(this, L).push({ name: s, type: e });
1317
1316
  }), t(this, Lt).call(this);
1318
1317
  }, "add"));
1319
1318
  d(this, Lt, /* @__PURE__ */ h(() => {
1320
- const n = /* @__PURE__ */ new Map();
1319
+ const r = /* @__PURE__ */ new Map();
1321
1320
  t(this, L).forEach((e) => {
1322
- n.set(e.name, e.type);
1323
- }), p(this, L, Array.from(n, ([e, s]) => ({ name: e, type: s }))), p(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);
1321
+ r.set(e.name, e.type);
1322
+ }), 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);
1324
1323
  }, "#adjust"));
1325
1324
  d(this, se, /* @__PURE__ */ h(() => {
1326
- p(this, L, []), W.log(t(this, ut).querySelectorAll("table"));
1327
- const n = Array.from(t(this, ut).querySelectorAll("table"));
1328
- if (!(!n || n.length === 0)) {
1329
- for (const e of n)
1325
+ y(this, L, []), W.log(t(this, ft).querySelectorAll("table"));
1326
+ const r = Array.from(t(this, ft).querySelectorAll("table"));
1327
+ if (!(!r || r.length === 0)) {
1328
+ for (const e of r)
1330
1329
  W.log(e), $("[data-bind]", e).each((s, i) => {
1331
- const r = i.dataset.bind, o = i.getAttribute("data-type") || "string";
1332
- r && t(this, L).push({ name: r, type: o });
1330
+ const n = i.dataset.bind, o = i.getAttribute("data-type") || "string";
1331
+ n && t(this, L).push({ name: n, type: o });
1333
1332
  }), ["data-expr", "background-color", "color", "tooltip", "visible", "readonly", "enable-button", "enable-check", "class-expr", "icon-color", "icon-src"].forEach((s) => {
1334
- $(`[${s}]`, e).each((i, r) => {
1335
- var o = r.getAttribute(s);
1333
+ $(`[${s}]`, e).each((i, n) => {
1334
+ var o = n.getAttribute(s);
1336
1335
  if (o.indexOf("data.") < 0) {
1337
1336
  const a = o.search(/[(]/g);
1338
1337
  if (a > 0)
@@ -1354,41 +1353,41 @@ const Be = class Be {
1354
1353
  t(this, Lt).call(this);
1355
1354
  }
1356
1355
  }, "#init"));
1357
- p(this, ut, n), t(this, se).call(this);
1356
+ y(this, ft, r), t(this, se).call(this);
1358
1357
  }
1359
1358
  // 🎯 기존에 필드 이름만 쓰던 곳들과의 호환을 위해 이름 배열만 리턴하는 메서드 유지
1360
1359
  get() {
1361
- return t(this, L).map((n) => n.name);
1360
+ return t(this, L).map((r) => r.name);
1362
1361
  }
1363
1362
  // 🎯 내부 객체 통째로 얻기
1364
1363
  getFields() {
1365
1364
  return t(this, L);
1366
1365
  }
1367
1366
  // 🎯 특정 필드의 데이터 타입 조회
1368
- getType(n) {
1369
- const e = t(this, L).find((s) => s.name === n);
1367
+ getType(r) {
1368
+ const e = t(this, L).find((s) => s.name === r);
1370
1369
  return e ? e.type : "string";
1371
1370
  }
1372
- indexOf(n) {
1373
- return t(this, L).findIndex((e) => e.name === n);
1371
+ indexOf(r) {
1372
+ return t(this, L).findIndex((e) => e.name === r);
1374
1373
  }
1375
- includes(n) {
1376
- return t(this, L).some((e) => e.name === n);
1374
+ includes(r) {
1375
+ return t(this, L).some((e) => e.name === r);
1377
1376
  }
1378
1377
  };
1379
- ut = new WeakMap(), L = new WeakMap(), Lt = new WeakMap(), se = new WeakMap(), h(Be, "ngFields");
1380
- let pe = Be;
1381
- var rt, ne, ie;
1378
+ ft = new WeakMap(), L = new WeakMap(), Lt = new WeakMap(), se = new WeakMap(), h(Be, "ngFields");
1379
+ let ye = Be;
1380
+ var it, re, ie;
1382
1381
  const ze = class ze extends HTMLElement {
1383
1382
  constructor() {
1384
1383
  super();
1385
1384
  //#created = false;
1386
- d(this, rt);
1387
- d(this, ne);
1385
+ d(this, it);
1386
+ d(this, re);
1388
1387
  d(this, ie, /* @__PURE__ */ h(() => {
1389
- this.fields = new pe(this), p(this, ne, new fe(this)), W.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
1388
+ this.fields = new ye(this), y(this, re, new fe(this)), W.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
1390
1389
  }, "#init"));
1391
- this.attachShadow({ mode: "open" }), p(this, rt, new be(this));
1390
+ this.attachShadow({ mode: "open" }), y(this, it, new be(this));
1392
1391
  }
1393
1392
  connectedCallback() {
1394
1393
  t(this, ie).call(this);
@@ -1398,21 +1397,21 @@ const ze = class ze extends HTMLElement {
1398
1397
  }
1399
1398
  // 🎯 외부에서 grid.data.set(...) 형태로 접근할 수 있도록 데이터 매니저 오픈
1400
1399
  get data() {
1401
- return t(this, rt).data;
1400
+ return t(this, it).data;
1402
1401
  }
1403
1402
  // 🎯 행(row) 관련 제어 접근자 오픈
1404
1403
  get row() {
1405
- return t(this, rt).row;
1404
+ return t(this, it).row;
1406
1405
  }
1407
1406
  // 🎯 전체 데이터 매니저 접근 필요할 경우
1408
1407
  get dataManager() {
1409
- return t(this, rt);
1408
+ return t(this, it);
1410
1409
  }
1411
1410
  };
1412
- rt = new WeakMap(), ne = new WeakMap(), ie = new WeakMap(), h(ze, "NineTable");
1413
- let ye = ze;
1414
- customElements.get("nine-table") || customElements.define("nine-table", ye);
1415
- const mt = class mt extends HTMLElement {
1411
+ it = new WeakMap(), re = new WeakMap(), ie = new WeakMap(), h(ze, "NineTable");
1412
+ let pe = ze;
1413
+ customElements.get("nine-table") || customElements.define("nine-table", pe);
1414
+ const pt = class pt extends HTMLElement {
1416
1415
  // 👈 커스텀 스타일용 캐시 추가
1417
1416
  constructor() {
1418
1417
  super();
@@ -1423,74 +1422,74 @@ const mt = class mt extends HTMLElement {
1423
1422
  connectedCallback() {
1424
1423
  }
1425
1424
  };
1426
- h(mt, "BasicCellElement"), A(mt, "_styleCache", /* @__PURE__ */ new Map()), A(mt, "_customStyleCache", /* @__PURE__ */ new Map());
1427
- let me = mt;
1428
- var C, Ht, y, Re, qe, Te, ke, Ce;
1429
- const De = class De extends me {
1425
+ h(pt, "BasicCellElement"), A(pt, "_styleCache", /* @__PURE__ */ new Map()), A(pt, "_customStyleCache", /* @__PURE__ */ new Map());
1426
+ let me = pt;
1427
+ var C, Ht, p, Re, qe, Te, ke, Ce;
1428
+ const Pe = class Pe extends me {
1430
1429
  constructor() {
1431
1430
  super();
1432
1431
  d(this, C);
1433
1432
  d(this, Ht);
1434
- d(this, y);
1433
+ d(this, p);
1435
1434
  d(this, Re);
1436
1435
  d(this, qe);
1437
1436
  d(this, Te);
1438
1437
  d(this, ke);
1439
1438
  A(this, "getDisplayText", /* @__PURE__ */ h((e) => {
1440
- if (t(this, y))
1441
- if (t(this, y).closest("tbody")) {
1442
- const s = t(this, y).closest("tr").data, i = parseInt(t(this, y).dataset.row);
1439
+ if (t(this, p))
1440
+ if (t(this, p).closest("tbody")) {
1441
+ const s = t(this, p).closest("tr").data, i = parseInt(t(this, p).dataset.row);
1443
1442
  if (!s) return "";
1444
- if (ninegrid.isNull(t(this, y).dataset.expr)) {
1445
- if (!ninegrid.isNull(t(this, y).dataset.bind))
1446
- return s[t(this, y).dataset.bind] || ninegrid.nvl(e, "");
1443
+ if (ninegrid.isNull(t(this, p).dataset.expr)) {
1444
+ if (!ninegrid.isNull(t(this, p).dataset.bind))
1445
+ return s[t(this, p).dataset.bind] || ninegrid.nvl(e, "");
1447
1446
  } else try {
1448
- return this.getExprValue(t(this, y).dataset.expr, s, i, t(this, y));
1447
+ return this.getExprValue(t(this, p).dataset.expr, s, i, t(this, p));
1449
1448
  } catch {
1450
- console.error(t(this, y).dataset.expr, s, t(this, y).dataset.row);
1449
+ console.error(t(this, p).dataset.expr, s, t(this, p).dataset.row);
1451
1450
  }
1452
1451
  return ninegrid.nvl(e, "");
1453
1452
  } else
1454
1453
  try {
1455
- return t(this, C).exprFunction(t(this, y).dataset.expr).call(this, null, -1, t(this, C).data);
1454
+ return t(this, C).exprFunction(t(this, p).dataset.expr).call(this, null, -1, t(this, C).data);
1456
1455
  } catch {
1457
1456
  }
1458
1457
  }, "getDisplayText"));
1459
1458
  d(this, Ce, /* @__PURE__ */ h(() => {
1460
- if (!(!t(this, C) || !t(this, C).template || !t(this, y).closest("tbody.bindable"))) {
1461
- var e = ninegrid.j.querySelectorAll(t(this, y)).attr("suppress");
1459
+ if (!(!t(this, C) || !t(this, C).template || !t(this, p).closest("tbody.bindable"))) {
1460
+ var e = ninegrid.j.querySelectorAll(t(this, p)).attr("suppress");
1462
1461
  if (e && (e = parseInt(e)), e && !isNaN(e)) {
1463
- var s = t(this, y).closest("tr"), i = [];
1462
+ var s = t(this, p).closest("tr"), i = [];
1464
1463
  $("th,td", s).each((x, M) => {
1465
1464
  var T = ninegrid.j.querySelectorAll(M).attr("suppress");
1466
1465
  T && M.dataset.row && (T = parseInt(T), !isNaN(T) && T <= e && i.push(T));
1467
1466
  }), i.sort();
1468
- var r = !1;
1467
+ var n = !1;
1469
1468
  if (parseInt(s.sectionRowIndex / t(this, C).template.length) > 0)
1470
1469
  for (var o of i) {
1471
1470
  if (o > e) break;
1472
- var a = parseInt(t(this, y).dataset.row), c = a - 1, l = t(this, y).closest("tr").data, f = t(this, C).data.get(c);
1473
- t(this, y).dataset.matrixRow;
1474
- var u = t(this, C).body.querySelector(`tbody.bindable [suppress="${o}"][data-matrix-row="${t(this, y).dataset.matrixRow}"]`), g = u.dataset.expr ? this.getExprValue(u.dataset.expr, l, a) : l[u.dataset.bind], b = u.dataset.expr ? this.getExprValue(u.dataset.expr, f, c) : f[u.dataset.bind];
1471
+ 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);
1472
+ t(this, p).dataset.matrixRow;
1473
+ var u = t(this, C).body.querySelector(`tbody.bindable [suppress="${o}"][data-matrix-row="${t(this, p).dataset.matrixRow}"]`), g = u.dataset.expr ? this.getExprValue(u.dataset.expr, l, a) : l[u.dataset.bind], b = u.dataset.expr ? this.getExprValue(u.dataset.expr, f, c) : f[u.dataset.bind];
1475
1474
  if (g != b) {
1476
- r = !0;
1475
+ n = !0;
1477
1476
  break;
1478
1477
  }
1479
1478
  }
1480
1479
  else
1481
- r = !0;
1482
- r ? ninegrid.j.querySelectorAll(t(this, y)).removeClass("suppress") : ninegrid.j.querySelectorAll(t(this, y)).addClass("suppress"), ninegrid.j.querySelectorAll(t(this, y)).hasClass("hidden") || (r ? ninegrid.j.querySelectorAll(t(this, y)).removeClass("hidden") : ninegrid.j.querySelectorAll(t(this, y)).addClass("hidden"));
1483
- var m = parseInt(t(this, y).dataset.matrixRow), v = m - 1, E = t(this, C).body.querySelector(`tbody.bindable [data-col="${t(this, y).dataset.col}"][data-matrix-row="${v}"]`);
1484
- $(E).hasClass("suppress") && !ninegrid.j.querySelectorAll(t(this, y)).hasClass("suppress") ? ninegrid.j.querySelectorAll(E).removeClass("last-none-suppress").addClass("last-suppress") : !$(E).hasClass("suppress") && ninegrid.j.querySelectorAll(t(this, y)).hasClass("suppress") ? ninegrid.j.querySelectorAll(E).removeClass("last-suppress").addClass("last-none-suppress") : ninegrid.j.querySelectorAll(E).removeClass("last-none-suppress").removeClass("last-suppress");
1480
+ n = !0;
1481
+ n ? ninegrid.j.querySelectorAll(t(this, p)).removeClass("suppress") : ninegrid.j.querySelectorAll(t(this, p)).addClass("suppress"), ninegrid.j.querySelectorAll(t(this, p)).hasClass("hidden") || (n ? ninegrid.j.querySelectorAll(t(this, p)).removeClass("hidden") : ninegrid.j.querySelectorAll(t(this, p)).addClass("hidden"));
1482
+ var m = parseInt(t(this, p).dataset.matrixRow), v = m - 1, E = t(this, C).body.querySelector(`tbody.bindable [data-col="${t(this, p).dataset.col}"][data-matrix-row="${v}"]`);
1483
+ $(E).hasClass("suppress") && !ninegrid.j.querySelectorAll(t(this, p)).hasClass("suppress") ? ninegrid.j.querySelectorAll(E).removeClass("last-none-suppress").addClass("last-suppress") : !$(E).hasClass("suppress") && ninegrid.j.querySelectorAll(t(this, p)).hasClass("suppress") ? ninegrid.j.querySelectorAll(E).removeClass("last-suppress").addClass("last-none-suppress") : ninegrid.j.querySelectorAll(E).removeClass("last-none-suppress").removeClass("last-suppress");
1485
1484
  }
1486
1485
  }
1487
1486
  }, "#resetSuppress"));
1488
- A(this, "getExprValue", /* @__PURE__ */ h((e, s, i, r) => {
1487
+ A(this, "getExprValue", /* @__PURE__ */ h((e, s, i, n) => {
1489
1488
  if (typeof e < "u")
1490
1489
  try {
1491
1490
  i = parseInt(i);
1492
1491
  const o = e.replace("()", "");
1493
- return t(this, C)[o] ? t(this, C)[o].call(this, s, i, t(this, y)) : t(this, C).exprFunction(e).call(this, s, i, t(this, C).data);
1492
+ return t(this, C)[o] ? t(this, C)[o].call(this, s, i, t(this, p)) : t(this, C).exprFunction(e).call(this, s, i, t(this, C).data);
1494
1493
  } catch {
1495
1494
  return ["NG-COMBO"].includes(this.tagName) ? "" : e;
1496
1495
  }
@@ -1499,31 +1498,31 @@ const De = class De extends me {
1499
1498
  }, "getExprValue"));
1500
1499
  }
1501
1500
  connectedCallback() {
1502
- super.connectedCallback(), p(this, C, this.getRootNode().host), p(this, y, this.closest("th,td")), p(this, Ht, t(this, y).closest("tr"));
1501
+ super.connectedCallback(), y(this, C, this.getRootNode().host), y(this, p, this.closest("th,td")), y(this, Ht, t(this, p).closest("tr"));
1503
1502
  }
1504
1503
  get value() {
1505
- var e = !t(this, C) || !t(this, C).dataManager || !t(this, y) || !t(this, y).dataset || !t(this, y).dataset.row || !t(this, y).dataset.bind ? "" : t(this, y).closest("tr").data[t(this, y).dataset.bind];
1504
+ var e = !t(this, C) || !t(this, C).dataManager || !t(this, p) || !t(this, p).dataset || !t(this, p).dataset.row || !t(this, p).dataset.bind ? "" : t(this, p).closest("tr").data[t(this, p).dataset.bind];
1506
1505
  return e ?? "";
1507
1506
  }
1508
1507
  set value(e) {
1509
- var s = parseInt(t(this, y).dataset.row);
1508
+ var s = parseInt(t(this, p).dataset.row);
1510
1509
  const i = this.getAttribute("update-row-state") != "false";
1511
- s < 0 ? t(this, C).data.setValueNF(parseInt(t(this, y).dataset.index), t(this, y).dataset.bind, e, i) : t(this, C).data.setValue(s, t(this, y).dataset.bind, e, i);
1510
+ s < 0 ? t(this, C).data.setValueNF(parseInt(t(this, p).dataset.index), t(this, p).dataset.bind, e, i) : t(this, C).data.setValue(s, t(this, p).dataset.bind, e, i);
1512
1511
  }
1513
1512
  get row() {
1514
- return parseInt(t(this, y).dataset.row);
1513
+ return parseInt(t(this, p).dataset.row);
1515
1514
  }
1516
1515
  get data() {
1517
- return t(this, y).closest("tr").data;
1516
+ return t(this, p).closest("tr").data;
1518
1517
  }
1519
1518
  refresh() {
1520
- const e = t(this, y).dataset.bind;
1521
- return parseInt(t(this, y).dataset.row), t(this, Ht).data[e];
1519
+ const e = t(this, p).dataset.bind;
1520
+ return parseInt(t(this, p).dataset.row), t(this, Ht).data[e];
1522
1521
  }
1523
1522
  };
1524
- C = new WeakMap(), Ht = new WeakMap(), y = new WeakMap(), Re = new WeakMap(), qe = new WeakMap(), Te = new WeakMap(), ke = new WeakMap(), Ce = new WeakMap(), h(De, "CellElement");
1525
- let xe = De;
1526
- const Pe = class Pe extends xe {
1523
+ C = new WeakMap(), Ht = new WeakMap(), p = new WeakMap(), Re = new WeakMap(), qe = new WeakMap(), Te = new WeakMap(), ke = new WeakMap(), Ce = new WeakMap(), h(Pe, "CellElement");
1524
+ let xe = Pe;
1525
+ const De = class De extends xe {
1527
1526
  constructor() {
1528
1527
  super();
1529
1528
  }
@@ -1534,17 +1533,17 @@ const Pe = class Pe extends xe {
1534
1533
  return super.refresh();
1535
1534
  }
1536
1535
  };
1537
- h(Pe, "EditableCellElement");
1538
- let ve = Pe;
1539
- var Mt, ot, gt, bt, re, U, Le;
1536
+ h(De, "EditableCellElement");
1537
+ let ve = De;
1538
+ var Mt, nt, ut, gt, ne, U, Le;
1540
1539
  const je = class je extends ve {
1541
1540
  constructor() {
1542
1541
  super();
1543
1542
  d(this, Mt);
1544
- d(this, ot);
1543
+ d(this, nt);
1544
+ d(this, ut);
1545
1545
  d(this, gt);
1546
- d(this, bt);
1547
- d(this, re);
1546
+ d(this, ne);
1548
1547
  d(this, U);
1549
1548
  A(this, "refresh", /* @__PURE__ */ h(() => {
1550
1549
  const e = super.refresh();
@@ -1582,9 +1581,9 @@ const je = class je extends ve {
1582
1581
  */
1583
1582
  d(this, Le, /* @__PURE__ */ h((e) => {
1584
1583
  if (!["Escape", "Enter", "Tab", "Home", "End", "ArrowLeft", "ArrowRight", "PageUp", "PageDown", "Backspace", "Delete"].includes(e.code)) {
1585
- if (t(this, ot) == "number") {
1586
- let r = [];
1587
- if (t(this, U) && Number(t(this, U)) > 0 && r.push("."), t(this, bt) && Number(t(this, bt)) >= 0 && r.push("-"), !(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && !r.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) {
1584
+ if (t(this, nt) == "number") {
1585
+ let n = [];
1586
+ if (t(this, U) && Number(t(this, U)) > 0 && n.push("."), t(this, gt) && Number(t(this, gt)) >= 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) {
1588
1587
  var s = e.target.value, i = s.indexOf(".");
1589
1588
  if (i >= 0) {
1590
1589
  var s = s.substr(i + 1, s.length);
@@ -1592,10 +1591,10 @@ const je = class je extends ve {
1592
1591
  }
1593
1592
  }
1594
1593
  }
1595
- t(this, gt) && ninegrid.getByteLength(e.target.value) >= Number(t(this, gt)) && e.target.selectionStart == e.target.selectionEnd && e.preventDefault();
1594
+ t(this, ut) && ninegrid.getByteLength(e.target.value) >= Number(t(this, ut)) && e.target.selectionStart == e.target.selectionEnd && e.preventDefault();
1596
1595
  }
1597
1596
  }, "#onKeyDown"));
1598
- if (this.applyBaseStyle(), p(this, ot, this.getAttribute("type") || "text"), p(this, gt, this.getAttribute("maxbyte")), p(this, bt, this.getAttribute("min")), p(this, re, this.getAttribute("max")), p(this, U, this.getAttribute("scale")), !["text", "number"].includes(t(this, ot))) throw `invalid type : ${t(this, ot)}`;
1597
+ if (this.applyBaseStyle(), y(this, nt, this.getAttribute("type") || "text"), y(this, ut, this.getAttribute("maxbyte")), y(this, gt, this.getAttribute("min")), y(this, ne, this.getAttribute("max")), y(this, U, this.getAttribute("scale")), !["text", "number"].includes(t(this, nt))) throw `invalid type : ${t(this, nt)}`;
1599
1598
  }
1600
1599
  connectedCallback() {
1601
1600
  for (var e = [], s = 0; s < this.attributes.length; s++)
@@ -1605,10 +1604,10 @@ const je = class je extends ve {
1605
1604
  ${e.join(" ")}
1606
1605
  ondragstart="return false;"
1607
1606
  >
1608
- `, super.connectedCallback(), p(this, Mt, this.querySelector("input"));
1607
+ `, super.connectedCallback(), y(this, Mt, this.querySelector("input"));
1609
1608
  }
1610
1609
  };
1611
- Mt = new WeakMap(), ot = new WeakMap(), gt = new WeakMap(), bt = new WeakMap(), re = new WeakMap(), U = new WeakMap(), Le = new WeakMap(), h(je, "CellInputText");
1610
+ Mt = new WeakMap(), nt = new WeakMap(), ut = new WeakMap(), gt = new WeakMap(), ne = new WeakMap(), U = new WeakMap(), Le = new WeakMap(), h(je, "CellInputText");
1612
1611
  let we = je;
1613
1612
  customElements.get("cell-input-text");
1614
1613
  customElements.get("cell-input") || customElements.define("cell-input", we);