@ninebone/table 0.0.774 → 0.0.775

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