@ninebone/table 0.0.772 → 0.0.774

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