@jielga/tmdatagrid 0.2.0 → 0.5.0

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.
Files changed (50) hide show
  1. package/dist/index.d.ts +1337 -94
  2. package/dist/index.js +2812 -1189
  3. package/dist/index.js.map +1 -1
  4. package/dist/styles.css +1 -1
  5. package/package.json +2 -2
  6. package/skills/columns/SKILL.md +1 -1
  7. package/skills/features/SKILL.md +61 -11
  8. package/skills/getting-started/SKILL.md +41 -6
  9. package/skills/options/SKILL.md +12 -2
  10. package/skills/server-side/SKILL.md +1 -1
  11. package/src/tmdatagrid/TMDataGridContext.ts +26 -0
  12. package/src/tmdatagrid/components/TMDataGrid.module.css +21 -1
  13. package/src/tmdatagrid/components/TMDataGrid.tsx +29 -1
  14. package/src/tmdatagrid/components/TMDataGridColumnsPanel.tsx +12 -6
  15. package/src/tmdatagrid/components/TMDataGridDetailsColumn.module.css +33 -0
  16. package/src/tmdatagrid/components/TMDataGridDetailsColumn.tsx +160 -0
  17. package/src/tmdatagrid/components/TMDataGridFilterPanel.module.css +15 -0
  18. package/src/tmdatagrid/components/TMDataGridFilterPanel.tsx +192 -37
  19. package/src/tmdatagrid/components/TMDataGridFilterPills.module.css +35 -0
  20. package/src/tmdatagrid/components/TMDataGridFilterPills.tsx +136 -0
  21. package/src/tmdatagrid/components/TMDataGridFooter.module.css +8 -0
  22. package/src/tmdatagrid/components/TMDataGridFooter.tsx +63 -43
  23. package/src/tmdatagrid/components/TMDataGridGroupColumn.module.css +48 -0
  24. package/src/tmdatagrid/components/TMDataGridGroupColumn.tsx +159 -0
  25. package/src/tmdatagrid/components/TMDataGridHeaderCell.module.css +18 -0
  26. package/src/tmdatagrid/components/TMDataGridHeaderCell.tsx +249 -44
  27. package/src/tmdatagrid/components/TMDataGridSearch.tsx +122 -0
  28. package/src/tmdatagrid/components/TMDataGridSelectColumn.tsx +103 -16
  29. package/src/tmdatagrid/components/TMDataGridTable.module.css +160 -5
  30. package/src/tmdatagrid/components/TMDataGridTable.tsx +1380 -43
  31. package/src/tmdatagrid/components/TMDataGridToolbar.tsx +33 -7
  32. package/src/tmdatagrid/components/icons.ts +6 -0
  33. package/src/tmdatagrid/components/sticky.module.css +77 -16
  34. package/src/tmdatagrid/core/autosize.ts +125 -0
  35. package/src/tmdatagrid/core/capabilities.ts +122 -11
  36. package/src/tmdatagrid/core/cellExport.ts +321 -0
  37. package/src/tmdatagrid/core/cellNavigation.ts +103 -0
  38. package/src/tmdatagrid/core/cellRange.ts +118 -0
  39. package/src/tmdatagrid/core/columnOptions.ts +123 -0
  40. package/src/tmdatagrid/core/columnUtils.ts +18 -0
  41. package/src/tmdatagrid/core/expanding.ts +93 -0
  42. package/src/tmdatagrid/core/filterOperators.ts +198 -12
  43. package/src/tmdatagrid/core/grouping.ts +21 -0
  44. package/src/tmdatagrid/core/labels.ts +211 -0
  45. package/src/tmdatagrid/core/labelsSv.ts +108 -0
  46. package/src/tmdatagrid/core/persistence.ts +12 -0
  47. package/src/tmdatagrid/core/rowSelection.ts +202 -0
  48. package/src/tmdatagrid/core/summary.ts +35 -0
  49. package/src/tmdatagrid/index.ts +96 -2
  50. package/src/tmdatagrid/useTMDataGrid.tsx +558 -37
package/dist/index.js CHANGED
@@ -1,138 +1,554 @@
1
1
  import { c as e } from "react/compiler-runtime";
2
- import { createContext as t, useCallback as n, useContext as r, useEffect as i, useRef as a, useState as o } from "react";
3
- import { ActionIcon as s, Button as c, Checkbox as l, Group as u, Loader as d, Menu as f, Popover as p, ScrollArea as m, Select as h, Stack as g, Text as _, TextInput as v, Tooltip as y } from "@mantine/core";
4
- import { useCreateStore as b, useSelector as x } from "@tanstack/react-store";
5
- import { IconArrowBarToLeft as S, IconArrowBarToRight as C, IconArrowDown as w, IconArrowLeft as T, IconArrowRight as E, IconArrowUp as D, IconChevronLeft as O, IconChevronRight as k, IconColumns3 as A, IconDotsVertical as j, IconEyeOff as M, IconFilter as N, IconMenu2 as P, IconPinnedOff as F, IconSearch as ee, IconX as I } from "@tabler/icons-react";
6
- import { jsx as L, jsxs as R } from "react/jsx-runtime";
7
- import { columnFacetingFeature as z, columnFilteringFeature as B, columnOrderingFeature as V, columnPinningFeature as H, columnResizingFeature as te, columnSizingFeature as ne, columnVisibilityFeature as re, createColumnHelper as ie, createFacetedMinMaxValues as ae, createFacetedRowModel as oe, createFacetedUniqueValues as se, createFilteredRowModel as U, createPaginatedRowModel as ce, createSortedRowModel as le, filterFns as W, flexRender as ue, globalFilteringFeature as de, metaHelper as fe, rowPaginationFeature as pe, rowSelectionFeature as me, rowSortingFeature as G, sortFns as he, tableFeatures as ge, useTable as _e } from "@tanstack/react-table";
8
- import { useVirtualizer as ve } from "@tanstack/react-virtual";
9
- import { shallow as ye } from "@tanstack/store";
10
- var K = { root: "_root_1jc4n_8" }, be = {
2
+ import { createContext as t, useCallback as n, useContext as r, useEffect as i, useMemo as a, useRef as o, useState as s } from "react";
3
+ import { ActionIcon as c, Button as l, Checkbox as u, Group as d, Loader as f, Menu as p, MultiSelect as m, Pill as h, Popover as g, ScrollArea as _, Select as v, Stack as y, Text as b, TextInput as x, Tooltip as S, UnstyledButton as C } from "@mantine/core";
4
+ import { useCreateStore as w, useSelector as T } from "@tanstack/react-store";
5
+ import { IconArrowAutofitWidth as E, IconArrowBarToLeft as D, IconArrowBarToRight as O, IconArrowDown as k, IconArrowLeft as A, IconArrowRight as j, IconArrowUp as M, IconChevronLeft as N, IconChevronRight as P, IconColumns3 as F, IconDotsVertical as I, IconEyeOff as ee, IconFilter as te, IconFoldDown as ne, IconFoldUp as L, IconIndentDecrease as R, IconIndentIncrease as re, IconMenu2 as z, IconPinnedOff as ie, IconSearch as B, IconX as V } from "@tabler/icons-react";
6
+ import { Fragment as H, jsx as U, jsxs as W } from "react/jsx-runtime";
7
+ import { shallow as ae } from "@tanstack/store";
8
+ import { aggregationFns as G, columnFacetingFeature as oe, columnFilteringFeature as se, columnGroupingFeature as ce, columnOrderingFeature as le, columnPinningFeature as ue, columnResizingFeature as de, columnSizingFeature as fe, columnVisibilityFeature as pe, createColumnHelper as me, createExpandedRowModel as he, createFacetedMinMaxValues as ge, createFacetedRowModel as _e, createFacetedUniqueValues as ve, createFilteredRowModel as ye, createGroupedRowModel as be, createPaginatedRowModel as K, createSortedRowModel as q, filterFns as J, flexRender as xe, globalFilteringFeature as Se, metaHelper as Ce, rowExpandingFeature as Y, rowPaginationFeature as we, rowSelectionFeature as Te, rowSortingFeature as Ee, sortFns as De, tableFeatures as Oe, useTable as ke } from "@tanstack/react-table";
9
+ import { useVirtualizer as Ae } from "@tanstack/react-virtual";
10
+ var je = { root: "_root_qequm_8" }, X = {
11
11
  columnsPanel: "_columnsPanel_1492o_1",
12
12
  columnsPanelSearch: "_columnsPanelSearch_1492o_7",
13
13
  columnsPanelList: "_columnsPanelList_1492o_11",
14
14
  columnsPanelFooter: "_columnsPanelFooter_1492o_18"
15
- }, xe = t(null), Se = xe.Provider;
16
- function q() {
17
- let e = r(xe);
15
+ }, Me = t(null), Ne = Me.Provider;
16
+ function Z() {
17
+ let e = r(Me);
18
18
  if (!e) throw Error("TMDataGrid compound components must be rendered inside <TMDataGrid>");
19
19
  return e;
20
20
  }
21
+ function Pe() {
22
+ let { features: e } = Z();
23
+ return e.cellSelection ? -1 : 0;
24
+ }
25
+ var Fe = {
26
+ detailsToggle: "_detailsToggle_n39tz_3",
27
+ chevron: "_chevron_n39tz_12"
28
+ };
29
+ //#endregion
30
+ //#region src/tmdatagrid/core/expanding.ts
31
+ function Ie(e, t) {
32
+ return t === "groups" ? e.getIsGrouped() : !e.getIsGrouped();
33
+ }
34
+ function Le(e, t) {
35
+ if (t !== !0) return { ...t };
36
+ let n = {};
37
+ for (let t of e) n[t.id] = !0;
38
+ return n;
39
+ }
40
+ function Re({ rows: e, expanded: t, target: n }) {
41
+ let r = !1;
42
+ for (let i of e) if (Ie(i, n) && (r = !0, t !== !0 && t[i.id] !== !0)) return !1;
43
+ return r;
44
+ }
45
+ function ze({ rows: e, expanded: t, target: n, expand: r }) {
46
+ let i = Le(e, t);
47
+ for (let t of e) Ie(t, n) && (r ? i[t.id] = !0 : delete i[t.id]);
48
+ return i;
49
+ }
50
+ //#endregion
51
+ //#region src/tmdatagrid/components/TMDataGridDetailsColumn.tsx
52
+ var Be = "__details__";
53
+ function Ve(t) {
54
+ let n = e(13), { row: r } = t, { labels: i } = Z(), a;
55
+ n[0] === r ? a = n[1] : (a = () => r.getIsExpanded(), n[0] = r, n[1] = a);
56
+ let o = T(r.table.store, a), s = Pe();
57
+ if (r.getIsGrouped()) return null;
58
+ let c = o ? i.hideDetails : i.showDetails, l;
59
+ n[2] === r ? l = n[3] : (l = (e) => {
60
+ e.stopPropagation(), r.toggleExpanded();
61
+ }, n[2] = r, n[3] = l);
62
+ let u;
63
+ n[4] === Symbol.for("react.memo_cache_sentinel") ? (u = /* @__PURE__ */ U(P, {
64
+ size: 16,
65
+ stroke: 1.6
66
+ }), n[4] = u) : u = n[4];
67
+ let d;
68
+ n[5] === o ? d = n[6] : (d = /* @__PURE__ */ U("span", {
69
+ className: Fe.chevron,
70
+ "data-expanded": o,
71
+ children: u
72
+ }), n[5] = o, n[6] = d);
73
+ let f;
74
+ return n[7] !== o || n[8] !== c || n[9] !== l || n[10] !== d || n[11] !== s ? (f = /* @__PURE__ */ U(C, {
75
+ className: Fe.detailsToggle,
76
+ tabIndex: s,
77
+ "aria-expanded": o,
78
+ "aria-label": c,
79
+ onClick: l,
80
+ children: d
81
+ }), n[7] = o, n[8] = c, n[9] = l, n[10] = d, n[11] = s, n[12] = f) : f = n[12], f;
82
+ }
83
+ function He(t) {
84
+ let n = e(16), { table: r } = t, { labels: i } = Z(), a;
85
+ n[0] === r ? a = n[1] : (a = () => r.getPrePaginatedRowModel().flatRows, n[0] = r, n[1] = a);
86
+ let o = a, s;
87
+ n[2] === o ? s = n[3] : (s = (e) => Re({
88
+ rows: o(),
89
+ expanded: e.expanded,
90
+ target: "details"
91
+ }), n[2] = o, n[3] = s);
92
+ let c = T(r.store, s), l = c ? i.collapseAllDetails : i.expandAllDetails, u;
93
+ n[4] !== c || n[5] !== o || n[6] !== r ? (u = () => r.setExpanded(ze({
94
+ rows: o(),
95
+ expanded: r.store.state.expanded,
96
+ target: "details",
97
+ expand: !c
98
+ })), n[4] = c, n[5] = o, n[6] = r, n[7] = u) : u = n[7];
99
+ let d;
100
+ n[8] === Symbol.for("react.memo_cache_sentinel") ? (d = /* @__PURE__ */ U(P, {
101
+ size: 16,
102
+ stroke: 1.6
103
+ }), n[8] = d) : d = n[8];
104
+ let f;
105
+ n[9] === c ? f = n[10] : (f = /* @__PURE__ */ U("span", {
106
+ className: Fe.chevron,
107
+ "data-expanded": c,
108
+ children: d
109
+ }), n[9] = c, n[10] = f);
110
+ let p;
111
+ return n[11] !== c || n[12] !== l || n[13] !== u || n[14] !== f ? (p = /* @__PURE__ */ U(C, {
112
+ className: Fe.detailsToggle,
113
+ "aria-expanded": c,
114
+ "aria-label": l,
115
+ onClick: u,
116
+ children: f
117
+ }), n[11] = c, n[12] = l, n[13] = u, n[14] = f, n[15] = p) : p = n[15], p;
118
+ }
119
+ function Ue(e = "Details") {
120
+ return {
121
+ id: Be,
122
+ meta: {
123
+ label: e,
124
+ align: "center",
125
+ enableOrdering: !1
126
+ },
127
+ size: 36,
128
+ minSize: 36,
129
+ maxSize: 36,
130
+ enableResizing: !1,
131
+ enableSorting: !1,
132
+ enableColumnFilter: !1,
133
+ enableGlobalFilter: !1,
134
+ enableHiding: !1,
135
+ enablePinning: !1,
136
+ header: ({ table: e }) => /* @__PURE__ */ U(He, { table: e }),
137
+ cell: ({ row: e }) => /* @__PURE__ */ U(Ve, { row: e })
138
+ };
139
+ }
140
+ //#endregion
141
+ //#region src/tmdatagrid/core/grouping.ts
142
+ function We(e) {
143
+ return e.subRows.length === 0 ? [e] : e.getLeafRows().filter((e) => e.subRows.length === 0);
144
+ }
145
+ //#endregion
146
+ //#region src/tmdatagrid/core/rowSelection.ts
147
+ function Ge(e, t) {
148
+ return Ke(e, t) ? e.getPaginatedRowModel().rows : e.getPrePaginatedRowModel().rows;
149
+ }
150
+ function Ke(e, t) {
151
+ return t.pagination && e.store.state.grouping.length === 0;
152
+ }
153
+ function qe(e) {
154
+ return We(e).filter((e) => e.getCanSelect()).map((e) => e.id);
155
+ }
156
+ function Je({ rows: e, rowId: t, anchorRowId: n, modifiers: r, selection: i, canReplaceSelection: a }) {
157
+ let o = e.findIndex((e) => e.id === t), s = e[o];
158
+ if (o === -1 || s === void 0) return {
159
+ selection: i,
160
+ anchorRowId: n
161
+ };
162
+ let c = qe(s);
163
+ if (c.length === 0) return {
164
+ selection: i,
165
+ anchorRowId: n
166
+ };
167
+ if (!s.getCanMultiSelect()) {
168
+ let e = c.length === 1 ? c[0] : void 0;
169
+ return e === void 0 ? {
170
+ selection: i,
171
+ anchorRowId: n
172
+ } : {
173
+ selection: !a && i[e] === !0 ? {} : { [e]: !0 },
174
+ anchorRowId: t
175
+ };
176
+ }
177
+ let l = n === null ? -1 : e.findIndex((e) => e.id === n);
178
+ if (r.extend && l !== -1) {
179
+ let t = Math.min(l, o), s = Math.max(l, o), c = r.toggle || !a ? { ...i } : {};
180
+ for (let n of e.slice(t, s + 1)) for (let e of qe(n)) c[e] = !0;
181
+ return {
182
+ selection: c,
183
+ anchorRowId: n
184
+ };
185
+ }
186
+ if (r.toggle || !a) {
187
+ let e = { ...i }, n = c.every((e) => i[e] === !0);
188
+ for (let t of c) n ? delete e[t] : e[t] = !0;
189
+ return {
190
+ selection: e,
191
+ anchorRowId: t
192
+ };
193
+ }
194
+ let u = {};
195
+ for (let e of c) u[e] = !0;
196
+ return {
197
+ selection: u,
198
+ anchorRowId: t
199
+ };
200
+ }
201
+ //#endregion
202
+ //#region src/tmdatagrid/components/TMDataGridSelectColumn.tsx
203
+ var Q = "__select__";
204
+ function Ye(t) {
205
+ let n = e(11), { table: r } = t, { labels: i } = Z(), a;
206
+ n[0] === r ? a = n[1] : (a = () => r.getIsAllRowsSelected(), n[0] = r, n[1] = a);
207
+ let o = T(r.store, a), s;
208
+ n[2] === r ? s = n[3] : (s = () => r.getIsSomeRowsSelected(), n[2] = r, n[3] = s);
209
+ let c = T(r.store, s), l = i.selectAllRows, d = c && !o, f;
210
+ n[4] === r ? f = n[5] : (f = r.getToggleAllRowsSelectedHandler(), n[4] = r, n[5] = f);
211
+ let p;
212
+ return n[6] !== o || n[7] !== i.selectAllRows || n[8] !== d || n[9] !== f ? (p = /* @__PURE__ */ U(u, {
213
+ size: "xs",
214
+ "aria-label": l,
215
+ checked: o,
216
+ indeterminate: d,
217
+ onChange: f
218
+ }), n[6] = o, n[7] = i.selectAllRows, n[8] = d, n[9] = f, n[10] = p) : p = n[10], p;
219
+ }
220
+ function Xe(t) {
221
+ let n = e(2), { table: r } = t, { features: i } = Z();
222
+ if (!i.multiRowSelection) return null;
223
+ let a;
224
+ return n[0] === r ? a = n[1] : (a = /* @__PURE__ */ U(Ye, { table: r }), n[0] = r, n[1] = a), a;
225
+ }
226
+ function Ze(t) {
227
+ let n = e(20), { row: r } = t, { ui: i, features: a, labels: o } = Z(), s = Pe(), c = r.subRows.length > 0, l;
228
+ n[0] !== c || n[1] !== r ? (l = () => c ? r.getIsAllSubRowsSelected() : r.getIsSelected(), n[0] = c, n[1] = r, n[2] = l) : l = n[2];
229
+ let d = T(r.table.store, l), f;
230
+ n[3] === r ? f = n[4] : (f = () => r.getIsSomeSelected(), n[3] = r, n[4] = f);
231
+ let p = T(r.table.store, f), m;
232
+ n[5] === r ? m = n[6] : (m = qe(r), n[5] = r, n[6] = m);
233
+ let h = m;
234
+ if (c && !r.getCanMultiSelect()) return null;
235
+ let g = c ? o.selectGroup : o.selectRow, _ = h.length === 0, v = p && !d, y;
236
+ n[7] !== a || n[8] !== r.id || n[9] !== r.table || n[10] !== i.actions || n[11] !== i.state.selectionAnchorRowId ? (y = (e) => {
237
+ let t = e.nativeEvent, n = t instanceof MouseEvent, o = Je({
238
+ rows: Ge(r.table, a),
239
+ rowId: r.id,
240
+ anchorRowId: i.state.selectionAnchorRowId,
241
+ modifiers: {
242
+ toggle: n && (t.ctrlKey || t.metaKey),
243
+ extend: n && t.shiftKey
244
+ },
245
+ selection: r.table.store.state.rowSelection,
246
+ canReplaceSelection: !1
247
+ });
248
+ r.table.setRowSelection(o.selection), i.actions.setSelectionAnchor(o.anchorRowId);
249
+ }, n[7] = a, n[8] = r.id, n[9] = r.table, n[10] = i.actions, n[11] = i.state.selectionAnchorRowId, n[12] = y) : y = n[12];
250
+ let b;
251
+ return n[13] !== d || n[14] !== g || n[15] !== _ || n[16] !== v || n[17] !== y || n[18] !== s ? (b = /* @__PURE__ */ U(u, {
252
+ size: "xs",
253
+ tabIndex: s,
254
+ "aria-label": g,
255
+ checked: d,
256
+ disabled: _,
257
+ indeterminate: v,
258
+ onChange: y,
259
+ onClick: Qe
260
+ }), n[13] = d, n[14] = g, n[15] = _, n[16] = v, n[17] = y, n[18] = s, n[19] = b) : b = n[19], b;
261
+ }
262
+ function Qe(e) {
263
+ return e.stopPropagation();
264
+ }
265
+ function $e(e = "Checkbox selection") {
266
+ return {
267
+ id: Q,
268
+ meta: {
269
+ label: e,
270
+ align: "center",
271
+ enableOrdering: !1
272
+ },
273
+ size: 36,
274
+ minSize: 36,
275
+ maxSize: 36,
276
+ enableResizing: !1,
277
+ enableSorting: !1,
278
+ enableColumnFilter: !1,
279
+ enableGlobalFilter: !1,
280
+ enablePinning: !1,
281
+ header: ({ table: e }) => /* @__PURE__ */ U(Xe, { table: e }),
282
+ cell: ({ row: e }) => /* @__PURE__ */ U(Ze, { row: e }),
283
+ aggregatedCell: ({ row: e }) => /* @__PURE__ */ U(Ze, { row: e })
284
+ };
285
+ }
21
286
  //#endregion
22
287
  //#region src/tmdatagrid/core/columnUtils.ts
23
- function Ce(e) {
288
+ function et(e) {
24
289
  let t = e.columnDef.meta?.label;
25
290
  if (t) return t;
26
291
  let n = e.columnDef.header;
27
292
  return typeof n == "string" ? n : e.id;
28
293
  }
29
- function we(e) {
294
+ function tt(e) {
30
295
  return e.columnDef.meta?.type ?? "string";
31
296
  }
32
- function Te(e) {
297
+ function nt(e) {
33
298
  return e.columnDef.meta?.align ?? "left";
34
299
  }
35
- function Ee(e) {
300
+ function rt(e) {
301
+ return e === "__select__" || e === "__details__";
302
+ }
303
+ function it(e) {
36
304
  return e.columnDef.meta?.enableOrdering !== !1 && e.parent === void 0;
37
305
  }
306
+ var at = {
307
+ groupToggle: "_groupToggle_h06xv_4",
308
+ chevron: "_chevron_h06xv_14",
309
+ groupLabel: "_groupLabel_h06xv_34",
310
+ groupCount: "_groupCount_h06xv_44"
311
+ }, ot = "__group__", st = 16, ct = "(Blank)";
312
+ function lt(e, t = ct) {
313
+ return e == null || e === "" ? t : e instanceof Date ? e.toLocaleDateString() : String(e);
314
+ }
315
+ function ut(t) {
316
+ let n = e(38), { row: r } = t, { labels: i } = Z(), a;
317
+ n[0] === r ? a = n[1] : (a = () => r.getIsExpanded(), n[0] = r, n[1] = a);
318
+ let o = T(r.table.store, a), s = Pe();
319
+ if (!r.getIsGrouped()) return null;
320
+ let c, l, u, d, f, p, m;
321
+ if (n[2] !== o || n[3] !== i || n[4] !== r.depth || n[5] !== r.groupingValue || n[6] !== s) {
322
+ l = lt(r.groupingValue, i.blankGroupValue), c = C, u = at.groupToggle;
323
+ let e = r.depth * st;
324
+ n[14] === e ? d = n[15] : (d = { paddingInlineStart: e }, n[14] = e, n[15] = d), f = s, p = o, m = o ? i.collapseGroup(l) : i.expandGroup(l), n[2] = o, n[3] = i, n[4] = r.depth, n[5] = r.groupingValue, n[6] = s, n[7] = c, n[8] = l, n[9] = u, n[10] = d, n[11] = f, n[12] = p, n[13] = m;
325
+ } else c = n[7], l = n[8], u = n[9], d = n[10], f = n[11], p = n[12], m = n[13];
326
+ let h;
327
+ n[16] === r ? h = n[17] : (h = (e) => {
328
+ e.stopPropagation(), r.toggleExpanded();
329
+ }, n[16] = r, n[17] = h);
330
+ let g;
331
+ n[18] === Symbol.for("react.memo_cache_sentinel") ? (g = /* @__PURE__ */ U(P, {
332
+ size: 16,
333
+ stroke: 1.6
334
+ }), n[18] = g) : g = n[18];
335
+ let _;
336
+ n[19] === o ? _ = n[20] : (_ = /* @__PURE__ */ U("span", {
337
+ className: at.chevron,
338
+ "data-expanded": o,
339
+ children: g
340
+ }), n[19] = o, n[20] = _);
341
+ let v;
342
+ n[21] === l ? v = n[22] : (v = /* @__PURE__ */ U("span", {
343
+ className: at.groupLabel,
344
+ children: l
345
+ }), n[21] = l, n[22] = v);
346
+ let y;
347
+ n[23] === r ? y = n[24] : (y = We(r), n[23] = r, n[24] = y);
348
+ let b;
349
+ n[25] === y.length ? b = n[26] : (b = /* @__PURE__ */ W("span", {
350
+ className: at.groupCount,
351
+ children: [
352
+ "(",
353
+ y.length,
354
+ ")"
355
+ ]
356
+ }), n[25] = y.length, n[26] = b);
357
+ let x;
358
+ return n[27] !== c || n[28] !== v || n[29] !== b || n[30] !== u || n[31] !== d || n[32] !== f || n[33] !== p || n[34] !== m || n[35] !== h || n[36] !== _ ? (x = /* @__PURE__ */ W(c, {
359
+ className: u,
360
+ style: d,
361
+ tabIndex: f,
362
+ "aria-expanded": p,
363
+ "aria-label": m,
364
+ onClick: h,
365
+ children: [
366
+ _,
367
+ v,
368
+ b
369
+ ]
370
+ }), n[27] = c, n[28] = v, n[29] = b, n[30] = u, n[31] = d, n[32] = f, n[33] = p, n[34] = m, n[35] = h, n[36] = _, n[37] = x) : x = n[37], x;
371
+ }
372
+ function dt(t) {
373
+ let n = e(6), { table: r } = t, { labels: i } = Z(), a;
374
+ n[0] === Symbol.for("react.memo_cache_sentinel") ? (a = { compare: ae }, n[0] = a) : a = n[0];
375
+ let o = T(r.store, ft, a);
376
+ if (o.length === 0) return i.groupColumnLabel;
377
+ let s;
378
+ if (n[1] !== o || n[2] !== r) {
379
+ let e;
380
+ n[4] === r ? e = n[5] : (e = (e) => {
381
+ let t = r.getColumn(e);
382
+ return t ? et(t) : e;
383
+ }, n[4] = r, n[5] = e), s = o.map(e).join(" / "), n[1] = o, n[2] = r, n[3] = s;
384
+ } else s = n[3];
385
+ return s;
386
+ }
387
+ function ft(e) {
388
+ return e.grouping;
389
+ }
390
+ function pt(e = "Group") {
391
+ return {
392
+ id: ot,
393
+ meta: {
394
+ label: e,
395
+ enableOrdering: !1
396
+ },
397
+ size: 260,
398
+ minSize: 180,
399
+ enableSorting: !1,
400
+ enableColumnFilter: !1,
401
+ enableGlobalFilter: !1,
402
+ enableHiding: !1,
403
+ enablePinning: !1,
404
+ cell: ({ row: e }) => /* @__PURE__ */ U(ut, { row: e }),
405
+ aggregatedCell: ({ row: e }) => /* @__PURE__ */ U(ut, { row: e }),
406
+ header: ({ table: e }) => /* @__PURE__ */ U(dt, { table: e })
407
+ };
408
+ }
38
409
  //#endregion
39
410
  //#region src/tmdatagrid/components/TMDataGridColumnsPanel.tsx
40
- function De() {
41
- let t = e(54), { table: n, controlSize: r } = q(), [i, a] = o(""), s = x(n.store, ke), u, d, f, p, h, g, y, b, S, C;
42
- if (t[0] !== s || t[1] !== r || t[2] !== i || t[3] !== n) {
43
- let e = n.getAllLeafColumns(), o = i.trim().toLowerCase();
44
- C = o ? e.filter((e) => Ce(e).toLowerCase().includes(o)) : e, d = e.filter(Oe);
45
- let c;
46
- t[14] === s ? c = t[15] : (c = (e) => s[e.id] !== !1, t[14] = s, t[15] = c), f = d.filter(c).length, b = be.columnsPanel;
47
- let _;
48
- t[16] === Symbol.for("react.memo_cache_sentinel") ? (_ = (e) => a(e.currentTarget.value), t[16] = _) : _ = t[16];
49
- let x;
50
- t[17] === Symbol.for("react.memo_cache_sentinel") ? (x = /* @__PURE__ */ L(ee, {
411
+ function mt() {
412
+ let t = e(61), { table: n, labels: r, controlSize: i } = Z(), [a, o] = s(""), c = T(n.store, _t), d, f, p, m, h, g, v, y, S, C;
413
+ if (t[0] !== c || t[1] !== i || t[2] !== r.columnsSearchPlaceholder || t[3] !== a || t[4] !== n) {
414
+ let e = n.getAllLeafColumns().filter(gt), s = a.trim().toLowerCase();
415
+ C = s ? e.filter((e) => et(e).toLowerCase().includes(s)) : e, f = e.filter(ht);
416
+ let l;
417
+ t[15] === c ? l = t[16] : (l = (e) => c[e.id] !== !1, t[15] = c, t[16] = l), p = f.filter(l).length, y = X.columnsPanel;
418
+ let b;
419
+ t[17] === Symbol.for("react.memo_cache_sentinel") ? (b = (e) => o(e.currentTarget.value), t[17] = b) : b = t[17];
420
+ let w;
421
+ t[18] === Symbol.for("react.memo_cache_sentinel") ? (w = /* @__PURE__ */ U(B, {
51
422
  size: 16,
52
423
  stroke: 1.6
53
- }), t[17] = x) : x = t[17], t[18] !== r || t[19] !== i ? (S = /* @__PURE__ */ L("div", {
54
- className: be.columnsPanelSearch,
55
- children: /* @__PURE__ */ L(v, {
56
- value: i,
57
- onChange: _,
58
- placeholder: "Search",
59
- leftSection: x,
60
- size: r,
424
+ }), t[18] = w) : w = t[18], t[19] !== i || t[20] !== r.columnsSearchPlaceholder || t[21] !== a ? (S = /* @__PURE__ */ U("div", {
425
+ className: X.columnsPanelSearch,
426
+ children: /* @__PURE__ */ U(x, {
427
+ value: a,
428
+ onChange: b,
429
+ placeholder: r.columnsSearchPlaceholder,
430
+ leftSection: w,
431
+ size: i,
61
432
  "data-autofocus": !0
62
433
  })
63
- }), t[18] = r, t[19] = i, t[20] = S) : S = t[20], u = m.Autosize, g = 260, y = "auto", p = be.columnsPanelList;
64
- let w;
65
- t[21] !== s || t[22] !== r ? (w = (e) => /* @__PURE__ */ L(l, {
66
- size: r,
67
- label: Ce(e),
434
+ }), t[19] = i, t[20] = r.columnsSearchPlaceholder, t[21] = a, t[22] = S) : S = t[22], d = _.Autosize, g = 260, v = "auto", m = X.columnsPanelList;
435
+ let T;
436
+ t[23] !== c || t[24] !== i ? (T = (e) => /* @__PURE__ */ U(u, {
437
+ size: i,
438
+ label: et(e),
68
439
  disabled: !e.getCanHide(),
69
- checked: s[e.id] !== !1,
440
+ checked: c[e.id] !== !1,
70
441
  onChange: (t) => e.toggleVisibility(t.currentTarget.checked)
71
- }, e.id), t[21] = s, t[22] = r, t[23] = w) : w = t[23], h = C.map(w), t[0] = s, t[1] = r, t[2] = i, t[3] = n, t[4] = u, t[5] = d, t[6] = f, t[7] = p, t[8] = h, t[9] = g, t[10] = y, t[11] = b, t[12] = S, t[13] = C;
72
- } else u = t[4], d = t[5], f = t[6], p = t[7], h = t[8], g = t[9], y = t[10], b = t[11], S = t[12], C = t[13];
442
+ }, e.id), t[23] = c, t[24] = i, t[25] = T) : T = t[25], h = C.map(T), t[0] = c, t[1] = i, t[2] = r.columnsSearchPlaceholder, t[3] = a, t[4] = n, t[5] = d, t[6] = f, t[7] = p, t[8] = m, t[9] = h, t[10] = g, t[11] = v, t[12] = y, t[13] = S, t[14] = C;
443
+ } else d = t[5], f = t[6], p = t[7], m = t[8], h = t[9], g = t[10], v = t[11], y = t[12], S = t[13], C = t[14];
73
444
  let w;
74
- t[24] !== r || t[25] !== i || t[26] !== C.length ? (w = C.length === 0 && /* @__PURE__ */ R(_, {
75
- size: r,
445
+ t[26] !== i || t[27] !== r || t[28] !== a || t[29] !== C.length ? (w = C.length === 0 && /* @__PURE__ */ U(b, {
446
+ size: i,
76
447
  c: "dimmed",
77
- children: [
78
- "No columns match “",
79
- i,
80
- "”"
81
- ]
82
- }), t[24] = r, t[25] = i, t[26] = C.length, t[27] = w) : w = t[27];
83
- let T;
84
- t[28] !== p || t[29] !== h || t[30] !== w ? (T = /* @__PURE__ */ R("div", {
85
- className: p,
86
- children: [h, w]
87
- }), t[28] = p, t[29] = h, t[30] = w, t[31] = T) : T = t[31];
448
+ children: r.columnsNoMatch(a)
449
+ }), t[26] = i, t[27] = r, t[28] = a, t[29] = C.length, t[30] = w) : w = t[30];
88
450
  let E;
89
- t[32] !== u || t[33] !== g || t[34] !== y || t[35] !== T ? (E = /* @__PURE__ */ L(u, {
451
+ t[31] !== m || t[32] !== h || t[33] !== w ? (E = /* @__PURE__ */ W("div", {
452
+ className: m,
453
+ children: [h, w]
454
+ }), t[31] = m, t[32] = h, t[33] = w, t[34] = E) : E = t[34];
455
+ let D;
456
+ t[35] !== d || t[36] !== g || t[37] !== v || t[38] !== E ? (D = /* @__PURE__ */ U(d, {
90
457
  mah: g,
91
- type: y,
92
- children: T
93
- }), t[32] = u, t[33] = g, t[34] = y, t[35] = T, t[36] = E) : E = t[36];
94
- let D = f === d.length, O = f > 0 && f < d.length, k;
95
- t[37] === n ? k = t[38] : (k = (e) => n.toggleAllColumnsVisible(e.currentTarget.checked), t[37] = n, t[38] = k);
96
- let A;
97
- t[39] !== r || t[40] !== O || t[41] !== k || t[42] !== D ? (A = /* @__PURE__ */ L(l, {
98
- size: r,
99
- label: "Show/Hide All",
100
- checked: D,
101
- indeterminate: O,
102
- onChange: k
103
- }), t[39] = r, t[40] = O, t[41] = k, t[42] = D, t[43] = A) : A = t[43];
458
+ type: v,
459
+ children: E
460
+ }), t[35] = d, t[36] = g, t[37] = v, t[38] = E, t[39] = D) : D = t[39];
461
+ let O = p === f.length, k = p > 0 && p < f.length, A;
462
+ t[40] === n ? A = t[41] : (A = (e) => n.toggleAllColumnsVisible(e.currentTarget.checked), t[40] = n, t[41] = A);
104
463
  let j;
105
- t[44] === n ? j = t[45] : (j = /* @__PURE__ */ L(c, {
106
- variant: "subtle",
107
- size: "compact-sm",
108
- onClick: () => n.resetColumnVisibility(),
109
- children: "RESET"
110
- }), t[44] = n, t[45] = j);
464
+ t[42] !== i || t[43] !== r.columnsShowHideAll || t[44] !== k || t[45] !== A || t[46] !== O ? (j = /* @__PURE__ */ U(u, {
465
+ size: i,
466
+ label: r.columnsShowHideAll,
467
+ checked: O,
468
+ indeterminate: k,
469
+ onChange: A
470
+ }), t[42] = i, t[43] = r.columnsShowHideAll, t[44] = k, t[45] = A, t[46] = O, t[47] = j) : j = t[47];
111
471
  let M;
112
- t[46] !== A || t[47] !== j ? (M = /* @__PURE__ */ R("div", {
113
- className: be.columnsPanelFooter,
114
- children: [A, j]
115
- }), t[46] = A, t[47] = j, t[48] = M) : M = t[48];
472
+ t[48] === n ? M = t[49] : (M = () => n.resetColumnVisibility(), t[48] = n, t[49] = M);
116
473
  let N;
117
- return t[49] !== M || t[50] !== b || t[51] !== S || t[52] !== E ? (N = /* @__PURE__ */ R("div", {
118
- className: b,
474
+ t[50] !== r.columnsReset || t[51] !== M ? (N = /* @__PURE__ */ U(l, {
475
+ variant: "subtle",
476
+ size: "compact-sm",
477
+ onClick: M,
478
+ children: r.columnsReset
479
+ }), t[50] = r.columnsReset, t[51] = M, t[52] = N) : N = t[52];
480
+ let P;
481
+ t[53] !== j || t[54] !== N ? (P = /* @__PURE__ */ W("div", {
482
+ className: X.columnsPanelFooter,
483
+ children: [j, N]
484
+ }), t[53] = j, t[54] = N, t[55] = P) : P = t[55];
485
+ let F;
486
+ return t[56] !== P || t[57] !== y || t[58] !== S || t[59] !== D ? (F = /* @__PURE__ */ W("div", {
487
+ className: y,
119
488
  children: [
120
489
  S,
121
- E,
122
- M
490
+ D,
491
+ P
123
492
  ]
124
- }), t[49] = M, t[50] = b, t[51] = S, t[52] = E, t[53] = N) : N = t[53], N;
493
+ }), t[56] = P, t[57] = y, t[58] = S, t[59] = D, t[60] = F) : F = t[60], F;
125
494
  }
126
- function Oe(e) {
495
+ function ht(e) {
127
496
  return e.getCanHide();
128
497
  }
129
- function ke(e) {
498
+ function gt(e) {
499
+ return e.id !== ot;
500
+ }
501
+ function _t(e) {
130
502
  return e.columnVisibility;
131
503
  }
132
- var Ae = {
133
- filterPanel: "_filterPanel_1jw69_4",
134
- filterRow: "_filterRow_1jw69_16"
135
- }, je = {
504
+ var vt = {
505
+ filterPanel: "_filterPanel_izakx_4",
506
+ filterRow: "_filterRow_izakx_16",
507
+ filterPanelHeader: "_filterPanelHeader_izakx_22",
508
+ filterPanelFooter: "_filterPanelFooter_izakx_30"
509
+ };
510
+ //#endregion
511
+ //#region src/tmdatagrid/core/columnOptions.ts
512
+ function yt(e, t) {
513
+ t == null || t === "" || e.add(String(t));
514
+ }
515
+ function bt({ table: e, column: t, row: n, fallback: r }) {
516
+ let i = t.columnDef.meta?.options ?? r;
517
+ if (!i) return [];
518
+ if (i === "faceted") {
519
+ let e = /* @__PURE__ */ new Set();
520
+ for (let n of t.getFacetedUniqueValues().keys()) if (Array.isArray(n)) for (let t of n) yt(e, t);
521
+ else yt(e, n);
522
+ return [...e].sort((e, t) => e.localeCompare(t, void 0, { numeric: !0 })).map((e) => ({ value: e }));
523
+ }
524
+ return (typeof i == "function" ? i({
525
+ table: e,
526
+ column: t,
527
+ row: n
528
+ }) : i).map((e) => typeof e == "string" ? { value: e } : e);
529
+ }
530
+ function xt(e) {
531
+ let t = [], n = /* @__PURE__ */ new Map();
532
+ for (let r of e) {
533
+ let e = {
534
+ value: r.value,
535
+ label: r.label ?? r.value,
536
+ ...r.disabled ? { disabled: !0 } : {}
537
+ };
538
+ if (r.group === void 0) t.push(e);
539
+ else {
540
+ let t = n.get(r.group);
541
+ t ? t.push(e) : n.set(r.group, [e]);
542
+ }
543
+ }
544
+ return [...t, ...[...n].map(([e, t]) => ({
545
+ group: e,
546
+ items: t
547
+ }))];
548
+ }
549
+ //#endregion
550
+ //#region src/tmdatagrid/core/filterOperators.ts
551
+ var St = {
136
552
  contains: "contains",
137
553
  equals: "equals",
138
554
  notEquals: "does not equal",
@@ -142,9 +558,15 @@ var Ae = {
142
558
  greaterThanOrEqual: "is greater than or equal to",
143
559
  lessThan: "is less than",
144
560
  lessThanOrEqual: "is less than or equal to",
561
+ before: "is before",
562
+ after: "is after",
563
+ onOrBefore: "is on or before",
564
+ onOrAfter: "is on or after",
565
+ isAnyOf: "is any of",
566
+ isNoneOf: "is none of",
145
567
  isEmpty: "is empty",
146
568
  isNotEmpty: "is not empty"
147
- }, Me = [
569
+ }, Ct = [
148
570
  "contains",
149
571
  "equals",
150
572
  "notEquals",
@@ -152,7 +574,7 @@ var Ae = {
152
574
  "endsWith",
153
575
  "isEmpty",
154
576
  "isNotEmpty"
155
- ], J = [
577
+ ], wt = [
156
578
  "equals",
157
579
  "notEquals",
158
580
  "greaterThan",
@@ -161,27 +583,96 @@ var Ae = {
161
583
  "lessThanOrEqual",
162
584
  "isEmpty",
163
585
  "isNotEmpty"
164
- ], Y = ["isEmpty", "isNotEmpty"];
165
- function Ne(e) {
166
- return e === "number" ? J : Me;
586
+ ], Tt = [
587
+ "equals",
588
+ "notEquals",
589
+ "before",
590
+ "after",
591
+ "onOrBefore",
592
+ "onOrAfter",
593
+ "isEmpty",
594
+ "isNotEmpty"
595
+ ], Et = [
596
+ "equals",
597
+ "notEquals",
598
+ "isEmpty",
599
+ "isNotEmpty"
600
+ ], Dt = [
601
+ "isAnyOf",
602
+ "isNoneOf",
603
+ "isEmpty",
604
+ "isNotEmpty"
605
+ ], Ot = ["isEmpty", "isNotEmpty"], kt = ["isAnyOf", "isNoneOf"], At = {
606
+ string: Ct,
607
+ number: wt,
608
+ boolean: Et,
609
+ date: Tt,
610
+ select: Dt,
611
+ multiSelect: Dt
612
+ }, jt = {
613
+ string: "contains",
614
+ number: "equals",
615
+ boolean: "equals",
616
+ date: "equals",
617
+ select: "isAnyOf",
618
+ multiSelect: "isAnyOf"
619
+ };
620
+ function Mt(e) {
621
+ return At[e];
167
622
  }
168
- function Pe(e) {
169
- return e === "number" ? "equals" : "contains";
623
+ function Nt(e) {
624
+ return jt[e];
170
625
  }
171
- function Fe(e) {
172
- return !Y.includes(e);
626
+ function Pt(e) {
627
+ return !Ot.includes(e);
628
+ }
629
+ function Ft(e) {
630
+ return kt.includes(e);
173
631
  }
174
- function Ie(e) {
632
+ function It(e) {
175
633
  return typeof e == "object" && !!e && "operator" in e && typeof e.operator == "string";
176
634
  }
177
- function Le(e) {
178
- return Ie(e) ? !Fe(e.operator) || e.value.trim() !== "" : !1;
635
+ function Lt(e) {
636
+ return It(e) ? Pt(e.operator) ? Array.isArray(e.value) ? e.value.length > 0 : typeof e.value == "string" && e.value.trim() !== "" : !0 : !1;
637
+ }
638
+ function Rt({ label: e, type: t, filter: n, operatorLabels: r = St }) {
639
+ let { operator: i, value: a } = n;
640
+ if (!Pt(i)) return `${e} ${r[i]}`;
641
+ let o = Array.isArray(a) ? a.join(", ") : String(a).trim();
642
+ return i === Nt(t) ? `${e}: ${o}` : `${e} ${r[i]} ${o}`;
643
+ }
644
+ function zt(e) {
645
+ if (e instanceof Date) return Number.isNaN(e.getTime()) ? null : e.toLocaleDateString("sv-SE");
646
+ if (typeof e == "string") {
647
+ let t = /^(\d{4}-\d{2}-\d{2})/.exec(e.trim());
648
+ return t ? t[1] : null;
649
+ }
650
+ return null;
179
651
  }
180
- function Re(e, { operator: t, value: n }) {
181
- if (t === "isEmpty") return e == null || e === "";
182
- if (t === "isNotEmpty") return e != null && e !== "";
183
- let r = n.trim();
652
+ function Bt(e) {
653
+ return e == null || e === "" || Array.isArray(e) && e.length === 0;
654
+ }
655
+ function Vt(e, { operator: t, value: n }) {
656
+ if (t === "isEmpty") return Bt(e);
657
+ if (t === "isNotEmpty") return !Bt(e);
658
+ if (t === "isAnyOf" || t === "isNoneOf") {
659
+ let r = (Array.isArray(n) ? n : [n]).map((e) => String(e).toLowerCase()).filter((e) => e !== "");
660
+ if (r.length === 0) return !0;
661
+ let i = (Array.isArray(e) ? e : [e]).some((e) => r.includes(String(e ?? "").toLowerCase()));
662
+ return t === "isAnyOf" ? i : !i;
663
+ }
664
+ let r = typeof n == "string" ? n.trim() : n.join(",").trim();
184
665
  if (r === "") return !0;
666
+ switch (t) {
667
+ case "before":
668
+ case "after":
669
+ case "onOrBefore":
670
+ case "onOrAfter": {
671
+ let n = zt(e), i = zt(r);
672
+ return n === null || i === null ? !1 : t === "before" ? n < i : t === "after" ? n > i : t === "onOrBefore" ? n <= i : n >= i;
673
+ }
674
+ default: break;
675
+ }
185
676
  let i = typeof e == "number" ? e : NaN, a = Number(r), o = !Number.isNaN(i) && !Number.isNaN(a);
186
677
  switch (t) {
187
678
  case "greaterThan": return o && i > a;
@@ -190,7 +681,7 @@ function Re(e, { operator: t, value: n }) {
190
681
  case "lessThanOrEqual": return o && i <= a;
191
682
  default: break;
192
683
  }
193
- let s = String(e ?? "").toLowerCase(), c = r.toLowerCase();
684
+ let s = (e instanceof Date ? zt(e) ?? "" : String(e ?? "")).toLowerCase(), c = r.toLowerCase();
194
685
  switch (t) {
195
686
  case "contains": return s.includes(c);
196
687
  case "equals": return o ? i === a : s === c;
@@ -200,193 +691,798 @@ function Re(e, { operator: t, value: n }) {
200
691
  default: return !0;
201
692
  }
202
693
  }
203
- function ze(e, t, n) {
204
- return !Ie(n) || Re(e.getValue(t), n);
694
+ function Ht(e, t, n) {
695
+ return !It(n) || Vt(e.getValue(t), n);
205
696
  }
206
697
  //#endregion
207
698
  //#region src/tmdatagrid/components/TMDataGridFilterPanel.tsx
208
- var Be = {
699
+ var Ut = {
209
700
  operator: "contains",
210
701
  value: ""
211
702
  };
212
- function Ve(e) {
213
- return Ie(e) ? e : Be;
214
- }
215
- function He() {
216
- let t = e(39), { table: n, ui: r, controlSize: i } = q(), a = x(r, qe), o = x(n.store, Ke);
217
- if (!a) return null;
218
- let l, u;
219
- t[0] === n ? (l = t[1], u = t[2]) : (l = n.getAllLeafColumns().filter(Ge), u = l.map(We), t[0] = n, t[1] = l, t[2] = u);
220
- let d = u, f;
221
- t[3] !== o || t[4] !== n || t[5] !== r ? (f = function(e) {
222
- let t = o.filter((t) => t.id !== e);
223
- n.setColumnFilters(t), t.length === 0 && r.actions.closeFilterPanel();
224
- }, t[3] = o, t[4] = n, t[5] = r, t[6] = f) : f = t[6];
225
- let p = f, m;
226
- t[7] !== o || t[8] !== n || t[9] !== r ? (m = function(e, t) {
227
- let i = Ve(o.find((t) => t.id === e)?.value), a = n.getColumn(t);
228
- n.setColumnFilters(o.filter((e) => e.id !== t).map((n) => n.id === e ? {
229
- id: t,
230
- value: {
231
- operator: Pe(a ? we(a) : "string"),
232
- value: i.value
233
- }
234
- } : n)), r.actions.openFilterPanel(t);
235
- }, t[7] = o, t[8] = n, t[9] = r, t[10] = m) : m = t[10];
236
- let _ = m, y;
237
- t[11] !== o || t[12] !== n ? (y = function(e, t) {
238
- n.setColumnFilters(o.map((n) => n.id === e ? {
239
- ...n,
240
- value: {
241
- ...Ve(n.value),
242
- ...t
243
- }
244
- } : n));
245
- }, t[11] = o, t[12] = n, t[13] = y) : y = t[13];
246
- let b = y, S;
247
- t[14] !== o || t[15] !== l || t[16] !== n ? (S = function() {
248
- let e = l.find((e) => !o.some((t) => t.id === e.id));
249
- e && n.setColumnFilters([...o, {
250
- id: e.id,
251
- value: {
252
- operator: Pe(we(e)),
253
- value: ""
254
- }
255
- }]);
256
- }, t[14] = o, t[15] = l, t[16] = n, t[17] = S) : S = t[17];
257
- let C = S, w;
258
- if (t[18] !== _ || t[19] !== o || t[20] !== d || t[21] !== i || t[22] !== b || t[23] !== p || t[24] !== n) {
703
+ function Wt(e) {
704
+ return It(e) ? e : Ut;
705
+ }
706
+ function Gt() {
707
+ let t = e(90), { table: n, ui: r, labels: a, controlSize: s } = Z(), u = T(r, Yt), d = T(n.store, Jt), f = o(null), p, h;
708
+ if (t[0] !== u || t[1] !== r ? (p = () => {
709
+ if (!u) return;
710
+ let e = (e) => {
711
+ let t = e.target;
712
+ t instanceof Element && (f.current?.contains(t) || t.closest("[data-dg-filter-toggle]") || r.actions.closeFilterPanel());
713
+ };
714
+ return document.addEventListener("pointerdown", e), () => document.removeEventListener("pointerdown", e);
715
+ }, h = [u, r], t[0] = u, t[1] = r, t[2] = p, t[3] = h) : (p = t[2], h = t[3]), i(p, h), !u) return null;
716
+ let g, _, S, C, w, E, D, O;
717
+ if (t[4] !== d || t[5] !== n || t[6] !== r.actions) {
718
+ let e = n.getAllLeafColumns().filter(qt);
719
+ w = e.map(Kt), D = function(e) {
720
+ let t = d.filter((t) => t.id !== e);
721
+ n.setColumnFilters(t), t.length === 0 && r.actions.closeFilterPanel();
722
+ }, _ = function(e, t) {
723
+ let i = Wt(d.find((t) => t.id === e)?.value), a = n.getColumn(t), o = Nt(a ? tt(a) : "string"), s = Ft(o) === Array.isArray(i.value) ? i.value : Ft(o) ? [] : "";
724
+ n.setColumnFilters(d.filter((e) => e.id !== t).map((n) => n.id === e ? {
725
+ id: t,
726
+ value: {
727
+ operator: o,
728
+ value: s
729
+ }
730
+ } : n)), r.actions.openFilterPanel(t);
731
+ };
732
+ let i;
733
+ t[15] !== d || t[16] !== n ? (i = function(e, t) {
734
+ n.setColumnFilters(d.map((n) => n.id === e ? {
735
+ ...n,
736
+ value: {
737
+ ...Wt(n.value),
738
+ ...t
739
+ }
740
+ } : n));
741
+ }, t[15] = d, t[16] = n, t[17] = i) : i = t[17], E = i;
742
+ let a;
743
+ t[18] !== d || t[19] !== E ? (a = function(e, t) {
744
+ let n = Wt(d.find((t) => t.id === e)?.value), r = Ft(t) === Array.isArray(n.value) ? n.value : Ft(t) ? [] : "";
745
+ E(e, {
746
+ operator: t,
747
+ value: r
748
+ });
749
+ }, t[18] = d, t[19] = E, t[20] = a) : a = t[20], S = a;
750
+ let o;
751
+ t[21] !== n || t[22] !== r.actions ? (o = function() {
752
+ n.setColumnFilters([]), r.actions.closeFilterPanel();
753
+ }, t[21] = n, t[22] = r.actions, t[23] = o) : o = t[23], C = o, g = function() {
754
+ let t = e.find((e) => !d.some((t) => t.id === e.id));
755
+ t && n.setColumnFilters([...d, {
756
+ id: t.id,
757
+ value: {
758
+ operator: Nt(tt(t)),
759
+ value: ""
760
+ }
761
+ }]);
762
+ };
763
+ let s;
764
+ t[24] === d ? s = t[25] : (s = (e) => !d.some((t) => t.id === e.id), t[24] = d, t[25] = s), O = e.some(s), t[4] = d, t[5] = n, t[6] = r.actions, t[7] = g, t[8] = _, t[9] = S, t[10] = C, t[11] = w, t[12] = E, t[13] = D, t[14] = O;
765
+ } else g = t[7], _ = t[8], S = t[9], C = t[10], w = t[11], E = t[12], D = t[13], O = t[14];
766
+ let k = O, A = a.filters, j;
767
+ t[26] === r.actions ? j = t[27] : (j = (e) => {
768
+ e.key === "Escape" && (e.stopPropagation(), r.actions.closeFilterPanel());
769
+ }, t[26] = r.actions, t[27] = j);
770
+ let M;
771
+ t[28] !== s || t[29] !== a.filters ? (M = /* @__PURE__ */ U(b, {
772
+ size: s,
773
+ fw: 600,
774
+ children: a.filters
775
+ }), t[28] = s, t[29] = a.filters, t[30] = M) : M = t[30];
776
+ let N;
777
+ t[31] === Symbol.for("react.memo_cache_sentinel") ? (N = /* @__PURE__ */ U(V, {
778
+ size: 16,
779
+ stroke: 1.6
780
+ }), t[31] = N) : N = t[31];
781
+ let P;
782
+ t[32] !== a.closeFilters || t[33] !== r.actions.closeFilterPanel ? (P = /* @__PURE__ */ U(c, {
783
+ variant: "subtle",
784
+ color: "gray",
785
+ size: "sm",
786
+ "aria-label": a.closeFilters,
787
+ onClick: r.actions.closeFilterPanel,
788
+ children: N
789
+ }), t[32] = a.closeFilters, t[33] = r.actions.closeFilterPanel, t[34] = P) : P = t[34];
790
+ let F;
791
+ t[35] !== M || t[36] !== P ? (F = /* @__PURE__ */ W("div", {
792
+ className: vt.filterPanelHeader,
793
+ children: [M, P]
794
+ }), t[35] = M, t[36] = P, t[37] = F) : F = t[37];
795
+ let I;
796
+ if (t[38] !== _ || t[39] !== S || t[40] !== d || t[41] !== w || t[42] !== s || t[43] !== a.booleanFalse || t[44] !== a.booleanTrue || t[45] !== a.filterColumn || t[46] !== a.filterOperator || t[47] !== a.filterValue || t[48] !== a.filterValuePlaceholder || t[49] !== a.operators || t[50] !== a.removeFilter || t[51] !== E || t[52] !== D || t[53] !== n) {
259
797
  let e;
260
- t[26] !== _ || t[27] !== d || t[28] !== i || t[29] !== b || t[30] !== p || t[31] !== n ? (e = (e) => {
261
- let t = n.getColumn(e.id), r = Ve(e.value), a = t ? we(t) : "string", o = Fe(r.operator);
262
- return /* @__PURE__ */ R("div", {
263
- className: Ae.filterRow,
798
+ t[55] !== _ || t[56] !== S || t[57] !== w || t[58] !== s || t[59] !== a.booleanFalse || t[60] !== a.booleanTrue || t[61] !== a.filterColumn || t[62] !== a.filterOperator || t[63] !== a.filterValue || t[64] !== a.filterValuePlaceholder || t[65] !== a.operators || t[66] !== a.removeFilter || t[67] !== E || t[68] !== D || t[69] !== n ? (e = (e) => {
799
+ let t = n.getColumn(e.id), r = Wt(e.value), i = t ? tt(t) : "string", o = Pt(r.operator), l = Ft(r.operator), u = typeof r.value == "string" ? r.value : "";
800
+ return /* @__PURE__ */ W("div", {
801
+ className: vt.filterRow,
264
802
  children: [
265
- /* @__PURE__ */ L(s, {
803
+ /* @__PURE__ */ U(c, {
266
804
  variant: "subtle",
267
805
  color: "gray",
268
806
  size: "lg",
269
- "aria-label": "Remove filter",
270
- onClick: () => p(e.id),
271
- children: /* @__PURE__ */ L(I, {
807
+ "aria-label": a.removeFilter,
808
+ onClick: () => D(e.id),
809
+ children: /* @__PURE__ */ U(V, {
272
810
  size: 18,
273
811
  stroke: 1.6
274
812
  })
275
813
  }),
276
- /* @__PURE__ */ L(h, {
277
- label: "Column",
278
- size: i,
814
+ /* @__PURE__ */ U(v, {
815
+ label: a.filterColumn,
816
+ size: s,
279
817
  w: 160,
280
818
  allowDeselect: !1,
281
- data: d,
819
+ comboboxProps: { withinPortal: !1 },
820
+ data: w,
282
821
  value: e.id,
283
822
  onChange: (t) => t && _(e.id, t)
284
823
  }),
285
- /* @__PURE__ */ L(h, {
286
- label: "Operator",
287
- size: i,
824
+ /* @__PURE__ */ U(v, {
825
+ label: a.filterOperator,
826
+ size: s,
288
827
  w: 170,
289
828
  allowDeselect: !1,
290
- data: Ne(a).map(Ue),
829
+ comboboxProps: { withinPortal: !1 },
830
+ data: Mt(i).map((e) => ({
831
+ value: e,
832
+ label: a.operators[e]
833
+ })),
291
834
  value: r.operator,
292
- onChange: (t) => t && b(e.id, { operator: t })
835
+ onChange: (t) => t && S(e.id, t)
293
836
  }),
294
- /* @__PURE__ */ L(v, {
295
- label: "Value",
296
- size: i,
837
+ l && t ? /* @__PURE__ */ U(m, {
838
+ label: a.filterValue,
839
+ size: s,
297
840
  w: 180,
298
- type: a === "number" && o ? "number" : "text",
841
+ comboboxProps: { withinPortal: !1 },
842
+ searchable: !0,
843
+ data: xt(bt({
844
+ table: n,
845
+ column: t,
846
+ fallback: "faceted"
847
+ })),
848
+ value: Array.isArray(r.value) ? [...r.value] : [],
849
+ onChange: (t) => E(e.id, { value: t })
850
+ }) : i === "boolean" ? /* @__PURE__ */ U(v, {
851
+ label: a.filterValue,
852
+ size: s,
853
+ w: 180,
854
+ comboboxProps: { withinPortal: !1 },
855
+ disabled: !o,
856
+ clearable: !0,
857
+ placeholder: o ? a.filterValuePlaceholder : "",
858
+ data: [{
859
+ value: "true",
860
+ label: a.booleanTrue
861
+ }, {
862
+ value: "false",
863
+ label: a.booleanFalse
864
+ }],
865
+ value: o && u !== "" ? u : null,
866
+ onChange: (t) => E(e.id, { value: t ?? "" })
867
+ }) : /* @__PURE__ */ U(x, {
868
+ label: a.filterValue,
869
+ size: s,
870
+ w: 180,
871
+ type: o ? i === "number" ? "number" : i === "date" ? "date" : "text" : "text",
299
872
  disabled: !o,
300
- placeholder: o ? "Filter value" : "",
301
- value: o ? r.value : "",
302
- onChange: (t) => b(e.id, { value: t.currentTarget.value })
873
+ placeholder: o ? a.filterValuePlaceholder : "",
874
+ value: o ? u : "",
875
+ onChange: (t) => E(e.id, { value: t.currentTarget.value })
303
876
  })
304
877
  ]
305
878
  }, e.id);
306
- }, t[26] = _, t[27] = d, t[28] = i, t[29] = b, t[30] = p, t[31] = n, t[32] = e) : e = t[32], w = o.map(e), t[18] = _, t[19] = o, t[20] = d, t[21] = i, t[22] = b, t[23] = p, t[24] = n, t[25] = w;
307
- } else w = t[25];
308
- let T;
309
- t[33] === Symbol.for("react.memo_cache_sentinel") ? (T = { alignSelf: "flex-start" }, t[33] = T) : T = t[33];
310
- let E;
311
- t[34] === C ? E = t[35] : (E = /* @__PURE__ */ L(c, {
879
+ }, t[55] = _, t[56] = S, t[57] = w, t[58] = s, t[59] = a.booleanFalse, t[60] = a.booleanTrue, t[61] = a.filterColumn, t[62] = a.filterOperator, t[63] = a.filterValue, t[64] = a.filterValuePlaceholder, t[65] = a.operators, t[66] = a.removeFilter, t[67] = E, t[68] = D, t[69] = n, t[70] = e) : e = t[70], I = d.map(e), t[38] = _, t[39] = S, t[40] = d, t[41] = w, t[42] = s, t[43] = a.booleanFalse, t[44] = a.booleanTrue, t[45] = a.filterColumn, t[46] = a.filterOperator, t[47] = a.filterValue, t[48] = a.filterValuePlaceholder, t[49] = a.operators, t[50] = a.removeFilter, t[51] = E, t[52] = D, t[53] = n, t[54] = I;
880
+ } else I = t[54];
881
+ let ee = !k, te;
882
+ t[71] !== g || t[72] !== a.addFilter || t[73] !== ee ? (te = /* @__PURE__ */ U(l, {
312
883
  variant: "subtle",
313
884
  size: "compact-sm",
314
- style: T,
885
+ disabled: ee,
886
+ onClick: g,
887
+ children: a.addFilter
888
+ }), t[71] = g, t[72] = a.addFilter, t[73] = ee, t[74] = te) : te = t[74];
889
+ let ne = d.length === 0, L;
890
+ t[75] !== C || t[76] !== a.clearAllFilters || t[77] !== ne ? (L = /* @__PURE__ */ U(l, {
891
+ variant: "subtle",
892
+ color: "gray",
893
+ size: "compact-sm",
894
+ disabled: ne,
315
895
  onClick: C,
316
- children: "Add filter"
317
- }), t[34] = C, t[35] = E);
318
- let D;
319
- return t[36] !== w || t[37] !== E ? (D = /* @__PURE__ */ L("div", {
320
- className: Ae.filterPanel,
321
- children: /* @__PURE__ */ R(g, {
322
- gap: "xs",
323
- children: [w, E]
324
- })
325
- }), t[36] = w, t[37] = E, t[38] = D) : D = t[38], D;
326
- }
327
- function Ue(e) {
328
- return {
329
- value: e,
330
- label: je[e]
331
- };
896
+ children: a.clearAllFilters
897
+ }), t[75] = C, t[76] = a.clearAllFilters, t[77] = ne, t[78] = L) : L = t[78];
898
+ let R;
899
+ t[79] !== te || t[80] !== L ? (R = /* @__PURE__ */ W("div", {
900
+ className: vt.filterPanelFooter,
901
+ children: [te, L]
902
+ }), t[79] = te, t[80] = L, t[81] = R) : R = t[81];
903
+ let re;
904
+ t[82] !== R || t[83] !== I ? (re = /* @__PURE__ */ W(y, {
905
+ gap: "xs",
906
+ children: [I, R]
907
+ }), t[82] = R, t[83] = I, t[84] = re) : re = t[84];
908
+ let z;
909
+ return t[85] !== a.filters || t[86] !== re || t[87] !== j || t[88] !== F ? (z = /* @__PURE__ */ W("div", {
910
+ ref: f,
911
+ role: "group",
912
+ "aria-label": A,
913
+ className: vt.filterPanel,
914
+ onKeyDown: j,
915
+ children: [F, re]
916
+ }), t[85] = a.filters, t[86] = re, t[87] = j, t[88] = F, t[89] = z) : z = t[89], z;
332
917
  }
333
- function We(e) {
918
+ function Kt(e) {
334
919
  return {
335
920
  value: e.id,
336
- label: Ce(e)
921
+ label: et(e)
337
922
  };
338
923
  }
339
- function Ge(e) {
924
+ function qt(e) {
340
925
  return e.getCanFilter();
341
926
  }
342
- function Ke(e) {
927
+ function Jt(e) {
343
928
  return e.columnFilters;
344
929
  }
345
- function qe(e) {
930
+ function Yt(e) {
346
931
  return e.filterPanelOpen;
347
932
  }
348
- var Je = { footer: "_footer_6r35a_1" };
933
+ var Xt = {
934
+ filterPills: "_filterPills_1yybb_3",
935
+ pill: "_pill_1yybb_15",
936
+ pillLabel: "_pillLabel_1yybb_27"
937
+ }, Zt = {
938
+ operators: St,
939
+ manageColumns: "Manage columns",
940
+ filters: "Filters",
941
+ searchPlaceholder: "Search",
942
+ searchLabel: "Search rows",
943
+ clearSearch: "Clear search",
944
+ columnsSearchPlaceholder: "Search",
945
+ columnsNoMatch: (e) => `No columns match “${e}”`,
946
+ columnsShowHideAll: "Show/Hide All",
947
+ columnsReset: "RESET",
948
+ filterColumn: "Column",
949
+ filterOperator: "Operator",
950
+ filterValue: "Value",
951
+ filterValuePlaceholder: "Filter value",
952
+ booleanTrue: "Yes",
953
+ booleanFalse: "No",
954
+ addFilter: "Add filter",
955
+ clearAllFilters: "Clear all",
956
+ closeFilters: "Close filters",
957
+ removeFilter: "Remove filter",
958
+ activeFilters: "Active filters",
959
+ clearFilter: (e) => `Clear ${e} filter`,
960
+ sortAsc: "Sort by ASC",
961
+ sortDesc: "Sort by DESC",
962
+ filterMenuItem: "Filter",
963
+ groupBy: (e) => `Group by ${e}`,
964
+ ungroup: (e) => `Ungroup ${e}`,
965
+ expandAllGroups: "Expand all groups",
966
+ collapseAllGroups: "Collapse all groups",
967
+ pinLeft: "Pin to left",
968
+ pinRight: "Pin to right",
969
+ unpin: "Unpin",
970
+ moveLeft: "Move left",
971
+ moveRight: "Move right",
972
+ autosizeColumn: "Autosize column",
973
+ hideColumn: "Hide column",
974
+ filterOn: (e) => `Filter on ${e}`,
975
+ sortColumn: (e) => `Sort ${e}`,
976
+ columnMenu: (e) => `${e} column menu`,
977
+ rowsPerPage: "Rows per page:",
978
+ pageRange: ({ from: e, to: t, total: n }) => `${e}–${t} of ${n}`,
979
+ groupedAllRows: (e) => `Grouped · all ${e} rows`,
980
+ pagingSuspendedHint: "Paging is off while the rows are grouped: the whole tree is rendered and virtualized. Ungroup to page again.",
981
+ previousPage: "Previous page",
982
+ nextPage: "Next page",
983
+ noResults: "No rows match your filters",
984
+ loading: "Loading",
985
+ cellCount: (e) => e === 1 ? "1 cell" : `${e} cells`,
986
+ copy: "Copy",
987
+ exportCsv: "Export as CSV for Excel",
988
+ includeHeaders: "Include headers",
989
+ selectColumnLabel: "Checkbox selection",
990
+ selectAllRows: "Select all rows",
991
+ selectRow: "Select row",
992
+ selectGroup: "Select group",
993
+ detailsColumnLabel: "Details",
994
+ showDetails: "Show details",
995
+ hideDetails: "Hide details",
996
+ expandAllDetails: "Expand all details",
997
+ collapseAllDetails: "Collapse all details",
998
+ groupColumnLabel: "Group",
999
+ blankGroupValue: "(Blank)",
1000
+ expandGroup: (e) => `Expand ${e}`,
1001
+ collapseGroup: (e) => `Collapse ${e}`
1002
+ };
1003
+ function Qt(e) {
1004
+ return e ? {
1005
+ ...Zt,
1006
+ ...e,
1007
+ operators: {
1008
+ ...Zt.operators,
1009
+ ...e.operators
1010
+ }
1011
+ } : Zt;
1012
+ }
1013
+ //#endregion
1014
+ //#region src/tmdatagrid/core/persistence.ts
1015
+ var $t = [
1016
+ "columnFilters",
1017
+ "globalFilter",
1018
+ "sorting",
1019
+ "pagination",
1020
+ "expanded"
1021
+ ], en = [
1022
+ "columnVisibility",
1023
+ "columnSizing",
1024
+ "columnOrder",
1025
+ "columnPinning",
1026
+ "grouping"
1027
+ ];
1028
+ function tn(e, t) {
1029
+ if (!e) return null;
1030
+ if (typeof e == "string") return {
1031
+ key: e,
1032
+ slices: t
1033
+ };
1034
+ let [n, r] = e;
1035
+ return n ? {
1036
+ key: n,
1037
+ slices: r
1038
+ } : null;
1039
+ }
1040
+ function nn(e) {
1041
+ if (!e) return null;
1042
+ try {
1043
+ return typeof window > "u" ? null : e.storageMode === "sessionStorage" ? window.sessionStorage : window.localStorage;
1044
+ } catch {
1045
+ return null;
1046
+ }
1047
+ }
1048
+ function rn(e, t) {
1049
+ return typeof e == "object" && e ? e[t] : void 0;
1050
+ }
1051
+ var an = (e) => typeof e == "string", on = (e) => typeof e == "number" && Number.isFinite(e);
1052
+ function sn(e, t) {
1053
+ return Array.isArray(e) && e.every(t);
1054
+ }
1055
+ function cn(e, t) {
1056
+ return typeof e != "object" || !e || Array.isArray(e) ? !1 : Object.values(e).every(t);
1057
+ }
1058
+ var ln = (e) => an(rn(e, "id")), un = {
1059
+ columnFilters: (e) => sn(e, ln),
1060
+ globalFilter: () => !0,
1061
+ sorting: (e) => sn(e, (e) => ln(e) && typeof rn(e, "desc") == "boolean"),
1062
+ pagination: (e) => {
1063
+ let t = rn(e, "pageIndex"), n = rn(e, "pageSize");
1064
+ return on(t) && t >= 0 && on(n) && n > 0;
1065
+ },
1066
+ expanded: (e) => e === !0 || cn(e, (e) => typeof e == "boolean"),
1067
+ columnVisibility: (e) => cn(e, (e) => typeof e == "boolean"),
1068
+ columnSizing: (e) => cn(e, on),
1069
+ columnOrder: (e) => sn(e, an),
1070
+ columnPinning: (e) => sn(rn(e, "left"), an) && sn(rn(e, "right"), an),
1071
+ grouping: (e) => sn(e, an)
1072
+ };
1073
+ function dn(e, t) {
1074
+ let n = un[e];
1075
+ return n === void 0 || n(t);
1076
+ }
1077
+ function fn(e, t, n) {
1078
+ if (!e || !t) return {};
1079
+ try {
1080
+ let r = e.getItem(t.key);
1081
+ if (!r) return {};
1082
+ let i = n(r);
1083
+ if (typeof i != "object" || !i) return {};
1084
+ let a = i, o = {};
1085
+ for (let e of t.slices) e in a && dn(e, a[e]) && (o[e] = a[e]);
1086
+ return o;
1087
+ } catch {
1088
+ return {};
1089
+ }
1090
+ }
1091
+ function pn(e, t, n, r) {
1092
+ if (!e || !t) return;
1093
+ let i = {};
1094
+ for (let e of t.slices) i[e] = n[e];
1095
+ try {
1096
+ e.setItem(t.key, r(i));
1097
+ } catch {}
1098
+ }
1099
+ function mn(e) {
1100
+ return {
1101
+ data: tn(e?.dataKey, $t),
1102
+ settings: tn(e?.settingsKey, en)
1103
+ };
1104
+ }
1105
+ function hn(e) {
1106
+ let { data: t, settings: n } = mn(e);
1107
+ return t !== null || n !== null;
1108
+ }
1109
+ var gn = (e) => JSON.parse(e), _n = (e) => JSON.stringify(e);
1110
+ function vn(e) {
1111
+ let t = nn(e), { data: n, settings: r } = mn(e), i = e?.deserialize ?? gn;
1112
+ return {
1113
+ ...fn(t, r, i),
1114
+ ...fn(t, n, i)
1115
+ };
1116
+ }
1117
+ function yn(e, t) {
1118
+ let n = nn(t);
1119
+ if (!n) return;
1120
+ let { data: r, settings: i } = mn(t), a = t?.serialize ?? _n;
1121
+ pn(n, r, e, a), pn(n, i, e, a);
1122
+ }
349
1123
  //#endregion
350
1124
  //#region src/tmdatagrid/core/capabilities.ts
351
- function Ye(e) {
1125
+ function bn(e) {
1126
+ let t = e.selectionMode ?? "checkbox", n = e.cellSelection ?? "none", r = t !== "highlight" && e.enableRowSelection !== !1;
352
1127
  return {
353
1128
  sorting: e.enableSorting !== !1,
354
1129
  filtering: e.enableColumnFilters !== !1,
1130
+ globalFiltering: e.enableGlobalFilter !== !1,
355
1131
  hiding: e.enableHiding !== !1,
356
1132
  pinning: e.enableColumnPinning !== !1,
357
1133
  resizing: e.enableColumnResizing !== !1,
358
1134
  ordering: e.enableColumnOrdering !== !1,
359
- rowSelection: e.enableRowSelection !== !1,
360
- rowSelectionMode: e.rowSelectionMode ?? "checkbox",
361
- highlightSelectedRows: e.highlightSelectedRows ?? e.rowSelectionMode === "row",
362
- pagination: e.enablePagination === !0 || e.manualPagination === !0
1135
+ rowSelection: r,
1136
+ selectionMode: t,
1137
+ selectColumn: r && (t === "checkbox" || t === "checkboxAndHighlight"),
1138
+ rowClickSelects: r && t === "row",
1139
+ multiRowSelection: e.enableMultiRowSelection !== !1,
1140
+ showSelectedBackground: e.showSelectedBackground ?? t === "row",
1141
+ highlightRow: t === "checkboxAndHighlight" || t === "highlight",
1142
+ cellSelection: n !== "none",
1143
+ cellSelectionMode: n,
1144
+ cellRangeSelection: n === "range",
1145
+ pagination: e.enablePagination === !0 || e.manualPagination === !0,
1146
+ grouping: e.enableGrouping ?? e.manualPagination !== !0
363
1147
  };
364
1148
  }
365
- function Xe(e, t) {
1149
+ function xn(e, t) {
366
1150
  return {
367
1151
  canSort: t.sorting && e.getCanSort(),
368
1152
  canFilter: t.filtering && e.getCanFilter(),
369
1153
  canHide: t.hiding && e.getCanHide(),
370
1154
  canPin: t.pinning && e.getCanPin(),
371
1155
  canResize: t.resizing && e.getCanResize(),
372
- canReorder: t.ordering && Ee(e)
1156
+ canReorder: t.ordering && it(e),
1157
+ canGroup: t.grouping && e.getCanGroup()
373
1158
  };
374
1159
  }
375
- function Ze(e, t) {
376
- let n = e.getAllLeafColumns(), r = (e) => n.some((n) => e(Xe(n, t)));
1160
+ function Sn(e, t) {
1161
+ let n = e.getAllLeafColumns(), r = (e) => n.some((n) => e(xn(n, t)));
377
1162
  return {
378
1163
  canSortAny: r((e) => e.canSort),
379
1164
  canFilterAny: r((e) => e.canFilter),
380
1165
  canHideAny: r((e) => e.canHide),
381
1166
  canPinAny: r((e) => e.canPin),
382
1167
  canReorderAny: r((e) => e.canReorder),
1168
+ canGroupAny: r((e) => e.canGroup),
383
1169
  canSelectRows: t.rowSelection,
384
- canPaginate: t.pagination
1170
+ canPaginate: t.pagination,
1171
+ canSearch: t.globalFiltering && n.some((e) => e.getCanGlobalFilter())
385
1172
  };
386
1173
  }
387
1174
  //#endregion
1175
+ //#region src/tmdatagrid/core/cellNavigation.ts
1176
+ var Cn = (e, t) => Math.min(Math.max(e, 0), Math.max(t, 0));
1177
+ function wn({ key: e, ctrlKey: t, from: n, rowCount: r, columnCount: i, pageRows: a }) {
1178
+ if (r === 0 || i === 0) return null;
1179
+ let o = r - 1, s = i - 1, c = (e, t) => ({
1180
+ rowIndex: Cn(e, o),
1181
+ columnIndex: Cn(t, s)
1182
+ });
1183
+ switch (e) {
1184
+ case "ArrowDown": return c(n.rowIndex + 1, n.columnIndex);
1185
+ case "ArrowUp": return c(n.rowIndex - 1, n.columnIndex);
1186
+ case "ArrowRight": return c(n.rowIndex, n.columnIndex + 1);
1187
+ case "ArrowLeft": return c(n.rowIndex, n.columnIndex - 1);
1188
+ case "PageDown": return c(n.rowIndex + Math.max(a, 1), n.columnIndex);
1189
+ case "PageUp": return c(n.rowIndex - Math.max(a, 1), n.columnIndex);
1190
+ case "Home": return c(t ? 0 : n.rowIndex, 0);
1191
+ case "End": return c(t ? o : n.rowIndex, s);
1192
+ default: return null;
1193
+ }
1194
+ }
1195
+ function Tn(e, t) {
1196
+ return e === null || t === null ? e === t : e.rowId === t.rowId && e.columnId === t.columnId;
1197
+ }
1198
+ //#endregion
1199
+ //#region src/tmdatagrid/useTMDataGrid.tsx
1200
+ var En = 200, Dn = Oe({
1201
+ columnFilteringFeature: se,
1202
+ globalFilteringFeature: Se,
1203
+ rowSortingFeature: Ee,
1204
+ rowPaginationFeature: we,
1205
+ rowSelectionFeature: Te,
1206
+ columnPinningFeature: ue,
1207
+ columnVisibilityFeature: pe,
1208
+ columnOrderingFeature: le,
1209
+ columnSizingFeature: fe,
1210
+ columnResizingFeature: de,
1211
+ columnFacetingFeature: oe,
1212
+ columnGroupingFeature: ce,
1213
+ rowExpandingFeature: Y,
1214
+ filteredRowModel: ye(),
1215
+ groupedRowModel: be(),
1216
+ sortedRowModel: q(),
1217
+ expandedRowModel: he(),
1218
+ paginatedRowModel: K(),
1219
+ facetedRowModel: _e(),
1220
+ facetedMinMaxValues: ge(),
1221
+ facetedUniqueValues: ve(),
1222
+ filterFns: {
1223
+ ...J,
1224
+ tmDataGrid: Ht
1225
+ },
1226
+ sortFns: De,
1227
+ aggregationFns: G,
1228
+ tableMeta: Ce(),
1229
+ columnMeta: Ce()
1230
+ });
1231
+ function On() {
1232
+ return me();
1233
+ }
1234
+ var kn = 160, An = 6;
1235
+ function jn(e) {
1236
+ return e.map((e) => "columns" in e && Array.isArray(e.columns) ? {
1237
+ ...e,
1238
+ columns: jn(e.columns)
1239
+ } : {
1240
+ filterFn: "tmDataGrid",
1241
+ aggregationFn: void 0,
1242
+ aggregatedCell: void 0,
1243
+ ...e
1244
+ });
1245
+ }
1246
+ function Mn({ persist: e, labels: t, enableColumnOrdering: n, enablePagination: r, selectionMode: c, showSelectedBackground: l, defaultHighlightedRowId: u, onHighlightedRowChange: d, cellSelection: f, onFocusedCellChange: p, renderDetails: m, renderDetailsEstHeight: h = kn, overscan: g = An, ..._ }) {
1247
+ let v = bn({
1248
+ ..._,
1249
+ enableColumnOrdering: n,
1250
+ enablePagination: r,
1251
+ selectionMode: c,
1252
+ showSelectedBackground: l,
1253
+ cellSelection: f
1254
+ }), y = a(() => Qt(t), [t]), b = _.enableColumnPinning !== !1, x = v.selectColumn, S = v.grouping, C = m !== void 0, T = y.selectColumnLabel, E = y.groupColumnLabel, D = y.detailsColumnLabel, O = a(() => {
1255
+ let e = jn(_.columns);
1256
+ return [
1257
+ ...x ? [$e(T)] : [],
1258
+ ...S ? [pt(E)] : [],
1259
+ ...C ? [Ue(D)] : [],
1260
+ ...e
1261
+ ];
1262
+ }, [
1263
+ _.columns,
1264
+ x,
1265
+ C,
1266
+ S,
1267
+ T,
1268
+ E,
1269
+ D
1270
+ ]), [k] = s(() => vn(e)), A = k.grouping ?? _.initialState?.grouping ?? [], j = ke({
1271
+ columnResizeMode: "onChange",
1272
+ enableSorting: !0,
1273
+ enableColumnResizing: !0,
1274
+ globalFilterFn: "includesString",
1275
+ groupedColumnMode: "remove",
1276
+ ..._,
1277
+ ...m === void 0 ? {} : { getRowCanExpand: _.getRowCanExpand ?? (() => !0) },
1278
+ features: Dn,
1279
+ columns: O,
1280
+ initialState: {
1281
+ ..._.initialState,
1282
+ ...k,
1283
+ columnVisibility: {
1284
+ ..._.initialState?.columnVisibility,
1285
+ ...k.columnVisibility,
1286
+ ...S ? { [ot]: A.length > 0 } : {}
1287
+ },
1288
+ columnPinning: {
1289
+ left: [
1290
+ ...x && b ? [Q] : [],
1291
+ ...S && b ? [ot] : [],
1292
+ ...C && b ? [Be] : [],
1293
+ ...(k.columnPinning?.left ?? _.initialState?.columnPinning?.left ?? []).filter((e) => e !== "__select__" && e !== "__details__" && e !== "__group__")
1294
+ ],
1295
+ right: k.columnPinning?.right ?? _.initialState?.columnPinning?.right ?? []
1296
+ },
1297
+ pagination: {
1298
+ pageIndex: 0,
1299
+ pageSize: 25,
1300
+ ..._.initialState?.pagination,
1301
+ ...k.pagination
1302
+ }
1303
+ }
1304
+ });
1305
+ i(() => {
1306
+ if (!S) return;
1307
+ let e = j.store.state.grouping, t = j.store.subscribe((t) => {
1308
+ t.grouping !== e && (e = t.grouping, j.setColumnVisibility((e) => ({
1309
+ ...e,
1310
+ [ot]: t.grouping.length > 0
1311
+ })), j.setColumnOrder((e) => [...e]));
1312
+ });
1313
+ return () => t.unsubscribe();
1314
+ }, [S, j]), i(() => {
1315
+ if (!hn(e)) return;
1316
+ yn(j.store.state, e);
1317
+ let t, n = null, r = () => {
1318
+ t = void 0, n !== null && (yn(n, e), n = null);
1319
+ }, i = j.store.subscribe((e) => {
1320
+ n = e, t !== void 0 && clearTimeout(t), t = setTimeout(r, En);
1321
+ });
1322
+ return () => {
1323
+ i.unsubscribe(), t !== void 0 && clearTimeout(t), r();
1324
+ };
1325
+ }, [e, j]);
1326
+ let M = w({
1327
+ filterPanelOpen: !1,
1328
+ columnsPanelOpen: !1,
1329
+ filterPanelColumnId: null,
1330
+ draggedColumnId: null,
1331
+ highlightedRowId: u ?? null,
1332
+ selectionAnchorRowId: null,
1333
+ focusedCell: null,
1334
+ cellRange: null
1335
+ }, ({ setState: e }) => ({
1336
+ openFilterPanel: (t = null) => e((e) => ({
1337
+ ...e,
1338
+ filterPanelOpen: !0,
1339
+ filterPanelColumnId: t
1340
+ })),
1341
+ closeFilterPanel: () => e((e) => ({
1342
+ ...e,
1343
+ filterPanelOpen: !1,
1344
+ filterPanelColumnId: null
1345
+ })),
1346
+ setColumnsPanelOpen: (t) => e((e) => ({
1347
+ ...e,
1348
+ columnsPanelOpen: t
1349
+ })),
1350
+ toggleColumnsPanel: () => e((e) => ({
1351
+ ...e,
1352
+ columnsPanelOpen: !e.columnsPanelOpen
1353
+ })),
1354
+ startColumnDrag: (t) => e((e) => ({
1355
+ ...e,
1356
+ draggedColumnId: t
1357
+ })),
1358
+ endColumnDrag: () => e((e) => ({
1359
+ ...e,
1360
+ draggedColumnId: null
1361
+ })),
1362
+ setHighlightedRow: (t) => e((e) => ({
1363
+ ...e,
1364
+ highlightedRowId: t
1365
+ })),
1366
+ setSelectionAnchor: (t) => e((e) => ({
1367
+ ...e,
1368
+ selectionAnchorRowId: t
1369
+ })),
1370
+ setFocusedCell: (t) => e((e) => Tn(e.focusedCell, t) ? e : {
1371
+ ...e,
1372
+ focusedCell: t
1373
+ }),
1374
+ setCellRange: (t) => e((e) => Tn(e.cellRange?.anchor ?? null, t?.anchor ?? null) && Tn(e.cellRange?.focus ?? null, t?.focus ?? null) ? e : {
1375
+ ...e,
1376
+ cellRange: t
1377
+ })
1378
+ })), N = o(d);
1379
+ i(() => {
1380
+ N.current = d;
1381
+ }, [d]), i(() => {
1382
+ let e = M.state.highlightedRowId, t = M.subscribe((t) => {
1383
+ t.highlightedRowId !== e && (e = t.highlightedRowId, N.current?.(t.highlightedRowId));
1384
+ });
1385
+ return () => t.unsubscribe();
1386
+ }, [M]);
1387
+ let P = o(p);
1388
+ return i(() => {
1389
+ P.current = p;
1390
+ }, [p]), i(() => {
1391
+ let e = M.state.focusedCell, t = M.subscribe((t) => {
1392
+ t.focusedCell !== e && (e = t.focusedCell, P.current?.(t.focusedCell));
1393
+ });
1394
+ return () => t.unsubscribe();
1395
+ }, [M]), {
1396
+ table: j,
1397
+ ui: M,
1398
+ features: v,
1399
+ labels: y,
1400
+ renderDetails: m,
1401
+ renderDetailsEstHeight: h,
1402
+ overscan: g
1403
+ };
1404
+ }
1405
+ function Nn(e, t) {
1406
+ let n = e.table.getColumn(t);
1407
+ n && n.getFilterValue() === void 0 && n.setFilterValue({
1408
+ operator: Nt(n.columnDef.meta?.type ?? "string"),
1409
+ value: ""
1410
+ }), e.ui.actions.openFilterPanel(t);
1411
+ }
1412
+ //#endregion
1413
+ //#region src/tmdatagrid/components/TMDataGridFilterPills.tsx
1414
+ function Pn(t) {
1415
+ let n = e(39), { api: r, size: i, showClearAll: a, onPillClick: o, className: s } = t, c = i === void 0 ? "sm" : i, u = a === void 0 || a, { table: d, labels: f } = r, p = T(d.store, In), m, g, _, v, y, b, x, S;
1416
+ if (n[0] !== r || n[1] !== s || n[2] !== p || n[3] !== f || n[4] !== o || n[5] !== c || n[6] !== d) {
1417
+ S = Symbol.for("react.early_return_sentinel");
1418
+ bb0: {
1419
+ if (g = p.filter(Fn), g.length === 0) {
1420
+ S = null;
1421
+ break bb0;
1422
+ }
1423
+ y = "group", b = f.activeFilters;
1424
+ let e;
1425
+ n[15] === s ? e = n[16] : (e = [Xt.filterPills, s].filter(Boolean), n[15] = s, n[16] = e), x = e.join(" "), m = h.Group, _ = c;
1426
+ let t;
1427
+ n[17] !== r || n[18] !== p || n[19] !== f || n[20] !== o || n[21] !== c || n[22] !== d ? (t = (e) => {
1428
+ let t = d.getColumn(e.id), n = t ? et(t) : e.id, i = e.value;
1429
+ return It(i) ? /* @__PURE__ */ U(h, {
1430
+ size: c,
1431
+ className: Xt.pill,
1432
+ withRemoveButton: !0,
1433
+ onRemove: () => d.setColumnFilters(p.filter((t) => t.id !== e.id)),
1434
+ removeButtonProps: {
1435
+ "aria-label": f.clearFilter(n),
1436
+ "aria-hidden": !1,
1437
+ tabIndex: 0
1438
+ },
1439
+ children: /* @__PURE__ */ U(C, {
1440
+ className: Xt.pillLabel,
1441
+ onClick: () => o ? o(e.id) : Nn(r, e.id),
1442
+ children: Rt({
1443
+ label: n,
1444
+ type: t ? tt(t) : "string",
1445
+ filter: i,
1446
+ operatorLabels: f.operators
1447
+ })
1448
+ })
1449
+ }, e.id) : null;
1450
+ }, n[17] = r, n[18] = p, n[19] = f, n[20] = o, n[21] = c, n[22] = d, n[23] = t) : t = n[23], v = g.map(t);
1451
+ }
1452
+ n[0] = r, n[1] = s, n[2] = p, n[3] = f, n[4] = o, n[5] = c, n[6] = d, n[7] = m, n[8] = g, n[9] = _, n[10] = v, n[11] = y, n[12] = b, n[13] = x, n[14] = S;
1453
+ } else m = n[7], g = n[8], _ = n[9], v = n[10], y = n[11], b = n[12], x = n[13], S = n[14];
1454
+ if (S !== Symbol.for("react.early_return_sentinel")) return S;
1455
+ let w;
1456
+ n[24] !== m || n[25] !== _ || n[26] !== v ? (w = /* @__PURE__ */ U(m, {
1457
+ size: _,
1458
+ children: v
1459
+ }), n[24] = m, n[25] = _, n[26] = v, n[27] = w) : w = n[27];
1460
+ let E;
1461
+ n[28] !== g || n[29] !== f.clearAllFilters || n[30] !== u || n[31] !== d ? (E = u && g.length > 1 && /* @__PURE__ */ U(l, {
1462
+ variant: "subtle",
1463
+ color: "gray",
1464
+ size: "compact-xs",
1465
+ onClick: () => d.setColumnFilters([]),
1466
+ children: f.clearAllFilters
1467
+ }), n[28] = g, n[29] = f.clearAllFilters, n[30] = u, n[31] = d, n[32] = E) : E = n[32];
1468
+ let D;
1469
+ return n[33] !== E || n[34] !== y || n[35] !== b || n[36] !== x || n[37] !== w ? (D = /* @__PURE__ */ W("div", {
1470
+ role: y,
1471
+ "aria-label": b,
1472
+ className: x,
1473
+ children: [w, E]
1474
+ }), n[33] = E, n[34] = y, n[35] = b, n[36] = x, n[37] = w, n[38] = D) : D = n[38], D;
1475
+ }
1476
+ function Fn(e) {
1477
+ return Lt(e.value);
1478
+ }
1479
+ function In(e) {
1480
+ return e.columnFilters;
1481
+ }
1482
+ var Ln = { footer: "_footer_149ca_1" };
1483
+ //#endregion
388
1484
  //#region src/tmdatagrid/components/TMDataGridFooter.tsx
389
- function Qe(e) {
1485
+ function Rn(e) {
390
1486
  let { pageIndex: t, pageSize: n } = e.store.state.pagination;
391
1487
  return {
392
1488
  pageIndex: t,
@@ -403,998 +1499,1119 @@ function Qe(e) {
403
1499
  lastPage: () => e.lastPage()
404
1500
  };
405
1501
  }
406
- function $e(t) {
407
- let n = e(50), { pageSizeOptions: r, pagination: i } = t, a = r === void 0 ? [
1502
+ function zn(t) {
1503
+ let n = e(63), { pageSizeOptions: r, pagination: i } = t, a = r === void 0 ? [
408
1504
  10,
409
1505
  25,
410
1506
  50,
411
1507
  100
412
- ] : r, { table: o, features: c, controlSize: l } = q();
413
- if (x(o.store), !Ze(o, c).canPaginate) return null;
1508
+ ] : r, { table: o, features: s, labels: l, controlSize: u } = Z();
1509
+ if (T(o.store), !Sn(o, s).canPaginate) return null;
414
1510
  if (i) {
415
1511
  let e;
416
- n[0] !== i || n[1] !== o ? (e = i(Qe(o)), n[0] = i, n[1] = o, n[2] = e) : e = n[2];
1512
+ n[0] !== i || n[1] !== o ? (e = i(Rn(o)), n[0] = i, n[1] = o, n[2] = e) : e = n[2];
417
1513
  let t;
418
- return n[3] === e ? t = n[4] : (t = /* @__PURE__ */ L("div", {
419
- className: Je.footer,
1514
+ return n[3] === e ? t = n[4] : (t = /* @__PURE__ */ U("div", {
1515
+ className: Ln.footer,
420
1516
  children: e
421
1517
  }), n[3] = e, n[4] = t), t;
422
1518
  }
423
- let { pageIndex: d, pageSize: f } = o.store.state.pagination, p;
424
- n[5] === o ? p = n[6] : (p = o.getRowCount(), n[5] = o, n[6] = p);
425
- let m = p, g = m === 0 ? 0 : d * f + 1, v = Math.min(m, (d + 1) * f), y = a.includes(f) ? a : [...a, f].sort(et), b;
426
- n[7] === l ? b = n[8] : (b = /* @__PURE__ */ L(_, {
427
- size: l,
1519
+ let f;
1520
+ n[5] !== s || n[6] !== o ? (f = Ke(o, s), n[5] = s, n[6] = o, n[7] = f) : f = n[7];
1521
+ let p = f, { pageIndex: m, pageSize: h } = o.store.state.pagination, g = o.getRowCount(), _ = g === 0 ? 0 : m * h + 1, y = Math.min(g, (m + 1) * h), x = a.includes(h) ? a : [...a, h].sort(Bn), C = S, w = l.pagingSuspendedHint, E = Ln, D = !p, O;
1522
+ n[8] !== u || n[9] !== l.rowsPerPage ? (O = /* @__PURE__ */ U(b, {
1523
+ size: u,
428
1524
  c: "dimmed",
429
- children: "Rows per page:"
430
- }), n[7] = l, n[8] = b);
431
- let S;
432
- n[9] === y ? S = n[10] : (S = y.map(String), n[9] = y, n[10] = S);
433
- let C = String(f), w;
434
- n[11] !== a || n[12] !== o ? (w = (e) => {
1525
+ children: l.rowsPerPage
1526
+ }), n[8] = u, n[9] = l.rowsPerPage, n[10] = O) : O = n[10];
1527
+ let k = !p, A;
1528
+ n[11] === x ? A = n[12] : (A = x.map(String), n[11] = x, n[12] = A);
1529
+ let j = String(h), M;
1530
+ n[13] !== a || n[14] !== o ? (M = (e) => {
435
1531
  o.setPageSize(Number(e) || a[0]), o.setPageIndex(0);
436
- }, n[11] = a, n[12] = o, n[13] = w) : w = n[13];
437
- let T;
438
- n[14] !== l || n[15] !== S || n[16] !== C || n[17] !== w ? (T = /* @__PURE__ */ L(h, {
439
- size: l,
1532
+ }, n[13] = a, n[14] = o, n[15] = M) : M = n[15];
1533
+ let F;
1534
+ n[16] !== u || n[17] !== k || n[18] !== A || n[19] !== j || n[20] !== M ? (F = /* @__PURE__ */ U(v, {
1535
+ size: u,
440
1536
  w: 78,
441
1537
  allowDeselect: !1,
442
1538
  variant: "unstyled",
443
- data: S,
444
- value: C,
445
- onChange: w
446
- }), n[14] = l, n[15] = S, n[16] = C, n[17] = w, n[18] = T) : T = n[18];
447
- let E;
448
- n[19] !== b || n[20] !== T ? (E = /* @__PURE__ */ R(u, {
1539
+ disabled: k,
1540
+ data: A,
1541
+ value: j,
1542
+ onChange: M
1543
+ }), n[16] = u, n[17] = k, n[18] = A, n[19] = j, n[20] = M, n[21] = F) : F = n[21];
1544
+ let I;
1545
+ n[22] !== O || n[23] !== F ? (I = /* @__PURE__ */ W(d, {
449
1546
  gap: "xs",
450
1547
  wrap: "nowrap",
451
- children: [b, T]
452
- }), n[19] = b, n[20] = T, n[21] = E) : E = n[21];
453
- let D;
454
- n[22] !== l || n[23] !== g || n[24] !== v || n[25] !== m ? (D = /* @__PURE__ */ R(_, {
455
- size: l,
1548
+ children: [O, F]
1549
+ }), n[22] = O, n[23] = F, n[24] = I) : I = n[24];
1550
+ let ee = b, te = p ? l.pageRange({
1551
+ from: _,
1552
+ to: y,
1553
+ total: g
1554
+ }) : l.groupedAllRows(o.getFilteredRowModel().rows.length), ne;
1555
+ n[25] !== ee || n[26] !== u || n[27] !== te ? (ne = /* @__PURE__ */ U(ee, {
1556
+ size: u,
456
1557
  c: "dimmed",
457
- children: [
458
- g,
459
- "–",
460
- v,
461
- " of ",
462
- m
463
- ]
464
- }), n[22] = l, n[23] = g, n[24] = v, n[25] = m, n[26] = D) : D = n[26];
465
- let A;
466
- n[27] === o ? A = n[28] : (A = o.getCanPreviousPage(), n[27] = o, n[28] = A);
467
- let j = !A, M;
468
- n[29] === o ? M = n[30] : (M = () => o.previousPage(), n[29] = o, n[30] = M);
469
- let N;
470
- n[31] === Symbol.for("react.memo_cache_sentinel") ? (N = /* @__PURE__ */ L(O, {
1558
+ children: te
1559
+ }), n[25] = ee, n[26] = u, n[27] = te, n[28] = ne) : ne = n[28];
1560
+ let L;
1561
+ n[29] !== p || n[30] !== o ? (L = !p || !o.getCanPreviousPage(), n[29] = p, n[30] = o, n[31] = L) : L = n[31];
1562
+ let R;
1563
+ n[32] === o ? R = n[33] : (R = () => o.previousPage(), n[32] = o, n[33] = R);
1564
+ let re;
1565
+ n[34] === Symbol.for("react.memo_cache_sentinel") ? (re = /* @__PURE__ */ U(N, {
471
1566
  size: 18,
472
1567
  stroke: 1.6
473
- }), n[31] = N) : N = n[31];
474
- let P;
475
- n[32] !== j || n[33] !== M ? (P = /* @__PURE__ */ L(s, {
1568
+ }), n[34] = re) : re = n[34];
1569
+ let z;
1570
+ n[35] !== l.previousPage || n[36] !== L || n[37] !== R ? (z = /* @__PURE__ */ U(c, {
476
1571
  variant: "subtle",
477
1572
  color: "gray",
478
- "aria-label": "Previous page",
479
- disabled: j,
480
- onClick: M,
481
- children: N
482
- }), n[32] = j, n[33] = M, n[34] = P) : P = n[34];
483
- let F;
484
- n[35] === o ? F = n[36] : (F = o.getCanNextPage(), n[35] = o, n[36] = F);
485
- let ee = !F, I;
486
- n[37] === o ? I = n[38] : (I = () => o.nextPage(), n[37] = o, n[38] = I);
487
- let z;
488
- n[39] === Symbol.for("react.memo_cache_sentinel") ? (z = /* @__PURE__ */ L(k, {
1573
+ "aria-label": l.previousPage,
1574
+ disabled: L,
1575
+ onClick: R,
1576
+ children: re
1577
+ }), n[35] = l.previousPage, n[36] = L, n[37] = R, n[38] = z) : z = n[38];
1578
+ let ie;
1579
+ n[39] !== p || n[40] !== o ? (ie = !p || !o.getCanNextPage(), n[39] = p, n[40] = o, n[41] = ie) : ie = n[41];
1580
+ let B;
1581
+ n[42] === o ? B = n[43] : (B = () => o.nextPage(), n[42] = o, n[43] = B);
1582
+ let V;
1583
+ n[44] === Symbol.for("react.memo_cache_sentinel") ? (V = /* @__PURE__ */ U(P, {
489
1584
  size: 18,
490
1585
  stroke: 1.6
491
- }), n[39] = z) : z = n[39];
492
- let B;
493
- n[40] !== ee || n[41] !== I ? (B = /* @__PURE__ */ L(s, {
1586
+ }), n[44] = V) : V = n[44];
1587
+ let H;
1588
+ n[45] !== l.nextPage || n[46] !== ie || n[47] !== B ? (H = /* @__PURE__ */ U(c, {
494
1589
  variant: "subtle",
495
1590
  color: "gray",
496
- "aria-label": "Next page",
497
- disabled: ee,
498
- onClick: I,
499
- children: z
500
- }), n[40] = ee, n[41] = I, n[42] = B) : B = n[42];
501
- let V;
502
- n[43] !== P || n[44] !== B ? (V = /* @__PURE__ */ R(u, {
1591
+ "aria-label": l.nextPage,
1592
+ disabled: ie,
1593
+ onClick: B,
1594
+ children: V
1595
+ }), n[45] = l.nextPage, n[46] = ie, n[47] = B, n[48] = H) : H = n[48];
1596
+ let ae;
1597
+ n[49] !== z || n[50] !== H ? (ae = /* @__PURE__ */ W(d, {
503
1598
  gap: 4,
504
1599
  wrap: "nowrap",
505
- children: [P, B]
506
- }), n[43] = P, n[44] = B, n[45] = V) : V = n[45];
507
- let H;
508
- return n[46] !== V || n[47] !== E || n[48] !== D ? (H = /* @__PURE__ */ R("div", {
509
- className: Je.footer,
1600
+ children: [z, H]
1601
+ }), n[49] = z, n[50] = H, n[51] = ae) : ae = n[51];
1602
+ let G;
1603
+ n[52] !== I || n[53] !== ne || n[54] !== ae || n[55] !== E.footer || n[56] !== D ? (G = /* @__PURE__ */ W("div", {
1604
+ className: E.footer,
1605
+ "data-paging-suspended": D,
510
1606
  children: [
511
- E,
512
- D,
513
- V
1607
+ I,
1608
+ ne,
1609
+ ae
514
1610
  ]
515
- }), n[46] = V, n[47] = E, n[48] = D, n[49] = H) : H = n[49], H;
516
- }
517
- function et(e, t) {
1611
+ }), n[52] = I, n[53] = ne, n[54] = ae, n[55] = E.footer, n[56] = D, n[57] = G) : G = n[57];
1612
+ let oe;
1613
+ return n[58] !== C || n[59] !== l.pagingSuspendedHint || n[60] !== p || n[61] !== G ? (oe = /* @__PURE__ */ U(C, {
1614
+ label: w,
1615
+ disabled: p,
1616
+ withArrow: !0,
1617
+ multiline: !0,
1618
+ w: 260,
1619
+ position: "top",
1620
+ children: G
1621
+ }), n[58] = C, n[59] = l.pagingSuspendedHint, n[60] = p, n[61] = G, n[62] = oe) : oe = n[62], oe;
1622
+ }
1623
+ function Bn(e, t) {
518
1624
  return e - t;
519
1625
  }
520
- var X = {
521
- tableWrapper: "_tableWrapper_utldp_2",
522
- scrollContainer: "_scrollContainer_utldp_10",
523
- grid: "_grid_utldp_18",
524
- headerRow: "_headerRow_utldp_24",
525
- bodyRow: "_bodyRow_utldp_33",
526
- bodyCell: "_bodyCell_utldp_65",
527
- cellContent: "_cellContent_utldp_63",
528
- messageRow: "_messageRow_utldp_95"
529
- }, tt = {
530
- stickyLeft: "_stickyLeft_1iqrf_11",
531
- stickyRight: "_stickyRight_1iqrf_15"
532
- }, Z = {
533
- headerCell: "_headerCell_1oqkm_1",
534
- headerTitle: "_headerTitle_1oqkm_25",
535
- headerActions: "_headerActions_1oqkm_48",
536
- headerAction: "_headerAction_1oqkm_48",
537
- headerCellSortable: "_headerCellSortable_1oqkm_77",
538
- headerCellDragging: "_headerCellDragging_1oqkm_84",
539
- headerCellDropBefore: "_headerCellDropBefore_1oqkm_88",
540
- headerCellDropAfter: "_headerCellDropAfter_1oqkm_89",
541
- columnSeparator: "_columnSeparator_1oqkm_109",
542
- columnSeparatorResizable: "_columnSeparatorResizable_1oqkm_121",
543
- columnSeparatorActive: "_columnSeparatorActive_1oqkm_144",
544
- menuItemActive: "_menuItemActive_1oqkm_150"
545
- };
546
- //#endregion
547
- //#region src/tmdatagrid/core/columnOrdering.ts
548
- function nt(e, t) {
549
- return e.left.includes(t) ? "left" : e.right.includes(t) ? "right" : "center";
550
- }
551
- function rt(e, t, n, r) {
552
- let i = e.filter((e) => e !== t), a = i.indexOf(n);
553
- return a === -1 ? [...e] : (i.splice(r === "before" ? a : a + 1, 0, t), i);
554
- }
555
- function it({ table: e, columnId: t, targetId: n, side: r }) {
556
- if (t === n) return;
557
- let i = e.store.state.columnPinning, a = nt(i, t);
558
- if (a !== nt(i, n)) return;
559
- let o = e.getAllLeafColumns().map((e) => e.id);
560
- e.setColumnOrder(rt(o, t, n, r)), a !== "center" && e.setColumnPinning((e) => ({
561
- ...e,
562
- [a]: rt(e[a], t, n, r)
563
- }));
564
- }
565
- function at(e, t) {
566
- return t === "left" ? e.getLeftVisibleLeafColumns() : t === "right" ? e.getRightVisibleLeafColumns() : e.getCenterVisibleLeafColumns();
567
- }
568
- function ot({ table: e, columnId: t, direction: n }) {
569
- let r = at(e, nt(e.store.state.columnPinning, t)), i = r.findIndex((e) => e.id === t);
570
- if (i === -1) return null;
571
- let a = r[i + n];
572
- return !a || !Ee(a) ? null : a;
573
- }
574
- function st({ table: e, columnId: t, direction: n }) {
575
- let r = ot({
576
- table: e,
577
- columnId: t,
578
- direction: n
579
- });
580
- r && it({
581
- table: e,
582
- columnId: t,
583
- targetId: r.id,
584
- side: n === -1 ? "before" : "after"
585
- });
586
- }
587
- //#endregion
588
- //#region src/tmdatagrid/components/TMDataGridSelectColumn.tsx
589
- var Q = "__select__";
590
- function ct(t) {
591
- let n = e(10), { table: r } = t, i;
592
- n[0] === r ? i = n[1] : (i = () => r.getIsAllRowsSelected(), n[0] = r, n[1] = i);
593
- let a = x(r.store, i), o;
594
- n[2] === r ? o = n[3] : (o = () => r.getIsSomeRowsSelected(), n[2] = r, n[3] = o);
595
- let s = x(r.store, o) && !a, c;
596
- n[4] === r ? c = n[5] : (c = r.getToggleAllRowsSelectedHandler(), n[4] = r, n[5] = c);
597
- let u;
598
- return n[6] !== a || n[7] !== s || n[8] !== c ? (u = /* @__PURE__ */ L(l, {
599
- size: "xs",
600
- "aria-label": "Select all rows",
601
- checked: a,
602
- indeterminate: s,
603
- onChange: c
604
- }), n[6] = a, n[7] = s, n[8] = c, n[9] = u) : u = n[9], u;
605
- }
606
- function lt(t) {
607
- let n = e(13), { row: r } = t, i;
608
- n[0] === r ? i = n[1] : (i = () => r.getIsSelected(), n[0] = r, n[1] = i);
609
- let a = x(r.table.store, i), o;
610
- n[2] === r ? o = n[3] : (o = () => r.getIsSomeSelected(), n[2] = r, n[3] = o);
611
- let s = x(r.table.store, o), c;
612
- n[4] === r ? c = n[5] : (c = r.getCanSelect(), n[4] = r, n[5] = c);
613
- let u = !c, d = s && !a, f;
614
- n[6] === r ? f = n[7] : (f = r.getToggleSelectedHandler(), n[6] = r, n[7] = f);
615
- let p;
616
- return n[8] !== a || n[9] !== u || n[10] !== d || n[11] !== f ? (p = /* @__PURE__ */ L(l, {
617
- size: "xs",
618
- "aria-label": "Select row",
619
- checked: a,
620
- disabled: u,
621
- indeterminate: d,
622
- onChange: f,
623
- onClick: ut
624
- }), n[8] = a, n[9] = u, n[10] = d, n[11] = f, n[12] = p) : p = n[12], p;
625
- }
626
- function ut(e) {
627
- return e.stopPropagation();
628
- }
629
- function dt() {
630
- return {
631
- id: Q,
632
- meta: {
633
- label: "Checkbox selection",
634
- align: "center",
635
- enableOrdering: !1
636
- },
637
- size: 48,
638
- minSize: 48,
639
- maxSize: 48,
640
- enableResizing: !1,
641
- enableSorting: !1,
642
- enableColumnFilter: !1,
643
- enableGlobalFilter: !1,
644
- enablePinning: !1,
645
- header: ({ table: e }) => /* @__PURE__ */ L(ct, { table: e }),
646
- cell: ({ row: e }) => /* @__PURE__ */ L(lt, { row: e })
647
- };
648
- }
649
- //#endregion
650
- //#region src/tmdatagrid/core/persistence.ts
651
- var ft = [
652
- "columnFilters",
653
- "globalFilter",
654
- "sorting",
655
- "pagination"
656
- ], pt = [
657
- "columnVisibility",
658
- "columnSizing",
659
- "columnOrder",
660
- "columnPinning"
661
- ];
662
- function mt(e, t) {
663
- if (!e) return null;
664
- if (typeof e == "string") return {
665
- key: e,
666
- slices: t
667
- };
668
- let [n, r] = e;
669
- return n ? {
670
- key: n,
671
- slices: r
672
- } : null;
673
- }
674
- function ht(e) {
675
- if (!e) return null;
676
- try {
677
- return typeof window > "u" ? null : e.storageMode === "sessionStorage" ? window.sessionStorage : window.localStorage;
678
- } catch {
679
- return null;
680
- }
681
- }
682
- function $(e, t) {
683
- return typeof e == "object" && e ? e[t] : void 0;
684
- }
685
- var gt = (e) => typeof e == "string", _t = (e) => typeof e == "number" && Number.isFinite(e);
686
- function vt(e, t) {
687
- return Array.isArray(e) && e.every(t);
688
- }
689
- function yt(e, t) {
690
- return typeof e != "object" || !e || Array.isArray(e) ? !1 : Object.values(e).every(t);
691
- }
692
- var bt = (e) => gt($(e, "id")), xt = {
693
- columnFilters: (e) => vt(e, bt),
694
- globalFilter: () => !0,
695
- sorting: (e) => vt(e, (e) => bt(e) && typeof $(e, "desc") == "boolean"),
696
- pagination: (e) => {
697
- let t = $(e, "pageIndex"), n = $(e, "pageSize");
698
- return _t(t) && t >= 0 && _t(n) && n > 0;
699
- },
700
- columnVisibility: (e) => yt(e, (e) => typeof e == "boolean"),
701
- columnSizing: (e) => yt(e, _t),
702
- columnOrder: (e) => vt(e, gt),
703
- columnPinning: (e) => vt($(e, "left"), gt) && vt($(e, "right"), gt)
704
- };
705
- function St(e, t) {
706
- let n = xt[e];
707
- return n === void 0 || n(t);
708
- }
709
- function Ct(e, t, n) {
710
- if (!e || !t) return {};
711
- try {
712
- let r = e.getItem(t.key);
713
- if (!r) return {};
714
- let i = n(r);
715
- if (typeof i != "object" || !i) return {};
716
- let a = i, o = {};
717
- for (let e of t.slices) e in a && St(e, a[e]) && (o[e] = a[e]);
718
- return o;
719
- } catch {
720
- return {};
721
- }
722
- }
723
- function wt(e, t, n, r) {
724
- if (!e || !t) return;
725
- let i = {};
726
- for (let e of t.slices) i[e] = n[e];
727
- try {
728
- e.setItem(t.key, r(i));
729
- } catch {}
730
- }
731
- function Tt(e) {
732
- return {
733
- data: mt(e?.dataKey, ft),
734
- settings: mt(e?.settingsKey, pt)
735
- };
736
- }
737
- function Et(e) {
738
- let { data: t, settings: n } = Tt(e);
739
- return t !== null || n !== null;
740
- }
741
- var Dt = (e) => JSON.parse(e), Ot = (e) => JSON.stringify(e);
742
- function kt(e) {
743
- let t = ht(e), { data: n, settings: r } = Tt(e), i = e?.deserialize ?? Dt;
744
- return {
745
- ...Ct(t, r, i),
746
- ...Ct(t, n, i)
747
- };
748
- }
749
- function At(e, t) {
750
- let n = ht(t);
751
- if (!n) return;
752
- let { data: r, settings: i } = Tt(t), a = t?.serialize ?? Ot;
753
- wt(n, r, e, a), wt(n, i, e, a);
754
- }
755
1626
  //#endregion
756
- //#region src/tmdatagrid/useTMDataGrid.tsx
757
- var jt = 200, Mt = ge({
758
- columnFilteringFeature: B,
759
- globalFilteringFeature: de,
760
- rowSortingFeature: G,
761
- rowPaginationFeature: pe,
762
- rowSelectionFeature: me,
763
- columnPinningFeature: H,
764
- columnVisibilityFeature: re,
765
- columnOrderingFeature: V,
766
- columnSizingFeature: ne,
767
- columnResizingFeature: te,
768
- columnFacetingFeature: z,
769
- filteredRowModel: U(),
770
- sortedRowModel: le(),
771
- paginatedRowModel: ce(),
772
- facetedRowModel: oe(),
773
- facetedMinMaxValues: ae(),
774
- facetedUniqueValues: se(),
775
- filterFns: {
776
- ...W,
777
- tmDataGrid: ze
778
- },
779
- sortFns: he,
780
- tableMeta: fe(),
781
- columnMeta: fe()
782
- });
783
- function Nt() {
784
- return ie();
785
- }
786
- function Pt(e) {
787
- return e.map((e) => "columns" in e && Array.isArray(e.columns) ? {
788
- ...e,
789
- columns: Pt(e.columns)
790
- } : {
791
- filterFn: "tmDataGrid",
792
- ...e
793
- });
794
- }
795
- function Ft(t) {
796
- let n = e(52), r, a, s, c, l, u;
797
- n[0] === t ? (r = n[1], a = n[2], s = n[3], c = n[4], l = n[5], u = n[6]) : ({persist: l, enableColumnOrdering: r, enablePagination: a, rowSelectionMode: u, highlightSelectedRows: s, ...c} = t, n[0] = t, n[1] = r, n[2] = a, n[3] = s, n[4] = c, n[5] = l, n[6] = u);
798
- let d = c.enableRowSelection !== !1, f = c.enableColumnPinning !== !1, p = d && u !== "row", m;
799
- if (n[7] !== c.columns || n[8] !== p) {
800
- let e = Pt(c.columns);
801
- m = p ? [dt(), ...e] : e, n[7] = c.columns, n[8] = p, n[9] = m;
802
- } else m = n[9];
803
- let h = m, g;
804
- n[10] === l ? g = n[11] : (g = () => kt(l), n[10] = l, n[11] = g);
805
- let [_] = o(g), v = h, y;
806
- n[12] !== f || n[13] !== p ? (y = p && f ? [Q] : [], n[12] = f, n[13] = p, n[14] = y) : y = n[14];
807
- let x;
808
- n[15] !== c.initialState?.columnPinning?.left || n[16] !== _.columnPinning?.left || n[17] !== y ? (x = [...y, ...(_.columnPinning?.left ?? c.initialState?.columnPinning?.left ?? []).filter(Bt)], n[15] = c.initialState?.columnPinning?.left, n[16] = _.columnPinning?.left, n[17] = y, n[18] = x) : x = n[18];
809
- let S;
810
- n[19] !== c.initialState?.columnPinning?.right || n[20] !== _.columnPinning?.right ? (S = _.columnPinning?.right ?? c.initialState?.columnPinning?.right ?? [], n[19] = c.initialState?.columnPinning?.right, n[20] = _.columnPinning?.right, n[21] = S) : S = n[21];
811
- let C;
812
- n[22] !== x || n[23] !== S ? (C = {
813
- left: x,
814
- right: S
815
- }, n[22] = x, n[23] = S, n[24] = C) : C = n[24];
816
- let w = c.initialState?.pagination, T;
817
- n[25] !== _.pagination || n[26] !== w ? (T = {
818
- pageIndex: 0,
819
- pageSize: 25,
820
- ...w,
821
- ..._.pagination
822
- }, n[25] = _.pagination, n[26] = w, n[27] = T) : T = n[27];
823
- let E;
824
- n[28] !== c.initialState || n[29] !== _ || n[30] !== C || n[31] !== T ? (E = {
825
- ...c.initialState,
826
- ..._,
827
- columnPinning: C,
828
- pagination: T
829
- }, n[28] = c.initialState, n[29] = _, n[30] = C, n[31] = T, n[32] = E) : E = n[32];
1627
+ //#region src/tmdatagrid/components/TMDataGridSearch.tsx
1628
+ function Vn(t) {
1629
+ let n = e(25), { placeholder: r, debounce: a, w: l } = t, u = a === void 0 ? 250 : a, d = l === void 0 ? 220 : l, { table: f, features: p, labels: m, controlSize: h } = Z(), g = T(f.store, Hn), [_, v] = s(g), y = o(void 0), b = o(g), S, C;
1630
+ n[0] === g ? (S = n[1], C = n[2]) : (S = () => {
1631
+ g !== b.current && (b.current = g, v(g));
1632
+ }, C = [g], n[0] = g, n[1] = S, n[2] = C), i(S, C);
1633
+ let w, E;
1634
+ if (n[3] === Symbol.for("react.memo_cache_sentinel") ? (w = () => () => clearTimeout(y.current), E = [], n[3] = w, n[4] = E) : (w = n[3], E = n[4]), i(w, E), !Sn(f, p).canSearch) return null;
830
1635
  let D;
831
- n[33] !== c || n[34] !== E || n[35] !== v ? (D = {
832
- columnResizeMode: "onChange",
833
- enableSorting: !0,
834
- enableColumnResizing: !0,
835
- globalFilterFn: "includesString",
836
- ...c,
837
- features: Mt,
838
- columns: v,
839
- initialState: E
840
- }, n[33] = c, n[34] = E, n[35] = v, n[36] = D) : D = n[36];
841
- let O = _e(D), k, A;
842
- n[37] !== l || n[38] !== O ? (k = () => {
843
- if (!Et(l)) return;
844
- At(O.store.state, l);
845
- let e, t = null, n = () => {
846
- e = void 0, t !== null && (At(t, l), t = null);
847
- }, r = O.store.subscribe((r) => {
848
- t = r, e !== void 0 && clearTimeout(e), e = setTimeout(n, jt);
849
- });
850
- return () => {
851
- r.unsubscribe(), e !== void 0 && clearTimeout(e), n();
852
- };
853
- }, A = [l, O], n[37] = l, n[38] = O, n[39] = k, n[40] = A) : (k = n[39], A = n[40]), i(k, A);
854
- let j;
855
- n[41] === Symbol.for("react.memo_cache_sentinel") ? (j = {
856
- filterPanelOpen: !1,
857
- columnsPanelOpen: !1,
858
- filterPanelColumnId: null,
859
- draggedColumnId: null
860
- }, n[41] = j) : j = n[41];
861
- let M = b(j, It), N;
862
- n[42] !== r || n[43] !== a || n[44] !== s || n[45] !== c || n[46] !== u ? (N = Ye({
863
- ...c,
864
- enableColumnOrdering: r,
865
- enablePagination: a,
866
- rowSelectionMode: u,
867
- highlightSelectedRows: s
868
- }), n[42] = r, n[43] = a, n[44] = s, n[45] = c, n[46] = u, n[47] = N) : N = n[47];
869
- let P = N, F;
870
- return n[48] !== P || n[49] !== O || n[50] !== M ? (F = {
871
- table: O,
872
- ui: M,
873
- features: P
874
- }, n[48] = P, n[49] = O, n[50] = M, n[51] = F) : F = n[51], F;
875
- }
876
- function It(e) {
877
- let { setState: t } = e;
878
- return {
879
- openFilterPanel: (e) => {
880
- let n = e === void 0 ? null : e;
881
- return t((e) => ({
882
- ...e,
883
- filterPanelOpen: !0,
884
- filterPanelColumnId: n
885
- }));
1636
+ n[5] === f ? D = n[6] : (D = (e) => {
1637
+ b.current = e, f.setGlobalFilter(e === "" ? void 0 : e);
1638
+ }, n[5] = f, n[6] = D);
1639
+ let O = D, k;
1640
+ n[7] !== O || n[8] !== u ? (k = (e) => {
1641
+ if (v(e), clearTimeout(y.current), u <= 0) {
1642
+ O(e);
1643
+ return;
1644
+ }
1645
+ y.current = setTimeout(() => O(e), u);
1646
+ }, n[7] = O, n[8] = u, n[9] = k) : k = n[9];
1647
+ let A = k, j;
1648
+ n[10] === A ? j = n[11] : (j = (e) => A(e.currentTarget.value), n[10] = A, n[11] = j);
1649
+ let M = r ?? m.searchPlaceholder, N;
1650
+ n[12] === Symbol.for("react.memo_cache_sentinel") ? (N = /* @__PURE__ */ U(B, {
1651
+ size: 16,
1652
+ stroke: 1.6
1653
+ }), n[12] = N) : N = n[12];
1654
+ let P;
1655
+ n[13] !== O || n[14] !== _ || n[15] !== m.clearSearch ? (P = _ === "" ? void 0 : /* @__PURE__ */ U(c, {
1656
+ variant: "subtle",
1657
+ color: "gray",
1658
+ size: "sm",
1659
+ "aria-label": m.clearSearch,
1660
+ onClick: () => {
1661
+ clearTimeout(y.current), v(""), O("");
886
1662
  },
887
- closeFilterPanel: () => t(zt),
888
- setColumnsPanelOpen: (e) => t((t) => ({
889
- ...t,
890
- columnsPanelOpen: e
891
- })),
892
- toggleColumnsPanel: () => t(Rt),
893
- startColumnDrag: (e) => t((t) => ({
894
- ...t,
895
- draggedColumnId: e
896
- })),
897
- endColumnDrag: () => t(Lt)
898
- };
899
- }
900
- function Lt(e) {
901
- return {
1663
+ children: /* @__PURE__ */ U(V, {
1664
+ size: 14,
1665
+ stroke: 1.6
1666
+ })
1667
+ }), n[13] = O, n[14] = _, n[15] = m.clearSearch, n[16] = P) : P = n[16];
1668
+ let F;
1669
+ return n[17] !== h || n[18] !== _ || n[19] !== m.searchLabel || n[20] !== M || n[21] !== P || n[22] !== j || n[23] !== d ? (F = /* @__PURE__ */ U(x, {
1670
+ size: h,
1671
+ w: d,
1672
+ value: _,
1673
+ onChange: j,
1674
+ placeholder: M,
1675
+ "aria-label": m.searchLabel,
1676
+ leftSection: N,
1677
+ rightSection: P
1678
+ }), n[17] = h, n[18] = _, n[19] = m.searchLabel, n[20] = M, n[21] = P, n[22] = j, n[23] = d, n[24] = F) : F = n[24], F;
1679
+ }
1680
+ function Hn(e) {
1681
+ return typeof e.globalFilter == "string" ? e.globalFilter : "";
1682
+ }
1683
+ var Un = {
1684
+ tableWrapper: "_tableWrapper_1nt60_2",
1685
+ scrollContainer: "_scrollContainer_1nt60_10",
1686
+ grid: "_grid_1nt60_18",
1687
+ headerRow: "_headerRow_1nt60_24",
1688
+ bodyRow: "_bodyRow_1nt60_33",
1689
+ bodyCell: "_bodyCell_1nt60_91",
1690
+ cellContent: "_cellContent_1nt60_89",
1691
+ detailsCell: "_detailsCell_1nt60_204",
1692
+ messageRow: "_messageRow_1nt60_215",
1693
+ summaryRow: "_summaryRow_1nt60_228",
1694
+ summaryCell: "_summaryCell_1nt60_237"
1695
+ }, Wn = {
1696
+ stickyLeft: "_stickyLeft_6z1iq_16",
1697
+ stickyRight: "_stickyRight_6z1iq_17",
1698
+ stickyEdgeIn: "_stickyEdgeIn_6z1iq_1",
1699
+ stickyEdgeOut: "_stickyEdgeOut_6z1iq_1"
1700
+ }, $ = {
1701
+ headerCell: "_headerCell_1b6k8_1",
1702
+ headerTitle: "_headerTitle_1b6k8_32",
1703
+ headerActions: "_headerActions_1b6k8_55",
1704
+ headerAction: "_headerAction_1b6k8_55",
1705
+ headerCellSortable: "_headerCellSortable_1b6k8_84",
1706
+ sortIndex: "_sortIndex_1b6k8_90",
1707
+ headerCellDragging: "_headerCellDragging_1b6k8_102",
1708
+ headerCellDropBefore: "_headerCellDropBefore_1b6k8_106",
1709
+ headerCellDropAfter: "_headerCellDropAfter_1b6k8_107",
1710
+ columnSeparator: "_columnSeparator_1b6k8_127",
1711
+ columnSeparatorResizable: "_columnSeparatorResizable_1b6k8_139",
1712
+ columnSeparatorActive: "_columnSeparatorActive_1b6k8_162",
1713
+ menuItemActive: "_menuItemActive_1b6k8_168"
1714
+ }, Gn = 30, Kn = 2;
1715
+ function qn(e) {
1716
+ let t = document.createRange();
1717
+ t.selectNodeContents(e);
1718
+ let n = typeof t.getBoundingClientRect == "function" ? t.getBoundingClientRect().width : 0;
1719
+ return n > 0 ? n : e.scrollWidth;
1720
+ }
1721
+ function Jn({ container: e, columnId: t }) {
1722
+ let n = 0, r = e.querySelectorAll(`[role="cell"][data-column-id="${CSS.escape(t)}"],[role="gridcell"][data-column-id="${CSS.escape(t)}"]`);
1723
+ for (let e of r) {
1724
+ let t = e.firstElementChild;
1725
+ if (!(t instanceof HTMLElement)) continue;
1726
+ let r = getComputedStyle(e), i = (Number.parseFloat(r.paddingLeft) || 0) + (Number.parseFloat(r.paddingRight) || 0);
1727
+ n = Math.max(n, qn(t) + i + Kn);
1728
+ }
1729
+ let i = e.querySelector(`[data-testid="dg-header-${CSS.escape(t)}"] [data-dg-header-title]`);
1730
+ if (i) {
1731
+ let e = i.closest("[role=\"columnheader\"]"), t = e ? getComputedStyle(e) : null, r = t ? (Number.parseFloat(t.paddingLeft) || 0) + (Number.parseFloat(t.paddingRight) || 0) : 0;
1732
+ n = Math.max(n, qn(i) + r + Gn);
1733
+ }
1734
+ return n;
1735
+ }
1736
+ function Yn({ table: e, columnId: t, container: n }) {
1737
+ let r = e, i = r.getColumn(t);
1738
+ if (!i || !i.getCanResize()) return !1;
1739
+ let a = Jn({
1740
+ container: n,
1741
+ columnId: t
1742
+ });
1743
+ if (a <= 0) return !1;
1744
+ let o = i.columnDef.minSize ?? 80, s = i.columnDef.maxSize ?? Infinity, c = Math.round(Math.min(Math.max(a, o), s));
1745
+ return r.setColumnSizing((e) => ({
902
1746
  ...e,
903
- draggedColumnId: null
904
- };
1747
+ [t]: c
1748
+ })), !0;
905
1749
  }
906
- function Rt(e) {
907
- return {
908
- ...e,
909
- columnsPanelOpen: !e.columnsPanelOpen
910
- };
1750
+ //#endregion
1751
+ //#region src/tmdatagrid/core/columnOrdering.ts
1752
+ function Xn(e, t) {
1753
+ return e.left.includes(t) ? "left" : e.right.includes(t) ? "right" : "center";
911
1754
  }
912
- function zt(e) {
913
- return {
1755
+ function Zn(e, t, n, r) {
1756
+ let i = e.filter((e) => e !== t), a = i.indexOf(n);
1757
+ return a === -1 ? [...e] : (i.splice(r === "before" ? a : a + 1, 0, t), i);
1758
+ }
1759
+ function Qn({ table: e, columnId: t, targetId: n, side: r }) {
1760
+ if (t === n) return;
1761
+ let i = e.store.state.columnPinning, a = Xn(i, t);
1762
+ if (a !== Xn(i, n)) return;
1763
+ let o = e.getAllLeafColumns().map((e) => e.id);
1764
+ e.setColumnOrder(Zn(o, t, n, r)), a !== "center" && e.setColumnPinning((e) => ({
914
1765
  ...e,
915
- filterPanelOpen: !1,
916
- filterPanelColumnId: null
917
- };
1766
+ [a]: Zn(e[a], t, n, r)
1767
+ }));
918
1768
  }
919
- function Bt(e) {
920
- return e !== Q;
1769
+ function $n(e, t) {
1770
+ return t === "left" ? e.getLeftVisibleLeafColumns() : t === "right" ? e.getRightVisibleLeafColumns() : e.getCenterVisibleLeafColumns();
921
1771
  }
922
- function Vt(e, t) {
923
- let n = e.table.getColumn(t);
924
- n && n.getFilterValue() === void 0 && n.setFilterValue({
925
- operator: Pe(n.columnDef.meta?.type ?? "string"),
926
- value: ""
927
- }), e.ui.actions.openFilterPanel(t);
1772
+ function er({ table: e, columnId: t, direction: n }) {
1773
+ let r = $n(e, Xn(e.store.state.columnPinning, t)), i = r.findIndex((e) => e.id === t);
1774
+ if (i === -1) return null;
1775
+ let a = r[i + n];
1776
+ return !a || !it(a) ? null : a;
1777
+ }
1778
+ function tr({ table: e, columnId: t, direction: n }) {
1779
+ let r = er({
1780
+ table: e,
1781
+ columnId: t,
1782
+ direction: n
1783
+ });
1784
+ r && Qn({
1785
+ table: e,
1786
+ columnId: t,
1787
+ targetId: r.id,
1788
+ side: n === -1 ? "before" : "after"
1789
+ });
928
1790
  }
929
1791
  //#endregion
930
1792
  //#region src/tmdatagrid/components/TMDataGridHeaderCell.tsx
931
- function Ht(t) {
932
- let n = e(174), { header: r, layout: i } = t, c = q(), { table: l, features: u } = c, d = r.column, [p, m] = o(!1), [h, g] = o(null), _ = a(null), v = a(!1), b;
933
- n[0] === Symbol.for("react.memo_cache_sentinel") ? (b = { compare: ye }, n[0] = b) : b = n[0];
934
- let { sorting: O, columnFilters: k, resizingColumnId: P, columnPinning: ee } = x(l.store, qt, b), I = x(c.ui, Kt), z = r.subHeaders.length === 0, B;
935
- n[1] === d ? B = n[2] : (B = Ce(d), n[1] = d, n[2] = B);
936
- let V = B, H;
937
- n[3] === d ? H = n[4] : (H = Te(d), n[3] = d, n[4] = H);
938
- let te = H, ne;
939
- n[5] !== d.id || n[6] !== O ? (ne = O.find((e) => e.id === d.id)?.desc, n[5] = d.id, n[6] = O, n[7] = ne) : ne = n[7];
940
- let re = ne, ie = re !== void 0, ae;
941
- if (n[8] !== d.id || n[9] !== k) {
1793
+ function nr(t) {
1794
+ let n = e(265), { header: r, layout: i } = t, a = Z(), { table: l, features: u, labels: d } = a, f = r.column, [m, h] = s(!1), [g, _] = s(!1), [v, y] = s(null), b = o(null), x = o(!1), C;
1795
+ n[0] === Symbol.for("react.memo_cache_sentinel") ? (C = { compare: ae }, n[0] = C) : C = n[0];
1796
+ let { sorting: w, columnFilters: N, resizingColumnId: P, columnPinning: z, grouping: B } = T(l.store, lr, C), V = T(a.ui, cr), H = r.subHeaders.length === 0, G, oe, se, ce, le, ue, de, fe, pe, me, he, ge, _e, ve, ye, be, K, q, J, Se;
1797
+ if (n[1] !== a || n[2] !== f || n[3] !== N || n[4] !== z || n[5] !== V || n[6] !== v || n[7] !== u || n[8] !== B || n[9] !== H || n[10] !== d || n[11] !== i.pinnedAt || n[12] !== P || n[13] !== w || n[14] !== l) {
1798
+ be = et(f);
942
1799
  let e;
943
- n[11] === d.id ? e = n[12] : (e = (e) => e.id === d.id && Le(e.value), n[11] = d.id, n[12] = e), ae = k.some(e), n[8] = d.id, n[9] = k, n[10] = ae;
944
- } else ae = n[10];
945
- let oe = ae, se = P === d.id, U = i.pinnedAt, ce;
946
- n[13] !== d || n[14] !== u ? (ce = Xe(d, u), n[13] = d, n[14] = u, n[15] = ce) : ce = n[15];
947
- let le = ce, W = z && le.canSort, de = z && le.canFilter, fe = z && le.canHide, pe = z && le.canPin, me = le.canResize, G = z && le.canReorder, he;
948
- n[16] !== u || n[17] !== z || n[18] !== l ? (he = z && Ze(l, u).canHideAny, n[16] = u, n[17] = z, n[18] = l, n[19] = he) : he = n[19];
949
- let ge = he, _e = I === d.id, ve;
950
- n[20] !== G || n[21] !== d.id || n[22] !== ee || n[23] !== I || n[24] !== _e ? (ve = G && I !== null && !_e && nt(ee, I) === nt(ee, d.id), n[20] = G, n[21] = d.id, n[22] = ee, n[23] = I, n[24] = _e, n[25] = ve) : ve = n[25];
951
- let K = ve, be;
952
- n[26] !== c.ui || n[27] !== d.id ? (be = function(e) {
953
- e.dataTransfer.effectAllowed = "move", e.dataTransfer.setData("text/plain", d.id), c.ui.actions.startColumnDrag(d.id);
954
- }, n[26] = c.ui, n[27] = d.id, n[28] = be) : be = n[28];
955
- let xe = be, Se;
956
- n[29] === K ? Se = n[30] : (Se = function(e) {
957
- if (!K) return;
958
- e.preventDefault(), e.dataTransfer.dropEffect = "move";
959
- let t = _.current?.getBoundingClientRect();
960
- t && g(e.clientX < t.left + t.width / 2 ? "before" : "after");
961
- }, n[29] = K, n[30] = Se);
962
- let we = Se, Ee;
963
- n[31] === Symbol.for("react.memo_cache_sentinel") ? (Ee = function(e) {
964
- let t = e.relatedTarget;
965
- t instanceof Node && e.currentTarget.contains(t) || g(null);
966
- }, n[31] = Ee) : Ee = n[31];
967
- let De = Ee, Oe;
968
- n[32] !== c.ui || n[33] !== d.id || n[34] !== I || n[35] !== h || n[36] !== K || n[37] !== l ? (Oe = function(e) {
969
- e.preventDefault(), g(null), c.ui.actions.endColumnDrag(), !(!K || !h || !I) && it({
970
- table: l,
971
- columnId: I,
972
- targetId: d.id,
973
- side: h
974
- });
975
- }, n[32] = c.ui, n[33] = d.id, n[34] = I, n[35] = h, n[36] = K, n[37] = l, n[38] = Oe) : Oe = n[38];
976
- let ke = Oe, Ae;
977
- n[39] === c.ui ? Ae = n[40] : (Ae = function() {
978
- g(null), c.ui.actions.endColumnDrag();
979
- }, n[39] = c.ui, n[40] = Ae);
980
- let je = Ae, Me;
981
- n[41] !== d || n[42] !== l ? (Me = function(e) {
982
- if (e && !(d.id in l.store.state.columnSizing)) {
983
- let e = _.current?.getBoundingClientRect().width;
984
- e && l.setColumnSizing((t) => ({
985
- ...t,
986
- [d.id]: Math.round(e)
987
- }));
988
- }
989
- d.pin(e);
990
- }, n[41] = d, n[42] = l, n[43] = Me) : Me = n[43];
991
- let J = Me, Y;
992
- if (n[44] !== c || n[45] !== de || n[46] !== fe || n[47] !== ge || n[48] !== pe || n[49] !== G || n[50] !== W || n[51] !== d || n[52] !== U || n[53] !== J || n[54] !== l) {
993
- if (Y = [], W) {
1800
+ n[35] === f ? e = n[36] : (e = nt(f), n[35] = f, n[36] = e), G = e;
1801
+ let t;
1802
+ n[37] !== f.id || n[38] !== w ? (t = w.find((e) => e.id === f.id)?.desc, n[37] = f.id, n[38] = w, n[39] = t) : t = n[39], J = t, ye = J !== void 0;
1803
+ let r;
1804
+ n[40] !== f.id || n[41] !== ye || n[42] !== w ? (r = ye && w.length > 1 ? w.findIndex((e) => e.id === f.id) + 1 : null, n[40] = f.id, n[41] = ye, n[42] = w, n[43] = r) : r = n[43], Se = r;
1805
+ let o;
1806
+ if (n[44] !== f.id || n[45] !== N) {
1807
+ let e;
1808
+ n[47] === f.id ? e = n[48] : (e = (e) => e.id === f.id && Lt(e.value), n[47] = f.id, n[48] = e), o = N.some(e), n[44] = f.id, n[45] = N, n[46] = o;
1809
+ } else o = n[46];
1810
+ _e = o, ve = P === f.id, q = i.pinnedAt;
1811
+ let s;
1812
+ n[49] !== f || n[50] !== u ? (s = xn(f, u), n[49] = f, n[50] = u, n[51] = s) : s = n[51];
1813
+ let c = s;
1814
+ le = H && c.canSort;
1815
+ let m = H && c.canFilter, h = H && c.canHide, g = H && c.canPin;
1816
+ ce = c.canResize, se = H && c.canReorder;
1817
+ let _ = H && c.canGroup, x = H && Sn(l, u).canHideAny, S;
1818
+ n[52] !== f.id || n[53] !== B ? (S = B.includes(f.id), n[52] = f.id, n[53] = B, n[54] = S) : S = n[54];
1819
+ let C = S, T = B.length > 0;
1820
+ he = V === f.id;
1821
+ let I;
1822
+ n[55] !== se || n[56] !== f.id || n[57] !== z || n[58] !== V || n[59] !== he ? (I = se && V !== null && !he && Xn(z, V) === Xn(z, f.id), n[55] = se, n[56] = f.id, n[57] = z, n[58] = V, n[59] = he, n[60] = I) : I = n[60], ge = I;
1823
+ let W;
1824
+ n[61] !== a.ui || n[62] !== f.id ? (W = function(e) {
1825
+ e.dataTransfer.effectAllowed = "move", e.dataTransfer.setData("text/plain", f.id), a.ui.actions.startColumnDrag(f.id);
1826
+ }, n[61] = a.ui, n[62] = f.id, n[63] = W) : W = n[63], pe = W;
1827
+ let ae;
1828
+ n[64] === ge ? ae = n[65] : (ae = function(e) {
1829
+ if (!ge) return;
1830
+ e.preventDefault(), e.dataTransfer.dropEffect = "move";
1831
+ let t = b.current?.getBoundingClientRect();
1832
+ t && y(e.clientX < t.left + t.width / 2 ? "before" : "after");
1833
+ }, n[64] = ge, n[65] = ae), fe = ae;
1834
+ let xe;
1835
+ n[66] === Symbol.for("react.memo_cache_sentinel") ? (xe = function(e) {
1836
+ let t = e.relatedTarget;
1837
+ t instanceof Node && e.currentTarget.contains(t) || y(null);
1838
+ }, n[66] = xe) : xe = n[66], de = xe;
1839
+ let Ce;
1840
+ n[67] !== a.ui || n[68] !== f.id || n[69] !== V || n[70] !== v || n[71] !== ge || n[72] !== l ? (Ce = function(e) {
1841
+ e.preventDefault(), y(null), a.ui.actions.endColumnDrag(), !(!ge || !v || !V) && Qn({
1842
+ table: l,
1843
+ columnId: V,
1844
+ targetId: f.id,
1845
+ side: v
1846
+ });
1847
+ }, n[67] = a.ui, n[68] = f.id, n[69] = V, n[70] = v, n[71] = ge, n[72] = l, n[73] = Ce) : Ce = n[73], me = Ce;
1848
+ let Y;
1849
+ n[74] === a.ui ? Y = n[75] : (Y = function() {
1850
+ y(null), a.ui.actions.endColumnDrag();
1851
+ }, n[74] = a.ui, n[75] = Y), ue = Y;
1852
+ let we;
1853
+ n[76] !== f.id || n[77] !== l ? (we = function() {
1854
+ let e = b.current?.closest("[data-dg-scroll-container]");
1855
+ e && Yn({
1856
+ table: l,
1857
+ columnId: f.id,
1858
+ container: e
1859
+ });
1860
+ }, n[76] = f.id, n[77] = l, n[78] = we) : we = n[78], oe = we;
1861
+ let Te;
1862
+ n[79] !== f || n[80] !== l ? (Te = function(e) {
1863
+ if (e && !(f.id in l.store.state.columnSizing)) {
1864
+ let e = b.current?.getBoundingClientRect().width;
1865
+ e && l.setColumnSizing((t) => ({
1866
+ ...t,
1867
+ [f.id]: Math.round(e)
1868
+ }));
1869
+ }
1870
+ f.pin(e);
1871
+ }, n[79] = f, n[80] = l, n[81] = Te) : Te = n[81];
1872
+ let Ee = Te;
1873
+ if (K = [], le) {
994
1874
  let e;
995
- n[56] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ L(D, {
1875
+ n[82] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ U(M, {
996
1876
  size: 16,
997
1877
  stroke: 1.6
998
- }), n[56] = e) : e = n[56];
1878
+ }), n[82] = e) : e = n[82];
999
1879
  let t;
1000
- n[57] === d ? t = n[58] : (t = /* @__PURE__ */ L(f.Item, {
1001
- leftSection: e,
1002
- onClick: () => d.toggleSorting(!1),
1003
- children: "Sort by ASC"
1004
- }, "sort-asc"), n[57] = d, n[58] = t);
1880
+ n[83] === f ? t = n[84] : (t = () => f.toggleSorting(!1), n[83] = f, n[84] = t);
1005
1881
  let r;
1006
- n[59] === Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ L(w, {
1882
+ n[85] !== d.sortAsc || n[86] !== t ? (r = /* @__PURE__ */ U(p.Item, {
1883
+ leftSection: e,
1884
+ onClick: t,
1885
+ children: d.sortAsc
1886
+ }, "sort-asc"), n[85] = d.sortAsc, n[86] = t, n[87] = r) : r = n[87];
1887
+ let i;
1888
+ n[88] === Symbol.for("react.memo_cache_sentinel") ? (i = /* @__PURE__ */ U(k, {
1007
1889
  size: 16,
1008
1890
  stroke: 1.6
1009
- }), n[59] = r) : r = n[59];
1010
- let i;
1011
- n[60] === d ? i = n[61] : (i = /* @__PURE__ */ L(f.Item, {
1012
- leftSection: r,
1013
- onClick: () => d.toggleSorting(!0),
1014
- children: "Sort by DESC"
1015
- }, "sort-desc"), n[60] = d, n[61] = i);
1891
+ }), n[88] = i) : i = n[88];
1016
1892
  let a;
1017
- n[62] === Symbol.for("react.memo_cache_sentinel") ? (a = /* @__PURE__ */ L(f.Divider, {}, "sort-divider"), n[62] = a) : a = n[62], Y.push(t, i, a);
1893
+ n[89] === f ? a = n[90] : (a = () => f.toggleSorting(!0), n[89] = f, n[90] = a);
1894
+ let o;
1895
+ n[91] !== d.sortDesc || n[92] !== a ? (o = /* @__PURE__ */ U(p.Item, {
1896
+ leftSection: i,
1897
+ onClick: a,
1898
+ children: d.sortDesc
1899
+ }, "sort-desc"), n[91] = d.sortDesc, n[92] = a, n[93] = o) : o = n[93];
1900
+ let s;
1901
+ n[94] === Symbol.for("react.memo_cache_sentinel") ? (s = /* @__PURE__ */ U(p.Divider, {}, "sort-divider"), n[94] = s) : s = n[94], K.push(r, o, s);
1018
1902
  }
1019
- if (de) {
1903
+ if (m) {
1020
1904
  let e;
1021
- n[63] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ L(N, {
1905
+ n[95] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ U(te, {
1022
1906
  size: 16,
1023
1907
  stroke: 1.6
1024
- }), n[63] = e) : e = n[63];
1908
+ }), n[95] = e) : e = n[95];
1025
1909
  let t;
1026
- n[64] !== c || n[65] !== d.id ? (t = /* @__PURE__ */ L(f.Item, {
1910
+ n[96] !== a || n[97] !== f.id ? (t = () => Nn(a, f.id), n[96] = a, n[97] = f.id, n[98] = t) : t = n[98];
1911
+ let r;
1912
+ n[99] !== d.filterMenuItem || n[100] !== t ? (r = /* @__PURE__ */ U(p.Item, {
1027
1913
  leftSection: e,
1028
- onClick: () => Vt(c, d.id),
1029
- children: "Filter"
1030
- }, "filter"), n[64] = c, n[65] = d.id, n[66] = t) : t = n[66];
1914
+ onClick: t,
1915
+ children: d.filterMenuItem
1916
+ }, "filter"), n[99] = d.filterMenuItem, n[100] = t, n[101] = r) : r = n[101];
1917
+ let i;
1918
+ n[102] === Symbol.for("react.memo_cache_sentinel") ? (i = /* @__PURE__ */ U(p.Divider, {}, "filter-divider"), n[102] = i) : i = n[102], K.push(r, i);
1919
+ }
1920
+ if (_) {
1921
+ let e = C ? $.menuItemActive : void 0, t;
1922
+ n[103] === C ? t = n[104] : (t = U(C ? R : re, {
1923
+ size: 16,
1924
+ stroke: 1.6
1925
+ }), n[103] = C, n[104] = t);
1031
1926
  let r;
1032
- n[67] === Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ L(f.Divider, {}, "filter-divider"), n[67] = r) : r = n[67], Y.push(t, r);
1927
+ n[105] === f ? r = n[106] : (r = f.getToggleGroupingHandler(), n[105] = f, n[106] = r);
1928
+ let i = C ? d.ungroup(be) : d.groupBy(be), a;
1929
+ n[107] !== e || n[108] !== t || n[109] !== r || n[110] !== i ? (a = /* @__PURE__ */ U(p.Item, {
1930
+ className: e,
1931
+ leftSection: t,
1932
+ onClick: r,
1933
+ children: i
1934
+ }, "group"), n[107] = e, n[108] = t, n[109] = r, n[110] = i, n[111] = a) : a = n[111], K.push(a);
1935
+ }
1936
+ if (T) {
1937
+ if (f.id === "__group__") for (let e of B) {
1938
+ let t = l.getColumn(e);
1939
+ t && K.push(/* @__PURE__ */ U(p.Item, {
1940
+ leftSection: /* @__PURE__ */ U(R, {
1941
+ size: 16,
1942
+ stroke: 1.6
1943
+ }),
1944
+ onClick: () => t.toggleGrouping(),
1945
+ children: d.ungroup(et(t))
1946
+ }, `ungroup-${e}`));
1947
+ }
1948
+ let e;
1949
+ n[112] === l ? e = n[113] : (e = (e) => l.setExpanded(ze({
1950
+ rows: l.getPrePaginatedRowModel().flatRows,
1951
+ expanded: l.store.state.expanded,
1952
+ target: "groups",
1953
+ expand: e
1954
+ })), n[112] = l, n[113] = e);
1955
+ let t = e, r;
1956
+ n[114] === Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ U(ne, {
1957
+ size: 16,
1958
+ stroke: 1.6
1959
+ }), n[114] = r) : r = n[114];
1960
+ let i;
1961
+ n[115] === t ? i = n[116] : (i = () => t(!0), n[115] = t, n[116] = i);
1962
+ let a;
1963
+ n[117] !== d.expandAllGroups || n[118] !== i ? (a = /* @__PURE__ */ U(p.Item, {
1964
+ leftSection: r,
1965
+ onClick: i,
1966
+ children: d.expandAllGroups
1967
+ }, "expand-all"), n[117] = d.expandAllGroups, n[118] = i, n[119] = a) : a = n[119];
1968
+ let o;
1969
+ n[120] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ U(L, {
1970
+ size: 16,
1971
+ stroke: 1.6
1972
+ }), n[120] = o) : o = n[120];
1973
+ let s;
1974
+ n[121] === t ? s = n[122] : (s = () => t(!1), n[121] = t, n[122] = s);
1975
+ let c;
1976
+ n[123] !== d.collapseAllGroups || n[124] !== s ? (c = /* @__PURE__ */ U(p.Item, {
1977
+ leftSection: o,
1978
+ onClick: s,
1979
+ children: d.collapseAllGroups
1980
+ }, "collapse-all"), n[123] = d.collapseAllGroups, n[124] = s, n[125] = c) : c = n[125], K.push(a, c);
1981
+ }
1982
+ if (_ || T) {
1983
+ let e;
1984
+ n[126] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ U(p.Divider, {}, "group-divider"), n[126] = e) : e = n[126], K.push(e);
1033
1985
  }
1034
- if (pe) {
1035
- let e = U === "left" ? Z.menuItemActive : void 0, t;
1036
- n[68] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ L(S, {
1986
+ if (g) {
1987
+ let e = q === "left" ? $.menuItemActive : void 0, t;
1988
+ n[127] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ U(D, {
1037
1989
  size: 16,
1038
1990
  stroke: 1.6
1039
- }), n[68] = t) : t = n[68];
1991
+ }), n[127] = t) : t = n[127];
1040
1992
  let r;
1041
- n[69] !== U || n[70] !== J ? (r = () => J(U !== "left" && "left"), n[69] = U, n[70] = J, n[71] = r) : r = n[71];
1993
+ n[128] !== q || n[129] !== Ee ? (r = () => Ee(q !== "left" && "left"), n[128] = q, n[129] = Ee, n[130] = r) : r = n[130];
1042
1994
  let i;
1043
- n[72] !== e || n[73] !== r ? (i = /* @__PURE__ */ L(f.Item, {
1995
+ n[131] !== d.pinLeft || n[132] !== e || n[133] !== r ? (i = /* @__PURE__ */ U(p.Item, {
1044
1996
  className: e,
1045
1997
  leftSection: t,
1046
1998
  onClick: r,
1047
- children: "Pin to left"
1048
- }, "pin-left"), n[72] = e, n[73] = r, n[74] = i) : i = n[74];
1049
- let a = U === "right" ? Z.menuItemActive : void 0, o;
1050
- n[75] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ L(C, {
1999
+ children: d.pinLeft
2000
+ }, "pin-left"), n[131] = d.pinLeft, n[132] = e, n[133] = r, n[134] = i) : i = n[134];
2001
+ let a = q === "right" ? $.menuItemActive : void 0, o;
2002
+ n[135] === Symbol.for("react.memo_cache_sentinel") ? (o = /* @__PURE__ */ U(O, {
1051
2003
  size: 16,
1052
2004
  stroke: 1.6
1053
- }), n[75] = o) : o = n[75];
2005
+ }), n[135] = o) : o = n[135];
1054
2006
  let s;
1055
- n[76] !== U || n[77] !== J ? (s = () => J(U !== "right" && "right"), n[76] = U, n[77] = J, n[78] = s) : s = n[78];
2007
+ n[136] !== q || n[137] !== Ee ? (s = () => Ee(q !== "right" && "right"), n[136] = q, n[137] = Ee, n[138] = s) : s = n[138];
1056
2008
  let c;
1057
- if (n[79] !== a || n[80] !== s ? (c = /* @__PURE__ */ L(f.Item, {
2009
+ if (n[139] !== d.pinRight || n[140] !== a || n[141] !== s ? (c = /* @__PURE__ */ U(p.Item, {
1058
2010
  className: a,
1059
2011
  leftSection: o,
1060
2012
  onClick: s,
1061
- children: "Pin to right"
1062
- }, "pin-right"), n[79] = a, n[80] = s, n[81] = c) : c = n[81], Y.push(i, c), U) {
2013
+ children: d.pinRight
2014
+ }, "pin-right"), n[139] = d.pinRight, n[140] = a, n[141] = s, n[142] = c) : c = n[142], K.push(i, c), q) {
1063
2015
  let e;
1064
- n[82] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ L(F, {
2016
+ n[143] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ U(ie, {
1065
2017
  size: 16,
1066
2018
  stroke: 1.6
1067
- }), n[82] = e) : e = n[82];
2019
+ }), n[143] = e) : e = n[143];
1068
2020
  let t;
1069
- n[83] === J ? t = n[84] : (t = /* @__PURE__ */ L(f.Item, {
2021
+ n[144] === Ee ? t = n[145] : (t = () => Ee(!1), n[144] = Ee, n[145] = t);
2022
+ let r;
2023
+ n[146] !== d.unpin || n[147] !== t ? (r = /* @__PURE__ */ U(p.Item, {
1070
2024
  leftSection: e,
1071
- onClick: () => J(!1),
1072
- children: "Unpin"
1073
- }, "unpin"), n[83] = J, n[84] = t), Y.push(t);
2025
+ onClick: t,
2026
+ children: d.unpin
2027
+ }, "unpin"), n[146] = d.unpin, n[147] = t, n[148] = r) : r = n[148], K.push(r);
1074
2028
  }
1075
2029
  let l;
1076
- n[85] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ L(f.Divider, {}, "pin-divider"), n[85] = l) : l = n[85], Y.push(l);
2030
+ n[149] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ U(p.Divider, {}, "pin-divider"), n[149] = l) : l = n[149], K.push(l);
1077
2031
  }
1078
- if (G) {
2032
+ if (se) {
1079
2033
  let e;
1080
- n[86] !== d.id || n[87] !== l ? (e = ot({
2034
+ n[150] !== f.id || n[151] !== l ? (e = er({
1081
2035
  table: l,
1082
- columnId: d.id,
2036
+ columnId: f.id,
1083
2037
  direction: -1
1084
- }), n[86] = d.id, n[87] = l, n[88] = e) : e = n[88];
2038
+ }), n[150] = f.id, n[151] = l, n[152] = e) : e = n[152];
1085
2039
  let t = e, r;
1086
- n[89] !== d.id || n[90] !== l ? (r = ot({
2040
+ n[153] !== f.id || n[154] !== l ? (r = er({
1087
2041
  table: l,
1088
- columnId: d.id,
2042
+ columnId: f.id,
1089
2043
  direction: 1
1090
- }), n[89] = d.id, n[90] = l, n[91] = r) : r = n[91];
2044
+ }), n[153] = f.id, n[154] = l, n[155] = r) : r = n[155];
1091
2045
  let i = r;
1092
2046
  if (t || i) {
1093
2047
  let e = !t, r;
1094
- n[92] === Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ L(T, {
2048
+ n[156] === Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ U(A, {
1095
2049
  size: 16,
1096
2050
  stroke: 1.6
1097
- }), n[92] = r) : r = n[92];
2051
+ }), n[156] = r) : r = n[156];
1098
2052
  let a;
1099
- n[93] !== d.id || n[94] !== l ? (a = () => st({
2053
+ n[157] !== f.id || n[158] !== l ? (a = () => tr({
1100
2054
  table: l,
1101
- columnId: d.id,
2055
+ columnId: f.id,
1102
2056
  direction: -1
1103
- }), n[93] = d.id, n[94] = l, n[95] = a) : a = n[95];
2057
+ }), n[157] = f.id, n[158] = l, n[159] = a) : a = n[159];
1104
2058
  let o;
1105
- n[96] !== e || n[97] !== a ? (o = /* @__PURE__ */ L(f.Item, {
2059
+ n[160] !== d.moveLeft || n[161] !== e || n[162] !== a ? (o = /* @__PURE__ */ U(p.Item, {
1106
2060
  disabled: e,
1107
2061
  leftSection: r,
1108
2062
  onClick: a,
1109
- children: "Move left"
1110
- }, "move-left"), n[96] = e, n[97] = a, n[98] = o) : o = n[98];
2063
+ children: d.moveLeft
2064
+ }, "move-left"), n[160] = d.moveLeft, n[161] = e, n[162] = a, n[163] = o) : o = n[163];
1111
2065
  let s = !i, c;
1112
- n[99] === Symbol.for("react.memo_cache_sentinel") ? (c = /* @__PURE__ */ L(E, {
2066
+ n[164] === Symbol.for("react.memo_cache_sentinel") ? (c = /* @__PURE__ */ U(j, {
1113
2067
  size: 16,
1114
2068
  stroke: 1.6
1115
- }), n[99] = c) : c = n[99];
2069
+ }), n[164] = c) : c = n[164];
1116
2070
  let u;
1117
- n[100] !== d.id || n[101] !== l ? (u = () => st({
2071
+ n[165] !== f.id || n[166] !== l ? (u = () => tr({
1118
2072
  table: l,
1119
- columnId: d.id,
2073
+ columnId: f.id,
1120
2074
  direction: 1
1121
- }), n[100] = d.id, n[101] = l, n[102] = u) : u = n[102];
1122
- let p;
1123
- n[103] !== s || n[104] !== u ? (p = /* @__PURE__ */ L(f.Item, {
2075
+ }), n[165] = f.id, n[166] = l, n[167] = u) : u = n[167];
2076
+ let m;
2077
+ n[168] !== d.moveRight || n[169] !== s || n[170] !== u ? (m = /* @__PURE__ */ U(p.Item, {
1124
2078
  disabled: s,
1125
2079
  leftSection: c,
1126
2080
  onClick: u,
1127
- children: "Move right"
1128
- }, "move-right"), n[103] = s, n[104] = u, n[105] = p) : p = n[105];
1129
- let m;
1130
- n[106] === Symbol.for("react.memo_cache_sentinel") ? (m = /* @__PURE__ */ L(f.Divider, {}, "move-divider"), n[106] = m) : m = n[106], Y.push(o, p, m);
2081
+ children: d.moveRight
2082
+ }, "move-right"), n[168] = d.moveRight, n[169] = s, n[170] = u, n[171] = m) : m = n[171];
2083
+ let h;
2084
+ n[172] === Symbol.for("react.memo_cache_sentinel") ? (h = /* @__PURE__ */ U(p.Divider, {}, "move-divider"), n[172] = h) : h = n[172], K.push(o, m, h);
1131
2085
  }
1132
2086
  }
1133
- if (fe) {
2087
+ if (ce && H) {
1134
2088
  let e;
1135
- n[107] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ L(M, {
2089
+ n[173] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ U(E, {
1136
2090
  size: 16,
1137
2091
  stroke: 1.6
1138
- }), n[107] = e) : e = n[107];
2092
+ }), n[173] = e) : e = n[173];
1139
2093
  let t;
1140
- n[108] === d ? t = n[109] : (t = /* @__PURE__ */ L(f.Item, {
2094
+ n[174] !== oe || n[175] !== d.autosizeColumn ? (t = /* @__PURE__ */ U(p.Item, {
1141
2095
  leftSection: e,
1142
- onClick: () => d.toggleVisibility(!1),
1143
- children: "Hide column"
1144
- }, "hide"), n[108] = d, n[109] = t), Y.push(t);
2096
+ onClick: oe,
2097
+ children: d.autosizeColumn
2098
+ }, "autosize"), n[174] = oe, n[175] = d.autosizeColumn, n[176] = t) : t = n[176];
2099
+ let r;
2100
+ n[177] === Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ U(p.Divider, {}, "autosize-divider"), n[177] = r) : r = n[177], K.push(t, r);
1145
2101
  }
1146
- if (ge) {
2102
+ if (h) {
1147
2103
  let e;
1148
- n[110] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ L(A, {
2104
+ n[178] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ U(ee, {
1149
2105
  size: 16,
1150
2106
  stroke: 1.6
1151
- }), n[110] = e) : e = n[110];
2107
+ }), n[178] = e) : e = n[178];
1152
2108
  let t;
1153
- n[111] === c.ui.actions ? t = n[112] : (t = /* @__PURE__ */ L(f.Item, {
2109
+ n[179] === f ? t = n[180] : (t = () => f.toggleVisibility(!1), n[179] = f, n[180] = t);
2110
+ let r;
2111
+ n[181] !== d.hideColumn || n[182] !== t ? (r = /* @__PURE__ */ U(p.Item, {
1154
2112
  leftSection: e,
1155
- onClick: () => c.ui.actions.setColumnsPanelOpen(!0),
1156
- children: "Manage columns"
1157
- }, "manage"), n[111] = c.ui.actions, n[112] = t), Y.push(t);
2113
+ onClick: t,
2114
+ children: d.hideColumn
2115
+ }, "hide"), n[181] = d.hideColumn, n[182] = t, n[183] = r) : r = n[183], K.push(r);
1158
2116
  }
1159
- for (; Y.length > 0 && Jt(Y.at(-1));) Y.pop();
1160
- n[44] = c, n[45] = de, n[46] = fe, n[47] = ge, n[48] = pe, n[49] = G, n[50] = W, n[51] = d, n[52] = U, n[53] = J, n[54] = l, n[55] = Y;
1161
- } else Y = n[55];
1162
- let Ne = W ? Z.headerCellSortable : "", Pe = _e ? Z.headerCellDragging : "", Fe = h === "before" ? Z.headerCellDropBefore : "", Ie = h === "after" ? Z.headerCellDropAfter : "", Re = i.isBoundary && U === "left" ? tt.stickyLeft : "", ze = i.isBoundary && U === "right" ? tt.stickyRight : "", Be;
1163
- n[113] !== Ne || n[114] !== Pe || n[115] !== Fe || n[116] !== Ie || n[117] !== Re || n[118] !== ze ? (Be = [
1164
- Z.headerCell,
1165
- Ne,
1166
- Pe,
1167
- Fe,
1168
- Ie,
1169
- Re,
1170
- ze
1171
- ].filter(Boolean), n[113] = Ne, n[114] = Pe, n[115] = Fe, n[116] = Ie, n[117] = Re, n[118] = ze, n[119] = Be) : Be = n[119];
1172
- let Ve = Be.join(" "), He = `dg-header-${d.id}`, Ue = ie || oe, We = W ? ie ? re ? "descending" : "ascending" : "none" : void 0, Ge = G && !se, Ke = G ? xe : void 0, qe = G ? je : void 0, Je = K ? we : void 0, Ye = K ? De : void 0, Qe = K ? ke : void 0, $e = U === "left" ? i.offset : void 0, et = U === "right" ? i.offset : void 0, X = U ? "sticky" : void 0, rt = U ? 4 : void 0, at;
1173
- n[120] !== $e || n[121] !== et || n[122] !== X || n[123] !== rt ? (at = {
1174
- left: $e,
1175
- right: et,
1176
- position: X,
1177
- zIndex: rt
1178
- }, n[120] = $e, n[121] = et, n[122] = X, n[123] = rt, n[124] = at) : at = n[124];
1179
- let Q;
1180
- n[125] !== W || n[126] !== d ? (Q = W ? (e) => {
1181
- if (v.current) {
1182
- v.current = !1;
2117
+ if (x) {
2118
+ let e;
2119
+ n[184] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ U(F, {
2120
+ size: 16,
2121
+ stroke: 1.6
2122
+ }), n[184] = e) : e = n[184];
2123
+ let t;
2124
+ n[185] === a.ui.actions ? t = n[186] : (t = () => a.ui.actions.setColumnsPanelOpen(!0), n[185] = a.ui.actions, n[186] = t);
2125
+ let r;
2126
+ n[187] !== d.manageColumns || n[188] !== t ? (r = /* @__PURE__ */ U(p.Item, {
2127
+ leftSection: e,
2128
+ onClick: t,
2129
+ children: d.manageColumns
2130
+ }, "manage"), n[187] = d.manageColumns, n[188] = t, n[189] = r) : r = n[189], K.push(r);
2131
+ }
2132
+ for (; K.length > 0 && ur(K.at(-1));) K.pop();
2133
+ n[1] = a, n[2] = f, n[3] = N, n[4] = z, n[5] = V, n[6] = v, n[7] = u, n[8] = B, n[9] = H, n[10] = d, n[11] = i.pinnedAt, n[12] = P, n[13] = w, n[14] = l, n[15] = G, n[16] = oe, n[17] = se, n[18] = ce, n[19] = le, n[20] = ue, n[21] = de, n[22] = fe, n[23] = pe, n[24] = me, n[25] = he, n[26] = ge, n[27] = _e, n[28] = ve, n[29] = ye, n[30] = be, n[31] = K, n[32] = q, n[33] = J, n[34] = Se;
2134
+ } else G = n[15], oe = n[16], se = n[17], ce = n[18], le = n[19], ue = n[20], de = n[21], fe = n[22], pe = n[23], me = n[24], he = n[25], ge = n[26], _e = n[27], ve = n[28], ye = n[29], be = n[30], K = n[31], q = n[32], J = n[33], Se = n[34];
2135
+ let Ce;
2136
+ n[190] !== f.id || n[191] !== H || n[192] !== K ? (Ce = H && K.length > 0 && !rt(f.id), n[190] = f.id, n[191] = H, n[192] = K, n[193] = Ce) : Ce = n[193];
2137
+ let Y = Ce, we = le ? $.headerCellSortable : "", Te = he ? $.headerCellDragging : "", Ee = v === "before" ? $.headerCellDropBefore : "", De = v === "after" ? $.headerCellDropAfter : "", Oe = i.isBoundary && q === "left" ? Wn.stickyLeft : "", ke = i.isBoundary && q === "right" ? Wn.stickyRight : "", Ae;
2138
+ n[194] !== we || n[195] !== Te || n[196] !== Ee || n[197] !== De || n[198] !== Oe || n[199] !== ke ? (Ae = [
2139
+ $.headerCell,
2140
+ we,
2141
+ Te,
2142
+ Ee,
2143
+ De,
2144
+ Oe,
2145
+ ke
2146
+ ].filter(Boolean), n[194] = we, n[195] = Te, n[196] = Ee, n[197] = De, n[198] = Oe, n[199] = ke, n[200] = Ae) : Ae = n[200];
2147
+ let je = Ae.join(" "), X = `dg-header-${f.id}`, Me = ye || _e, Ne;
2148
+ n[201] === f.id ? Ne = n[202] : (Ne = rt(f.id), n[201] = f.id, n[202] = Ne);
2149
+ let Pe = le ? ye ? J ? "descending" : "ascending" : "none" : void 0, Fe = se && !ve, Ie = se ? pe : void 0, Le = se ? ue : void 0, Re = ge ? fe : void 0, Be = ge ? de : void 0, Ve = ge ? me : void 0, He = q === "left" ? i.offset : void 0, Ue = q === "right" ? i.offset : void 0, We = q ? "sticky" : void 0, Ge = q ? "var(--dg-z-header-pinned-cell, 7)" : void 0, Ke;
2150
+ n[203] !== He || n[204] !== Ue || n[205] !== We || n[206] !== Ge ? (Ke = {
2151
+ left: He,
2152
+ right: Ue,
2153
+ position: We,
2154
+ zIndex: Ge
2155
+ }, n[203] = He, n[204] = Ue, n[205] = We, n[206] = Ge, n[207] = Ke) : Ke = n[207];
2156
+ let qe = le ? sr : void 0, Je;
2157
+ n[208] !== le || n[209] !== f ? (Je = le ? (e) => {
2158
+ if (x.current) {
2159
+ x.current = !1;
1183
2160
  return;
1184
2161
  }
1185
- d.getToggleSortingHandler()?.(e);
1186
- } : void 0, n[125] = W, n[126] = d, n[127] = Q) : Q = n[127];
1187
- let ct;
1188
- n[128] !== d.columnDef || n[129] !== r || n[130] !== z || n[131] !== V ? (ct = r.isPlaceholder ? null : /* @__PURE__ */ L(y, {
1189
- label: V,
2162
+ f.getToggleSortingHandler()?.(e);
2163
+ } : void 0, n[208] = le, n[209] = f, n[210] = Je) : Je = n[210];
2164
+ let Q;
2165
+ n[211] !== f.columnDef || n[212] !== r || n[213] !== H || n[214] !== be ? (Q = r.isPlaceholder ? null : /* @__PURE__ */ U(S, {
2166
+ label: be,
1190
2167
  openDelay: 600,
1191
2168
  withinPortal: !0,
1192
- disabled: !z,
1193
- children: /* @__PURE__ */ L("span", {
1194
- className: Z.headerTitle,
1195
- children: ue(d.columnDef.header, r.getContext())
2169
+ disabled: !H,
2170
+ children: /* @__PURE__ */ U("span", {
2171
+ className: $.headerTitle,
2172
+ "data-dg-header-title": !0,
2173
+ children: xe(f.columnDef.header, r.getContext())
1196
2174
  })
1197
- }), n[128] = d.columnDef, n[129] = r, n[130] = z, n[131] = V, n[132] = ct) : ct = n[132];
1198
- let lt;
1199
- n[133] !== c || n[134] !== W || n[135] !== d || n[136] !== oe || n[137] !== z || n[138] !== ie || n[139] !== V || n[140] !== Y || n[141] !== p || n[142] !== re ? (lt = z && /* @__PURE__ */ R("div", {
1200
- className: Z.headerActions,
2175
+ }), n[211] = f.columnDef, n[212] = r, n[213] = H, n[214] = be, n[215] = Q) : Q = n[215];
2176
+ let Ye;
2177
+ n[216] !== a || n[217] !== le || n[218] !== f || n[219] !== g || n[220] !== Y || n[221] !== _e || n[222] !== H || n[223] !== ye || n[224] !== be || n[225] !== d || n[226] !== K || n[227] !== m || n[228] !== J || n[229] !== Se ? (Ye = H && /* @__PURE__ */ W("div", {
2178
+ className: $.headerActions,
1201
2179
  children: [
1202
- oe && /* @__PURE__ */ L(s, {
1203
- className: Z.headerAction,
2180
+ _e && /* @__PURE__ */ U(c, {
2181
+ className: $.headerAction,
1204
2182
  "data-pinned-visible": "true",
1205
2183
  variant: "subtle",
1206
2184
  color: "gray",
1207
2185
  size: "xs",
1208
- "aria-label": `Filter on ${V}`,
2186
+ "aria-label": d.filterOn(be),
1209
2187
  onClick: (e) => {
1210
- e.stopPropagation(), Vt(c, d.id);
2188
+ e.stopPropagation(), Nn(a, f.id);
1211
2189
  },
1212
- children: /* @__PURE__ */ L(N, {
2190
+ children: /* @__PURE__ */ U(te, {
1213
2191
  size: 14,
1214
2192
  stroke: 1.6
1215
2193
  })
1216
2194
  }),
1217
- W && /* @__PURE__ */ L(s, {
1218
- className: Z.headerAction,
1219
- "data-pinned-visible": ie,
2195
+ le && /* @__PURE__ */ U(c, {
2196
+ className: $.headerAction,
2197
+ "data-pinned-visible": ye,
1220
2198
  variant: "subtle",
1221
2199
  color: "gray",
1222
2200
  size: "xs",
1223
- "aria-label": `Sort ${V}`,
1224
- onClick: d.getToggleSortingHandler(),
1225
- children: L(re ? w : D, {
2201
+ "aria-label": d.sortColumn(be),
2202
+ onClick: f.getToggleSortingHandler(),
2203
+ children: U(J ? k : M, {
1226
2204
  size: 14,
1227
2205
  stroke: 1.6
1228
2206
  })
1229
2207
  }),
1230
- Y.length > 0 && d.id !== "__select__" && /* @__PURE__ */ R(f, {
1231
- opened: p,
1232
- onChange: m,
2208
+ Se !== null && /* @__PURE__ */ U("span", {
2209
+ className: $.sortIndex,
2210
+ "data-testid": "dg-sort-index",
2211
+ children: Se
2212
+ }),
2213
+ Y && /* @__PURE__ */ W(p, {
2214
+ opened: m,
2215
+ onChange: h,
1233
2216
  position: "bottom-start",
1234
2217
  shadow: "md",
1235
2218
  width: 220,
1236
2219
  withinPortal: !0,
1237
- children: [/* @__PURE__ */ L(f.Target, { children: /* @__PURE__ */ L(s, {
1238
- className: Z.headerAction,
1239
- "data-pinned-visible": p,
2220
+ children: [/* @__PURE__ */ U(p.Target, { children: /* @__PURE__ */ U(c, {
2221
+ className: $.headerAction,
2222
+ "data-pinned-visible": m || g,
1240
2223
  variant: "subtle",
1241
2224
  color: "gray",
1242
2225
  size: "xs",
1243
- "aria-label": `${V} column menu`,
2226
+ "aria-label": d.columnMenu(be),
1244
2227
  onClick: (e) => {
1245
- e.stopPropagation(), m(Gt);
2228
+ e.stopPropagation(), h(or);
1246
2229
  },
1247
- children: /* @__PURE__ */ L(j, {
2230
+ children: /* @__PURE__ */ U(I, {
1248
2231
  size: 14,
1249
2232
  stroke: 1.6
1250
2233
  })
1251
- }) }), /* @__PURE__ */ L(f.Dropdown, {
1252
- onClick: Wt,
1253
- children: Y
2234
+ }) }), /* @__PURE__ */ U(p.Dropdown, {
2235
+ onClick: ar,
2236
+ children: K
1254
2237
  })]
1255
2238
  })
1256
2239
  ]
1257
- }), n[133] = c, n[134] = W, n[135] = d, n[136] = oe, n[137] = z, n[138] = ie, n[139] = V, n[140] = Y, n[141] = p, n[142] = re, n[143] = lt) : lt = n[143];
1258
- let ut = me ? Z.columnSeparatorResizable : "", dt = se ? Z.columnSeparatorActive : "", ft;
1259
- n[144] !== ut || n[145] !== dt ? (ft = [
1260
- Z.columnSeparator,
1261
- ut,
1262
- dt
1263
- ].filter(Boolean), n[144] = ut, n[145] = dt, n[146] = ft) : ft = n[146];
1264
- let pt = ft.join(" "), mt;
1265
- n[147] !== me || n[148] !== r ? (mt = me ? (e) => {
1266
- v.current = !0, r.getResizeHandler()(e);
1267
- } : void 0, n[147] = me, n[148] = r, n[149] = mt) : mt = n[149];
1268
- let ht;
1269
- n[150] !== me || n[151] !== r ? (ht = me ? r.getResizeHandler() : void 0, n[150] = me, n[151] = r, n[152] = ht) : ht = n[152];
1270
- let $;
1271
- n[153] !== pt || n[154] !== mt || n[155] !== ht ? ($ = /* @__PURE__ */ L("div", {
1272
- className: pt,
2240
+ }), n[216] = a, n[217] = le, n[218] = f, n[219] = g, n[220] = Y, n[221] = _e, n[222] = H, n[223] = ye, n[224] = be, n[225] = d, n[226] = K, n[227] = m, n[228] = J, n[229] = Se, n[230] = Ye) : Ye = n[230];
2241
+ let Xe;
2242
+ n[231] !== oe || n[232] !== ce || n[233] !== f.id || n[234] !== r || n[235] !== ve ? (Xe = !rt(f.id) && /* @__PURE__ */ U("div", {
2243
+ className: [
2244
+ $.columnSeparator,
2245
+ ce ? $.columnSeparatorResizable : "",
2246
+ ve ? $.columnSeparatorActive : ""
2247
+ ].filter(Boolean).join(" "),
1273
2248
  draggable: !1,
1274
- onMouseDown: mt,
1275
- onTouchStart: ht,
1276
- onClick: Ut
1277
- }), n[153] = pt, n[154] = mt, n[155] = ht, n[156] = $) : $ = n[156];
1278
- let gt;
1279
- return n[157] !== te || n[158] !== Ve || n[159] !== He || n[160] !== Ue || n[161] !== We || n[162] !== Ge || n[163] !== Ke || n[164] !== qe || n[165] !== Je || n[166] !== Ye || n[167] !== Qe || n[168] !== at || n[169] !== Q || n[170] !== ct || n[171] !== lt || n[172] !== $ ? (gt = /* @__PURE__ */ R("div", {
1280
- ref: _,
2249
+ onMouseDown: ce ? (e) => {
2250
+ x.current = !0, r.getResizeHandler()(e);
2251
+ } : void 0,
2252
+ onTouchStart: ce ? r.getResizeHandler() : void 0,
2253
+ onClick: ir,
2254
+ onDoubleClick: ce ? (e) => {
2255
+ e.stopPropagation(), oe();
2256
+ } : void 0
2257
+ }), n[231] = oe, n[232] = ce, n[233] = f.id, n[234] = r, n[235] = ve, n[236] = Xe) : Xe = n[236];
2258
+ let Ze;
2259
+ n[237] !== G || n[238] !== je || n[239] !== X || n[240] !== Me || n[241] !== Ne || n[242] !== Pe || n[243] !== Fe || n[244] !== Ie || n[245] !== Le || n[246] !== Re || n[247] !== Be || n[248] !== Ve || n[249] !== Ke || n[250] !== qe || n[251] !== Je || n[252] !== Q || n[253] !== Ye || n[254] !== Xe ? (Ze = /* @__PURE__ */ W("div", {
2260
+ ref: b,
1281
2261
  role: "columnheader",
1282
- "data-testid": He,
1283
- "data-active": Ue,
1284
- "data-align": te,
1285
- "aria-sort": We,
1286
- className: Ve,
1287
- draggable: Ge,
1288
- onDragStart: Ke,
1289
- onDragEnd: qe,
1290
- onDragOver: Je,
1291
- onDragLeave: Ye,
1292
- onDrop: Qe,
1293
- style: at,
1294
- onClick: Q,
2262
+ "data-testid": X,
2263
+ "data-active": Me,
2264
+ "data-align": G,
2265
+ "data-control-column": Ne,
2266
+ "aria-sort": Pe,
2267
+ className: je,
2268
+ draggable: Fe,
2269
+ onDragStart: Ie,
2270
+ onDragEnd: Le,
2271
+ onDragOver: Re,
2272
+ onDragLeave: Be,
2273
+ onDrop: Ve,
2274
+ style: Ke,
2275
+ onMouseDown: qe,
2276
+ onClick: Je,
1295
2277
  children: [
1296
- ct,
1297
- lt,
1298
- $
2278
+ Q,
2279
+ Ye,
2280
+ Xe
1299
2281
  ]
1300
- }), n[157] = te, n[158] = Ve, n[159] = He, n[160] = Ue, n[161] = We, n[162] = Ge, n[163] = Ke, n[164] = qe, n[165] = Je, n[166] = Ye, n[167] = Qe, n[168] = at, n[169] = Q, n[170] = ct, n[171] = lt, n[172] = $, n[173] = gt) : gt = n[173], gt;
2282
+ }), n[237] = G, n[238] = je, n[239] = X, n[240] = Me, n[241] = Ne, n[242] = Pe, n[243] = Fe, n[244] = Ie, n[245] = Le, n[246] = Re, n[247] = Be, n[248] = Ve, n[249] = Ke, n[250] = qe, n[251] = Je, n[252] = Q, n[253] = Ye, n[254] = Xe, n[255] = Ze) : Ze = n[255];
2283
+ let Qe = Ze;
2284
+ if (!Y) return Qe;
2285
+ let $e;
2286
+ n[256] === Symbol.for("react.memo_cache_sentinel") ? ($e = (e) => {
2287
+ _(e), e && h(!1);
2288
+ }, n[256] = $e) : $e = n[256];
2289
+ let tt;
2290
+ n[257] === Qe ? tt = n[258] : (tt = /* @__PURE__ */ U(p.ContextMenu, { children: Qe }), n[257] = Qe, n[258] = tt);
2291
+ let it;
2292
+ n[259] === K ? it = n[260] : (it = /* @__PURE__ */ U(p.Dropdown, {
2293
+ onClick: rr,
2294
+ children: K
2295
+ }), n[259] = K, n[260] = it);
2296
+ let at;
2297
+ return n[261] !== g || n[262] !== tt || n[263] !== it ? (at = /* @__PURE__ */ W(p, {
2298
+ opened: g,
2299
+ onChange: $e,
2300
+ position: "bottom-start",
2301
+ shadow: "md",
2302
+ width: 220,
2303
+ withinPortal: !0,
2304
+ children: [tt, it]
2305
+ }), n[261] = g, n[262] = tt, n[263] = it, n[264] = at) : at = n[264], at;
1301
2306
  }
1302
- function Ut(e) {
2307
+ function rr(e) {
1303
2308
  return e.stopPropagation();
1304
2309
  }
1305
- function Wt(e) {
2310
+ function ir(e) {
2311
+ return e.stopPropagation();
2312
+ }
2313
+ function ar(e) {
1306
2314
  return e.stopPropagation();
1307
2315
  }
1308
- function Gt(e) {
2316
+ function or(e) {
1309
2317
  return !e;
1310
2318
  }
1311
- function Kt(e) {
2319
+ function sr(e) {
2320
+ e.shiftKey && e.preventDefault();
2321
+ }
2322
+ function cr(e) {
1312
2323
  return e.draggedColumnId;
1313
2324
  }
1314
- function qt(e) {
2325
+ function lr(e) {
1315
2326
  return {
1316
2327
  sorting: e.sorting,
1317
2328
  columnFilters: e.columnFilters,
1318
2329
  resizingColumnId: e.columnResizing.isResizingColumn,
1319
2330
  columnPinning: e.columnPinning,
1320
- columnOrder: e.columnOrder
2331
+ columnOrder: e.columnOrder,
2332
+ grouping: e.grouping
1321
2333
  };
1322
2334
  }
1323
- function Jt(e) {
1324
- return typeof e == "object" && !!e && "type" in e && e.type === f.Divider;
2335
+ function ur(e) {
2336
+ return typeof e == "object" && !!e && "type" in e && e.type === p.Divider;
2337
+ }
2338
+ //#endregion
2339
+ //#region src/tmdatagrid/core/cellRange.ts
2340
+ function dr({ range: e, rowIndexOf: t, columnIndexOf: n }) {
2341
+ if (e === null) return null;
2342
+ let r = t(e.anchor.rowId), i = t(e.focus.rowId), a = n(e.anchor.columnId), o = n(e.focus.columnId);
2343
+ return r < 0 || i < 0 || a < 0 || o < 0 ? null : {
2344
+ top: Math.min(r, i),
2345
+ bottom: Math.max(r, i),
2346
+ left: Math.min(a, o),
2347
+ right: Math.max(a, o)
2348
+ };
2349
+ }
2350
+ function fr(e, t, n) {
2351
+ return e !== null && t >= e.top && t <= e.bottom && n >= e.left && n <= e.right;
2352
+ }
2353
+ function pr(e) {
2354
+ return e === null ? 0 : (e.bottom - e.top + 1) * (e.right - e.left + 1);
2355
+ }
2356
+ function mr(e, t, n) {
2357
+ return !fr(e, t, n) || e === null ? null : {
2358
+ top: t === e.top,
2359
+ bottom: t === e.bottom,
2360
+ left: n === e.left,
2361
+ right: n === e.right
2362
+ };
2363
+ }
2364
+ //#endregion
2365
+ //#region src/tmdatagrid/core/cellExport.ts
2366
+ var hr = "", gr = {
2367
+ separator: ";",
2368
+ decimalComma: !0,
2369
+ includeHeaders: !0,
2370
+ fileName: "export"
2371
+ };
2372
+ function _r(e, { decimalComma: t }) {
2373
+ if (e == null) return "";
2374
+ if (typeof e == "number") {
2375
+ if (!Number.isFinite(e)) return "";
2376
+ let n = String(e);
2377
+ return t ? n.replace(".", ",") : n;
2378
+ }
2379
+ if (typeof e == "string") return e;
2380
+ if (typeof e == "boolean") return e ? "true" : "false";
2381
+ if (Array.isArray(e)) return e.map((e) => _r(e, { decimalComma: t })).join(", ");
2382
+ if (e instanceof Date) return Number.isNaN(e.getTime()) ? "" : e.toLocaleString("sv-SE");
2383
+ if (typeof e == "object") try {
2384
+ return JSON.stringify(e);
2385
+ } catch {
2386
+ return "";
2387
+ }
2388
+ return String(e);
2389
+ }
2390
+ function vr({ rows: e, columns: t, bounds: n, includeHeaders: r, decimalComma: i }) {
2391
+ let a = t.slice(n.left, n.right + 1).filter((e) => !rt(e.id));
2392
+ if (a.length === 0) return [];
2393
+ let o = [];
2394
+ r && o.push(a.map((e) => et(e)));
2395
+ for (let t = n.top; t <= n.bottom; t += 1) {
2396
+ let n = e[t];
2397
+ n !== void 0 && o.push(a.map((e) => _r(n.getValue(e.id), { decimalComma: i })));
2398
+ }
2399
+ return o;
2400
+ }
2401
+ function yr({ table: e, includeHeaders: t = gr.includeHeaders, decimalComma: n = gr.decimalComma }) {
2402
+ let r = e, i = [
2403
+ ...r.getLeftVisibleLeafColumns(),
2404
+ ...r.getCenterVisibleLeafColumns(),
2405
+ ...r.getRightVisibleLeafColumns()
2406
+ ], a = [], o = (e) => {
2407
+ for (let t of e) t.getIsGrouped() ? o(t.subRows) : a.push(t);
2408
+ };
2409
+ return o(r.getSortedRowModel().rows), vr({
2410
+ rows: a,
2411
+ columns: i,
2412
+ bounds: {
2413
+ top: 0,
2414
+ bottom: a.length - 1,
2415
+ left: 0,
2416
+ right: i.length - 1
2417
+ },
2418
+ includeHeaders: t,
2419
+ decimalComma: n
2420
+ });
2421
+ }
2422
+ function br({ table: e, options: t }) {
2423
+ let n = {
2424
+ ...gr,
2425
+ ...t
2426
+ }, r = yr({
2427
+ table: e,
2428
+ includeHeaders: n.includeHeaders,
2429
+ decimalComma: n.decimalComma
2430
+ });
2431
+ r.length !== 0 && Tr({
2432
+ fileName: `${n.fileName}.csv`,
2433
+ text: Cr(r, { separator: n.separator })
2434
+ });
2435
+ }
2436
+ function xr(e, t) {
2437
+ return e.includes(t) || e.includes("\"") || e.includes("\n") || e.includes("\r") ? `"${e.replaceAll("\"", "\"\"")}"` : e;
2438
+ }
2439
+ function Sr(e) {
2440
+ return e.map((e) => e.map((e) => xr(e, " ")).join(" ")).join("\r\n");
2441
+ }
2442
+ function Cr(e, { separator: t }) {
2443
+ return `${hr}sep=${t}\r\n${e.map((e) => e.map((e) => xr(e, t)).join(t)).join("\r\n")}\r\n`;
2444
+ }
2445
+ async function wr(e) {
2446
+ try {
2447
+ return await navigator.clipboard.writeText(e), !0;
2448
+ } catch {
2449
+ return !1;
2450
+ }
2451
+ }
2452
+ function Tr({ fileName: e, text: t, mimeType: n = "text/csv;charset=utf-8" }) {
2453
+ let r = URL.createObjectURL(new Blob([t], { type: n })), i = document.createElement("a");
2454
+ i.href = r, i.download = e, i.style.display = "none", document.body.append(i), i.click(), i.remove(), setTimeout(() => URL.revokeObjectURL(r), 0);
1325
2455
  }
1326
2456
  //#endregion
1327
2457
  //#region src/tmdatagrid/components/TMDataGridTable.tsx
1328
- var Yt = {
2458
+ var Er = {
1329
2459
  pinnedAt: !1,
1330
2460
  offset: 0,
1331
2461
  isBoundary: !1
1332
- };
1333
- function Xt(t) {
1334
- let n = e(20), { cell: r, rowHeight: i, layout: a } = t, o;
1335
- n[0] === r.column ? o = n[1] : (o = Te(r.column), n[0] = r.column, n[1] = o);
1336
- let s = a.isBoundary && a.pinnedAt === "left" ? tt.stickyLeft : "", c = a.isBoundary && a.pinnedAt === "right" ? tt.stickyRight : "", l;
1337
- n[2] !== s || n[3] !== c ? (l = [
1338
- X.bodyCell,
1339
- s,
1340
- c
1341
- ].filter(Boolean), n[2] = s, n[3] = c, n[4] = l) : l = n[4];
1342
- let u = l.join(" "), d = a.pinnedAt === "left" ? a.offset : void 0, f = a.pinnedAt === "right" ? a.offset : void 0, p = a.pinnedAt ? "sticky" : void 0, m = a.pinnedAt ? 2 : void 0, h;
1343
- n[5] !== i || n[6] !== d || n[7] !== f || n[8] !== p || n[9] !== m ? (h = {
2462
+ }, Dr = [
2463
+ "button:not([disabled])",
2464
+ "input:not([disabled])",
2465
+ "select:not([disabled])",
2466
+ "textarea:not([disabled])",
2467
+ "a[href]",
2468
+ "[tabindex]:not([tabindex=\"-1\"])"
2469
+ ].join(",");
2470
+ function Or(e, t) {
2471
+ return e.querySelector(`[data-cell="true"][data-row-id="${CSS.escape(t.rowId)}"][data-column-id="${CSS.escape(t.columnId)}"]`);
2472
+ }
2473
+ function kr({ container: e, cellElement: t, leftPinnedWidth: n, rightPinnedWidth: r }) {
2474
+ let i = t.getBoundingClientRect(), a = e.getBoundingClientRect(), o = a.left + n, s = a.right - r;
2475
+ i.left < o ? e.scrollLeft -= o - i.left : i.right > s && (e.scrollLeft += i.right - s);
2476
+ }
2477
+ function Ar(e) {
2478
+ if (e.getIsPlaceholder()) return null;
2479
+ if (!e.getIsAggregated()) return xe(e.column.columnDef.cell, e.getContext());
2480
+ let { aggregatedCell: t, aggregationFn: n } = e.column.columnDef;
2481
+ return t === void 0 ? n === void 0 ? null : xe(e.column.columnDef.cell, e.getContext()) : xe(t, e.getContext());
2482
+ }
2483
+ function jr(t) {
2484
+ let n = e(40), { cell: r, rowHeight: i, layout: a, nav: o, onFocus: s, onMouseDown: c, onMouseEnter: l, onContextMenu: u } = t, d = o ? "gridcell" : "cell", f = o?.columnIndex, p = o?.tabIndex, m = o ? !0 : void 0, h = o?.rowId, g = r.column.id, _ = o?.focused, v = o?.selected, y = o?.selected, b = o?.edges?.top, x = o?.edges?.bottom, S = o?.edges?.left, C = o?.edges?.right, w;
2485
+ n[0] === r.column ? w = n[1] : (w = nt(r.column), n[0] = r.column, n[1] = w);
2486
+ let T;
2487
+ n[2] === r.column.id ? T = n[3] : (T = rt(r.column.id), n[2] = r.column.id, n[3] = T);
2488
+ let E = a.isBoundary && a.pinnedAt === "left" ? Wn.stickyLeft : "", D = a.isBoundary && a.pinnedAt === "right" ? Wn.stickyRight : "", O;
2489
+ n[4] !== E || n[5] !== D ? (O = [
2490
+ Un.bodyCell,
2491
+ E,
2492
+ D
2493
+ ].filter(Boolean), n[4] = E, n[5] = D, n[6] = O) : O = n[6];
2494
+ let k = O.join(" "), A = a.pinnedAt === "left" ? a.offset : void 0, j = a.pinnedAt === "right" ? a.offset : void 0, M = a.pinnedAt ? "sticky" : o?.focused ? "relative" : void 0, N = o?.focused ? "var(--dg-z-focused-cell, 3)" : a.pinnedAt ? "var(--dg-z-pinned-cell, 2)" : void 0, P;
2495
+ n[7] !== i || n[8] !== A || n[9] !== j || n[10] !== M || n[11] !== N ? (P = {
1344
2496
  minHeight: i,
1345
- left: d,
1346
- right: f,
1347
- position: p,
1348
- zIndex: m
1349
- }, n[5] = i, n[6] = d, n[7] = f, n[8] = p, n[9] = m, n[10] = h) : h = n[10];
2497
+ left: A,
2498
+ right: j,
2499
+ position: M,
2500
+ zIndex: N
2501
+ }, n[7] = i, n[8] = A, n[9] = j, n[10] = M, n[11] = N, n[12] = P) : P = n[12];
2502
+ let F;
2503
+ n[13] === r ? F = n[14] : (F = Ar(r), n[13] = r, n[14] = F);
2504
+ let I;
2505
+ n[15] === F ? I = n[16] : (I = /* @__PURE__ */ U("span", {
2506
+ className: Un.cellContent,
2507
+ children: F
2508
+ }), n[15] = F, n[16] = I);
2509
+ let ee;
2510
+ return n[17] !== r.column.id || n[18] !== u || n[19] !== s || n[20] !== c || n[21] !== l || n[22] !== d || n[23] !== b || n[24] !== x || n[25] !== S || n[26] !== C || n[27] !== w || n[28] !== T || n[29] !== k || n[30] !== f || n[31] !== P || n[32] !== I || n[33] !== p || n[34] !== m || n[35] !== h || n[36] !== _ || n[37] !== v || n[38] !== y ? (ee = /* @__PURE__ */ U("div", {
2511
+ role: d,
2512
+ "aria-colindex": f,
2513
+ tabIndex: p,
2514
+ "data-cell": m,
2515
+ "data-row-id": h,
2516
+ "data-column-id": g,
2517
+ "data-focused": _,
2518
+ "aria-selected": v,
2519
+ "data-selected": y,
2520
+ "data-edge-top": b,
2521
+ "data-edge-bottom": x,
2522
+ "data-edge-left": S,
2523
+ "data-edge-right": C,
2524
+ onFocus: s,
2525
+ onMouseDown: c,
2526
+ onMouseEnter: l,
2527
+ "data-align": w,
2528
+ "data-control-column": T,
2529
+ onContextMenu: u,
2530
+ className: k,
2531
+ style: P,
2532
+ children: I
2533
+ }), n[17] = r.column.id, n[18] = u, n[19] = s, n[20] = c, n[21] = l, n[22] = d, n[23] = b, n[24] = x, n[25] = S, n[26] = C, n[27] = w, n[28] = T, n[29] = k, n[30] = f, n[31] = P, n[32] = I, n[33] = p, n[34] = m, n[35] = h, n[36] = _, n[37] = v, n[38] = y, n[39] = ee) : ee = n[39], ee;
2534
+ }
2535
+ function Mr(t) {
2536
+ let n = e(16), { enabled: r, menuContent: i, menuProps: a, onContextMenu: o, onClose: s, children: c } = t, l;
2537
+ n[0] === Symbol.for("react.memo_cache_sentinel") ? (l = { display: "contents" }, n[0] = l) : l = n[0];
2538
+ let u = r ? o : void 0, d;
2539
+ n[1] !== c || n[2] !== u ? (d = /* @__PURE__ */ U("div", {
2540
+ role: "rowgroup",
2541
+ style: l,
2542
+ onContextMenu: u,
2543
+ children: c
2544
+ }), n[1] = c, n[2] = u, n[3] = d) : d = n[3];
2545
+ let f = d;
2546
+ if (!r) return f;
2547
+ let m = i !== null, h;
2548
+ n[4] === s ? h = n[5] : (h = (e) => {
2549
+ e || s();
2550
+ }, n[4] = s, n[5] = h);
1350
2551
  let g;
1351
- n[11] === r ? g = n[12] : (g = ue(r.column.columnDef.cell, r.getContext()), n[11] = r, n[12] = g);
2552
+ n[6] === f ? g = n[7] : (g = /* @__PURE__ */ U(p.ContextMenu, { children: f }), n[6] = f, n[7] = g);
1352
2553
  let _;
1353
- n[13] === g ? _ = n[14] : (_ = /* @__PURE__ */ L("span", {
1354
- className: X.cellContent,
1355
- children: g
1356
- }), n[13] = g, n[14] = _);
2554
+ n[8] === i ? _ = n[9] : (_ = /* @__PURE__ */ U(p.Dropdown, { children: i }), n[8] = i, n[9] = _);
1357
2555
  let v;
1358
- return n[15] !== o || n[16] !== h || n[17] !== _ || n[18] !== u ? (v = /* @__PURE__ */ L("div", {
1359
- role: "cell",
1360
- "data-align": o,
1361
- className: u,
1362
- style: h,
1363
- children: _
1364
- }), n[15] = o, n[16] = h, n[17] = _, n[18] = u, n[19] = v) : v = n[19], v;
1365
- }
1366
- function Zt({ onRowClick: e }) {
1367
- let { table: t, features: r, rowHeight: o, controlSize: s } = q();
1368
- x(t.store);
1369
- let { loading: c, noResultsLabel: l = "No rows match your filters" } = t.options.meta ?? {}, u = a(null), f = r.pagination ? t.getPaginatedRowModel().rows : t.getPrePaginatedRowModel().rows;
2556
+ return n[10] !== a || n[11] !== m || n[12] !== h || n[13] !== g || n[14] !== _ ? (v = /* @__PURE__ */ W(p, {
2557
+ opened: m,
2558
+ onChange: h,
2559
+ position: "bottom-start",
2560
+ shadow: "md",
2561
+ width: 220,
2562
+ ...a,
2563
+ children: [g, _]
2564
+ }), n[10] = a, n[11] = m, n[12] = h, n[13] = g, n[14] = _, n[15] = v) : v = n[15], v;
2565
+ }
2566
+ function Nr({ onRowClick: e, rowContextMenu: t, rowContextMenuProps: r, cellExport: a, onReachEnd: c, reachEndThreshold: l = 10 }) {
2567
+ let { table: d, ui: m, features: h, labels: g, rowHeight: _, controlSize: v, renderDetails: y, renderDetailsEstHeight: x, overscan: S } = Z();
2568
+ T(d.store);
2569
+ let C = T(m, (e) => e.highlightedRowId), w = T(m, (e) => e.focusedCell), E = T(m, (e) => e.cellRange), { loading: D, noResultsLabel: O = g.noResults } = d.options.meta ?? {}, k = o(null), A = Ge(d, h), j = (e) => y !== void 0 && !e.getIsGrouped() && e.getIsExpanded(), M = o(!1);
1370
2570
  i(() => {
1371
- if (!r.pagination) return;
1372
- let e = t.getPageCount();
1373
- e > 0 && t.store.state.pagination.pageIndex >= e && t.setPageIndex(e - 1);
2571
+ if (M.current) return;
2572
+ M.current = !0;
2573
+ let e = k.current;
2574
+ if (e !== null) for (let t of z) t.columnDef.meta?.autoSize === !0 && (t.id in d.store.state.columnSizing || Yn({
2575
+ table: d,
2576
+ columnId: t.id,
2577
+ container: e
2578
+ }));
2579
+ }), i(() => {
2580
+ if (!h.pagination) return;
2581
+ let e = d.getPageCount();
2582
+ e > 0 && d.store.state.pagination.pageIndex >= e && d.setPageIndex(e - 1);
1374
2583
  });
1375
- let p = ve({
1376
- count: f.length,
1377
- getScrollElement: () => u.current,
1378
- estimateSize: n(() => o, [o]),
1379
- getItemKey: n((e) => f[e]?.id ?? e, [f]),
1380
- overscan: 6,
2584
+ let N = Ae({
2585
+ count: A.length,
2586
+ getScrollElement: () => k.current,
2587
+ estimateSize: (e) => {
2588
+ let t = A[e];
2589
+ return t === void 0 ? _ : _ + (j(t) ? x : 0);
2590
+ },
2591
+ measureElement: (e, t, n) => e.getBoundingClientRect().height || n.options.estimateSize(n.indexFromElement(e)),
2592
+ getItemKey: n((e) => A[e]?.id ?? e, [A]),
2593
+ overscan: S,
1381
2594
  initialRect: {
1382
2595
  height: 600,
1383
2596
  width: 1200
1384
2597
  }
1385
- }), m = p.getVirtualItems(), h = m[0]?.start ?? 0, g = p.getTotalSize() - (m.at(-1)?.end ?? 0), v = t.getLeftLeafColumns(), y = t.getRightLeafColumns(), b = t.getCenterLeafColumns(), S = [
1386
- ...v,
1387
- ...b,
1388
- ...y
1389
- ], C = t.getCenterHeaderGroups(), w = t.getLeftHeaderGroups(), T = t.getRightHeaderGroups(), E = C.map((e, t) => ({
2598
+ }), P = N.getVirtualItems(), F = P[0]?.start ?? 0, I = N.getTotalSize() - (P.at(-1)?.end ?? 0), ee = o(null), te = o(!1), ne = P.at(-1)?.index ?? -1;
2599
+ i(() => {
2600
+ c === void 0 || A.length === 0 || (h.pagination && !te.current && (te.current = !0, console.warn("TMDataGrid: onReachEnd and pagination slice the same scroll — the pager caps the rows, so the end it reaches is the page's. Use one or the other.")), !(ne < A.length - 1 - l) && ee.current !== A.length && (ee.current = A.length, c()));
2601
+ });
2602
+ let L = d.getLeftVisibleLeafColumns(), R = d.getRightVisibleLeafColumns(), re = d.getCenterVisibleLeafColumns(), z = [
2603
+ ...L,
2604
+ ...re,
2605
+ ...R
2606
+ ], ie = d.getCenterHeaderGroups(), V = d.getLeftHeaderGroups(), ae = d.getRightHeaderGroups(), G = ie.map((e, t) => ({
1390
2607
  id: e.id,
1391
2608
  headers: [
1392
- ...w[t]?.headers ?? [],
2609
+ ...V[t]?.headers ?? [],
1393
2610
  ...e.headers,
1394
- ...T[t]?.headers ?? []
2611
+ ...ae[t]?.headers ?? []
1395
2612
  ]
1396
- })), D = t.store.state.columnSizing, O = S.map((e) => {
1397
- let t = e.columnDef.minSize === e.columnDef.maxSize, n = e.id in D, r = e.getIsPinned() !== !1, i = e.columnDef.minSize ?? 80;
2613
+ })), oe = d.store.state.columnSizing, se = z.map((e) => {
2614
+ let t = e.columnDef.minSize === e.columnDef.maxSize, n = e.id in oe, r = e.getIsPinned() !== !1, i = e.columnDef.minSize ?? 80;
1398
2615
  return t || n || r ? {
1399
2616
  track: `${e.getSize()}px`,
1400
2617
  minWidth: e.getSize()
@@ -1402,148 +2619,453 @@ function Zt({ onRowClick: e }) {
1402
2619
  track: `minmax(${i}px, ${e.columnDef.meta?.flex ?? 1}fr)`,
1403
2620
  minWidth: i
1404
2621
  };
1405
- }), k = O.map((e) => e.track).join(" "), A = O.reduce((e, t) => e + t.minWidth, 0), j = /* @__PURE__ */ new Map(), M = (e) => O[S.findIndex((t) => t.id === e)]?.minWidth ?? 0, N = 0;
1406
- for (let e of v) j.set(e.id, {
2622
+ }), ce = se.map((e) => e.track).join(" "), le = se.reduce((e, t) => e + t.minWidth, 0), ue = /* @__PURE__ */ new Map(), de = (e) => se[z.findIndex((t) => t.id === e)]?.minWidth ?? 0, fe = 0;
2623
+ for (let e of L) ue.set(e.id, {
1407
2624
  pinnedAt: "left",
1408
- offset: N,
1409
- isBoundary: e.id === v.at(-1)?.id
1410
- }), N += M(e.id);
1411
- let P = 0;
1412
- for (let e of [...y].reverse()) j.set(e.id, {
2625
+ offset: fe,
2626
+ isBoundary: e.id === L.at(-1)?.id
2627
+ }), fe += de(e.id);
2628
+ let pe = 0;
2629
+ for (let e of [...R].reverse()) ue.set(e.id, {
1413
2630
  pinnedAt: "right",
1414
- offset: P,
1415
- isBoundary: e.id === y[0]?.id
1416
- }), P += M(e.id);
1417
- for (let e of b) j.set(e.id, {
2631
+ offset: pe,
2632
+ isBoundary: e.id === R[0]?.id
2633
+ }), pe += de(e.id);
2634
+ for (let e of re) ue.set(e.id, {
1418
2635
  pinnedAt: !1,
1419
2636
  offset: 0,
1420
2637
  isBoundary: !1
1421
2638
  });
1422
- let F = (e) => j.get(e) ?? Yt, I = f.length === 0, z = r.rowSelection && r.rowSelectionMode === "row", B = z || e !== void 0, V = (t) => {
1423
- z && t.getCanSelect() && t.toggleSelected(), e?.(t);
2639
+ let me = (e) => ue.get(e) ?? Er, he = A.length === 0, ge = G.at(-1)?.headers ?? [], _e = z.some((e) => e.columnDef.footer !== void 0), ve = h.rowClickSelects, ye = ve || h.highlightRow || e !== void 0, be = (e) => !e.getIsGrouped() && ye, K = (t, n) => {
2640
+ if (ve && t.getCanSelect()) {
2641
+ let e = Je({
2642
+ rows: A,
2643
+ rowId: t.id,
2644
+ anchorRowId: m.state.selectionAnchorRowId,
2645
+ modifiers: n,
2646
+ selection: d.store.state.rowSelection,
2647
+ canReplaceSelection: !0
2648
+ });
2649
+ d.setRowSelection(e.selection), m.actions.setSelectionAnchor(e.anchorRowId);
2650
+ }
2651
+ h.highlightRow && m.actions.setHighlightedRow(t.id), e?.(t);
2652
+ }, q = h.cellSelection, J = h.cellRangeSelection, Se = o(!1), Ce = o(null), Y = q && w !== null ? A.findIndex((e) => e.id === w.rowId) : -1, we = q && w !== null ? z.findIndex((e) => e.id === w.columnId) : -1, Te = Y >= 0 && P.some((e) => e.index === Y), Ee = A[P[0]?.index ?? -1], De = q ? Te && w !== null ? w : Ee && z[0] ? {
2653
+ rowId: Ee.id,
2654
+ columnId: z[0].id
2655
+ } : null : null, Oe = (e, t, n) => e !== null && e.rowId === t && e.columnId === n, ke = dr({
2656
+ range: J ? E : null,
2657
+ rowIndexOf: (e) => A.findIndex((t) => t.id === e),
2658
+ columnIndexOf: (e) => z.findIndex((t) => t.id === e)
2659
+ }), je = (e, { extend: t }) => {
2660
+ if (!J) return;
2661
+ let n = t ? E?.anchor ?? e : e;
2662
+ m.actions.setCellRange({
2663
+ anchor: n,
2664
+ focus: e
2665
+ });
2666
+ }, X = ke ?? (q && Y >= 0 && we >= 0 ? {
2667
+ top: Y,
2668
+ bottom: Y,
2669
+ left: we,
2670
+ right: we
2671
+ } : null), Me = pr(X), Ne = X === null ? 0 : z.slice(X.left, X.right + 1).filter((e) => !rt(e.id)).length, Pe = {
2672
+ ...gr,
2673
+ ...a
2674
+ }, [Fe, Ie] = s(Pe.includeHeaders), Le = (e) => X === null ? [] : vr({
2675
+ rows: A,
2676
+ columns: z,
2677
+ bounds: X,
2678
+ includeHeaders: e,
2679
+ decimalComma: Pe.decimalComma
2680
+ }), Re = async () => {
2681
+ let e = Le(!1);
2682
+ e.length !== 0 && await wr(Sr(e));
2683
+ }, [ze, Be] = s(!1);
2684
+ i(() => {
2685
+ if (!ze) return;
2686
+ let e = () => Be(!1);
2687
+ return window.addEventListener("mouseup", e), () => window.removeEventListener("mouseup", e);
2688
+ }, [ze]);
2689
+ let Ve = (e, { extend: t }) => {
2690
+ m.actions.setFocusedCell(e), je(e, { extend: t }), t || Be(!0);
2691
+ }, He = (e) => {
2692
+ let t = Le(e);
2693
+ t.length !== 0 && Tr({
2694
+ fileName: `${Pe.fileName}.csv`,
2695
+ text: Cr(t, { separator: Pe.separator })
2696
+ });
2697
+ }, Ue = (e, { extend: t } = { extend: !1 }) => {
2698
+ let n = A[e.rowIndex], r = z[e.columnIndex];
2699
+ if (!n || !r) return;
2700
+ let i = {
2701
+ rowId: n.id,
2702
+ columnId: r.id
2703
+ };
2704
+ Se.current = !0, m.actions.setFocusedCell(i), je(i, { extend: t });
2705
+ }, We = (e, { extend: t }) => {
2706
+ if (h.rowSelection && qe(e).length > 0) {
2707
+ let n = Je({
2708
+ rows: A,
2709
+ rowId: e.id,
2710
+ anchorRowId: m.state.selectionAnchorRowId,
2711
+ modifiers: {
2712
+ toggle: !t,
2713
+ extend: t
2714
+ },
2715
+ selection: d.store.state.rowSelection,
2716
+ canReplaceSelection: !1
2717
+ });
2718
+ d.setRowSelection(n.selection), m.actions.setSelectionAnchor(n.anchorRowId);
2719
+ return;
2720
+ }
2721
+ h.highlightRow && !e.getIsGrouped() && m.actions.setHighlightedRow(e.id);
2722
+ }, Ke = (e) => {
2723
+ let t = e.target;
2724
+ if (t.dataset.cell !== "true") {
2725
+ if (e.key !== "Escape") return;
2726
+ let n = t.closest("[data-cell=\"true\"]");
2727
+ if (n === null) return;
2728
+ e.preventDefault(), n.focus();
2729
+ return;
2730
+ }
2731
+ let { rowId: n, columnId: r } = t.dataset;
2732
+ if (n === void 0 || r === void 0) return;
2733
+ let i = A.findIndex((e) => e.id === n), a = z.findIndex((e) => e.id === r);
2734
+ if (i < 0 || a < 0) return;
2735
+ if ((e.ctrlKey || e.metaKey) && (e.key === "c" || e.key === "C")) {
2736
+ if (X === null) return;
2737
+ e.preventDefault(), Re();
2738
+ return;
2739
+ }
2740
+ if (e.key === "Enter" || e.key === "F2") {
2741
+ let n = t.querySelector(Dr);
2742
+ if (n === null) return;
2743
+ e.preventDefault(), n.focus();
2744
+ return;
2745
+ }
2746
+ if (e.key === "Escape") {
2747
+ if (E === null) return;
2748
+ e.preventDefault(), je({
2749
+ rowId: n,
2750
+ columnId: r
2751
+ }, { extend: !1 });
2752
+ return;
2753
+ }
2754
+ if (e.key === " ") {
2755
+ e.preventDefault();
2756
+ let t = A[i];
2757
+ t && We(t, { extend: e.shiftKey });
2758
+ return;
2759
+ }
2760
+ let o = wn({
2761
+ key: e.key,
2762
+ ctrlKey: e.ctrlKey || e.metaKey,
2763
+ from: {
2764
+ rowIndex: i,
2765
+ columnIndex: a
2766
+ },
2767
+ rowCount: A.length,
2768
+ columnCount: z.length,
2769
+ pageRows: Math.max(1, Math.floor((k.current?.clientHeight ?? 0) / _) - 1)
2770
+ });
2771
+ o !== null && (e.preventDefault(), !(o.rowIndex === i && o.columnIndex === a) && Ue(o, { extend: e.shiftKey && J }));
1424
2772
  };
1425
- return /* @__PURE__ */ R("div", {
1426
- className: X.tableWrapper,
1427
- children: [/* @__PURE__ */ L("div", {
1428
- ref: u,
1429
- className: X.scrollContainer,
1430
- children: /* @__PURE__ */ R("div", {
1431
- role: "table",
1432
- className: X.grid,
1433
- "aria-rowcount": f.length + E.length,
1434
- "aria-colcount": S.length,
2773
+ i(() => {
2774
+ if (!q) return;
2775
+ let e = k.current;
2776
+ if (e === null) return;
2777
+ if (w !== Ce.current && (Ce.current = w, Y >= 0 && N.scrollToIndex(Y, { align: "auto" })), w === null) {
2778
+ Se.current = !1;
2779
+ return;
2780
+ }
2781
+ if (!Se.current && !e.contains(document.activeElement)) return;
2782
+ let t = Or(e, w);
2783
+ t !== null && (Se.current = !1, !t.contains(document.activeElement) && (t.focus({ preventScroll: !0 }), me(w.columnId).pinnedAt === !1 && kr({
2784
+ container: e,
2785
+ cellElement: t,
2786
+ leftPinnedWidth: fe,
2787
+ rightPinnedWidth: pe
2788
+ })));
2789
+ });
2790
+ let [Q, Ye] = s(null), Xe = () => Ye(null), Ze = o(null), Qe = o(null), $e = () => {
2791
+ let e = Ze.current, t = Qe.current;
2792
+ if (Ze.current = null, Qe.current = null, q && e !== null && t !== null) {
2793
+ let n = A.findIndex((t) => t.id === e), r = z.findIndex((e) => e.id === t);
2794
+ fr(X, n, r) || (m.actions.setFocusedCell({
2795
+ rowId: e,
2796
+ columnId: t
2797
+ }), je({
2798
+ rowId: e,
2799
+ columnId: t
2800
+ }, { extend: !1 }));
2801
+ }
2802
+ Ye(e === null ? null : {
2803
+ rowId: e,
2804
+ columnId: t
2805
+ });
2806
+ }, et = Q === null ? void 0 : A.find((e) => e.id === Q.rowId), tt = t && Q && et && !et.getIsGrouped() ? t({
2807
+ table: d,
2808
+ row: et,
2809
+ cell: et.getAllCells().find((e) => e.column.id === Q.columnId) ?? null,
2810
+ close: Xe
2811
+ }) ?? null : null, it = J && Q !== null && X !== null ? /* @__PURE__ */ W(H, { children: [
2812
+ /* @__PURE__ */ U(p.Label, { children: g.cellCount(Me) }),
2813
+ /* @__PURE__ */ U(p.Item, {
2814
+ disabled: Ne === 0,
2815
+ onClick: () => void Re(),
2816
+ children: g.copy
2817
+ }),
2818
+ /* @__PURE__ */ U(p.Item, {
2819
+ disabled: Ne === 0,
2820
+ onClick: () => He(Fe),
2821
+ children: g.exportCsv
2822
+ }),
2823
+ /* @__PURE__ */ U(p.Item, {
2824
+ closeMenuOnClick: !1,
2825
+ onClick: () => Ie((e) => !e),
2826
+ children: /* @__PURE__ */ U(u, {
2827
+ size: "xs",
2828
+ checked: Fe,
2829
+ label: g.includeHeaders,
2830
+ readOnly: !0,
2831
+ styles: { input: { cursor: "pointer" } }
2832
+ })
2833
+ })
2834
+ ] }) : null, at = it === null && tt === null ? null : /* @__PURE__ */ W(H, { children: [
2835
+ it,
2836
+ it !== null && tt !== null && /* @__PURE__ */ U(p.Divider, {}),
2837
+ tt
2838
+ ] }), ot = Q ? Xe : void 0;
2839
+ return /* @__PURE__ */ W("div", {
2840
+ className: Un.tableWrapper,
2841
+ children: [/* @__PURE__ */ U("div", {
2842
+ ref: k,
2843
+ className: Un.scrollContainer,
2844
+ "data-dg-scroll-container": !0,
2845
+ onScroll: ot,
2846
+ children: /* @__PURE__ */ W("div", {
2847
+ role: q ? "grid" : "table",
2848
+ "aria-multiselectable": q && h.rowSelection && h.multiRowSelection ? !0 : void 0,
2849
+ onKeyDown: q ? Ke : void 0,
2850
+ "data-range-dragging": ze || void 0,
2851
+ className: Un.grid,
2852
+ "aria-rowcount": A.length + G.length + +!!_e,
2853
+ "aria-colcount": z.length,
1435
2854
  style: {
1436
- gridTemplateColumns: k,
1437
- minWidth: A
2855
+ gridTemplateColumns: ce,
2856
+ minWidth: le
1438
2857
  },
1439
2858
  children: [
1440
- /* @__PURE__ */ L("div", {
2859
+ /* @__PURE__ */ U("div", {
1441
2860
  role: "rowgroup",
1442
2861
  style: { display: "contents" },
1443
- children: E.map((e, t) => /* @__PURE__ */ L("div", {
2862
+ children: G.map((e, t) => /* @__PURE__ */ U("div", {
1444
2863
  role: "row",
1445
2864
  "aria-rowindex": t + 1,
1446
- className: X.headerRow,
1447
- children: e.headers.map((e) => /* @__PURE__ */ L(Ht, {
2865
+ className: Un.headerRow,
2866
+ children: e.headers.map((e) => /* @__PURE__ */ U(nr, {
1448
2867
  header: e,
1449
- layout: F(e.column.id)
2868
+ layout: me(e.column.id)
1450
2869
  }, e.id))
1451
2870
  }, e.id))
1452
2871
  }),
1453
- h > 0 && /* @__PURE__ */ L("div", {
2872
+ F > 0 && /* @__PURE__ */ U("div", {
1454
2873
  "aria-hidden": !0,
1455
2874
  style: {
1456
2875
  gridColumn: "1/-1",
1457
- height: h
2876
+ height: F
1458
2877
  }
1459
2878
  }),
1460
- /* @__PURE__ */ L("div", {
1461
- role: "rowgroup",
1462
- style: { display: "contents" },
1463
- children: m.map((e) => {
1464
- let t = f[e.index];
1465
- return t ? /* @__PURE__ */ L("div", {
2879
+ /* @__PURE__ */ U(Mr, {
2880
+ enabled: t !== void 0 || J,
2881
+ menuContent: at,
2882
+ menuProps: r,
2883
+ onContextMenu: $e,
2884
+ onClose: Xe,
2885
+ children: P.map((e) => {
2886
+ let n = A[e.index];
2887
+ if (!n) return null;
2888
+ let r = n.getIsGrouped(), i = be(n), a = !r && !q && (ve || h.highlightRow);
2889
+ return /* @__PURE__ */ W("div", {
1466
2890
  role: "row",
1467
- "aria-rowindex": e.index + E.length + 1,
1468
- "data-testid": `dg-row-${t.id}`,
1469
- "data-selected": t.getIsSelected(),
1470
- "data-highlighted": r.highlightSelectedRows && t.getIsSelected(),
1471
- "data-selects-on-click": z,
1472
- "aria-selected": r.rowSelection ? t.getIsSelected() : void 0,
1473
- className: X.bodyRow,
2891
+ "aria-rowindex": e.index + G.length + 1,
2892
+ "data-testid": `dg-row-${n.id}`,
2893
+ "data-index": y ? e.index : void 0,
2894
+ ref: y ? N.measureElement : void 0,
2895
+ "data-grouped": r,
2896
+ "data-depth": n.depth,
2897
+ "data-selected": h.rowSelection && n.getIsSelected(),
2898
+ "data-selected-bg": h.rowSelection && h.showSelectedBackground && n.getIsSelected(),
2899
+ "data-highlighted": h.highlightRow && n.id === C,
2900
+ "data-context-menu": at !== null && Q?.rowId === n.id,
2901
+ "data-selects-on-click": ve && !r,
2902
+ "aria-selected": h.rowSelection ? n.getIsSelected() : void 0,
2903
+ "aria-current": h.highlightRow && n.id === C ? !0 : void 0,
2904
+ className: Un.bodyRow,
1474
2905
  style: {
1475
- minHeight: o,
1476
- cursor: B ? "pointer" : void 0
2906
+ minHeight: _,
2907
+ cursor: i ? "pointer" : void 0
1477
2908
  },
1478
- tabIndex: z ? 0 : void 0,
1479
- onClick: B ? () => V(t) : void 0,
1480
- onKeyDown: z ? (e) => {
1481
- e.key !== " " && e.key !== "Enter" || e.target === e.currentTarget && (e.preventDefault(), V(t));
2909
+ tabIndex: a ? 0 : void 0,
2910
+ onMouseDown: ve && !r ? (e) => {
2911
+ e.shiftKey && e.preventDefault();
1482
2912
  } : void 0,
1483
- children: [
1484
- ...t.getLeftVisibleCells(),
1485
- ...t.getCenterVisibleCells(),
1486
- ...t.getRightVisibleCells()
1487
- ].map((e) => /* @__PURE__ */ L(Xt, {
1488
- cell: e,
1489
- rowHeight: o,
1490
- layout: F(e.column.id)
1491
- }, e.id))
1492
- }, e.key) : null;
2913
+ onClick: i ? (e) => K(n, {
2914
+ toggle: e.ctrlKey || e.metaKey,
2915
+ extend: e.shiftKey
2916
+ }) : void 0,
2917
+ onKeyDown: a ? (e) => {
2918
+ e.key !== " " && e.key !== "Enter" || e.target === e.currentTarget && (e.preventDefault(), K(n, {
2919
+ toggle: !0,
2920
+ extend: e.shiftKey
2921
+ }));
2922
+ } : void 0,
2923
+ onContextMenu: t && !r || J ? () => {
2924
+ Ze.current = n.id;
2925
+ } : void 0,
2926
+ children: [[
2927
+ ...n.getLeftVisibleCells(),
2928
+ ...n.getCenterVisibleCells(),
2929
+ ...n.getRightVisibleCells()
2930
+ ].map((r, i) => /* @__PURE__ */ U(jr, {
2931
+ cell: r,
2932
+ rowHeight: _,
2933
+ layout: me(r.column.id),
2934
+ nav: q ? {
2935
+ rowId: n.id,
2936
+ columnIndex: i + 1,
2937
+ focused: Oe(w, n.id, r.column.id),
2938
+ tabIndex: Oe(De, n.id, r.column.id) ? 0 : -1,
2939
+ selected: J ? fr(ke, e.index, i) : Oe(w, n.id, r.column.id),
2940
+ edges: mr(ke, e.index, i)
2941
+ } : void 0,
2942
+ onFocus: q ? () => m.actions.setFocusedCell({
2943
+ rowId: n.id,
2944
+ columnId: r.column.id
2945
+ }) : void 0,
2946
+ onMouseDown: J ? (e) => {
2947
+ e.button === 0 && (e.shiftKey && e.preventDefault(), Se.current = !0, Ve({
2948
+ rowId: n.id,
2949
+ columnId: r.column.id
2950
+ }, { extend: e.shiftKey }));
2951
+ } : void 0,
2952
+ onMouseEnter: J && ze ? () => je({
2953
+ rowId: n.id,
2954
+ columnId: r.column.id
2955
+ }, { extend: !0 }) : void 0,
2956
+ onContextMenu: t || J ? () => {
2957
+ Qe.current = r.column.id;
2958
+ } : void 0
2959
+ }, r.id)), j(n) && /* @__PURE__ */ U("div", {
2960
+ role: "cell",
2961
+ "aria-colspan": z.length,
2962
+ "data-testid": `dg-details-${n.id}`,
2963
+ className: Un.detailsCell,
2964
+ onClick: (e) => e.stopPropagation(),
2965
+ onContextMenu: (e) => e.stopPropagation(),
2966
+ children: y?.({
2967
+ table: d,
2968
+ row: n
2969
+ })
2970
+ })]
2971
+ }, e.key);
1493
2972
  })
1494
2973
  }),
1495
- I && c === !0 && /* @__PURE__ */ L("div", {
2974
+ he && D === !0 && /* @__PURE__ */ U("div", {
1496
2975
  role: "row",
1497
- className: X.messageRow,
1498
- children: /* @__PURE__ */ L(d, { size: "lg" })
2976
+ className: Un.messageRow,
2977
+ children: /* @__PURE__ */ U(f, {
2978
+ size: "lg",
2979
+ "aria-label": g.loading
2980
+ })
1499
2981
  }),
1500
- I && c !== !0 && /* @__PURE__ */ R("div", {
2982
+ he && D !== !0 && /* @__PURE__ */ W("div", {
1501
2983
  role: "row",
1502
- className: X.messageRow,
1503
- children: [/* @__PURE__ */ L(ee, {
2984
+ className: Un.messageRow,
2985
+ children: [/* @__PURE__ */ U(B, {
1504
2986
  size: 40,
1505
2987
  stroke: 1.4,
1506
2988
  opacity: .4
1507
- }), /* @__PURE__ */ L(_, {
1508
- size: s,
2989
+ }), /* @__PURE__ */ U(b, {
2990
+ size: v,
1509
2991
  c: "dimmed",
1510
- children: l
2992
+ children: O
1511
2993
  })]
1512
2994
  }),
1513
- g > 0 && /* @__PURE__ */ L("div", {
2995
+ I > 0 && /* @__PURE__ */ U("div", {
1514
2996
  "aria-hidden": !0,
1515
2997
  style: {
1516
2998
  gridColumn: "1/-1",
1517
- height: g
2999
+ height: I
1518
3000
  }
3001
+ }),
3002
+ _e && /* @__PURE__ */ U("div", {
3003
+ role: "row",
3004
+ "aria-rowindex": A.length + G.length + 1,
3005
+ "data-testid": "dg-summary-row",
3006
+ className: Un.summaryRow,
3007
+ children: ge.map((e) => {
3008
+ let t = me(e.column.id);
3009
+ return /* @__PURE__ */ U("div", {
3010
+ role: "cell",
3011
+ "data-column-id": e.column.id,
3012
+ "data-align": nt(e.column),
3013
+ "data-control-column": rt(e.column.id),
3014
+ className: [
3015
+ Un.summaryCell,
3016
+ t.isBoundary && t.pinnedAt === "left" ? Wn.stickyLeft : "",
3017
+ t.isBoundary && t.pinnedAt === "right" ? Wn.stickyRight : ""
3018
+ ].filter(Boolean).join(" "),
3019
+ style: {
3020
+ minHeight: _,
3021
+ left: t.pinnedAt === "left" ? t.offset : void 0,
3022
+ right: t.pinnedAt === "right" ? t.offset : void 0,
3023
+ position: t.pinnedAt ? "sticky" : void 0,
3024
+ zIndex: t.pinnedAt ? "var(--dg-z-summary-pinned-cell, 5)" : void 0
3025
+ },
3026
+ children: /* @__PURE__ */ U("span", {
3027
+ className: Un.cellContent,
3028
+ children: e.isPlaceholder ? null : xe(e.column.columnDef.footer, e.getContext())
3029
+ })
3030
+ }, e.id);
3031
+ })
1519
3032
  })
1520
3033
  ]
1521
3034
  })
1522
- }), /* @__PURE__ */ L(He, {})]
3035
+ }), /* @__PURE__ */ U(Gt, {})]
1523
3036
  });
1524
3037
  }
1525
- var Qt = {
3038
+ var Pr = {
1526
3039
  toolbar: "_toolbar_4my8t_1",
1527
3040
  toolbarSpacer: "_toolbarSpacer_4my8t_10"
1528
3041
  };
1529
3042
  //#endregion
1530
3043
  //#region src/tmdatagrid/components/TMDataGridToolbar.tsx
1531
- function $t(t) {
3044
+ function Fr(t) {
1532
3045
  let n = e(2), { children: r } = t, i;
1533
- return n[0] === r ? i = n[1] : (i = /* @__PURE__ */ L("div", {
1534
- className: Qt.toolbar,
3046
+ return n[0] === r ? i = n[1] : (i = /* @__PURE__ */ U("div", {
3047
+ className: Pr.toolbar,
1535
3048
  children: r
1536
3049
  }), n[0] = r, n[1] = i), i;
1537
3050
  }
1538
- function en() {
3051
+ function Ir() {
1539
3052
  let t = e(1), n;
1540
- return t[0] === Symbol.for("react.memo_cache_sentinel") ? (n = /* @__PURE__ */ L("div", { className: Qt.toolbarSpacer }), t[0] = n) : n = t[0], n;
3053
+ return t[0] === Symbol.for("react.memo_cache_sentinel") ? (n = /* @__PURE__ */ U("div", { className: Pr.toolbarSpacer }), t[0] = n) : n = t[0], n;
1541
3054
  }
1542
- function tn(t) {
1543
- let n = e(11), { children: r } = t, { table: i, controlSize: a } = q();
1544
- if (x(i.store), r !== void 0) {
3055
+ function Lr() {
3056
+ let t = e(2), { table: n, labels: r } = Z();
3057
+ if (n.options.meta?.loading !== !0) return null;
3058
+ let i;
3059
+ return t[0] === r.loading ? i = t[1] : (i = /* @__PURE__ */ U(f, {
3060
+ size: "xs",
3061
+ "aria-label": r.loading
3062
+ }), t[0] = r.loading, t[1] = i), i;
3063
+ }
3064
+ function Rr(t) {
3065
+ let n = e(11), { children: r } = t, { table: i, controlSize: a } = Z();
3066
+ if (T(i.store), r !== void 0) {
1545
3067
  let e;
1546
- return n[0] !== r || n[1] !== a ? (e = /* @__PURE__ */ L(_, {
3068
+ return n[0] !== r || n[1] !== a ? (e = /* @__PURE__ */ U(b, {
1547
3069
  size: a,
1548
3070
  c: "dimmed",
1549
3071
  children: r
@@ -1554,7 +3076,7 @@ function tn(t) {
1554
3076
  let s = o, c;
1555
3077
  n[5] === i ? c = n[6] : (c = i.options.meta?.totalRowCount ?? i.getPreFilteredRowModel().rows.length, n[5] = i, n[6] = c);
1556
3078
  let l = c, u;
1557
- return n[7] !== a || n[8] !== s || n[9] !== l ? (u = /* @__PURE__ */ R(_, {
3079
+ return n[7] !== a || n[8] !== s || n[9] !== l ? (u = /* @__PURE__ */ W(b, {
1558
3080
  size: a,
1559
3081
  c: "dimmed",
1560
3082
  children: [
@@ -1564,99 +3086,104 @@ function tn(t) {
1564
3086
  ]
1565
3087
  }), n[7] = a, n[8] = s, n[9] = l, n[10] = u) : u = n[10], u;
1566
3088
  }
1567
- function nn() {
1568
- let t = e(9), { table: n, ui: r, features: i, controlSize: a } = q(), o = x(r, rn);
1569
- if (!Ze(n, i).canHideAny) return null;
1570
- let c;
1571
- t[0] === Symbol.for("react.memo_cache_sentinel") ? (c = /* @__PURE__ */ L(P, {
3089
+ function zr() {
3090
+ let t = e(13), { table: n, ui: r, features: i, labels: a, controlSize: o } = Z(), s = T(r, Br);
3091
+ if (!Sn(n, i).canHideAny) return null;
3092
+ let l;
3093
+ t[0] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ U(z, {
1572
3094
  size: 18,
1573
3095
  stroke: 1.6
1574
- }), t[0] = c) : c = t[0];
1575
- let l;
1576
- t[1] !== a || t[2] !== r.actions.toggleColumnsPanel ? (l = /* @__PURE__ */ L(p.Target, { children: /* @__PURE__ */ L(y, {
1577
- label: "Manage columns",
1578
- openDelay: 400,
1579
- children: /* @__PURE__ */ L(s, {
1580
- variant: "subtle",
1581
- color: "gray",
1582
- size: a,
1583
- "aria-label": "Manage columns",
1584
- onClick: r.actions.toggleColumnsPanel,
1585
- children: c
1586
- })
1587
- }) }), t[1] = a, t[2] = r.actions.toggleColumnsPanel, t[3] = l) : l = t[3];
3096
+ }), t[0] = l) : l = t[0];
1588
3097
  let u;
1589
- t[4] === Symbol.for("react.memo_cache_sentinel") ? (u = /* @__PURE__ */ L(p.Dropdown, {
1590
- p: 0,
1591
- children: /* @__PURE__ */ L(De, {})
1592
- }), t[4] = u) : u = t[4];
3098
+ t[1] !== o || t[2] !== a.manageColumns || t[3] !== r.actions.toggleColumnsPanel ? (u = /* @__PURE__ */ U(c, {
3099
+ variant: "subtle",
3100
+ color: "gray",
3101
+ size: o,
3102
+ "aria-label": a.manageColumns,
3103
+ onClick: r.actions.toggleColumnsPanel,
3104
+ children: l
3105
+ }), t[1] = o, t[2] = a.manageColumns, t[3] = r.actions.toggleColumnsPanel, t[4] = u) : u = t[4];
1593
3106
  let d;
1594
- return t[5] !== o || t[6] !== l || t[7] !== r.actions.setColumnsPanelOpen ? (d = /* @__PURE__ */ R(p, {
1595
- opened: o,
3107
+ t[5] !== a.manageColumns || t[6] !== u ? (d = /* @__PURE__ */ U(g.Target, { children: /* @__PURE__ */ U(S, {
3108
+ label: a.manageColumns,
3109
+ openDelay: 400,
3110
+ children: u
3111
+ }) }), t[5] = a.manageColumns, t[6] = u, t[7] = d) : d = t[7];
3112
+ let f;
3113
+ t[8] === Symbol.for("react.memo_cache_sentinel") ? (f = /* @__PURE__ */ U(g.Dropdown, {
3114
+ p: 0,
3115
+ children: /* @__PURE__ */ U(mt, {})
3116
+ }), t[8] = f) : f = t[8];
3117
+ let p;
3118
+ return t[9] !== s || t[10] !== d || t[11] !== r.actions.setColumnsPanelOpen ? (p = /* @__PURE__ */ W(g, {
3119
+ opened: s,
1596
3120
  onChange: r.actions.setColumnsPanelOpen,
1597
3121
  position: "bottom-end",
1598
3122
  shadow: "md",
1599
3123
  radius: "md",
1600
3124
  withinPortal: !0,
1601
3125
  trapFocus: !0,
1602
- children: [l, u]
1603
- }), t[5] = o, t[6] = l, t[7] = r.actions.setColumnsPanelOpen, t[8] = d) : d = t[8], d;
3126
+ children: [d, f]
3127
+ }), t[9] = s, t[10] = d, t[11] = r.actions.setColumnsPanelOpen, t[12] = p) : p = t[12], p;
1604
3128
  }
1605
- function rn(e) {
3129
+ function Br(e) {
1606
3130
  return e.columnsPanelOpen;
1607
3131
  }
1608
- function an() {
1609
- let t = e(11), n = q(), { table: r, ui: i, features: a, controlSize: o } = n, c = x(i, ln), l = x(r.store, cn).filter(sn).length;
1610
- if (!Ze(r, a).canFilterAny) return null;
1611
- let u = c || l > 0 ? "light" : "subtle", d = l > 0 ? void 0 : "gray", f;
1612
- t[0] !== n || t[1] !== c || t[2] !== r || t[3] !== i ? (f = () => {
1613
- if (c) {
3132
+ function Vr() {
3133
+ let t = e(15), n = Z(), { table: r, ui: i, features: a, labels: o, controlSize: s } = n, l = T(i, Gr), u = T(r.store, Wr).filter(Ur).length;
3134
+ if (!Sn(r, a).canFilterAny) return null;
3135
+ let d = l || u > 0 ? "light" : "subtle", f = u > 0 ? void 0 : "gray", p;
3136
+ t[0] !== n || t[1] !== l || t[2] !== r || t[3] !== i ? (p = () => {
3137
+ if (l) {
1614
3138
  i.actions.closeFilterPanel();
1615
3139
  return;
1616
3140
  }
1617
- let e = r.getAllLeafColumns().find(on);
1618
- e ? Vt(n, e.id) : i.actions.openFilterPanel();
1619
- }, t[0] = n, t[1] = c, t[2] = r, t[3] = i, t[4] = f) : f = t[4];
1620
- let p;
1621
- t[5] === Symbol.for("react.memo_cache_sentinel") ? (p = /* @__PURE__ */ L(N, {
3141
+ let e = r.getAllLeafColumns().find(Hr);
3142
+ e ? Nn(n, e.id) : i.actions.openFilterPanel();
3143
+ }, t[0] = n, t[1] = l, t[2] = r, t[3] = i, t[4] = p) : p = t[4];
3144
+ let m;
3145
+ t[5] === Symbol.for("react.memo_cache_sentinel") ? (m = /* @__PURE__ */ U(te, {
1622
3146
  size: 16,
1623
3147
  stroke: 1.6
1624
- }), t[5] = p) : p = t[5];
1625
- let m;
1626
- return t[6] !== o || t[7] !== u || t[8] !== d || t[9] !== f ? (m = /* @__PURE__ */ L(y, {
1627
- label: "Filters",
3148
+ }), t[5] = m) : m = t[5];
3149
+ let h;
3150
+ t[6] !== s || t[7] !== o.filters || t[8] !== d || t[9] !== f || t[10] !== p ? (h = /* @__PURE__ */ U(c, {
3151
+ variant: d,
3152
+ color: f,
3153
+ size: s,
3154
+ "aria-label": o.filters,
3155
+ "data-dg-filter-toggle": !0,
3156
+ onClick: p,
3157
+ children: m
3158
+ }), t[6] = s, t[7] = o.filters, t[8] = d, t[9] = f, t[10] = p, t[11] = h) : h = t[11];
3159
+ let g;
3160
+ return t[12] !== o.filters || t[13] !== h ? (g = /* @__PURE__ */ U(S, {
3161
+ label: o.filters,
1628
3162
  openDelay: 400,
1629
- children: /* @__PURE__ */ L(s, {
1630
- variant: u,
1631
- color: d,
1632
- size: o,
1633
- "aria-label": "Filters",
1634
- onClick: f,
1635
- children: p
1636
- })
1637
- }), t[6] = o, t[7] = u, t[8] = d, t[9] = f, t[10] = m) : m = t[10], m;
3163
+ children: h
3164
+ }), t[12] = o.filters, t[13] = h, t[14] = g) : g = t[14], g;
1638
3165
  }
1639
- function on(e) {
3166
+ function Hr(e) {
1640
3167
  return e.getCanFilter();
1641
3168
  }
1642
- function sn(e) {
1643
- return Le(e.value);
3169
+ function Ur(e) {
3170
+ return Lt(e.value);
1644
3171
  }
1645
- function cn(e) {
3172
+ function Wr(e) {
1646
3173
  return e.columnFilters;
1647
3174
  }
1648
- function ln(e) {
3175
+ function Gr(e) {
1649
3176
  return e.filterPanelOpen;
1650
3177
  }
1651
3178
  //#endregion
1652
3179
  //#region src/tmdatagrid/core/sizes.ts
1653
- var un = "md", dn = {
3180
+ var Kr = "md", qr = {
1654
3181
  xs: 34,
1655
3182
  sm: 42,
1656
3183
  md: 52,
1657
3184
  lg: 62,
1658
3185
  xl: 72
1659
- }, fn = {
3186
+ }, Jr = {
1660
3187
  xs: "xs",
1661
3188
  sm: "xs",
1662
3189
  md: "sm",
@@ -1665,43 +3192,139 @@ var un = "md", dn = {
1665
3192
  };
1666
3193
  //#endregion
1667
3194
  //#region src/tmdatagrid/components/TMDataGrid.tsx
1668
- function pn(t) {
1669
- let n = e(17), { table: r, ui: i, features: a, size: o, children: s, className: c, style: l } = t, u = o === void 0 ? "md" : o, d = r.options.meta?.rowHeight ?? dn[u], f = fn[u], p;
1670
- n[0] !== a || n[1] !== d || n[2] !== u || n[3] !== f || n[4] !== r || n[5] !== i ? (p = {
3195
+ function Yr(t) {
3196
+ let n = e(21), { table: r, ui: i, features: a, labels: o, renderDetails: s, renderDetailsEstHeight: c, overscan: l, size: u, children: d, className: f, style: p } = t, m = u === void 0 ? "md" : u, h = r.options.meta?.rowHeight ?? qr[m], g = Jr[m], _;
3197
+ n[0] !== a || n[1] !== o || n[2] !== l || n[3] !== s || n[4] !== c || n[5] !== h || n[6] !== m || n[7] !== g || n[8] !== r || n[9] !== i ? (_ = {
1671
3198
  table: r,
1672
3199
  ui: i,
1673
3200
  features: a,
1674
- size: u,
1675
- rowHeight: d,
1676
- controlSize: f
1677
- }, n[0] = a, n[1] = d, n[2] = u, n[3] = f, n[4] = r, n[5] = i, n[6] = p) : p = n[6];
1678
- let m = p, h;
1679
- n[7] === c ? h = n[8] : (h = [K.root, c].filter(Boolean), n[7] = c, n[8] = h);
1680
- let g = h.join(" "), _;
1681
- n[9] !== s || n[10] !== u || n[11] !== l || n[12] !== g ? (_ = /* @__PURE__ */ L("div", {
1682
- "data-size": u,
1683
- className: g,
1684
- style: l,
1685
- children: s
1686
- }), n[9] = s, n[10] = u, n[11] = l, n[12] = g, n[13] = _) : _ = n[13];
1687
- let v;
1688
- return n[14] !== m || n[15] !== _ ? (v = /* @__PURE__ */ L(Se, {
1689
- value: m,
1690
- children: _
1691
- }), n[14] = m, n[15] = _, n[16] = v) : v = n[16], v;
1692
- }
1693
- var mn = Object.assign(pn, {
1694
- Toolbar: $t,
1695
- Spacer: en,
1696
- SummaryCount: tn,
1697
- ColumnsButton: nn,
1698
- FilterButton: an,
1699
- Table: Zt,
1700
- Footer: $e,
1701
- FilterPanel: He,
1702
- ColumnsPanel: De
1703
- });
3201
+ labels: o,
3202
+ renderDetails: s,
3203
+ renderDetailsEstHeight: c,
3204
+ overscan: l,
3205
+ size: m,
3206
+ rowHeight: h,
3207
+ controlSize: g
3208
+ }, n[0] = a, n[1] = o, n[2] = l, n[3] = s, n[4] = c, n[5] = h, n[6] = m, n[7] = g, n[8] = r, n[9] = i, n[10] = _) : _ = n[10];
3209
+ let v = _, y;
3210
+ n[11] === f ? y = n[12] : (y = [je.root, f].filter(Boolean), n[11] = f, n[12] = y);
3211
+ let b = y.join(" "), x;
3212
+ n[13] !== d || n[14] !== m || n[15] !== p || n[16] !== b ? (x = /* @__PURE__ */ U("div", {
3213
+ "data-size": m,
3214
+ className: b,
3215
+ style: p,
3216
+ children: d
3217
+ }), n[13] = d, n[14] = m, n[15] = p, n[16] = b, n[17] = x) : x = n[17];
3218
+ let S;
3219
+ return n[18] !== v || n[19] !== x ? (S = /* @__PURE__ */ U(Ne, {
3220
+ value: v,
3221
+ children: x
3222
+ }), n[18] = v, n[19] = x, n[20] = S) : S = n[20], S;
3223
+ }
3224
+ var Xr = Object.assign(Yr, {
3225
+ Toolbar: Fr,
3226
+ Spacer: Ir,
3227
+ SummaryCount: Rr,
3228
+ LoadingIndicator: Lr,
3229
+ Search: Vn,
3230
+ ColumnsButton: zr,
3231
+ FilterButton: Vr,
3232
+ Table: Nr,
3233
+ Footer: zn,
3234
+ FilterPanel: Gt,
3235
+ FilterPills: Pn,
3236
+ ColumnsPanel: mt
3237
+ }), Zr = {
3238
+ operators: {
3239
+ contains: "innehåller",
3240
+ equals: "är lika med",
3241
+ notEquals: "är inte lika med",
3242
+ startsWith: "börjar med",
3243
+ endsWith: "slutar med",
3244
+ greaterThan: "är större än",
3245
+ greaterThanOrEqual: "är större än eller lika med",
3246
+ lessThan: "är mindre än",
3247
+ lessThanOrEqual: "är mindre än eller lika med",
3248
+ before: "är före",
3249
+ after: "är efter",
3250
+ onOrBefore: "är på eller före",
3251
+ onOrAfter: "är på eller efter",
3252
+ isAnyOf: "är någon av",
3253
+ isNoneOf: "är ingen av",
3254
+ isEmpty: "är tom",
3255
+ isNotEmpty: "är inte tom"
3256
+ },
3257
+ manageColumns: "Hantera kolumner",
3258
+ filters: "Filter",
3259
+ searchPlaceholder: "Sök",
3260
+ searchLabel: "Sök rader",
3261
+ clearSearch: "Rensa sökningen",
3262
+ columnsSearchPlaceholder: "Sök",
3263
+ columnsNoMatch: (e) => `Inga kolumner matchar ”${e}”`,
3264
+ columnsShowHideAll: "Visa/dölj alla",
3265
+ columnsReset: "ÅTERSTÄLL",
3266
+ filterColumn: "Kolumn",
3267
+ filterOperator: "Operator",
3268
+ filterValue: "Värde",
3269
+ filterValuePlaceholder: "Filtervärde",
3270
+ booleanTrue: "Ja",
3271
+ booleanFalse: "Nej",
3272
+ addFilter: "Lägg till filter",
3273
+ clearAllFilters: "Rensa alla",
3274
+ closeFilters: "Stäng filter",
3275
+ removeFilter: "Ta bort filter",
3276
+ activeFilters: "Aktiva filter",
3277
+ clearFilter: (e) => `Rensa filtret för ${e}`,
3278
+ sortAsc: "Sortera stigande",
3279
+ sortDesc: "Sortera fallande",
3280
+ filterMenuItem: "Filtrera",
3281
+ groupBy: (e) => `Gruppera på ${e}`,
3282
+ ungroup: (e) => `Avgruppera ${e}`,
3283
+ expandAllGroups: "Expandera alla grupper",
3284
+ collapseAllGroups: "Fäll ihop alla grupper",
3285
+ pinLeft: "Fäst till vänster",
3286
+ pinRight: "Fäst till höger",
3287
+ unpin: "Lossa",
3288
+ moveLeft: "Flytta åt vänster",
3289
+ moveRight: "Flytta åt höger",
3290
+ autosizeColumn: "Anpassa kolumnbredd",
3291
+ hideColumn: "Dölj kolumn",
3292
+ filterOn: (e) => `Filtrera på ${e}`,
3293
+ sortColumn: (e) => `Sortera ${e}`,
3294
+ columnMenu: (e) => `Kolumnmeny för ${e}`,
3295
+ rowsPerPage: "Rader per sida:",
3296
+ pageRange: ({ from: e, to: t, total: n }) => `${e}–${t} av ${n}`,
3297
+ groupedAllRows: (e) => `Grupperad · alla ${e} rader`,
3298
+ pagingSuspendedHint: "Sidindelningen är avstängd medan raderna är grupperade: hela trädet renderas och virtualiseras. Avgruppera för att bläddra igen.",
3299
+ previousPage: "Föregående sida",
3300
+ nextPage: "Nästa sida",
3301
+ noResults: "Inga rader matchar dina filter",
3302
+ loading: "Laddar",
3303
+ cellCount: (e) => e === 1 ? "1 cell" : `${e} celler`,
3304
+ copy: "Kopiera",
3305
+ exportCsv: "Exportera som CSV för Excel",
3306
+ includeHeaders: "Inkludera rubriker",
3307
+ selectColumnLabel: "Kryssrutemarkering",
3308
+ selectAllRows: "Markera alla rader",
3309
+ selectRow: "Markera rad",
3310
+ selectGroup: "Markera grupp",
3311
+ detailsColumnLabel: "Detaljer",
3312
+ showDetails: "Visa detaljer",
3313
+ hideDetails: "Dölj detaljer",
3314
+ expandAllDetails: "Expandera alla detaljer",
3315
+ collapseAllDetails: "Fäll ihop alla detaljer",
3316
+ groupColumnLabel: "Grupp",
3317
+ blankGroupValue: "(Tom)",
3318
+ expandGroup: (e) => `Expandera ${e}`,
3319
+ collapseGroup: (e) => `Fäll ihop ${e}`
3320
+ };
3321
+ //#endregion
3322
+ //#region src/tmdatagrid/core/summary.ts
3323
+ function Qr({ table: e, columnId: t, fn: n = "sum" }) {
3324
+ let r = e.getFilteredRowModel().rows;
3325
+ return G[n](t, r, r);
3326
+ }
1704
3327
  //#endregion
1705
- export { ft as DATA_STATE_SLICES, un as DEFAULT_TMDATAGRID_SIZE, je as FILTER_OPERATOR_LABELS, Q as SELECT_COLUMN_ID, pt as SETTINGS_STATE_SLICES, fn as SIZE_CONTROL_SIZE, dn as SIZE_ROW_HEIGHT, mn as TMDataGrid, Nt as createTMDataGridColumnHelper, Xe as getColumnCapabilities, Ce as getColumnLabel, nt as getColumnRegion, we as getColumnType, Ze as getGridCapabilities, ot as getStepTargetColumn, Qe as getTMDataGridPaginationApi, Ee as isColumnReorderable, Le as isFilterActive, it as moveColumn, st as moveColumnByStep, Vt as openColumnFilter, Ye as readFeatureFlags, Mt as tmDataGridFeatures, Ft as useTMDataGrid, q as useTMDataGridContext };
3328
+ export { $t as DATA_STATE_SLICES, gr as DEFAULT_CELL_EXPORT_OPTIONS, Kr as DEFAULT_TMDATAGRID_SIZE, Be as DETAILS_COLUMN_ID, St as FILTER_OPERATOR_LABELS, ot as GROUP_COLUMN_ID, Q as SELECT_COLUMN_ID, en as SETTINGS_STATE_SLICES, Jr as SIZE_CONTROL_SIZE, qr as SIZE_ROW_HEIGHT, Zt as TMDATAGRID_LABELS_EN, Zr as TMDATAGRID_LABELS_SV, Xr as TMDataGrid, Pn as TMDataGridFilterPills, Vn as TMDataGridSearch, Qr as aggregateColumn, Re as areAllRowsExpanded, Yn as autosizeColumn, pr as boundsCellCount, mr as boundsEdges, vr as buildCellMatrix, yr as buildGridCellMatrix, On as createTMDataGridColumnHelper, Tr as downloadTextFile, br as exportGridToCsv, _r as formatExportValue, Rt as formatFilterLabel, lt as formatGroupValue, xn as getColumnCapabilities, et as getColumnLabel, Xn as getColumnRegion, tt as getColumnType, Nt as getDefaultOperator, Ge as getDisplayedRows, Sn as getGridCapabilities, We as getGroupDataRows, Mt as getOperatorsForType, qe as getSelectableRowIds, er as getStepTargetColumn, Rn as getTMDataGridPaginationApi, it as isColumnReorderable, rt as isControlColumn, Lt as isFilterActive, Ke as isPagingActive, Tn as isSameCell, fr as isWithinBounds, Jn as measureColumnContentWidth, Qt as mergeLabels, Qn as moveColumn, tr as moveColumnByStep, Nn as openColumnFilter, Pt as operatorNeedsValue, Ft as operatorTakesArrayValue, xt as optionsToComboboxData, bn as readFeatureFlags, wn as resolveCellMove, bt as resolveColumnOptions, ze as resolveExpandAll, dr as resolveRangeBounds, Je as resolveRowSelectionClick, Dn as tmDataGridFeatures, Sr as toClipboardText, Cr as toExcelCsv, Pe as useCellControlTabIndex, Mn as useTMDataGrid, Z as useTMDataGridContext, wr as writeClipboardText };
1706
3329
 
1707
3330
  //# sourceMappingURL=index.js.map