@ninebone/table 0.0.806 → 0.0.808

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,47 +1,47 @@
1
- var ps = Object.defineProperty;
2
- var ys = (C) => {
3
- throw TypeError(C);
1
+ var ms = Object.defineProperty;
2
+ var xs = (q) => {
3
+ throw TypeError(q);
4
4
  };
5
- var vs = (C, s, e) => s in C ? ps(C, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : C[s] = e;
6
- var h = (C, s) => ps(C, "name", { value: s, configurable: !0 });
7
- var E = (C, s, e) => vs(C, typeof s != "symbol" ? s + "" : s, e), Ee = (C, s, e) => s.has(C) || ys("Cannot " + e);
8
- var t = (C, s, e) => (Ee(C, s, "read from private field"), e ? e.call(C) : s.get(C)), d = (C, s, e) => s.has(C) ? ys("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(C) : s.set(C, e), y = (C, s, e, n) => (Ee(C, s, "write to private field"), n ? n.call(C, e) : s.set(C, e), e), V = (C, s, e) => (Ee(C, s, "access private method"), e);
9
- var ms = (C, s, e, n) => ({
5
+ var Rs = (q, s, e) => s in q ? ms(q, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : q[s] = e;
6
+ var h = (q, s) => ms(q, "name", { value: s, configurable: !0 });
7
+ var E = (q, s, e) => Rs(q, typeof s != "symbol" ? s + "" : s, e), Te = (q, s, e) => s.has(q) || xs("Cannot " + e);
8
+ var t = (q, s, e) => (Te(q, s, "read from private field"), e ? e.call(q) : s.get(q)), d = (q, s, e) => s.has(q) ? xs("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(q) : s.set(q, e), p = (q, s, e, n) => (Te(q, s, "write to private field"), n ? n.call(q, e) : s.set(q, e), e), V = (q, s, e) => (Te(q, s, "access private method"), e);
9
+ var ws = (q, s, e, n) => ({
10
10
  set _(r) {
11
- y(C, s, r, e);
11
+ p(q, s, r, e);
12
12
  },
13
13
  get _() {
14
- return t(C, s, n);
14
+ return t(q, s, n);
15
15
  }
16
16
  });
17
- import { trace as Ss } from "@ninebone/util";
18
- const Qe = class Qe extends Ss.constructor {
17
+ import { trace as As } from "@ninebone/util";
18
+ const es = class es extends As.constructor {
19
19
  constructor() {
20
20
  super(), this.init("nine-table", "green");
21
21
  }
22
22
  };
23
- h(Qe, "Trace");
24
- let qe = Qe;
25
- const q = new qe();
26
- var j, K, A, Q, tt, et, Zt, st, Jt;
27
- const ts = class ts extends HTMLElement {
23
+ h(es, "Trace");
24
+ let Ce = es;
25
+ const T = new Ce();
26
+ var j, G, A, tt, et, st, Jt, nt, Qt;
27
+ const ss = class ss extends HTMLElement {
28
28
  constructor() {
29
29
  super();
30
30
  d(this, j);
31
- d(this, K, !1);
31
+ d(this, G, !1);
32
32
  d(this, A);
33
- d(this, Q);
34
33
  d(this, tt);
35
34
  d(this, et);
36
- d(this, Zt, /* @__PURE__ */ h(() => {
35
+ d(this, st);
36
+ d(this, Jt, /* @__PURE__ */ h(() => {
37
37
  if (!t(this, j)) return;
38
38
  const e = t(this, j).querySelector(".ng-container-body .ng-part-body");
39
- e && (y(this, et, new ResizeObserver(() => {
39
+ e && (p(this, st, new ResizeObserver(() => {
40
40
  this.refresh();
41
- })), t(this, et).observe(e));
41
+ })), t(this, st).observe(e));
42
42
  }, "#observeResize"));
43
43
  E(this, "refresh", /* @__PURE__ */ h(() => {
44
- if (!t(this, j) || !t(this, A) || t(this, K)) return;
44
+ if (!t(this, j) || !t(this, A) || t(this, G)) return;
45
45
  const e = t(this, A).container, n = e.querySelector("table");
46
46
  if (!n) return;
47
47
  const r = t(this, A).track, i = t(this, A).thumb, o = t(this, j).querySelector(".ng-container-bottom"), a = e.clientWidth, c = n.scrollWidth;
@@ -53,15 +53,15 @@ const ts = class ts extends HTMLElement {
53
53
  }
54
54
  const l = r.clientWidth;
55
55
  if (l <= 0) return;
56
- const g = Math.max(Math.min(l * (a / c), l), 20);
57
- i.style.width = `${g}px`;
56
+ const u = Math.max(Math.min(l * (a / c), l), 20);
57
+ i.style.width = `${u}px`;
58
58
  const f = e.scrollLeft, b = c - a;
59
- let u = 0;
60
- b > 0 && (u = parseInt(f / b * (l - g), 10)), u < 0 && (u = 0);
61
- const p = l - g;
62
- u > p && (u = p), i.style.left = `${u}px`, t(this, A).left.disabled = u === 0, t(this, A).right.disabled = u >= p - 1;
59
+ let g = 0;
60
+ b > 0 && (g = parseInt(f / b * (l - u), 10)), g < 0 && (g = 0);
61
+ const y = l - u;
62
+ g > y && (g = y), i.style.left = `${g}px`, t(this, A).left.disabled = g === 0, t(this, A).right.disabled = g >= y - 1;
63
63
  }, "refresh"));
64
- d(this, st, /* @__PURE__ */ h((e) => {
64
+ d(this, nt, /* @__PURE__ */ h((e) => {
65
65
  if (!t(this, A)) return !1;
66
66
  const n = t(this, A).container, r = n.querySelector("table");
67
67
  if (!r) return !1;
@@ -69,22 +69,22 @@ const ts = class ts extends HTMLElement {
69
69
  let a = e;
70
70
  a < 0 && (a = 0);
71
71
  const c = i.width - o;
72
- a > c && (a = c), a = parseInt(a, 10), t(this, A).thumb.style.left = `${a}px`, q.log("1111=========="), t(this, A).left.disabled = a === 0, t(this, A).right.disabled = a >= c - 1;
72
+ a > c && (a = c), a = parseInt(a, 10), t(this, A).thumb.style.left = `${a}px`, T.log("1111=========="), t(this, A).left.disabled = a === 0, t(this, A).right.disabled = a >= c - 1;
73
73
  const l = n.clientWidth, f = r.scrollWidth - l;
74
74
  return c > 0 && f > 0 && (n.scrollLeft = a / c * f), a > 0 && a < c - 1;
75
75
  }, "#thumbMoveTo"));
76
- d(this, Jt, /* @__PURE__ */ h(() => {
76
+ d(this, Qt, /* @__PURE__ */ h(() => {
77
77
  const e = /* @__PURE__ */ h((r) => {
78
- clearInterval(t(this, Q)), clearInterval(t(this, tt));
78
+ clearInterval(t(this, tt)), clearInterval(t(this, et));
79
79
  const i = parseInt(t(this, A).thumb.style.left || 0, 10);
80
- t(this, st).call(this, i + r), y(this, Q, setInterval(() => {
81
- clearInterval(t(this, Q)), y(this, tt, setInterval(() => {
80
+ t(this, nt).call(this, i + r), p(this, tt, setInterval(() => {
81
+ clearInterval(t(this, tt)), p(this, et, setInterval(() => {
82
82
  const o = parseInt(t(this, A).thumb.style.left || 0, 10);
83
- t(this, st).call(this, o + r) || clearInterval(t(this, tt));
83
+ t(this, nt).call(this, o + r) || clearInterval(t(this, et));
84
84
  }, 50));
85
85
  }, 500));
86
86
  }, "delayScroll"), n = /* @__PURE__ */ h(() => {
87
- clearInterval(t(this, Q)), clearInterval(t(this, tt));
87
+ clearInterval(t(this, tt)), clearInterval(t(this, et));
88
88
  }, "clearTimer");
89
89
  ["mouseup", "mouseleave", "touchend"].forEach((r) => {
90
90
  t(this, A).left.addEventListener(r, n), t(this, A).right.addEventListener(r, n), t(this, A).track.addEventListener(r, n);
@@ -96,23 +96,23 @@ const ts = class ts extends HTMLElement {
96
96
  if (r.button !== 0) return;
97
97
  r.preventDefault();
98
98
  const i = t(this, A).track.getBoundingClientRect(), o = t(this, A).thumb.clientWidth;
99
- t(this, st).call(this, r.clientX - i.left - o / 2);
99
+ t(this, nt).call(this, r.clientX - i.left - o / 2);
100
100
  }), t(this, A).thumb.addEventListener("mousedown", (r) => {
101
101
  if (r.button !== 0) return;
102
- r.stopPropagation(), r.preventDefault(), y(this, K, !0), this.shiftX = r.clientX - t(this, A).thumb.getBoundingClientRect().left;
102
+ r.stopPropagation(), r.preventDefault(), p(this, G, !0), this.shiftX = r.clientX - t(this, A).thumb.getBoundingClientRect().left;
103
103
  const i = /* @__PURE__ */ h((a) => {
104
- if (!t(this, K)) return;
104
+ if (!t(this, G)) return;
105
105
  const c = t(this, A).track.getBoundingClientRect();
106
- t(this, st).call(this, a.clientX - c.left - this.shiftX);
106
+ t(this, nt).call(this, a.clientX - c.left - this.shiftX);
107
107
  }, "onMouseMove"), o = /* @__PURE__ */ h(() => {
108
- y(this, K, !1), n(), document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", o), this.refresh();
108
+ p(this, G, !1), n(), document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", o), this.refresh();
109
109
  }, "onMouseUp");
110
110
  document.addEventListener("mousemove", i), document.addEventListener("mouseup", o);
111
111
  });
112
112
  }, "#init"));
113
113
  }
114
114
  connectedCallback() {
115
- if (y(this, j, this.closest("nine-table-sheet") || this.getRootNode().host), !t(this, j)) return;
115
+ if (p(this, j, this.closest("nine-table-sheet") || this.getRootNode().host), !t(this, j)) return;
116
116
  this.innerHTML = `
117
117
  <style>
118
118
  nine-table-hscrollbar {
@@ -182,38 +182,38 @@ const ts = class ts extends HTMLElement {
182
182
  setTimeout(e, 10);
183
183
  return;
184
184
  }
185
- y(this, A, {
185
+ p(this, A, {
186
186
  container: n,
187
187
  track: this.querySelector(".ng-scroll-track"),
188
188
  thumb: this.querySelector(".ng-scroll-thumb"),
189
189
  left: this.querySelector(".ng-scroll-left"),
190
190
  right: this.querySelector(".ng-scroll-right")
191
191
  }), n.addEventListener("scroll", () => {
192
- t(this, K) || this.refresh();
193
- }), t(this, Jt).call(this), t(this, Zt).call(this), this.refresh();
192
+ t(this, G) || this.refresh();
193
+ }), t(this, Qt).call(this), t(this, Jt).call(this), this.refresh();
194
194
  }, "initWhenReady");
195
195
  e();
196
196
  }
197
197
  disconnectedCallback() {
198
- t(this, et) && t(this, et).disconnect();
198
+ t(this, st) && t(this, st).disconnect();
199
199
  }
200
200
  };
201
- j = new WeakMap(), K = new WeakMap(), A = new WeakMap(), Q = new WeakMap(), tt = new WeakMap(), et = new WeakMap(), Zt = new WeakMap(), st = new WeakMap(), Jt = new WeakMap(), h(ts, "NineTableHScrollBar");
202
- let Ce = ts;
203
- customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", Ce);
204
- var nt, rt, yt, k, kt, Lt, Qt;
205
- const es = class es extends HTMLElement {
201
+ j = new WeakMap(), G = new WeakMap(), A = new WeakMap(), tt = new WeakMap(), et = new WeakMap(), st = new WeakMap(), Jt = new WeakMap(), nt = new WeakMap(), Qt = new WeakMap(), h(ss, "NineTableHScrollBar");
202
+ let ke = ss;
203
+ customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", ke);
204
+ var rt, ot, mt, k, Lt, It, te;
205
+ const ns = class ns extends HTMLElement {
206
206
  constructor() {
207
207
  super();
208
- d(this, nt);
209
208
  d(this, rt);
210
- d(this, yt, !1);
209
+ d(this, ot);
210
+ d(this, mt, !1);
211
211
  d(this, k);
212
- d(this, kt, 0);
213
212
  d(this, Lt, 0);
213
+ d(this, It, 0);
214
214
  E(this, "refresh", /* @__PURE__ */ h(() => {
215
- if (q.log("vscrollbar.refresh"), !t(this, nt) || !t(this, k)) return;
216
- const e = t(this, k).container, n = t(this, k).track, r = t(this, k).thumb, i = e.clientHeight, o = t(this, nt).data.length, a = t(this, rt).getRowHeight(), c = o * a;
215
+ if (!t(this, rt) || !t(this, k)) return;
216
+ const e = t(this, k).container, n = t(this, k).track, r = t(this, k).thumb, i = e.clientHeight, o = t(this, rt).data.length, a = t(this, ot).getRowHeight(), c = o * a;
217
217
  if (c <= i || o === 0) {
218
218
  this.style.display = "none";
219
219
  return;
@@ -221,44 +221,43 @@ const es = class es extends HTMLElement {
221
221
  this.style.display = "flex";
222
222
  const l = n.clientHeight;
223
223
  if (l <= 0) return;
224
- const g = Math.max(Math.min(l * (i / c), l), 20);
225
- r.style.height = `${g}px`;
224
+ const u = Math.max(Math.min(l * (i / c), l), 20);
225
+ r.style.height = `${u}px`;
226
226
  const f = e.scrollTop, b = Math.max(c - i, 1);
227
- q.log(e, f, b);
228
- let u = 0;
229
- b > 0 && (u = f / b * (l - g));
230
- const p = l - g;
231
- u < 0 && (u = 0), u > p && (u = p), r.style.top = `${u}px`, t(this, k).top.disabled = f <= 0, t(this, k).bottom.disabled = f >= b - 1;
227
+ let g = 0;
228
+ b > 0 && (g = f / b * (l - u));
229
+ const y = l - u;
230
+ g < 0 && (g = 0), g > y && (g = y), r.style.top = `${g}px`, t(this, k).top.disabled = f <= 0, t(this, k).bottom.disabled = f >= b - 1;
232
231
  }, "refresh"));
233
- d(this, Qt, /* @__PURE__ */ h(() => {
234
- q.log("nine-table-vscrollbar.#init");
232
+ d(this, te, /* @__PURE__ */ h(() => {
233
+ T.log("nine-table-vscrollbar.#init");
235
234
  const e = t(this, k).container, n = /* @__PURE__ */ h(() => {
236
- const i = (t(this, nt).data.get() || []).length, o = t(this, rt).getRowHeight();
235
+ const i = (t(this, rt).data.get() || []).length, o = t(this, ot).getRowHeight();
237
236
  return i * o;
238
237
  }, "getContentHeight");
239
238
  t(this, k).thumb.addEventListener("mousedown", (r) => {
240
239
  if (r.button !== 0) return;
241
- r.stopPropagation(), r.preventDefault(), y(this, yt, !0), y(this, kt, r.clientY), y(this, Lt, e.scrollTop);
240
+ r.stopPropagation(), r.preventDefault(), p(this, mt, !0), p(this, Lt, r.clientY), p(this, It, e.scrollTop);
242
241
  const i = /* @__PURE__ */ h((a) => {
243
- if (!t(this, yt)) return;
244
- const c = t(this, k).track.getBoundingClientRect(), l = t(this, k).thumb.clientHeight, f = c.height - l, b = a.clientY - t(this, kt), u = e.clientHeight, p = n(), x = Math.max(p - u, 1);
242
+ if (!t(this, mt)) return;
243
+ const c = t(this, k).track.getBoundingClientRect(), l = t(this, k).thumb.clientHeight, f = c.height - l, b = a.clientY - t(this, Lt), g = e.clientHeight, y = n(), x = Math.max(y - g, 1);
245
244
  if (f > 0 && x > 0) {
246
245
  const w = b / f * x;
247
- let m = t(this, Lt) + w;
248
- const T = Math.max(0, p - u);
249
- m < 0 && (m = 0), m > T && (m = T), e.scrollTop = m;
246
+ let m = t(this, It) + w;
247
+ const C = Math.max(0, y - g);
248
+ m < 0 && (m = 0), m > C && (m = C), e.scrollTop = m;
250
249
  }
251
250
  this.refresh();
252
251
  }, "onMouseMove"), o = /* @__PURE__ */ h(() => {
253
- y(this, yt, !1), document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", o), this.refresh();
252
+ p(this, mt, !1), document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", o), this.refresh();
254
253
  }, "onMouseUp");
255
254
  document.addEventListener("mousemove", i), document.addEventListener("mouseup", o);
256
255
  }), t(this, k).track.addEventListener("mousedown", (r) => {
257
256
  if (r.button !== 0 || r.target === t(this, k).thumb) return;
258
- const i = t(this, k).track.getBoundingClientRect(), o = t(this, k).thumb.clientHeight, a = r.clientY - i.top - o / 2, l = i.height - o, g = e.clientHeight, f = n(), b = Math.max(f - g, 1);
257
+ const i = t(this, k).track.getBoundingClientRect(), o = t(this, k).thumb.clientHeight, a = r.clientY - i.top - o / 2, l = i.height - o, u = e.clientHeight, f = n(), b = Math.max(f - u, 1);
259
258
  if (l > 0 && b > 0) {
260
- const u = Math.max(0, Math.min(1, a / l));
261
- e.scrollTop = u * b;
259
+ const g = Math.max(0, Math.min(1, a / l));
260
+ e.scrollTop = g * b;
262
261
  }
263
262
  this.refresh();
264
263
  }), t(this, k).top.addEventListener("click", () => {
@@ -269,7 +268,7 @@ const es = class es extends HTMLElement {
269
268
  }, "#init"));
270
269
  }
271
270
  connectedCallback() {
272
- y(this, nt, this.getRootNode().host), y(this, rt, this.closest("nine-table-sheet")), this.innerHTML = `
271
+ p(this, rt, this.getRootNode().host), p(this, ot, this.closest("nine-table-sheet")), this.innerHTML = `
273
272
  <style>
274
273
  nine-table-vscrollbar {
275
274
  display: flex;
@@ -334,51 +333,53 @@ const es = class es extends HTMLElement {
334
333
  <button class='ng-scroll-bottom' disabled><div class='ng-scroll-icon'></div></button>
335
334
  `;
336
335
  const e = /* @__PURE__ */ h(() => {
337
- const n = t(this, rt).querySelector(".ng-container-body .ng-part-body");
336
+ const n = t(this, ot).querySelector(".ng-container-body .ng-part-body");
338
337
  if (!n) {
339
338
  setTimeout(e, 10);
340
339
  return;
341
340
  }
342
- y(this, k, {
341
+ p(this, k, {
343
342
  container: n,
344
343
  track: this.querySelector(".ng-scroll-track"),
345
344
  thumb: this.querySelector(".ng-scroll-thumb"),
346
345
  top: this.querySelector(".ng-scroll-top"),
347
346
  bottom: this.querySelector(".ng-scroll-bottom")
348
- }), t(this, Qt).call(this), this.refresh();
347
+ }), t(this, te).call(this), this.refresh();
349
348
  }, "initWhenReady");
350
349
  e();
351
350
  }
352
351
  };
353
- nt = new WeakMap(), rt = new WeakMap(), yt = new WeakMap(), k = new WeakMap(), kt = new WeakMap(), Lt = new WeakMap(), Qt = new WeakMap(), h(es, "NineTableVScrollBar");
354
- let Te = es;
355
- customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", Te);
356
- var ot, R, it, Y, O, G, at, It, Ve, Ye, te, ee, Mt, Ht, $t, se, ne, Nt, mt, re, oe;
357
- const ss = class ss {
352
+ rt = new WeakMap(), ot = new WeakMap(), mt = new WeakMap(), k = new WeakMap(), Lt = new WeakMap(), It = new WeakMap(), te = new WeakMap(), h(ns, "NineTableVScrollBar");
353
+ let Le = ns;
354
+ customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", Le);
355
+ var it, R, at, Y, O, Z, lt, Mt, Ue, Xe, ee, se, U, ne, Ht, $t, Nt, re, oe, _t, xt, ie, ae;
356
+ const rs = class rs {
358
357
  constructor(s) {
359
- d(this, ot);
360
- d(this, R);
361
358
  d(this, it);
359
+ d(this, R);
360
+ d(this, at);
362
361
  d(this, Y, /* @__PURE__ */ new Map());
363
362
  d(this, O, null);
364
- d(this, G, null);
365
- d(this, at, 0);
366
- d(this, It, 40);
367
- d(this, Ve, !1);
368
- d(this, Ye, !1);
363
+ d(this, Z, null);
364
+ d(this, lt, 0);
365
+ d(this, Mt, 40);
366
+ d(this, Ue, !1);
367
+ d(this, Xe, !1);
369
368
  //#ticking = false; // 🎯 고속 스크롤 스로틀링용 플래그
370
- d(this, te, 3);
369
+ d(this, ee, 3);
370
+ d(this, se, 3);
371
+ d(this, U, 0);
371
372
  E(this, "refresh", /* @__PURE__ */ h(() => {
372
373
  var e;
373
- q.log("rowManager.refresh");
374
+ T.log("rowManager.refresh");
374
375
  const s = t(this, R).querySelector(".ng-container-body .ng-part-body");
375
- s && (t(this, Mt).call(this), t(this, Ht).call(this), t(this, mt).call(this, s.scrollTop), (e = t(this, R).querySelector("nine-table-vscrollbar")) == null || e.refresh());
376
+ s && (t(this, Ht).call(this), t(this, $t).call(this), t(this, xt).call(this, s.scrollTop), (e = t(this, R).querySelector("nine-table-vscrollbar")) == null || e.refresh());
376
377
  }, "refresh"));
377
378
  E(this, "initialize", /* @__PURE__ */ h(() => {
378
- q.log("rowManager.initialize"), y(this, it, {
379
+ T.log("rowManager.initialize"), p(this, at, {
379
380
  scrollTables: t(this, R).querySelectorAll(".ng-part-body table"),
380
381
  firstTr: t(this, R).querySelector(".ng-container-body .ng-part-body tbody.bindable-tbody tr:not(.nodata)")
381
- }), y(this, O, null), t(this, Y).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((o) => {
382
+ }), p(this, O, null), t(this, Y).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((o) => {
382
383
  const a = t(this, R).querySelector(o);
383
384
  if (!a) return;
384
385
  const c = a.querySelector(".ng-part-body table");
@@ -390,14 +391,15 @@ const ss = class ss {
390
391
  });
391
392
  const s = t(this, R).querySelector(".ng-container-body .ng-part-body"), e = t(this, R).querySelector(".ng-container-left .ng-part-body"), n = t(this, R).querySelector(".ng-container-right .ng-part-body"), r = t(this, R).querySelector(".ng-container-body .ng-part-header"), i = t(this, R).querySelector(".ng-container-body .ng-part-footer");
392
393
  if (s) {
393
- t(this, Mt).call(this), t(this, Nt).call(this), t(this, Ht).call(this), t(this, mt).call(this, s.scrollTop);
394
+ t(this, Ht).call(this), t(this, _t).call(this), t(this, $t).call(this), t(this, xt).call(this, s.scrollTop);
394
395
  let o = !1;
396
+ p(this, U, s.scrollLeft);
395
397
  const a = /* @__PURE__ */ h((c) => {
396
- var f;
398
+ var b;
397
399
  if (o) return;
398
400
  o = !0;
399
- const l = c.scrollTop, g = c.scrollLeft;
400
- s && s.scrollTop !== l && (s.scrollTop = l), e && e.scrollTop !== l && (e.scrollTop = l), n && n.scrollTop !== l && (n.scrollTop = l), r && r.scrollLeft !== g && (r.scrollLeft = g), i && i.scrollLeft !== g && (i.scrollLeft = g), t(this, mt).call(this, l), (f = t(this, R).querySelector("nine-table-vscrollbar")) == null || f.refresh(), o = !1;
401
+ const l = c.scrollTop, u = c.scrollLeft;
402
+ s && s.scrollTop !== l && (s.scrollTop = l), e && e.scrollTop !== l && (e.scrollTop = l), n && n.scrollTop !== l && (n.scrollTop = l), Math.abs(u - t(this, U)) >= t(this, se) ? (r && r.scrollLeft !== u && (r.scrollLeft = u), i && i.scrollLeft !== u && (i.scrollLeft = u), p(this, U, u)) : r && r.scrollLeft !== t(this, U) && (r.scrollLeft = t(this, U), i && (i.scrollLeft = t(this, U))), t(this, xt).call(this, l), (b = t(this, R).querySelector("nine-table-vscrollbar")) == null || b.refresh(), o = !1;
401
403
  }, "handleContainerScroll");
402
404
  s == null || s.addEventListener("scroll", (c) => {
403
405
  a(s);
@@ -405,31 +407,31 @@ const ss = class ss {
405
407
  c == null || c.addEventListener("scroll", (l) => {
406
408
  if (o) return;
407
409
  o = !0;
408
- const g = c.scrollTop;
409
- s && s.scrollTop !== g && (s.scrollTop = g), o = !1;
410
+ const u = c.scrollTop;
411
+ s && s.scrollTop !== u && (s.scrollTop = u), o = !1;
410
412
  });
411
413
  });
412
414
  }
413
415
  }, "initialize"));
414
- d(this, ee, /* @__PURE__ */ h((s, e) => {
415
- q.log("rowManager.#renderRows");
416
+ d(this, ne, /* @__PURE__ */ h((s, e) => {
417
+ T.log("rowManager.#renderRows");
416
418
  const n = t(this, Y).get(e);
417
419
  if (!n || n.length === 0) return;
418
420
  const r = s.querySelector(".ng-part-body tbody.bindable-tbody");
419
421
  if (!r) return;
420
422
  r.querySelectorAll("tr:not(.nodata)").forEach((a) => a.remove());
421
423
  const i = r.querySelector("tr.nodata"), o = document.createDocumentFragment();
422
- for (let a = 0; a < t(this, It); a++)
424
+ for (let a = 0; a < t(this, Mt); a++)
423
425
  n.forEach((c) => {
424
426
  o.appendChild(c.cloneNode(!0));
425
427
  });
426
- i ? i.before(o) : r.appendChild(o), e === ".ng-container-body" && (t(this, it).firstTr = r.querySelector("tr:not(.nodata)"));
428
+ i ? i.before(o) : r.appendChild(o), e === ".ng-container-body" && (t(this, at).firstTr = r.querySelector("tr:not(.nodata)"));
427
429
  }, "#renderRows"));
428
- d(this, Mt, /* @__PURE__ */ h(() => {
430
+ d(this, Ht, /* @__PURE__ */ h(() => {
429
431
  if (t(this, O) !== null && t(this, O) > 0)
430
432
  return t(this, O);
431
433
  const s = t(this, R).querySelector(".ng-container-body .ng-part-body");
432
- q.log("rowManager.#measureAndCacheHeight");
434
+ T.log("rowManager.#measureAndCacheHeight");
433
435
  const e = t(this, Y).get(".ng-container-body");
434
436
  if (!e || e.length === 0) throw new Error("invalid dom");
435
437
  const n = s.querySelector("tbody.bindable-tbody");
@@ -441,20 +443,20 @@ const ss = class ss {
441
443
  }), r ? r.before(i) : n.appendChild(i);
442
444
  const o = t(this, R), a = o.style.display, c = o.style.visibility, l = o.style.position;
443
445
  (a === "none" || window.getComputedStyle(o).display === "none") && (o.style.display = "block", o.style.visibility = "hidden", o.style.position = "absolute");
444
- let g = 0;
446
+ let u = 0;
445
447
  const f = n.querySelectorAll("tr");
446
448
  return f.forEach((b) => {
447
- let u = b.offsetHeight || b.getBoundingClientRect().height;
448
- if (u === 0) {
449
- const p = window.getComputedStyle(b);
450
- u = parseFloat(p.height) || parseFloat(p.minHeight) || 0;
449
+ let g = b.offsetHeight || b.getBoundingClientRect().height;
450
+ if (g === 0) {
451
+ const y = window.getComputedStyle(b);
452
+ g = parseFloat(y.height) || parseFloat(y.minHeight) || 0;
451
453
  }
452
- g += u;
453
- }), f.forEach((b) => b.remove()), o.style.display = a, o.style.visibility = c, o.style.position = l, g <= 0 ? -1 : (y(this, O, g), t(this, $t).call(this), t(this, O));
454
+ u += g;
455
+ }), f.forEach((b) => b.remove()), o.style.display = a, o.style.visibility = c, o.style.position = l, u <= 0 ? -1 : (p(this, O, u), t(this, Nt).call(this), t(this, O));
454
456
  }, "#measureAndCacheHeight"));
455
- d(this, Ht, /* @__PURE__ */ h(() => {
456
- q.log("rowManager.#updateVirtualScrollHeight");
457
- const e = (t(this, ot).data.get() || []).length, n = t(this, O), r = e * n;
457
+ d(this, $t, /* @__PURE__ */ h(() => {
458
+ T.log("rowManager.#updateVirtualScrollHeight");
459
+ const e = (t(this, it).data.get() || []).length, n = t(this, O), r = e * n;
458
460
  [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((i) => {
459
461
  const o = t(this, R).querySelector(i);
460
462
  if (!o) return;
@@ -462,41 +464,41 @@ const ss = class ss {
462
464
  a && (a.style.height = `${r}px`);
463
465
  });
464
466
  }, "#updateVirtualScrollHeight"));
465
- d(this, $t, /* @__PURE__ */ h(() => {
466
- if (t(this, at) > 0 && t(this, O) > 0) {
467
- const s = Math.ceil(t(this, at) / t(this, O));
468
- y(this, It, s + t(this, te));
467
+ d(this, Nt, /* @__PURE__ */ h(() => {
468
+ if (t(this, lt) > 0 && t(this, O) > 0) {
469
+ const s = Math.ceil(t(this, lt) / t(this, O));
470
+ p(this, Mt, s + t(this, ee));
469
471
  }
470
472
  }, "#updateRowCount"));
471
- d(this, se, /* @__PURE__ */ h(() => {
472
- var a, c, l, g, f, b;
473
+ d(this, re, /* @__PURE__ */ h(() => {
474
+ var a, c, l, u, f, b;
473
475
  const s = t(this, R).querySelector(".ng-container-left .ng-part-body table"), e = t(this, R).querySelector(".ng-container-body .ng-part-body table"), n = t(this, R).querySelector(".ng-container-right .ng-part-body table");
474
476
  if (e) {
475
- const u = s ? Array.from(s.querySelectorAll("tbody tr")) : [], p = Array.from(e.querySelectorAll("tbody tr")), x = n ? Array.from(n.querySelectorAll("tbody tr")) : [], w = Math.max(u.length, p.length, x.length);
477
+ const g = s ? Array.from(s.querySelectorAll("tbody tr")) : [], y = Array.from(e.querySelectorAll("tbody tr")), x = n ? Array.from(n.querySelectorAll("tbody tr")) : [], w = Math.max(g.length, y.length, x.length);
476
478
  for (let m = 0; m < w; m++) {
477
- const T = [
478
- ((a = u[m]) == null ? void 0 : a.getBoundingClientRect().height) || 0,
479
- ((c = p[m]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
479
+ const C = [
480
+ ((a = g[m]) == null ? void 0 : a.getBoundingClientRect().height) || 0,
481
+ ((c = y[m]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
480
482
  ((l = x[m]) == null ? void 0 : l.getBoundingClientRect().height) || 0
481
- ], S = Math.max(...T);
482
- S > 0 && (u[m] && (u[m].style.height = `${S}px`), p[m] && (p[m].style.height = `${S}px`), x[m] && (x[m].style.height = `${S}px`));
483
+ ], S = Math.max(...C);
484
+ S > 0 && (g[m] && (g[m].style.height = `${S}px`), y[m] && (y[m].style.height = `${S}px`), x[m] && (x[m].style.height = `${S}px`));
483
485
  }
484
486
  }
485
487
  const r = t(this, R).querySelector(".ng-container-left .ng-part-footer table"), i = t(this, R).querySelector(".ng-container-body .ng-part-footer table"), o = t(this, R).querySelector(".ng-container-right .ng-part-footer table");
486
488
  if (i) {
487
- const u = r ? Array.from(r.querySelectorAll("tfoot tr")) : [], p = Array.from(i.querySelectorAll("tfoot tr")), x = o ? Array.from(o.querySelectorAll("tfoot tr")) : [], w = Math.max(u.length, p.length, x.length);
489
+ const g = r ? Array.from(r.querySelectorAll("tfoot tr")) : [], y = Array.from(i.querySelectorAll("tfoot tr")), x = o ? Array.from(o.querySelectorAll("tfoot tr")) : [], w = Math.max(g.length, y.length, x.length);
488
490
  for (let m = 0; m < w; m++) {
489
- const T = [
490
- ((g = u[m]) == null ? void 0 : g.getBoundingClientRect().height) || 0,
491
- ((f = p[m]) == null ? void 0 : f.getBoundingClientRect().height) || 0,
491
+ const C = [
492
+ ((u = g[m]) == null ? void 0 : u.getBoundingClientRect().height) || 0,
493
+ ((f = y[m]) == null ? void 0 : f.getBoundingClientRect().height) || 0,
492
494
  ((b = x[m]) == null ? void 0 : b.getBoundingClientRect().height) || 0
493
- ], S = Math.max(...T);
494
- S > 0 && (u[m] && (u[m].style.height = `${S}px`), p[m] && (p[m].style.height = `${S}px`), x[m] && (x[m].style.height = `${S}px`));
495
+ ], S = Math.max(...C);
496
+ S > 0 && (g[m] && (g[m].style.height = `${S}px`), y[m] && (y[m].style.height = `${S}px`), x[m] && (x[m].style.height = `${S}px`));
495
497
  }
496
498
  }
497
499
  }, "#syncRowHeights"));
498
- d(this, ne, /* @__PURE__ */ h(() => {
499
- !t(this, R) || !(t(this, R) instanceof HTMLElement) || (y(this, G, new ResizeObserver((s) => {
500
+ d(this, oe, /* @__PURE__ */ h(() => {
501
+ !t(this, R) || !(t(this, R) instanceof HTMLElement) || (p(this, Z, new ResizeObserver((s) => {
500
502
  for (const e of s) {
501
503
  const n = e.target;
502
504
  if (!n.classList.contains("active")) continue;
@@ -506,41 +508,41 @@ const ss = class ss {
506
508
  const o = n.querySelector(".ng-part-header"), a = n.querySelector(".ng-part-footer");
507
509
  o && (i += o.offsetHeight), a && (i += a.offsetHeight);
508
510
  const c = Math.max(r - i, 100);
509
- t(this, at) !== c && (y(this, at, c), t(this, $t).call(this), t(this, O) !== null && (t(this, Nt).call(this), this.refresh()));
511
+ t(this, lt) !== c && (p(this, lt, c), t(this, Nt).call(this), t(this, O) !== null && (t(this, _t).call(this), this.refresh()));
510
512
  }
511
513
  }
512
- })), t(this, G).observe(t(this, R)));
514
+ })), t(this, Z).observe(t(this, R)));
513
515
  }, "#initResizeObserver"));
514
- d(this, Nt, /* @__PURE__ */ h(() => {
515
- q.log("rowManager.#renderAllContainers"), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((s) => {
516
+ d(this, _t, /* @__PURE__ */ h(() => {
517
+ T.log("rowManager.#renderAllContainers"), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((s) => {
516
518
  const e = t(this, R).querySelector(s);
517
- e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, ee).call(this, e, s);
518
- }), t(this, oe).call(this), t(this, se).call(this);
519
+ e && e.querySelector(".ng-part-body tbody.bindable-tbody") && t(this, ne).call(this, e, s);
520
+ }), t(this, ae).call(this), t(this, re).call(this);
519
521
  }, "#renderAllContainers"));
520
- d(this, mt, /* @__PURE__ */ h((s) => {
522
+ d(this, xt, /* @__PURE__ */ h((s) => {
521
523
  var f, b;
522
524
  const e = t(this, O);
523
525
  if (!e || e <= 0) return;
524
- const n = t(this, ot).data.length;
526
+ const n = t(this, it).data.length;
525
527
  if (n === 0) return;
526
528
  const r = ((f = t(this, Y).get(".ng-container-body")) == null ? void 0 : f.length) || 1, i = t(this, R).querySelector(".ng-container-body .ng-part-body"), o = Math.max(0, n - Math.floor(i.clientHeight / e)), a = Math.min(o, Math.max(0, Math.floor(s / e)));
527
529
  let c = Math.floor(a * e);
528
- const l = t(this, it).firstTr, g = l && l.dataset.row !== void 0 ? parseInt(l.dataset.row, 10) : -1;
529
- (b = t(this, it)) == null || b.scrollTables.forEach((u) => {
530
- u.style.transform = `translate3d(0, ${c}px, 0)`;
531
- }), g !== a && [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((u) => {
532
- const p = t(this, R).querySelector(u);
533
- if (!p) return;
534
- const x = p.querySelector(".ng-part-body tbody.bindable-tbody");
530
+ const l = t(this, at).firstTr, u = l && l.dataset.row !== void 0 ? parseInt(l.dataset.row, 10) : -1;
531
+ (b = t(this, at)) == null || b.scrollTables.forEach((g) => {
532
+ g.style.transform = `translate3d(0, ${c}px, 0)`;
533
+ }), u !== a && [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((g) => {
534
+ const y = t(this, R).querySelector(g);
535
+ if (!y) return;
536
+ const x = y.querySelector(".ng-part-body tbody.bindable-tbody");
535
537
  if (!x) return;
536
- Array.from(x.querySelectorAll("tr:not(.nodata)")).forEach((m, T) => {
537
- const S = a + Math.floor(T / r);
538
+ Array.from(x.querySelectorAll("tr:not(.nodata)")).forEach((m, C) => {
539
+ const S = a + Math.floor(C / r);
538
540
  if (S >= n) {
539
541
  m.style.display = "none";
540
542
  return;
541
543
  }
542
- const M = t(this, ot).data.get(S);
543
- m.style.display = "", t(this, re).call(this, m, M, S);
544
+ const M = t(this, it).data.get(S);
545
+ m.style.display = "", t(this, ie).call(this, m, M, S);
544
546
  });
545
547
  });
546
548
  }, "#handleScroll"));
@@ -558,16 +560,16 @@ const ss = class ss {
558
560
  cell.dataset.row = dataIndex;
559
561
  });
560
562
  }; */
561
- d(this, re, /* @__PURE__ */ h((s, e, n) => {
563
+ d(this, ie, /* @__PURE__ */ h((s, e, n) => {
562
564
  s.dataset.row = n, s.data = e, Array.from(s.cells).forEach((r, i) => {
563
565
  r.dataset.row = n;
564
566
  const o = Array.from(r.children).find((a) => a.tagName.toLowerCase().startsWith("cell-") || typeof a.refresh == "function");
565
567
  o && typeof o.refresh == "function" && o.refresh();
566
568
  });
567
569
  }, "#bindRowData"));
568
- d(this, oe, /* @__PURE__ */ h(() => {
569
- var c, l, g;
570
- q.log("rowManager.#syncHeaderHeights");
570
+ d(this, ae, /* @__PURE__ */ h(() => {
571
+ var c, l, u;
572
+ T.log("rowManager.#syncHeaderHeights");
571
573
  const s = t(this, R).querySelector(".ng-container-left .ng-part-header table"), e = t(this, R).querySelector(".ng-container-body .ng-part-header table"), n = t(this, R).querySelector(".ng-container-right .ng-part-header table");
572
574
  if (!e) return;
573
575
  const r = s ? Array.from(s.querySelectorAll("tr")) : [], i = Array.from(e.querySelectorAll("tr")), o = n ? Array.from(n.querySelectorAll("tr")) : [], a = Math.max(r.length, i.length, o.length);
@@ -575,15 +577,15 @@ const ss = class ss {
575
577
  const b = [
576
578
  ((c = r[f]) == null ? void 0 : c.getBoundingClientRect().height) || 0,
577
579
  ((l = i[f]) == null ? void 0 : l.getBoundingClientRect().height) || 0,
578
- ((g = o[f]) == null ? void 0 : g.getBoundingClientRect().height) || 0
579
- ], u = Math.max(...b);
580
- u > 0 && (r[f] && (r[f].style.height = `${u}px`), i[f] && (i[f].style.height = `${u}px`), o[f] && (o[f].style.height = `${u}px`));
580
+ ((u = o[f]) == null ? void 0 : u.getBoundingClientRect().height) || 0
581
+ ], g = Math.max(...b);
582
+ g > 0 && (r[f] && (r[f].style.height = `${g}px`), i[f] && (i[f].style.height = `${g}px`), o[f] && (o[f].style.height = `${g}px`));
581
583
  }
582
584
  }, "#syncHeaderHeights"));
583
585
  E(this, "destroy", /* @__PURE__ */ h(() => {
584
- t(this, G) && (t(this, G).disconnect(), y(this, G, null));
586
+ t(this, Z) && (t(this, Z).disconnect(), p(this, Z, null));
585
587
  }, "destroy"));
586
- y(this, ot, s.getRootNode().host), y(this, R, s), t(this, ne).call(this);
588
+ p(this, it, s.getRootNode().host), p(this, R, s), t(this, oe).call(this);
587
589
  }
588
590
  getRowHeight() {
589
591
  return t(this, O);
@@ -593,14 +595,14 @@ const ss = class ss {
593
595
  return ((e = t(this, Y).get(s)) == null ? void 0 : e.length) || 1;
594
596
  }
595
597
  };
596
- ot = new WeakMap(), R = new WeakMap(), it = new WeakMap(), Y = new WeakMap(), O = new WeakMap(), G = new WeakMap(), at = new WeakMap(), It = new WeakMap(), Ve = new WeakMap(), Ye = new WeakMap(), te = new WeakMap(), ee = new WeakMap(), Mt = new WeakMap(), Ht = new WeakMap(), $t = new WeakMap(), se = new WeakMap(), ne = new WeakMap(), Nt = new WeakMap(), mt = new WeakMap(), re = new WeakMap(), oe = new WeakMap(), h(ss, "RowManager");
597
- let ke = ss;
598
- const ie = class ie {
598
+ it = new WeakMap(), R = new WeakMap(), at = new WeakMap(), Y = new WeakMap(), O = new WeakMap(), Z = new WeakMap(), lt = new WeakMap(), Mt = new WeakMap(), Ue = new WeakMap(), Xe = new WeakMap(), ee = new WeakMap(), se = new WeakMap(), U = new WeakMap(), ne = new WeakMap(), Ht = new WeakMap(), $t = new WeakMap(), Nt = new WeakMap(), re = new WeakMap(), oe = new WeakMap(), _t = new WeakMap(), xt = new WeakMap(), ie = new WeakMap(), ae = new WeakMap(), h(rs, "RowManager");
599
+ let Ie = rs;
600
+ const le = class le {
599
601
  /**
600
602
  * 🎯 레이아웃 내의 여러 rawTables 배열을 일괄로 받아 단일 마스터 템플릿으로 사전 컴파일합니다.
601
603
  */
602
604
  static compileAll(s) {
603
- return Array.isArray(s) ? s.map((e) => ie.compile(e)) : [];
605
+ return Array.isArray(s) ? s.map((e) => le.compile(e)) : [];
604
606
  }
605
607
  /**
606
608
  * 🎯 단일 원본 테이블을 받아 기본 구조 보정 및 2차원 격자 인덱스 사전 부여 완료된 마스터 테이블 반환
@@ -609,23 +611,23 @@ const ie = class ie {
609
611
  if (!s) return null;
610
612
  const e = /* @__PURE__ */ h((a) => {
611
613
  a.querySelectorAll("tbody td, tbody th, tfoot td, tfoot th").forEach((l) => {
612
- const g = l.getAttribute("cell-type") || "renderer";
614
+ const u = l.getAttribute("cell-type") || "renderer";
613
615
  if (l.children.length > 0 && l.firstElementChild.tagName.includes("-")) return;
614
- let f = `cell-${g}`;
615
- const b = l.getAttribute("data-bind"), u = l.getAttribute("data-expr"), p = l.getAttribute("maxbyte"), x = l.getAttribute("type");
616
+ let f = `cell-${u}`;
617
+ const b = l.getAttribute("data-bind"), g = l.getAttribute("data-expr"), y = l.getAttribute("maxbyte"), x = l.getAttribute("type");
616
618
  let w = [];
617
- b && w.push(`data-bind="${b}"`), u && w.push(`data-expr="${u}"`), p && w.push(`maxbyte="${p}"`), x && w.push(`type="${x}"`), l.innerHTML = `<${f} ${w.join(" ")}></${f}>`;
619
+ b && w.push(`data-bind="${b}"`), g && w.push(`data-expr="${g}"`), y && w.push(`maxbyte="${y}"`), x && w.push(`type="${x}"`), l.innerHTML = `<${f} ${w.join(" ")}></${f}>`;
618
620
  }), a.querySelectorAll("tbody td, tfoot td").forEach((l) => {
619
621
  l.setAttribute("tabindex", "0");
620
622
  });
621
623
  }, "processCellTypes"), n = /* @__PURE__ */ h((a) => {
622
624
  if (!a.querySelector("colgroup")) {
623
- const c = a.querySelector("tbody tr") || a.querySelector("tr"), l = c ? c.querySelectorAll("th, td").length : 1, g = document.createElement("colgroup"), f = Math.max(Math.floor(a.clientWidth / l), 100);
625
+ const c = a.querySelector("tbody tr") || a.querySelector("tr"), l = c ? c.querySelectorAll("th, td").length : 1, u = document.createElement("colgroup"), f = Math.max(Math.floor(a.clientWidth / l), 100);
624
626
  for (let b = 0; b < l; b++) {
625
- const u = document.createElement("col");
626
- u.setAttribute("width", f), g.appendChild(u);
627
+ const g = document.createElement("col");
628
+ g.setAttribute("width", f), u.appendChild(g);
627
629
  }
628
- a.prepend(g);
630
+ a.prepend(u);
629
631
  }
630
632
  if (!a.querySelector("thead")) {
631
633
  const c = document.createElement("thead"), l = a.querySelector("colgroup");
@@ -633,33 +635,33 @@ const ie = class ie {
633
635
  }
634
636
  a.classList.add("nine-table-element");
635
637
  }, "ensureTableStructure"), r = /* @__PURE__ */ h((a, c) => {
636
- const l = Array.from(a.querySelectorAll(c + " tr")), g = Array.from(a.querySelectorAll(c + " th," + c + " td")), f = l.length;
637
- if (f === 0 || g.length === 0) return;
638
+ const l = Array.from(a.querySelectorAll(c + " tr")), u = Array.from(a.querySelectorAll(c + " th," + c + " td")), f = l.length;
639
+ if (f === 0 || u.length === 0) return;
638
640
  let b = 0;
639
- g.forEach((p) => {
640
- b += p.colSpan || 1;
641
+ u.forEach((y) => {
642
+ b += y.colSpan || 1;
641
643
  });
642
- const u = Array.from(Array(f), () => Array(b).fill(null));
643
- l.forEach((p) => {
644
- const x = p.sectionRowIndex;
644
+ const g = Array.from(Array(f), () => Array(b).fill(null));
645
+ l.forEach((y) => {
646
+ const x = y.sectionRowIndex;
645
647
  let w = 0;
646
- Array.from(p.querySelectorAll("th,td")).forEach((m) => {
647
- for (let M = 0; M < u[x].length; M++)
648
- if (u[x][M] === null) {
648
+ Array.from(y.querySelectorAll("th,td")).forEach((m) => {
649
+ for (let M = 0; M < g[x].length; M++)
650
+ if (g[x][M] === null) {
649
651
  w = M;
650
652
  break;
651
653
  }
652
- const T = m.rowSpan || 1, S = m.colSpan || 1;
653
- for (let M = 0; M < T; M++)
654
+ const C = m.rowSpan || 1, S = m.colSpan || 1;
655
+ for (let M = 0; M < C; M++)
654
656
  for (let W = 0; W < S; W++)
655
- x + M < f && w + W < b && (u[x + M][w + W] = M === 0 && W === 0 ? "1" : "0");
657
+ x + M < f && w + W < b && (g[x + M][w + W] = M === 0 && W === 0 ? "1" : "0");
656
658
  });
657
- }), l.forEach((p) => {
658
- const x = p.sectionRowIndex;
659
- Array.from(p.querySelectorAll("th,td")).forEach((w) => {
660
- for (let m = 0; m < u[x].length; m++)
661
- if (u[x][m] === "1") {
662
- w.dataset.col = m, u[x][m] = "0";
659
+ }), l.forEach((y) => {
660
+ const x = y.sectionRowIndex;
661
+ Array.from(y.querySelectorAll("th,td")).forEach((w) => {
662
+ for (let m = 0; m < g[x].length; m++)
663
+ if (g[x][m] === "1") {
664
+ w.dataset.col = m, g[x][m] = "0";
663
665
  break;
664
666
  }
665
667
  });
@@ -667,24 +669,24 @@ const ie = class ie {
667
669
  }, "resetColIndex"), i = s.cloneNode(!0);
668
670
  return n(i), e(i), r(i, "thead"), r(i, "tbody"), r(i, "tfoot"), Array.from(i.querySelectorAll("colgroup col")).forEach((a, c) => {
669
671
  const l = a.getAttribute("fixed");
670
- l && i.querySelectorAll(`thead [data-col="${c}"], tbody [data-col="${c}"], tfoot [data-col="${c}"]`).forEach((g) => {
671
- g.setAttribute("fixed", l);
672
+ l && i.querySelectorAll(`thead [data-col="${c}"], tbody [data-col="${c}"], tfoot [data-col="${c}"]`).forEach((u) => {
673
+ u.setAttribute("fixed", l);
672
674
  });
673
675
  }), i;
674
676
  }
675
677
  // 🎯 [추가] td/th에 선언된 cell-type 속성을 읽어 커스텀 태그로 자동 감싸기
676
678
  };
677
- h(ie, "TableCompiler");
678
- let Le = ie;
679
- var N, U, X, qt, xs;
680
- const ns = class ns {
679
+ h(le, "TableCompiler");
680
+ let Me = le;
681
+ var N, X, K, Tt, vs;
682
+ const os = class os {
681
683
  constructor(s) {
682
- d(this, X);
684
+ d(this, K);
683
685
  d(this, N);
684
- d(this, U, { startRow: -1, startCol: -1, endRow: -1, endCol: -1 });
686
+ d(this, X, { startRow: -1, startCol: -1, endRow: -1, endCol: -1 });
685
687
  E(this, "render", /* @__PURE__ */ h(() => {
686
- const { startRow: s, startCol: e, endRow: n, endCol: r } = t(this, U);
687
- q.log("🎨 [CellSelection.render] Rendering range ->", t(this, U));
688
+ const { startRow: s, startCol: e, endRow: n, endCol: r } = t(this, X);
689
+ T.log("🎨 [CellSelection.render] Rendering range ->", t(this, X));
688
690
  const i = t(this, N).querySelectorAll(
689
691
  ".ng-container-left .ng-part-body, .ng-container-body .ng-part-body, .ng-container-right .ng-part-body"
690
692
  );
@@ -693,66 +695,66 @@ const ns = class ns {
693
695
  c.classList.remove("selected", "selected-top", "selected-bottom", "selected-left", "selected-right");
694
696
  });
695
697
  }), s < 0 || e < 0) {
696
- q.log("⚠️ [CellSelection.render] Range is invalid (< 0), skipping render.");
698
+ T.log("⚠️ [CellSelection.render] Range is invalid (< 0), skipping render.");
697
699
  return;
698
700
  }
699
701
  let o = 0;
700
702
  i.forEach((a) => {
701
703
  a.querySelectorAll("tbody tr").forEach((c) => {
702
- const { matrixRow: l } = V(this, X, qt).call(this, c);
703
- l < 0 || c.querySelectorAll("td, th").forEach((g) => {
704
- const f = parseInt(g.dataset.col, 10);
704
+ const { matrixRow: l } = V(this, K, Tt).call(this, c);
705
+ l < 0 || c.querySelectorAll("td, th").forEach((u) => {
706
+ const f = parseInt(u.dataset.col, 10);
705
707
  if (isNaN(f)) return;
706
- const b = parseInt(g.rowSpan || 1, 10), u = parseInt(g.colSpan || 1, 10), p = l + b - 1, x = f + u - 1;
707
- p >= s && l <= n && x >= e && f <= r && (o++, g.classList.add("selected"), q.log(g, s, e, n, r), l <= s && g.classList.add("selected-top"), p >= n && g.classList.add("selected-bottom"), f <= e && g.classList.add("selected-left"), x >= r && g.classList.add("selected-right"));
708
+ const b = parseInt(u.rowSpan || 1, 10), g = parseInt(u.colSpan || 1, 10), y = l + b - 1, x = f + g - 1;
709
+ y >= s && l <= n && x >= e && f <= r && (o++, u.classList.add("selected"), T.log(u, s, e, n, r), l <= s && u.classList.add("selected-top"), y >= n && u.classList.add("selected-bottom"), f <= e && u.classList.add("selected-left"), x >= r && u.classList.add("selected-right"));
708
710
  });
709
711
  });
710
- }), q.log(`✨ [CellSelection.render] Total rendered cells marked: ${o}`);
712
+ }), T.log(`✨ [CellSelection.render] Total rendered cells marked: ${o}`);
711
713
  }, "render"));
712
- y(this, N, s), V(this, X, xs).call(this), t(this, N).querySelectorAll(
714
+ p(this, N, s), V(this, K, vs).call(this), t(this, N).querySelectorAll(
713
715
  ".ng-container-left .ng-part-body, .ng-container-body .ng-part-body, .ng-container-right .ng-part-body"
714
716
  ).forEach((n) => {
715
717
  n.addEventListener("scroll", () => {
716
- t(this, U).startRow >= 0 && t(this, U).startCol >= 0 && this.render();
718
+ t(this, X).startRow >= 0 && t(this, X).startCol >= 0 && this.render();
717
719
  });
718
- }), q.log("🎯 [CellSelection] Initialized");
720
+ }), T.log("🎯 [CellSelection] Initialized");
719
721
  }
720
722
  setRange(s, e, n, r) {
721
- q.log(`🔍 [CellSelection.setRange] Input -> startRow: ${s}, startCol: ${e}, endRow: ${n}, endCol: ${r}`);
723
+ T.log(`🔍 [CellSelection.setRange] Input -> startRow: ${s}, startCol: ${e}, endRow: ${n}, endCol: ${r}`);
722
724
  let i = Math.min(s, n), o = Math.max(s, n), a = Math.min(e, r), c = Math.max(e, r);
723
725
  const l = t(this, N).querySelectorAll(
724
726
  ".ng-container-left .ng-part-body, .ng-container-body .ng-part-body, .ng-container-right .ng-part-body"
725
727
  );
726
- let g = !0, f = 0;
727
- for (; g && f < 5; )
728
- g = !1, f++, l.forEach((b) => {
729
- b.querySelectorAll("tbody tr").forEach((u) => {
730
- if (u.classList.contains("nodata")) return;
731
- const { matrixRow: p } = V(this, X, qt).call(this, u);
732
- p < 0 || u.querySelectorAll("td, th").forEach((x) => {
728
+ let u = !0, f = 0;
729
+ for (; u && f < 5; )
730
+ u = !1, f++, l.forEach((b) => {
731
+ b.querySelectorAll("tbody tr").forEach((g) => {
732
+ if (g.classList.contains("nodata")) return;
733
+ const { matrixRow: y } = V(this, K, Tt).call(this, g);
734
+ y < 0 || g.querySelectorAll("td, th").forEach((x) => {
733
735
  const w = parseInt(x.dataset.col, 10);
734
736
  if (isNaN(w)) return;
735
- const m = parseInt(x.rowSpan || 1, 10), T = parseInt(x.colSpan || 1, 10), S = p + m - 1, M = w + T - 1;
736
- if (S >= i && p <= o && M >= a && w <= c) {
737
- const B = Math.min(i, p), Kt = Math.max(o, S), gs = Math.min(a, w), bs = Math.max(c, M);
738
- (B !== i || Kt !== o || gs !== a || bs !== c) && (i = B, o = Kt, a = gs, c = bs, g = !0);
737
+ const m = parseInt(x.rowSpan || 1, 10), C = parseInt(x.colSpan || 1, 10), S = y + m - 1, M = w + C - 1;
738
+ if (S >= i && y <= o && M >= a && w <= c) {
739
+ const B = Math.min(i, y), Gt = Math.max(o, S), ps = Math.min(a, w), ys = Math.max(c, M);
740
+ (B !== i || Gt !== o || ps !== a || ys !== c) && (i = B, o = Gt, a = ps, c = ys, u = !0);
739
741
  }
740
742
  });
741
743
  });
742
744
  });
743
- y(this, U, { startRow: i, startCol: a, endRow: o, endCol: c }), q.log("📦 [CellSelection.setRange] Final Range ->", t(this, U)), this.render();
745
+ p(this, X, { startRow: i, startCol: a, endRow: o, endCol: c }), T.log("📦 [CellSelection.setRange] Final Range ->", t(this, X)), this.render();
744
746
  }
745
747
  };
746
- N = new WeakMap(), U = new WeakMap(), X = new WeakSet(), qt = /* @__PURE__ */ h(function(s) {
748
+ N = new WeakMap(), X = new WeakMap(), K = new WeakSet(), Tt = /* @__PURE__ */ h(function(s) {
747
749
  if (!s || s.classList.contains("nodata")) return { dataRow: -1, subRowIndex: -1, matrixRow: -1 };
748
750
  const e = parseInt(s.dataset.row, 10);
749
751
  if (isNaN(e)) return { dataRow: -1, subRowIndex: -1, matrixRow: -1 };
750
752
  const n = s.closest("tbody"), i = Array.from(n.querySelectorAll("tr:not(.nodata)")).filter((l) => parseInt(l.dataset.row, 10) === e), o = i.indexOf(s), a = i.length > 0 ? i.length : 1, c = e * a + (o >= 0 ? o : s.sectionRowIndex % a);
751
753
  return { dataRow: e, subRowIndex: o, matrixRow: c };
752
- }, "#getMatrixRow"), xs = /* @__PURE__ */ h(function() {
754
+ }, "#getMatrixRow"), vs = /* @__PURE__ */ h(function() {
753
755
  const s = t(this, N).querySelector(".ng-container-top");
754
756
  if (!s) {
755
- q.log("❌ [CellSelection] .ng-container-top not found!");
757
+ T.log("❌ [CellSelection] .ng-container-top not found!");
756
758
  return;
757
759
  }
758
760
  s.addEventListener("mousedown", (e) => {
@@ -760,50 +762,50 @@ N = new WeakMap(), U = new WeakMap(), X = new WeakSet(), qt = /* @__PURE__ */ h(
760
762
  const n = e.target.closest("td, th");
761
763
  if (!n || n.dataset.row === void 0 || n.dataset.col === void 0 || n.closest("tr").classList.contains("nodata")) return;
762
764
  t(this, N).style.userSelect = "none", t(this, N).style.webkitUserSelect = "none";
763
- const r = n.closest("tr"), { matrixRow: i } = V(this, X, qt).call(this, r), o = parseInt(n.dataset.col, 10);
765
+ const r = n.closest("tr"), { matrixRow: i } = V(this, K, Tt).call(this, r), o = parseInt(n.dataset.col, 10);
764
766
  if (i < 0) {
765
767
  t(this, N).style.userSelect = "", t(this, N).style.webkitUserSelect = "";
766
768
  return;
767
769
  }
768
- q.log(`🖱️ [MouseDown Success] startRow: ${i}, startCol: ${o}`), t(this, N).navigation.currentCell = n;
770
+ T.log(`🖱️ [MouseDown Success] startRow: ${i}, startCol: ${o}`), t(this, N).navigation.currentCell = n;
769
771
  let a = i, c = o;
770
772
  const l = /* @__PURE__ */ h((f) => {
771
773
  const b = document.elementFromPoint(f.clientX, f.clientY);
772
- let u = b == null ? void 0 : b.closest("td, th");
773
- if (!u || !t(this, N).contains(u)) {
774
+ let g = b == null ? void 0 : b.closest("td, th");
775
+ if (!g || !t(this, N).contains(g)) {
774
776
  const m = t(this, N).querySelectorAll(".ng-part-body tbody tr:not(.nodata) td, .ng-part-body tbody tr:not(.nodata) th");
775
- for (const T of m) {
776
- const S = T.getBoundingClientRect();
777
+ for (const C of m) {
778
+ const S = C.getBoundingClientRect();
777
779
  if (f.clientX >= S.left && f.clientX <= S.right && f.clientY >= S.top && f.clientY <= S.bottom) {
778
- u = T;
780
+ g = C;
779
781
  break;
780
782
  }
781
783
  }
782
784
  }
783
- if (!u || u.dataset.row === void 0 || u.dataset.col === void 0 || u.closest("tr").classList.contains("nodata")) return;
784
- const p = u.closest("tr"), { matrixRow: x } = V(this, X, qt).call(this, p), w = parseInt(u.dataset.col, 10);
785
+ if (!g || g.dataset.row === void 0 || g.dataset.col === void 0 || g.closest("tr").classList.contains("nodata")) return;
786
+ const y = g.closest("tr"), { matrixRow: x } = V(this, K, Tt).call(this, y), w = parseInt(g.dataset.col, 10);
785
787
  x < 0 || a === x && c === w || (a = x, c = w, this.setRange(i, o, x, w));
786
- }, "onMouseMove"), g = /* @__PURE__ */ h(() => {
787
- q.log("🖱️ [MouseUp] Drag ended."), t(this, N).style.userSelect = "", t(this, N).style.webkitUserSelect = "", document.removeEventListener("mousemove", l), document.removeEventListener("mouseup", g);
788
+ }, "onMouseMove"), u = /* @__PURE__ */ h(() => {
789
+ T.log("🖱️ [MouseUp] Drag ended."), t(this, N).style.userSelect = "", t(this, N).style.webkitUserSelect = "", document.removeEventListener("mousemove", l), document.removeEventListener("mouseup", u);
788
790
  }, "onMouseUp");
789
- document.addEventListener("mousemove", l), document.addEventListener("mouseup", g);
791
+ document.addEventListener("mousemove", l), document.addEventListener("mouseup", u);
790
792
  });
791
- }, "#initEvents"), h(ns, "CellSelection");
792
- let Ie = ns;
793
- var F, lt, ae, le, pt, He, _t, Ot, Dt, ct, Wt, ws;
794
- const rs = class rs {
793
+ }, "#initEvents"), h(os, "CellSelection");
794
+ let He = os;
795
+ var F, ct, ce, he, yt, Ne, Ot, Dt, Wt, ht, zt, Ss;
796
+ const is = class is {
795
797
  constructor(s) {
796
- d(this, pt);
798
+ d(this, yt);
797
799
  d(this, F);
798
- d(this, lt, null);
799
- d(this, ae, -1);
800
- d(this, le, -1);
801
- d(this, _t, /* @__PURE__ */ h((s) => {
800
+ d(this, ct, null);
801
+ d(this, ce, -1);
802
+ d(this, he, -1);
803
+ d(this, Ot, /* @__PURE__ */ h((s) => {
802
804
  const e = [];
803
805
  return s.forEach((n) => e.push(...Array.from(n.querySelectorAll("td")))), e.length === 0 ? null : (e.sort((n, r) => parseInt(n.dataset.col, 10) - parseInt(r.dataset.col, 10)), e[e.length - 1]);
804
806
  }, "#getMaxColCell"));
805
- d(this, Ot, /* @__PURE__ */ h((s, e) => {
806
- const n = t(this, ct).call(this, s);
807
+ d(this, Dt, /* @__PURE__ */ h((s, e) => {
808
+ const n = t(this, ht).call(this, s);
807
809
  if (n.length === 0) return e + 1;
808
810
  let r = e + 1;
809
811
  const i = [];
@@ -817,8 +819,8 @@ const rs = class rs {
817
819
  }
818
820
  return r;
819
821
  }, "#getNextCol"));
820
- d(this, Dt, /* @__PURE__ */ h((s, e) => {
821
- const n = t(this, ct).call(this, s);
822
+ d(this, Wt, /* @__PURE__ */ h((s, e) => {
823
+ const n = t(this, ht).call(this, s);
822
824
  if (n.length === 0) return Math.max(0, e - 1);
823
825
  let r = -1;
824
826
  const i = [];
@@ -833,93 +835,93 @@ const rs = class rs {
833
835
  return r;
834
836
  }, "#getPreviousCol"));
835
837
  // 🎯 레거시의 병합 셀(rowSpan) 블록 포용 탐색 로직 이식
836
- d(this, ct, /* @__PURE__ */ h((s) => {
838
+ d(this, ht, /* @__PURE__ */ h((s) => {
837
839
  const e = t(this, F).querySelectorAll(
838
840
  ".ng-container-left .ng-part-body, .ng-container-body .ng-part-body, .ng-container-right .ng-part-body"
839
841
  ), n = [];
840
842
  return e.forEach((r) => {
841
843
  const i = Array.from(r.querySelectorAll("tbody tr:not(.nodata)"));
842
844
  for (const o of i) {
843
- const a = parseInt(o.dataset.row, 10), c = i.filter((p) => parseInt(p.dataset.row, 10) === a), l = c.length > 0 ? c.length : 1, g = c.indexOf(o), f = a * l + (g >= 0 ? g : 0);
845
+ const a = parseInt(o.dataset.row, 10), c = i.filter((y) => parseInt(y.dataset.row, 10) === a), l = c.length > 0 ? c.length : 1, u = c.indexOf(o), f = a * l + (u >= 0 ? u : 0);
844
846
  if (f === s) {
845
847
  n.push(o);
846
848
  break;
847
849
  }
848
850
  const b = Array.from(o.querySelectorAll("td"));
849
- let u = !1;
850
- for (const p of b) {
851
- const x = parseInt(p.rowSpan || 1, 10);
851
+ let g = !1;
852
+ for (const y of b) {
853
+ const x = parseInt(y.rowSpan || 1, 10);
852
854
  if (x > 1 && s >= f && s < f + x) {
853
- n.push(o), u = !0;
855
+ n.push(o), g = !0;
854
856
  break;
855
857
  }
856
858
  }
857
- if (u) break;
859
+ if (g) break;
858
860
  }
859
861
  }), n;
860
862
  }, "#findTargetTrsByMatrix"));
861
863
  // 🎯 rowSpan 및 colSpan 경계를 모두 충족하는 셀을 3분할 전체 영역에서 탐색
862
- d(this, Wt, /* @__PURE__ */ h((s, e, n, r) => {
864
+ d(this, zt, /* @__PURE__ */ h((s, e, n, r) => {
863
865
  const i = t(this, F).querySelectorAll(
864
866
  ".ng-container-left .ng-part-body, .ng-container-body .ng-part-body, .ng-container-right .ng-part-body"
865
867
  ), o = r !== void 0 ? r : s * 1 + e;
866
868
  for (const a of i) {
867
869
  const c = Array.from(a.querySelectorAll("tbody tr:not(.nodata)"));
868
870
  for (const l of c) {
869
- const g = parseInt(l.dataset.row, 10), f = c.filter((w) => parseInt(w.dataset.row, 10) === g), b = f.length > 0 ? f.length : 1, u = f.indexOf(l), p = g * b + (u >= 0 ? u : 0), x = Array.from(l.querySelectorAll("td"));
871
+ const u = parseInt(l.dataset.row, 10), f = c.filter((w) => parseInt(w.dataset.row, 10) === u), b = f.length > 0 ? f.length : 1, g = f.indexOf(l), y = u * b + (g >= 0 ? g : 0), x = Array.from(l.querySelectorAll("td"));
870
872
  for (const w of x) {
871
- const m = parseInt(w.dataset.col, 10), T = parseInt(w.colSpan || 1, 10), S = parseInt(w.rowSpan || 1, 10);
872
- if (!isNaN(m) && n >= m && n < m + T && o >= p && o < p + S && window.getComputedStyle(w).display !== "none")
873
+ const m = parseInt(w.dataset.col, 10), C = parseInt(w.colSpan || 1, 10), S = parseInt(w.rowSpan || 1, 10);
874
+ if (!isNaN(m) && n >= m && n < m + C && o >= y && o < y + S && window.getComputedStyle(w).display !== "none")
873
875
  return w;
874
876
  }
875
877
  }
876
878
  }
877
879
  return null;
878
880
  }, "#getNearElement"));
879
- y(this, F, s), V(this, pt, ws).call(this), q.log("🎯 [CellNavigation] Initialized");
881
+ p(this, F, s), V(this, yt, Ss).call(this), T.log("🎯 [CellNavigation] Initialized");
880
882
  }
881
883
  get currentCell() {
882
- return t(this, lt);
884
+ return t(this, ct);
883
885
  }
884
886
  set currentCell(s) {
885
887
  if (!s) return;
886
- y(this, lt, s), s.focus({ preventScroll: !0 });
888
+ p(this, ct, s), s.focus({ preventScroll: !0 });
887
889
  const e = parseInt(s.dataset.row, 10), n = parseInt(s.dataset.col, 10);
888
890
  if (!isNaN(e) && !isNaN(n)) {
889
- y(this, ae, e), y(this, le, n);
891
+ p(this, ce, e), p(this, he, n);
890
892
  const r = s.closest("tr"), i = r == null ? void 0 : r.closest("tbody");
891
893
  if (i) {
892
- const a = Array.from(i.querySelectorAll("tr:not(.nodata)")).filter((f) => parseInt(f.dataset.row, 10) === e), c = a.length > 0 ? a.length : 1, l = a.indexOf(r), g = e * c + (l >= 0 ? l : 0);
893
- t(this, F).selection.setRange(g, n, g, n);
894
+ const a = Array.from(i.querySelectorAll("tr:not(.nodata)")).filter((f) => parseInt(f.dataset.row, 10) === e), c = a.length > 0 ? a.length : 1, l = a.indexOf(r), u = e * c + (l >= 0 ? l : 0);
895
+ t(this, F).selection.setRange(u, n, u, n);
894
896
  }
895
897
  }
896
898
  }
897
899
  moveCell(s) {
898
- var m, T, S, M;
899
- if (!t(this, lt)) return;
900
- const e = t(this, lt), n = e.closest("tr"), r = parseInt(e.dataset.row, 10), i = parseInt(e.dataset.col, 10), o = n == null ? void 0 : n.closest("tbody");
900
+ var m, C, S, M;
901
+ if (!t(this, ct)) return;
902
+ const e = t(this, ct), n = e.closest("tr"), r = parseInt(e.dataset.row, 10), i = parseInt(e.dataset.col, 10), o = n == null ? void 0 : n.closest("tbody");
901
903
  if (!o) return;
902
- const c = Array.from(o.querySelectorAll("tr:not(.nodata)")).filter((W) => parseInt(W.dataset.row, 10) === r), l = c.length > 0 ? c.length : 1, g = c.indexOf(n), f = r * l + (g >= 0 ? g : 0);
903
- let b = f, u = i;
904
+ const c = Array.from(o.querySelectorAll("tr:not(.nodata)")).filter((W) => parseInt(W.dataset.row, 10) === r), l = c.length > 0 ? c.length : 1, u = c.indexOf(n), f = r * l + (u >= 0 ? u : 0);
905
+ let b = f, g = i;
904
906
  switch (s.code) {
905
907
  case "Tab":
906
908
  if (s.preventDefault(), s.shiftKey) {
907
- if (u = t(this, Dt).call(this, f, i), u < 0 && f > 0) {
909
+ if (g = t(this, Wt).call(this, f, i), g < 0 && f > 0) {
908
910
  b = f - 1;
909
- const W = t(this, ct).call(this, b), B = t(this, _t).call(this, W);
910
- u = B ? parseInt(B.dataset.col, 10) : 0;
911
+ const W = t(this, ht).call(this, b), B = t(this, Ot).call(this, W);
912
+ g = B ? parseInt(B.dataset.col, 10) : 0;
911
913
  }
912
914
  } else {
913
- u = t(this, Ot).call(this, f, i);
914
- const W = t(this, ct).call(this, f), B = t(this, _t).call(this, W), Kt = B ? parseInt(B.dataset.col, 10) + parseInt(B.colSpan || 1, 10) : 0;
915
- u >= Kt && (b = f + 1, u = 0);
915
+ g = t(this, Dt).call(this, f, i);
916
+ const W = t(this, ht).call(this, f), B = t(this, Ot).call(this, W), Gt = B ? parseInt(B.dataset.col, 10) + parseInt(B.colSpan || 1, 10) : 0;
917
+ g >= Gt && (b = f + 1, g = 0);
916
918
  }
917
919
  break;
918
920
  case "ArrowRight":
919
- u = t(this, Ot).call(this, f, i);
921
+ g = t(this, Dt).call(this, f, i);
920
922
  break;
921
923
  case "ArrowLeft":
922
- u = t(this, Dt).call(this, f, i);
924
+ g = t(this, Wt).call(this, f, i);
923
925
  break;
924
926
  case "ArrowDown":
925
927
  s.preventDefault(), b = f + (e.rowSpan || 1);
@@ -928,63 +930,63 @@ const rs = class rs {
928
930
  s.preventDefault(), b = Math.max(0, f - (e.rowSpan || 1));
929
931
  break;
930
932
  }
931
- const p = Math.floor(b / l), x = b % l;
932
- let w = t(this, Wt).call(this, p, x, u, b);
933
+ const y = Math.floor(b / l), x = b % l;
934
+ let w = t(this, zt).call(this, y, x, g, b);
933
935
  if (w)
934
- this.currentCell = w, V(this, pt, He).call(this, w);
935
- else if (p !== r && p >= 0) {
936
- const W = ((T = (m = t(this, F)).getRowHeight) == null ? void 0 : T.call(m)) || 40;
937
- (M = (S = t(this, F)).scrollToY) == null || M.call(S, p * W), setTimeout(() => {
938
- const B = t(this, Wt).call(this, p, x, u, b);
939
- B && (this.currentCell = B, V(this, pt, He).call(this, B));
936
+ this.currentCell = w, V(this, yt, Ne).call(this, w);
937
+ else if (y !== r && y >= 0) {
938
+ const W = ((C = (m = t(this, F)).getRowHeight) == null ? void 0 : C.call(m)) || 40;
939
+ (M = (S = t(this, F)).scrollToY) == null || M.call(S, y * W), setTimeout(() => {
940
+ const B = t(this, zt).call(this, y, x, g, b);
941
+ B && (this.currentCell = B, V(this, yt, Ne).call(this, B));
940
942
  }, 0);
941
943
  }
942
944
  }
943
945
  };
944
- F = new WeakMap(), lt = new WeakMap(), ae = new WeakMap(), le = new WeakMap(), pt = new WeakSet(), // 🎯 셀이 보이지 않는 영역에 있을 때 컨테이너 스크롤을 동기화하는 함수
945
- He = /* @__PURE__ */ h(function(s) {
946
+ F = new WeakMap(), ct = new WeakMap(), ce = new WeakMap(), he = new WeakMap(), yt = new WeakSet(), // 🎯 셀이 보이지 않는 영역에 있을 때 컨테이너 스크롤을 동기화하는 함수
947
+ Ne = /* @__PURE__ */ h(function(s) {
946
948
  const e = t(this, F).querySelector(".ng-container-body .ng-part-body");
947
949
  if (!e) return;
948
950
  const n = s.getBoundingClientRect(), r = e.getBoundingClientRect();
949
951
  n.top < r.top ? e.scrollTop -= r.top - n.top : n.bottom > r.bottom && (e.scrollTop += n.bottom - r.bottom), n.left < r.left ? e.scrollLeft -= r.left - n.left : n.right > r.right && (e.scrollLeft += n.right - r.right);
950
- }, "#ensureCellVisible"), _t = new WeakMap(), Ot = new WeakMap(), Dt = new WeakMap(), ct = new WeakMap(), Wt = new WeakMap(), ws = /* @__PURE__ */ h(function() {
952
+ }, "#ensureCellVisible"), Ot = new WeakMap(), Dt = new WeakMap(), Wt = new WeakMap(), ht = new WeakMap(), zt = new WeakMap(), Ss = /* @__PURE__ */ h(function() {
951
953
  t(this, F).addEventListener("keydown", (s) => {
952
954
  ["Tab", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(s.code) && this.moveCell(s);
953
955
  });
954
- }, "#initEvents"), h(rs, "CellNavigation");
955
- let Me = rs;
956
- var ce, ht, dt, zt, Bt, he, de, xt, fe, ue;
956
+ }, "#initEvents"), h(is, "CellNavigation");
957
+ let $e = is;
958
+ var de, dt, ft, Bt, Pt, fe, ue, wt, ge, be;
957
959
  const Ct = class Ct extends HTMLElement {
958
960
  constructor() {
959
961
  super();
960
- d(this, ce);
961
- d(this, ht, null);
962
- d(this, dt);
963
- d(this, zt);
962
+ d(this, de);
963
+ d(this, dt, null);
964
+ d(this, ft);
964
965
  d(this, Bt);
966
+ d(this, Pt);
965
967
  E(this, "invalidate", /* @__PURE__ */ h(() => {
966
- q.log("sheet.invalidate()"), t(this, dt).refresh();
968
+ T.log("sheet.invalidate()"), t(this, ft).refresh();
967
969
  }, "invalidate"));
968
970
  E(this, "generate", /* @__PURE__ */ h((e) => {
969
- if (q.log("sheet.generate()"), !e) return;
970
- y(this, ht, Le.compile(e)), t(this, he).call(this), t(this, de).call(this);
971
+ if (T.log("sheet.generate()"), !e) return;
972
+ p(this, dt, Me.compile(e)), t(this, fe).call(this), t(this, ue).call(this);
971
973
  const n = this.querySelector(".ng-container-body .ng-part-header"), r = this.querySelector(".ng-container-body .ng-part-footer"), i = this.querySelector(".ng-nodata-overlay");
972
- n && i && (i.style.top = `${n.offsetHeight}px`), r && i && (i.style.bottom = `${r.offsetHeight}px`), t(this, dt).initialize(), setTimeout(() => {
974
+ n && i && (i.style.top = `${n.offsetHeight}px`), r && i && (i.style.bottom = `${r.offsetHeight}px`), t(this, ft).initialize(), setTimeout(() => {
973
975
  var o;
974
976
  (o = this.querySelector("nine-table-hscrollbar")) == null || o.refresh();
975
977
  }, 0);
976
978
  }, "generate"));
977
- d(this, he, /* @__PURE__ */ h(() => {
979
+ d(this, fe, /* @__PURE__ */ h(() => {
978
980
  [
979
981
  { selector: ".ng-container-body", type: null },
980
982
  { selector: ".ng-container-left", type: "left" },
981
983
  { selector: ".ng-container-right", type: "right" }
982
984
  ].forEach(({ selector: n, type: r }) => {
983
985
  var i, o, a;
984
- (i = this.querySelector(`${n} .ng-part-header`)) == null || i.appendChild(t(this, xt).call(this, t(this, ht), r, "header")), (o = this.querySelector(`${n} .ng-virtual-spacer`)) == null || o.before(t(this, xt).call(this, t(this, ht), r, "body")), (a = this.querySelector(`${n} .ng-part-footer`)) == null || a.appendChild(t(this, xt).call(this, t(this, ht), r, "footer"));
986
+ (i = this.querySelector(`${n} .ng-part-header`)) == null || i.appendChild(t(this, wt).call(this, t(this, dt), r, "header")), (o = this.querySelector(`${n} .ng-virtual-spacer`)) == null || o.before(t(this, wt).call(this, t(this, dt), r, "body")), (a = this.querySelector(`${n} .ng-part-footer`)) == null || a.appendChild(t(this, wt).call(this, t(this, dt), r, "footer"));
985
987
  });
986
988
  }, "#renderSplitContainers"));
987
- d(this, de, /* @__PURE__ */ h(() => {
989
+ d(this, ue, /* @__PURE__ */ h(() => {
988
990
  ["left", "right", "body"].forEach((e) => {
989
991
  const n = this.querySelector(`.ng-container-${e}`), r = n == null ? void 0 : n.querySelectorAll("table");
990
992
  if (!n || !r || r.length === 0) return;
@@ -999,12 +1001,12 @@ const Ct = class Ct extends HTMLElement {
999
1001
  }));
1000
1002
  });
1001
1003
  }, "#updateContainerWidths"));
1002
- d(this, xt, /* @__PURE__ */ h((e, n, r) => {
1004
+ d(this, wt, /* @__PURE__ */ h((e, n, r) => {
1003
1005
  const i = e.cloneNode(!0), o = i.querySelector("thead"), a = i.querySelector("tbody"), c = i.querySelector("tfoot");
1004
1006
  if (r === "header") {
1005
1007
  if (a && a.remove(), c && c.remove(), e.querySelector("tbody")) {
1006
- const g = document.createElement("tbody");
1007
- g.className = "fixed-tbody", i.appendChild(g);
1008
+ const u = document.createElement("tbody");
1009
+ u.className = "fixed-tbody", i.appendChild(u);
1008
1010
  }
1009
1011
  } else r === "body" ? (o && o.remove(), c && c.remove(), a && (a.className = "bindable-tbody")) : r === "footer" && (o && o.remove(), a && a.remove());
1010
1012
  return n === "left" ? i.querySelectorAll("col, th, td, tfoot td, tfoot th").forEach((l) => {
@@ -1015,7 +1017,7 @@ const Ct = class Ct extends HTMLElement {
1015
1017
  l.remove();
1016
1018
  }), i;
1017
1019
  }, "#createSplitTable"));
1018
- E(this, "getRowHeight", /* @__PURE__ */ h(() => t(this, dt).getRowHeight(), "getRowHeight"));
1020
+ E(this, "getRowHeight", /* @__PURE__ */ h(() => t(this, ft).getRowHeight(), "getRowHeight"));
1019
1021
  E(this, "scrollToX", /* @__PURE__ */ h((e) => {
1020
1022
  const n = this.querySelector(".ng-container-body .ng-part-body");
1021
1023
  n && (n.scrollLeft = e);
@@ -1024,10 +1026,10 @@ const Ct = class Ct extends HTMLElement {
1024
1026
  const n = this.querySelector(".ng-container-body .ng-part-body");
1025
1027
  n && (n.scrollTop = e);
1026
1028
  }, "scrollToY"));
1027
- d(this, fe, /* @__PURE__ */ h(() => {
1028
- t(this, ue).call(this), y(this, zt, new Ie(this)), y(this, Bt, new Me(this));
1029
+ d(this, ge, /* @__PURE__ */ h(() => {
1030
+ t(this, be).call(this), p(this, Bt, new He(this)), p(this, Pt, new $e(this));
1029
1031
  }, "#init"));
1030
- d(this, ue, /* @__PURE__ */ h(() => {
1032
+ d(this, be, /* @__PURE__ */ h(() => {
1031
1033
  const e = Ct.SCROLLBAR_SIZE;
1032
1034
  this.innerHTML = `
1033
1035
  <style>
@@ -1229,93 +1231,93 @@ const Ct = class Ct extends HTMLElement {
1229
1231
  </div>
1230
1232
  `;
1231
1233
  }, "#render"));
1232
- y(this, dt, new ke(this)), y(this, ce, this.getRootNode().host);
1234
+ p(this, ft, new Ie(this)), p(this, de, this.getRootNode().host);
1233
1235
  }
1234
1236
  connectedCallback() {
1235
- t(this, fe).call(this);
1237
+ t(this, ge).call(this);
1236
1238
  }
1237
1239
  get selection() {
1238
- return t(this, zt);
1240
+ return t(this, Bt);
1239
1241
  }
1240
1242
  get navigation() {
1241
- return t(this, Bt);
1243
+ return t(this, Pt);
1242
1244
  }
1243
1245
  disconnectedCallback() {
1244
- this.innerHTML = "", q.log("NineTableSheet destroyed.");
1246
+ this.innerHTML = "", T.log("NineTableSheet destroyed.");
1245
1247
  }
1246
1248
  };
1247
- ce = new WeakMap(), ht = new WeakMap(), dt = new WeakMap(), zt = new WeakMap(), Bt = new WeakMap(), he = new WeakMap(), de = new WeakMap(), xt = new WeakMap(), fe = new WeakMap(), ue = new WeakMap(), h(Ct, "NineTableSheet"), E(Ct, "SCROLLBAR_SIZE", 16);
1248
- let Gt = Ct;
1249
- customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", Gt);
1250
- var ge, Pt;
1251
- const os = class os extends HTMLElement {
1249
+ de = new WeakMap(), dt = new WeakMap(), ft = new WeakMap(), Bt = new WeakMap(), Pt = new WeakMap(), fe = new WeakMap(), ue = new WeakMap(), wt = new WeakMap(), ge = new WeakMap(), be = new WeakMap(), h(Ct, "NineTableSheet"), E(Ct, "SCROLLBAR_SIZE", 16);
1250
+ let Zt = Ct;
1251
+ customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", Zt);
1252
+ var pe, Ft;
1253
+ const as = class as extends HTMLElement {
1252
1254
  constructor() {
1253
1255
  super();
1254
- d(this, ge, /* @__PURE__ */ h(() => {
1256
+ d(this, pe, /* @__PURE__ */ h(() => {
1255
1257
  var e;
1256
1258
  (e = this.querySelector(".nine-tab-bar")) == null || e.addEventListener("click", (n) => {
1257
1259
  var o;
1258
1260
  const r = n.ctrlKey || n.metaKey || n.shiftKey, i = parseInt((o = n.target.closest(".nine-tab-item")) == null ? void 0 : o.dataset.index, 10);
1259
- t(this, Pt).call(this, i, r);
1260
- }), t(this, Pt).call(this, 0, !1);
1261
+ t(this, Ft).call(this, i, r);
1262
+ }), t(this, Ft).call(this, 0, !1);
1261
1263
  }, "#init"));
1262
- d(this, Pt, /* @__PURE__ */ h((e, n = !1) => {
1264
+ d(this, Ft, /* @__PURE__ */ h((e, n = !1) => {
1263
1265
  const r = /* @__PURE__ */ h(() => {
1264
- const g = Array.from(this.querySelectorAll("nine-table-sheet"));
1265
- Array.from(this.querySelectorAll("nine-splitter")).forEach((u) => u.style.setProperty("display", "none"));
1266
- const b = g.filter((u) => u.classList.contains("active"));
1267
- b.length < 2 || b.forEach((u) => {
1268
- const p = parseInt(u.getAttribute("data-index"), 10), x = this.querySelector(`nine-splitter[data-split-index="${p}"]`), w = g[p + 1];
1266
+ const u = Array.from(this.querySelectorAll("nine-table-sheet"));
1267
+ Array.from(this.querySelectorAll("nine-splitter")).forEach((g) => g.style.setProperty("display", "none"));
1268
+ const b = u.filter((g) => g.classList.contains("active"));
1269
+ b.length < 2 || b.forEach((g) => {
1270
+ const y = parseInt(g.getAttribute("data-index"), 10), x = this.querySelector(`nine-splitter[data-split-index="${y}"]`), w = u[y + 1];
1269
1271
  x && w && w.classList.contains("active") && x.style.setProperty("display", "flex");
1270
1272
  });
1271
1273
  }, "updateSplitters"), i = this.querySelector(".nine-tab-bar"), o = this.querySelector("nine-table-sheets-body"), a = i.querySelectorAll(".nine-tab-item"), c = o.querySelectorAll("nine-table-sheet");
1272
1274
  if (!a[e]) return;
1273
1275
  if (!n)
1274
- a.forEach((g, f) => {
1275
- g.classList.toggle("active", f === e);
1276
- }), c.forEach((g, f) => {
1276
+ a.forEach((u, f) => {
1277
+ u.classList.toggle("active", f === e);
1278
+ }), c.forEach((u, f) => {
1277
1279
  const b = f === e;
1278
- g.classList.toggle("active", b), g.style.flex = b ? "1 1 100%" : "";
1280
+ u.classList.toggle("active", b), u.style.flex = b ? "1 1 100%" : "";
1279
1281
  });
1280
1282
  else {
1281
- const g = a[e], f = i.querySelectorAll(".nine-tab-item.active");
1282
- if (g.classList.contains("active") && f.length <= 1)
1283
+ const u = a[e], f = i.querySelectorAll(".nine-tab-item.active");
1284
+ if (u.classList.contains("active") && f.length <= 1)
1283
1285
  return;
1284
- g.classList.toggle("active");
1286
+ u.classList.toggle("active");
1285
1287
  const b = o.querySelector(`nine-table-sheet[data-index="${e}"]`);
1286
1288
  b && (b.classList.toggle("active"), b.classList.contains("active") || (b.style.flex = ""));
1287
1289
  }
1288
1290
  const l = o.querySelectorAll("nine-table-sheet.active");
1289
- l == null || l.forEach((g) => {
1290
- g.style.flex = l.length > 1 ? "1 1 0%" : "1 1 100%";
1291
+ l == null || l.forEach((u) => {
1292
+ u.style.flex = l.length > 1 ? "1 1 0%" : "1 1 100%";
1291
1293
  }), r();
1292
1294
  }, "#switchSheet"));
1293
1295
  }
1294
1296
  connectedCallback() {
1295
- t(this, ge).call(this);
1297
+ t(this, pe).call(this);
1296
1298
  }
1297
1299
  };
1298
- ge = new WeakMap(), Pt = new WeakMap(), h(os, "NineTableSheets");
1299
- let $e = os;
1300
- customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", $e);
1301
- var _, be, Ft, pe;
1302
- const is = class is {
1300
+ pe = new WeakMap(), Ft = new WeakMap(), h(as, "NineTableSheets");
1301
+ let _e = as;
1302
+ customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", _e);
1303
+ var _, ye, jt, me;
1304
+ const ls = class ls {
1303
1305
  constructor(s) {
1304
1306
  d(this, _);
1305
- d(this, be, /* @__PURE__ */ h(() => {
1306
- t(this, pe).call(this), new ResizeObserver((s) => {
1307
+ d(this, ye, /* @__PURE__ */ h(() => {
1308
+ t(this, me).call(this), new ResizeObserver((s) => {
1307
1309
  for (let e of s)
1308
- t(this, _).getAttribute("auto-height") === "true" && t(this, Ft).call(this);
1310
+ t(this, _).getAttribute("auto-height") === "true" && t(this, jt).call(this);
1309
1311
  }).observe(t(this, _));
1310
1312
  }, "#init"));
1311
- d(this, Ft, /* @__PURE__ */ h(() => {
1313
+ d(this, jt, /* @__PURE__ */ h(() => {
1312
1314
  var c, l;
1313
1315
  const s = Array.from(t(this, _).shadowRoot.querySelectorAll("nine-table-sheet.active"));
1314
1316
  if (s.length === 0) return;
1315
- const e = parseInt(t(this, _).getAttribute("max-display-row"), 10) || 10, n = Math.max(...s.map((g) => g.getRowHeight())), r = (c = t(this, _).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : c.getBoundingClientRect().height, i = (l = t(this, _).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, o = Gt.SCROLLBAR_SIZE, a = e * n + r + i + o;
1317
+ const e = parseInt(t(this, _).getAttribute("max-display-row"), 10) || 10, n = Math.max(...s.map((u) => u.getRowHeight())), r = (c = t(this, _).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : c.getBoundingClientRect().height, i = (l = t(this, _).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : l.getBoundingClientRect().height, o = Zt.SCROLLBAR_SIZE, a = e * n + r + i + o;
1316
1318
  t(this, _).style.height = `${a}px`;
1317
1319
  }, "#applyAutoHeight"));
1318
- d(this, pe, /* @__PURE__ */ h(() => {
1320
+ d(this, me, /* @__PURE__ */ h(() => {
1319
1321
  const e = Array.from(t(this, _).children).filter((c) => c.tagName === "TABLE"), n = t(this, _).getAttribute("auto-height") === "true", r = e.length, i = e.map((c, l) => {
1320
1322
  const f = `<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>` : "";
1321
1323
  return f + b;
@@ -1444,53 +1446,53 @@ const is = class is {
1444
1446
  const a = t(this, _).shadowRoot.querySelectorAll("nine-table-sheet");
1445
1447
  a == null || a.forEach((c, l) => {
1446
1448
  e[l] && setTimeout(() => {
1447
- c.generate(e[l]), n && t(this, Ft).call(this);
1449
+ c.generate(e[l]), n && t(this, jt).call(this);
1448
1450
  });
1449
1451
  });
1450
1452
  }, "#render"));
1451
- y(this, _, s), t(this, be).call(this);
1453
+ p(this, _, s), t(this, ye).call(this);
1452
1454
  }
1453
1455
  };
1454
- _ = new WeakMap(), be = new WeakMap(), Ft = new WeakMap(), pe = new WeakMap(), h(is, "LayoutManager");
1455
- let Ne = is;
1456
- var jt, wt;
1457
- const as = class as {
1456
+ _ = new WeakMap(), ye = new WeakMap(), jt = new WeakMap(), me = new WeakMap(), h(ls, "LayoutManager");
1457
+ let Oe = ls;
1458
+ var Vt, vt;
1459
+ const cs = class cs {
1458
1460
  constructor(s) {
1459
- d(this, jt);
1460
- d(this, wt, -1);
1461
- E(this, "count", /* @__PURE__ */ h(() => t(this, jt).rawRecords.length, "count"));
1462
- y(this, jt, s);
1461
+ d(this, Vt);
1462
+ d(this, vt, -1);
1463
+ E(this, "count", /* @__PURE__ */ h(() => t(this, Vt).rawRecords.length, "count"));
1464
+ p(this, Vt, s);
1463
1465
  }
1464
1466
  get at() {
1465
- return t(this, wt);
1467
+ return t(this, vt);
1466
1468
  }
1467
1469
  set at(s) {
1468
- y(this, wt, parseInt(s, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, wt)}"]`) && setTimeout(() => {
1470
+ p(this, vt, parseInt(s, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, vt)}"]`) && setTimeout(() => {
1469
1471
  });
1470
1472
  }
1471
1473
  };
1472
- jt = new WeakMap(), wt = new WeakMap(), h(as, "ngRow");
1473
- let _e = as;
1474
- var D, L, z, vt, ye, Z, me, ft, Vt, xe, we, St;
1474
+ Vt = new WeakMap(), vt = new WeakMap(), h(cs, "ngRow");
1475
+ let De = cs;
1476
+ var D, L, z, St, xe, J, we, ut, Yt, ve, Se, Rt;
1475
1477
  const P = class P {
1476
1478
  constructor(s, e) {
1477
1479
  d(this, D);
1478
1480
  d(this, L);
1479
1481
  d(this, z, []);
1480
- d(this, vt, []);
1481
- d(this, ye, 0);
1482
- d(this, Z, []);
1483
- d(this, me, /* @__PURE__ */ h(() => {
1484
- y(this, Z, []);
1482
+ d(this, St, []);
1483
+ d(this, xe, 0);
1484
+ d(this, J, []);
1485
+ d(this, we, /* @__PURE__ */ h(() => {
1486
+ p(this, J, []);
1485
1487
  const s = t(this, D).template || [];
1486
1488
  Array.from(s).forEach((e) => {
1487
1489
  var n;
1488
- t(this, Z).push(((n = e.getBoundingClientRect) == null ? void 0 : n.call(e).height) || 24);
1490
+ t(this, J).push(((n = e.getBoundingClientRect) == null ? void 0 : n.call(e).height) || 24);
1489
1491
  }), (t(this, L).rawRecords || []).forEach((e) => {
1490
- e.__ng || (e.__ng = t(this, Vt).call(this)), e.__ng.height = t(this, Z).slice();
1492
+ e.__ng || (e.__ng = t(this, Yt).call(this)), e.__ng.height = t(this, J).slice();
1491
1493
  });
1492
1494
  }, "#initialize"));
1493
- d(this, ft, /* @__PURE__ */ h(() => {
1495
+ d(this, ut, /* @__PURE__ */ h(() => {
1494
1496
  const s = t(this, D).shadowRoot.querySelector("nine-table-sheets");
1495
1497
  s == null || s.classList.toggle("nodata", this.length === 0), t(this, D).shadowRoot.querySelectorAll("nine-table-sheet").forEach((e) => {
1496
1498
  e.invalidate();
@@ -1500,35 +1502,35 @@ const P = class P {
1500
1502
  var i;
1501
1503
  const n = this.getValidData();
1502
1504
  if (!n || n.length <= 0) return;
1503
- if (s == null) return t(this, St).call(this, n);
1505
+ if (s == null) return t(this, Rt).call(this, n);
1504
1506
  if (s < 0 || s >= n.length) return null;
1505
1507
  const r = typeof ((i = t(this, D).fields) == null ? void 0 : i.get) == "function" ? t(this, D).fields.get() : [];
1506
1508
  if (e != null) {
1507
1509
  const o = r.indexOf(e);
1508
1510
  return o >= 0 ? n[s].v[o] : null;
1509
1511
  }
1510
- return t(this, St).call(this, n[s]);
1512
+ return t(this, Rt).call(this, n[s]);
1511
1513
  }, "get"));
1512
1514
  E(this, "set", /* @__PURE__ */ h((s) => {
1513
- this.clear(), this.add(s, !1), t(this, ft).call(this);
1515
+ this.clear(), this.add(s, !1), t(this, ut).call(this);
1514
1516
  }, "set"));
1515
- d(this, Vt, /* @__PURE__ */ h(() => ({
1517
+ d(this, Yt, /* @__PURE__ */ h(() => ({
1516
1518
  rowState: P.ROW_STATE.EMPTY,
1517
1519
  deleted: !1,
1518
1520
  filtered: !1,
1519
- height: t(this, Z).slice(),
1521
+ height: t(this, J).slice(),
1520
1522
  o: {},
1521
1523
  c: {},
1522
- _: [0, 0, 0, 0, P.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, Z).slice(), -1, {}, {}]
1524
+ _: [0, 0, 0, 0, P.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, J).slice(), -1, {}, {}]
1523
1525
  }), "#getDefaultMeta"));
1524
1526
  E(this, "reset", /* @__PURE__ */ h(() => {
1525
- y(this, z, []), y(this, vt, []), t(this, ft).call(this);
1527
+ p(this, z, []), p(this, St, []), t(this, ut).call(this);
1526
1528
  }, "reset"));
1527
1529
  E(this, "clear", /* @__PURE__ */ h(() => {
1528
1530
  var s;
1529
- t(this, L).rawRecords = [], y(this, z, []), y(this, vt, []), (s = t(this, L).viewRecords) != null && s.reset && t(this, L).viewRecords.reset();
1531
+ t(this, L).rawRecords = [], p(this, z, []), p(this, St, []), (s = t(this, L).viewRecords) != null && s.reset && t(this, L).viewRecords.reset();
1530
1532
  }, "clear"));
1531
- d(this, xe, /* @__PURE__ */ h((s) => {
1533
+ d(this, ve, /* @__PURE__ */ h((s) => {
1532
1534
  var r;
1533
1535
  Array.isArray(s) || (s = [s]);
1534
1536
  const e = typeof ((r = t(this, D).fields) == null ? void 0 : r.get) == "function" ? t(this, D).fields.get() : Object.keys(s[0] || {}), n = [];
@@ -1539,18 +1541,18 @@ const P = class P {
1539
1541
  }), n.push(o);
1540
1542
  }), n;
1541
1543
  }, "#json2Array"));
1542
- d(this, we, /* @__PURE__ */ h((s) => (Array.isArray(s) || (s = [s]), s.forEach((e) => {
1543
- e.__ng = t(this, Vt).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = P.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
1544
+ d(this, Se, /* @__PURE__ */ h((s) => (Array.isArray(s) || (s = [s]), s.forEach((e) => {
1545
+ e.__ng = t(this, Yt).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = P.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
1544
1546
  }), s), "#defaultInsert"));
1545
1547
  E(this, "add", /* @__PURE__ */ h((s, e = !0) => {
1546
1548
  s === void 0 && (s = {});
1547
- const n = t(this, xe).call(this, s);
1548
- t(this, L).rawRecords = t(this, L).rawRecords.concat(t(this, we).call(this, n)), this.resetRecords();
1549
+ const n = t(this, ve).call(this, s);
1550
+ t(this, L).rawRecords = t(this, L).rawRecords.concat(t(this, Se).call(this, n)), this.resetRecords();
1549
1551
  const r = this.count() - 1;
1550
1552
  return e || n.forEach((i, o) => {
1551
1553
  const a = t(this, L).rawRecords[r - o];
1552
1554
  a && (a.__ng.rowState = P.ROW_STATE.EMPTY);
1553
- }), t(this, ft).call(this), r;
1555
+ }), t(this, ut).call(this), r;
1554
1556
  }, "add"));
1555
1557
  E(this, "delete", /* @__PURE__ */ h((s) => {
1556
1558
  let e = [];
@@ -1561,7 +1563,7 @@ const P = class P {
1561
1563
  i.__ng.rowid === r && (i.__ng.deleted = !0, i.__ng.rowState = P.ROW_STATE.DELETE);
1562
1564
  });
1563
1565
  }
1564
- }), this.resetRecords(), t(this, ft).call(this);
1566
+ }), this.resetRecords(), t(this, ut).call(this);
1565
1567
  }, "delete"));
1566
1568
  E(this, "setValue", /* @__PURE__ */ h((s, e, n) => {
1567
1569
  var c;
@@ -1574,35 +1576,35 @@ const P = class P {
1574
1576
  a !== n && o.__ng.rowState !== P.ROW_STATE.INSERT && (o.__ng.o.hasOwnProperty(e) || (o.__ng.o[e] = a), o.__ng.rowState = P.ROW_STATE.UPDATE), o.v[i] = n;
1575
1577
  }, "setValue"));
1576
1578
  E(this, "resetRecords", /* @__PURE__ */ h(() => {
1577
- y(this, vt, t(this, L).rawRecords.filter((s) => !s.__ng.deleted)), y(this, z, t(this, L).rawRecords.filter((s) => !s.__ng.deleted && !s.__ng.filtered)), t(this, L).rawRecords.forEach((s, e) => {
1579
+ p(this, St, t(this, L).rawRecords.filter((s) => !s.__ng.deleted)), p(this, z, t(this, L).rawRecords.filter((s) => !s.__ng.deleted && !s.__ng.filtered)), t(this, L).rawRecords.forEach((s, e) => {
1578
1580
  s.__ng.rowidx = e;
1579
1581
  }), t(this, z).forEach((s, e) => {
1580
1582
  s.__ng.i = e;
1581
1583
  });
1582
1584
  }, "resetRecords"));
1583
1585
  E(this, "getValidData", /* @__PURE__ */ h(() => (t(this, z).length === 0 && t(this, L).rawRecords.length > 0 && this.resetRecords(), t(this, z)), "getValidData"));
1584
- d(this, St, /* @__PURE__ */ h((s) => {
1586
+ d(this, Rt, /* @__PURE__ */ h((s) => {
1585
1587
  var o;
1586
1588
  if (!s) return s;
1587
1589
  const e = !Array.isArray(s), n = e ? [s] : s, r = typeof ((o = t(this, D).fields) == null ? void 0 : o.get) == "function" ? t(this, D).fields.get() : [], i = n.filter((a) => !a.__ng.deleted).map((a) => {
1588
1590
  const c = {};
1589
- return r.forEach((l, g) => {
1590
- c[l] = a.v ? a.v[g] : a[l];
1591
+ return r.forEach((l, u) => {
1592
+ c[l] = a.v ? a.v[u] : a[l];
1591
1593
  }), c.__ng = a.__ng, c;
1592
1594
  });
1593
1595
  return e ? i[0] : i;
1594
1596
  }, "#conv"));
1595
1597
  E(this, "count", /* @__PURE__ */ h(() => this.getValidData().length, "count"));
1596
- y(this, D, s), y(this, L, e), t(this, me).call(this);
1598
+ p(this, D, s), p(this, L, e), t(this, we).call(this);
1597
1599
  }
1598
1600
  get source() {
1599
- return t(this, St).call(this, t(this, L).rawRecords);
1601
+ return t(this, Rt).call(this, t(this, L).rawRecords);
1600
1602
  }
1601
1603
  set source(s) {
1602
1604
  this.clear(), this.add(s, !1);
1603
1605
  }
1604
1606
  get nextId() {
1605
- return ++ms(this, ye)._;
1607
+ return ++ws(this, xe)._;
1606
1608
  }
1607
1609
  get count() {
1608
1610
  return t(this, z).length;
@@ -1614,7 +1616,7 @@ const P = class P {
1614
1616
  return this.length;
1615
1617
  }
1616
1618
  };
1617
- D = new WeakMap(), L = new WeakMap(), z = new WeakMap(), vt = new WeakMap(), ye = new WeakMap(), Z = new WeakMap(), me = new WeakMap(), ft = new WeakMap(), Vt = new WeakMap(), xe = new WeakMap(), we = new WeakMap(), St = new WeakMap(), h(P, "ngData"), // 🎯 행 상태 정의 상수를 클래스 내부로 내재화
1619
+ D = new WeakMap(), L = new WeakMap(), z = new WeakMap(), St = new WeakMap(), xe = new WeakMap(), J = new WeakMap(), we = new WeakMap(), ut = new WeakMap(), Yt = new WeakMap(), ve = new WeakMap(), Se = new WeakMap(), Rt = new WeakMap(), h(P, "ngData"), // 🎯 행 상태 정의 상수를 클래스 내부로 내재화
1618
1620
  E(P, "ROW_STATE", {
1619
1621
  EMPTY: "EMPTY",
1620
1622
  NORMAL: "NORMAL",
@@ -1622,14 +1624,14 @@ E(P, "ROW_STATE", {
1622
1624
  UPDATE: "UPDATE",
1623
1625
  DELETE: "DELETE"
1624
1626
  });
1625
- let Oe = P;
1626
- var ut;
1627
- const ls = class ls {
1627
+ let We = P;
1628
+ var gt;
1629
+ const hs = class hs {
1628
1630
  constructor(s) {
1629
- d(this, ut);
1630
- y(this, ut, s), this.row = new _e(this), this.data = new Oe(t(this, ut), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
1631
+ d(this, gt);
1632
+ p(this, gt, s), this.row = new De(this), this.data = new We(t(this, gt), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
1631
1633
  var e;
1632
- (e = t(this, ut).view) != null && e.redraw && t(this, ut).view.redraw();
1634
+ (e = t(this, gt).view) != null && e.redraw && t(this, gt).view.redraw();
1633
1635
  }, this.setDataSource = (e) => {
1634
1636
  this.data && this.data.reset(), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.data.set(e || []);
1635
1637
  }, this.getRowState = (e) => {
@@ -1644,31 +1646,31 @@ const ls = class ls {
1644
1646
  }, this.setDataSource([]);
1645
1647
  }
1646
1648
  };
1647
- ut = new WeakMap(), h(ls, "ngDataManager");
1648
- let De = ls;
1649
- var Rt, H, Yt, ve;
1650
- const cs = class cs {
1649
+ gt = new WeakMap(), h(hs, "ngDataManager");
1650
+ let ze = hs;
1651
+ var At, H, Ut, Re;
1652
+ const ds = class ds {
1651
1653
  // 🎯 이제 { name: string, type: string } 객체들의 배열로 관리합니다.
1652
1654
  constructor(s) {
1653
- d(this, Rt);
1655
+ d(this, At);
1654
1656
  d(this, H, []);
1655
1657
  E(this, "add", /* @__PURE__ */ h((s, e = "string") => {
1656
1658
  s.forEach((n) => {
1657
1659
  t(this, H).some((r) => r.name === n) || t(this, H).push({ name: n, type: e });
1658
- }), t(this, Yt).call(this);
1660
+ }), t(this, Ut).call(this);
1659
1661
  }, "add"));
1660
- d(this, Yt, /* @__PURE__ */ h(() => {
1662
+ d(this, Ut, /* @__PURE__ */ h(() => {
1661
1663
  const s = /* @__PURE__ */ new Map();
1662
1664
  t(this, H).forEach((e) => {
1663
1665
  s.set(e.name, e.type);
1664
- }), y(this, H, Array.from(s, ([e, n]) => ({ name: e, type: n }))), y(this, H, t(this, H).filter((e) => e.name !== "" && e.name !== "__ng")), t(this, H).sort((e, n) => e.name.length < n.name.length ? 1 : -1);
1666
+ }), p(this, H, Array.from(s, ([e, n]) => ({ name: e, type: n }))), p(this, H, t(this, H).filter((e) => e.name !== "" && e.name !== "__ng")), t(this, H).sort((e, n) => e.name.length < n.name.length ? 1 : -1);
1665
1667
  }, "#adjust"));
1666
- d(this, ve, /* @__PURE__ */ h(() => {
1667
- y(this, H, []), q.log(t(this, Rt).querySelectorAll("table"));
1668
- const s = Array.from(t(this, Rt).querySelectorAll("table"));
1668
+ d(this, Re, /* @__PURE__ */ h(() => {
1669
+ p(this, H, []), T.log(t(this, At).querySelectorAll("table"));
1670
+ const s = Array.from(t(this, At).querySelectorAll("table"));
1669
1671
  if (!(!s || s.length === 0)) {
1670
1672
  for (const e of s)
1671
- q.log(e), $("[data-bind]", e).each((n, r) => {
1673
+ T.log(e), $("[data-bind]", e).each((n, r) => {
1672
1674
  const i = r.dataset.bind, o = r.getAttribute("data-type") || "string";
1673
1675
  i && t(this, H).push({ name: i, type: o });
1674
1676
  }), ["data-expr", "background-color", "color", "tooltip", "visible", "readonly", "enable-button", "enable-check", "class-expr", "icon-color", "icon-src"].forEach((n) => {
@@ -1692,10 +1694,10 @@ const cs = class cs {
1692
1694
  });
1693
1695
  });
1694
1696
  });
1695
- t(this, Yt).call(this);
1697
+ t(this, Ut).call(this);
1696
1698
  }
1697
1699
  }, "#init"));
1698
- y(this, Rt, s), t(this, ve).call(this);
1700
+ p(this, At, s), t(this, Re).call(this);
1699
1701
  }
1700
1702
  // 🎯 기존에 필드 이름만 쓰던 곳들과의 호환을 위해 이름 배열만 리턴하는 메서드 유지
1701
1703
  get() {
@@ -1717,43 +1719,43 @@ const cs = class cs {
1717
1719
  return t(this, H).some((e) => e.name === s);
1718
1720
  }
1719
1721
  };
1720
- Rt = new WeakMap(), H = new WeakMap(), Yt = new WeakMap(), ve = new WeakMap(), h(cs, "ngFields");
1721
- let We = cs;
1722
- var gt, Se, Re;
1723
- const hs = class hs extends HTMLElement {
1722
+ At = new WeakMap(), H = new WeakMap(), Ut = new WeakMap(), Re = new WeakMap(), h(ds, "ngFields");
1723
+ let Be = ds;
1724
+ var bt, Ae, Ee;
1725
+ const fs = class fs extends HTMLElement {
1724
1726
  constructor() {
1725
1727
  super();
1726
1728
  //#created = false;
1727
- d(this, gt);
1728
- d(this, Se);
1729
- d(this, Re, /* @__PURE__ */ h(() => {
1730
- this.fields = new We(this), y(this, Se, new Ne(this)), q.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
1729
+ d(this, bt);
1730
+ d(this, Ae);
1731
+ d(this, Ee, /* @__PURE__ */ h(() => {
1732
+ this.fields = new Be(this), p(this, Ae, new Oe(this)), T.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
1731
1733
  }, "#init"));
1732
- this.attachShadow({ mode: "open" }), y(this, gt, new De(this));
1734
+ this.attachShadow({ mode: "open" }), p(this, bt, new ze(this));
1733
1735
  }
1734
1736
  connectedCallback() {
1735
- t(this, Re).call(this);
1737
+ t(this, Ee).call(this);
1736
1738
  }
1737
1739
  disconnectedCallback() {
1738
- q.log("NineTable disconnected.");
1740
+ T.log("NineTable disconnected.");
1739
1741
  }
1740
1742
  // 🎯 외부에서 grid.data.set(...) 형태로 접근할 수 있도록 데이터 매니저 오픈
1741
1743
  get data() {
1742
- return t(this, gt).data;
1744
+ return t(this, bt).data;
1743
1745
  }
1744
1746
  // 🎯 행(row) 관련 제어 접근자 오픈
1745
1747
  get row() {
1746
- return t(this, gt).row;
1748
+ return t(this, bt).row;
1747
1749
  }
1748
1750
  // 🎯 전체 데이터 매니저 접근 필요할 경우
1749
1751
  get dataManager() {
1750
- return t(this, gt);
1752
+ return t(this, bt);
1751
1753
  }
1752
1754
  };
1753
- gt = new WeakMap(), Se = new WeakMap(), Re = new WeakMap(), h(hs, "NineTable");
1754
- let ze = hs;
1755
- customElements.get("nine-table") || customElements.define("nine-table", ze);
1756
- const Tt = class Tt extends HTMLElement {
1755
+ bt = new WeakMap(), Ae = new WeakMap(), Ee = new WeakMap(), h(fs, "NineTable");
1756
+ let Pe = fs;
1757
+ customElements.get("nine-table") || customElements.define("nine-table", Pe);
1758
+ const kt = class kt extends HTMLElement {
1757
1759
  // 👈 커스텀 스타일용 캐시 추가
1758
1760
  constructor() {
1759
1761
  super();
@@ -1764,19 +1766,19 @@ const Tt = class Tt extends HTMLElement {
1764
1766
  connectedCallback() {
1765
1767
  }
1766
1768
  };
1767
- h(Tt, "BasicCellElement"), E(Tt, "_styleCache", /* @__PURE__ */ new Map()), E(Tt, "_customStyleCache", /* @__PURE__ */ new Map());
1768
- let Be = Tt;
1769
- var I, Ut, v, Ue, Xe, Ke, Ge, Ze;
1770
- const ds = class ds extends Be {
1769
+ h(kt, "BasicCellElement"), E(kt, "_styleCache", /* @__PURE__ */ new Map()), E(kt, "_customStyleCache", /* @__PURE__ */ new Map());
1770
+ let Fe = kt;
1771
+ var I, Xt, v, Ke, Ge, Ze, Je, Qe;
1772
+ const us = class us extends Fe {
1771
1773
  constructor() {
1772
1774
  super();
1773
1775
  d(this, I);
1774
- d(this, Ut);
1776
+ d(this, Xt);
1775
1777
  d(this, v);
1776
- d(this, Ue);
1777
- d(this, Xe);
1778
1778
  d(this, Ke);
1779
1779
  d(this, Ge);
1780
+ d(this, Ze);
1781
+ d(this, Je);
1780
1782
  E(this, "getDisplayText", /* @__PURE__ */ h((e) => {
1781
1783
  if (t(this, v))
1782
1784
  if (t(this, v).closest("tbody")) {
@@ -1797,23 +1799,23 @@ const ds = class ds extends Be {
1797
1799
  } catch {
1798
1800
  }
1799
1801
  }, "getDisplayText"));
1800
- d(this, Ze, /* @__PURE__ */ h(() => {
1802
+ d(this, Qe, /* @__PURE__ */ h(() => {
1801
1803
  if (!(!t(this, I) || !t(this, I).template || !t(this, v).closest("tbody.bindable"))) {
1802
1804
  var e = ninegrid.j.querySelectorAll(t(this, v)).attr("suppress");
1803
1805
  if (e && (e = parseInt(e)), e && !isNaN(e)) {
1804
1806
  var n = t(this, v).closest("tr"), r = [];
1805
- $("th,td", n).each((m, T) => {
1806
- var S = ninegrid.j.querySelectorAll(T).attr("suppress");
1807
- S && T.dataset.row && (S = parseInt(S), !isNaN(S) && S <= e && r.push(S));
1807
+ $("th,td", n).each((m, C) => {
1808
+ var S = ninegrid.j.querySelectorAll(C).attr("suppress");
1809
+ S && C.dataset.row && (S = parseInt(S), !isNaN(S) && S <= e && r.push(S));
1808
1810
  }), r.sort();
1809
1811
  var i = !1;
1810
1812
  if (parseInt(n.sectionRowIndex / t(this, I).template.length) > 0)
1811
1813
  for (var o of r) {
1812
1814
  if (o > e) break;
1813
- var a = parseInt(t(this, v).dataset.row), c = a - 1, l = t(this, v).closest("tr").data, g = t(this, I).data.get(c);
1815
+ var a = parseInt(t(this, v).dataset.row), c = a - 1, l = t(this, v).closest("tr").data, u = t(this, I).data.get(c);
1814
1816
  t(this, v).dataset.matrixRow;
1815
- var f = t(this, I).body.querySelector(`tbody.bindable [suppress="${o}"][data-matrix-row="${t(this, v).dataset.matrixRow}"]`), b = f.dataset.expr ? this.getExprValue(f.dataset.expr, l, a) : l[f.dataset.bind], u = f.dataset.expr ? this.getExprValue(f.dataset.expr, g, c) : g[f.dataset.bind];
1816
- if (b != u) {
1817
+ var f = t(this, I).body.querySelector(`tbody.bindable [suppress="${o}"][data-matrix-row="${t(this, v).dataset.matrixRow}"]`), b = f.dataset.expr ? this.getExprValue(f.dataset.expr, l, a) : l[f.dataset.bind], g = f.dataset.expr ? this.getExprValue(f.dataset.expr, u, c) : u[f.dataset.bind];
1818
+ if (b != g) {
1817
1819
  i = !0;
1818
1820
  break;
1819
1821
  }
@@ -1821,7 +1823,7 @@ const ds = class ds extends Be {
1821
1823
  else
1822
1824
  i = !0;
1823
1825
  i ? ninegrid.j.querySelectorAll(t(this, v)).removeClass("suppress") : ninegrid.j.querySelectorAll(t(this, v)).addClass("suppress"), ninegrid.j.querySelectorAll(t(this, v)).hasClass("hidden") || (i ? ninegrid.j.querySelectorAll(t(this, v)).removeClass("hidden") : ninegrid.j.querySelectorAll(t(this, v)).addClass("hidden"));
1824
- var p = parseInt(t(this, v).dataset.matrixRow), x = p - 1, w = t(this, I).body.querySelector(`tbody.bindable [data-col="${t(this, v).dataset.col}"][data-matrix-row="${x}"]`);
1826
+ var y = parseInt(t(this, v).dataset.matrixRow), x = y - 1, w = t(this, I).body.querySelector(`tbody.bindable [data-col="${t(this, v).dataset.col}"][data-matrix-row="${x}"]`);
1825
1827
  $(w).hasClass("suppress") && !ninegrid.j.querySelectorAll(t(this, v)).hasClass("suppress") ? ninegrid.j.querySelectorAll(w).removeClass("last-none-suppress").addClass("last-suppress") : !$(w).hasClass("suppress") && ninegrid.j.querySelectorAll(t(this, v)).hasClass("suppress") ? ninegrid.j.querySelectorAll(w).removeClass("last-suppress").addClass("last-none-suppress") : ninegrid.j.querySelectorAll(w).removeClass("last-none-suppress").removeClass("last-suppress");
1826
1828
  }
1827
1829
  }
@@ -1840,7 +1842,7 @@ const ds = class ds extends Be {
1840
1842
  }, "getExprValue"));
1841
1843
  }
1842
1844
  connectedCallback() {
1843
- super.connectedCallback(), y(this, I, this.getRootNode().host), y(this, v, this.closest("th,td")), y(this, Ut, t(this, v).closest("tr"));
1845
+ super.connectedCallback(), p(this, I, this.getRootNode().host), p(this, v, this.closest("th,td")), p(this, Xt, t(this, v).closest("tr"));
1844
1846
  }
1845
1847
  get value() {
1846
1848
  var e = !t(this, I) || !t(this, I).dataManager || !t(this, v) || !t(this, v).dataset || !t(this, v).dataset.row || !t(this, v).dataset.bind ? "" : t(this, v).closest("tr").data[t(this, v).dataset.bind];
@@ -1859,12 +1861,12 @@ const ds = class ds extends Be {
1859
1861
  }
1860
1862
  refresh() {
1861
1863
  const e = t(this, v).dataset.bind;
1862
- return parseInt(t(this, v).dataset.row), t(this, Ut).data[e];
1864
+ return parseInt(t(this, v).dataset.row), t(this, Xt).data[e];
1863
1865
  }
1864
1866
  };
1865
- I = new WeakMap(), Ut = new WeakMap(), v = new WeakMap(), Ue = new WeakMap(), Xe = new WeakMap(), Ke = new WeakMap(), Ge = new WeakMap(), Ze = new WeakMap(), h(ds, "CellElement");
1866
- let Pe = ds;
1867
- const fs = class fs extends Pe {
1867
+ I = new WeakMap(), Xt = new WeakMap(), v = new WeakMap(), Ke = new WeakMap(), Ge = new WeakMap(), Ze = new WeakMap(), Je = new WeakMap(), Qe = new WeakMap(), h(us, "CellElement");
1868
+ let je = us;
1869
+ const gs = class gs extends je {
1868
1870
  constructor() {
1869
1871
  super();
1870
1872
  }
@@ -1875,21 +1877,21 @@ const fs = class fs extends Pe {
1875
1877
  return super.refresh();
1876
1878
  }
1877
1879
  };
1878
- h(fs, "EditableCellElement");
1879
- let Fe = fs;
1880
- var Xt, bt, At, Et, Ae, J, Je;
1881
- const us = class us extends Fe {
1880
+ h(gs, "EditableCellElement");
1881
+ let Ve = gs;
1882
+ var Kt, pt, Et, qt, qe, Q, ts;
1883
+ const bs = class bs extends Ve {
1882
1884
  constructor() {
1883
1885
  super();
1884
- d(this, Xt);
1885
- d(this, bt);
1886
- d(this, At);
1886
+ d(this, Kt);
1887
+ d(this, pt);
1887
1888
  d(this, Et);
1888
- d(this, Ae);
1889
- d(this, J);
1889
+ d(this, qt);
1890
+ d(this, qe);
1891
+ d(this, Q);
1890
1892
  E(this, "refresh", /* @__PURE__ */ h(() => {
1891
1893
  const e = super.refresh();
1892
- t(this, Xt).value = e;
1894
+ t(this, Kt).value = e;
1893
1895
  }, "refresh"));
1894
1896
  /**
1895
1897
  dataRefresh = (v) => {
@@ -1921,22 +1923,22 @@ const us = class us extends Fe {
1921
1923
  if (!v) this.reset();
1922
1924
  };
1923
1925
  */
1924
- d(this, Je, /* @__PURE__ */ h((e) => {
1926
+ d(this, ts, /* @__PURE__ */ h((e) => {
1925
1927
  if (!["Escape", "Enter", "Tab", "Home", "End", "ArrowLeft", "ArrowRight", "PageUp", "PageDown", "Backspace", "Delete"].includes(e.code)) {
1926
- if (t(this, bt) == "number") {
1928
+ if (t(this, pt) == "number") {
1927
1929
  let i = [];
1928
- if (t(this, J) && Number(t(this, J)) > 0 && i.push("."), t(this, Et) && Number(t(this, Et)) >= 0 && i.push("-"), !(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && !i.includes(e.key) && e.preventDefault(), t(this, J) && (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && e.target.selectionStart == e.target.selectionEnd) {
1930
+ if (t(this, Q) && Number(t(this, Q)) > 0 && i.push("."), t(this, qt) && Number(t(this, qt)) >= 0 && i.push("-"), !(e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && !i.includes(e.key) && e.preventDefault(), t(this, Q) && (e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105) && e.target.selectionStart == e.target.selectionEnd) {
1929
1931
  var n = e.target.value, r = n.indexOf(".");
1930
1932
  if (r >= 0) {
1931
1933
  var n = n.substr(r + 1, n.length);
1932
- n.length >= Number(t(this, J)) && e.preventDefault();
1934
+ n.length >= Number(t(this, Q)) && e.preventDefault();
1933
1935
  }
1934
1936
  }
1935
1937
  }
1936
- t(this, At) && ninegrid.getByteLength(e.target.value) >= Number(t(this, At)) && e.target.selectionStart == e.target.selectionEnd && e.preventDefault();
1938
+ t(this, Et) && ninegrid.getByteLength(e.target.value) >= Number(t(this, Et)) && e.target.selectionStart == e.target.selectionEnd && e.preventDefault();
1937
1939
  }
1938
1940
  }, "#onKeyDown"));
1939
- if (this.applyBaseStyle(), y(this, bt, this.getAttribute("type") || "text"), y(this, At, this.getAttribute("maxbyte")), y(this, Et, this.getAttribute("min")), y(this, Ae, this.getAttribute("max")), y(this, J, this.getAttribute("scale")), !["text", "number"].includes(t(this, bt))) throw `invalid type : ${t(this, bt)}`;
1941
+ if (this.applyBaseStyle(), p(this, pt, this.getAttribute("type") || "text"), p(this, Et, this.getAttribute("maxbyte")), p(this, qt, this.getAttribute("min")), p(this, qe, this.getAttribute("max")), p(this, Q, this.getAttribute("scale")), !["text", "number"].includes(t(this, pt))) throw `invalid type : ${t(this, pt)}`;
1940
1942
  }
1941
1943
  connectedCallback() {
1942
1944
  for (var e = [], n = 0; n < this.attributes.length; n++)
@@ -1946,11 +1948,11 @@ const us = class us extends Fe {
1946
1948
  ${e.join(" ")}
1947
1949
  ondragstart="return false;"
1948
1950
  >
1949
- `, super.connectedCallback(), y(this, Xt, this.querySelector("input"));
1951
+ `, super.connectedCallback(), p(this, Kt, this.querySelector("input"));
1950
1952
  }
1951
1953
  };
1952
- Xt = new WeakMap(), bt = new WeakMap(), At = new WeakMap(), Et = new WeakMap(), Ae = new WeakMap(), J = new WeakMap(), Je = new WeakMap(), h(us, "CellInputText");
1953
- let je = us;
1954
+ Kt = new WeakMap(), pt = new WeakMap(), Et = new WeakMap(), qt = new WeakMap(), qe = new WeakMap(), Q = new WeakMap(), ts = new WeakMap(), h(bs, "CellInputText");
1955
+ let Ye = bs;
1954
1956
  customElements.get("cell-input-text");
1955
- customElements.get("cell-input") || customElements.define("cell-input", je);
1957
+ customElements.get("cell-input") || customElements.define("cell-input", Ye);
1956
1958
  //# sourceMappingURL=nine-table.js.map