@ninebone/table 0.0.73 → 0.0.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,353 +1,378 @@
1
- var qt = Object.defineProperty;
2
- var It = (v) => {
1
+ var yt = Object.defineProperty;
2
+ var vt = (v) => {
3
3
  throw TypeError(v);
4
4
  };
5
- var Ht = (v, c, e) => c in v ? qt(v, c, { enumerable: !0, configurable: !0, writable: !0, value: e }) : v[c] = e;
6
- var l = (v, c) => qt(v, "name", { value: c, configurable: !0 });
7
- var I = (v, c, e) => Ht(v, typeof c != "symbol" ? c + "" : c, e), $t = (v, c, e) => c.has(v) || It("Cannot " + e);
8
- var t = (v, c, e) => ($t(v, c, "read from private field"), e ? e.call(v) : c.get(v)), h = (v, c, e) => c.has(v) ? It("Cannot add the same private member more than once") : c instanceof WeakSet ? c.add(v) : c.set(v, e), g = (v, c, e, s) => ($t(v, c, "write to private field"), s ? s.call(v, e) : c.set(v, e), e);
9
- import { trace as Rt } from "@ninebone/util";
10
- const vt = class vt extends Rt.constructor {
5
+ var wt = (v, a, e) => a in v ? yt(v, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : v[a] = e;
6
+ var h = (v, a) => yt(v, "name", { value: a, configurable: !0 });
7
+ var T = (v, a, e) => wt(v, typeof a != "symbol" ? a + "" : a, e), xt = (v, a, e) => a.has(v) || vt("Cannot " + e);
8
+ var t = (v, a, e) => (xt(v, a, "read from private field"), e ? e.call(v) : a.get(v)), f = (v, a, e) => a.has(v) ? vt("Cannot add the same private member more than once") : a instanceof WeakSet ? a.add(v) : a.set(v, e), y = (v, a, e, o) => (xt(v, a, "write to private field"), o ? o.call(v, e) : a.set(v, e), e);
9
+ import { trace as St } from "@ninebone/util";
10
+ const ut = class ut extends St.constructor {
11
11
  constructor() {
12
12
  super(), this.init("nine-table", "green");
13
13
  }
14
14
  };
15
- l(vt, "Trace");
16
- let dt = vt;
17
- const J = new dt();
18
- var w, M, b, S, R, Q, U, V, tt, z, et, D, _, B, N;
19
- const xt = class xt extends HTMLElement {
15
+ h(ut, "Trace");
16
+ let st = ut;
17
+ const Z = new st();
18
+ var w, H, b, S, C, _, G, J, Q, X, U, K, N, Y, D;
19
+ const bt = class bt extends HTMLElement {
20
20
  constructor() {
21
21
  super();
22
- h(this, w);
23
- h(this, M);
24
- h(this, b);
25
- h(this, S);
26
- h(this, R);
27
- h(this, Q);
28
- h(this, U, 0);
29
- I(this, "refresh", /* @__PURE__ */ l(() => {
22
+ f(this, w);
23
+ f(this, H);
24
+ f(this, b);
25
+ f(this, S);
26
+ f(this, C);
27
+ f(this, _);
28
+ f(this, G, 0);
29
+ T(this, "refresh", /* @__PURE__ */ h(() => {
30
30
  if (!t(this, w)) return;
31
31
  const e = t(this, w).querySelector(".ng-container-body");
32
32
  if (!e) return;
33
- const s = $(t(this, b).thumb, this.shadowRoot), o = e.querySelector("table > thead");
33
+ const o = $(t(this, b).thumb, this.shadowRoot), i = e.querySelector("table > thead");
34
34
  t(this, w).getRowCount;
35
- const n = $(t(this, b).track).height(), i = $(t(this, b).thumb).height(), u = t(this, w).getRowCount ? t(this, w).getRowCount() : 0;
36
- if (u <= 10) {
35
+ const n = $(t(this, b).track).height(), c = $(t(this, b).thumb).height(), s = t(this, w).getRowCount ? t(this, w).getRowCount() : 0;
36
+ if (s <= 10) {
37
37
  $(this).hide();
38
38
  return;
39
39
  } else
40
40
  $(this).show();
41
- const y = o ? o.getBoundingClientRect().height : 0, a = Math.max(Math.min(n * (e.clientHeight - y) / (32 * u), n), 16);
42
- s[0].dataset.height = a, s.css({ height: a });
43
- const p = n - t(this, N).call(this);
44
- if (p <= 0) return;
41
+ const p = i ? i.getBoundingClientRect().height : 0, l = Math.max(Math.min(n * (e.clientHeight - p) / (32 * s), n), 16);
42
+ o[0].dataset.height = l, o.css({ height: l });
43
+ const m = n - t(this, D).call(this);
44
+ if (m <= 0) return;
45
45
  let r = 0;
46
- const d = e.scrollHeight - e.clientHeight;
47
- d > 0 && (r = parseInt(e.scrollTop / d * p, 10), r > n - i && (r = n - i), r < 0 && (r = 0)), t(this, b).thumb.style.top = r + "px", t(this, b).top.disabled = e.scrollTop <= 0, t(this, b).bottom.disabled = e.scrollTop >= d;
46
+ const u = e.scrollHeight - e.clientHeight;
47
+ u > 0 && (r = parseInt(e.scrollTop / u * m, 10), r > n - c && (r = n - c), r < 0 && (r = 0)), t(this, b).thumb.style.top = r + "px", t(this, b).top.disabled = e.scrollTop <= 0, t(this, b).bottom.disabled = e.scrollTop >= u;
48
48
  }, "refresh"));
49
- I(this, "delayScroll", /* @__PURE__ */ l((e, s, o, n) => {
50
- clearInterval(t(this, S)), clearInterval(t(this, R));
51
- const i = t(this, w).querySelector(".ng-container-body");
52
- i && (i.scrollTop += e * 32), g(this, S, setInterval(() => {
53
- clearInterval(t(this, S)), g(this, R, setInterval(() => {
54
- i && (i.scrollTop += e * 32, n && n.call());
55
- }, o));
56
- }, s));
49
+ T(this, "delayScroll", /* @__PURE__ */ h((e, o, i, n) => {
50
+ clearInterval(t(this, S)), clearInterval(t(this, C));
51
+ const c = t(this, w).querySelector(".ng-container-body");
52
+ c && (c.scrollTop += e * 32), y(this, S, setInterval(() => {
53
+ clearInterval(t(this, S)), y(this, C, setInterval(() => {
54
+ c && (c.scrollTop += e * 32, n && n.call());
55
+ }, i));
56
+ }, o));
57
57
  }, "delayScroll"));
58
- I(this, "stopScroll", /* @__PURE__ */ l(() => {
59
- clearInterval(t(this, S)), clearInterval(t(this, R));
58
+ T(this, "stopScroll", /* @__PURE__ */ h(() => {
59
+ clearInterval(t(this, S)), clearInterval(t(this, C));
60
60
  }, "stopScroll"));
61
- h(this, V, /* @__PURE__ */ l(() => {
62
- const e = /* @__PURE__ */ l((o) => {
63
- clearInterval(t(this, S)), clearInterval(t(this, R));
61
+ f(this, J, /* @__PURE__ */ h(() => {
62
+ const e = /* @__PURE__ */ h((i) => {
63
+ clearInterval(t(this, S)), clearInterval(t(this, C));
64
64
  const n = t(this, w).querySelector(".ng-container-body");
65
- n && (n.scrollTop += o * 32), g(this, S, setInterval(() => {
66
- clearInterval(t(this, S)), g(this, R, setInterval(() => {
67
- n && (n.scrollTop += o * 32);
65
+ n && (n.scrollTop += i * 32), y(this, S, setInterval(() => {
66
+ clearInterval(t(this, S)), y(this, C, setInterval(() => {
67
+ n && (n.scrollTop += i * 32);
68
68
  }, 10));
69
69
  }, 500));
70
70
  }, "delayScrollAction");
71
- $(t(this, b).top).on("mousedown", (o) => {
72
- o.buttons != 1 || o.altKey || o.ctrlKey || o.shiftKey || e(-1);
73
- }), $(t(this, b).bottom).on("mousedown", (o) => {
74
- o.buttons != 1 || o.altKey || o.ctrlKey || o.shiftKey || e(1);
75
- }), $(t(this, b).top).on("touchstart", (o) => {
71
+ $(t(this, b).top).on("mousedown", (i) => {
72
+ i.buttons != 1 || i.altKey || i.ctrlKey || i.shiftKey || e(-1);
73
+ }), $(t(this, b).bottom).on("mousedown", (i) => {
74
+ i.buttons != 1 || i.altKey || i.ctrlKey || i.shiftKey || e(1);
75
+ }), $(t(this, b).top).on("touchstart", (i) => {
76
76
  e(-1);
77
- }), $(t(this, b).bottom).on("touchstart", (o) => {
77
+ }), $(t(this, b).bottom).on("touchstart", (i) => {
78
78
  e(1);
79
79
  });
80
- const s = /* @__PURE__ */ l(() => {
81
- clearInterval(t(this, S)), clearInterval(t(this, R));
80
+ const o = /* @__PURE__ */ h(() => {
81
+ clearInterval(t(this, S)), clearInterval(t(this, C));
82
82
  }, "clearTimer");
83
- t(this, b).top.ontouchend = t(this, b).bottom.ontouchend = t(this, b).track.ontouchend = t(this, b).top.onmouseup = t(this, b).top.onmouseleave = t(this, b).bottom.onmouseup = t(this, b).bottom.onmouseleave = t(this, b).track.onmouseup = t(this, b).track.onmouseleave = s, $(t(this, b).track).on("mousedown", t(this, z)), $(t(this, b).track).on("touchstart", t(this, tt)), $(t(this, b).thumb).on("mousedown", t(this, _)), $(t(this, b).thumb).on("touchstart", t(this, et)), document.addEventListener("mouseup", (o) => {
84
- t(this, M) && g(this, M, !1), document.removeEventListener("mousemove", t(this, B));
85
- }), document.addEventListener("touchend", (o) => {
86
- g(this, M, !1), document.removeEventListener("touchmove", t(this, D));
83
+ t(this, b).top.ontouchend = t(this, b).bottom.ontouchend = t(this, b).track.ontouchend = t(this, b).top.onmouseup = t(this, b).top.onmouseleave = t(this, b).bottom.onmouseup = t(this, b).bottom.onmouseleave = t(this, b).track.onmouseup = t(this, b).track.onmouseleave = o, $(t(this, b).track).on("mousedown", t(this, X)), $(t(this, b).track).on("touchstart", t(this, Q)), $(t(this, b).thumb).on("mousedown", t(this, N)), $(t(this, b).thumb).on("touchstart", t(this, U)), document.addEventListener("mouseup", (i) => {
84
+ t(this, H) && y(this, H, !1), document.removeEventListener("mousemove", t(this, Y));
85
+ }), document.addEventListener("touchend", (i) => {
86
+ y(this, H, !1), document.removeEventListener("touchmove", t(this, K));
87
87
  });
88
88
  }, "#init"));
89
- h(this, tt, /* @__PURE__ */ l((e) => {
90
- e.target.getBoundingClientRect(), e.clientX = e.targetTouches[0].clientX, e.clientY = e.targetTouches[0].clientY, e.buttons = 1, t(this, z).call(this, e);
89
+ f(this, Q, /* @__PURE__ */ h((e) => {
90
+ e.target.getBoundingClientRect(), e.clientX = e.targetTouches[0].clientX, e.clientY = e.targetTouches[0].clientY, e.buttons = 1, t(this, X).call(this, e);
91
91
  }, "#track_onTouchStart"));
92
- h(this, z, /* @__PURE__ */ l((e) => {
93
- if (t(this, M) || e.buttons != 1 || e.altKey || e.ctrlKey || e.shiftKey) return;
92
+ f(this, X, /* @__PURE__ */ h((e) => {
93
+ if (t(this, H) || e.buttons != 1 || e.altKey || e.ctrlKey || e.shiftKey) return;
94
94
  e.preventDefault();
95
- var s = t(this, b).thumb.getBoundingClientRect();
96
- const o = t(this, w).querySelector(".ng-container-body");
97
- if (!o) return;
98
- const n = o.clientHeight, i = e.clientY > s.y ? n : -n;
99
- o.scrollTop += i, clearInterval(t(this, S)), clearInterval(t(this, R)), g(this, S, setInterval(() => {
100
- clearInterval(t(this, S)), g(this, R, setInterval(() => {
101
- var u = t(this, b).thumb.getBoundingClientRect();
102
- e.clientY > u.y && e.clientY < u.y + u.height ? clearInterval(t(this, R)) : o.scrollTop += e.clientY > u.y ? n : -n;
95
+ var o = t(this, b).thumb.getBoundingClientRect();
96
+ const i = t(this, w).querySelector(".ng-container-body");
97
+ if (!i) return;
98
+ const n = i.clientHeight, c = e.clientY > o.y ? n : -n;
99
+ i.scrollTop += c, clearInterval(t(this, S)), clearInterval(t(this, C)), y(this, S, setInterval(() => {
100
+ clearInterval(t(this, S)), y(this, C, setInterval(() => {
101
+ var s = t(this, b).thumb.getBoundingClientRect();
102
+ e.clientY > s.y && e.clientY < s.y + s.height ? clearInterval(t(this, C)) : i.scrollTop += e.clientY > s.y ? n : -n;
103
103
  }, 10));
104
104
  }, 500));
105
105
  }, "#track_onMouseDown"));
106
- h(this, et, /* @__PURE__ */ l((e) => {
107
- e.clientX = e.targetTouches[0].clientX, e.clientY = e.targetTouches[0].clientY, e.buttons = 1, t(this, _).call(this, e), document.addEventListener("touchmove", t(this, D));
106
+ f(this, U, /* @__PURE__ */ h((e) => {
107
+ e.clientX = e.targetTouches[0].clientX, e.clientY = e.targetTouches[0].clientY, e.buttons = 1, t(this, N).call(this, e), document.addEventListener("touchmove", t(this, K));
108
108
  }, "#thumb_onTouchStart"));
109
- h(this, D, /* @__PURE__ */ l((e) => {
110
- e.clientX = e.targetTouches[0].clientX, e.clientY = e.targetTouches[0].clientY, e.buttons = 1, t(this, B).call(this, e);
109
+ f(this, K, /* @__PURE__ */ h((e) => {
110
+ e.clientX = e.targetTouches[0].clientX, e.clientY = e.targetTouches[0].clientY, e.buttons = 1, t(this, Y).call(this, e);
111
111
  }, "#thumb_onTouchMove"));
112
- h(this, _, /* @__PURE__ */ l((e) => {
113
- g(this, U, e.clientY), g(this, M, !0), this.shiftY = e.offsetY + t(this, b).track.getBoundingClientRect().y, this.trackHeight = $(t(this, b).track).height(), this.thumbHeight = $(t(this, b).thumb).height(), g(this, Q, !0), document.addEventListener("mousemove", t(this, B));
112
+ f(this, N, /* @__PURE__ */ h((e) => {
113
+ y(this, G, e.clientY), y(this, H, !0), this.shiftY = e.offsetY + t(this, b).track.getBoundingClientRect().y, this.trackHeight = $(t(this, b).track).height(), this.thumbHeight = $(t(this, b).thumb).height(), y(this, _, !0), document.addEventListener("mousemove", t(this, Y));
114
114
  }, "#thumb_onMouseDown"));
115
- h(this, B, /* @__PURE__ */ l((e) => {
116
- if (!t(this, M)) return;
115
+ f(this, Y, /* @__PURE__ */ h((e) => {
116
+ if (!t(this, H)) return;
117
117
  e.preventDefault();
118
- const s = this.trackHeight, o = t(this, N).call(this);
118
+ const o = this.trackHeight, i = t(this, D).call(this);
119
119
  var n = e.clientY - this.shiftY;
120
- n < 0 && (n = 0), n + o > s && (n = parseInt(s - o)), t(this, b).thumb.style.top = n + "px";
121
- const i = t(this, w).querySelector(".ng-container-body");
122
- if (!i) return;
123
- const u = i.scrollHeight - i.clientHeight, y = s - o;
124
- y > 0 && u > 0 && (i.scrollTop = n / y * u);
120
+ n < 0 && (n = 0), n + i > o && (n = parseInt(o - i)), t(this, b).thumb.style.top = n + "px";
121
+ const c = t(this, w).querySelector(".ng-container-body");
122
+ if (!c) return;
123
+ const s = c.scrollHeight - c.clientHeight, p = o - i;
124
+ p > 0 && s > 0 && (c.scrollTop = n / p * s);
125
125
  }, "#thumb_onMouseMove"));
126
- h(this, N, /* @__PURE__ */ l(() => parseInt(t(this, b).thumb.dataset.height || 30, 10), "#getThumbHeight"));
126
+ f(this, D, /* @__PURE__ */ h(() => parseInt(t(this, b).thumb.dataset.height || 30, 10), "#getThumbHeight"));
127
127
  }
128
128
  connectedCallback() {
129
- g(this, w, this.getRootNode().host), t(this, w) && (this.shadowRoot.innerHTML = `
129
+ y(this, w, this.getRootNode().host), t(this, w) && (this.shadowRoot.innerHTML = `
130
130
  <button class='ng-scroll-top' disabled><div class='ng-scroll-icon'></div></button>
131
131
  <div class='ng-scroll-track'> <div class='ng-scroll-thumb'></div> </div>
132
132
  <button class='ng-scroll-bottom'><div class='ng-scroll-icon'></div></button>
133
- `, super.connectedCallback(), g(this, b, {
133
+ `, super.connectedCallback(), y(this, b, {
134
134
  track: this.shadowRoot.querySelector(".ng-scroll-track"),
135
135
  thumb: this.shadowRoot.querySelector(".ng-scroll-thumb"),
136
136
  top: this.shadowRoot.querySelector(".ng-scroll-top"),
137
137
  bottom: this.shadowRoot.querySelector(".ng-scroll-bottom")
138
- }), t(this, V).call(this));
138
+ }), t(this, J).call(this));
139
139
  }
140
140
  };
141
- w = new WeakMap(), M = new WeakMap(), b = new WeakMap(), S = new WeakMap(), R = new WeakMap(), Q = new WeakMap(), U = new WeakMap(), V = new WeakMap(), tt = new WeakMap(), z = new WeakMap(), et = new WeakMap(), D = new WeakMap(), _ = new WeakMap(), B = new WeakMap(), N = new WeakMap(), l(xt, "NineTableVScrollBar");
142
- let bt = xt;
143
- customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", bt);
144
- var T, A, f, k, C, ot, nt, st, it, W, lt, O, j, K, F;
145
- const wt = class wt extends HTMLElement {
141
+ w = new WeakMap(), H = new WeakMap(), b = new WeakMap(), S = new WeakMap(), C = new WeakMap(), _ = new WeakMap(), G = new WeakMap(), J = new WeakMap(), Q = new WeakMap(), X = new WeakMap(), U = new WeakMap(), K = new WeakMap(), N = new WeakMap(), Y = new WeakMap(), D = new WeakMap(), h(bt, "NineTableVScrollBar");
142
+ let lt = bt;
143
+ customElements.get("nine-table-vscrollbar") || customElements.define("nine-table-vscrollbar", lt);
144
+ var R, W, d, A, M, B, V, j;
145
+ const ft = class ft extends HTMLElement {
146
146
  constructor() {
147
147
  super();
148
- h(this, T);
149
- h(this, A);
150
- h(this, f);
151
- h(this, k);
152
- h(this, C);
153
- h(this, ot);
154
- h(this, nt, 0);
155
- I(this, "refresh", /* @__PURE__ */ l(() => {
156
- if (!t(this, T)) return;
157
- const e = t(this, T).querySelector(".ng-container-body");
148
+ f(this, R);
149
+ f(this, W);
150
+ f(this, d);
151
+ f(this, A);
152
+ f(this, M);
153
+ T(this, "refresh", /* @__PURE__ */ h(() => {
154
+ if (!t(this, R)) return;
155
+ const e = t(this, R).querySelector(".ng-container-body");
158
156
  if (!e) return;
159
- const s = $(t(this, f).thumb, this.shadowRoot), o = e.querySelector("table > thead");
160
- t(this, T).getRowCount;
161
- const n = $(t(this, f).track).height(), i = $(t(this, f).thumb).height(), u = t(this, T).getRowCount ? t(this, T).getRowCount() : 0;
162
- if (u <= 10) {
163
- $(this).hide();
157
+ const o = e.querySelector("table");
158
+ if (!o) return;
159
+ const i = $(t(this, d).track, this), n = $(t(this, d).thumb, this), c = t(this, R).querySelector(".ng-container-bottom");
160
+ if (e.clientWidth !== 0 && o.scrollWidth > e.clientWidth)
161
+ $(c).show();
162
+ else {
163
+ $(c).hide();
164
164
  return;
165
- } else
166
- $(this).show();
167
- const y = o ? o.getBoundingClientRect().height : 0, a = Math.max(Math.min(n * (e.clientHeight - y) / (32 * u), n), 16);
168
- s[0].dataset.height = a, s.css({ height: a });
169
- const p = n - t(this, F).call(this);
170
- if (p <= 0) return;
165
+ }
166
+ const s = i.width();
167
+ if (s <= 0) return;
168
+ const p = Math.max(Math.min(s * (e.clientWidth / o.scrollWidth), s), 20);
169
+ n.width(p);
170
+ const l = o.scrollWidth - e.clientWidth, m = s - p;
171
171
  let r = 0;
172
- const d = e.scrollHeight - e.clientHeight;
173
- d > 0 && (r = parseInt(e.scrollTop / d * p, 10), r > n - i && (r = n - i), r < 0 && (r = 0)), t(this, f).thumb.style.top = r + "px", t(this, f).top.disabled = e.scrollTop <= 0, t(this, f).bottom.disabled = e.scrollTop >= d;
172
+ l > 0 && (r = parseInt(e.scrollLeft / l * m, 10)), r < 0 && (r = 0), r > m && (r = m), n.css({ left: r }), t(this, d).left.disabled = e.scrollLeft <= 0, t(this, d).right.disabled = e.scrollLeft >= l;
174
173
  }, "refresh"));
175
- I(this, "delayScroll", /* @__PURE__ */ l((e, s, o, n) => {
176
- clearInterval(t(this, k)), clearInterval(t(this, C));
177
- const i = t(this, T).querySelector(".ng-container-body");
178
- i && (i.scrollTop += e * 32), g(this, k, setInterval(() => {
179
- clearInterval(t(this, k)), g(this, C, setInterval(() => {
180
- i && (i.scrollTop += e * 32, n && n.call());
181
- }, o));
182
- }, s));
183
- }, "delayScroll"));
184
- I(this, "stopScroll", /* @__PURE__ */ l(() => {
185
- clearInterval(t(this, k)), clearInterval(t(this, C));
186
- }, "stopScroll"));
187
- h(this, st, /* @__PURE__ */ l(() => {
188
- const e = /* @__PURE__ */ l((o) => {
189
- clearInterval(t(this, k)), clearInterval(t(this, C));
190
- const n = t(this, T).querySelector(".ng-container-body");
191
- n && (n.scrollTop += o * 32), g(this, k, setInterval(() => {
192
- clearInterval(t(this, k)), g(this, C, setInterval(() => {
193
- n && (n.scrollTop += o * 32);
174
+ f(this, B, /* @__PURE__ */ h((e) => {
175
+ if (!t(this, d)) return;
176
+ const o = t(this, R).querySelector(".ng-container-body"), i = o.querySelector("table");
177
+ if (!i) return;
178
+ const n = t(this, d).track.getBoundingClientRect(), c = t(this, d).thumb.getBoundingClientRect();
179
+ let s = e;
180
+ s < 0 && (s = 0), s + c.width > n.width && (s = n.width - c.width), s = parseInt(s, 10), t(this, d).thumb.style.left = s + "px";
181
+ const p = i.scrollWidth - o.clientWidth, l = n.width - c.width;
182
+ return l > 0 && p > 0 && (o.scrollLeft = s / l * p), t(this, d).left.disabled = s <= 0, t(this, d).right.disabled = s >= l, s > 0 && s < l;
183
+ }, "#thumbMoveTo"));
184
+ f(this, V, /* @__PURE__ */ h(() => {
185
+ const e = t(this, R).querySelector(".ng-container-body");
186
+ e && e.addEventListener("scroll", () => {
187
+ this.refresh();
188
+ });
189
+ const o = /* @__PURE__ */ h((n) => {
190
+ clearInterval(t(this, A)), clearInterval(t(this, M));
191
+ const c = t(this, d).track.getBoundingClientRect(), s = t(this, d).thumb.getBoundingClientRect();
192
+ t(this, B).call(this, s.x - c.x + n), y(this, A, setInterval(() => {
193
+ clearInterval(t(this, A)), y(this, M, setInterval(() => {
194
+ const p = t(this, d).track.getBoundingClientRect(), l = t(this, d).thumb.getBoundingClientRect();
195
+ t(this, B).call(this, l.x - p.x + n) || clearInterval(t(this, M));
194
196
  }, 10));
195
197
  }, 500));
196
- }, "delayScrollAction");
197
- $(t(this, f).top).on("mousedown", (o) => {
198
- o.buttons != 1 || o.altKey || o.ctrlKey || o.shiftKey || e(-1);
199
- }), $(t(this, f).bottom).on("mousedown", (o) => {
200
- o.buttons != 1 || o.altKey || o.ctrlKey || o.shiftKey || e(1);
201
- }), $(t(this, f).top).on("touchstart", (o) => {
202
- e(-1);
203
- }), $(t(this, f).bottom).on("touchstart", (o) => {
204
- e(1);
205
- });
206
- const s = /* @__PURE__ */ l(() => {
207
- clearInterval(t(this, k)), clearInterval(t(this, C));
198
+ }, "delayScroll"), i = /* @__PURE__ */ h(() => {
199
+ clearInterval(t(this, A)), clearInterval(t(this, M));
208
200
  }, "clearTimer");
209
- t(this, f).top.ontouchend = t(this, f).bottom.ontouchend = t(this, f).track.ontouchend = t(this, f).top.onmouseup = t(this, f).top.onmouseleave = t(this, f).bottom.onmouseup = t(this, f).bottom.onmouseleave = t(this, f).track.onmouseup = t(this, f).track.onmouseleave = s, $(t(this, f).track).on("mousedown", t(this, W)), $(t(this, f).track).on("touchstart", t(this, it)), $(t(this, f).thumb).on("mousedown", t(this, j)), $(t(this, f).thumb).on("touchstart", t(this, lt)), document.addEventListener("mouseup", (o) => {
210
- t(this, A) && g(this, A, !1), document.removeEventListener("mousemove", t(this, K));
211
- }), document.addEventListener("touchend", (o) => {
212
- g(this, A, !1), document.removeEventListener("touchmove", t(this, O));
201
+ t(this, d).left.ontouchend = t(this, d).right.ontouchend = t(this, d).track.ontouchend = t(this, d).left.onmouseup = t(this, d).left.onmouseleave = t(this, d).right.onmouseup = t(this, d).right.onmouseleave = t(this, d).track.onmouseup = t(this, d).track.onmouseleave = i, $(t(this, d).left).on("mousedown", (n) => {
202
+ n.buttons == 1 && o(-10);
203
+ }), $(t(this, d).right).on("mousedown", (n) => {
204
+ n.buttons == 1 && o(10);
205
+ }), $(t(this, d).left).on("touchstart", (n) => {
206
+ o(-10);
207
+ }), $(t(this, d).right).on("touchstart", (n) => {
208
+ o(10);
209
+ }), $(t(this, d).track).on("mousedown", (n) => {
210
+ if (n.buttons != 1) return;
211
+ n.preventDefault();
212
+ const c = t(this, d).track.getBoundingClientRect(), s = t(this, d).thumb.getBoundingClientRect().width;
213
+ t(this, B).call(this, n.clientX - c.left - s / 2);
214
+ }), $(t(this, d).thumb).on("mousedown", (n) => {
215
+ y(this, W, !0), this.shiftX = n.clientX - t(this, d).thumb.getBoundingClientRect().left, document.addEventListener("mousemove", t(this, j));
216
+ }), document.addEventListener("mouseup", () => {
217
+ y(this, W, !1), i(), document.removeEventListener("mousemove", t(this, j));
213
218
  });
214
219
  }, "#init"));
215
- h(this, it, /* @__PURE__ */ l((e) => {
216
- e.target.getBoundingClientRect(), e.clientX = e.targetTouches[0].clientX, e.clientY = e.targetTouches[0].clientY, e.buttons = 1, t(this, W).call(this, e);
217
- }, "#track_onTouchStart"));
218
- h(this, W, /* @__PURE__ */ l((e) => {
219
- if (t(this, A) || e.buttons != 1 || e.altKey || e.ctrlKey || e.shiftKey) return;
220
- e.preventDefault();
221
- var s = t(this, f).thumb.getBoundingClientRect();
222
- const o = t(this, T).querySelector(".ng-container-body");
223
- if (!o) return;
224
- const n = o.clientHeight, i = e.clientY > s.y ? n : -n;
225
- o.scrollTop += i, clearInterval(t(this, k)), clearInterval(t(this, C)), g(this, k, setInterval(() => {
226
- clearInterval(t(this, k)), g(this, C, setInterval(() => {
227
- var u = t(this, f).thumb.getBoundingClientRect();
228
- e.clientY > u.y && e.clientY < u.y + u.height ? clearInterval(t(this, C)) : o.scrollTop += e.clientY > u.y ? n : -n;
229
- }, 10));
230
- }, 500));
231
- }, "#track_onMouseDown"));
232
- h(this, lt, /* @__PURE__ */ l((e) => {
233
- e.clientX = e.targetTouches[0].clientX, e.clientY = e.targetTouches[0].clientY, e.buttons = 1, t(this, j).call(this, e), document.addEventListener("touchmove", t(this, O));
234
- }, "#thumb_onTouchStart"));
235
- h(this, O, /* @__PURE__ */ l((e) => {
236
- e.clientX = e.targetTouches[0].clientX, e.clientY = e.targetTouches[0].clientY, e.buttons = 1, t(this, K).call(this, e);
237
- }, "#thumb_onTouchMove"));
238
- h(this, j, /* @__PURE__ */ l((e) => {
239
- g(this, nt, e.clientY), g(this, A, !0), this.shiftY = e.offsetY + t(this, f).track.getBoundingClientRect().y, this.trackHeight = $(t(this, f).track).height(), this.thumbHeight = $(t(this, f).thumb).height(), g(this, ot, !0), document.addEventListener("mousemove", t(this, K));
240
- }, "#thumb_onMouseDown"));
241
- h(this, K, /* @__PURE__ */ l((e) => {
242
- if (!t(this, A)) return;
243
- e.preventDefault();
244
- const s = this.trackHeight, o = t(this, F).call(this);
245
- var n = e.clientY - this.shiftY;
246
- n < 0 && (n = 0), n + o > s && (n = parseInt(s - o)), t(this, f).thumb.style.top = n + "px";
247
- const i = t(this, T).querySelector(".ng-container-body");
248
- if (!i) return;
249
- const u = i.scrollHeight - i.clientHeight, y = s - o;
250
- y > 0 && u > 0 && (i.scrollTop = n / y * u);
220
+ f(this, j, /* @__PURE__ */ h((e) => {
221
+ if (!t(this, W)) return;
222
+ const o = t(this, d).track.getBoundingClientRect();
223
+ t(this, B).call(this, e.clientX - o.left - this.shiftX);
251
224
  }, "#thumb_onMouseMove"));
252
- h(this, F, /* @__PURE__ */ l(() => parseInt(t(this, f).thumb.dataset.height || 30, 10), "#getThumbHeight"));
253
225
  }
254
226
  connectedCallback() {
255
- g(this, T, this.getRootNode().host), t(this, T) && (this.shadowRoot.innerHTML = `
256
- <button class='ng-scroll-top' disabled><div class='ng-scroll-icon'></div></button>
257
- <div class='ng-scroll-track'> <div class='ng-scroll-thumb'></div> </div>
258
- <button class='ng-scroll-bottom'><div class='ng-scroll-icon'></div></button>
259
- `, super.connectedCallback(), g(this, f, {
260
- track: this.shadowRoot.querySelector(".ng-scroll-track"),
261
- thumb: this.shadowRoot.querySelector(".ng-scroll-thumb"),
262
- top: this.shadowRoot.querySelector(".ng-scroll-top"),
263
- bottom: this.shadowRoot.querySelector(".ng-scroll-bottom")
264
- }), t(this, st).call(this));
227
+ y(this, R, this.getRootNode().host), t(this, R) && (this.innerHTML = `
228
+ <style>
229
+ nine-table-hscrollbar {
230
+ display: flex;
231
+ flex-direction: row;
232
+ width: 100%;
233
+ height: 100%;
234
+ background: #f9fafb;
235
+ box-sizing: border-box;
236
+ user-select: none;
237
+ }
238
+ nine-table-hscrollbar button {
239
+ width: 16px;
240
+ height: 100%;
241
+ background: #f3f4f6;
242
+ border: none;
243
+ cursor: pointer;
244
+ display: flex;
245
+ align-items: center;
246
+ justify-content: center;
247
+ padding: 0;
248
+ }
249
+ nine-table-hscrollbar button:disabled {
250
+ opacity: 0.4;
251
+ cursor: default;
252
+ }
253
+ nine-table-hscrollbar .ng-scroll-icon {
254
+ width: 6px;
255
+ height: 6px;
256
+ border-top: 2px solid #6b7280;
257
+ border-right: 2px solid #6b7280;
258
+ }
259
+ nine-table-hscrollbar .ng-scroll-left .ng-scroll-icon { transform: rotate(-135deg); }
260
+ nine-table-hscrollbar .ng-scroll-right .ng-scroll-icon { transform: rotate(45deg); }
261
+ nine-table-hscrollbar .ng-scroll-track {
262
+ flex: 1;
263
+ height: 100%;
264
+ position: relative;
265
+ background: #f3f4f6;
266
+ overflow: hidden;
267
+ }
268
+ nine-table-hscrollbar .ng-scroll-thumb {
269
+ position: absolute;
270
+ top: 2px;
271
+ bottom: 2px;
272
+ background: #d1d5db;
273
+ border-radius: 4px;
274
+ cursor: pointer;
275
+ }
276
+ nine-table-hscrollbar .ng-scroll-thumb:hover {
277
+ background: #9ca3af;
278
+ }
279
+ </style>
280
+ <button class='ng-scroll-left' disabled><div class='ng-scroll-icon'></div></button>
281
+ <div class='ng-scroll-track'><div class='ng-scroll-thumb'></div></div>
282
+ <button class='ng-scroll-right'><div class='ng-scroll-icon'></div></button>
283
+ `, y(this, d, {
284
+ container: t(this, R).querySelector(".ng-container-body"),
285
+ track: this.querySelector(".ng-scroll-track"),
286
+ thumb: this.querySelector(".ng-scroll-thumb"),
287
+ left: this.querySelector(".ng-scroll-left"),
288
+ right: this.querySelector(".ng-scroll-right")
289
+ }), t(this, V).call(this), setTimeout(() => this.refresh(), 0));
265
290
  }
266
291
  };
267
- T = new WeakMap(), A = new WeakMap(), f = new WeakMap(), k = new WeakMap(), C = new WeakMap(), ot = new WeakMap(), nt = new WeakMap(), st = new WeakMap(), it = new WeakMap(), W = new WeakMap(), lt = new WeakMap(), O = new WeakMap(), j = new WeakMap(), K = new WeakMap(), F = new WeakMap(), l(wt, "NineTableHScrollBar");
268
- let ft = wt;
269
- customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", ft);
270
- var Y, rt;
271
- const X = class X extends HTMLElement {
292
+ R = new WeakMap(), W = new WeakMap(), d = new WeakMap(), A = new WeakMap(), M = new WeakMap(), B = new WeakMap(), V = new WeakMap(), j = new WeakMap(), h(ft, "NineTableHScrollBar");
293
+ let rt = ft;
294
+ customElements.get("nine-table-hscrollbar") || customElements.define("nine-table-hscrollbar", rt);
295
+ var I, tt;
296
+ const z = class z extends HTMLElement {
272
297
  constructor() {
273
298
  super();
274
- h(this, Y, null);
275
- I(this, "init", /* @__PURE__ */ l((e) => {
299
+ f(this, I, null);
300
+ T(this, "init", /* @__PURE__ */ h((e) => {
276
301
  if (!e) return;
277
- const s = /* @__PURE__ */ l((a) => {
278
- const p = /* @__PURE__ */ l((d) => {
279
- if (d.querySelector("colgroup")) return;
280
- const m = d.querySelector("tbody tr") || d.querySelector("tr"), q = m ? m.querySelectorAll("th, td").length : 1, x = document.createElement("colgroup"), E = Math.max(Math.floor((d.clientWidth || 600) / q), 100);
281
- for (let H = 0; H < q; H++) {
282
- const ut = document.createElement("col");
283
- ut.setAttribute("width", E), x.appendChild(ut);
302
+ const o = /* @__PURE__ */ h((l) => {
303
+ const m = /* @__PURE__ */ h((u) => {
304
+ if (u.querySelector("colgroup")) return;
305
+ const g = u.querySelector("tbody tr") || u.querySelector("tr"), k = g ? g.querySelectorAll("th, td").length : 1, x = document.createElement("colgroup"), L = Math.max(Math.floor((u.clientWidth || 600) / k), 100);
306
+ for (let q = 0; q < k; q++) {
307
+ const it = document.createElement("col");
308
+ it.setAttribute("width", L), x.appendChild(it);
284
309
  }
285
- d.prepend(x);
286
- }, "ensureColgroup"), r = /* @__PURE__ */ l((d) => {
287
- if (d.querySelector("thead")) return;
288
- const m = document.createElement("thead"), q = d.querySelector("colgroup");
289
- q ? q.after(m) : d.prepend(m);
310
+ u.prepend(x);
311
+ }, "ensureColgroup"), r = /* @__PURE__ */ h((u) => {
312
+ if (u.querySelector("thead")) return;
313
+ const g = document.createElement("thead"), k = u.querySelector("colgroup");
314
+ k ? k.after(g) : u.prepend(g);
290
315
  }, "ensureThead");
291
- return p(a), r(a), a.classList.add("nine-table-element"), a;
292
- }, "initializeTable"), o = e.cloneNode(!0);
293
- g(this, Y, s(o)), t(this, Y).style.display = "table";
294
- const n = this.querySelector(".ng-container-left"), i = this.querySelector(".ng-container-body"), u = this.querySelector(".ng-container-right"), y = /* @__PURE__ */ l((a, p, r = !1) => {
295
- const d = a.cloneNode(!0), m = Array.from(d.querySelectorAll("colgroup col")), q = [];
296
- return m.forEach((x, E) => {
297
- const H = x.getAttribute("fixed");
298
- (r ? !H || H === "" : H === p) || q.push(E);
299
- }), q.reverse().forEach((x) => {
300
- m[x] && m[x].remove(), d.querySelectorAll("tr").forEach((E) => {
301
- const H = E.querySelectorAll("th, td");
302
- H[x] && H[x].remove();
316
+ return m(l), r(l), l.classList.add("nine-table-element"), l;
317
+ }, "initializeTable"), i = e.cloneNode(!0);
318
+ y(this, I, o(i)), t(this, I).style.display = "table";
319
+ const n = this.querySelector(".ng-container-left"), c = this.querySelector(".ng-container-body"), s = this.querySelector(".ng-container-right"), p = /* @__PURE__ */ h((l, m, r = !1) => {
320
+ const u = l.cloneNode(!0), g = Array.from(u.querySelectorAll("colgroup col")), k = [];
321
+ return g.forEach((x, L) => {
322
+ const q = x.getAttribute("fixed");
323
+ (r ? !q || q === "" : q === m) || k.push(L);
324
+ }), k.reverse().forEach((x) => {
325
+ g[x] && g[x].remove(), u.querySelectorAll("tr").forEach((L) => {
326
+ const q = L.querySelectorAll("th, td");
327
+ q[x] && q[x].remove();
303
328
  });
304
- }), d;
329
+ }), u;
305
330
  }, "filterTableByFixed");
306
- if (i) {
307
- const a = y(t(this, Y), null, !0);
308
- i.innerHTML = "", i.appendChild(a);
331
+ if (c) {
332
+ const l = p(t(this, I), null, !0);
333
+ c.innerHTML = "", c.appendChild(l);
309
334
  }
310
335
  if (n) {
311
- const a = y(t(this, Y), "left", !1);
312
- let p = 0;
313
- a.querySelectorAll("col").forEach((d) => {
314
- const m = parseInt(d.getAttribute("width"), 10);
315
- isNaN(m) || (p += m);
316
- }), n.innerHTML = "", n.appendChild(a);
317
- const r = p > 0 ? p : 0;
336
+ const l = p(t(this, I), "left", !1);
337
+ let m = 0;
338
+ l.querySelectorAll("col").forEach((u) => {
339
+ const g = parseInt(u.getAttribute("width"), 10);
340
+ isNaN(g) || (m += g);
341
+ }), n.innerHTML = "", n.appendChild(l);
342
+ const r = m > 0 ? m : 0;
318
343
  n.style.flex = `0 0 ${r}px`, n.style.width = `${r}px`;
319
344
  }
320
- if (u) {
321
- const a = y(t(this, Y), "right", !1);
322
- let p = 0;
323
- a.querySelectorAll("col").forEach((d) => {
324
- const m = parseInt(d.getAttribute("width"), 10);
325
- isNaN(m) || (p += m);
326
- }), u.innerHTML = "", u.appendChild(a);
327
- const r = p > 0 ? p : 0;
328
- u.style.flex = `0 0 ${r}px`, u.style.width = `${r}px`;
345
+ if (s) {
346
+ const l = p(t(this, I), "right", !1);
347
+ let m = 0;
348
+ l.querySelectorAll("col").forEach((u) => {
349
+ const g = parseInt(u.getAttribute("width"), 10);
350
+ isNaN(g) || (m += g);
351
+ }), s.innerHTML = "", s.appendChild(l);
352
+ const r = m > 0 ? m : 0;
353
+ s.style.flex = `0 0 ${r}px`, s.style.width = `${r}px`;
329
354
  }
330
- if (i) {
331
- const a = this.getRowCount();
332
- i.style.overflowY = a > 10 ? "auto" : "hidden", i.addEventListener("scroll", () => {
333
- const p = i.scrollLeft, r = this.querySelector("nine-table-hscrollbar");
334
- r && typeof r.syncThumb == "function" && r.syncThumb(p);
355
+ if (c) {
356
+ const l = this.getRowCount();
357
+ c.style.overflowY = l > 10 ? "auto" : "hidden", c.addEventListener("scroll", () => {
358
+ const m = c.scrollLeft, r = this.querySelector("nine-table-hscrollbar");
359
+ r && typeof r.syncThumb == "function" && r.syncThumb(m);
335
360
  });
336
361
  }
337
- J.log(`NineTableSheet 3-split initialized with rows: ${this.getRowCount()}`);
362
+ Z.log(`NineTableSheet 3-split initialized with rows: ${this.getRowCount()}`);
338
363
  }, "init"));
339
- I(this, "getRowCount", /* @__PURE__ */ l(() => t(this, Y) ? t(this, Y).querySelectorAll("tbody tr").length : 0, "getRowCount"));
364
+ T(this, "getRowCount", /* @__PURE__ */ h(() => t(this, I) ? t(this, I).querySelectorAll("tbody tr").length : 0, "getRowCount"));
340
365
  // 🎯 외부 스크롤바 및 컨트롤러 연동용 메서드
341
- I(this, "scrollToX", /* @__PURE__ */ l((e) => {
342
- const s = this.querySelector(".ng-container-body");
343
- s && (s.scrollLeft = e);
366
+ T(this, "scrollToX", /* @__PURE__ */ h((e) => {
367
+ const o = this.querySelector(".ng-container-body");
368
+ o && (o.scrollLeft = e);
344
369
  }, "scrollToX"));
345
- I(this, "scrollToY", /* @__PURE__ */ l((e) => {
346
- const s = this.querySelector(".ng-container-body");
347
- s && (s.scrollTop = e);
370
+ T(this, "scrollToY", /* @__PURE__ */ h((e) => {
371
+ const o = this.querySelector(".ng-container-body");
372
+ o && (o.scrollTop = e);
348
373
  }, "scrollToY"));
349
- h(this, rt, /* @__PURE__ */ l(() => {
350
- const e = X.SCROLLBAR_SIZE;
374
+ f(this, tt, /* @__PURE__ */ h(() => {
375
+ const e = z.SCROLLBAR_SIZE;
351
376
  this.innerHTML = `
352
377
  <style>
353
378
  nine-table-sheet {
@@ -462,109 +487,109 @@ const X = class X extends HTMLElement {
462
487
  }, "#render"));
463
488
  }
464
489
  connectedCallback() {
465
- t(this, rt).call(this);
490
+ t(this, tt).call(this);
466
491
  }
467
492
  disconnectedCallback() {
468
- this.innerHTML = "", J.log("NineTableSheet destroyed.");
493
+ this.innerHTML = "", Z.log("NineTableSheet destroyed.");
469
494
  }
470
495
  };
471
- Y = new WeakMap(), rt = new WeakMap(), l(X, "NineTableSheet"), I(X, "SCROLLBAR_SIZE", 16);
472
- let gt = X;
473
- customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", gt);
474
- var ct;
475
- const St = class St extends HTMLElement {
496
+ I = new WeakMap(), tt = new WeakMap(), h(z, "NineTableSheet"), T(z, "SCROLLBAR_SIZE", 16);
497
+ let ct = z;
498
+ customElements.get("nine-table-sheet") || customElements.define("nine-table-sheet", ct);
499
+ var et;
500
+ const gt = class gt extends HTMLElement {
476
501
  constructor() {
477
502
  super();
478
- h(this, ct, /* @__PURE__ */ l(() => {
503
+ f(this, et, /* @__PURE__ */ h(() => {
479
504
  const e = this.querySelector(".nine-tab-bar");
480
- e && (e.addEventListener("click", (s) => {
481
- const o = s.target.closest(".nine-tab-item");
482
- if (!o) return;
483
- const n = s.ctrlKey || s.metaKey || s.shiftKey, i = parseInt(o.dataset.index, 10);
484
- this.switchSheet(i, n);
505
+ e && (e.addEventListener("click", (o) => {
506
+ const i = o.target.closest(".nine-tab-item");
507
+ if (!i) return;
508
+ const n = o.ctrlKey || o.metaKey || o.shiftKey, c = parseInt(i.dataset.index, 10);
509
+ this.switchSheet(c, n);
485
510
  }), this.switchSheet(0, !1));
486
511
  }, "#init"));
487
- I(this, "switchSheet", /* @__PURE__ */ l((e, s = !1) => {
488
- const o = /* @__PURE__ */ l(() => {
512
+ T(this, "switchSheet", /* @__PURE__ */ h((e, o = !1) => {
513
+ const i = /* @__PURE__ */ h(() => {
489
514
  const r = this.querySelector("nine-table-sheets-body");
490
- r.querySelectorAll("nine-splitter").forEach((m) => {
491
- const q = parseInt(m.dataset.splitIndex, 10), x = r.querySelector(`nine-table-sheet[data-index="${q - 1}"]`), E = r.querySelector(`nine-table-sheet[data-index="${q}"]`);
492
- x && E && x.classList.contains("active") && E.classList.contains("active") ? m.classList.add("active") : m.classList.remove("active");
515
+ r.querySelectorAll("nine-splitter").forEach((g) => {
516
+ const k = parseInt(g.dataset.splitIndex, 10), x = r.querySelector(`nine-table-sheet[data-index="${k - 1}"]`), L = r.querySelector(`nine-table-sheet[data-index="${k}"]`);
517
+ x && L && x.classList.contains("active") && L.classList.contains("active") ? g.classList.add("active") : g.classList.remove("active");
493
518
  });
494
- }, "updateSplitters"), n = this.querySelector(".nine-tab-bar"), i = this.querySelector("nine-table-sheets-body"), u = n.querySelectorAll(".nine-tab-item"), y = i.querySelectorAll("nine-table-sheet");
495
- if (!u[e]) return;
496
- if (!s)
497
- u.forEach((r, d) => {
498
- r.classList.toggle("active", d === e);
499
- const m = i.querySelector(`nine-table-sheet[data-index="${d}"]`);
500
- m && (m.style.flex = "");
501
- }), y.forEach((r, d) => {
502
- r.classList.toggle("active", d === e);
519
+ }, "updateSplitters"), n = this.querySelector(".nine-tab-bar"), c = this.querySelector("nine-table-sheets-body"), s = n.querySelectorAll(".nine-tab-item"), p = c.querySelectorAll("nine-table-sheet");
520
+ if (!s[e]) return;
521
+ if (!o)
522
+ s.forEach((r, u) => {
523
+ r.classList.toggle("active", u === e);
524
+ const g = c.querySelector(`nine-table-sheet[data-index="${u}"]`);
525
+ g && (g.style.flex = "");
526
+ }), p.forEach((r, u) => {
527
+ r.classList.toggle("active", u === e);
503
528
  });
504
529
  else {
505
- const r = u[e], d = n.querySelectorAll(".nine-tab-item.active");
506
- if (r.classList.contains("active") && d.length <= 1)
530
+ const r = s[e], u = n.querySelectorAll(".nine-tab-item.active");
531
+ if (r.classList.contains("active") && u.length <= 1)
507
532
  return;
508
533
  r.classList.toggle("active");
509
- const m = i.querySelector(`nine-table-sheet[data-index="${e}"]`);
510
- m && (m.classList.toggle("active"), m.classList.contains("active") || (m.style.flex = ""));
534
+ const g = c.querySelector(`nine-table-sheet[data-index="${e}"]`);
535
+ g && (g.classList.toggle("active"), g.classList.contains("active") || (g.style.flex = ""));
511
536
  }
512
- const a = Array.from(i.querySelectorAll("nine-table-sheet.active"));
513
- if (a.length > 1) {
514
- const r = 1 / a.length;
515
- a.forEach((d) => {
516
- (!d.style.flex || d.style.flex === "1 1 100%") && (d.style.flex = `${r} ${r} 0px`);
537
+ const l = Array.from(c.querySelectorAll("nine-table-sheet.active"));
538
+ if (l.length > 1) {
539
+ const r = 1 / l.length;
540
+ l.forEach((u) => {
541
+ (!u.style.flex || u.style.flex === "1 1 100%") && (u.style.flex = `${r} ${r} 0px`);
517
542
  });
518
543
  } else
519
- a.forEach((r) => {
544
+ l.forEach((r) => {
520
545
  r.style.flex = "1 1 100%";
521
546
  });
522
- o();
523
- const p = i.querySelector("nine-table-sheet.active");
524
- if (p && typeof p.getRowCount == "function") {
547
+ i();
548
+ const m = c.querySelector("nine-table-sheet.active");
549
+ if (m && typeof m.getRowCount == "function") {
525
550
  const r = this.querySelector("#row-count");
526
- r && (r.textContent = p.getRowCount().toLocaleString());
551
+ r && (r.textContent = m.getRowCount().toLocaleString());
527
552
  }
528
553
  }, "switchSheet"));
529
554
  }
530
555
  connectedCallback() {
531
- t(this, ct).call(this);
556
+ t(this, et).call(this);
532
557
  }
533
558
  };
534
- ct = new WeakMap(), l(St, "NineTableSheets");
535
- let mt = St;
536
- customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", mt);
537
- var L, P, at, Z, ht;
538
- const Tt = class Tt {
539
- constructor(c) {
540
- h(this, L);
541
- h(this, P, null);
542
- h(this, at, /* @__PURE__ */ l(() => {
543
- const c = t(this, L).host;
544
- c && (g(this, P, new ResizeObserver((e) => {
545
- for (let s of e)
546
- c.getAttribute("auto-height") === "true" && t(this, Z).call(this, c);
547
- })), t(this, P).observe(c));
559
+ et = new WeakMap(), h(gt, "NineTableSheets");
560
+ let at = gt;
561
+ customElements.get("nine-table-sheets") || customElements.define("nine-table-sheets", at);
562
+ var E, O, nt, F, ot;
563
+ const mt = class mt {
564
+ constructor(a) {
565
+ f(this, E);
566
+ f(this, O, null);
567
+ f(this, nt, /* @__PURE__ */ h(() => {
568
+ const a = t(this, E).host;
569
+ a && (y(this, O, new ResizeObserver((e) => {
570
+ for (let o of e)
571
+ a.getAttribute("auto-height") === "true" && t(this, F).call(this, a);
572
+ })), t(this, O).observe(a));
548
573
  }, "#observeResize"));
549
- h(this, Z, /* @__PURE__ */ l((c) => {
550
- var E, H;
551
- const e = (E = c.shadowRoot) == null ? void 0 : E.querySelector("nine-table-sheet.active");
574
+ f(this, F, /* @__PURE__ */ h((a) => {
575
+ var L, q;
576
+ const e = (L = a.shadowRoot) == null ? void 0 : L.querySelector("nine-table-sheet.active");
552
577
  if (!e) return;
553
- const s = ((H = e.getRowCount) == null ? void 0 : H.call(e)) || 0, o = parseInt(c.getAttribute("max-display-row"), 10) || 10, n = Math.min(s, o), i = e.querySelector("tbody tr") || e.querySelector("tr"), u = i ? i.getBoundingClientRect().height : 32, y = t(this, L).querySelector("nine-table-header"), a = t(this, L).querySelector("nine-table-sheets-footer"), p = y ? y.getBoundingClientRect().height : 40, r = a ? a.getBoundingClientRect().height : 32, m = p + r + 16, q = n * u + m;
554
- c.style.height = `${q}px`, c.style.maxHeight = `${o * u + m}px`;
555
- const x = t(this, L).querySelector("nine-table-sheets-body");
556
- x && (x.style.overflowY = s > o ? "auto" : "hidden");
578
+ const o = ((q = e.getRowCount) == null ? void 0 : q.call(e)) || 0, i = parseInt(a.getAttribute("max-display-row"), 10) || 10, n = Math.min(o, i), c = e.querySelector("tbody tr") || e.querySelector("tr"), s = c ? c.getBoundingClientRect().height : 32, p = t(this, E).querySelector("nine-table-header"), l = t(this, E).querySelector("nine-table-sheets-footer"), m = p ? p.getBoundingClientRect().height : 40, r = l ? l.getBoundingClientRect().height : 32, g = m + r + 16, k = n * s + g;
579
+ a.style.height = `${k}px`, a.style.maxHeight = `${i * s + g}px`;
580
+ const x = t(this, E).querySelector("nine-table-sheets-body");
581
+ x && (x.style.overflowY = o > i ? "auto" : "hidden");
557
582
  }, "#applyAutoHeight"));
558
- h(this, ht, /* @__PURE__ */ l(() => {
559
- const c = t(this, L).host, s = Array.from(c.children).filter((y) => y.tagName === "TABLE"), o = c.getAttribute("auto-height") === "true", n = s.map((y, a) => `<nine-table-sheet class="${a === 0 ? "active" : ""}" data-index="${a}"></nine-table-sheet>`).join(""), i = s.map((y, a) => `<div class="nine-tab-item ${a === 0 ? "active" : ""}" data-index="${a}">Sheet ${a + 1}</div>`).join("");
560
- t(this, L).innerHTML = `
583
+ f(this, ot, /* @__PURE__ */ h(() => {
584
+ const a = t(this, E).host, o = Array.from(a.children).filter((p) => p.tagName === "TABLE"), i = a.getAttribute("auto-height") === "true", n = o.map((p, l) => `<nine-table-sheet class="${l === 0 ? "active" : ""}" data-index="${l}"></nine-table-sheet>`).join(""), c = o.map((p, l) => `<div class="nine-tab-item ${l === 0 ? "active" : ""}" data-index="${l}">Sheet ${l + 1}</div>`).join("");
585
+ t(this, E).innerHTML = `
561
586
  <style>
562
587
  :host {
563
588
  display: flex;
564
589
  flex-direction: column;
565
590
  position: relative;
566
591
  overflow: hidden;
567
- height: ${o ? "auto" : "100%"};
592
+ height: ${i ? "auto" : "100%"};
568
593
  background: #fff;
569
594
  }
570
595
  nine-table-header { height: 40px; display: block; flex-shrink: 0; border-bottom: 1px solid #e5e7eb; background: #fff; }
@@ -647,7 +672,7 @@ const Tt = class Tt {
647
672
  <nine-table-sheets>
648
673
  <nine-table-sheets-body>${n}</nine-table-sheets-body>
649
674
  <nine-table-sheets-footer>
650
- <div class="nine-tab-bar">${i}</div>
675
+ <div class="nine-tab-bar">${c}</div>
651
676
  <div class="sheets-counter">Total : <span id="row-count">0</span></div>
652
677
  </nine-table-sheets-footer>
653
678
  </nine-table-sheets>
@@ -655,33 +680,33 @@ const Tt = class Tt {
655
680
  </nine-table-body>
656
681
  <nine-table-footer></nine-table-footer>
657
682
  `;
658
- const u = t(this, L).querySelectorAll("nine-table-sheet");
659
- u == null || u.forEach((y, a) => {
660
- s[a] && setTimeout(() => {
661
- y.init(s[a]), o && t(this, Z).call(this, c);
683
+ const s = t(this, E).querySelectorAll("nine-table-sheet");
684
+ s == null || s.forEach((p, l) => {
685
+ o[l] && setTimeout(() => {
686
+ p.init(o[l]), i && t(this, F).call(this, a);
662
687
  });
663
688
  });
664
689
  }, "#render"));
665
- g(this, L, c), t(this, ht).call(this), t(this, at).call(this);
690
+ y(this, E, a), t(this, ot).call(this), t(this, nt).call(this);
666
691
  }
667
692
  };
668
- L = new WeakMap(), P = new WeakMap(), at = new WeakMap(), Z = new WeakMap(), ht = new WeakMap(), l(Tt, "LayoutManager");
669
- let pt = Tt;
670
- var G;
671
- const kt = class kt extends HTMLElement {
693
+ E = new WeakMap(), O = new WeakMap(), nt = new WeakMap(), F = new WeakMap(), ot = new WeakMap(), h(mt, "LayoutManager");
694
+ let ht = mt;
695
+ var P;
696
+ const pt = class pt extends HTMLElement {
672
697
  constructor() {
673
698
  super();
674
- h(this, G, !1);
699
+ f(this, P, !1);
675
700
  this.attachShadow({ mode: "open" });
676
701
  }
677
702
  connectedCallback() {
678
- t(this, G) || (this.layoutManager = new pt(this.shadowRoot), g(this, G, !0), J.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } })));
703
+ t(this, P) || (this.layoutManager = new ht(this.shadowRoot), y(this, P, !0), Z.log("NineTable connected."), this.dispatchEvent(new CustomEvent("load", { bubbles: !0, detail: { target: this } })));
679
704
  }
680
705
  disconnectedCallback() {
681
- J.log("NineTable disconnected.");
706
+ Z.log("NineTable disconnected.");
682
707
  }
683
708
  };
684
- G = new WeakMap(), l(kt, "NineTable");
685
- let yt = kt;
686
- customElements.get("nine-table") || customElements.define("nine-table", yt);
709
+ P = new WeakMap(), h(pt, "NineTable");
710
+ let dt = pt;
711
+ customElements.get("nine-table") || customElements.define("nine-table", dt);
687
712
  //# sourceMappingURL=nine-table.js.map