comins-table 0.1.1 → 0.1.3

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.
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
- import { addCominsRows as e, applyCominsColumnLayout as t, clearCominsCellRange as n, clearCominsSelection as r, clearCominsSortState as i, copyCominsCell as a, copyCominsCellRange as o, copyCominsRow as s, createCominsTableState as c, deleteCominsRows as l, exportCominsRowsToCsv as u, exportCominsRowsToJson as d, fillCominsCellRange as f, formatCominsCellValue as p, getCominsCellClassName as m, getCominsCellStyle as h, getCominsCellValue as g, getCominsHeaderRows as _, getCominsPageRows as v, getCominsSelectedCellRange as y, getCominsSortedRowIndexes as b, getCominsVirtualRows as x, getCominsVisibleColumns as S, isCominsCellDisabled as ee, isCominsCellInSelectedRange as C, isCominsCellSelected as te, isCominsRowSelected as ne, moveCominsColumn as re, moveCominsColumnGroup as w, moveCominsRow as T, pasteCominsCell as ie, pasteCominsCellRange as ae, pasteCominsRow as oe, queryCominsRows as se, replaceCominsRows as ce, selectCell as le, selectCellRange as ue, selectRow as E, selectRows as de, serializeCominsColumnLayout as fe, setCominsColumnGroupHidden as pe, setCominsColumnGroupWidth as me, setCominsColumnHidden as he, setCominsColumnWidth as D, setCominsHeaderVisible as ge, setCominsPagination as _e, setCominsSortState as ve, setCominsTableTheme as ye, sortCominsRows as be, updateCominsRows as xe } from "./core.js";
2
- import { Fragment as Se, createContext as Ce, createElement as we, forwardRef as O, useContext as Te, useEffect as k, useId as Ee, useImperativeHandle as De, useLayoutEffect as Oe, useMemo as A, useRef as j, useState as M } from "react";
3
- import { jsx as N, jsxs as P } from "react/jsx-runtime";
1
+ import { addCominsRows as e, applyCominsColumnLayout as t, clearCominsCellRange as n, clearCominsSelection as r, clearCominsSortState as i, copyCominsCell as a, copyCominsCellRange as o, copyCominsRow as s, createCominsTableState as c, deleteCominsRows as l, exportCominsRowsToCsv as u, exportCominsRowsToJson as d, fillCominsCellRange as f, formatCominsCellValue as p, getCominsCellClassName as m, getCominsCellStyle as h, getCominsCellValue as g, getCominsHeaderRows as _, getCominsPageRows as v, getCominsSelectedCellRange as y, getCominsSortedRowIndexes as b, getCominsVirtualRows as x, getCominsVisibleColumns as ee, isCominsCellDisabled as S, isCominsCellInSelectedRange as te, isCominsCellSelected as C, isCominsRowSelected as ne, moveCominsColumn as re, moveCominsColumnGroup as w, moveCominsRow as T, pasteCominsCell as ie, pasteCominsCellRange as E, pasteCominsRow as ae, queryCominsRows as oe, replaceCominsRows as se, selectCell as ce, selectCellRange as le, selectRow as D, selectRows as ue, serializeCominsColumnLayout as de, setCominsColumnGroupHidden as fe, setCominsColumnGroupWidth as pe, setCominsColumnHidden as me, setCominsColumnWidth as he, setCominsHeaderVisible as ge, setCominsPagination as _e, setCominsSortState as ve, setCominsTableTheme as ye, sortCominsRows as be, updateCominsRows as xe } from "./core.js";
2
+ import { Fragment as Se, createContext as Ce, createElement as we, forwardRef as Te, useContext as Ee, useEffect as O, useId as De, useImperativeHandle as Oe, useLayoutEffect as ke, useMemo as k, useRef as A, useState as j } from "react";
3
+ import { jsx as M, jsxs as N } from "react/jsx-runtime";
4
4
  //#region node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.mjs
5
- var ke = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), Ae = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), je = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), Me = (e) => {
6
- let t = je(e);
5
+ var Ae = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), je = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Me = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), Ne = (e) => {
6
+ let t = Me(e);
7
7
  return t.charAt(0).toUpperCase() + t.slice(1);
8
- }, F = {
8
+ }, P = {
9
9
  xmlns: "http://www.w3.org/2000/svg",
10
10
  width: 24,
11
11
  height: 24,
@@ -15,30 +15,30 @@ var ke = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e)
15
15
  strokeWidth: 2,
16
16
  strokeLinecap: "round",
17
17
  strokeLinejoin: "round"
18
- }, Ne = (e) => {
18
+ }, Pe = (e) => {
19
19
  for (let t in e) if (t.startsWith("aria-") || t === "role" || t === "title") return !0;
20
20
  return !1;
21
- }, I = Ce({}), Pe = () => Te(I), Fe = O(({ color: e, size: t, strokeWidth: n, absoluteStrokeWidth: r, className: i = "", children: a, iconNode: o, ...s }, c) => {
22
- let { size: l = 24, strokeWidth: u = 2, absoluteStrokeWidth: d = !1, color: f = "currentColor", className: p = "" } = Pe() ?? {}, m = r ?? d ? Number(n ?? u) * 24 / Number(t ?? l) : n ?? u;
21
+ }, F = Ce({}), Fe = () => Ee(F), Ie = Te(({ color: e, size: t, strokeWidth: n, absoluteStrokeWidth: r, className: i = "", children: a, iconNode: o, ...s }, c) => {
22
+ let { size: l = 24, strokeWidth: u = 2, absoluteStrokeWidth: d = !1, color: f = "currentColor", className: p = "" } = Fe() ?? {}, m = r ?? d ? Number(n ?? u) * 24 / Number(t ?? l) : n ?? u;
23
23
  return we("svg", {
24
24
  ref: c,
25
- ...F,
26
- width: t ?? l ?? F.width,
27
- height: t ?? l ?? F.height,
25
+ ...P,
26
+ width: t ?? l ?? P.width,
27
+ height: t ?? l ?? P.height,
28
28
  stroke: e ?? f,
29
29
  strokeWidth: m,
30
- className: ke("lucide", p, i),
31
- ...!a && !Ne(s) && { "aria-hidden": "true" },
30
+ className: Ae("lucide", p, i),
31
+ ...!a && !Pe(s) && { "aria-hidden": "true" },
32
32
  ...s
33
33
  }, [...o.map(([e, t]) => we(e, t)), ...Array.isArray(a) ? a : [a]]);
34
- }), Ie = ((e, t) => {
35
- let n = O(({ className: n, ...r }, i) => we(Fe, {
34
+ }), Le = ((e, t) => {
35
+ let n = Te(({ className: n, ...r }, i) => we(Ie, {
36
36
  ref: i,
37
37
  iconNode: t,
38
- className: ke(`lucide-${Ae(Me(e))}`, `lucide-${e}`, n),
38
+ className: Ae(`lucide-${je(Ne(e))}`, `lucide-${e}`, n),
39
39
  ...r
40
40
  }));
41
- return n.displayName = Me(e), n;
41
+ return n.displayName = Ne(e), n;
42
42
  })("arrow-up", [["path", {
43
43
  d: "m5 12 7-7 7 7",
44
44
  key: "hav0vg"
@@ -46,18 +46,22 @@ var ke = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e)
46
46
  d: "M12 19V5",
47
47
  key: "x0mq9r"
48
48
  }]]);
49
+ function Re({ clientX: e, clientY: t, startX: n, startY: r }) {
50
+ let i = Math.abs(e - n), a = Math.abs(t - r);
51
+ return i >= 6 && i > a ? "activate" : a >= 6 && a >= i ? "cancel" : "pending";
52
+ }
49
53
  //#endregion
50
54
  //#region src/component-renderer.tsx
51
- function L(...e) {
55
+ function I(...e) {
52
56
  return e.filter(Boolean).join(" ");
53
57
  }
54
- function R(e, t) {
58
+ function L(e, t) {
55
59
  return typeof e == "function" ? e(t) : e ?? {};
56
60
  }
57
- function Le(e, t) {
61
+ function R(e, t) {
58
62
  return typeof e == "function" ? e(t) : e;
59
63
  }
60
- function Re(e, t) {
64
+ function ze(e, t) {
61
65
  return typeof e == "function" ? e(t) : e;
62
66
  }
63
67
  function z(e, t) {
@@ -66,10 +70,10 @@ function z(e, t) {
66
70
  function B(e) {
67
71
  return typeof e == "string" || typeof e == "number" || typeof e == "boolean" ? String(e) : Array.isArray(e) ? e.map(B).join(" ") : "";
68
72
  }
69
- function ze(e) {
73
+ function Be(e) {
70
74
  return e.type !== "divider" && e.type !== "label";
71
75
  }
72
- function Be(e, t) {
76
+ function Ve(e, t) {
73
77
  return !!(e && t instanceof Node && e.contains(t));
74
78
  }
75
79
  function V(e) {
@@ -78,12 +82,12 @@ function V(e) {
78
82
  function H(e) {
79
83
  e.preventDefault(), e.stopPropagation();
80
84
  }
81
- function Ve(e) {
85
+ function He(e) {
82
86
  return e == null ? "" : String(e);
83
87
  }
84
- function He({ component: e, payload: t }) {
85
- let n = R(e.props, t), { defaultValue: r, onBlur: i, onChange: a, onClick: o, onKeyDown: s, onMouseDown: c, onPointerDown: l, value: u, ...d } = n, f = Ve(u ?? r), [p, m] = M(f), h = j(f);
86
- k(() => {
88
+ function Ue({ component: e, payload: t }) {
89
+ let n = L(e.props, t), { defaultValue: r, onBlur: i, onChange: a, onClick: o, onKeyDown: s, onMouseDown: c, onPointerDown: l, value: u, ...d } = n, f = He(u ?? r), [p, m] = j(f), h = A(f);
90
+ O(() => {
87
91
  m(f), h.current = f;
88
92
  }, [f]);
89
93
  let g = (n) => {
@@ -96,9 +100,9 @@ function He({ component: e, payload: t }) {
96
100
  value: p
97
101
  }));
98
102
  };
99
- return /* @__PURE__ */ N("input", {
103
+ return /* @__PURE__ */ M("input", {
100
104
  ...d,
101
- className: L("comins-table__component", "comins-table__component-input", n.className),
105
+ className: I("comins-table__component", "comins-table__component-input", n.className),
102
106
  onBlur: (e) => {
103
107
  i?.(e), V(e), g(e);
104
108
  },
@@ -120,14 +124,14 @@ function He({ component: e, payload: t }) {
120
124
  value: p
121
125
  });
122
126
  }
123
- function Ue({ component: e, payload: t }) {
124
- let n = R(e.props, t), { checked: r, defaultChecked: i, onChange: a, onClick: o, onKeyDown: s, onMouseDown: c, onPointerDown: l, style: u, ...d } = n, [f, p] = M(!!(r ?? i));
125
- return k(() => {
127
+ function We({ component: e, payload: t }) {
128
+ let n = L(e.props, t), { checked: r, defaultChecked: i, onChange: a, onClick: o, onKeyDown: s, onMouseDown: c, onPointerDown: l, style: u, ...d } = n, [f, p] = j(!!(r ?? i));
129
+ return O(() => {
126
130
  r !== void 0 && p(!!r);
127
- }, [r]), /* @__PURE__ */ N("input", {
131
+ }, [r]), /* @__PURE__ */ M("input", {
128
132
  ...d,
129
133
  checked: f,
130
- className: L("comins-table__component", "comins-table__component-checkbox", n.className),
134
+ className: I("comins-table__component", "comins-table__component-checkbox", n.className),
131
135
  onClick: (e) => {
132
136
  o?.(e), V(e);
133
137
  },
@@ -155,15 +159,15 @@ function Ue({ component: e, payload: t }) {
155
159
  });
156
160
  }
157
161
  function U({ component: e, payload: t }) {
158
- let { checked: n, ...r } = R(e.props, t), { onClick: i, onKeyDown: a, onMouseDown: o, onPointerDown: s, ...c } = r, [l, u] = M(!!n);
159
- k(() => {
162
+ let { checked: n, ...r } = L(e.props, t), { onClick: i, onKeyDown: a, onMouseDown: o, onPointerDown: s, ...c } = r, [l, u] = j(!!n);
163
+ O(() => {
160
164
  n !== void 0 && u(!!n);
161
165
  }, [n]);
162
166
  let d = typeof r.children == "string" && (r.children === "ON" || r.children === "OFF") ? l ? "ON" : "OFF" : r.children;
163
- return /* @__PURE__ */ N("button", {
167
+ return /* @__PURE__ */ M("button", {
164
168
  ...c,
165
169
  "aria-pressed": l,
166
- className: L("comins-table__component", "comins-table__component-toggle", r.className),
170
+ className: I("comins-table__component", "comins-table__component-toggle", r.className),
167
171
  onClick: (n) => {
168
172
  i?.(n), V(n);
169
173
  let r = !l;
@@ -185,12 +189,12 @@ function U({ component: e, payload: t }) {
185
189
  children: d
186
190
  });
187
191
  }
188
- function We({ component: e, payload: t }) {
189
- let [n, r] = M(!1), i = Ee(), a = j(null), o = j(null), [s, c] = M({
192
+ function Ge({ component: e, payload: t }) {
193
+ let [n, r] = j(!1), i = De(), a = A(null), o = A(null), [s, c] = j({
190
194
  left: 0,
191
195
  position: "fixed",
192
196
  top: 0
193
- }), l = R(e.props, t), u = A(() => Re(e.items, t), [e.items, t]), d = () => {
197
+ }), l = L(e.props, t), u = k(() => ze(e.items, t), [e.items, t]), d = () => {
194
198
  let e = a.current;
195
199
  if (!e || typeof window > "u") return;
196
200
  let t = e.getBoundingClientRect(), n = Math.max(o.current?.offsetWidth ?? 136, 136);
@@ -211,41 +215,41 @@ function We({ component: e, payload: t }) {
211
215
  open: i
212
216
  }));
213
217
  };
214
- k(() => {
218
+ O(() => {
215
219
  if (!n) return;
216
220
  let e = (e) => {
217
- Be(a.current, e.target) || Be(o.current, e.target) || f(!1, e);
221
+ Ve(a.current, e.target) || Ve(o.current, e.target) || f(!1, e);
218
222
  }, t = (e) => {
219
223
  e.key === "Escape" && (f(!1, e), a.current?.focus());
220
224
  };
221
225
  return document.addEventListener("pointerdown", e), document.addEventListener("keydown", t), () => {
222
226
  document.removeEventListener("pointerdown", e), document.removeEventListener("keydown", t);
223
227
  };
224
- }, [n]), Oe(() => {
228
+ }, [n]), ke(() => {
225
229
  if (n && (d(), !(typeof window > "u"))) return window.addEventListener("resize", d), window.addEventListener("scroll", d, !0), () => {
226
230
  window.removeEventListener("resize", d), window.removeEventListener("scroll", d, !0);
227
231
  };
228
232
  }, [n]);
229
- let p = n ? /* @__PURE__ */ N("span", {
233
+ let p = n ? /* @__PURE__ */ M("span", {
230
234
  "aria-label": "Header menu",
231
235
  className: "comins-table__component-menu-popover",
232
236
  id: i,
233
237
  ref: o,
234
238
  role: "menu",
235
239
  style: s,
236
- children: u.map((n, r) => n.type === "divider" ? /* @__PURE__ */ N("span", {
240
+ children: u.map((n, r) => n.type === "divider" ? /* @__PURE__ */ M("span", {
237
241
  "aria-orientation": "horizontal",
238
242
  className: "comins-table__component-menu-divider",
239
243
  role: "separator"
240
- }, `divider-${r}`) : n.type === "label" ? /* @__PURE__ */ N("span", {
244
+ }, `divider-${r}`) : n.type === "label" ? /* @__PURE__ */ M("span", {
241
245
  className: "comins-table__component-menu-label",
242
246
  role: "presentation",
243
247
  children: n.label
244
- }, `label-${r}`) : /* @__PURE__ */ N("button", {
248
+ }, `label-${r}`) : /* @__PURE__ */ M("button", {
245
249
  className: "comins-table__component-menu-item",
246
250
  disabled: n.disabled,
247
251
  onClick: (r) => {
248
- H(r), !(n.disabled || !ze(n)) && (f(!1, r), e.onSelect?.({
252
+ H(r), !(n.disabled || !Be(n)) && (f(!1, r), e.onSelect?.({
249
253
  ...t,
250
254
  event: r,
251
255
  item: n,
@@ -260,15 +264,15 @@ function We({ component: e, payload: t }) {
260
264
  children: n.label
261
265
  }, `${String(n.value)}-${r}`))
262
266
  }) : null;
263
- return /* @__PURE__ */ P("span", {
267
+ return /* @__PURE__ */ N("span", {
264
268
  className: "comins-table__component comins-table__component-menu",
265
- children: [/* @__PURE__ */ N("button", {
269
+ children: [/* @__PURE__ */ M("button", {
266
270
  ...l,
267
271
  "aria-controls": n ? i : void 0,
268
272
  "aria-expanded": n,
269
273
  "aria-haspopup": "menu",
270
274
  "aria-label": l["aria-label"] ?? "Header menu",
271
- className: L("comins-table__component-menu-trigger", l.className),
275
+ className: I("comins-table__component-menu-trigger", l.className),
272
276
  onClick: (e) => {
273
277
  H(e), f(!n, e);
274
278
  },
@@ -289,31 +293,31 @@ function We({ component: e, payload: t }) {
289
293
  }), p]
290
294
  });
291
295
  }
292
- function Ge({ component: e, payload: t }) {
293
- let { height: n, itemHeight: r, limit: i, more: a = !1, searchable: o = !1, style: s, ...c } = R(e.props, t), l = A(() => z(e.items, t), [e.items, t]), u = Math.max(1, Number(i ?? 5)), d = Math.max(1, Number(r ?? 28)), f = d * 5, p = n !== void 0 || s?.height !== void 0, [m, h] = M(""), [g, _] = M(!1), [v, y] = M(0), [b, x] = M(null), [S, ee] = M(f), C = j(null), te = t.row.selected && t.selection.selectedRowCount === 1, ne = !!(o && te), re = !!(a && te), w = ne ? m : "";
294
- k(() => {
295
- _(!1), y(0);
296
- }, [l.length, u]), Oe(() => {
296
+ function Ke({ component: e, interaction: t, payload: n }) {
297
+ let { height: r, itemHeight: i, limit: a, more: o = !1, searchable: s = !1, style: c, ...l } = L(e.props, n), u = k(() => z(e.items, n), [e.items, n]), d = Math.max(1, Number(a ?? 5)), f = Math.max(1, Number(i ?? 28)), p = f * 5, m = r !== void 0 || c?.height !== void 0, [h, g] = j(""), [_, v] = j(!1), [y, b] = j(0), [x, ee] = j(null), [S, te] = j(p), C = A(null), ne = n.row.selected && n.selection.selectedRowCount === 1, re = !!(s && ne), w = re ? h : "";
298
+ O(() => {
299
+ v(!1), b(0);
300
+ }, [u.length, d]), ke(() => {
297
301
  let e = C.current;
298
302
  if (!e) return;
299
- let t = e.clientHeight > 0 ? e.clientHeight : f;
300
- ee(p ? t : Math.min(t, f));
303
+ let t = e.clientHeight > 0 ? e.clientHeight : p;
304
+ te(m ? t : Math.min(t, p));
301
305
  }, [
302
- f,
303
- g,
306
+ p,
307
+ _,
304
308
  w,
305
- p
306
- ]), k(() => {
309
+ m
310
+ ]), O(() => {
307
311
  let e = C.current;
308
- e && (e.scrollTop = 0, y(0));
309
- }, [w]), k(() => {
310
- if (te) return;
312
+ e && (e.scrollTop = 0, b(0));
313
+ }, [w]), O(() => {
314
+ if (ne) return;
311
315
  let e = C.current;
312
- e && (e.scrollTop = 0), _(!1), h(""), y(0);
313
- }, [te]);
314
- let T = A(() => {
316
+ e && (e.scrollTop = 0), v(!1), g(""), b(0);
317
+ }, [ne]);
318
+ let T = k(() => {
315
319
  let t = w.trim().toLowerCase();
316
- return l.map((e, t) => ({
320
+ return u.map((e, t) => ({
317
321
  item: e,
318
322
  itemIndex: t
319
323
  })).filter(({ item: n, itemIndex: r }) => t ? e.searchFilter ? e.searchFilter({
@@ -324,29 +328,32 @@ function Ge({ component: e, payload: t }) {
324
328
  }, [
325
329
  w,
326
330
  e,
327
- l
328
- ]), ie = T.length > u, ae = !!(te && (g || w.trim().length > 0 || !a && ie)), oe = ie && !ae, se = ne && !g ? 0 : 2, ce = Math.max(d, p ? S || f : Math.min(S || f, f)), le = Math.max(0, Math.floor(Math.max(0, v) / d) - se), ue = Math.min(T.length, Math.ceil((Math.max(0, v) + ce) / d) + se), E = ae ? T.slice(le, ue) : T.slice(0, ie ? u : T.length), de = ae ? le * d : 0, fe = ae ? Math.max(0, T.length - ue) * d : 0, pe = `${String(t.row.id)}-${t.column.id}`, me = {
329
- ...s,
330
- "--comins-table-virtual-list-item-height": `${d}px`,
331
- height: n ?? s?.height ?? f
332
- }, he = (n, r, i) => {
333
- n.disabled || (x(n.value), e.onClickItem?.({
334
- ...t,
335
- event: i,
336
- item: n,
337
- itemIndex: r,
338
- value: n.value
331
+ u
332
+ ]), ie = T.length > d, E = !!(ne && (_ || w.trim().length > 0 || !o && ie)), ae = ie && !E, oe = re && !_ ? 0 : 2, se = Math.max(f, m ? S || p : Math.min(S || p, p)), ce = Math.max(0, Math.floor(Math.max(0, y) / f) - oe), le = Math.min(T.length, Math.ceil((Math.max(0, y) + se) / f) + oe), D = E ? T.slice(ce, le) : T.slice(0, ie ? d : T.length), ue = E ? ce * f : 0, de = E ? Math.max(0, T.length - le) * f : 0, fe = `${String(n.row.id)}-${n.column.id}`, pe = {
333
+ ...c,
334
+ "--comins-table-virtual-list-item-height": `${f}px`,
335
+ height: r ?? c?.height ?? p
336
+ }, me = (r, i, a) => {
337
+ r.disabled || t?.requestRowSelection?.({
338
+ event: a,
339
+ mode: "row-click"
340
+ }) !== !1 && (ee(r.value), e.onClickItem?.({
341
+ ...n,
342
+ event: a,
343
+ item: r,
344
+ itemIndex: i,
345
+ value: r.value
339
346
  }));
340
347
  };
341
- return /* @__PURE__ */ P("div", {
342
- ...c,
343
- "aria-label": c["aria-label"] ?? "Virtual list",
344
- className: L("comins-table__component", "comins-table__component-virtual-list", c.className),
345
- "data-comins-virtual-list-expanded": ae ? "true" : void 0,
346
- "data-comins-virtual-list-visible-count": E.length,
347
- "data-testid": `virtual-list-${pe}`,
348
+ return /* @__PURE__ */ N("div", {
349
+ ...l,
350
+ "aria-label": l["aria-label"] ?? "Virtual list",
351
+ className: I("comins-table__component", "comins-table__component-virtual-list", l.className),
352
+ "data-comins-virtual-list-expanded": E ? "true" : void 0,
353
+ "data-comins-virtual-list-visible-count": D.length,
354
+ "data-testid": `virtual-list-${fe}`,
348
355
  onClick: (e) => {
349
- c.onClick?.(e), V(e);
356
+ l.onClick?.(e), V(e);
350
357
  },
351
358
  onKeyDown: V,
352
359
  onMouseDown: V,
@@ -370,113 +377,118 @@ function Ge({ component: e, payload: t }) {
370
377
  onTouchMove: V,
371
378
  onTouchEnd: V,
372
379
  onWheel: (e) => {
373
- c.onWheel?.(e), V(e);
380
+ l.onWheel?.(e), V(e);
374
381
  },
375
382
  onPointerDown: (e) => {
376
- c.onPointerDown?.(e), V(e);
383
+ l.onPointerDown?.(e), V(e);
377
384
  },
378
385
  role: "listbox",
379
- style: me,
380
- children: [/* @__PURE__ */ P("div", {
386
+ style: pe,
387
+ children: [/* @__PURE__ */ N("div", {
381
388
  className: "comins-table__component-virtual-list-items",
382
389
  onScroll: (e) => {
383
- V(e), y(e.currentTarget.scrollTop);
384
- let t = e.currentTarget.clientHeight > 0 ? e.currentTarget.clientHeight : f;
385
- ee(p ? t : Math.min(t, f));
390
+ V(e), b(e.currentTarget.scrollTop);
391
+ let t = e.currentTarget.clientHeight > 0 ? e.currentTarget.clientHeight : p;
392
+ te(m ? t : Math.min(t, p));
386
393
  },
387
394
  ref: C,
388
395
  role: "presentation",
389
396
  children: [
390
- de > 0 ? /* @__PURE__ */ N("span", {
397
+ ue > 0 ? /* @__PURE__ */ M("span", {
391
398
  "aria-hidden": "true",
392
399
  className: "comins-table__component-virtual-list-spacer",
393
- style: { height: de }
400
+ style: { height: ue }
394
401
  }) : null,
395
- E.map(({ item: n, itemIndex: r }) => /* @__PURE__ */ N("button", {
396
- "aria-selected": b === n.value,
402
+ D.map(({ item: t, itemIndex: r }) => /* @__PURE__ */ M("button", {
403
+ "aria-selected": x === t.value,
397
404
  className: "comins-table__component-virtual-list-item",
398
405
  "data-comins-virtual-list-item": "true",
399
- disabled: n.disabled,
406
+ disabled: t.disabled,
400
407
  onClick: (e) => {
401
- H(e), he(n, r, e);
408
+ H(e), me(t, r, e);
402
409
  },
403
410
  onContextMenu: (i) => {
404
- V(i), !n.disabled && e.onContextMenuItem?.({
405
- ...t,
411
+ V(i), !t.disabled && e.onContextMenuItem?.({
412
+ ...n,
406
413
  event: i,
407
- item: n,
414
+ item: t,
408
415
  itemIndex: r,
409
- value: n.value
416
+ value: t.value
410
417
  });
411
418
  },
412
419
  onKeyDown: (e) => {
413
- V(e), (e.key === "Enter" || e.key === " " || e.key === "Spacebar") && (e.preventDefault(), he(n, r, e));
420
+ V(e), (e.key === "Enter" || e.key === " " || e.key === "Spacebar") && (e.preventDefault(), me(t, r, e));
414
421
  },
415
422
  onMouseDown: V,
416
423
  onPointerDown: V,
417
424
  role: "option",
418
425
  type: "button",
419
- children: /* @__PURE__ */ N("span", {
426
+ children: /* @__PURE__ */ M("span", {
420
427
  className: "comins-table__component-virtual-list-item-label",
421
- children: n.label
428
+ children: t.label
422
429
  })
423
- }, `${String(n.value)}-${r}`)),
424
- fe > 0 ? /* @__PURE__ */ N("span", {
430
+ }, `${String(t.value)}-${r}`)),
431
+ de > 0 ? /* @__PURE__ */ M("span", {
425
432
  "aria-hidden": "true",
426
433
  className: "comins-table__component-virtual-list-spacer",
427
- style: { height: fe }
434
+ style: { height: de }
428
435
  }) : null
429
436
  ]
430
- }), /* @__PURE__ */ P("div", {
437
+ }), /* @__PURE__ */ N("div", {
431
438
  className: "comins-table__component-virtual-list-controls",
432
- children: [oe ? re ? /* @__PURE__ */ N("button", {
439
+ children: [o && ie ? /* @__PURE__ */ M("button", {
440
+ "aria-expanded": E,
433
441
  "aria-label": "전체 목록 보기",
434
442
  className: "comins-table__component-virtual-list-overflow comins-table__component-virtual-list-more",
435
- "data-testid": `virtual-list-overflow-${pe}`,
443
+ "data-testid": `virtual-list-overflow-${fe}`,
436
444
  onClick: (e) => {
437
- H(e), _(!0);
445
+ H(e), t?.requestRowSelection?.({
446
+ event: e,
447
+ mode: "exclusive"
448
+ }) !== !1 && v(!0);
438
449
  },
439
450
  onKeyDown: V,
440
451
  onMouseDown: V,
441
452
  onPointerDown: V,
442
453
  type: "button",
443
454
  children: "..."
444
- }) : /* @__PURE__ */ N("span", {
455
+ }) : ae ? /* @__PURE__ */ M("span", {
445
456
  "aria-hidden": "true",
446
457
  className: "comins-table__component-virtual-list-overflow comins-table__component-virtual-list-more",
447
- "data-testid": `virtual-list-overflow-${pe}`,
458
+ "data-testid": `virtual-list-overflow-${fe}`,
448
459
  children: "..."
449
- }) : null, ne ? /* @__PURE__ */ N("input", {
450
- "aria-label": `${c["aria-label"] ?? "Virtual list"} 검색`,
460
+ }) : null, re ? /* @__PURE__ */ M("input", {
461
+ "aria-label": `${l["aria-label"] ?? "Virtual list"} 검색`,
451
462
  className: "comins-table__component-virtual-list-search",
452
- "data-testid": `virtual-list-search-${pe}`,
463
+ "data-testid": `virtual-list-search-${fe}`,
453
464
  onChange: (e) => {
454
- V(e), h(e.currentTarget.value);
465
+ V(e), g(e.currentTarget.value);
455
466
  },
456
467
  onClick: V,
457
468
  onKeyDown: V,
458
469
  onMouseDown: V,
459
470
  onPointerDown: V,
460
471
  placeholder: "검색",
461
- value: m
472
+ value: h
462
473
  }) : null]
463
474
  })]
464
475
  });
465
476
  }
466
- function Ke(e, t) {
467
- if (e.type === "menu") return /* @__PURE__ */ N(We, {
477
+ function qe(e, t, n) {
478
+ if (e.type === "menu") return /* @__PURE__ */ M(Ge, {
468
479
  component: e,
469
480
  payload: t
470
481
  });
471
- if (e.type === "virtual-list") return /* @__PURE__ */ N(Ge, {
482
+ if (e.type === "virtual-list") return /* @__PURE__ */ M(Ke, {
472
483
  component: e,
484
+ interaction: n,
473
485
  payload: t
474
486
  });
475
487
  if (e.type === "button") {
476
- let n = R(e.props, t), { onClick: r, onKeyDown: i, onMouseDown: a, onPointerDown: o, ...s } = n;
477
- return /* @__PURE__ */ N("button", {
488
+ let n = L(e.props, t), { onClick: r, onKeyDown: i, onMouseDown: a, onPointerDown: o, ...s } = n;
489
+ return /* @__PURE__ */ M("button", {
478
490
  ...s,
479
- className: L("comins-table__component", "comins-table__component-button", n.className),
491
+ className: I("comins-table__component", "comins-table__component-button", n.className),
480
492
  onClick: (n) => {
481
493
  r?.(n), V(n), e.onClick?.({
482
494
  ...t,
@@ -495,19 +507,19 @@ function Ke(e, t) {
495
507
  type: n.type ?? "button"
496
508
  });
497
509
  }
498
- if (e.type === "input") return /* @__PURE__ */ N(He, {
510
+ if (e.type === "input") return /* @__PURE__ */ M(Ue, {
499
511
  component: e,
500
512
  payload: t
501
513
  });
502
- if (e.type === "checkbox") return /* @__PURE__ */ N(Ue, {
514
+ if (e.type === "checkbox") return /* @__PURE__ */ M(We, {
503
515
  component: e,
504
516
  payload: t
505
517
  });
506
518
  if (e.type === "select") {
507
- let n = R(e.props, t), r = Le(e.options, t), { onChange: i, onClick: a, onKeyDown: o, onMouseDown: s, onPointerDown: c, ...l } = n;
508
- return /* @__PURE__ */ N("select", {
519
+ let n = L(e.props, t), r = R(e.options, t), { onChange: i, onClick: a, onKeyDown: o, onMouseDown: s, onPointerDown: c, ...l } = n;
520
+ return /* @__PURE__ */ M("select", {
509
521
  ...l,
510
- className: L("comins-table__component", "comins-table__component-select", n.className),
522
+ className: I("comins-table__component", "comins-table__component-select", n.className),
511
523
  onClick: (e) => {
512
524
  a?.(e), V(e);
513
525
  },
@@ -526,7 +538,7 @@ function Ke(e, t) {
526
538
  onPointerDown: (e) => {
527
539
  c?.(e), V(e);
528
540
  },
529
- children: r.map((e) => /* @__PURE__ */ N("option", {
541
+ children: r.map((e) => /* @__PURE__ */ M("option", {
530
542
  disabled: e.disabled,
531
543
  value: String(e.value),
532
544
  children: e.label
@@ -534,10 +546,10 @@ function Ke(e, t) {
534
546
  });
535
547
  }
536
548
  if (e.type === "radio") {
537
- let n = R(e.props, t), r = Le(e.options, t), i = n.value ?? ("value" in t ? t.value : void 0), a = "row" in t ? `${t.column.id}-${String(t.row.id)}-radio` : `${t.column.id}-header-radio`, { value: o, ...s } = n;
538
- return /* @__PURE__ */ N("div", {
549
+ let n = L(e.props, t), r = R(e.options, t), i = n.value ?? ("value" in t ? t.value : void 0), a = "row" in t ? `${t.column.id}-${String(t.row.id)}-radio` : `${t.column.id}-header-radio`, { value: o, ...s } = n;
550
+ return /* @__PURE__ */ M("div", {
539
551
  ...s,
540
- className: L("comins-table__component", "comins-table__component-radio", s.className),
552
+ className: I("comins-table__component", "comins-table__component-radio", s.className),
541
553
  onClick: (e) => {
542
554
  s.onClick?.(e), V(e);
543
555
  },
@@ -551,10 +563,10 @@ function Ke(e, t) {
551
563
  s.onPointerDown?.(e), V(e);
552
564
  },
553
565
  role: "radiogroup",
554
- children: r.map((n) => /* @__PURE__ */ P("label", {
566
+ children: r.map((n) => /* @__PURE__ */ N("label", {
555
567
  onClick: V,
556
568
  onMouseDown: V,
557
- children: [/* @__PURE__ */ N("input", {
569
+ children: [/* @__PURE__ */ M("input", {
558
570
  checked: i === void 0 ? void 0 : String(i) === String(n.value),
559
571
  disabled: n.disabled,
560
572
  name: a,
@@ -578,55 +590,60 @@ function Ke(e, t) {
578
590
  }, String(n.value)))
579
591
  });
580
592
  }
581
- if (e.type === "toggle") return /* @__PURE__ */ N(U, {
593
+ if (e.type === "toggle") return /* @__PURE__ */ M(U, {
582
594
  component: e,
583
595
  payload: t
584
596
  });
585
- let n = R(e.props, t), r = Number(n.value ?? 0), i = Math.max(1, Number(n.max ?? 100)), a = Math.max(0, Math.min(100, r / i * 100));
586
- return /* @__PURE__ */ N("div", {
587
- ...n,
588
- "aria-valuemax": i,
597
+ let r = L(e.props, t), i = Number(r.value ?? 0), a = Math.max(1, Number(r.max ?? 100)), o = Math.max(0, Math.min(100, i / a * 100));
598
+ return /* @__PURE__ */ M("div", {
599
+ ...r,
600
+ "aria-valuemax": a,
589
601
  "aria-valuemin": 0,
590
- "aria-valuenow": r,
591
- className: L("comins-table__component", "comins-table__component-progress", n.className),
602
+ "aria-valuenow": i,
603
+ className: I("comins-table__component", "comins-table__component-progress", r.className),
592
604
  onClick: V,
593
605
  onKeyDown: V,
594
606
  onMouseDown: V,
595
607
  onPointerDown: V,
596
608
  role: "progressbar",
597
- children: /* @__PURE__ */ N("span", { style: { width: `${a}%` } })
609
+ children: /* @__PURE__ */ M("span", { style: { width: `${o}%` } })
598
610
  });
599
611
  }
600
612
  //#endregion
601
613
  //#region src/summary.ts
602
- function qe(e, t) {
614
+ function Je(e, t) {
603
615
  return t.split(".").reduce((e, t) => {
604
616
  if (!(typeof e != "object" || !e)) return e[t];
605
617
  }, e);
606
618
  }
607
- function Je(e) {
619
+ function Ye(e) {
608
620
  return e.filter((e) => typeof e == "number" && Number.isFinite(e));
609
621
  }
610
- function Ye(e, t) {
622
+ function Xe(e, t) {
611
623
  if (e === "count") return t.length;
612
- let n = Je(t);
624
+ let n = Ye(t);
613
625
  return n.length === 0 ? null : e === "sum" ? n.reduce((e, t) => e + t, 0) : e === "avg" ? n.reduce((e, t) => e + t, 0) / n.length : e === "min" ? Math.min(...n) : Math.max(...n);
614
626
  }
615
- function Xe(e, t, n) {
627
+ function Ze(e, t, n) {
616
628
  return Object.entries(n.columns).reduce((n, [r, i]) => {
617
629
  let a = t.find((e) => e.id === r);
618
630
  if (!a || !i) return n;
619
- let o = e.map((e) => qe(e, a.field));
620
- return n[r] = typeof i == "function" ? i({
631
+ let o = typeof i == "object" && i ? i : void 0, s = typeof i == "object" && i ? i.aggregate : i, c = e.map((e) => Je(e, a.field)), l = typeof s == "function" ? s({
632
+ column: a,
633
+ rows: e,
634
+ values: c
635
+ }) : Xe(s, c);
636
+ return n[r] = o?.format ? o.format({
621
637
  column: a,
622
638
  rows: e,
623
- values: o
624
- }) : Ye(i, o), n;
639
+ value: l,
640
+ values: c
641
+ }) : l, n;
625
642
  }, {});
626
643
  }
627
644
  //#endregion
628
645
  //#region src/tree.ts
629
- function Ze(e) {
646
+ function Qe(e) {
630
647
  return e.join(".");
631
648
  }
632
649
  function W(e, t) {
@@ -634,7 +651,7 @@ function W(e, t) {
634
651
  e.forEach((e, s) => {
635
652
  let c = [...o, s], l = t(e.item, i);
636
653
  if (i += 1, n.has(l)) throw Error(`Duplicate tree row id: ${String(l)}`);
637
- n.set(l, c), r.set(Ze(c), l), e.children?.length && a(e.children, c);
654
+ n.set(l, c), r.set(Qe(c), l), e.children?.length && a(e.children, c);
638
655
  });
639
656
  };
640
657
  return a(e, []), {
@@ -642,42 +659,42 @@ function W(e, t) {
642
659
  idByPath: r
643
660
  };
644
661
  }
645
- function Qe(e, t, n) {
662
+ function $e(e, t, n) {
646
663
  let [r, ...i] = t;
647
664
  return r === void 0 ? [...e] : e.map((e, t) => t === r ? i.length === 0 ? n(e) : e.children ? {
648
665
  ...e,
649
- children: Qe(e.children, i, n)
666
+ children: $e(e.children, i, n)
650
667
  } : e : e);
651
668
  }
652
- function $e(e, t) {
653
- let n = W(e, t), r = [], i = (e, t, a) => {
654
- e.forEach((e, o) => {
655
- let s = [...a, o], c = e.children ?? [], l = c.length > 0, u = e.expand === !0, d = n.idByPath.get(Ze(s));
656
- d !== void 0 && (r.push({
669
+ function et(e, t, n = {}) {
670
+ let r = W(e, t), i = [], a = (e, t, o) => {
671
+ e.forEach((e, s) => {
672
+ let c = [...o, s], l = e.children ?? [], u = l.length > 0, d = e.expand ?? n.defaultExpandAll ?? !1, f = r.idByPath.get(Qe(c));
673
+ f !== void 0 && (i.push({
657
674
  depth: t,
658
- expanded: u,
659
- hasChildren: l,
675
+ expanded: d,
676
+ hasChildren: u,
660
677
  item: e.item,
661
- path: s,
662
- rowId: d
663
- }), l && u && i(c, t + 1, s));
678
+ path: c,
679
+ rowId: f
680
+ }), u && d && a(l, t + 1, c));
664
681
  });
665
682
  };
666
- return i(e, 0, []), r;
683
+ return a(e, 0, []), i;
667
684
  }
668
- function et(e) {
669
- return e.flatMap((e) => e.children?.length ? et(e.children) : [e.item]);
685
+ function tt(e) {
686
+ return e.flatMap((e) => e.children?.length ? tt(e.children) : [e.item]);
670
687
  }
671
- function tt(e, t, n) {
672
- let r = W(e, n).byId.get(t);
673
- return r ? Qe(e, r, (e) => ({
688
+ function nt(e, t, n, r = {}) {
689
+ let i = W(e, n).byId.get(t);
690
+ return i ? $e(e, i, (e) => ({
674
691
  ...e,
675
- expand: e.expand !== !0
692
+ expand: !(e.expand ?? r.defaultExpandAll ?? !1)
676
693
  })) : [...e];
677
694
  }
678
- function nt(e, t, n, r) {
695
+ function rt(e, t, n, r) {
679
696
  let i = W(e, n).byId.get(t);
680
- return i ? Qe(e, i, (e) => ({
697
+ return i ? $e(e, i, (e) => ({
681
698
  ...e,
682
699
  item: r(e.item)
683
700
  })) : [...e];
@@ -690,8 +707,8 @@ function G(e, t) {
690
707
  }
691
708
  //#endregion
692
709
  //#region src/index.tsx
693
- var rt = 50;
694
- function it(e, t, n, r, i) {
710
+ var it = 50;
711
+ function at(e, t, n, r, i) {
695
712
  let a = Math.max(0, r), o = e?.length ?? t.length, s = Math.min(o, Math.max(a, i)), c = [];
696
713
  for (let r = a; r < s; r += 1) {
697
714
  let i = e?.[r] ?? r, a = t[i], o = n[i];
@@ -704,26 +721,26 @@ function it(e, t, n, r, i) {
704
721
  }
705
722
  return c;
706
723
  }
707
- function at(e) {
724
+ function ot(e) {
708
725
  return !e || typeof e == "string" ? e : Object.entries(e).filter(([, e]) => e).map(([e]) => e).join(" ");
709
726
  }
710
727
  function K(e, t, n) {
711
728
  return typeof e == "function" ? e(t, n) : e;
712
729
  }
713
- function ot(e, t, n) {
730
+ function st(e, t, n) {
714
731
  let r = K(e?.disabled, t, n) === !0;
715
732
  return {
716
- className: at(K(e?.className, t, n)),
733
+ className: ot(K(e?.className, t, n)),
717
734
  disabled: r,
718
735
  draggable: !r && K(e?.draggable, t, n) !== !1,
719
736
  style: K(e?.style, t, n)
720
737
  };
721
738
  }
722
- function st(e) {
739
+ function ct(e) {
723
740
  let t = e?.background ?? e?.backgroundColor;
724
741
  return typeof t == "string" || typeof t == "number" ? t : void 0;
725
742
  }
726
- function ct(e, t, n) {
743
+ function lt(e, t, n) {
727
744
  let r = {
728
745
  height: e,
729
746
  ...t
@@ -733,7 +750,7 @@ function ct(e, t, n) {
733
750
  "--comins-table-row-custom-background": n
734
751
  };
735
752
  }
736
- function lt(e) {
753
+ function ut(e) {
737
754
  return {
738
755
  data: e.row,
739
756
  dataIndex: e.dataIndex,
@@ -741,7 +758,7 @@ function lt(e) {
741
758
  index: e.visibleIndex
742
759
  };
743
760
  }
744
- function ut(e, t) {
761
+ function dt(e, t) {
745
762
  return {
746
763
  definition: e,
747
764
  field: e.field,
@@ -750,19 +767,19 @@ function ut(e, t) {
750
767
  label: e.label
751
768
  };
752
769
  }
753
- function dt(e, t) {
770
+ function ft(e, t) {
754
771
  return {
755
772
  event: e,
756
773
  index: t.visibleIndex,
757
- row: lt(t)
774
+ row: ut(t)
758
775
  };
759
776
  }
760
- function ft(e, t, n, r, i) {
777
+ function pt(e, t, n, r, i) {
761
778
  return {
762
- column: ut(n, r),
779
+ column: dt(n, r),
763
780
  event: e,
764
781
  index: t.visibleIndex,
765
- row: lt(t),
782
+ row: ut(t),
766
783
  value: i
767
784
  };
768
785
  }
@@ -775,7 +792,7 @@ function q(e, t) {
775
792
  label: e.label
776
793
  };
777
794
  }
778
- function pt(e, t, n, r, i, a, o) {
795
+ function mt(e, t, n, r, i, a, o) {
779
796
  return {
780
797
  column: q(i, a),
781
798
  row: {
@@ -790,28 +807,28 @@ function pt(e, t, n, r, i, a, o) {
790
807
  value: o
791
808
  };
792
809
  }
793
- function mt(e, t) {
810
+ function ht(e, t) {
794
811
  let n = e.cell?.props;
795
812
  return typeof n == "function" ? n(t) : n;
796
813
  }
797
- function ht(e, t) {
798
- return e === void 0 ? !0 : typeof e == "boolean" ? e : e(t);
799
- }
800
814
  function gt(e, t) {
801
- return e?.disabled !== void 0 && ht(e.disabled, t) === !0;
815
+ return e === void 0 ? !0 : typeof e == "boolean" ? e : e(t);
802
816
  }
803
817
  function _t(e, t) {
818
+ return e?.disabled !== void 0 && gt(e.disabled, t) === !0;
819
+ }
820
+ function vt(e, t) {
804
821
  let n = e?.className;
805
822
  return typeof n == "function" ? n(t) : n;
806
823
  }
807
- function vt(e, t) {
824
+ function yt(e, t) {
808
825
  let n = e?.style;
809
826
  return typeof n == "function" ? n(t) : n;
810
827
  }
811
- function yt(e, t, n) {
828
+ function bt(e, t, n) {
812
829
  return e.cell?.format ? e.cell.format(n) : t == null ? "" : String(t);
813
830
  }
814
- function bt(e, t, n) {
831
+ function xt(e, t, n) {
815
832
  let r = e.columnState[t.id];
816
833
  return {
817
834
  column: q(t, n),
@@ -825,102 +842,102 @@ function bt(e, t, n) {
825
842
  }
826
843
  };
827
844
  }
828
- function xt(e) {
845
+ function St(e) {
829
846
  return "row" in e && "selection" in e;
830
847
  }
831
- function St(e, t) {
832
- return !xt(t) || e.type !== "input" && e.type !== "select" || t.selection.selectedRowCount === 1 && t.row.selected;
833
- }
834
848
  function Ct(e, t) {
835
- return (e ?? []).filter((e) => St(e, t));
849
+ return !St(t) || e.type !== "input" && e.type !== "select" || t.selection.selectedRowCount === 1 && t.row.selected;
850
+ }
851
+ function wt(e, t) {
852
+ return (e ?? []).filter((e) => Ct(e, t));
836
853
  }
837
- function wt(e, t, n) {
838
- return Ct(e, t).map((e, t) => ({
854
+ function Tt(e, t, n, r) {
855
+ return wt(e, t).map((e, t) => ({
839
856
  component: e,
840
857
  index: t
841
- })).filter(({ component: e }) => (e.direction ?? "left") === n).map(({ component: e, index: r }) => /* @__PURE__ */ N("span", {
858
+ })).filter(({ component: e }) => (e.direction ?? "left") === n).map(({ component: e, index: i }) => /* @__PURE__ */ M("span", {
842
859
  className: "comins-table__component-slot",
843
860
  "data-comins-component-align": e.align ?? "center",
844
861
  "data-comins-component-direction": n,
845
- "data-comins-component-id": e.id ?? `${e.type}-${r}`,
846
- children: Ke(e, t)
847
- }, e.id ?? `${e.type}-${r}`));
862
+ "data-comins-component-id": e.id ?? `${e.type}-${i}`,
863
+ children: qe(e, t, r)
864
+ }, e.id ?? `${e.type}-${i}`));
848
865
  }
849
- function Tt(e, t, n, r = {}) {
866
+ function Et(e, t, n, r = {}) {
850
867
  if (!t?.length) return e;
851
- let i = r.showContent ?? !0, a = Ct(t, n);
868
+ let i = r.showContent ?? !0, a = wt(t, n);
852
869
  if (!a.length) return e;
853
- let o = wt(a, n, "left"), s = wt(a, n, "right");
854
- return i ? /* @__PURE__ */ P("span", {
870
+ let o = Tt(a, n, "left", r.interaction), s = Tt(a, n, "right", r.interaction);
871
+ return i ? /* @__PURE__ */ N("span", {
855
872
  className: "comins-table__component-layout",
856
873
  children: [
857
- /* @__PURE__ */ N("span", {
874
+ /* @__PURE__ */ M("span", {
858
875
  className: "comins-table__component-group",
859
876
  "data-comins-component-direction": "left",
860
877
  children: o
861
878
  }),
862
- /* @__PURE__ */ N("span", {
879
+ /* @__PURE__ */ M("span", {
863
880
  className: "comins-table__component-content",
864
881
  children: e
865
882
  }),
866
- /* @__PURE__ */ N("span", {
883
+ /* @__PURE__ */ M("span", {
867
884
  className: "comins-table__component-group",
868
885
  "data-comins-component-direction": "right",
869
886
  children: s
870
887
  })
871
888
  ]
872
- }) : /* @__PURE__ */ N("span", {
889
+ }) : /* @__PURE__ */ M("span", {
873
890
  className: "comins-table__component-layout",
874
891
  "data-comins-component-only": "true",
875
- children: /* @__PURE__ */ P("span", {
892
+ children: /* @__PURE__ */ N("span", {
876
893
  className: "comins-table__component-group",
877
894
  "data-comins-component-direction": "all",
878
895
  children: [o, s]
879
896
  })
880
897
  });
881
898
  }
882
- function Et(e) {
883
- return Math.max(rt, e.minWidth ?? rt);
899
+ function Dt(e) {
900
+ return Math.max(it, e.minWidth ?? it);
884
901
  }
885
902
  function J(e) {
886
903
  return e.maxWidth ?? Infinity;
887
904
  }
888
- function Dt(e, t) {
905
+ function Ot(e, t) {
889
906
  return e.columnState[t.id]?.width ?? t.width ?? 100;
890
907
  }
891
- function Y(e, t, n) {
908
+ function kt(e, t, n) {
892
909
  return Math.min(n, Math.max(t, e));
893
910
  }
894
- function Ot(e, t, n) {
895
- let r = t.map((t) => Y(Dt(e, t), Et(t), J(t))), i = new Set(t.map((e, t) => t)), a = t.map(Et), o = t.map(J), s = Y(n, a.reduce((e, t) => e + t, 0), o.reduce((e, t) => e + t, 0));
911
+ function At(e, t, n) {
912
+ let r = t.map((t) => kt(Ot(e, t), Dt(t), J(t))), i = new Set(t.map((e, t) => t)), a = t.map(Dt), o = t.map(J), s = kt(n, a.reduce((e, t) => e + t, 0), o.reduce((e, t) => e + t, 0));
896
913
  for (; i.size > 0;) {
897
914
  let e = s - r.reduce((e, t) => e + t, 0);
898
915
  if (Math.abs(e) < .001) break;
899
916
  let t = [...i], n = t.reduce((e, t) => e + Math.max(r[t] ?? 0, 0), 0), c = !1;
900
917
  for (let s of t) {
901
- let l = r[s] ?? 0, u = l + e * (n > 0 ? l / n : 1 / t.length), d = Y(u, a[s] ?? 0, o[s] ?? Infinity);
918
+ let l = r[s] ?? 0, u = l + e * (n > 0 ? l / n : 1 / t.length), d = kt(u, a[s] ?? 0, o[s] ?? Infinity);
902
919
  r[s] = d, Math.abs(d - u) > .001 && (i.delete(s), c = !0);
903
920
  }
904
921
  if (!c) break;
905
922
  }
906
923
  return r;
907
924
  }
908
- function kt(e, t, n) {
925
+ function jt(e, t, n) {
909
926
  let r = e.columnGroups.find((e) => e.children.includes(t));
910
- if (!r || e.columnGroupState[r.id]?.hidden === !0) return D(e, t, n);
927
+ if (!r || e.columnGroupState[r.id]?.hidden === !0) return he(e, t, n);
911
928
  let i = r.children.map((t) => e.columns.find((e) => e.id === t)).filter((e) => !!e).filter((t) => e.columnState[t.id]?.hidden !== !0), a = i.find((e) => e.id === t);
912
- if (!a) return D(e, t, n);
929
+ if (!a) return he(e, t, n);
913
930
  let o = i.filter((e) => e.id !== t);
914
931
  if (o.length === 0) {
915
- let r = Dt(e, a);
916
- return D(e, t, Y(n, Et(a), Math.min(J(a), r)));
932
+ let r = Ot(e, a);
933
+ return he(e, t, kt(n, Dt(a), Math.min(J(a), r)));
917
934
  }
918
- let s = i.reduce((t, n) => t + Dt(e, n), 0), c = o.reduce((e, t) => e + Et(t), 0), l = o.reduce((e, t) => e + J(t), 0), u = Math.max(Et(a), s - l), d = Y(n, u, Math.max(u, Math.min(J(a), s - c))), f = Ot(e, o, s - d), p = D(e, t, d);
935
+ let s = i.reduce((t, n) => t + Ot(e, n), 0), c = o.reduce((e, t) => e + Dt(t), 0), l = o.reduce((e, t) => e + J(t), 0), u = Math.max(Dt(a), s - l), d = kt(n, u, Math.max(u, Math.min(J(a), s - c))), f = At(e, o, s - d), p = he(e, t, d);
919
936
  return o.forEach((e, t) => {
920
- p = D(p, e.id, f[t] ?? Dt(p, e));
937
+ p = he(p, e.id, f[t] ?? Ot(p, e));
921
938
  }), p;
922
939
  }
923
- function At(e, t, n) {
940
+ function Mt(e, t, n) {
924
941
  if (!e || typeof e != "object") return e;
925
942
  let r = t.split("."), [i] = r;
926
943
  if (!i) return e;
@@ -934,7 +951,7 @@ function At(e, t, n) {
934
951
  o[e] = a, n && (o = a);
935
952
  }), o[r.at(-1)] = n, a;
936
953
  }
937
- function jt(e, t) {
954
+ function Nt(e, t) {
938
955
  return e?.columnId === t ? e.direction === "asc" ? {
939
956
  columnId: t,
940
957
  direction: "desc"
@@ -943,106 +960,138 @@ function jt(e, t) {
943
960
  direction: "asc"
944
961
  };
945
962
  }
946
- function Mt(e, t) {
963
+ function Pt(e, t) {
947
964
  return e?.columnId === t ? e.direction : "none";
948
965
  }
949
- function Nt(e, t) {
966
+ function Ft(e, t) {
950
967
  return e?.columnId === t ? e.direction === "asc" ? "ascending" : "descending" : "none";
951
968
  }
952
- function Pt(e, t) {
969
+ function It(e, t) {
953
970
  return e.length === t.length && e.every((e, n) => e === t[n]);
954
971
  }
955
- function Ft(e, t) {
956
- if (!Pt(e.rowIds, t.rowIds)) return !1;
972
+ function Lt(e, t) {
973
+ if (!It(e.rowIds, t.rowIds)) return !1;
957
974
  let n = new Set(t.columns.map((e) => e.id)), r = e.selection.cell, i = e.selection.range;
958
975
  return !(r && !n.has(r.columnId) || i && (!n.has(i.anchor.columnId) || !n.has(i.focus.columnId)));
959
976
  }
960
- function It(e, t) {
977
+ function Rt(e, t) {
961
978
  return t.split(".").reduce((e, t) => {
962
979
  if (!(typeof e != "object" || !e)) return e[t];
963
980
  }, e);
964
981
  }
965
- function Lt(e, t) {
982
+ function zt(e, t) {
966
983
  return typeof e == "number" && typeof t == "number" ? e - t : String(e ?? "").localeCompare(String(t ?? ""));
967
984
  }
968
- function Rt(e, t, n) {
985
+ function Bt(e, t, n) {
969
986
  if (!n) return e;
970
987
  let r = t.find((e) => (e.id ?? e.field) === n.columnId);
971
988
  return r?.sort ? G(e, (e, t) => {
972
- let i = It(e, r.field), a = It(t, r.field), o = typeof r.sort == "function" ? r.sort(i, a, e, t) : Lt(i, a);
989
+ let i = Rt(e, r.field), a = Rt(t, r.field), o = typeof r.sort == "function" ? r.sort(i, a, e, t) : zt(i, a);
973
990
  return n.direction === "desc" ? o * -1 : o;
974
991
  }) : e;
975
992
  }
976
- function zt({ "buffer-size": e, cellSelection: n = !0, className: r, columnGroups: l, columns: u, data: d, "data-testid": f, emptyComponent: p, getRowId: m, hasMoreRows: h = !1, infiniteScroll: v = !1, infiniteScrollThreshold: y = 160, lazyLoad: x = !1, lazyLoadBatchSize: ee = 30, lazyLoadMode: te = "append", lazyLoadThreshold: ne, loading: se = !1, loadingComponent: ce, loadingMore: pe = !1, onChangeColumnLayout: he, onChangeData: ge, onChangeSelection: _e, onChangeSort: ye, onClickCell: be, onClickRow: Ce, onContextMenuCell: O, onContextMenuRow: Te, onDoubleClickCell: Ee, onDoubleClickRow: Oe, onKeyDownCell: ke, onKeyDownRow: Ae, onLazyLoad: je, onLoadMore: Me, pagination: F, persistHeaderWhenEmpty: Ne = !0, rowHeight: I = 36, rowProps: Pe, showHeader: Fe = !0, skeletonRowCount: L, style: R, summary: Le, theme: Re, treeContext: z, virtualized: B = !1 }, ze) {
977
- let Be = j(null), V = j(null), H = j(null), Ve = j(null), He = j(null), Ue = j(null), U = j(null), We = j(null), Ge = j(null), Ke = j(null), qe = j(0), Je = j(d), Ye = j(void 0), Ze = j(null), W = j(null), Qe = j(null), $e = j(null), et = j(!1), tt = j(null), nt = j(0), G = j(null), rt = j(null), K = j(null), [lt, ut] = M(0), [q, ht] = M(0), [xt, St] = M(null), [J, Dt] = M(null), [Y, Ot] = M(null), [Pt, It] = M(null), [Lt, Rt] = M(null), [zt, Bt] = M(d), [Vt, Ht] = M(void 0), [Ut, Wt] = M(null), [Gt, Kt] = M(null), [qt, Jt] = M(0), Yt = x ? zt : d, [X, Xt] = M(() => c({
993
+ function Vt(e, t, n, r, i) {
994
+ if (t?.length === 0) return e;
995
+ let a = [], o = /* @__PURE__ */ new Map(), s = 0, c = (e, t) => {
996
+ e.forEach((e) => {
997
+ let n = r(e.item, s), i = !!e.children?.length;
998
+ s += 1, a.push({
999
+ ancestorIds: t,
1000
+ hasChildren: i,
1001
+ node: e,
1002
+ rowId: n
1003
+ }), o.set(e, n), e.children?.length && c(e.children, [...t, n]);
1004
+ });
1005
+ };
1006
+ c(e, []);
1007
+ let l = t ? new Set(t) : null, u = a.filter((e) => e.hasChildren && (!l || l.has(e.rowId))), d = new Set(u.map((e) => e.rowId)), f = new Map(a.map((e) => [e.rowId, e.node.expand ?? i])), p = /* @__PURE__ */ new Map();
1008
+ if (u.forEach((e) => {
1009
+ let t = !n || !l || e.ancestorIds.every((e) => f.get(e) === !0 || d.has(e)), r = e.node.expand ?? i;
1010
+ t && r !== n && p.set(e.rowId, n);
1011
+ }), p.size === 0) return e;
1012
+ let m = (e) => {
1013
+ let t = !1, n = e.map((e) => {
1014
+ let n = o.get(e), r = n === void 0 ? void 0 : p.get(n), i = e.children ? m(e.children) : e.children;
1015
+ return r === void 0 && i === e.children ? e : (t = !0, {
1016
+ ...e,
1017
+ children: i,
1018
+ ...r === void 0 ? {} : { expand: r }
1019
+ });
1020
+ });
1021
+ return t ? n : e;
1022
+ };
1023
+ return m(e);
1024
+ }
1025
+ function Ht({ "buffer-size": e, cellSelection: n = !0, className: r, columnGroups: l, columns: u, data: d, "data-testid": f, emptyComponent: p, getRowId: m, hasMoreRows: h = !1, infiniteScroll: v = !1, infiniteScrollThreshold: y = 160, lazyLoad: x = !1, lazyLoadBatchSize: S = 30, lazyLoadMode: C = "append", lazyLoadThreshold: ne, loading: oe = !1, loadingComponent: se, loadingMore: fe = !1, onChangeColumnLayout: me, onChangeData: ge, onChangeSelection: _e, onChangeSort: ye, onClickCell: be, onClickRow: Ce, onContextMenuCell: Te, onContextMenuRow: Ee, onDoubleClickCell: De, onDoubleClickRow: ke, onKeyDownCell: Ae, onKeyDownRow: je, onLazyLoad: Me, onLoadMore: Ne, pagination: P, persistHeaderWhenEmpty: Pe = !0, rowHeight: F = 36, rowProps: Fe, showHeader: Ie = !0, skeletonRowCount: I, style: L, summary: R, theme: ze, treeContext: z, virtualized: B = !1 }, Be) {
1026
+ let Ve = A(null), V = A(null), H = A(null), He = A(null), Ue = A(null), We = A(null), U = A(null), Ge = A(null), Ke = A(null), qe = A(null), Je = A(0), Ye = A(d), Xe = A(void 0), Qe = A(null), W = A(null), $e = A(null), et = A(null), tt = A(!1), nt = A(null), rt = A(0), G = A(null), it = A(null), K = A(null), [ut, dt] = j(0), [q, gt] = j(0), [St, Ct] = j(null), [J, Ot] = j(null), [kt, At] = j(null), [It, Rt] = j(null), [zt, Bt] = j(null), [Vt, Ht] = j(d), [Ut, Wt] = j(void 0), [Gt, Kt] = j(null), [qt, Jt] = j(null), [Yt, Xt] = j(0), Zt = x ? Vt : d, [Y, Qt] = j(() => c({
978
1027
  columnGroups: l,
979
1028
  columns: u,
980
1029
  getRowId: m,
981
- pagination: F,
982
- rows: Yt,
983
- showHeader: Fe,
984
- theme: Re
985
- })), Z = j(X), Zt = j({
1030
+ pagination: P,
1031
+ rows: Zt,
1032
+ showHeader: Ie,
1033
+ theme: ze
1034
+ })), X = A(Y), $t = A({
986
1035
  columnGroups: l,
987
1036
  columns: u,
988
- data: Yt,
1037
+ data: Zt,
989
1038
  getRowId: m,
990
- pagination: F,
991
- showHeader: Fe
992
- }), Qt = Math.max(0, Math.floor(Number.isFinite(e) ? Number(e) : 10)), $t = Math.max(1, Math.floor(ee)), en = Math.max(0, Math.floor(ne ?? y)), tn = (e) => {
993
- if (!x || te !== "append" || !je || Ke.current) return;
994
- let t = Z.current.rows.length;
995
- if (e === "scroll" && Ye.current !== void 0 && t >= Ye.current) return;
996
- let n = new AbortController(), r = qe.current + 1, i = e === "scroll" ? t : 0;
997
- qe.current = r, Ge.current?.abort(), Ge.current = n, Ke.current = e, e !== "scroll" && (nt.current = 0, Jt(0), Be.current && (Be.current.scrollTop = 0)), Rt(e), je({
998
- limit: $t,
1039
+ pagination: P,
1040
+ showHeader: Ie
1041
+ }), en = Math.max(0, Math.floor(Number.isFinite(e) ? Number(e) : 10)), tn = Math.max(1, Math.floor(S)), nn = Math.max(0, Math.floor(ne ?? y)), rn = (e) => {
1042
+ if (!x || C !== "append" || !Me || qe.current) return;
1043
+ let t = X.current.rows.length;
1044
+ if (e === "scroll" && Xe.current !== void 0 && t >= Xe.current) return;
1045
+ let n = new AbortController(), r = Je.current + 1, i = e === "scroll" ? t : 0;
1046
+ Je.current = r, Ke.current?.abort(), Ke.current = n, qe.current = e, e !== "scroll" && (rt.current = 0, Xt(0), Ve.current && (Ve.current.scrollTop = 0)), Bt(e), Me({
1047
+ limit: tn,
999
1048
  offset: i,
1000
1049
  reason: e,
1001
1050
  signal: n.signal
1002
1051
  }).then((t) => {
1003
- if (n.signal.aborted || qe.current !== r) return;
1004
- let i = e === "scroll" ? [...Je.current, ...t.rows] : [...t.rows];
1005
- Je.current = i, Ye.current = t.total, Bt(i), Ht(t.total);
1052
+ if (n.signal.aborted || Je.current !== r) return;
1053
+ let i = e === "scroll" ? [...Ye.current, ...t.rows] : [...t.rows];
1054
+ Ye.current = i, Xe.current = t.total, Ht(i), Wt(t.total);
1006
1055
  }).catch(() => {}).finally(() => {
1007
- qe.current === r && (Ke.current = null, Ge.current = null, Rt(null));
1056
+ Je.current === r && (qe.current = null, Ke.current = null, Bt(null));
1008
1057
  });
1009
1058
  };
1010
- k(() => {
1011
- Je.current = zt;
1012
- }, [zt]), k(() => {
1059
+ O(() => {
1013
1060
  Ye.current = Vt;
1014
- }, [Vt]), k(() => {
1015
- x || (Je.current = d, Bt(d), Ye.current = void 0, Ht(void 0));
1016
- }, [d, x]), k(() => {
1017
- if (!(!x || !je)) return tn("initial"), () => {
1018
- qe.current += 1, Ke.current = null, Ge.current?.abort(), Ge.current = null;
1061
+ }, [Vt]), O(() => {
1062
+ Xe.current = Ut;
1063
+ }, [Ut]), O(() => {
1064
+ x || (Ye.current = d, Ht(d), Xe.current = void 0, Wt(void 0));
1065
+ }, [d, x]), O(() => {
1066
+ if (!(!x || !Me)) return rn("initial"), () => {
1067
+ Je.current += 1, qe.current = null, Ke.current?.abort(), Ke.current = null;
1019
1068
  };
1020
1069
  }, [
1021
1070
  x,
1022
- je,
1023
- $t
1024
- ]), k(() => {
1025
- let e = Zt.current;
1026
- e.columns === u && e.columnGroups === l && e.data === Yt && e.getRowId === m && e.pagination === F && e.showHeader === Fe || (Zt.current = {
1071
+ Me,
1072
+ tn
1073
+ ]), O(() => {
1074
+ let e = $t.current;
1075
+ e.columns === u && e.columnGroups === l && e.data === Zt && e.getRowId === m && e.pagination === P && e.showHeader === Ie || ($t.current = {
1027
1076
  columnGroups: l,
1028
1077
  columns: u,
1029
- data: Yt,
1078
+ data: Zt,
1030
1079
  getRowId: m,
1031
- pagination: F,
1032
- showHeader: Fe
1033
- }, Xt((e) => {
1080
+ pagination: P,
1081
+ showHeader: Ie
1082
+ }, Qt((e) => {
1034
1083
  let t = c({
1035
- columnLayout: fe(e),
1084
+ columnLayout: de(e),
1036
1085
  columnGroups: l,
1037
1086
  columns: u,
1038
1087
  getRowId: m,
1039
- pagination: F ?? e.pagination,
1040
- rows: Yt,
1041
- showHeader: Fe,
1088
+ pagination: P ?? e.pagination,
1089
+ rows: Zt,
1090
+ showHeader: Ie,
1042
1091
  sort: e.sort,
1043
1092
  theme: e.theme
1044
1093
  });
1045
- return Ft(e, t) ? {
1094
+ return Lt(e, t) ? {
1046
1095
  ...t,
1047
1096
  selection: e.selection
1048
1097
  } : t;
@@ -1050,89 +1099,107 @@ function zt({ "buffer-size": e, cellSelection: n = !0, className: r, columnGroup
1050
1099
  }, [
1051
1100
  l,
1052
1101
  u,
1053
- Yt,
1102
+ Zt,
1054
1103
  m,
1055
- F,
1056
- Fe
1057
- ]), k(() => {
1058
- Z.current = X;
1059
- }, [X]), k(() => {
1060
- Ze.current !== null && Ze.current !== X.rows.length && (Ze.current = null);
1061
- }, [X.rows.length]), k(() => () => {
1062
- rt.current !== null && window.cancelAnimationFrame(rt.current), G.current !== null && window.clearTimeout(G.current);
1063
- }, []), k(() => {
1064
- let e = Be.current;
1104
+ P,
1105
+ Ie
1106
+ ]), O(() => {
1107
+ X.current = Y;
1108
+ }, [Y]), O(() => {
1109
+ Qe.current !== null && Qe.current !== Y.rows.length && (Qe.current = null);
1110
+ }, [Y.rows.length]), O(() => () => {
1111
+ it.current !== null && window.cancelAnimationFrame(it.current), G.current !== null && window.clearTimeout(G.current);
1112
+ }, []), O(() => {
1113
+ let e = Ve.current;
1065
1114
  if (!e || typeof ResizeObserver > "u") return;
1066
1115
  let t = new ResizeObserver(([e]) => {
1067
- e && (ut(e.contentRect.height), ht(e.contentRect.width));
1116
+ e && (dt(e.contentRect.height), gt(e.contentRect.width));
1068
1117
  });
1069
1118
  return t.observe(e), () => t.disconnect();
1070
1119
  }, []);
1071
- let nn = (e, t, n = {}) => {
1072
- t.rows !== e.rows && ge?.(t.rows), t.selection !== e.selection && _e?.(t.selection), n.columnLayoutChanged && he?.(fe(t)), (n.sortChanged || t.sort !== e.sort) && ye?.(t.sort);
1073
- }, Q = (e, t = {}) => {
1074
- let n = Z.current, r = typeof e == "function" ? e(n) : e;
1075
- Z.current = r, Xt(r), nn(n, r, t);
1076
- }, $ = A(() => S(X), [X]), rn = A(() => _(X), [X]), an = A(() => Le ? Xe(z?.summaryRows ?? X.rows, $, Le) : null, [
1077
- X.rows,
1078
- Le,
1120
+ let an = (e, t, n = {}) => {
1121
+ t.rows !== e.rows && ge?.(t.rows), t.selection !== e.selection && _e?.(t.selection), n.columnLayoutChanged && me?.(de(t)), (n.sortChanged || t.sort !== e.sort) && ye?.(t.sort);
1122
+ }, Z = (e, t = {}) => {
1123
+ let n = X.current, r = typeof e == "function" ? e(n) : e;
1124
+ X.current = r, Qt(r), an(n, r, t);
1125
+ }, Q = k(() => ee(Y), [Y]), on = k(() => _(Y), [Y]), sn = k(() => R ? Ze(z?.summaryRows ?? Y.rows, Q, R) : null, [
1126
+ Y.rows,
1127
+ R,
1079
1128
  z?.summaryRows,
1080
- $
1081
- ]), on = A(() => z || !X.sort ? null : b(X), [X, z]), sn = on?.length ?? X.rows.length, cn = Math.max(0, X.pagination.pageIndex) * Math.max(1, X.pagination.pageSize), ln = A(() => {
1129
+ Q
1130
+ ]), cn = k(() => {
1131
+ if (!R) return [];
1132
+ let e = [], t = 0;
1133
+ for (; t < Q.length;) {
1134
+ let n = Q[t], r = R.columns[n.id], i = typeof r == "object" && r ? r : void 0, a = i?.colSpan, o = Math.min(typeof a == "number" && Number.isFinite(a) ? Math.max(1, Math.floor(a)) : 1, Q.length - t);
1135
+ e.push({
1136
+ className: i?.className,
1137
+ colSpan: o,
1138
+ column: n,
1139
+ style: i?.style,
1140
+ value: sn?.[n.id] ?? (e.length === 0 ? R.label : null)
1141
+ }), t += o;
1142
+ }
1143
+ return e;
1144
+ }, [
1145
+ R,
1146
+ sn,
1147
+ Q
1148
+ ]), ln = k(() => z || !Y.sort ? null : b(Y), [Y, z]), un = ln?.length ?? Y.rows.length, dn = Math.max(0, Y.pagination.pageIndex) * Math.max(1, Y.pagination.pageSize), fn = k(() => {
1082
1149
  if (B) {
1083
- let e = Math.max(1, I), t = lt || I * 12, n = sn * e, r = Math.min(n, 15e5), i = Math.max(0, n - t), a = Math.max(0, r - t), o = i > 0 && a > 0 ? i / a : 1, s = Math.min(i, Math.max(0, qt) * o), c = Math.max(0, Math.floor(s / e) - Qt), l = Math.min(sn, Math.ceil((s + Math.max(0, t)) / e) + Qt), u = c * e, d = o > 0 ? u / o : u;
1150
+ let e = Math.max(1, F), t = ut || F * 12, n = un * e, r = Math.min(n, 15e5), i = Math.max(0, n - t), a = Math.max(0, r - t), o = i > 0 && a > 0 ? i / a : 1, s = Math.min(i, Math.max(0, Yt) * o), c = Math.max(0, Math.floor(s / e) - en), l = Math.min(un, Math.ceil((s + Math.max(0, t)) / e) + en), u = c * e, d = o > 0 ? u / o : u;
1084
1151
  return {
1085
- entries: it(on, X.rows, X.rowIds, c, l),
1152
+ entries: at(ln, Y.rows, Y.rowIds, c, l),
1086
1153
  renderOffset: d,
1087
1154
  scrollHeight: r
1088
1155
  };
1089
1156
  }
1090
1157
  return {
1091
- entries: it(on, X.rows, X.rowIds, cn, cn + Math.max(1, X.pagination.pageSize)),
1158
+ entries: at(ln, Y.rows, Y.rowIds, dn, dn + Math.max(1, Y.pagination.pageSize)),
1092
1159
  renderOffset: 0,
1093
1160
  scrollHeight: 0
1094
1161
  };
1095
1162
  }, [
1096
- lt,
1097
- cn,
1098
- I,
1099
- qt,
1100
- on,
1101
- X.pagination.pageSize,
1102
- X.rowIds,
1103
- X.rows,
1104
- Qt,
1163
+ ut,
1164
+ dn,
1165
+ F,
1166
+ Yt,
1167
+ ln,
1168
+ Y.pagination.pageSize,
1169
+ Y.rowIds,
1170
+ Y.rows,
1171
+ en,
1105
1172
  B,
1106
- sn
1107
- ]), un = Re ?? X.theme, dn = un.density === "compact" ? "text-[11px]" : un.density === "spacious" ? "text-[13px]" : "text-[length:var(--comins-font-size-base,12px)]", fn = A(() => new Set(X.selection.rowIds), [X.selection.rowIds]), pn = A(() => {
1108
- let e = $.length;
1173
+ un
1174
+ ]), pn = ze ?? Y.theme, mn = pn.density === "compact" ? "text-[11px]" : pn.density === "spacious" ? "text-[13px]" : "text-[length:var(--comins-font-size-base,12px)]", hn = k(() => new Set(Y.selection.rowIds), [Y.selection.rowIds]), gn = k(() => {
1175
+ let e = Q.length;
1109
1176
  if (e === 0) return [];
1110
- let t = $.map((e) => X.columnState[e.id]?.width ?? e.width);
1177
+ let t = Q.map((e) => Y.columnState[e.id]?.width ?? e.width);
1111
1178
  if (q <= 0) {
1112
1179
  let n = `${100 / e}%`;
1113
1180
  return t.map((e) => e ?? n);
1114
1181
  }
1115
1182
  let n = 0;
1116
1183
  for (let e of t) n += e ?? 0;
1117
- let r = $.filter((e, n) => t[n] === void 0), i = r.length > 0 ? Math.max(0, (q - n) / r.length) : 0;
1118
- return $.map((e, n) => {
1119
- let r = t[n] ?? i, a = Et(e), o = e.maxWidth ?? Infinity;
1184
+ let r = Q.filter((e, n) => t[n] === void 0), i = r.length > 0 ? Math.max(0, (q - n) / r.length) : 0;
1185
+ return Q.map((e, n) => {
1186
+ let r = t[n] ?? i, a = Dt(e), o = e.maxWidth ?? Infinity;
1120
1187
  return Math.min(o, Math.max(a, r));
1121
1188
  });
1122
1189
  }, [
1123
1190
  q,
1124
- X.columnState,
1125
- $
1126
- ]), mn = A(() => {
1191
+ Y.columnState,
1192
+ Q
1193
+ ]), _n = k(() => {
1127
1194
  let e = 0;
1128
- for (let t of pn) {
1195
+ for (let t of gn) {
1129
1196
  if (typeof t != "number") return;
1130
1197
  e += t;
1131
1198
  }
1132
1199
  return e;
1133
- }, [pn]), hn = A(() => {
1134
- if (typeof mn == "number") return Math.max(q, mn);
1135
- }, [mn, q]), gn = typeof mn == "number" && q > 0 && mn > q + 1, _n = x ? x && (Vt === void 0 || sn < Vt) : h, vn = se || Lt === "initial" || Lt === "refresh", yn = pe || Lt === "scroll", bn = sn === 0, xn = vn && bn, Sn = !vn && bn, Cn = (v || x) && yn && _n && !bn, wn = Math.max(1, Math.floor(L ?? Math.min(Math.max(1, X.pagination.pageSize), 5))), Tn = (xn ? wn : +!!Sn) + +!!Cn, En = (ln.entries.length + Tn) * I, Dn = B ? 0 : Math.max(0, lt - En), On = X.showHeader && (Ne || !bn || vn), kn = (e, t) => (e.ctrlKey || e.metaKey) && e.key.toLowerCase() === t, An = (e) => ln.entries[e], jn = (e, t, n) => {
1200
+ }, [gn]), vn = k(() => {
1201
+ if (typeof _n == "number") return Math.max(q, _n);
1202
+ }, [_n, q]), yn = typeof _n == "number" && q > 0 && _n > q + 1, bn = x ? x && (Ut === void 0 || un < Ut) : h, xn = oe || zt === "initial" || zt === "refresh", Sn = fe || zt === "scroll", Cn = un === 0, wn = xn && Cn, Tn = !xn && Cn, En = (v || x) && Sn && bn && !Cn, Dn = Math.max(1, Math.floor(I ?? Math.min(Math.max(1, Y.pagination.pageSize), 5))), On = (wn ? Dn : +!!Tn) + +!!En, kn = (fn.entries.length + On) * F, An = B ? 0 : Math.max(0, ut - kn), jn = Y.showHeader && (Pe || !Cn || xn), Mn = (e, t) => (e.ctrlKey || e.metaKey) && e.key.toLowerCase() === t, Nn = (e) => fn.entries[e], Pn = (e, t, n) => {
1136
1203
  let r = (z ? e.rows.map((e, t) => t) : b(e)).flatMap((t, n) => {
1137
1204
  let r = e.rows[t], i = e.rowIds[t];
1138
1205
  return r === void 0 || i === void 0 ? [] : [{
@@ -1145,32 +1212,51 @@ function zt({ "buffer-size": e, cellSelection: n = !0, className: r, columnGroup
1145
1212
  if (i < 0 || a < 0) return [n];
1146
1213
  let o = Math.min(i, a), s = Math.max(i, a);
1147
1214
  return r.slice(o, s + 1).map((e) => e.rowId);
1148
- }, Mn = (e, t) => {
1149
- Q((n) => de(n, jn(n, e, t)));
1150
- }, Nn = (e) => {
1151
- Q((t) => de(t, e.flatMap((e) => {
1152
- let t = An(e);
1215
+ }, Fn = (e, t) => {
1216
+ Z((n) => ue(n, Pn(n, e, t)));
1217
+ }, In = (e) => {
1218
+ Z((t) => ue(t, e.flatMap((e) => {
1219
+ let t = Nn(e);
1153
1220
  return t ? [t.rowId] : [];
1154
1221
  })));
1155
- }, Pn = (e) => {
1156
- if (K.current === e.id) {
1157
- K.current = null;
1158
- return;
1159
- }
1160
- e.sort && Q((t) => ve(t, jt(t.sort, e.id)), { sortChanged: !0 });
1161
- }, Fn = (e, t) => {
1222
+ }, $ = () => {
1223
+ let e = K.current;
1224
+ e && (e.cleanup(), e.timer !== null && window.clearTimeout(e.timer), K.current = null);
1225
+ }, Ln = (e) => {
1226
+ K.current?.columnId !== e && ($(), K.current = {
1227
+ cleanup: () => void 0,
1228
+ columnId: e,
1229
+ timer: null
1230
+ });
1231
+ }, Rn = () => {
1232
+ let e = K.current;
1233
+ e && (e.cleanup(), e.cleanup = () => void 0, e.timer = window.setTimeout(() => {
1234
+ K.current === e && (K.current = null);
1235
+ }, 0));
1236
+ }, zn = () => {
1237
+ let e = K.current;
1238
+ if (!e) return;
1239
+ let t = () => Rn(), n = () => $(), r = () => $();
1240
+ e.cleanup(), e.cleanup = () => {
1241
+ window.removeEventListener("pointerup", t), window.removeEventListener("pointercancel", n), window.removeEventListener("blur", r);
1242
+ }, window.addEventListener("pointerup", t, { once: !0 }), window.addEventListener("pointercancel", n, { once: !0 }), window.addEventListener("blur", r, { once: !0 });
1243
+ }, Bn = (e) => K.current?.columnId === e ? ($(), !0) : !1, Vn = (e) => {
1244
+ e.sort && Z((t) => ve(t, Nt(t.sort, e.id)), { sortChanged: !0 });
1245
+ }, Hn = (e, t) => {
1162
1246
  let n = document.elementFromPoint(e, t)?.closest("[data-comins-column-id], [data-comins-column-group-id]");
1163
1247
  if (!n) return null;
1164
1248
  if (n.dataset.cominsColumnId) return n.dataset.cominsColumnId;
1165
1249
  let r = n.dataset.cominsColumnGroupId;
1166
- return (r ? Z.current.columnGroups.find((e) => e.id === r) : void 0)?.children.find((e) => $.some((t) => t.id === e)) ?? null;
1250
+ return (r ? X.current.columnGroups.find((e) => e.id === r) : void 0)?.children.find((e) => Q.some((t) => t.id === e)) ?? null;
1167
1251
  };
1168
- De(ze, () => ({
1169
- clearSort: () => Q((e) => i(e), { sortChanged: !0 }),
1170
- getColumnLayout: () => fe(X),
1171
- getSortState: () => X.sort,
1172
- setColumnLayout: (e) => Q((n) => t(n, e), { columnLayoutChanged: !0 }),
1173
- setMoveTargetRow: (e, t) => Q((n) => {
1252
+ Oe(Be, () => ({
1253
+ clearSort: () => Z((e) => i(e), { sortChanged: !0 }),
1254
+ expand: (e) => z?.onExpand(e),
1255
+ fold: (e) => z?.onFold(e),
1256
+ getColumnLayout: () => de(Y),
1257
+ getSortState: () => Y.sort,
1258
+ setColumnLayout: (e) => Z((n) => t(n, e), { columnLayoutChanged: !0 }),
1259
+ setMoveTargetRow: (e, t) => Z((n) => {
1174
1260
  if (z) return n;
1175
1261
  let r = b(n).flatMap((e) => {
1176
1262
  let t = n.rowIds[e];
@@ -1190,185 +1276,189 @@ function zt({ "buffer-size": e, cellSelection: n = !0, className: r, columnGroup
1190
1276
  sort: null
1191
1277
  } : n;
1192
1278
  }, { sortChanged: !0 }),
1193
- setSelectedRow: (e) => Nn([e]),
1194
- setSelectedRows: (e) => Nn(e),
1195
- setSortState: (e) => Q((t) => ve(t, e), { sortChanged: !0 })
1279
+ setSelectedRow: (e) => In([e]),
1280
+ setSelectedRows: (e) => In(e),
1281
+ setSortState: (e) => Z((t) => ve(t, e), { sortChanged: !0 })
1196
1282
  }), [
1197
- ln.entries,
1198
- X,
1283
+ fn.entries,
1284
+ Y,
1199
1285
  z
1200
1286
  ]);
1201
- let In = () => {
1287
+ let Un = () => {
1202
1288
  let e = U.current;
1203
- e && window.clearTimeout(e.timer), U.current = null, St(null), Dt(null), Ot(null), It(null);
1204
- }, Ln = (e, t) => {
1205
- if (e.button !== 0) return;
1206
- let n = (e, n, r) => {
1207
- e.active = !0, e.cancelSort = !0, K.current = t.id, Ot({
1208
- x: n,
1209
- y: r
1210
- }), It(t.id), Dt(null), St(t.id);
1211
- }, r = {
1212
- active: !1,
1213
- cancelSort: !1,
1214
- id: t.id,
1215
- kind: "column",
1216
- movedBeforeLongPress: !1,
1217
- startedAt: performance.now(),
1218
- startX: e.clientX,
1219
- startY: e.clientY,
1220
- timer: window.setTimeout(() => {
1221
- let e = U.current;
1222
- !e || e.id !== t.id || e.kind !== "column" || e.movedBeforeLongPress || n(e, e.startX, e.startY);
1223
- }, 1e3)
1224
- }, i = (e) => {
1225
- let r = U.current;
1226
- if (!r || r.id !== t.id || r.kind !== "column") return;
1227
- let i = Math.hypot(e.clientX - r.startX, e.clientY - r.startY);
1228
- if (!r.active && performance.now() - r.startedAt >= 1e3 && !r.movedBeforeLongPress && n(r, e.clientX, e.clientY), !r.active && i > 4) {
1229
- r.movedBeforeLongPress = !0, r.cancelSort = !0, K.current = t.id, window.clearTimeout(r.timer);
1230
- return;
1231
- }
1232
- r.active && (e.preventDefault(), Ot({
1233
- x: e.clientX,
1234
- y: e.clientY
1235
- }), It(Fn(e.clientX, e.clientY)));
1289
+ e && (e.cleanup(), e.timer !== null && window.clearTimeout(e.timer)), U.current = null, Ct(null), Ot(null), At(null), Rt(null);
1290
+ };
1291
+ O(() => () => {
1292
+ Un(), $();
1293
+ }, []);
1294
+ let Wn = (e) => {
1295
+ if (e.event.button !== 0) return;
1296
+ let t = e.event.pointerType, n = t === "mouse" || t === "", r = () => {
1297
+ e.sortColumnId && Ln(e.sortColumnId);
1298
+ }, i = (t, n) => {
1299
+ let i = U.current;
1300
+ !i || i !== u || i.active || i.blocked || (i.active = !0, i.cancelSort = !0, r(), e.activate(t, n));
1236
1301
  }, a = (e) => {
1237
- let n = U.current;
1238
- if (window.removeEventListener("pointermove", i), window.removeEventListener("pointerup", a), !n || n.id !== t.id || n.kind !== "column") {
1239
- In();
1240
- return;
1241
- }
1242
- if (window.clearTimeout(n.timer), n.active) {
1243
- let n = Fn(e.clientX, e.clientY);
1244
- if (n) {
1245
- let e = $.findIndex((e) => e.id === n);
1246
- e >= 0 && Q((n) => re(n, t.id, e), { columnLayoutChanged: !0 });
1302
+ let t = U.current;
1303
+ if (!(!t || t !== u)) {
1304
+ if (!t.active && !t.blocked && n) {
1305
+ let n = Re({
1306
+ clientX: e.clientX,
1307
+ clientY: e.clientY,
1308
+ startX: t.startX,
1309
+ startY: t.startY
1310
+ });
1311
+ n === "activate" ? i(e.clientX, e.clientY) : n === "cancel" && (t.blocked = !0, t.cancelSort = !0, r());
1247
1312
  }
1313
+ !t.active && !t.blocked && !n && Math.hypot(e.clientX - t.startX, e.clientY - t.startY) > 4 && (t.blocked = !0, t.cancelSort = !0, window.clearTimeout(t.timer ?? void 0), r()), t.active && (e.preventDefault(), At({
1314
+ x: e.clientX,
1315
+ y: e.clientY
1316
+ }), Rt(Hn(e.clientX, e.clientY)));
1248
1317
  }
1249
- (n.cancelSort || n.active) && (K.current = t.id), In();
1250
- };
1251
- In(), U.current = r, window.addEventListener("pointermove", i), window.addEventListener("pointerup", a);
1252
- }, Rn = (e, t) => {
1253
- if (e.button !== 0) return;
1254
- let n = (e, n, r) => {
1255
- e.active = !0, e.cancelSort = !0, Ot({
1256
- x: n,
1257
- y: r
1258
- }), It(t.children[0] ?? null), St(null), Dt(t.id);
1259
- }, r = {
1318
+ }, o = (t) => {
1319
+ let n = U.current;
1320
+ if (n === u && n.active) {
1321
+ let n = Hn(t.clientX, t.clientY);
1322
+ n && e.commitTarget(n);
1323
+ }
1324
+ n === u && n.cancelSort && Rn(), Un();
1325
+ }, s = () => {
1326
+ $(), Un();
1327
+ }, c = (e) => {
1328
+ e.key === "Escape" && (e.preventDefault(), U.current === u && u.cancelSort && zn(), Un());
1329
+ }, l = () => {
1330
+ $(), Un();
1331
+ }, u = {
1260
1332
  active: !1,
1333
+ blocked: !1,
1261
1334
  cancelSort: !1,
1335
+ cleanup: () => {
1336
+ window.removeEventListener("pointermove", a), window.removeEventListener("pointerup", o), window.removeEventListener("pointercancel", s), window.removeEventListener("keydown", c), window.removeEventListener("blur", l);
1337
+ },
1338
+ id: e.id,
1339
+ kind: e.kind,
1340
+ pointerType: t,
1341
+ startX: e.event.clientX,
1342
+ startY: e.event.clientY,
1343
+ timer: null
1344
+ };
1345
+ Un(), $(), n || (u.timer = window.setTimeout(() => {
1346
+ let e = U.current;
1347
+ e === u && !e.active && !e.blocked && i(e.startX, e.startY);
1348
+ }, 1e3)), U.current = u, window.addEventListener("pointermove", a), window.addEventListener("pointerup", o), window.addEventListener("pointercancel", s), window.addEventListener("keydown", c), window.addEventListener("blur", l);
1349
+ }, Gn = (e, t) => {
1350
+ Wn({
1351
+ activate: (e, n) => {
1352
+ At({
1353
+ x: e,
1354
+ y: n
1355
+ }), Rt(t.id), Ot(null), Ct(t.id);
1356
+ },
1357
+ commitTarget: (e) => {
1358
+ if (e === t.id) return;
1359
+ let n = Q.findIndex((t) => t.id === e);
1360
+ if (n >= 0) {
1361
+ let e = X.current, r = re(e, t.id, n);
1362
+ r !== e && r.columnOrder.some((t, n) => t !== e.columnOrder[n]) && Z(r, { columnLayoutChanged: !0 });
1363
+ }
1364
+ },
1365
+ event: e,
1262
1366
  id: t.id,
1263
- kind: "group",
1264
- movedBeforeLongPress: !1,
1265
- startedAt: performance.now(),
1266
- startX: e.clientX,
1267
- startY: e.clientY,
1268
- timer: window.setTimeout(() => {
1269
- let e = U.current;
1270
- !e || e.id !== t.id || e.kind !== "group" || e.movedBeforeLongPress || n(e, e.startX, e.startY);
1271
- }, 1e3)
1272
- }, i = (e) => {
1273
- let r = U.current;
1274
- if (!r || r.id !== t.id || r.kind !== "group") return;
1275
- let i = Math.hypot(e.clientX - r.startX, e.clientY - r.startY);
1276
- if (!r.active && performance.now() - r.startedAt >= 1e3 && !r.movedBeforeLongPress && n(r, e.clientX, e.clientY), !r.active && i > 4) {
1277
- r.movedBeforeLongPress = !0, r.cancelSort = !0, window.clearTimeout(r.timer);
1278
- return;
1279
- }
1280
- r.active && (e.preventDefault(), Ot({
1281
- x: e.clientX,
1282
- y: e.clientY
1283
- }), It(Fn(e.clientX, e.clientY)));
1284
- }, a = (e) => {
1285
- let n = U.current;
1286
- if (window.removeEventListener("pointermove", i), window.removeEventListener("pointerup", a), !n || n.id !== t.id || n.kind !== "group") {
1287
- In();
1288
- return;
1289
- }
1290
- if (window.clearTimeout(n.timer), n.active) {
1291
- let n = Fn(e.clientX, e.clientY);
1292
- if (n) {
1293
- let e = $.findIndex((e) => e.id === n);
1294
- e >= 0 && Q((n) => w(n, t.id, e), { columnLayoutChanged: !0 });
1367
+ kind: "column",
1368
+ sortColumnId: t.id
1369
+ });
1370
+ }, Kn = (e, t) => {
1371
+ Wn({
1372
+ activate: (e, n) => {
1373
+ At({
1374
+ x: e,
1375
+ y: n
1376
+ }), Rt(t.children[0] ?? null), Ct(null), Ot(t.id);
1377
+ },
1378
+ commitTarget: (e) => {
1379
+ if (t.children.includes(e)) return;
1380
+ let n = Q.findIndex((t) => t.id === e);
1381
+ if (n >= 0) {
1382
+ let e = X.current, r = w(e, t.id, n);
1383
+ r !== e && r.columnOrder.some((t, n) => t !== e.columnOrder[n]) && Z(r, { columnLayoutChanged: !0 });
1295
1384
  }
1296
- }
1297
- In();
1298
- };
1299
- In(), U.current = r, window.addEventListener("pointermove", i), window.addEventListener("pointerup", a);
1300
- }, zn = (e, t) => {
1385
+ },
1386
+ event: e,
1387
+ id: t.id,
1388
+ kind: "group"
1389
+ });
1390
+ }, qn = (e, t) => {
1301
1391
  if (e.shiftKey && W.current !== null) {
1302
- Mn(W.current, t.rowId), W.current = t.rowId;
1392
+ Fn(W.current, t.rowId), W.current = t.rowId;
1303
1393
  return;
1304
1394
  }
1305
- Q((n) => E(n, t.rowId, {
1395
+ Z((n) => D(n, t.rowId, {
1306
1396
  multi: e.ctrlKey || e.metaKey,
1307
1397
  toggle: e.ctrlKey || e.metaKey
1308
1398
  })), W.current = t.rowId;
1309
- }, Bn = (e, t, n) => {
1399
+ }, Jn = (e, t, n) => {
1310
1400
  if (n) {
1311
1401
  e.preventDefault();
1312
1402
  return;
1313
1403
  }
1314
- if (Ae?.(dt(e, t)), !(e.defaultPrevented || e.target !== e.currentTarget)) {
1315
- if (z && (kn(e, "c") || kn(e, "v"))) {
1404
+ if (je?.(ft(e, t)), !(e.defaultPrevented || e.target !== e.currentTarget)) {
1405
+ if (z && (Mn(e, "c") || Mn(e, "v"))) {
1316
1406
  e.preventDefault();
1317
1407
  return;
1318
1408
  }
1319
- if (kn(e, "c")) {
1320
- e.preventDefault(), Ue.current = s(X, t.rowId);
1409
+ if (Mn(e, "c")) {
1410
+ e.preventDefault(), We.current = s(Y, t.rowId);
1321
1411
  return;
1322
1412
  }
1323
- kn(e, "v") && Ue.current && (e.preventDefault(), Q((e) => oe(e, Ue.current, {
1413
+ Mn(e, "v") && We.current && (e.preventDefault(), Z((e) => ae(e, We.current, {
1324
1414
  mode: "insert-after",
1325
1415
  targetRowId: t.rowId
1326
1416
  })));
1327
1417
  }
1328
- }, Vn = (e, t, n, r, i, s) => {
1418
+ }, Yn = (e, t, n, r, i, s) => {
1329
1419
  if (s) {
1330
1420
  e.preventDefault(), e.stopPropagation();
1331
1421
  return;
1332
1422
  }
1333
- if (ke?.(ft(e, t, n, r, g(X, t.row, n.id))), !e.defaultPrevented) {
1334
- if (kn(e, "c")) {
1335
- e.preventDefault(), e.stopPropagation(), He.current = X.selection.range ? o(X) : null, Ve.current = He.current ? null : a(X, i);
1423
+ if (Ae?.(pt(e, t, n, r, g(Y, t.row, n.id))), !e.defaultPrevented) {
1424
+ if (Mn(e, "c")) {
1425
+ e.preventDefault(), e.stopPropagation(), Ue.current = Y.selection.range ? o(Y) : null, He.current = Ue.current ? null : a(Y, i);
1336
1426
  return;
1337
1427
  }
1338
- kn(e, "v") && (He.current || Ve.current) && (e.preventDefault(), e.stopPropagation(), Q((e) => He.current ? ae(e, i, He.current) : ie(e, i, Ve.current)));
1428
+ Mn(e, "v") && (Ue.current || He.current) && (e.preventDefault(), e.stopPropagation(), Z((e) => Ue.current ? E(e, i, Ue.current) : ie(e, i, He.current)));
1339
1429
  }
1340
- }, Hn = (e, t, r) => {
1341
- n && (r || e.button !== 0 || e.shiftKey || (Qe.current = t, $e.current = t, et.current = !1));
1342
- }, Un = (e, t) => {
1343
- let n = document.elementFromPoint(e, t)?.closest("[data-comins-cell-column-id][data-comins-data-index]"), r = n?.dataset.cominsCellColumnId, i = n?.dataset.cominsDataIndex === void 0 ? NaN : Number(n.dataset.cominsDataIndex), a = Number.isInteger(i) ? X.rowIds[i] : void 0;
1430
+ }, Xn = (e, t, r) => {
1431
+ n && (r || e.button !== 0 || e.shiftKey || ($e.current = t, et.current = t, tt.current = !1));
1432
+ }, Zn = (e, t) => {
1433
+ let n = document.elementFromPoint(e, t)?.closest("[data-comins-cell-column-id][data-comins-data-index]"), r = n?.dataset.cominsCellColumnId, i = n?.dataset.cominsDataIndex === void 0 ? NaN : Number(n.dataset.cominsDataIndex), a = Number.isInteger(i) ? Y.rowIds[i] : void 0;
1344
1434
  return r && a !== void 0 ? {
1345
1435
  columnId: r,
1346
1436
  rowId: a
1347
1437
  } : null;
1348
- }, Wn = (e) => {
1438
+ }, Qn = (e) => {
1349
1439
  if (!n) return;
1350
- let t = Qe.current;
1351
- !t || t.rowId === e.rowId && t.columnId === e.columnId || (et.current = !0, $e.current = e, We.current = t, Q((n) => ue(n, {
1440
+ let t = $e.current;
1441
+ !t || t.rowId === e.rowId && t.columnId === e.columnId || (tt.current = !0, et.current = e, Ge.current = t, Z((n) => le(n, {
1352
1442
  anchor: t,
1353
1443
  focus: e
1354
1444
  })));
1355
- }, Gn = () => {
1356
- n && (Qe.current = null, $e.current = null);
1357
- }, Kn = (e, t, n) => {
1358
- if (Hn(e, t, n), n || e.button !== 0 || e.shiftKey) return;
1445
+ }, $n = () => {
1446
+ n && ($e.current = null, et.current = null);
1447
+ }, er = (e, t, n) => {
1448
+ if (Xn(e, t, n), n || e.button !== 0 || e.shiftKey) return;
1359
1449
  let r = (e) => {
1360
1450
  if (e.buttons !== 1) return;
1361
- let t = Un(e.clientX, e.clientY);
1362
- t && Wn(t);
1451
+ let t = Zn(e.clientX, e.clientY);
1452
+ t && Qn(t);
1363
1453
  }, i = () => {
1364
- Gn(), window.removeEventListener("pointermove", r), window.removeEventListener("pointerup", i);
1454
+ $n(), window.removeEventListener("pointermove", r), window.removeEventListener("pointerup", i);
1365
1455
  };
1366
1456
  e.preventDefault(), window.addEventListener("pointermove", r), window.addEventListener("pointerup", i);
1367
- }, qn = (e, t, n, r) => {
1457
+ }, tr = (e, t, n, r) => {
1368
1458
  if (n || !r || e.button !== 0) return;
1369
1459
  e.preventDefault(), e.stopPropagation();
1370
1460
  let i = t.rowId, a = (e) => {
1371
- tt.current = e, Kt(e);
1461
+ nt.current = e, Jt(e);
1372
1462
  }, o = (e, t) => {
1373
1463
  let n = document.elementFromPoint(e, t)?.closest("[data-comins-row-data-index]");
1374
1464
  if (!n || n.dataset.cominsRowDataIndex === void 0) return;
@@ -1381,90 +1471,92 @@ function zt({ "buffer-size": e, cellSelection: n = !0, className: r, columnGroup
1381
1471
  e.buttons === 1 && o(e.clientX, e.clientY);
1382
1472
  }, c = (e) => {
1383
1473
  window.removeEventListener("pointermove", s), window.removeEventListener("pointerup", c), o(e.clientX, e.clientY);
1384
- let t = tt.current?.targetDataIndex;
1385
- a(null), t !== void 0 && Q((e) => T(e, i, t));
1474
+ let t = nt.current?.targetDataIndex;
1475
+ a(null), t !== void 0 && Z((e) => T(e, i, t));
1386
1476
  };
1387
1477
  o(e.clientX, e.clientY), window.addEventListener("pointermove", s), window.addEventListener("pointerup", c);
1388
- }, Jn = xt ? $.find((e) => e.id === xt) : void 0, Yn = J ? X.columnGroups.find((e) => e.id === J) : void 0, Xn = Jn?.label ?? Yn?.label, Zn = (e, t) => {
1389
- if (e.kind === "group") return /* @__PURE__ */ P("th", {
1478
+ }, nr = St ? Q.find((e) => e.id === St) : void 0, rr = J ? Y.columnGroups.find((e) => e.id === J) : void 0, ir = nr?.label ?? rr?.label, ar = (e, t) => {
1479
+ if (e.kind === "group") return /* @__PURE__ */ N("th", {
1390
1480
  className: ["comins-table__th comins-table__group-th px-3 py-2 text-left font-semibold", J === e.groupId ? "comins-column-moving" : void 0].filter(Boolean).join(" "),
1391
1481
  colSpan: e.colSpan,
1392
1482
  "data-column-moving": J === e.groupId ? "true" : void 0,
1483
+ "data-column-placeholder": J === e.groupId ? "true" : void 0,
1393
1484
  "data-comins-column-group-id": e.groupId,
1394
1485
  "data-testid": `header-group-${e.groupId}`,
1395
- onPointerDown: (t) => Rn(t, e.group),
1486
+ onPointerDown: (t) => Kn(t, e.group),
1396
1487
  rowSpan: e.rowSpan,
1397
1488
  scope: "colgroup",
1398
1489
  children: [
1399
- /* @__PURE__ */ N("span", {
1490
+ /* @__PURE__ */ M("span", {
1400
1491
  "aria-hidden": "true",
1401
1492
  className: "comins-column-drop-marker"
1402
1493
  }),
1403
- /* @__PURE__ */ N("span", {
1494
+ /* @__PURE__ */ M("span", {
1404
1495
  className: "comins-table__header-content",
1405
1496
  "data-comins-header-body": "true",
1406
- children: /* @__PURE__ */ N("span", {
1497
+ children: /* @__PURE__ */ M("span", {
1407
1498
  className: "comins-table__header-label",
1408
1499
  children: e.group.label
1409
1500
  })
1410
1501
  }),
1411
- /* @__PURE__ */ N("span", {
1502
+ /* @__PURE__ */ M("span", {
1412
1503
  "aria-hidden": "true",
1413
1504
  className: "comins-table__resize",
1414
- "data-resizing": Ut === e.groupId ? "true" : void 0,
1505
+ "data-resizing": Gt === e.groupId ? "true" : void 0,
1415
1506
  "data-testid": `resize-group-${e.groupId}`,
1416
1507
  onClick: (e) => e.stopPropagation(),
1417
1508
  onPointerDown: (t) => {
1418
1509
  t.preventDefault(), t.stopPropagation();
1419
1510
  let n = t.clientX, r = t.currentTarget.closest("th")?.getBoundingClientRect().width, i = /* @__PURE__ */ new Map();
1420
1511
  for (let t of e.group.children) {
1421
- let e = $.find((e) => e.id === t);
1512
+ let e = Q.find((e) => e.id === t);
1422
1513
  if (!e) continue;
1423
- let n = Array.from(H.current?.querySelectorAll("[data-comins-column-id]") ?? []).find((t) => t.dataset.cominsColumnId === e.id)?.getBoundingClientRect().width, r = Z.current.columnState[e.id]?.width ?? e.width ?? 160;
1514
+ let n = Array.from(H.current?.querySelectorAll("[data-comins-column-id]") ?? []).find((t) => t.dataset.cominsColumnId === e.id)?.getBoundingClientRect().width, r = X.current.columnState[e.id]?.width ?? e.width ?? 160;
1424
1515
  i.set(e.id, n && Number.isFinite(n) ? n : r);
1425
1516
  }
1426
1517
  let a = [...i.values()].reduce((e, t) => e + t, 0), o = r && Number.isFinite(r) ? r : Math.max(1, a);
1427
- Wt(e.groupId);
1518
+ Kt(e.groupId);
1428
1519
  let s = (t) => {
1429
- Q((r) => {
1520
+ Z((r) => {
1430
1521
  let a = r;
1431
- for (let [e, t] of i) a = D(a, e, t);
1432
- return me(a, e.groupId, o + t.clientX - n);
1522
+ for (let [e, t] of i) a = he(a, e, t);
1523
+ return pe(a, e.groupId, o + t.clientX - n);
1433
1524
  }, { columnLayoutChanged: !0 });
1434
1525
  }, c = () => {
1435
- Wt(null), window.removeEventListener("pointermove", s), window.removeEventListener("pointerup", c);
1526
+ Kt(null), window.removeEventListener("pointermove", s), window.removeEventListener("pointerup", c);
1436
1527
  };
1437
1528
  window.addEventListener("pointermove", s), window.addEventListener("pointerup", c);
1438
1529
  },
1439
- children: /* @__PURE__ */ N("span", { className: "comins-table__resize-line" })
1530
+ children: /* @__PURE__ */ M("span", { className: "comins-table__resize-line" })
1440
1531
  })
1441
1532
  ]
1442
1533
  }, `group-${e.groupId}`);
1443
- let n = e.column, r = $.findIndex((e) => e.id === n.id), i = r >= 0 ? r : t, a = X.columnState[n.id], o = n.header?.props ?? {}, s = Mt(X.sort, n.id), c = s === "asc" || s === "desc", l = [
1534
+ let n = e.column, r = Q.findIndex((e) => e.id === n.id), i = r >= 0 ? r : t, a = Y.columnState[n.id], o = n.header?.props ?? {}, s = Pt(Y.sort, n.id), c = s === "asc" || s === "desc", l = !!rr?.children.includes(n.id), u = St === n.id || l, d = [
1444
1535
  "comins-table__th px-3 py-2 text-left font-semibold",
1445
- xt === n.id ? "comins-column-moving" : void 0,
1536
+ St === n.id ? "comins-column-moving" : void 0,
1446
1537
  o.className
1447
- ].filter(Boolean).join(" "), u = bt(X, n, i), d = n.header?.renderer ? n.header.renderer(u) : null, f = n.header?.renderer ? [] : wt(n.header?.components, u, "left"), p = n.header?.renderer ? [] : wt(n.header?.components, u, "right"), m = f.length > 0 || p.length > 0;
1538
+ ].filter(Boolean).join(" "), f = xt(Y, n, i), p = n.header?.renderer ? n.header.renderer(f) : null, m = n.header?.renderer ? [] : Tt(n.header?.components, f, "left"), h = n.header?.renderer ? [] : Tt(n.header?.components, f, "right"), g = m.length > 0 || h.length > 0;
1448
1539
  return /* @__PURE__ */ we("th", {
1449
1540
  ...o,
1450
- className: l,
1541
+ className: d,
1451
1542
  colSpan: e.colSpan,
1452
- "data-column-drop-target": Pt === n.id ? "true" : void 0,
1453
- "data-column-moving": xt === n.id ? "true" : void 0,
1543
+ "data-column-drop-target": It === n.id ? "true" : void 0,
1544
+ "data-column-moving": St === n.id ? "true" : void 0,
1545
+ "data-column-placeholder": u ? "true" : void 0,
1454
1546
  "data-comins-column-id": n.id,
1455
1547
  "data-comins-column-index": i,
1456
- "data-sort-direction": X.sort?.columnId === n.id ? X.sort.direction : void 0,
1548
+ "data-sort-direction": Y.sort?.columnId === n.id ? Y.sort.direction : void 0,
1457
1549
  "data-sortable": n.sort ? "true" : "false",
1458
1550
  "data-testid": `header-${n.id}`,
1459
- "aria-sort": n.sort ? Nt(X.sort, n.id) : void 0,
1551
+ "aria-sort": n.sort ? Ft(Y.sort, n.id) : void 0,
1460
1552
  key: `column-${n.id}`,
1461
1553
  onClick: (e) => {
1462
- o.onClick?.(e), !(e.defaultPrevented || !n.sort) && Pn(n);
1554
+ o.onClick?.(e), !(e.defaultPrevented || !n.sort) && (Bn(n.id) || Vn(n));
1463
1555
  },
1464
1556
  onKeyDown: (e) => {
1465
- o.onKeyDown?.(e), !(e.defaultPrevented || !n.sort) && (e.key === "Enter" || e.key === " " || e.key === "Spacebar") && (e.preventDefault(), Pn(n));
1557
+ o.onKeyDown?.(e), !(e.defaultPrevented || !n.sort) && (e.key === "Enter" || e.key === " " || e.key === "Spacebar") && (e.preventDefault(), Vn(n));
1466
1558
  },
1467
- onPointerDown: (e) => Ln(e, n),
1559
+ onPointerDown: (e) => Gn(e, n),
1468
1560
  rowSpan: e.rowSpan,
1469
1561
  scope: "col",
1470
1562
  style: {
@@ -1472,91 +1564,91 @@ function zt({ "buffer-size": e, cellSelection: n = !0, className: r, columnGroup
1472
1564
  ...o.style
1473
1565
  },
1474
1566
  tabIndex: n.sort ? 0 : void 0
1475
- }, /* @__PURE__ */ N("span", {
1567
+ }, /* @__PURE__ */ M("span", {
1476
1568
  "aria-hidden": "true",
1477
1569
  className: "comins-column-drop-marker"
1478
- }), /* @__PURE__ */ P("span", {
1570
+ }), /* @__PURE__ */ N("span", {
1479
1571
  className: "comins-table__header-content",
1480
1572
  "data-comins-header-body": "true",
1481
- "data-comins-header-components": m ? "true" : void 0,
1573
+ "data-comins-header-components": g ? "true" : void 0,
1482
1574
  "data-comins-sort-indicator-visible": c ? "true" : void 0,
1483
1575
  children: [
1484
- /* @__PURE__ */ N("span", {
1576
+ /* @__PURE__ */ M("span", {
1485
1577
  className: "comins-table__header-slot",
1486
1578
  "data-comins-header-slot": "left",
1487
- children: f
1579
+ children: m
1488
1580
  }),
1489
- /* @__PURE__ */ N("span", {
1581
+ /* @__PURE__ */ M("span", {
1490
1582
  className: "comins-table__header-label",
1491
- children: n.header?.renderer ? d : n.label
1583
+ children: n.header?.renderer ? p : n.label
1492
1584
  }),
1493
- /* @__PURE__ */ N("span", {
1585
+ /* @__PURE__ */ M("span", {
1494
1586
  "aria-hidden": "true",
1495
1587
  className: "comins-sort-indicator",
1496
1588
  "data-sort-state": s,
1497
1589
  "data-sort-visible": c ? "true" : void 0,
1498
1590
  "data-testid": `sort-indicator-${n.id}`,
1499
- children: /* @__PURE__ */ N(Ie, {
1591
+ children: /* @__PURE__ */ M(Le, {
1500
1592
  className: "comins-sort-icon",
1501
1593
  focusable: "false",
1502
1594
  size: 14,
1503
1595
  strokeWidth: 2.25
1504
1596
  })
1505
1597
  }),
1506
- /* @__PURE__ */ N("span", {
1598
+ /* @__PURE__ */ M("span", {
1507
1599
  className: "comins-table__header-slot",
1508
1600
  "data-comins-header-slot": "right",
1509
- children: p
1601
+ children: h
1510
1602
  })
1511
1603
  ]
1512
- }), /* @__PURE__ */ N("span", {
1604
+ }), /* @__PURE__ */ M("span", {
1513
1605
  "aria-hidden": "true",
1514
1606
  className: "comins-table__resize",
1515
- "data-resizing": Ut === n.id ? "true" : void 0,
1607
+ "data-resizing": Gt === n.id ? "true" : void 0,
1516
1608
  "data-testid": `resize-${n.id}`,
1517
1609
  onClick: (e) => e.stopPropagation(),
1518
1610
  onPointerDown: (e) => {
1519
1611
  e.preventDefault(), e.stopPropagation();
1520
1612
  let t = e.clientX, r = e.currentTarget.closest("th")?.getBoundingClientRect().width, i = /* @__PURE__ */ new Map();
1521
- for (let e of $) {
1522
- let t = Array.from(H.current?.querySelectorAll("[data-comins-column-id]") ?? []).find((t) => t.dataset.cominsColumnId === e.id)?.getBoundingClientRect().width, n = Z.current.columnState[e.id]?.width ?? e.width ?? 160;
1613
+ for (let e of Q) {
1614
+ let t = Array.from(H.current?.querySelectorAll("[data-comins-column-id]") ?? []).find((t) => t.dataset.cominsColumnId === e.id)?.getBoundingClientRect().width, n = X.current.columnState[e.id]?.width ?? e.width ?? 160;
1523
1615
  i.set(e.id, t && Number.isFinite(t) ? t : n);
1524
1616
  }
1525
1617
  let o = i.get(n.id) ?? (r && Number.isFinite(r) ? r : a?.width ?? n.width ?? 160);
1526
- Wt(n.id);
1618
+ Kt(n.id);
1527
1619
  let s = (e) => {
1528
- Q((r) => {
1620
+ Z((r) => {
1529
1621
  let a = r;
1530
- for (let [e, t] of i) a = D(a, e, t);
1531
- return kt(a, n.id, Math.max(Et(n), o + e.clientX - t));
1622
+ for (let [e, t] of i) a = he(a, e, t);
1623
+ return jt(a, n.id, Math.max(Dt(n), o + e.clientX - t));
1532
1624
  }, { columnLayoutChanged: !0 });
1533
1625
  }, c = () => {
1534
- Wt(null), window.removeEventListener("pointermove", s), window.removeEventListener("pointerup", c);
1626
+ Kt(null), window.removeEventListener("pointermove", s), window.removeEventListener("pointerup", c);
1535
1627
  };
1536
1628
  window.addEventListener("pointermove", s), window.addEventListener("pointerup", c);
1537
1629
  },
1538
- children: /* @__PURE__ */ N("span", { className: "comins-table__resize-line" })
1630
+ children: /* @__PURE__ */ M("span", { className: "comins-table__resize-line" })
1539
1631
  }));
1540
- }, Qn = () => /* @__PURE__ */ N("colgroup", { children: $.map((e, t) => /* @__PURE__ */ N("col", { style: { width: pn[t] } }, e.id)) }), $n = () => {
1541
- Jt((e) => {
1542
- let t = nt.current;
1632
+ }, or = () => /* @__PURE__ */ M("colgroup", { children: Q.map((e, t) => /* @__PURE__ */ M("col", { style: { width: gn[t] } }, e.id)) }), sr = () => {
1633
+ Xt((e) => {
1634
+ let t = rt.current;
1543
1635
  return Math.abs(e - t) > .5 ? t : e;
1544
1636
  });
1545
- }, er = (e) => {
1637
+ }, cr = (e) => {
1546
1638
  if (x) {
1547
- if (!je || Ke.current) return;
1548
- e.scrollHeight - e.scrollTop - e.clientHeight <= en && tn("scroll");
1639
+ if (!Me || qe.current) return;
1640
+ e.scrollHeight - e.scrollTop - e.clientHeight <= nn && rn("scroll");
1549
1641
  return;
1550
1642
  }
1551
- if (!v || !h || pe || !Me) return;
1643
+ if (!v || !h || fe || !Ne) return;
1552
1644
  let t = Math.max(0, y);
1553
1645
  if (e.scrollHeight - e.scrollTop - e.clientHeight > t) return;
1554
- let n = Z.current.rows.length;
1555
- Ze.current !== n && (Ze.current = n, Me());
1556
- }, tr = (e) => {
1646
+ let n = X.current.rows.length;
1647
+ Qe.current !== n && (Qe.current = n, Ne());
1648
+ }, lr = (e) => {
1557
1649
  let t = e.currentTarget;
1558
- nt.current = t.scrollTop, er(t), G.current !== null && (window.clearTimeout(G.current), G.current = null), rt.current === null && (rt.current = window.requestAnimationFrame(() => {
1559
- rt.current = null, $n();
1650
+ rt.current = t.scrollTop, cr(t), G.current !== null && (window.clearTimeout(G.current), G.current = null), it.current === null && (it.current = window.requestAnimationFrame(() => {
1651
+ it.current = null, sr();
1560
1652
  }));
1561
1653
  let n = Math.max(0, t.scrollLeft);
1562
1654
  if (H.current) {
@@ -1565,88 +1657,88 @@ function zt({ "buffer-size": e, cellSelection: n = !0, className: r, columnGroup
1565
1657
  }
1566
1658
  V.current && (V.current.scrollLeft = n);
1567
1659
  };
1568
- return /* @__PURE__ */ P("div", {
1660
+ return /* @__PURE__ */ N("div", {
1569
1661
  className: [
1570
1662
  "comins-table comins-typography-base h-full w-full overflow-hidden",
1571
- dn,
1572
- un.className,
1663
+ mn,
1664
+ pn.className,
1573
1665
  r
1574
1666
  ].filter(Boolean).join(" "),
1575
- "aria-busy": vn || yn ? "true" : void 0,
1576
- "data-loading": vn || yn ? "true" : void 0,
1577
- "data-show-header": On ? "true" : void 0,
1667
+ "aria-busy": xn || Sn ? "true" : void 0,
1668
+ "data-loading": xn || Sn ? "true" : void 0,
1669
+ "data-show-header": jn ? "true" : void 0,
1578
1670
  style: {
1579
- ...un.style,
1580
- ...R
1671
+ ...pn.style,
1672
+ ...L
1581
1673
  },
1582
1674
  children: [
1583
- On ? /* @__PURE__ */ N("div", {
1675
+ jn ? /* @__PURE__ */ M("div", {
1584
1676
  className: "comins-table__header",
1585
1677
  ref: H,
1586
- children: /* @__PURE__ */ P("table", {
1678
+ children: /* @__PURE__ */ N("table", {
1587
1679
  className: "comins-table__table comins-table__header-table min-w-full table-fixed",
1588
- style: { width: hn },
1589
- children: [Qn(), /* @__PURE__ */ N("thead", {
1680
+ style: { width: vn },
1681
+ children: [or(), /* @__PURE__ */ M("thead", {
1590
1682
  className: "comins-table__thead",
1591
- children: rn.map((e, t) => /* @__PURE__ */ N("tr", { children: e.map((e, t) => Zn(e, t)) }, `header-row-${t}`))
1683
+ children: on.map((e, t) => /* @__PURE__ */ M("tr", { children: e.map((e, t) => ar(e, t)) }, `header-row-${t}`))
1592
1684
  })]
1593
1685
  })
1594
1686
  }) : null,
1595
- /* @__PURE__ */ P("div", {
1687
+ /* @__PURE__ */ N("div", {
1596
1688
  className: "comins-table__body-viewport",
1597
- "data-horizontal-overflow": gn ? "true" : void 0,
1689
+ "data-horizontal-overflow": yn ? "true" : void 0,
1598
1690
  "data-virtualized": B ? "true" : void 0,
1599
1691
  "data-testid": f,
1600
- onScroll: tr,
1601
- ref: Be,
1692
+ onScroll: lr,
1693
+ ref: Ve,
1602
1694
  children: [
1603
- /* @__PURE__ */ P("table", {
1695
+ /* @__PURE__ */ N("table", {
1604
1696
  className: ["comins-table__table comins-table__body-table min-w-full table-fixed", B ? "comins-table__body-table--virtualized" : void 0].filter(Boolean).join(" "),
1605
1697
  style: B ? {
1606
- transform: `translate3d(0, ${ln.renderOffset}px, 0)`,
1607
- width: hn
1608
- } : { width: hn },
1609
- children: [Qn(), /* @__PURE__ */ P("tbody", { children: [
1610
- xn ? Array.from({ length: wn }).map((e, t) => /* @__PURE__ */ N("tr", {
1698
+ transform: `translate3d(0, ${fn.renderOffset}px, 0)`,
1699
+ width: vn
1700
+ } : { width: vn },
1701
+ children: [or(), /* @__PURE__ */ N("tbody", { children: [
1702
+ wn ? Array.from({ length: Dn }).map((e, t) => /* @__PURE__ */ M("tr", {
1611
1703
  "aria-hidden": "true",
1612
1704
  className: "comins-table__tr comins-table__skeleton-row",
1613
1705
  "data-comins-row-parity": t % 2 == 0 ? "even" : "odd",
1614
1706
  "data-testid": "loading-skeleton-row",
1615
- style: { height: I },
1616
- children: $.length > 0 ? $.map((e) => /* @__PURE__ */ N("td", {
1707
+ style: { height: F },
1708
+ children: Q.length > 0 ? Q.map((e) => /* @__PURE__ */ M("td", {
1617
1709
  className: "comins-table__td comins-table__skeleton-cell px-3 py-2",
1618
1710
  "data-testid": `loading-skeleton-cell-${t}-${e.id}`,
1619
- style: { height: I },
1620
- children: /* @__PURE__ */ N("span", { className: "comins-table__skeleton-block" })
1621
- }, e.id)) : /* @__PURE__ */ N("td", {
1711
+ style: { height: F },
1712
+ children: /* @__PURE__ */ M("span", { className: "comins-table__skeleton-block" })
1713
+ }, e.id)) : /* @__PURE__ */ M("td", {
1622
1714
  className: "comins-table__td comins-table__skeleton-cell px-3 py-2",
1623
- children: /* @__PURE__ */ N("span", { className: "comins-table__skeleton-block" })
1715
+ children: /* @__PURE__ */ M("span", { className: "comins-table__skeleton-block" })
1624
1716
  })
1625
1717
  }, `loading-skeleton-${t}`)) : null,
1626
- Sn ? /* @__PURE__ */ N("tr", {
1718
+ Tn ? /* @__PURE__ */ M("tr", {
1627
1719
  className: "comins-table__tr comins-table__empty-state-row",
1628
- style: { height: I },
1629
- children: /* @__PURE__ */ N("td", {
1720
+ style: { height: F },
1721
+ children: /* @__PURE__ */ M("td", {
1630
1722
  className: "comins-table__td comins-table__empty-state-cell",
1631
- colSpan: Math.max(1, $.length),
1632
- children: /* @__PURE__ */ N("div", {
1723
+ colSpan: Math.max(1, Q.length),
1724
+ children: /* @__PURE__ */ M("div", {
1633
1725
  "data-testid": "data-table-empty-state",
1634
1726
  className: "comins-table__empty-state",
1635
1727
  children: p ?? "표시할 데이터가 없습니다."
1636
1728
  })
1637
1729
  })
1638
1730
  }) : null,
1639
- ln.entries.map((e, t) => {
1640
- let r = ot(Pe, e.row, e.visibleIndex), i = fn.has(e.rowId), a = Dn === 0 && t === ln.entries.length - 1, o = st(r.style), s = B ? `virtual-row-slot-${t}` : String(e.rowId);
1641
- return /* @__PURE__ */ P(Se, { children: [Gt?.targetDataIndex === e.dataIndex && Gt.sourceRowId !== e.rowId ? /* @__PURE__ */ N("tr", {
1731
+ fn.entries.map((e, t) => {
1732
+ let r = st(Fe, e.row, e.visibleIndex), i = hn.has(e.rowId), a = An === 0 && t === fn.entries.length - 1, o = ct(r.style), s = B ? `virtual-row-slot-${t}` : String(e.rowId);
1733
+ return /* @__PURE__ */ N(Se, { children: [qt?.targetDataIndex === e.dataIndex && qt.sourceRowId !== e.rowId ? /* @__PURE__ */ M("tr", {
1642
1734
  "aria-hidden": "true",
1643
1735
  className: "comins-row-move-placeholder",
1644
- children: /* @__PURE__ */ N("td", {
1645
- colSpan: Math.max(1, $.length),
1736
+ children: /* @__PURE__ */ M("td", {
1737
+ colSpan: Math.max(1, Q.length),
1646
1738
  "data-testid": "row-move-placeholder",
1647
1739
  children: "이 위치로 이동"
1648
1740
  })
1649
- }) : null, /* @__PURE__ */ N("tr", {
1741
+ }) : null, /* @__PURE__ */ M("tr", {
1650
1742
  "aria-disabled": r.disabled ? "true" : void 0,
1651
1743
  "aria-selected": i,
1652
1744
  className: [
@@ -1668,48 +1760,51 @@ function zt({ "buffer-size": e, cellSelection: n = !0, className: r, columnGroup
1668
1760
  t.preventDefault();
1669
1761
  return;
1670
1762
  }
1671
- t.__cominsCellSelectionHandled || zn(t, e), Ce?.(dt(t, e));
1763
+ t.__cominsCellSelectionHandled || qn(t, e), Ce?.(ft(t, e));
1672
1764
  },
1673
1765
  onContextMenu: (t) => {
1674
1766
  if (r.disabled) {
1675
1767
  t.preventDefault();
1676
1768
  return;
1677
1769
  }
1678
- Q((t) => E(t, e.rowId)), W.current = e.rowId, Te?.(dt(t, e));
1770
+ Z((t) => D(t, e.rowId)), W.current = e.rowId, Ee?.(ft(t, e));
1679
1771
  },
1680
1772
  onDoubleClick: (t) => {
1681
1773
  if (r.disabled) {
1682
1774
  t.preventDefault();
1683
1775
  return;
1684
1776
  }
1685
- Oe?.(dt(t, e));
1777
+ ke?.(ft(t, e));
1686
1778
  },
1687
- onKeyDown: (t) => Bn(t, e, r.disabled),
1688
- style: ct(I, r.style, o),
1779
+ onKeyDown: (t) => Jn(t, e, r.disabled),
1780
+ style: lt(F, r.style, o),
1689
1781
  tabIndex: r.disabled ? -1 : 0,
1690
- children: $.map((t, a) => {
1691
- let o = g(X, e.row, t.id), s = {
1782
+ children: Q.map((t, a) => {
1783
+ let o = g(Y, e.row, t.id), s = {
1692
1784
  columnId: t.id,
1693
1785
  rowId: e.rowId
1694
- }, c = n && C(X, s), l = n && X.selection.cell?.rowId === e.rowId && X.selection.cell.columnId === t.id, u = pt(e, r.disabled, i, X.selection.rowIds.length, t, a, o), d = mt(t, u), f = r.disabled || gt(d, u), p = at(_t(d, u)), m = vt(d, u), h = !!t.cell?.components?.length, _ = yt(t, o, u), v = t.cell?.components?.map((e) => {
1786
+ }, c = n && te(Y, s), l = n && Y.selection.cell?.rowId === e.rowId && Y.selection.cell.columnId === t.id, u = mt(e, r.disabled, i, Y.selection.rowIds.length, t, a, o), d = ht(t, u), f = r.disabled || _t(d, u), p = { requestRowSelection: ({ event: t, mode: n }) => f ? !1 : n === "exclusive" ? (Z((t) => D(t, e.rowId)), W.current = e.rowId, !0) : (qn(t, e), !0) }, m = ot(vt(d, u)), h = yt(d, u), _ = !!t.cell?.components?.length, v = bt(t, o, u), y = t.cell?.components?.map((e) => {
1695
1787
  if (e.type !== "input") return e;
1696
1788
  let t = e.onValueChange;
1697
1789
  return {
1698
1790
  ...e,
1699
1791
  onValueChange: (e) => {
1700
- Q((t) => xe(t, [{
1792
+ Z((t) => xe(t, [{
1701
1793
  id: e.row.id,
1702
- patch: (t) => At(t, e.column.field, e.value)
1794
+ patch: (t) => Mt(t, e.column.field, e.value)
1703
1795
  }])), t?.(e);
1704
1796
  }
1705
1797
  };
1706
- }), y = Ct(v, u), b = t.cell?.renderer ? t.cell.renderer(u) : h ? Tt(_, v, u, { showContent: !1 }) : /* @__PURE__ */ N("span", {
1798
+ }), b = wt(y, u), x = t.cell?.renderer ? t.cell.renderer(u) : _ ? Et(v, y, u, {
1799
+ interaction: p,
1800
+ showContent: !1
1801
+ }) : /* @__PURE__ */ M("span", {
1707
1802
  className: "comins-table__cell-value",
1708
- children: _
1709
- }), x = typeof t.cell?.tooltip == "function" ? t.cell.tooltip(u) : t.cell?.tooltip, S = a === 0 ? z?.entriesByRowId.get(e.rowId) : void 0, ee = S ? /* @__PURE__ */ P("span", {
1803
+ children: v
1804
+ }), ee = typeof t.cell?.tooltip == "function" ? t.cell.tooltip(u) : t.cell?.tooltip, S = a === 0 ? z?.entriesByRowId.get(e.rowId) : void 0, C = S ? /* @__PURE__ */ N("span", {
1710
1805
  className: "comins-tree-cell-content",
1711
1806
  style: { "--comins-tree-depth": S.depth },
1712
- children: [S.hasChildren ? /* @__PURE__ */ N("button", {
1807
+ children: [S.hasChildren ? /* @__PURE__ */ M("button", {
1713
1808
  "aria-expanded": S.expanded,
1714
1809
  "aria-label": `${S.expanded ? "Collapse" : "Expand"} ${String(e.rowId)}`,
1715
1810
  className: "comins-tree-expander",
@@ -1721,25 +1816,25 @@ function zt({ "buffer-size": e, cellSelection: n = !0, className: r, columnGroup
1721
1816
  onPointerDown: (e) => e.stopPropagation(),
1722
1817
  type: "button",
1723
1818
  children: S.expanded ? "▾" : "▸"
1724
- }) : /* @__PURE__ */ N("span", {
1819
+ }) : /* @__PURE__ */ M("span", {
1725
1820
  "aria-hidden": "true",
1726
1821
  className: "comins-tree-expander-spacer"
1727
- }), /* @__PURE__ */ N("span", {
1822
+ }), /* @__PURE__ */ M("span", {
1728
1823
  className: "comins-tree-cell-value",
1729
- children: b
1824
+ children: x
1730
1825
  })]
1731
- }) : b;
1732
- return /* @__PURE__ */ P("td", {
1826
+ }) : x;
1827
+ return /* @__PURE__ */ N("td", {
1733
1828
  "aria-disabled": f ? "true" : void 0,
1734
1829
  className: [
1735
1830
  "comins-table__td px-3 py-2",
1736
1831
  a === 0 ? "comins-table__td--with-row-handle" : void 0,
1737
1832
  c ? "comins-cell-range-selected" : void 0,
1738
- p
1833
+ m
1739
1834
  ].filter(Boolean).join(" "),
1740
1835
  "data-disabled": f ? "true" : void 0,
1741
1836
  "data-comins-cell-column-id": t.id,
1742
- "data-comins-component-cell": y.length > 0 ? "true" : void 0,
1837
+ "data-comins-component-cell": b.length > 0 ? "true" : void 0,
1743
1838
  "data-comins-data-index": e.dataIndex,
1744
1839
  "data-range-selected": c ? "true" : void 0,
1745
1840
  "data-selected": l ? "true" : void 0,
@@ -1750,171 +1845,187 @@ function zt({ "buffer-size": e, cellSelection: n = !0, className: r, columnGroup
1750
1845
  r.preventDefault(), r.stopPropagation();
1751
1846
  return;
1752
1847
  }
1753
- if (et.current) {
1754
- et.current = !1, r.__cominsCellSelectionHandled = !0;
1848
+ if (tt.current) {
1849
+ tt.current = !1, r.__cominsCellSelectionHandled = !0;
1755
1850
  return;
1756
1851
  }
1757
- let i = n ? X.selection.cell ?? We.current : null;
1852
+ let i = n ? Y.selection.cell ?? Ge.current : null;
1758
1853
  if (r.shiftKey && i) {
1759
- r.__cominsCellSelectionHandled = !0, We.current = i, Q((t) => ue(W.current === null ? E(t, e.rowId) : de(t, jn(t, W.current, e.rowId)), {
1854
+ r.__cominsCellSelectionHandled = !0, Ge.current = i, Z((t) => le(W.current === null ? D(t, e.rowId) : ue(t, Pn(t, W.current, e.rowId)), {
1760
1855
  anchor: i,
1761
1856
  focus: s
1762
1857
  })), W.current = e.rowId;
1763
1858
  return;
1764
1859
  }
1765
- n && (We.current = s), Q((t) => {
1766
- let i = E(t, e.rowId, {
1860
+ n && (Ge.current = s), Z((t) => {
1861
+ let i = D(t, e.rowId, {
1767
1862
  multi: r.ctrlKey || r.metaKey,
1768
1863
  toggle: r.ctrlKey || r.metaKey
1769
1864
  });
1770
- return n ? le(i, s) : i;
1771
- }), r.__cominsCellSelectionHandled = !0, W.current = e.rowId, be?.(ft(r, e, t, a, o));
1865
+ return n ? ce(i, s) : i;
1866
+ }), r.__cominsCellSelectionHandled = !0, W.current = e.rowId, be?.(pt(r, e, t, a, o));
1772
1867
  },
1773
1868
  onContextMenu: (r) => {
1774
1869
  if (f) {
1775
1870
  r.preventDefault(), r.stopPropagation();
1776
1871
  return;
1777
1872
  }
1778
- Q((t) => {
1779
- let r = E(t, e.rowId);
1780
- return n ? le(r, s) : r;
1781
- }), W.current = e.rowId, n && (We.current = s), O && (r.stopPropagation(), O(ft(r, e, t, a, o)));
1873
+ Z((t) => {
1874
+ let r = D(t, e.rowId);
1875
+ return n ? ce(r, s) : r;
1876
+ }), W.current = e.rowId, n && (Ge.current = s), Te && (r.stopPropagation(), Te(pt(r, e, t, a, o)));
1782
1877
  },
1783
1878
  onDoubleClick: (n) => {
1784
- if (Ee && n.stopPropagation(), f) {
1879
+ if (De && n.stopPropagation(), f) {
1785
1880
  n.preventDefault(), n.stopPropagation();
1786
1881
  return;
1787
1882
  }
1788
- Ee?.(ft(n, e, t, a, o));
1883
+ De?.(pt(n, e, t, a, o));
1789
1884
  },
1790
- onKeyDown: (n) => Vn(n, e, t, a, s, f),
1791
- onMouseDown: (e) => Hn(e, s, f),
1792
- onMouseOver: () => Wn(s),
1793
- onMouseUp: Gn,
1794
- onPointerDown: (e) => Kn(e, s, f),
1795
- onPointerEnter: () => Wn(s),
1885
+ onKeyDown: (n) => Yn(n, e, t, a, s, f),
1886
+ onMouseDown: (e) => Xn(e, s, f),
1887
+ onMouseOver: () => Qn(s),
1888
+ onMouseUp: $n,
1889
+ onPointerDown: (e) => er(e, s, f),
1890
+ onPointerEnter: () => Qn(s),
1796
1891
  onPointerMove: (e) => {
1797
- e.buttons === 1 && Wn(s);
1892
+ e.buttons === 1 && Qn(s);
1798
1893
  },
1799
- onPointerUp: Gn,
1894
+ onPointerUp: $n,
1800
1895
  style: {
1801
- height: I,
1802
- ...m
1896
+ height: F,
1897
+ ...h
1803
1898
  },
1804
- title: typeof x == "string" ? x : void 0,
1899
+ title: typeof ee == "string" ? ee : void 0,
1805
1900
  tabIndex: f ? -1 : 0,
1806
- children: [a === 0 && r.draggable ? /* @__PURE__ */ N("span", {
1901
+ children: [a === 0 && r.draggable ? /* @__PURE__ */ M("span", {
1807
1902
  "aria-hidden": "true",
1808
1903
  className: "comins-row-drag-handle",
1809
1904
  "data-testid": `row-drag-handle-${String(e.rowId)}`,
1810
1905
  draggable: !1,
1811
1906
  onClick: (e) => e.stopPropagation(),
1812
1907
  onMouseDown: (e) => e.stopPropagation(),
1813
- onPointerDown: (t) => qn(t, e, r.disabled, r.draggable)
1814
- }) : null, ee]
1908
+ onPointerDown: (t) => tr(t, e, r.disabled, r.draggable)
1909
+ }) : null, C]
1815
1910
  }, t.id);
1816
1911
  })
1817
1912
  }, s)] }, s);
1818
1913
  }),
1819
- Cn ? /* @__PURE__ */ N("tr", {
1914
+ En ? /* @__PURE__ */ M("tr", {
1820
1915
  className: "comins-table__tr comins-table__infinite-loading-row",
1821
- style: { height: I },
1822
- children: /* @__PURE__ */ P("td", {
1916
+ style: { height: F },
1917
+ children: /* @__PURE__ */ N("td", {
1823
1918
  className: "comins-table__td comins-table__infinite-loading-cell",
1824
- colSpan: Math.max(1, $.length),
1919
+ colSpan: Math.max(1, Q.length),
1825
1920
  "data-testid": "data-table-infinite-loading-row",
1826
- children: [/* @__PURE__ */ N("span", {
1921
+ children: [/* @__PURE__ */ M("span", {
1827
1922
  className: "comins-table__loading-spinner",
1828
1923
  "data-testid": "data-table-infinite-loading-spinner"
1829
- }), /* @__PURE__ */ N("span", { children: "데이터를 불러오는 중입니다." })]
1924
+ }), /* @__PURE__ */ M("span", { children: "데이터를 불러오는 중입니다." })]
1830
1925
  })
1831
1926
  }) : null,
1832
- Dn > 0 ? /* @__PURE__ */ N("tr", {
1927
+ An > 0 ? /* @__PURE__ */ M("tr", {
1833
1928
  "aria-hidden": "true",
1834
1929
  className: "comins-table-empty-filler",
1835
- children: /* @__PURE__ */ N("td", {
1836
- colSpan: Math.max(1, $.length),
1930
+ children: /* @__PURE__ */ M("td", {
1931
+ colSpan: Math.max(1, Q.length),
1837
1932
  "data-testid": "table-empty-filler",
1838
- style: { height: Dn }
1933
+ style: { height: An }
1839
1934
  })
1840
1935
  }) : null
1841
1936
  ] })]
1842
1937
  }),
1843
- B ? /* @__PURE__ */ N("div", {
1938
+ B ? /* @__PURE__ */ M("div", {
1844
1939
  "aria-hidden": "true",
1845
1940
  className: "comins-table__body-virtual-sizer",
1846
1941
  style: {
1847
- height: ln.scrollHeight,
1848
- width: hn
1942
+ height: fn.scrollHeight,
1943
+ width: vn
1849
1944
  }
1850
1945
  }) : null,
1851
- vn && !bn ? /* @__PURE__ */ P("div", {
1946
+ xn && !Cn ? /* @__PURE__ */ N("div", {
1852
1947
  className: "comins-table__loading-overlay",
1853
1948
  "data-testid": "data-table-loading-overlay",
1854
1949
  role: "status",
1855
- style: qt > 0 ? { transform: `translateY(${qt}px)` } : void 0,
1856
- children: [/* @__PURE__ */ N("span", {
1950
+ style: Yt > 0 ? { transform: `translateY(${Yt}px)` } : void 0,
1951
+ children: [/* @__PURE__ */ M("span", {
1857
1952
  className: "comins-table__loading-spinner",
1858
1953
  "data-testid": "data-table-loading-spinner"
1859
- }), /* @__PURE__ */ N("span", { children: ce ?? "불러오는 중입니다." })]
1954
+ }), /* @__PURE__ */ M("span", { children: se ?? "불러오는 중입니다." })]
1860
1955
  }) : null
1861
1956
  ]
1862
1957
  }),
1863
- Le ? /* @__PURE__ */ N("div", {
1958
+ R ? /* @__PURE__ */ M("div", {
1864
1959
  "aria-label": "Table summary",
1865
1960
  className: "comins-table__summary",
1866
1961
  ref: V,
1867
- children: /* @__PURE__ */ P("table", {
1962
+ children: /* @__PURE__ */ N("table", {
1868
1963
  className: "comins-table__table comins-table__summary-table min-w-full table-fixed",
1869
- style: { width: hn },
1870
- children: [Qn(), /* @__PURE__ */ N("tfoot", { children: /* @__PURE__ */ N("tr", {
1871
- className: "comins-table__summary-row",
1872
- children: $.map((e, t) => /* @__PURE__ */ N("td", {
1873
- className: "comins-table__summary-cell px-3 py-2",
1874
- "data-testid": `summary-cell-${e.id}`,
1875
- children: an?.[e.id] ?? (t === 0 ? Le.label : null)
1876
- }, e.id))
1964
+ style: { width: vn },
1965
+ children: [or(), /* @__PURE__ */ M("tfoot", { children: /* @__PURE__ */ M("tr", {
1966
+ className: ["comins-table__summary-row", R.className].filter(Boolean).join(" "),
1967
+ style: R.style,
1968
+ children: cn.map((e) => /* @__PURE__ */ M("td", {
1969
+ className: ["comins-table__summary-cell px-3 py-2", e.className].filter(Boolean).join(" "),
1970
+ colSpan: e.colSpan,
1971
+ "data-testid": `summary-cell-${e.column.id}`,
1972
+ style: e.style,
1973
+ children: e.value
1974
+ }, e.column.id))
1877
1975
  }) })]
1878
1976
  })
1879
1977
  }) : null,
1880
- Xn && Y ? /* @__PURE__ */ N("div", {
1978
+ ir && kt ? /* @__PURE__ */ M("div", {
1881
1979
  "aria-hidden": "true",
1882
1980
  className: "comins-column-move-ghost",
1883
1981
  "data-testid": "column-move-ghost",
1884
1982
  style: {
1885
- left: Y.x + 12,
1886
- top: Y.y + 12
1983
+ left: kt.x + 12,
1984
+ top: kt.y + 12
1887
1985
  },
1888
- children: Xn
1986
+ children: ir
1889
1987
  }) : null
1890
1988
  ]
1891
1989
  });
1892
1990
  }
1893
- function Bt({ data: e, getRowId: t, hasMoreRows: n, infiniteScroll: r, infiniteScrollThreshold: i, lazyLoad: a, lazyLoadBatchSize: o, lazyLoadMode: s, lazyLoadThreshold: c, loadingMore: l, onChangeData: u, onChangeSort: d, onLazyLoad: f, onLoadMore: p, rowProps: m, tree: h, ...g }, _) {
1894
- let [v, y] = M(null), b = A(() => Rt(e, g.columns, v), [
1991
+ function Ut({ data: e, defaultExpandAll: t = !0, getRowId: n, hasMoreRows: r, infiniteScroll: i, infiniteScrollThreshold: a, lazyLoad: o, lazyLoadBatchSize: s, lazyLoadMode: c, lazyLoadThreshold: l, loadingMore: u, onChangeData: d, onChangeSort: f, onLazyLoad: p, onLoadMore: m, rowProps: h, tree: g, ..._ }, v) {
1992
+ let y = A(t).current, [b, x] = j(null), ee = k(() => Bt(e, _.columns, b), [
1895
1993
  e,
1896
- g.columns,
1897
- v
1898
- ]), x = A(() => $e(b, t), [t, b]), S = A(() => new Map(x.map((e) => [e.rowId, e])), [x]), ee = A(() => ({
1899
- entriesByRowId: S,
1900
- onToggle: (n) => u?.(tt(e, n, t)),
1901
- summaryRows: et(e)
1994
+ _.columns,
1995
+ b
1996
+ ]), S = k(() => et(ee, n, { defaultExpandAll: y }), [
1997
+ n,
1998
+ y,
1999
+ ee
2000
+ ]), te = k(() => new Map(S.map((e) => [e.rowId, e])), [S]), C = k(() => ({
2001
+ entriesByRowId: te,
2002
+ onExpand: (t) => {
2003
+ let r = Vt(e, t, !0, n, y);
2004
+ r !== e && d?.([...r]);
2005
+ },
2006
+ onFold: (t) => {
2007
+ let r = Vt(e, t, !1, n, y);
2008
+ r !== e && d?.([...r]);
2009
+ },
2010
+ onToggle: (t) => d?.(nt(e, t, n, { defaultExpandAll: y })),
2011
+ summaryRows: tt(e)
1902
2012
  }), [
1903
2013
  e,
1904
- S,
1905
- t,
1906
- u
1907
- ]), C = (n) => {
2014
+ te,
2015
+ n,
2016
+ y,
2017
+ d
2018
+ ]), ne = (t) => {
1908
2019
  let r = e;
1909
- n.forEach((e, n) => {
1910
- let i = x[n];
1911
- i && i.item !== e && (r = nt(r, i.rowId, t, () => e));
1912
- }), r !== e && u?.([...r]);
2020
+ t.forEach((e, t) => {
2021
+ let i = S[t];
2022
+ i && i.item !== e && (r = rt(r, i.rowId, n, () => e));
2023
+ }), r !== e && d?.([...r]);
1913
2024
  };
1914
- return /* @__PURE__ */ N(Vt, {
1915
- ...g,
1916
- data: x.map((e) => e.item),
1917
- getRowId: t,
2025
+ return /* @__PURE__ */ M(Wt, {
2026
+ ..._,
2027
+ data: S.map((e) => e.item),
2028
+ getRowId: n,
1918
2029
  hasMoreRows: !1,
1919
2030
  infiniteScroll: !1,
1920
2031
  infiniteScrollThreshold: void 0,
@@ -1923,37 +2034,37 @@ function Bt({ data: e, getRowId: t, hasMoreRows: n, infiniteScroll: r, infiniteS
1923
2034
  lazyLoadMode: void 0,
1924
2035
  lazyLoadThreshold: void 0,
1925
2036
  loadingMore: !1,
1926
- onChangeData: C,
2037
+ onChangeData: ne,
1927
2038
  onChangeSort: (e) => {
1928
- y(e), d?.(e);
2039
+ x(e), f?.(e);
1929
2040
  },
1930
2041
  onLazyLoad: void 0,
1931
2042
  onLoadMore: void 0,
1932
2043
  pagination: {
1933
2044
  pageIndex: 0,
1934
- pageSize: Math.max(1, x.length)
2045
+ pageSize: Math.max(1, S.length)
1935
2046
  },
1936
2047
  rowProps: {
1937
- ...m,
2048
+ ...h,
1938
2049
  draggable: !1
1939
2050
  },
1940
2051
  tree: !1,
1941
- ref: _,
1942
- treeContext: ee
2052
+ ref: v,
2053
+ treeContext: C
1943
2054
  });
1944
2055
  }
1945
- var Vt = O(zt), Ht = O(Bt);
1946
- function Ut(e, t) {
1947
- return e.tree ? /* @__PURE__ */ N(Ht, {
2056
+ var Wt = Te(Ht), Gt = Te(Ut);
2057
+ function Kt(e, t) {
2058
+ return e.tree ? /* @__PURE__ */ M(Gt, {
1948
2059
  ...e,
1949
2060
  ref: t
1950
- }) : /* @__PURE__ */ N(Vt, {
2061
+ }) : /* @__PURE__ */ M(Wt, {
1951
2062
  ...e,
1952
2063
  ref: t
1953
2064
  });
1954
2065
  }
1955
- var Wt = O(Ut), Gt = "comins-table";
2066
+ var qt = Te(Kt), Jt = "comins-table";
1956
2067
  //#endregion
1957
- export { Wt as CominsTable, e as addCominsRows, t as applyCominsColumnLayout, n as clearCominsCellRange, r as clearCominsSelection, i as clearCominsSortState, Gt as cominsTablePackage, a as copyCominsCell, o as copyCominsCellRange, s as copyCominsRow, c as createCominsTableState, l as deleteCominsRows, u as exportCominsRowsToCsv, d as exportCominsRowsToJson, f as fillCominsCellRange, $e as flattenCominsTree, p as formatCominsCellValue, m as getCominsCellClassName, h as getCominsCellStyle, g as getCominsCellValue, _ as getCominsHeaderRows, v as getCominsPageRows, y as getCominsSelectedCellRange, b as getCominsSortedRowIndexes, Xe as getCominsSummaryValues, et as getCominsTreeLeafItems, x as getCominsVirtualRows, S as getCominsVisibleColumns, ee as isCominsCellDisabled, C as isCominsCellInSelectedRange, te as isCominsCellSelected, ne as isCominsRowSelected, re as moveCominsColumn, w as moveCominsColumnGroup, T as moveCominsRow, ie as pasteCominsCell, ae as pasteCominsCellRange, oe as pasteCominsRow, se as queryCominsRows, ce as replaceCominsRows, le as selectCell, ue as selectCellRange, E as selectRow, de as selectRows, fe as serializeCominsColumnLayout, pe as setCominsColumnGroupHidden, me as setCominsColumnGroupWidth, he as setCominsColumnHidden, D as setCominsColumnWidth, ge as setCominsHeaderVisible, _e as setCominsPagination, ve as setCominsSortState, ye as setCominsTableTheme, be as sortCominsRows, G as sortCominsTreeSiblings, tt as toggleCominsTreeNode, xe as updateCominsRows, nt as updateCominsTreeItem };
2068
+ export { qt as CominsTable, e as addCominsRows, t as applyCominsColumnLayout, n as clearCominsCellRange, r as clearCominsSelection, i as clearCominsSortState, Jt as cominsTablePackage, a as copyCominsCell, o as copyCominsCellRange, s as copyCominsRow, c as createCominsTableState, l as deleteCominsRows, u as exportCominsRowsToCsv, d as exportCominsRowsToJson, f as fillCominsCellRange, et as flattenCominsTree, p as formatCominsCellValue, m as getCominsCellClassName, h as getCominsCellStyle, g as getCominsCellValue, _ as getCominsHeaderRows, v as getCominsPageRows, y as getCominsSelectedCellRange, b as getCominsSortedRowIndexes, Ze as getCominsSummaryValues, tt as getCominsTreeLeafItems, x as getCominsVirtualRows, ee as getCominsVisibleColumns, S as isCominsCellDisabled, te as isCominsCellInSelectedRange, C as isCominsCellSelected, ne as isCominsRowSelected, re as moveCominsColumn, w as moveCominsColumnGroup, T as moveCominsRow, ie as pasteCominsCell, E as pasteCominsCellRange, ae as pasteCominsRow, oe as queryCominsRows, se as replaceCominsRows, ce as selectCell, le as selectCellRange, D as selectRow, ue as selectRows, de as serializeCominsColumnLayout, fe as setCominsColumnGroupHidden, pe as setCominsColumnGroupWidth, me as setCominsColumnHidden, he as setCominsColumnWidth, ge as setCominsHeaderVisible, _e as setCominsPagination, ve as setCominsSortState, ye as setCominsTableTheme, be as sortCominsRows, G as sortCominsTreeSiblings, nt as toggleCominsTreeNode, xe as updateCominsRows, rt as updateCominsTreeItem };
1958
2069
 
1959
2070
  //# sourceMappingURL=index.js.map