@ninebone/table 0.0.424 β†’ 0.0.426

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.
@@ -5,10 +5,10 @@ var me = (x) => {
5
5
  var we = (x, i, e) => i in x ? pe(x, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : x[i] = e;
6
6
  var a = (x, i) => pe(x, "name", { value: i, configurable: !0 });
7
7
  var v = (x, i, e) => we(x, typeof i != "symbol" ? i + "" : i, e), xe = (x, i, e) => i.has(x) || me("Cannot " + e);
8
- var t = (x, i, e) => (xe(x, i, "read from private field"), e ? e.call(x) : i.get(x)), c = (x, i, e) => i.has(x) ? me("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(x) : i.set(x, e), b = (x, i, e, s) => (xe(x, i, "write to private field"), s ? s.call(x, e) : i.set(x, e), e);
8
+ var t = (x, i, e) => (xe(x, i, "read from private field"), e ? e.call(x) : i.get(x)), c = (x, i, e) => i.has(x) ? me("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(x) : i.set(x, e), g = (x, i, e, s) => (xe(x, i, "write to private field"), s ? s.call(x, e) : i.set(x, e), e);
9
9
  var ve = (x, i, e, s) => ({
10
10
  set _(n) {
11
- b(x, i, n, e);
11
+ g(x, i, n, e);
12
12
  },
13
13
  get _() {
14
14
  return t(x, i, s);
@@ -22,29 +22,29 @@ const re = class re extends Se.constructor {
22
22
  };
23
23
  a(re, "Trace");
24
24
  let jt = re;
25
- const P = new jt();
26
- var M, O, p, Y, V, X, St, U, Et;
25
+ const T = new jt();
26
+ var _, O, p, V, Y, X, Et, U, Rt;
27
27
  const le = class le extends HTMLElement {
28
28
  constructor() {
29
29
  super();
30
- c(this, M);
30
+ c(this, _);
31
31
  c(this, O, !1);
32
32
  c(this, p);
33
- c(this, Y);
34
33
  c(this, V);
34
+ c(this, Y);
35
35
  c(this, X);
36
- c(this, St, /* @__PURE__ */ a(() => {
37
- if (!t(this, M)) return;
38
- const e = t(this, M).querySelector(".ng-container-body");
39
- e && (b(this, X, new ResizeObserver(() => {
36
+ c(this, Et, /* @__PURE__ */ a(() => {
37
+ if (!t(this, _)) return;
38
+ const e = t(this, _).querySelector(".ng-container-body");
39
+ e && (g(this, X, new ResizeObserver(() => {
40
40
  this.refresh();
41
41
  })), t(this, X).observe(e));
42
42
  }, "#observeResize"));
43
43
  v(this, "refresh", /* @__PURE__ */ a(() => {
44
- if (!t(this, M) || !t(this, p) || t(this, O)) return;
44
+ if (!t(this, _) || !t(this, p) || t(this, O)) return;
45
45
  const e = t(this, p).container, s = e.querySelector("table");
46
46
  if (!s) return;
47
- const n = t(this, p).track, r = t(this, p).thumb, o = t(this, M).querySelector(".ng-container-bottom"), l = e.clientWidth, d = s.scrollWidth;
47
+ const n = t(this, p).track, r = t(this, p).thumb, o = t(this, _).querySelector(".ng-container-bottom"), l = e.clientWidth, d = s.scrollWidth;
48
48
  if (l !== 0 && d > l)
49
49
  o && (o.style.display = "flex");
50
50
  else {
@@ -55,11 +55,11 @@ const le = class le extends HTMLElement {
55
55
  if (h <= 0) return;
56
56
  const f = Math.max(Math.min(h * (l / d), h), 20);
57
57
  r.style.width = `${f}px`;
58
- const u = e.scrollLeft, g = d - l;
58
+ const u = e.scrollLeft, b = d - l;
59
59
  let y = 0;
60
- g > 0 && (y = parseInt(u / g * (h - f), 10)), y < 0 && (y = 0);
60
+ b > 0 && (y = parseInt(u / b * (h - f), 10)), y < 0 && (y = 0);
61
61
  const m = h - f;
62
- y > m && (y = m), r.style.left = `${y}px`, P.log(y), t(this, p).left.disabled = y === 0, t(this, p).right.disabled = y >= m - 1;
62
+ y > m && (y = m), r.style.left = `${y}px`, T.log(y), t(this, p).left.disabled = y === 0, t(this, p).right.disabled = y >= m - 1;
63
63
  }, "refresh"));
64
64
  c(this, U, /* @__PURE__ */ a((e) => {
65
65
  if (!t(this, p)) return !1;
@@ -73,18 +73,18 @@ const le = class le extends HTMLElement {
73
73
  const h = s.clientWidth, u = n.scrollWidth - h;
74
74
  return d > 0 && u > 0 && (s.scrollLeft = l / d * u), l > 0 && l < d - 1;
75
75
  }, "#thumbMoveTo"));
76
- c(this, Et, /* @__PURE__ */ a(() => {
76
+ c(this, Rt, /* @__PURE__ */ a(() => {
77
77
  const e = /* @__PURE__ */ a((n) => {
78
- clearInterval(t(this, Y)), clearInterval(t(this, V));
78
+ clearInterval(t(this, V)), clearInterval(t(this, Y));
79
79
  const r = parseInt(t(this, p).thumb.style.left || 0, 10);
80
- t(this, U).call(this, r + n), b(this, Y, setInterval(() => {
81
- clearInterval(t(this, Y)), b(this, V, setInterval(() => {
80
+ t(this, U).call(this, r + n), g(this, V, setInterval(() => {
81
+ clearInterval(t(this, V)), g(this, Y, setInterval(() => {
82
82
  const o = parseInt(t(this, p).thumb.style.left || 0, 10);
83
- t(this, U).call(this, o + n) || clearInterval(t(this, V));
83
+ t(this, U).call(this, o + n) || clearInterval(t(this, Y));
84
84
  }, 50));
85
85
  }, 500));
86
86
  }, "delayScroll"), s = /* @__PURE__ */ a(() => {
87
- clearInterval(t(this, Y)), clearInterval(t(this, V));
87
+ clearInterval(t(this, V)), clearInterval(t(this, Y));
88
88
  }, "clearTimer");
89
89
  ["mouseup", "mouseleave", "touchend"].forEach((n) => {
90
90
  t(this, p).left.addEventListener(n, s), t(this, p).right.addEventListener(n, s), t(this, p).track.addEventListener(n, s);
@@ -99,20 +99,20 @@ const le = class le extends HTMLElement {
99
99
  t(this, U).call(this, n.clientX - r.left - o / 2);
100
100
  }), t(this, p).thumb.addEventListener("mousedown", (n) => {
101
101
  if (n.button !== 0) return;
102
- n.stopPropagation(), n.preventDefault(), b(this, O, !0), this.shiftX = n.clientX - t(this, p).thumb.getBoundingClientRect().left;
102
+ n.stopPropagation(), n.preventDefault(), g(this, O, !0), this.shiftX = n.clientX - t(this, p).thumb.getBoundingClientRect().left;
103
103
  const r = /* @__PURE__ */ a((l) => {
104
104
  if (!t(this, O)) return;
105
105
  const d = t(this, p).track.getBoundingClientRect();
106
106
  t(this, U).call(this, l.clientX - d.left - this.shiftX);
107
107
  }, "onMouseMove"), o = /* @__PURE__ */ a(() => {
108
- b(this, O, !1), s(), document.removeEventListener("mousemove", r), document.removeEventListener("mouseup", o), this.refresh();
108
+ g(this, O, !1), s(), document.removeEventListener("mousemove", r), document.removeEventListener("mouseup", o), this.refresh();
109
109
  }, "onMouseUp");
110
110
  document.addEventListener("mousemove", r), document.addEventListener("mouseup", o);
111
111
  });
112
112
  }, "#init"));
113
113
  }
114
114
  connectedCallback() {
115
- if (b(this, M, this.closest("nine-table-sheet") || this.getRootNode().host), !t(this, M)) return;
115
+ if (g(this, _, this.closest("nine-table-sheet") || this.getRootNode().host), !t(this, _)) return;
116
116
  this.innerHTML = `
117
117
  <style>
118
118
  nine-table-hscrollbar {
@@ -177,12 +177,12 @@ const le = class le extends HTMLElement {
177
177
  <button class='ng-scroll-right' disabled><div class='ng-scroll-icon'></div></button>
178
178
  `;
179
179
  const e = /* @__PURE__ */ a(() => {
180
- const s = t(this, M).querySelector(".ng-container-body");
180
+ const s = t(this, _).querySelector(".ng-container-body");
181
181
  if (!s) {
182
182
  setTimeout(e, 10);
183
183
  return;
184
184
  }
185
- b(this, p, {
185
+ g(this, p, {
186
186
  container: s,
187
187
  track: this.querySelector(".ng-scroll-track"),
188
188
  thumb: this.querySelector(".ng-scroll-thumb"),
@@ -190,7 +190,7 @@ const le = class le extends HTMLElement {
190
190
  right: this.querySelector(".ng-scroll-right")
191
191
  }), s.addEventListener("scroll", () => {
192
192
  t(this, O) || this.refresh();
193
- }), t(this, Et).call(this), t(this, St).call(this), this.refresh();
193
+ }), t(this, Rt).call(this), t(this, Et).call(this), this.refresh();
194
194
  }, "initWhenReady");
195
195
  e();
196
196
  }
@@ -198,28 +198,27 @@ const le = class le extends HTMLElement {
198
198
  t(this, X) && t(this, X).disconnect();
199
199
  }
200
200
  };
201
- M = new WeakMap(), O = new WeakMap(), p = new WeakMap(), Y = new WeakMap(), V = new WeakMap(), X = new WeakMap(), St = new WeakMap(), U = new WeakMap(), Et = new WeakMap(), a(le, "NineTableHScrollBar");
201
+ _ = new WeakMap(), O = new WeakMap(), p = new WeakMap(), V = new WeakMap(), Y = new WeakMap(), X = new WeakMap(), Et = new WeakMap(), U = new WeakMap(), Rt = new WeakMap(), a(le, "NineTableHScrollBar");
202
202
  let Kt = le;
203
203
  customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", Kt);
204
- var z, tt, F, E, ht, dt, Rt;
204
+ var F, Q, z, S, ht, dt, At;
205
205
  const ae = class ae extends HTMLElement {
206
206
  constructor() {
207
207
  super();
208
- c(this, z);
209
- c(this, tt);
210
- c(this, F, !1);
211
- c(this, E);
208
+ c(this, F);
209
+ c(this, Q);
210
+ c(this, z, !1);
211
+ c(this, S);
212
212
  c(this, ht, 0);
213
213
  c(this, dt, 0);
214
214
  /**
215
215
  * 🎯 μŠ€ν¬λ‘€λ°” μœ„μΉ˜ 및 썸브 크기 κ°±μ‹ 
216
216
  */
217
217
  v(this, "refresh", /* @__PURE__ */ a(() => {
218
- var W;
219
- if (!t(this, z) || !t(this, E)) return;
220
- const e = t(this, E).container, s = t(this, E).track, n = t(this, E).thumb, r = e.clientHeight, l = (t(this, z).data.get() || []).length, d = ((W = t(this, tt)) == null ? void 0 : W.getRowHeight()) || 24, h = l * d;
218
+ T.log("refresh", t(this, z)), T.log("refresh2");
219
+ const e = t(this, S).container, s = t(this, S).track, n = t(this, S).thumb, r = e.clientHeight, l = (t(this, F).data.get() || []).length, d = t(this, Q).getRowHeight(), h = l * d;
221
220
  if (h <= r) {
222
- n.style.display = "none", t(this, E).top.disabled = !0, t(this, E).bottom.disabled = !0;
221
+ n.style.display = "none", t(this, S).top.disabled = !0, t(this, S).bottom.disabled = !0;
223
222
  return;
224
223
  } else
225
224
  n.style.display = "block";
@@ -227,52 +226,53 @@ const ae = class ae extends HTMLElement {
227
226
  if (f <= 0) return;
228
227
  const u = Math.max(Math.min(f * (r / h), f), 20);
229
228
  n.style.height = `${u}px`;
230
- const g = e.scrollTop, y = Math.max(h - r, 1), m = f - u;
231
- let S = 0;
232
- y > 0 && m > 0 && (S = g / y * m), S < 0 && (S = 0), S > m && (S = m), n.style.top = `${S}px`, t(this, E).top.disabled = g <= 0, t(this, E).bottom.disabled = g >= y - 1;
229
+ const b = e.scrollTop, y = Math.max(h - r, 1);
230
+ let m = 0;
231
+ y > 0 && (m = b / y * (f - u));
232
+ const R = f - u;
233
+ m < 0 && (m = 0), m > R && (m = R), n.style.top = `${m}px`, T.log("currentScrollTop", b), T.log("maxScrollTop", y), T.log("trackHeight", f), T.log("thumbHeight", u), t(this, S).top.disabled = b <= 0, t(this, S).bottom.disabled = b >= y - 1;
233
234
  }, "refresh"));
234
- c(this, Rt, /* @__PURE__ */ a(() => {
235
- const e = t(this, E).container, s = /* @__PURE__ */ a(() => {
236
- var l;
237
- const r = (t(this, z).data.get() || []).length, o = ((l = t(this, tt)) == null ? void 0 : l.getRowHeight()) || 24;
235
+ c(this, At, /* @__PURE__ */ a(() => {
236
+ const e = t(this, S).container, s = /* @__PURE__ */ a(() => {
237
+ const r = (t(this, F).data.get() || []).length, o = t(this, Q).getRowHeight();
238
238
  return r * o;
239
239
  }, "getContentHeight");
240
240
  e.addEventListener("scroll", () => {
241
- t(this, F) || this.refresh();
242
- }), t(this, E).thumb.addEventListener("mousedown", (n) => {
241
+ t(this, z) || this.refresh();
242
+ }), t(this, S).thumb.addEventListener("mousedown", (n) => {
243
243
  if (n.button !== 0) return;
244
- n.stopPropagation(), n.preventDefault(), b(this, F, !0), b(this, ht, n.clientY), b(this, dt, e.scrollTop);
244
+ n.stopPropagation(), n.preventDefault(), g(this, z, !0), g(this, ht, n.clientY), g(this, dt, e.scrollTop);
245
245
  const r = /* @__PURE__ */ a((l) => {
246
- if (!t(this, F)) return;
247
- const d = t(this, E).track.getBoundingClientRect(), h = t(this, E).thumb.clientHeight, u = d.height - h, g = l.clientY - t(this, ht), y = e.clientHeight, m = s(), S = Math.max(m - y, 1);
248
- if (u > 0 && S > 0) {
249
- const W = g / u * S;
250
- let Q = t(this, dt) + W;
246
+ if (!t(this, z)) return;
247
+ const d = t(this, S).track.getBoundingClientRect(), h = t(this, S).thumb.clientHeight, u = d.height - h, b = l.clientY - t(this, ht), y = e.clientHeight, m = s(), R = Math.max(m - y, 1);
248
+ if (u > 0 && R > 0) {
249
+ const J = b / u * R;
250
+ let at = t(this, dt) + J;
251
251
  const ye = Math.max(0, m - y);
252
- Q < 0 && (Q = 0), Q > ye && (Q = ye), e.scrollTop = Q;
252
+ at < 0 && (at = 0), at > ye && (at = ye), e.scrollTop = at;
253
253
  }
254
254
  this.refresh();
255
255
  }, "onMouseMove"), o = /* @__PURE__ */ a(() => {
256
- b(this, F, !1), document.removeEventListener("mousemove", r), document.removeEventListener("mouseup", o), this.refresh();
256
+ g(this, z, !1), document.removeEventListener("mousemove", r), document.removeEventListener("mouseup", o), this.refresh();
257
257
  }, "onMouseUp");
258
258
  document.addEventListener("mousemove", r), document.addEventListener("mouseup", o);
259
- }), t(this, E).track.addEventListener("mousedown", (n) => {
260
- if (n.button !== 0 || n.target === t(this, E).thumb) return;
261
- const r = t(this, E).track.getBoundingClientRect(), o = t(this, E).thumb.clientHeight, l = n.clientY - r.top - o / 2, h = r.height - o, f = e.clientHeight, u = s(), g = Math.max(u - f, 1);
262
- if (h > 0 && g > 0) {
259
+ }), t(this, S).track.addEventListener("mousedown", (n) => {
260
+ if (n.button !== 0 || n.target === t(this, S).thumb) return;
261
+ const r = t(this, S).track.getBoundingClientRect(), o = t(this, S).thumb.clientHeight, l = n.clientY - r.top - o / 2, h = r.height - o, f = e.clientHeight, u = s(), b = Math.max(u - f, 1);
262
+ if (h > 0 && b > 0) {
263
263
  const y = Math.max(0, Math.min(1, l / h));
264
- e.scrollTop = y * g;
264
+ e.scrollTop = y * b;
265
265
  }
266
266
  this.refresh();
267
- }), t(this, E).top.addEventListener("click", () => {
267
+ }), t(this, S).top.addEventListener("click", () => {
268
268
  e.scrollTop -= 40;
269
- }), t(this, E).bottom.addEventListener("click", () => {
269
+ }), t(this, S).bottom.addEventListener("click", () => {
270
270
  e.scrollTop += 40;
271
271
  });
272
272
  }, "#init"));
273
273
  }
274
274
  connectedCallback() {
275
- b(this, z, this.getRootNode().host), b(this, tt, this.closest("nine-table-sheet")), this.innerHTML = `
275
+ g(this, F, this.getRootNode().host), g(this, Q, this.closest("nine-table-sheet")), this.innerHTML = `
276
276
  <style>
277
277
  nine-table-vscrollbar {
278
278
  display: flex;
@@ -338,32 +338,32 @@ const ae = class ae extends HTMLElement {
338
338
  <button class='ng-scroll-bottom' disabled><div class='ng-scroll-icon'></div></button>
339
339
  `;
340
340
  const e = /* @__PURE__ */ a(() => {
341
- const s = t(this, z).shadowRoot.querySelector(".ng-container-body");
341
+ const s = t(this, F).shadowRoot.querySelector(".ng-container-body");
342
342
  if (!s) {
343
343
  setTimeout(e, 10);
344
344
  return;
345
345
  }
346
- b(this, E, {
346
+ g(this, S, {
347
347
  container: s,
348
348
  track: this.querySelector(".ng-scroll-track"),
349
349
  thumb: this.querySelector(".ng-scroll-thumb"),
350
350
  top: this.querySelector(".ng-scroll-top"),
351
351
  bottom: this.querySelector(".ng-scroll-bottom")
352
- }), t(this, Rt).call(this), this.refresh();
352
+ }), t(this, At).call(this), this.refresh();
353
353
  }, "initWhenReady");
354
354
  e();
355
355
  }
356
356
  };
357
- z = new WeakMap(), tt = new WeakMap(), F = new WeakMap(), E = new WeakMap(), ht = new WeakMap(), dt = new WeakMap(), Rt = new WeakMap(), a(ae, "NineTableVScrollBar");
357
+ F = new WeakMap(), Q = new WeakMap(), z = new WeakMap(), S = new WeakMap(), ht = new WeakMap(), dt = new WeakMap(), At = new WeakMap(), a(ae, "NineTableVScrollBar");
358
358
  let Zt = ae;
359
359
  customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", Zt);
360
- var At, et;
361
- const H = class H {
360
+ var Tt, tt;
361
+ const M = class M {
362
362
  /**
363
363
  * 🎯 λ ˆμ΄μ•„μ›ƒ λ‚΄μ˜ μ—¬λŸ¬ rawTables 배열을 μΌκ΄„λ‘œ λ°›μ•„ 단일 λ§ˆμŠ€ν„° ν…œν”Œλ¦ΏμœΌλ‘œ 사전 μ»΄νŒŒμΌν•©λ‹ˆλ‹€.
364
364
  */
365
365
  static compileAll(i) {
366
- return Array.isArray(i) ? i.map((e) => H.compile(e)) : [];
366
+ return Array.isArray(i) ? i.map((e) => M.compile(e)) : [];
367
367
  }
368
368
  /**
369
369
  * 🎯 단일 원본 ν…Œμ΄λΈ”μ„ λ°›μ•„ κΈ°λ³Έ ꡬ쑰 보정 및 2차원 격자 인덱슀 사전 λΆ€μ—¬ μ™„λ£Œλœ λ§ˆμŠ€ν„° ν…Œμ΄λΈ” λ°˜ν™˜
@@ -372,7 +372,7 @@ const H = class H {
372
372
  var n, r, o, l;
373
373
  if (!i) return null;
374
374
  const e = i.cloneNode(!0);
375
- return t(n = H, At).call(n, e), t(r = H, et).call(r, e, "thead"), t(o = H, et).call(o, e, "tbody"), t(l = H, et).call(l, e, "tfoot"), Array.from(e.querySelectorAll("colgroup col")).forEach((d, h) => {
375
+ return t(n = M, Tt).call(n, e), t(r = M, tt).call(r, e, "thead"), t(o = M, tt).call(o, e, "tbody"), t(l = M, tt).call(l, e, "tfoot"), Array.from(e.querySelectorAll("colgroup col")).forEach((d, h) => {
376
376
  const f = d.getAttribute("fixed");
377
377
  f && e.querySelectorAll(`thead [data-col="${h}"], tbody [data-col="${h}"], tfoot [data-col="${h}"]`).forEach((u) => {
378
378
  u.setAttribute("fixed", f);
@@ -380,7 +380,7 @@ const H = class H {
380
380
  }), e;
381
381
  }
382
382
  };
383
- At = new WeakMap(), et = new WeakMap(), a(H, "TableCompiler"), c(H, At, /* @__PURE__ */ a((i) => {
383
+ Tt = new WeakMap(), tt = new WeakMap(), a(M, "TableCompiler"), c(M, Tt, /* @__PURE__ */ a((i) => {
384
384
  if (!i.querySelector("colgroup")) {
385
385
  const e = i.querySelector("tbody tr") || i.querySelector("tr"), s = e ? e.querySelectorAll("th, td").length : 1, n = document.createElement("colgroup"), r = Math.max(Math.floor(i.clientWidth / s), 100);
386
386
  for (let o = 0; o < s; o++) {
@@ -394,7 +394,7 @@ At = new WeakMap(), et = new WeakMap(), a(H, "TableCompiler"), c(H, At, /* @__PU
394
394
  s ? s.after(e) : i.prepend(e);
395
395
  }
396
396
  i.classList.add("nine-table-element"), i.style.display = "table";
397
- }, "#ensureTableStructure")), c(H, et, /* @__PURE__ */ a((i, e) => {
397
+ }, "#ensureTableStructure")), c(M, tt, /* @__PURE__ */ a((i, e) => {
398
398
  const s = Array.from(i.querySelectorAll(e + " tr")), n = Array.from(i.querySelectorAll(e + " th," + e + " td")), r = s.length;
399
399
  if (r === 0 || n.length === 0) return;
400
400
  let o = 0;
@@ -411,10 +411,10 @@ At = new WeakMap(), et = new WeakMap(), a(H, "TableCompiler"), c(H, At, /* @__PU
411
411
  f = m;
412
412
  break;
413
413
  }
414
- const g = u.rowSpan || 1, y = u.colSpan || 1;
415
- for (let m = 0; m < g; m++)
416
- for (let S = 0; S < y; S++)
417
- h + m < r && f + S < o && (l[h + m][f + S] = m === 0 && S === 0 ? "1" : "0");
414
+ const b = u.rowSpan || 1, y = u.colSpan || 1;
415
+ for (let m = 0; m < b; m++)
416
+ for (let R = 0; R < y; R++)
417
+ h + m < r && f + R < o && (l[h + m][f + R] = m === 0 && R === 0 ? "1" : "0");
418
418
  });
419
419
  }), s.forEach((d) => {
420
420
  const h = d.sectionRowIndex;
@@ -427,26 +427,26 @@ At = new WeakMap(), et = new WeakMap(), a(H, "TableCompiler"), c(H, At, /* @__PU
427
427
  });
428
428
  });
429
429
  }, "#resetColIndex"));
430
- let Gt = H;
431
- var _, w, I, T, D, j, N, it, Tt, qt, kt, ft, ut, Lt, Ct, bt, Ht, st, gt;
430
+ let Gt = M;
431
+ var I, w, W, q, D, j, B, et, qt, kt, Lt, ft, ut, Ht, Ct, gt, $t, it, bt;
432
432
  const ce = class ce {
433
433
  constructor(i) {
434
- c(this, _);
434
+ c(this, I);
435
435
  c(this, w);
436
- c(this, I, /* @__PURE__ */ new Map());
437
- c(this, T, null);
436
+ c(this, W, /* @__PURE__ */ new Map());
437
+ c(this, q, null);
438
438
  c(this, D, null);
439
439
  c(this, j, 0);
440
- c(this, N, 40);
441
- c(this, it, !1);
442
- c(this, Tt, 3);
440
+ c(this, B, 40);
441
+ c(this, et, !1);
442
+ c(this, qt, 3);
443
443
  v(this, "refresh", /* @__PURE__ */ a(() => {
444
444
  var e;
445
445
  const i = t(this, w).querySelector(".ng-container-body");
446
- i && (t(this, ft).call(this), t(this, st).call(this, i.scrollTop), (e = t(this, w).querySelector("nine-table-vscrollbar")) == null || e.refresh());
446
+ i && (t(this, ft).call(this), t(this, it).call(this, i.scrollTop), (e = t(this, w).querySelector("nine-table-vscrollbar")) == null || e.refresh());
447
447
  }, "refresh"));
448
448
  v(this, "initialize", /* @__PURE__ */ a(() => {
449
- b(this, T, null), t(this, I).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((n) => {
449
+ g(this, q, null), t(this, W).clear(), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((n) => {
450
450
  const r = t(this, w).querySelector(n);
451
451
  if (!r) return;
452
452
  const o = r.querySelector("table");
@@ -454,15 +454,15 @@ const ce = class ce {
454
454
  const l = o.querySelector("tbody.bindable-tbody");
455
455
  if (!l) return;
456
456
  const h = Array.from(l.querySelectorAll("tr")).map((f) => f.cloneNode(!0));
457
- t(this, I).set(n, h);
457
+ t(this, W).set(n, h);
458
458
  });
459
459
  const i = t(this, w).querySelector(".ng-container-body"), e = t(this, w).querySelector(".ng-container-left"), s = t(this, w).querySelector(".ng-container-right");
460
460
  if (i) {
461
- t(this, kt).call(this, i), t(this, bt).call(this), t(this, ft).call(this), t(this, st).call(this, i.scrollTop);
461
+ t(this, Lt).call(this, i), t(this, gt).call(this), t(this, ft).call(this), t(this, it).call(this, i.scrollTop);
462
462
  let n = i.scrollTop;
463
463
  const r = /* @__PURE__ */ a((o) => {
464
464
  var l;
465
- e && e.scrollTop !== o && (e.scrollTop = o), s && s.scrollTop !== o && (s.scrollTop = o), t(this, st).call(this, o), (l = t(this, w).querySelector("nine-table-vscrollbar")) == null || l.refresh();
465
+ e && e.scrollTop !== o && (e.scrollTop = o), s && s.scrollTop !== o && (s.scrollTop = o), t(this, it).call(this, o), (l = t(this, w).querySelector("nine-table-vscrollbar")) == null || l.refresh();
466
466
  }, "syncScroll");
467
467
  i.addEventListener("scroll", () => {
468
468
  const o = i.scrollTop;
@@ -470,73 +470,69 @@ const ce = class ce {
470
470
  });
471
471
  }
472
472
  }, "initialize"));
473
- c(this, qt, /* @__PURE__ */ a((i, e) => {
474
- const s = t(this, I).get(e);
473
+ c(this, kt, /* @__PURE__ */ a((i, e) => {
474
+ const s = t(this, W).get(e);
475
475
  if (!s || s.length === 0) return;
476
476
  const n = i.querySelector("tbody.bindable-tbody");
477
477
  if (!n) return;
478
478
  n.querySelectorAll("tr:not(.nodata)").forEach((l) => l.remove());
479
479
  const r = n.querySelector("tr.nodata"), o = document.createDocumentFragment();
480
- for (let l = 0; l < t(this, N); l++)
480
+ for (let l = 0; l < t(this, B); l++)
481
481
  s.forEach((d) => {
482
482
  o.appendChild(d.cloneNode(!0));
483
483
  });
484
484
  r ? r.before(o) : n.appendChild(o);
485
485
  }, "#renderRows"));
486
- c(this, kt, /* @__PURE__ */ a((i) => {
487
- if (t(this, T) !== null && t(this, T) > 0)
488
- return t(this, T);
489
- const e = t(this, I).get(".ng-container-body");
486
+ c(this, Lt, /* @__PURE__ */ a((i) => {
487
+ if (t(this, q) !== null && t(this, q) > 0)
488
+ return t(this, q);
489
+ const e = t(this, W).get(".ng-container-body");
490
490
  if (!e || e.length === 0) return 24;
491
491
  const s = i.querySelector("tbody.bindable-tbody") || i.querySelector("tbody.bindable-tbody:last-of-type");
492
492
  if (!s) return 24;
493
- s.querySelectorAll("tr:not(.nodata)").forEach((g) => g.remove());
493
+ s.querySelectorAll("tr:not(.nodata)").forEach((b) => b.remove());
494
494
  const n = s.querySelector("tr.nodata"), r = document.createDocumentFragment();
495
- e.forEach((g) => {
496
- r.appendChild(g.cloneNode(!0));
495
+ e.forEach((b) => {
496
+ r.appendChild(b.cloneNode(!0));
497
497
  }), n ? n.before(r) : s.appendChild(r);
498
498
  const o = t(this, w), l = o.style.display, d = o.style.visibility, h = o.style.position;
499
499
  (l === "none" || window.getComputedStyle(o).display === "none") && (o.style.display = "block", o.style.visibility = "hidden", o.style.position = "absolute");
500
500
  let f = 0;
501
501
  const u = s.querySelectorAll("tr:not(.nodata)");
502
- return u.forEach((g) => {
503
- f += g.offsetHeight || g.getBoundingClientRect().height;
504
- }), u.forEach((g) => g.remove()), o.style.display = l, o.style.visibility = d, o.style.position = h, b(this, T, f > 0 ? f : 24), t(this, ut).call(this), t(this, T);
502
+ return u.forEach((b) => {
503
+ f += b.offsetHeight || b.getBoundingClientRect().height;
504
+ }), u.forEach((b) => b.remove()), o.style.display = l, o.style.visibility = d, o.style.position = h, g(this, q, f > 0 ? f : 24), t(this, ut).call(this), t(this, q);
505
505
  }, "#measureAndCacheHeight"));
506
506
  c(this, ft, /* @__PURE__ */ a(() => {
507
507
  if (!t(this, w).querySelector(".ng-container-body")) return;
508
- const s = (t(this, _).data.get() || []).length, n = t(this, T) || 24, r = s * n;
509
- [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((o) => {
510
- const l = t(this, w).querySelector(o);
511
- if (!l) return;
512
- const d = l.querySelector("table");
513
- d && (d.style.height = "auto", d.style.minHeight = "auto");
514
- const h = l.querySelector(".ng-virtual-spacer");
515
- h && (h.style.height = `${r}px`);
508
+ const s = (t(this, I).data.get() || []).length, n = t(this, q) || 24, r = s * n;
509
+ T.log(`[VirtualHeight] totalCount: ${s}, rowHeight: ${n}, totalVirtualHeight: ${r}`), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((o) => {
510
+ const l = t(this, w).querySelector(o), d = l == null ? void 0 : l.querySelector("table");
511
+ d && (d.style.height = `${r}px`);
516
512
  });
517
513
  }, "#updateVirtualScrollHeight"));
518
514
  c(this, ut, /* @__PURE__ */ a(() => {
519
- if ((t(this, _).data.get() || []).length, t(this, j) > 0 && t(this, T) > 0) {
520
- const e = Math.ceil(t(this, j) / t(this, T));
521
- b(this, N, e + t(this, Tt)), P.log("visibleRows:", e, "cachedRowCount:", t(this, N));
515
+ if ((t(this, I).data.get() || []).length, t(this, j) > 0 && t(this, q) > 0) {
516
+ const e = Math.ceil(t(this, j) / t(this, q));
517
+ g(this, B, e + t(this, qt)), T.log("visibleRows:", e, "cachedRowCount:", t(this, B));
522
518
  }
523
519
  }, "#updateRowCount"));
524
- c(this, Lt, /* @__PURE__ */ a(() => {
520
+ c(this, Ht, /* @__PURE__ */ a(() => {
525
521
  var d, h, f;
526
522
  const i = t(this, w).querySelector(".ng-container-left table"), e = t(this, w).querySelector(".ng-container-body table"), s = t(this, w).querySelector(".ng-container-right table");
527
523
  if (!e) return;
528
524
  const n = i ? Array.from(i.querySelectorAll("tr")) : [], r = Array.from(e.querySelectorAll("tr")), o = s ? Array.from(s.querySelectorAll("tr")) : [], l = Math.max(n.length, r.length, o.length);
529
525
  for (let u = 0; u < l; u++) {
530
- const g = [
526
+ const b = [
531
527
  ((d = n[u]) == null ? void 0 : d.getBoundingClientRect().height) || 0,
532
528
  ((h = r[u]) == null ? void 0 : h.getBoundingClientRect().height) || 0,
533
529
  ((f = o[u]) == null ? void 0 : f.getBoundingClientRect().height) || 0
534
- ], y = Math.max(...g);
530
+ ], y = Math.max(...b);
535
531
  y > 0 && (n[u] && (n[u].style.height = `${y}px`), r[u] && (r[u].style.height = `${y}px`), o[u] && (o[u].style.height = `${y}px`));
536
532
  }
537
533
  }, "#syncRowHeights"));
538
534
  c(this, Ct, /* @__PURE__ */ a(() => {
539
- !t(this, w) || !(t(this, w) instanceof HTMLElement) || (b(this, D, new ResizeObserver((i) => {
535
+ !t(this, w) || !(t(this, w) instanceof HTMLElement) || (g(this, D, new ResizeObserver((i) => {
540
536
  for (const e of i) {
541
537
  const s = e.target;
542
538
  if (!s.classList.contains("active")) continue;
@@ -546,96 +542,100 @@ const ce = class ce {
546
542
  const o = s.querySelector("thead");
547
543
  o && (r += o.offsetHeight || o.getBoundingClientRect().height);
548
544
  const l = Math.max(n - r, 100);
549
- t(this, j) !== l && (b(this, j, l), t(this, ut).call(this), t(this, T) !== null && t(this, bt).call(this));
545
+ t(this, j) !== l && (g(this, j, l), t(this, ut).call(this), t(this, q) !== null && t(this, gt).call(this));
550
546
  }
551
547
  }
552
548
  })), t(this, D).observe(t(this, w)));
553
549
  }, "#initResizeObserver"));
554
- c(this, bt, /* @__PURE__ */ a(() => {
550
+ c(this, gt, /* @__PURE__ */ a(() => {
555
551
  [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((i) => {
556
552
  const e = t(this, w).querySelector(i);
557
- e && e.querySelector("tbody.bindable-tbody") && t(this, qt).call(this, e, i);
558
- }), t(this, Lt).call(this);
553
+ e && e.querySelector("tbody.bindable-tbody") && t(this, kt).call(this, e, i);
554
+ }), t(this, Ht).call(this);
559
555
  }, "#renderAllContainers"));
560
- c(this, Ht, /* @__PURE__ */ a((i) => {
556
+ c(this, $t, /* @__PURE__ */ a((i) => {
561
557
  [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((e) => {
562
558
  var h;
563
559
  const s = t(this, w).querySelector(e);
564
560
  if (!s) return;
565
561
  const n = s.querySelector("tbody.bindable-tbody");
566
562
  if (!n) return;
567
- const r = Array.from(n.querySelectorAll("tr:not(.nodata)")), o = ((h = t(this, I).get(e)) == null ? void 0 : h.length) || 1, d = (t(this, _).data.get() || []).length;
563
+ const r = Array.from(n.querySelectorAll("tr:not(.nodata)")), o = ((h = t(this, W).get(e)) == null ? void 0 : h.length) || 1, d = (t(this, I).data.get() || []).length;
568
564
  r.forEach((f, u) => {
569
- const g = i + Math.floor(u / o);
570
- if (g >= d) {
565
+ const b = i + Math.floor(u / o);
566
+ if (b >= d) {
571
567
  f.style.display = "none";
572
568
  return;
573
569
  }
574
- const y = t(this, _).data.get(g);
575
- f.style.display = "", t(this, gt).call(this, f, y, g);
570
+ const y = t(this, I).data.get(b);
571
+ f.style.display = "", t(this, bt).call(this, f, y, b);
576
572
  });
577
573
  });
578
574
  }, "#adjustBufferRows"));
579
- c(this, st, /* @__PURE__ */ a((i) => {
575
+ c(this, it, /* @__PURE__ */ a((i) => {
580
576
  var d;
581
- const e = t(this, T);
577
+ const e = t(this, q);
582
578
  if (!e || e <= 0) return;
583
- const n = (t(this, _).data.get() || []).length, r = Math.max(0, Math.floor(i / e)), o = ((d = t(this, I).get(".ng-container-body")) == null ? void 0 : d.length) || 1, l = r + t(this, N);
584
- P.log(`[Scroll] scrollTop: ${i}, startIndex: ${r}, cachedRowCount: ${t(this, N)}, targetDataIndex range: ${r} ~ ${l} (Total: ${n})`), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((h) => {
579
+ const n = (t(this, I).data.get() || []).length, r = Math.max(0, Math.floor(i / e)), o = ((d = t(this, W).get(".ng-container-body")) == null ? void 0 : d.length) || 1, l = r + t(this, B);
580
+ T.log(`[Scroll] scrollTop: ${i}, startIndex: ${r}, cachedRowCount: ${t(this, B)}, targetDataIndex range: ${r} ~ ${l} (Total: ${n})`), [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((h) => {
585
581
  const f = t(this, w).querySelector(h);
586
582
  if (!f) return;
587
583
  const u = f.querySelector("tbody.bindable-tbody");
588
584
  if (!u) return;
589
585
  Array.from(u.querySelectorAll("tr:not(.nodata)")).forEach((y, m) => {
590
- const S = r + Math.floor(m / o);
591
- if (S >= n) {
586
+ const R = r + Math.floor(m / o);
587
+ if (R >= n) {
592
588
  y.style.display = "none";
593
589
  return;
594
590
  }
595
- const W = t(this, _).data.get(S);
596
- y.style.display = "", t(this, gt).call(this, y, W, S);
591
+ const J = t(this, I).data.get(R);
592
+ y.style.display = "", t(this, bt).call(this, y, J, R);
597
593
  });
598
- }), t(this, it) || (b(this, it, !0), setTimeout(() => {
599
- t(this, Ht).call(this, r), b(this, it, !1);
594
+ }), t(this, et) || (g(this, et, !0), setTimeout(() => {
595
+ t(this, $t).call(this, r), g(this, et, !1);
600
596
  }, 0));
601
597
  }, "#handleScroll"));
602
- c(this, gt, /* @__PURE__ */ a((i, e, s) => {
598
+ c(this, bt, /* @__PURE__ */ a((i, e, s) => {
603
599
  i.dataset.row = s, Array.from(i.cells).forEach((n, r) => {
604
600
  const o = n.dataset.bind;
605
601
  o && e && e[o] !== void 0 ? n.textContent = e[o] : n.textContent = e ? e[Object.keys(e)[r]] ?? `R${s}C${r}` : `ν–‰ ${s + 1}`, n.dataset.row = s;
606
602
  });
607
603
  }, "#bindRowData"));
608
604
  v(this, "destroy", /* @__PURE__ */ a(() => {
609
- t(this, D) && (t(this, D).disconnect(), b(this, D, null));
605
+ t(this, D) && (t(this, D).disconnect(), g(this, D, null));
610
606
  }, "destroy"));
611
- b(this, _, i.getRootNode().host), b(this, w, i), t(this, Ct).call(this);
607
+ g(this, I, i.getRootNode().host), g(this, w, i), t(this, Ct).call(this);
612
608
  }
613
609
  getRowHeight() {
614
- return t(this, T);
610
+ return t(this, q);
615
611
  }
616
612
  templateLength(i = ".ng-container-body") {
617
613
  var e;
618
- return ((e = t(this, I).get(i)) == null ? void 0 : e.length) || 1;
614
+ return ((e = t(this, W).get(i)) == null ? void 0 : e.length) || 1;
619
615
  }
620
616
  };
621
- _ = new WeakMap(), w = new WeakMap(), I = new WeakMap(), T = new WeakMap(), D = new WeakMap(), j = new WeakMap(), N = new WeakMap(), it = new WeakMap(), Tt = new WeakMap(), qt = new WeakMap(), kt = new WeakMap(), ft = new WeakMap(), ut = new WeakMap(), Lt = new WeakMap(), Ct = new WeakMap(), bt = new WeakMap(), Ht = new WeakMap(), st = new WeakMap(), gt = new WeakMap(), a(ce, "RowManager");
617
+ I = new WeakMap(), w = new WeakMap(), W = new WeakMap(), q = new WeakMap(), D = new WeakMap(), j = new WeakMap(), B = new WeakMap(), et = new WeakMap(), qt = new WeakMap(), kt = new WeakMap(), Lt = new WeakMap(), ft = new WeakMap(), ut = new WeakMap(), Ht = new WeakMap(), Ct = new WeakMap(), gt = new WeakMap(), $t = new WeakMap(), it = new WeakMap(), bt = new WeakMap(), a(ce, "RowManager");
622
618
  let Jt = ce;
623
- var Mt, nt, K, _t, $t, It, Wt, Ot;
619
+ var yt, st, N, Mt, _t, It, Wt, Ot;
624
620
  const ct = class ct extends HTMLElement {
625
621
  constructor() {
626
622
  super();
627
- c(this, Mt);
628
- c(this, nt, null);
629
- c(this, K);
623
+ c(this, yt);
624
+ c(this, st, null);
625
+ c(this, N);
630
626
  /**
631
627
  * data.set, add, delete
632
628
  * filter, sorting : κ³ λ €λŒ€μƒ
633
629
  */
634
630
  v(this, "invalidate", /* @__PURE__ */ a(() => {
635
- var e, s;
636
- t(this, K).refresh(), (e = this.querySelector("nine-table-hscrollbar")) == null || e.refresh(), (s = this.querySelector("nine-table-vscrollbar")) == null || s.refresh();
631
+ var o, l;
632
+ const s = (((l = (o = t(this, yt)) == null ? void 0 : o.data) == null ? void 0 : l.get()) || []).length, n = t(this, N).getRowHeight() || 24, r = s * n;
633
+ [".ng-container-body", ".ng-container-left", ".ng-container-right"].forEach((d) => {
634
+ const h = this.querySelector(d), f = h == null ? void 0 : h.querySelector("table");
635
+ T.log("==============="), T.log(f, r), f && (f.style.height = `${r}px`, f.style.minHeight = `${r}px`);
636
+ }), t(this, N).refresh();
637
637
  }, "invalidate"));
638
- c(this, _t, /* @__PURE__ */ a(() => {
638
+ c(this, Mt, /* @__PURE__ */ a(() => {
639
639
  [
640
640
  { selector: ".ng-container-body", type: null },
641
641
  { selector: ".ng-container-left", type: "left" },
@@ -643,15 +643,11 @@ const ct = class ct extends HTMLElement {
643
643
  ].forEach(({ selector: s, type: n }) => {
644
644
  const r = this.querySelector(s);
645
645
  if (!r) return;
646
- const o = t(this, It).call(this, t(this, nt), n);
647
- r.innerHTML = "";
648
- const l = document.createElement("div");
649
- l.className = "ng-scroll-content", l.appendChild(o);
650
- const d = document.createElement("div");
651
- d.className = "ng-virtual-spacer", l.appendChild(d), r.appendChild(l);
646
+ const o = t(this, It).call(this, t(this, st), n);
647
+ r.innerHTML = "", r.appendChild(o);
652
648
  });
653
649
  }, "#renderSplitContainers"));
654
- c(this, $t, /* @__PURE__ */ a(() => {
650
+ c(this, _t, /* @__PURE__ */ a(() => {
655
651
  ["left", "right"].forEach((e) => {
656
652
  const s = this.querySelector(`.ng-container-${e}`), n = s == null ? void 0 : s.querySelector("table");
657
653
  if (!s || !n) return;
@@ -663,13 +659,13 @@ const ct = class ct extends HTMLElement {
663
659
  });
664
660
  }, "#updateContainerWidths"));
665
661
  v(this, "generate", /* @__PURE__ */ a((e) => {
666
- e && (b(this, nt, Gt.compile(e)), t(this, nt).style.display = "table", t(this, _t).call(this), t(this, $t).call(this), requestAnimationFrame(() => {
662
+ e && (g(this, st, Gt.compile(e)), t(this, st).style.display = "table", t(this, Mt).call(this), t(this, _t).call(this), requestAnimationFrame(() => {
667
663
  var n;
668
664
  const s = (n = this.querySelector("thead")) == null ? void 0 : n.getBoundingClientRect().height;
669
665
  this.querySelectorAll("tbody.fixed-tbody").forEach((r) => {
670
666
  r.style.top = `${s}px`;
671
667
  });
672
- }), t(this, K).initialize(), setTimeout(() => {
668
+ }), t(this, N).initialize(), setTimeout(() => {
673
669
  var s;
674
670
  (s = this.querySelector("nine-table-hscrollbar")) == null || s.refresh();
675
671
  }, 0));
@@ -691,7 +687,7 @@ const ct = class ct extends HTMLElement {
691
687
  o.remove();
692
688
  }), n;
693
689
  }, "#createSplitTable"));
694
- v(this, "getRowHeight", /* @__PURE__ */ a(() => t(this, K).getRowHeight(), "getRowHeight"));
690
+ v(this, "getRowHeight", /* @__PURE__ */ a(() => t(this, N).getRowHeight(), "getRowHeight"));
695
691
  v(this, "scrollToX", /* @__PURE__ */ a((e) => {
696
692
  const s = this.querySelector(".ng-container-body");
697
693
  s && (s.scrollLeft = e);
@@ -735,14 +731,21 @@ const ct = class ct extends HTMLElement {
735
731
  nine-table-sheet .ng-container-left {
736
732
  display: flex;
737
733
  flex-direction: column;
738
- overflow-y: auto;
739
- overflow-x: hidden;
734
+ overflow: hidden;
740
735
  background: #ffffff;
741
736
  border-right: 1px solid #e5e7eb;
742
737
  flex-shrink: 0;
743
- scrollbar-width: none;
744
- &::-webkit-scrollbar { display: none; }
745
738
  }
739
+
740
+ nine-table-sheet thead {
741
+ position: sticky;
742
+ top: 0;
743
+ }
744
+ nine-table-sheet tbody.fixed-tbody {
745
+ position: sticky;
746
+ z-index: 4;
747
+ }
748
+
746
749
 
747
750
  nine-table-sheet .ng-container-body {
748
751
  display: flex;
@@ -752,32 +755,23 @@ const ct = class ct extends HTMLElement {
752
755
  overflow-x: auto;
753
756
  background: #ffffff;
754
757
  position: relative;
758
+
759
+ &::-webkit-scrollbar {
760
+ display: none;
761
+ height: 0px;
762
+ }
763
+
755
764
  scrollbar-width: none;
756
- &::-webkit-scrollbar { display: none; height: 0px; }
757
765
  }
758
766
 
759
767
  nine-table-sheet .ng-container-right {
760
768
  display: flex;
769
+ flex-init: 0;
761
770
  flex-direction: column;
762
- overflow-y: auto;
763
- overflow-x: hidden;
771
+ overflow: hidden;
764
772
  background: #ffffff;
765
773
  border-left: 1px solid #e5e7eb;
766
774
  flex-shrink: 0;
767
- scrollbar-width: none;
768
- &::-webkit-scrollbar { display: none; }
769
- }
770
-
771
- nine-table-sheet .ng-scroll-content {
772
- position: relative;
773
- width: 100%;
774
- height: auto;
775
- }
776
-
777
- nine-table-sheet .ng-virtual-spacer {
778
- width: 100%;
779
- visibility: hidden;
780
- pointer-events: none;
781
775
  }
782
776
 
783
777
  nine-table-sheet .ng-container-bottom {
@@ -805,17 +799,6 @@ const ct = class ct extends HTMLElement {
805
799
  position: relative;
806
800
  }
807
801
 
808
- nine-table-sheet thead {
809
- position: sticky;
810
- top: 0;
811
- z-index: 3;
812
- }
813
-
814
- nine-table-sheet tbody.fixed-tbody {
815
- position: sticky;
816
- z-index: 4;
817
- }
818
-
819
802
  nine-table-sheet th, nine-table-sheet td {
820
803
  box-sizing: border-box;
821
804
  overflow: hidden;
@@ -863,19 +846,19 @@ const ct = class ct extends HTMLElement {
863
846
  </div>
864
847
  `;
865
848
  }, "#render"));
866
- b(this, K, new Jt(this)), b(this, Mt, this.getRootNode().host);
849
+ g(this, N, new Jt(this)), g(this, yt, this.getRootNode().host);
867
850
  }
868
851
  connectedCallback() {
869
852
  t(this, Wt).call(this);
870
853
  }
871
854
  disconnectedCallback() {
872
- this.innerHTML = "", P.log("NineTableSheet destroyed.");
855
+ this.innerHTML = "", T.log("NineTableSheet destroyed.");
873
856
  }
874
857
  };
875
- Mt = new WeakMap(), nt = new WeakMap(), K = new WeakMap(), _t = new WeakMap(), $t = new WeakMap(), It = new WeakMap(), Wt = new WeakMap(), Ot = new WeakMap(), a(ct, "NineTableSheet"), v(ct, "SCROLLBAR_SIZE", 16);
876
- let wt = ct;
877
- customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", wt);
878
- var zt, yt;
858
+ yt = new WeakMap(), st = new WeakMap(), N = new WeakMap(), Mt = new WeakMap(), _t = new WeakMap(), It = new WeakMap(), Wt = new WeakMap(), Ot = new WeakMap(), a(ct, "NineTableSheet"), v(ct, "SCROLLBAR_SIZE", 16);
859
+ let St = ct;
860
+ customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", St);
861
+ var zt, pt;
879
862
  const he = class he extends HTMLElement {
880
863
  constructor() {
881
864
  super();
@@ -884,17 +867,17 @@ const he = class he extends HTMLElement {
884
867
  (e = this.querySelector(".nine-tab-bar")) == null || e.addEventListener("click", (s) => {
885
868
  var o;
886
869
  const n = s.ctrlKey || s.metaKey || s.shiftKey, r = parseInt((o = s.target.closest(".nine-tab-item")) == null ? void 0 : o.dataset.index, 10);
887
- t(this, yt).call(this, r, n);
888
- }), t(this, yt).call(this, 0, !1);
870
+ t(this, pt).call(this, r, n);
871
+ }), t(this, pt).call(this, 0, !1);
889
872
  }, "#init"));
890
- c(this, yt, /* @__PURE__ */ a((e, s = !1) => {
873
+ c(this, pt, /* @__PURE__ */ a((e, s = !1) => {
891
874
  const n = /* @__PURE__ */ a(() => {
892
875
  const f = Array.from(this.querySelectorAll("nine-table-sheet"));
893
876
  Array.from(this.querySelectorAll("nine-splitter")).forEach((y) => y.style.setProperty("display", "none"));
894
- const g = f.filter((y) => y.classList.contains("active"));
895
- g.length < 2 || g.forEach((y) => {
896
- const m = parseInt(y.getAttribute("data-index"), 10), S = this.querySelector(`nine-splitter[data-split-index="${m}"]`), W = f[m + 1];
897
- S && W && W.classList.contains("active") && S.style.setProperty("display", "flex");
877
+ const b = f.filter((y) => y.classList.contains("active"));
878
+ b.length < 2 || b.forEach((y) => {
879
+ const m = parseInt(y.getAttribute("data-index"), 10), R = this.querySelector(`nine-splitter[data-split-index="${m}"]`), J = f[m + 1];
880
+ R && J && J.classList.contains("active") && R.style.setProperty("display", "flex");
898
881
  });
899
882
  }, "updateSplitters"), r = this.querySelector(".nine-tab-bar"), o = this.querySelector("nine-table-sheets-body"), l = r.querySelectorAll(".nine-tab-item"), d = o.querySelectorAll("nine-table-sheet");
900
883
  if (!l[e]) return;
@@ -902,16 +885,16 @@ const he = class he extends HTMLElement {
902
885
  l.forEach((f, u) => {
903
886
  f.classList.toggle("active", u === e);
904
887
  }), d.forEach((f, u) => {
905
- const g = u === e;
906
- f.classList.toggle("active", g), f.style.flex = g ? "1 1 100%" : "";
888
+ const b = u === e;
889
+ f.classList.toggle("active", b), f.style.flex = b ? "1 1 100%" : "";
907
890
  });
908
891
  else {
909
892
  const f = l[e], u = r.querySelectorAll(".nine-tab-item.active");
910
893
  if (f.classList.contains("active") && u.length <= 1)
911
894
  return;
912
895
  f.classList.toggle("active");
913
- const g = o.querySelector(`nine-table-sheet[data-index="${e}"]`);
914
- g && (g.classList.toggle("active"), g.classList.contains("active") || (g.style.flex = ""));
896
+ const b = o.querySelector(`nine-table-sheet[data-index="${e}"]`);
897
+ b && (b.classList.toggle("active"), b.classList.contains("active") || (b.style.flex = ""));
915
898
  }
916
899
  const h = o.querySelectorAll("nine-table-sheet.active");
917
900
  h == null || h.forEach((f) => {
@@ -923,32 +906,32 @@ const he = class he extends HTMLElement {
923
906
  t(this, zt).call(this);
924
907
  }
925
908
  };
926
- zt = new WeakMap(), yt = new WeakMap(), a(he, "NineTableSheets");
909
+ zt = new WeakMap(), pt = new WeakMap(), a(he, "NineTableSheets");
927
910
  let Qt = he;
928
911
  customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", Qt);
929
- var q, Dt, pt, Nt;
912
+ var k, Dt, mt, Bt;
930
913
  const de = class de {
931
914
  constructor(i) {
932
- c(this, q);
915
+ c(this, k);
933
916
  c(this, Dt, /* @__PURE__ */ a(() => {
934
- t(this, Nt).call(this), new ResizeObserver((i) => {
917
+ t(this, Bt).call(this), new ResizeObserver((i) => {
935
918
  for (let e of i)
936
- t(this, q).getAttribute("auto-height") === "true" && t(this, pt).call(this);
937
- }).observe(t(this, q));
919
+ t(this, k).getAttribute("auto-height") === "true" && t(this, mt).call(this);
920
+ }).observe(t(this, k));
938
921
  }, "#init"));
939
- c(this, pt, /* @__PURE__ */ a(() => {
922
+ c(this, mt, /* @__PURE__ */ a(() => {
940
923
  var d, h;
941
- const i = Array.from(t(this, q).shadowRoot.querySelectorAll("nine-table-sheet.active"));
924
+ const i = Array.from(t(this, k).shadowRoot.querySelectorAll("nine-table-sheet.active"));
942
925
  if (i.length === 0) return;
943
- const e = parseInt(t(this, q).getAttribute("max-display-row"), 10) || 10, s = Math.max(...i.map((f) => f.getRowHeight())), n = (d = t(this, q).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : d.getBoundingClientRect().height, r = (h = t(this, q).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : h.getBoundingClientRect().height, o = wt.SCROLLBAR_SIZE, l = e * s + n + r + o;
944
- t(this, q).style.height = `${l}px`;
926
+ const e = parseInt(t(this, k).getAttribute("max-display-row"), 10) || 10, s = Math.max(...i.map((f) => f.getRowHeight())), n = (d = t(this, k).shadowRoot.querySelector("nine-table-header")) == null ? void 0 : d.getBoundingClientRect().height, r = (h = t(this, k).shadowRoot.querySelector("nine-table-sheets-footer")) == null ? void 0 : h.getBoundingClientRect().height, o = St.SCROLLBAR_SIZE, l = e * s + n + r + o;
927
+ t(this, k).style.height = `${l}px`;
945
928
  }, "#applyAutoHeight"));
946
- c(this, Nt, /* @__PURE__ */ a(() => {
947
- const e = Array.from(t(this, q).children).filter((d) => d.tagName === "TABLE"), s = t(this, q).getAttribute("auto-height") === "true", n = e.length, r = e.map((d, h) => {
948
- const u = `<nine-table-sheet class="${h === 0 ? "active" : ""}" data-index="${h}"></nine-table-sheet>`, g = h < n - 1 ? `<nine-splitter class="h" data-split-index="${h}"></nine-splitter>` : "";
949
- return u + g;
929
+ c(this, Bt, /* @__PURE__ */ a(() => {
930
+ const e = Array.from(t(this, k).children).filter((d) => d.tagName === "TABLE"), s = t(this, k).getAttribute("auto-height") === "true", n = e.length, r = e.map((d, h) => {
931
+ const u = `<nine-table-sheet class="${h === 0 ? "active" : ""}" data-index="${h}"></nine-table-sheet>`, b = h < n - 1 ? `<nine-splitter class="h" data-split-index="${h}"></nine-splitter>` : "";
932
+ return u + b;
950
933
  }).join(""), o = e.map((d, h) => `<div class="nine-tab-item ${h === 0 ? "active" : ""}" data-index="${h}">Sheet ${h + 1}</div>`).join("");
951
- t(this, q).shadowRoot.innerHTML = `
934
+ t(this, k).shadowRoot.innerHTML = `
952
935
  <style>
953
936
  :host {
954
937
  display: flex;
@@ -1039,57 +1022,57 @@ const de = class de {
1039
1022
  </nine-table-body>
1040
1023
  <nine-table-footer></nine-table-footer>
1041
1024
  `;
1042
- const l = t(this, q).shadowRoot.querySelectorAll("nine-table-sheet");
1025
+ const l = t(this, k).shadowRoot.querySelectorAll("nine-table-sheet");
1043
1026
  l == null || l.forEach((d, h) => {
1044
1027
  e[h] && setTimeout(() => {
1045
- d.generate(e[h]), s && t(this, pt).call(this);
1028
+ d.generate(e[h]), s && t(this, mt).call(this);
1046
1029
  });
1047
1030
  });
1048
1031
  }, "#render"));
1049
- b(this, q, i), t(this, Dt).call(this);
1032
+ g(this, k, i), t(this, Dt).call(this);
1050
1033
  }
1051
1034
  };
1052
- q = new WeakMap(), Dt = new WeakMap(), pt = new WeakMap(), Nt = new WeakMap(), a(de, "LayoutManager");
1035
+ k = new WeakMap(), Dt = new WeakMap(), mt = new WeakMap(), Bt = new WeakMap(), a(de, "LayoutManager");
1053
1036
  let te = de;
1054
- var mt, ot;
1037
+ var xt, nt;
1055
1038
  const fe = class fe {
1056
1039
  constructor(i) {
1057
- c(this, mt);
1058
- c(this, ot, -1);
1059
- v(this, "count", /* @__PURE__ */ a(() => t(this, mt).rawRecords.length, "count"));
1060
- b(this, mt, i);
1040
+ c(this, xt);
1041
+ c(this, nt, -1);
1042
+ v(this, "count", /* @__PURE__ */ a(() => t(this, xt).rawRecords.length, "count"));
1043
+ g(this, xt, i);
1061
1044
  }
1062
1045
  get at() {
1063
- return t(this, ot);
1046
+ return t(this, nt);
1064
1047
  }
1065
1048
  set at(i) {
1066
- b(this, ot, parseInt(i, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, ot)}"]`) && setTimeout(() => {
1049
+ g(this, nt, parseInt(i, 10)), body && !body.querySelector(`tbody.bindable tr[data-row="${t(this, nt)}"]`) && setTimeout(() => {
1067
1050
  });
1068
1051
  }
1069
1052
  };
1070
- mt = new WeakMap(), ot = new WeakMap(), a(fe, "ngRow");
1053
+ xt = new WeakMap(), nt = new WeakMap(), a(fe, "ngRow");
1071
1054
  let ee = fe;
1072
- var k, R, L, rt, Bt, B, Pt, Z, xt, Yt, Vt, lt;
1055
+ var L, E, H, ot, Nt, P, Pt, K, vt, Vt, Yt, rt;
1073
1056
  const C = class C {
1074
1057
  constructor(i, e) {
1075
- c(this, k);
1076
- c(this, R);
1077
- c(this, L, []);
1078
- c(this, rt, []);
1079
- c(this, Bt, 0);
1080
- c(this, B, []);
1058
+ c(this, L);
1059
+ c(this, E);
1060
+ c(this, H, []);
1061
+ c(this, ot, []);
1062
+ c(this, Nt, 0);
1063
+ c(this, P, []);
1081
1064
  c(this, Pt, /* @__PURE__ */ a(() => {
1082
- b(this, B, []);
1083
- const i = t(this, k).template || [];
1065
+ g(this, P, []);
1066
+ const i = t(this, L).template || [];
1084
1067
  Array.from(i).forEach((e) => {
1085
1068
  var s;
1086
- t(this, B).push(((s = e.getBoundingClientRect) == null ? void 0 : s.call(e).height) || 24);
1087
- }), (t(this, R).rawRecords || []).forEach((e) => {
1088
- e.__ng || (e.__ng = t(this, xt).call(this)), e.__ng.height = t(this, B).slice();
1069
+ t(this, P).push(((s = e.getBoundingClientRect) == null ? void 0 : s.call(e).height) || 24);
1070
+ }), (t(this, E).rawRecords || []).forEach((e) => {
1071
+ e.__ng || (e.__ng = t(this, vt).call(this)), e.__ng.height = t(this, P).slice();
1089
1072
  });
1090
1073
  }, "#initialize"));
1091
- c(this, Z, /* @__PURE__ */ a(() => {
1092
- t(this, k).shadowRoot.querySelectorAll("nine-table-sheet").forEach((i) => {
1074
+ c(this, K, /* @__PURE__ */ a(() => {
1075
+ t(this, L).shadowRoot.querySelectorAll("nine-table-sheet").forEach((i) => {
1093
1076
  i.invalidate();
1094
1077
  });
1095
1078
  }, "#invalidate"));
@@ -1097,38 +1080,38 @@ const C = class C {
1097
1080
  var r;
1098
1081
  const s = this.getValidData();
1099
1082
  if (!s || s.length <= 0) return;
1100
- if (i == null) return t(this, lt).call(this, s);
1083
+ if (i == null) return t(this, rt).call(this, s);
1101
1084
  if (i < 0 || i >= s.length) return null;
1102
- const n = typeof ((r = t(this, k).fields) == null ? void 0 : r.get) == "function" ? t(this, k).fields.get() : [];
1085
+ const n = typeof ((r = t(this, L).fields) == null ? void 0 : r.get) == "function" ? t(this, L).fields.get() : [];
1103
1086
  if (e != null) {
1104
1087
  const o = n.indexOf(e);
1105
1088
  return o >= 0 ? s[i].v[o] : null;
1106
1089
  }
1107
- return t(this, lt).call(this, s[i]);
1090
+ return t(this, rt).call(this, s[i]);
1108
1091
  }, "get"));
1109
1092
  v(this, "set", /* @__PURE__ */ a((i) => {
1110
- this.clear(), this.add(i, !1), t(this, Z).call(this);
1093
+ this.clear(), this.add(i, !1), t(this, K).call(this);
1111
1094
  }, "set"));
1112
- c(this, xt, /* @__PURE__ */ a(() => ({
1095
+ c(this, vt, /* @__PURE__ */ a(() => ({
1113
1096
  rowState: C.ROW_STATE.EMPTY,
1114
1097
  deleted: !1,
1115
1098
  filtered: !1,
1116
- height: t(this, B).slice(),
1099
+ height: t(this, P).slice(),
1117
1100
  o: {},
1118
1101
  c: {},
1119
- _: [0, 0, 0, 0, C.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, B).slice(), -1, {}, {}]
1102
+ _: [0, 0, 0, 0, C.ROW_STATE.EMPTY, !1, !1, !0, !1, !0, !0, !1, t(this, P).slice(), -1, {}, {}]
1120
1103
  }), "#getDefaultMeta"));
1121
1104
  v(this, "reset", /* @__PURE__ */ a(() => {
1122
- b(this, L, []), b(this, rt, []), t(this, Z).call(this);
1105
+ g(this, H, []), g(this, ot, []), t(this, K).call(this);
1123
1106
  }, "reset"));
1124
1107
  v(this, "clear", /* @__PURE__ */ a(() => {
1125
1108
  var i;
1126
- t(this, R).rawRecords = [], b(this, L, []), b(this, rt, []), (i = t(this, R).viewRecords) != null && i.reset && t(this, R).viewRecords.reset();
1109
+ t(this, E).rawRecords = [], g(this, H, []), g(this, ot, []), (i = t(this, E).viewRecords) != null && i.reset && t(this, E).viewRecords.reset();
1127
1110
  }, "clear"));
1128
- c(this, Yt, /* @__PURE__ */ a((i) => {
1111
+ c(this, Vt, /* @__PURE__ */ a((i) => {
1129
1112
  var n;
1130
1113
  Array.isArray(i) || (i = [i]);
1131
- const e = typeof ((n = t(this, k).fields) == null ? void 0 : n.get) == "function" ? t(this, k).fields.get() : Object.keys(i[0] || {}), s = [];
1114
+ const e = typeof ((n = t(this, L).fields) == null ? void 0 : n.get) == "function" ? t(this, L).fields.get() : Object.keys(i[0] || {}), s = [];
1132
1115
  return i.forEach((r) => {
1133
1116
  const o = { v: [] };
1134
1117
  e.forEach((l) => {
@@ -1136,34 +1119,34 @@ const C = class C {
1136
1119
  }), s.push(o);
1137
1120
  }), s;
1138
1121
  }, "#json2Array"));
1139
- c(this, Vt, /* @__PURE__ */ a((i) => (Array.isArray(i) || (i = [i]), i.forEach((e) => {
1140
- e.__ng = t(this, xt).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = C.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
1122
+ c(this, Yt, /* @__PURE__ */ a((i) => (Array.isArray(i) || (i = [i]), i.forEach((e) => {
1123
+ e.__ng = t(this, vt).call(this), e.__ng.rowid = this.nextId, e.__ng.rowState = C.ROW_STATE.INSERT, e.__ng._[0] = e.__ng.rowid;
1141
1124
  }), i), "#defaultInsert"));
1142
1125
  v(this, "add", /* @__PURE__ */ a((i, e = !0) => {
1143
1126
  i === void 0 && (i = {});
1144
- const s = t(this, Yt).call(this, i);
1145
- t(this, R).rawRecords = t(this, R).rawRecords.concat(t(this, Vt).call(this, s)), this.resetRecords();
1127
+ const s = t(this, Vt).call(this, i);
1128
+ t(this, E).rawRecords = t(this, E).rawRecords.concat(t(this, Yt).call(this, s)), this.resetRecords();
1146
1129
  const n = this.count() - 1;
1147
1130
  return e || s.forEach((r, o) => {
1148
- const l = t(this, R).rawRecords[n - o];
1131
+ const l = t(this, E).rawRecords[n - o];
1149
1132
  l && (l.__ng.rowState = C.ROW_STATE.EMPTY);
1150
- }), t(this, Z).call(this), n;
1133
+ }), t(this, K).call(this), n;
1151
1134
  }, "add"));
1152
1135
  v(this, "delete", /* @__PURE__ */ a((i) => {
1153
1136
  let e = [];
1154
- Array.isArray(i) ? e = i : typeof i > "u" ? e = [t(this, R).host.row.at] : e = [parseInt(i, 10)], e.sort((s, n) => n - s).forEach((s) => {
1155
- if (t(this, L)[s]) {
1156
- const n = t(this, L)[s].__ng.rowid;
1157
- t(this, L)[s].__ng.rowState === C.ROW_STATE.INSERT ? t(this, R).rawRecords = t(this, R).rawRecords.filter((r) => r.__ng.rowid !== n) : t(this, R).rawRecords.forEach((r) => {
1137
+ Array.isArray(i) ? e = i : typeof i > "u" ? e = [t(this, E).host.row.at] : e = [parseInt(i, 10)], e.sort((s, n) => n - s).forEach((s) => {
1138
+ if (t(this, H)[s]) {
1139
+ const n = t(this, H)[s].__ng.rowid;
1140
+ t(this, H)[s].__ng.rowState === C.ROW_STATE.INSERT ? t(this, E).rawRecords = t(this, E).rawRecords.filter((r) => r.__ng.rowid !== n) : t(this, E).rawRecords.forEach((r) => {
1158
1141
  r.__ng.rowid === n && (r.__ng.deleted = !0, r.__ng.rowState = C.ROW_STATE.DELETE);
1159
1142
  });
1160
1143
  }
1161
- }), this.resetRecords(), t(this, Z).call(this);
1144
+ }), this.resetRecords(), t(this, K).call(this);
1162
1145
  }, "delete"));
1163
1146
  v(this, "setValue", /* @__PURE__ */ a((i, e, s) => {
1164
1147
  var d;
1165
1148
  i = parseInt(i, 10);
1166
- const r = (typeof ((d = t(this, k).fields) == null ? void 0 : d.get) == "function" ? t(this, k).fields.get() : []).indexOf(e);
1149
+ const r = (typeof ((d = t(this, L).fields) == null ? void 0 : d.get) == "function" ? t(this, L).fields.get() : []).indexOf(e);
1167
1150
  if (r < 0) return;
1168
1151
  const o = this.getValidData()[i];
1169
1152
  if (!o) return;
@@ -1171,17 +1154,17 @@ const C = class C {
1171
1154
  l !== s && o.__ng.rowState !== C.ROW_STATE.INSERT && (o.__ng.o.hasOwnProperty(e) || (o.__ng.o[e] = l), o.__ng.rowState = C.ROW_STATE.UPDATE), o.v[r] = s;
1172
1155
  }, "setValue"));
1173
1156
  v(this, "resetRecords", /* @__PURE__ */ a(() => {
1174
- b(this, rt, t(this, R).rawRecords.filter((i) => !i.__ng.deleted)), b(this, L, t(this, R).rawRecords.filter((i) => !i.__ng.deleted && !i.__ng.filtered)), t(this, R).rawRecords.forEach((i, e) => {
1157
+ g(this, ot, t(this, E).rawRecords.filter((i) => !i.__ng.deleted)), g(this, H, t(this, E).rawRecords.filter((i) => !i.__ng.deleted && !i.__ng.filtered)), t(this, E).rawRecords.forEach((i, e) => {
1175
1158
  i.__ng.rowidx = e;
1176
- }), t(this, L).forEach((i, e) => {
1159
+ }), t(this, H).forEach((i, e) => {
1177
1160
  i.__ng.i = e;
1178
1161
  });
1179
1162
  }, "resetRecords"));
1180
- v(this, "getValidData", /* @__PURE__ */ a(() => (t(this, L).length === 0 && t(this, R).rawRecords.length > 0 && this.resetRecords(), t(this, L)), "getValidData"));
1181
- c(this, lt, /* @__PURE__ */ a((i) => {
1163
+ v(this, "getValidData", /* @__PURE__ */ a(() => (t(this, H).length === 0 && t(this, E).rawRecords.length > 0 && this.resetRecords(), t(this, H)), "getValidData"));
1164
+ c(this, rt, /* @__PURE__ */ a((i) => {
1182
1165
  var o;
1183
1166
  if (!i) return i;
1184
- const e = !Array.isArray(i), s = e ? [i] : i, n = typeof ((o = t(this, k).fields) == null ? void 0 : o.get) == "function" ? t(this, k).fields.get() : [], r = s.filter((l) => !l.__ng.deleted).map((l) => {
1167
+ const e = !Array.isArray(i), s = e ? [i] : i, n = typeof ((o = t(this, L).fields) == null ? void 0 : o.get) == "function" ? t(this, L).fields.get() : [], r = s.filter((l) => !l.__ng.deleted).map((l) => {
1185
1168
  const d = {};
1186
1169
  return n.forEach((h, f) => {
1187
1170
  d[h] = l.v ? l.v[f] : l[h];
@@ -1190,25 +1173,25 @@ const C = class C {
1190
1173
  return e ? r[0] : r;
1191
1174
  }, "#conv"));
1192
1175
  v(this, "count", /* @__PURE__ */ a(() => this.getValidData().length, "count"));
1193
- b(this, k, i), b(this, R, e), t(this, Pt).call(this);
1176
+ g(this, L, i), g(this, E, e), t(this, Pt).call(this);
1194
1177
  }
1195
1178
  get source() {
1196
- return t(this, lt).call(this, t(this, R).rawRecords);
1179
+ return t(this, rt).call(this, t(this, E).rawRecords);
1197
1180
  }
1198
1181
  set source(i) {
1199
1182
  this.clear(), this.add(i, !1);
1200
1183
  }
1201
1184
  get nextId() {
1202
- return ++ve(this, Bt)._;
1185
+ return ++ve(this, Nt)._;
1203
1186
  }
1204
1187
  get length() {
1205
- return t(this, L).length;
1188
+ return t(this, H).length;
1206
1189
  }
1207
1190
  getRowCount() {
1208
1191
  return this.length;
1209
1192
  }
1210
1193
  };
1211
- k = new WeakMap(), R = new WeakMap(), L = new WeakMap(), rt = new WeakMap(), Bt = new WeakMap(), B = new WeakMap(), Pt = new WeakMap(), Z = new WeakMap(), xt = new WeakMap(), Yt = new WeakMap(), Vt = new WeakMap(), lt = new WeakMap(), a(C, "ngData"), // 🎯 ν–‰ μƒνƒœ μ •μ˜ μƒμˆ˜λ₯Ό 클래슀 λ‚΄λΆ€λ‘œ λ‚΄μž¬ν™”
1194
+ L = new WeakMap(), E = new WeakMap(), H = new WeakMap(), ot = new WeakMap(), Nt = new WeakMap(), P = new WeakMap(), Pt = new WeakMap(), K = new WeakMap(), vt = new WeakMap(), Vt = new WeakMap(), Yt = new WeakMap(), rt = new WeakMap(), a(C, "ngData"), // 🎯 ν–‰ μƒνƒœ μ •μ˜ μƒμˆ˜λ₯Ό 클래슀 λ‚΄λΆ€λ‘œ λ‚΄μž¬ν™”
1212
1195
  v(C, "ROW_STATE", {
1213
1196
  EMPTY: "EMPTY",
1214
1197
  NORMAL: "NORMAL",
@@ -1217,13 +1200,13 @@ v(C, "ROW_STATE", {
1217
1200
  DELETE: "DELETE"
1218
1201
  });
1219
1202
  let ie = C;
1220
- var G;
1203
+ var Z;
1221
1204
  const ue = class ue {
1222
1205
  constructor(i) {
1223
- c(this, G);
1224
- b(this, G, i), this.row = new ee(this), this.data = new ie(t(this, G), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
1206
+ c(this, Z);
1207
+ g(this, Z, i), this.row = new ee(this), this.data = new ie(t(this, Z), this), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.pageCnt = 25, this.viewRecords.reset = () => {
1225
1208
  var e;
1226
- (e = t(this, G).view) != null && e.redraw && t(this, G).view.redraw();
1209
+ (e = t(this, Z).view) != null && e.redraw && t(this, Z).view.redraw();
1227
1210
  }, this.setDataSource = (e) => {
1228
1211
  this.data && this.data.reset(), this.rawRecords = [], this.viewRecords = [], this.delRecords = [], this.data.set(e || []);
1229
1212
  }, this.getRowState = (e) => {
@@ -1238,31 +1221,31 @@ const ue = class ue {
1238
1221
  }, this.setDataSource([]);
1239
1222
  }
1240
1223
  };
1241
- G = new WeakMap(), a(ue, "ngDataManager");
1224
+ Z = new WeakMap(), a(ue, "ngDataManager");
1242
1225
  let se = ue;
1243
- var at, A, vt, Xt;
1244
- const be = class be {
1226
+ var lt, A, wt, Xt;
1227
+ const ge = class ge {
1245
1228
  // 🎯 이제 { name: string, type: string } κ°μ²΄λ“€μ˜ λ°°μ—΄λ‘œ κ΄€λ¦¬ν•©λ‹ˆλ‹€.
1246
1229
  constructor(i) {
1247
- c(this, at);
1230
+ c(this, lt);
1248
1231
  c(this, A, []);
1249
1232
  v(this, "add", /* @__PURE__ */ a((i, e = "string") => {
1250
1233
  i.forEach((s) => {
1251
1234
  t(this, A).some((n) => n.name === s) || t(this, A).push({ name: s, type: e });
1252
- }), t(this, vt).call(this);
1235
+ }), t(this, wt).call(this);
1253
1236
  }, "add"));
1254
- c(this, vt, /* @__PURE__ */ a(() => {
1237
+ c(this, wt, /* @__PURE__ */ a(() => {
1255
1238
  const i = /* @__PURE__ */ new Map();
1256
1239
  t(this, A).forEach((e) => {
1257
1240
  i.set(e.name, e.type);
1258
- }), b(this, A, Array.from(i, ([e, s]) => ({ name: e, type: s }))), b(this, A, t(this, A).filter((e) => e.name !== "" && e.name !== "__ng")), t(this, A).sort((e, s) => e.name.length < s.name.length ? 1 : -1);
1241
+ }), g(this, A, Array.from(i, ([e, s]) => ({ name: e, type: s }))), g(this, A, t(this, A).filter((e) => e.name !== "" && e.name !== "__ng")), t(this, A).sort((e, s) => e.name.length < s.name.length ? 1 : -1);
1259
1242
  }, "#adjust"));
1260
1243
  c(this, Xt, /* @__PURE__ */ a(() => {
1261
- b(this, A, []), P.log(t(this, at).querySelectorAll("table"));
1262
- const i = Array.from(t(this, at).querySelectorAll("table"));
1244
+ g(this, A, []), T.log(t(this, lt).querySelectorAll("table"));
1245
+ const i = Array.from(t(this, lt).querySelectorAll("table"));
1263
1246
  if (!(!i || i.length === 0)) {
1264
1247
  for (const e of i)
1265
- P.log(e), $("[data-bind]", e).each((s, n) => {
1248
+ T.log(e), $("[data-bind]", e).each((s, n) => {
1266
1249
  const r = n.dataset.bind, o = n.getAttribute("data-type") || "string";
1267
1250
  r && t(this, A).push({ name: r, type: o });
1268
1251
  }), ["data-expr", "background-color", "color", "tooltip", "visible", "readonly", "enable-button", "enable-check", "class-expr", "icon-color", "icon-src"].forEach((s) => {
@@ -1286,10 +1269,10 @@ const be = class be {
1286
1269
  });
1287
1270
  });
1288
1271
  });
1289
- t(this, vt).call(this);
1272
+ t(this, wt).call(this);
1290
1273
  }
1291
1274
  }, "#init"));
1292
- b(this, at, i), t(this, Xt).call(this);
1275
+ g(this, lt, i), t(this, Xt).call(this);
1293
1276
  }
1294
1277
  // 🎯 기쑴에 ν•„λ“œ μ΄λ¦„λ§Œ μ“°λ˜ κ³³λ“€κ³Όμ˜ ν˜Έν™˜μ„ μœ„ν•΄ 이름 λ°°μ—΄λ§Œ λ¦¬ν„΄ν•˜λŠ” λ©”μ„œλ“œ μœ μ§€
1295
1278
  get() {
@@ -1311,40 +1294,40 @@ const be = class be {
1311
1294
  return t(this, A).some((e) => e.name === i);
1312
1295
  }
1313
1296
  };
1314
- at = new WeakMap(), A = new WeakMap(), vt = new WeakMap(), Xt = new WeakMap(), a(be, "ngFields");
1315
- let ne = be;
1316
- var J, Ut, Ft;
1317
- const ge = class ge extends HTMLElement {
1297
+ lt = new WeakMap(), A = new WeakMap(), wt = new WeakMap(), Xt = new WeakMap(), a(ge, "ngFields");
1298
+ let ne = ge;
1299
+ var G, Ut, Ft;
1300
+ const be = class be extends HTMLElement {
1318
1301
  constructor() {
1319
1302
  super();
1320
1303
  //#created = false;
1321
- c(this, J);
1304
+ c(this, G);
1322
1305
  c(this, Ut);
1323
1306
  c(this, Ft, /* @__PURE__ */ a(() => {
1324
- this.fields = new ne(this), b(this, Ut, new te(this)), P.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
1307
+ this.fields = new ne(this), g(this, Ut, new te(this)), T.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } }));
1325
1308
  }, "#init"));
1326
- this.attachShadow({ mode: "open" }), b(this, J, new se(this));
1309
+ this.attachShadow({ mode: "open" }), g(this, G, new se(this));
1327
1310
  }
1328
1311
  connectedCallback() {
1329
1312
  t(this, Ft).call(this);
1330
1313
  }
1331
1314
  disconnectedCallback() {
1332
- P.log("NineTable disconnected.");
1315
+ T.log("NineTable disconnected.");
1333
1316
  }
1334
1317
  // 🎯 μ™ΈλΆ€μ—μ„œ grid.data.set(...) ν˜•νƒœλ‘œ μ ‘κ·Όν•  수 μžˆλ„λ‘ 데이터 λ§€λ‹ˆμ € μ˜€ν”ˆ
1335
1318
  get data() {
1336
- return t(this, J).data;
1319
+ return t(this, G).data;
1337
1320
  }
1338
1321
  // 🎯 ν–‰(row) κ΄€λ ¨ μ œμ–΄ μ ‘κ·Όμž μ˜€ν”ˆ
1339
1322
  get row() {
1340
- return t(this, J).row;
1323
+ return t(this, G).row;
1341
1324
  }
1342
1325
  // 🎯 전체 데이터 λ§€λ‹ˆμ € μ ‘κ·Ό ν•„μš”ν•  경우
1343
1326
  get dataManager() {
1344
- return t(this, J);
1327
+ return t(this, G);
1345
1328
  }
1346
1329
  };
1347
- J = new WeakMap(), Ut = new WeakMap(), Ft = new WeakMap(), a(ge, "NineTable");
1348
- let oe = ge;
1330
+ G = new WeakMap(), Ut = new WeakMap(), Ft = new WeakMap(), a(be, "NineTable");
1331
+ let oe = be;
1349
1332
  customElements.get("nine-table") || customElements.define("nine-table", oe);
1350
1333
  //# sourceMappingURL=nine-table.js.map