@dmsi/wedgekit-react 0.0.230 → 0.0.232

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 (57) hide show
  1. package/dist/{chunk-2RUQFWER.js → chunk-2VRZB2A4.js} +1 -1
  2. package/dist/{chunk-A76MF7ZO.js → chunk-3M23BFB4.js} +2 -2
  3. package/dist/{chunk-7W4I2NK3.js → chunk-5JVMULVC.js} +12 -2
  4. package/dist/{chunk-2WRRRPEB.js → chunk-7BBXPM5C.js} +1 -1
  5. package/dist/{chunk-XOUEHNCC.js → chunk-Q7ETEWBW.js} +1 -1
  6. package/dist/chunk-SQJ7MWY7.js +493 -0
  7. package/dist/chunk-VZVPD3XK.js +1182 -0
  8. package/dist/components/CalendarRange.cjs +4066 -224
  9. package/dist/components/CalendarRange.css +4831 -0
  10. package/dist/components/CalendarRange.js +23 -1
  11. package/dist/components/DataGridCell.cjs +12 -2
  12. package/dist/components/DataGridCell.js +3 -3
  13. package/dist/components/DateInput.cjs +3682 -329
  14. package/dist/components/DateInput.css +4831 -0
  15. package/dist/components/DateInput.js +23 -5
  16. package/dist/components/DateRangeInput.cjs +3682 -329
  17. package/dist/components/DateRangeInput.css +4831 -0
  18. package/dist/components/DateRangeInput.js +23 -5
  19. package/dist/components/FilterGroup.cjs +12 -2
  20. package/dist/components/FilterGroup.js +7 -7
  21. package/dist/components/Input.cjs +12 -2
  22. package/dist/components/Input.js +1 -1
  23. package/dist/components/MobileDataGrid.js +3 -3
  24. package/dist/components/Modal.js +4 -4
  25. package/dist/components/ModalButtons.js +2 -2
  26. package/dist/components/ModalHeader.js +2 -2
  27. package/dist/components/NavigationTab.js +2 -2
  28. package/dist/components/NavigationTabs.js +2 -2
  29. package/dist/components/Notification.js +3 -3
  30. package/dist/components/OptionPill.js +2 -2
  31. package/dist/components/PDFViewer.js +6 -6
  32. package/dist/components/Password.cjs +12 -2
  33. package/dist/components/Password.js +1 -1
  34. package/dist/components/Search.cjs +12 -2
  35. package/dist/components/Search.js +2 -2
  36. package/dist/components/Select.cjs +12 -2
  37. package/dist/components/Select.js +2 -2
  38. package/dist/components/Stepper.cjs +12 -2
  39. package/dist/components/Stepper.js +4 -4
  40. package/dist/components/Time.cjs +12 -2
  41. package/dist/components/Time.js +1 -1
  42. package/dist/components/Toast.js +3 -3
  43. package/dist/components/Upload.js +3 -3
  44. package/dist/components/index.cjs +12 -2
  45. package/dist/components/index.css +3 -0
  46. package/dist/components/index.js +12 -1142
  47. package/dist/index.css +3 -0
  48. package/package.json +1 -1
  49. package/src/components/CalendarRange.tsx +316 -165
  50. package/src/components/DateInput.tsx +1 -0
  51. package/src/components/DateRangeInput.tsx +1 -0
  52. package/src/components/Input.tsx +19 -5
  53. package/dist/chunk-SE5DM2IJ.js +0 -350
  54. package/dist/{chunk-ED7FXZRX.js → chunk-BW2MWMVM.js} +3 -3
  55. package/dist/{chunk-FYW64H7N.js → chunk-JFPRYMID.js} +3 -3
  56. package/dist/{chunk-A5ROZWIH.js → chunk-R4H6D4SZ.js} +3 -3
  57. package/dist/{chunk-47KTDBGA.js → chunk-T7UCZWWK.js} +3 -3
@@ -1,9 +1,12 @@
1
+ import {
2
+ DataGrid
3
+ } from "../chunk-VZVPD3XK.js";
1
4
  import {
2
5
  Tooltip
3
6
  } from "../chunk-3WNXMCZV.js";
4
7
  import {
5
8
  Select
6
- } from "../chunk-2RUQFWER.js";
9
+ } from "../chunk-2VRZB2A4.js";
7
10
  import {
8
11
  Checkbox
9
12
  } from "../chunk-E3UOI2D2.js";
@@ -12,7 +15,7 @@ import {
12
15
  DataGridCell,
13
16
  DragAlongCell,
14
17
  DraggableCellHeader
15
- } from "../chunk-XOUEHNCC.js";
18
+ } from "../chunk-Q7ETEWBW.js";
16
19
  import {
17
20
  Menu
18
21
  } from "../chunk-NA3ODQCN.js";
@@ -20,18 +23,15 @@ import "../chunk-VP36B2MM.js";
20
23
  import {
21
24
  MenuOption
22
25
  } from "../chunk-QHHNFGEX.js";
23
- import {
24
- useInfiniteScroll,
25
- useTableLayout
26
- } from "../chunk-ZU2K7BD3.js";
26
+ import "../chunk-ZU2K7BD3.js";
27
27
  import "../chunk-VXWSAIB5.js";
28
28
  import "../chunk-T3F37S6Z.js";
29
29
  import {
30
30
  Search
31
- } from "../chunk-2WRRRPEB.js";
31
+ } from "../chunk-7BBXPM5C.js";
32
32
  import {
33
33
  Input
34
- } from "../chunk-7W4I2NK3.js";
34
+ } from "../chunk-5JVMULVC.js";
35
35
  import "../chunk-5UH6QUFB.js";
36
36
  import {
37
37
  Label
@@ -50,1144 +50,14 @@ import {
50
50
  import {
51
51
  Paragraph
52
52
  } from "../chunk-CJELWEO2.js";
53
- import {
54
- Button
55
- } from "../chunk-SK742QNF.js";
56
53
  import {
57
54
  Icon
58
55
  } from "../chunk-UAPWR2KE.js";
59
56
  import {
60
- componentGap,
61
- componentPadding
62
- } from "../chunk-RDLEIAQU.js";
63
- import {
64
- __objRest,
65
- __spreadProps,
66
- __spreadValues
67
- } from "../chunk-BBZEL7EG.js";
68
-
69
- // src/components/DataGrid/index.tsx
70
- import React3, { useCallback, useEffect, useId, useState as useState3 } from "react";
71
- import {
72
- flexRender as flexRender3,
73
- getCoreRowModel,
74
- getFilteredRowModel,
75
- getSortedRowModel,
76
- useReactTable
77
- } from "@tanstack/react-table";
78
- import {
79
- closestCenter,
80
- DndContext,
81
- KeyboardSensor,
82
- MouseSensor,
83
- TouchSensor,
84
- useSensor,
85
- useSensors
86
- } from "@dnd-kit/core";
87
- import {
88
- arrayMove,
89
- horizontalListSortingStrategy,
90
- SortableContext
91
- } from "@dnd-kit/sortable";
92
- import { restrictToHorizontalAxis } from "@dnd-kit/modifiers";
93
- import { useVirtualizer as useVirtualizer2 } from "@tanstack/react-virtual";
94
- import clsx5 from "clsx";
95
-
96
- // src/components/DataGrid/PinnedColumns.tsx
97
- import { flexRender as flexRender2 } from "@tanstack/react-table";
98
- import clsx4 from "clsx";
99
-
100
- // src/components/DataGrid/utils.tsx
101
- import clsx from "clsx";
102
- import { jsx } from "react/jsx-runtime";
103
- function getSortIcon(sort, nextSort = false) {
104
- const iconClassName = clsx(
105
- "text-icon-on-action-primary-normal",
106
- nextSort && "hidden group-hover:block"
107
- );
108
- if (sort === "asc")
109
- return /* @__PURE__ */ jsx(Icon, { size: 16, className: iconClassName, name: "arrow_upward" });
110
- if (sort === "desc")
111
- return /* @__PURE__ */ jsx(Icon, { size: 16, className: iconClassName, name: "arrow_downward" });
112
- return null;
113
- }
114
-
115
- // src/components/DataGrid/PinnedColumns.tsx
116
- import React2 from "react";
117
-
118
- // src/components/DataGrid/TableBody/index.tsx
119
- import { useVirtualizer } from "@tanstack/react-virtual";
120
- import clsx3 from "clsx";
121
-
122
- // src/components/DataGrid/TableBody/TableBodyRow.tsx
123
- import clsx2 from "clsx";
124
- import { flexRender } from "@tanstack/react-table";
125
- import React from "react";
126
- import { jsx as jsx2, jsxs } from "react/jsx-runtime";
127
- function TableBodyRow({
128
- id,
129
- testid,
130
- columnVirtualizer,
131
- row,
132
- // rowVirtualizer,
133
- virtualPaddingLeft,
134
- virtualPaddingRight,
135
- virtualRow,
136
- showFilterRow,
137
- enableColumnSelector = false,
138
- locked,
139
- pinDirection
140
- }) {
141
- var _a;
142
- let visibleCells;
143
- if (locked) {
144
- visibleCells = pinDirection === "left" ? row.getLeftVisibleCells() : row.getRightVisibleCells();
145
- } else {
146
- visibleCells = row.getCenterVisibleCells();
147
- }
148
- const virtualColumns = (_a = columnVirtualizer == null ? void 0 : columnVirtualizer.getVirtualItems()) != null ? _a : [];
149
- const columns = locked ? visibleCells : virtualColumns;
150
- const isError = typeof row.original === "object" && row.original !== null && "rowState" in row.original && row.original.rowState === "error";
151
- const CellElement = locked ? DataGridCell : DragAlongCell;
152
- return /* @__PURE__ */ jsxs(
153
- "tr",
154
- {
155
- className: clsx2(
156
- "min-h-10",
157
- "transition-colors hover:bg-background-action-secondary-hover",
158
- row.getIsSelected() && "!bg-background-action-secondary-hover",
159
- isError && "!bg-background-action-critical-secondary-hover",
160
- showFilterRow ? "even:bg-background-grouped-primary-normal odd:bg-background-grouped-secondary-normal" : "odd:bg-background-grouped-primary-normal even:bg-background-grouped-secondary-normal"
161
- ),
162
- id: id ? `${id}-row-${row.id}` : void 0,
163
- "data-testid": testid ? `${testid}-row-${row.id}` : void 0,
164
- style: {
165
- display: "flex",
166
- position: "absolute",
167
- transform: `translateY(${showFilterRow ? virtualRow.start + 40 : virtualRow.start}px)`,
168
- width: "100%"
169
- },
170
- children: [
171
- !locked && virtualPaddingLeft ? (
172
- // fake empty column to the left for virtualization scroll padding
173
- /* @__PURE__ */ jsx2("td", { style: { display: "flex", width: virtualPaddingLeft } })
174
- ) : null,
175
- columns.map((column) => {
176
- var _a2, _b;
177
- const cell = locked ? column : visibleCells[column.index];
178
- if (!cell) {
179
- return;
180
- }
181
- const cellAlignment = (_a2 = cell.column.columnDef.meta) == null ? void 0 : _a2.align;
182
- const cellValue = cell.getValue();
183
- return ((_b = cell.column.columnDef.meta) == null ? void 0 : _b.useCustomRenderer) ? /* @__PURE__ */ jsx2(React.Fragment, { children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id) : /* @__PURE__ */ jsx2(
184
- CellElement,
185
- {
186
- id: id ? `${id}-row-${row.id}-cell-${cell.id}` : void 0,
187
- testid: testid ? `${testid}-row-${row.id}-cell-${cell.id}` : void 0,
188
- cell,
189
- className: clsx2(
190
- cellAlignment ? {
191
- "justify-start": cellAlignment === "left",
192
- "justify-end": cellAlignment === "right"
193
- } : {
194
- "justify-end": typeof cellValue === "number"
195
- }
196
- ),
197
- children: /* @__PURE__ */ jsx2(
198
- Tooltip,
199
- {
200
- id: id ? `${id}-tooltip-${cell.id}` : void 0,
201
- testid: testid ? `${testid}-tooltip-${cell.id}` : void 0,
202
- showOnTruncation: true,
203
- message: cellValue,
204
- position: "bottom",
205
- children: /* @__PURE__ */ jsx2(Paragraph, { addOverflow: true, tall: true, children: cellValue })
206
- }
207
- )
208
- },
209
- cell.id
210
- );
211
- }),
212
- !locked && virtualPaddingRight ? (
213
- // fake empty column to the right for virtualization scroll padding
214
- /* @__PURE__ */ jsx2("td", { style: { display: "flex", width: virtualPaddingRight } })
215
- ) : null,
216
- enableColumnSelector && !locked && /* @__PURE__ */ jsx2("td", { className: "p-2", style: { width: "48.8px" } })
217
- ]
218
- },
219
- row.id
220
- );
221
- }
222
-
223
- // src/components/DataGrid/TableBody/LoadingCell.tsx
224
- import { jsx as jsx3 } from "react/jsx-runtime";
225
- function LoadingCell({
226
- id,
227
- testid,
228
- column
229
- }) {
230
- const key = `loading-${column.id}`;
231
- if (column.cell === "checkbox") {
232
- return /* @__PURE__ */ jsx3(DataGridCell, { id: id ? `${id}-${key}` : void 0, testid: testid ? `${testid}-${key}` : void 0, children: /* @__PURE__ */ jsx3(Checkbox, { id: id ? `${id}-${key}-checkbox` : void 0, testid: testid ? `${testid}-${key}-checkbox` : void 0, disabled: true }) }, key);
233
- }
234
- if (column.cell === "input") {
235
- return /* @__PURE__ */ jsx3(
236
- DataGridCell,
237
- {
238
- id: id ? `${id}-${key}` : void 0,
239
- testid: testid ? `${testid}-${key}` : void 0,
240
- component: "input",
241
- children: /* @__PURE__ */ jsx3(
242
- Input,
243
- {
244
- id: id ? `${id}-${key}-input` : void 0,
245
- testid: testid ? `${testid}-${key}-input` : void 0,
246
- align: "left",
247
- disabled: true,
248
- wrapperClassName: "!rounded-none !border-0"
249
- }
250
- )
251
- },
252
- key
253
- );
254
- }
255
- return /* @__PURE__ */ jsx3(DataGridCell, { id: id ? `${id}-${key}` : void 0, testid: testid ? `${testid}-${key}` : void 0, children: /* @__PURE__ */ jsx3("div", { className: "bg-linear-270 to-neutral-300/[24%] from-neutral-300/[12%] rounded-xs w-full max-w-25 h-6" }) }, key);
256
- }
257
-
258
- // src/components/DataGrid/TableBody/index.tsx
259
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
260
- function TableBody({
261
- id,
262
- testid,
263
- columnVirtualizer,
264
- table,
265
- tableContainerRef,
266
- virtualPaddingLeft,
267
- virtualPaddingRight,
268
- pagination,
269
- isLoadingMore,
270
- hasMore,
271
- showFilterRow,
272
- enableColumnSelector = false,
273
- locked,
274
- pinDirection
275
- }) {
276
- const { rows } = table.getRowModel();
277
- const rowVirtualizer = useVirtualizer({
278
- count: rows.length,
279
- estimateSize: () => 40,
280
- getScrollElement: () => tableContainerRef.current,
281
- overscan: 8
282
- });
283
- const virtualRows = rowVirtualizer.getVirtualItems();
284
- const CellElement = locked ? DataGridCell : DragAlongCell;
285
- let headerGroups;
286
- if (pinDirection === "left") {
287
- headerGroups = table.getLeftHeaderGroups();
288
- } else if (pinDirection === "right") {
289
- headerGroups = table.getRightHeaderGroups();
290
- } else {
291
- headerGroups = table.getCenterHeaderGroups();
292
- }
293
- return /* @__PURE__ */ jsxs2(
294
- "tbody",
295
- {
296
- className: clsx3(locked ? "shadow-16" : ""),
297
- style: {
298
- display: "grid",
299
- height: `${showFilterRow ? rowVirtualizer.getTotalSize() + 40 : rowVirtualizer.getTotalSize()}px`,
300
- // tells scrollbar how big the table is
301
- position: "relative"
302
- // needed for absolute positioning of rows
303
- },
304
- children: [
305
- showFilterRow && /* @__PURE__ */ jsx4(
306
- "tr",
307
- {
308
- style: {
309
- display: "flex",
310
- position: "sticky",
311
- top: "40px",
312
- width: "100%",
313
- height: "40px",
314
- zIndex: 10
315
- },
316
- className: "even:bg-background-grouped-primary-normal odd:bg-background-grouped-secondary-normal",
317
- "data-testid": testid ? `${testid}-filter-row` : void 0,
318
- children: headerGroups.flatMap(
319
- (x) => x.headers.map((header) => {
320
- var _a, _b, _c, _d, _e;
321
- return /* @__PURE__ */ jsx4(
322
- CellElement,
323
- {
324
- id: id ? `${id}-filter-cell-${header.id}` : void 0,
325
- testid: testid ? `${testid}-filter-cell-${header.id}` : void 0,
326
- noPadding: true,
327
- cell: header,
328
- width: ((_a = header.column.columnDef.meta) == null ? void 0 : _a.headerWidth) || (locked ? `${header.column.getSize()}px` : ""),
329
- children: header.column.getCanFilter() && ((_e = (_c = (_b = header.column.columnDef.meta) == null ? void 0 : _b.filterRowCell) == null ? void 0 : _c.call(_b, {
330
- header,
331
- table
332
- })) != null ? _e : /* @__PURE__ */ jsx4(
333
- Search,
334
- {
335
- id: id ? `${id}-filter-search-${header.id}` : void 0,
336
- testid: testid ? `${testid}-filter-search-${header.id}` : void 0,
337
- removeRoundness: true,
338
- onChange: (e) => header.column.setFilterValue(e.target.value),
339
- value: (_d = header.column.getFilterValue()) != null ? _d : "",
340
- placeholder: "",
341
- removeSearchIcon: true
342
- }
343
- ))
344
- },
345
- header.id
346
- );
347
- })
348
- )
349
- }
350
- ),
351
- virtualRows.map((virtualRow) => {
352
- const row = rows[virtualRow.index];
353
- return /* @__PURE__ */ jsx4(
354
- TableBodyRow,
355
- {
356
- id,
357
- testid,
358
- columnVirtualizer,
359
- row,
360
- rowVirtualizer,
361
- virtualPaddingLeft,
362
- virtualPaddingRight,
363
- virtualRow,
364
- showFilterRow,
365
- enableColumnSelector,
366
- locked,
367
- pinDirection
368
- },
369
- row.id
370
- );
371
- }),
372
- !pagination && isLoadingMore && hasMore && /* @__PURE__ */ jsx4(
373
- "tr",
374
- {
375
- style: {
376
- display: "flex",
377
- position: "absolute",
378
- width: "100%",
379
- transform: `translateY(${virtualRows[virtualRows.length - 1].start + 40}px)`
380
- },
381
- className: "odd:bg-background-grouped-primary-normal even:bg-background-grouped-secondary-normal",
382
- children: table.getAllLeafColumns().map((column) => /* @__PURE__ */ jsx4(
383
- LoadingCell,
384
- {
385
- id,
386
- testid,
387
- column: column.columnDef
388
- },
389
- column.id
390
- ))
391
- }
392
- )
393
- ]
394
- }
395
- );
396
- }
397
-
398
- // src/components/DataGrid/ColumnSelectorHeaderCell/index.tsx
399
- import { useRef, useState as useState2 } from "react";
400
-
401
- // src/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.tsx
402
- import { useState } from "react";
403
- import { jsx as jsx5 } from "react/jsx-runtime";
404
- function ColumnSelectorMenuOption({
405
- id,
406
- testid,
407
- column,
408
- toggleColumnVisibility
409
- }) {
410
- const [isVisible, setIsVisible] = useState(column.getIsVisible());
411
- const label = typeof column.columnDef.header === "string" ? column.columnDef.header : null;
412
- return /* @__PURE__ */ jsx5(MenuOption, { id, testid, selected: isVisible, defaultChecked: isVisible, children: /* @__PURE__ */ jsx5(
413
- Checkbox,
414
- {
415
- id: id ? `${id}-checkbox` : void 0,
416
- testid: testid ? `${testid}-checkbox` : void 0,
417
- label: label != null ? label : "Unknown",
418
- checked: isVisible,
419
- onChange: (e) => {
420
- setIsVisible(e.target.checked);
421
- toggleColumnVisibility(column.id, e.target.checked);
422
- }
423
- }
424
- ) });
425
- }
426
-
427
- // src/components/DataGrid/ColumnSelectorHeaderCell/index.tsx
428
- import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
429
- function ColumnSelectorHeaderCell({
430
- id,
431
- testid,
432
- table,
433
- toggleColumnVisibility,
434
- resetColumnVisibility
435
- }) {
436
- const ref = useRef(null);
437
- const [show, setShow] = useState2(false);
438
- return /* @__PURE__ */ jsxs3(
439
- DataGridCell,
440
- {
441
- id,
442
- testid,
443
- width: "48px",
444
- type: "header",
445
- color: "text-secondary-normal",
446
- ref,
447
- children: [
448
- /* @__PURE__ */ jsx6(
449
- Button,
450
- {
451
- id: id ? `${id}-button` : void 0,
452
- testid: testid ? `${testid}-button` : void 0,
453
- onClick: () => setShow((prev) => !prev),
454
- variant: "navigation",
455
- iconOnly: true,
456
- leftIcon: /* @__PURE__ */ jsx6(Icon, { name: "tune" })
457
- }
458
- ),
459
- /* @__PURE__ */ jsxs3(
460
- Menu,
461
- {
462
- id: id ? `${id}-menu` : void 0,
463
- testid: testid ? `${testid}-menu` : void 0,
464
- positionTo: ref,
465
- position: "bottom-right",
466
- show,
467
- setShow,
468
- calculateMinMaxHeight: true,
469
- children: [
470
- /* @__PURE__ */ jsx6(
471
- Button,
472
- {
473
- id: id ? `${id}-reset-button` : void 0,
474
- testid: testid ? `${testid}-reset-button` : void 0,
475
- variant: "tertiary",
476
- onClick: () => {
477
- resetColumnVisibility();
478
- setShow(false);
479
- },
480
- children: "Reset to default"
481
- }
482
- ),
483
- table.getAllColumns().filter((x) => {
484
- var _a;
485
- return (_a = x.columnDef.meta) == null ? void 0 : _a.inVisibilityMenu;
486
- }).map((column) => /* @__PURE__ */ jsx6(
487
- ColumnSelectorMenuOption,
488
- {
489
- id: id ? `${id}-option-${column.id}` : void 0,
490
- testid: testid ? `${testid}-option-${column.id}` : void 0,
491
- column,
492
- toggleColumnVisibility
493
- },
494
- column.id
495
- ))
496
- ]
497
- }
498
- )
499
- ]
500
- }
501
- );
502
- }
503
-
504
- // src/components/DataGrid/PinnedColumns.tsx
505
- import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
506
- function PinnedColumns(_a) {
507
- var _b = _a, {
508
- id,
509
- pinDirection = "left",
510
- table,
511
- centerHeader,
512
- allSelectedAcrossPages,
513
- someSelectedAcrossPages,
514
- toggleSelectAllAcrossPages,
515
- testid,
516
- enableColumnSelector,
517
- toggleColumnVisibility,
518
- resetColumnVisibility
519
- } = _b, props = __objRest(_b, [
520
- "id",
521
- "pinDirection",
522
- "table",
523
- "centerHeader",
524
- "allSelectedAcrossPages",
525
- "someSelectedAcrossPages",
526
- "toggleSelectAllAcrossPages",
527
- "testid",
528
- "enableColumnSelector",
529
- "toggleColumnVisibility",
530
- "resetColumnVisibility"
531
- ]);
532
- var _a2;
533
- const headerGroups = pinDirection === "left" ? table.getLeftHeaderGroups() : table.getRightHeaderGroups();
534
- const pinnedTestId = testid ? `${pinDirection}-pinned-${testid}` : void 0;
535
- const hasAnyHeaders = ((_a2 = headerGroups[0]) == null ? void 0 : _a2.headers.length) > 0;
536
- if (!hasAnyHeaders && !enableColumnSelector) return;
537
- return /* @__PURE__ */ jsxs4(
538
- "table",
539
- {
540
- className: clsx4(
541
- "flex flex-col min-h-min sticky z-20",
542
- pinDirection === "left" ? "left-0" : "right-0"
543
- ),
544
- "data-testid": pinnedTestId,
545
- children: [
546
- /* @__PURE__ */ jsx7("thead", { className: "sticky top-0 z-20 grid", children: headerGroups.map((headerGroup) => {
547
- return /* @__PURE__ */ jsxs4(
548
- "tr",
549
- {
550
- "data-testid": pinnedTestId ? `${pinnedTestId}-header-row-${headerGroup.id}` : void 0,
551
- className: "flex w-full",
552
- children: [
553
- headerGroup.headers.map((header) => {
554
- var _a3, _b2, _c;
555
- if (!header) {
556
- return;
557
- }
558
- if (typeof header.column.columnDef.header === "string") {
559
- const customHeaderWidth = (_a3 = header.column.columnDef.meta) == null ? void 0 : _a3.headerWidth;
560
- return /* @__PURE__ */ jsxs4(
561
- DataCellHeader,
562
- {
563
- locked: true,
564
- testid: pinnedTestId ? `${pinnedTestId}-header-${header.id}` : void 0,
565
- header,
566
- center: centerHeader,
567
- width: customHeaderWidth,
568
- className: clsx4(
569
- header.column.getCanSort() ? "cursor-pointer" : "cursor-grab",
570
- "group"
571
- ),
572
- children: [
573
- /* @__PURE__ */ jsx7(Subheader, { tall: true, children: header.column.columnDef.header }),
574
- getSortIcon(header.column.getIsSorted()),
575
- !header.column.getIsSorted() && header.column.getCanSort() && getSortIcon(header.column.getNextSortingOrder(), true),
576
- header.column.getSortIndex() !== -1 && table.getState().sorting.length > 1 && /* @__PURE__ */ jsx7(Subheader, { tall: true, children: header.column.getSortIndex() + 1 }),
577
- !((_b2 = header.column.columnDef.meta) == null ? void 0 : _b2.locked) && /* @__PURE__ */ jsx7(
578
- "div",
579
- {
580
- onDoubleClick: (e) => {
581
- e.stopPropagation();
582
- header.column.resetSize();
583
- },
584
- onMouseDown: (e) => {
585
- e.stopPropagation();
586
- header.getResizeHandler()(e);
587
- },
588
- onTouchStart: (e) => {
589
- e.stopPropagation();
590
- header.getResizeHandler()(e);
591
- },
592
- className: "absolute right-0 inset-y-0 w-px bg-black cursor-col-resize"
593
- }
594
- )
595
- ]
596
- },
597
- header.id
598
- );
599
- }
600
- return /* @__PURE__ */ jsx7(React2.Fragment, { children: ((_c = header.column.columnDef.meta) == null ? void 0 : _c.checkbox) ? /* @__PURE__ */ jsx7(DataGridCell, { type: "header", component: "checkbox", locked: true, children: /* @__PURE__ */ jsx7(
601
- Checkbox,
602
- {
603
- checked: allSelectedAcrossPages,
604
- indeterminate: someSelectedAcrossPages,
605
- onChange: toggleSelectAllAcrossPages
606
- }
607
- ) }) : flexRender2(
608
- header.column.columnDef.header,
609
- header.getContext()
610
- ) }, header.id);
611
- }),
612
- enableColumnSelector && /* @__PURE__ */ jsx7(
613
- ColumnSelectorHeaderCell,
614
- {
615
- id: id ? `${id}-column-selector` : void 0,
616
- testid: testid ? `${testid}-column-selector` : void 0,
617
- table,
618
- toggleColumnVisibility: toggleColumnVisibility != null ? toggleColumnVisibility : () => {
619
- },
620
- resetColumnVisibility: resetColumnVisibility != null ? resetColumnVisibility : () => {
621
- }
622
- }
623
- )
624
- ]
625
- },
626
- headerGroup.id
627
- );
628
- }) }),
629
- /* @__PURE__ */ jsx7(
630
- TableBody,
631
- __spreadProps(__spreadValues({
632
- testid: pinnedTestId
633
- }, props), {
634
- table,
635
- locked: !enableColumnSelector,
636
- pinDirection
637
- })
638
- )
639
- ]
640
- }
641
- );
642
- }
643
-
644
- // static/no-results-image.png
645
- var no_results_image_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAMPWlDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnltSIbQAAlJCb4JIDSAlhBZAehFshCRAKDEGgoodWVRwLahYwIauiih2QOyInUWx9wURFWVdLNiVNymg677yvck3M3/+OfOfM+fOLQOA+kmuWJyDagCQK8qXxIYEMMYmpzBITwEFkOEPBd5cXp6YFR0dAWAZ7P9e3t0EiKy/5iDT+uf4fy2afEEeDwAkGuI0fh4vF+KDAOBVPLEkHwCijDefmi+WYViBtgQGCPFCGc5Q4CoZTlPgvXKb+Fg2xC0AkFW5XEkGAGpXIM8o4GVADbU+iJ1EfKEIAHUGxL65uZP5EKdCbANtxBDL9JlpP+hk/E0zbUiTy80Ywoq1yAs5UJgnzuFO/z/T8b9Lbo500IcVrKqZktBY2Zph3m5nTw6XYVWIe0VpkVEQa0H8QciX20OMUjOloQkKe9SQl8eGOQO6EDvxuYHhEBtCHCzKiYxQ8mnpwmAOxHCHoNOE+Zx4iPUgXijIC4pT2mySTI5V+kLr0yVslpI/z5XI/cp8PZRmJ7CU+q8zBRylPqZWmBmfBDEVYosCYWIkxGoQO+Zlx4UrbUYXZrIjB20k0lhZ/BYQxwpEIQEKfawgXRIcq7Qvzc0bXC+2KVPIiVTi/fmZ8aGK/GAtPK48frgW7IpAxEoY1BHkjY0YXAtfEBikWDv2TCBKiFPqfBDnB8Qq5uJUcU600h43E+SEyHgziF3zCuKUc/HEfLghFfp4ujg/Ol4RJ16YxQ2LVsSDLwMRgA0CAQNIYU0Dk0EWELb1NvTCf4qRYMAFEpABBMBByQzOSJKPiGAbBwrBnxAJQN7QvAD5qAAUQP7rEKtoHUC6fLRAPiMbPIE4F4SDHPhfKp8lGvKWCB5DRvgP71xYeTDeHFhl4/+eH2S/MyzIRCgZ6aBHhvqgJTGIGEgMJQYTbXED3Bf3xiNg6w+rM87EPQfX8d2e8ITQTnhEuEHoINyZJCyS/BTlGNAB9YOVuUj7MRe4FdR0wwNwH6gOlXFd3AA44K7QDwv3g57dIMtWxi3LCuMn7b+t4IerobSjOFFQyjCKP8Xm55lqdmpuQyqyXP+YH0WsaUP5Zg+N/Oyf/UP2+bAP/9kSW4gdwM5hp7AL2FGsATCwE1gj1oodk+Gh3fVYvrsGvcXK48mGOsJ/+Bu8srJM5jnVOvU4fVGM5QumyZ7RgD1ZPF0izMjMZ7DgG0HA4Ih4jiMYzk7OLgDI3i+Kx9ebGPl7A9Ft/c7N/wMAnxMDAwNHvnNhJwDY5wFv/8PfORsmfHWoAHD+ME8qKVBwuKwhwKeEOrzT9IExMAc2cD3OwB14A38QBMJAFIgHyWAijD4T7nMJmApmgnmgBJSBZWAVWAc2gi1gB9gN9oMGcBScAmfBJXAF3AD34O7pBi9AH3gHPiMIQkJoCB3RR0wQS8QecUaYiC8ShEQgsUgykopkICJEisxE5iNlSDmyDtmM1CD7kMPIKeQC0o7cQTqRHuQ18gnFUFVUGzVCrdCRKBNloeFoPDoBzUCnoIVoMboEXYNWo7vQevQUegm9gXagL9B+DGAqmC5mijlgTIyNRWEpWDomwWZjpVgFVo3VYU3wOl/DOrBe7CNOxOk4A3eAOzgUT8B5+BR8Nr4YX4fvwOvxFvwa3on34d8INIIhwZ7gReAQxhIyCFMJJYQKwjbCIcIZeC91E94RiURdojXRA96LycQs4gziYuJ64h7iSWI7sYvYTyKR9En2JB9SFIlLyieVkNaSdpFOkK6SukkfyCpkE7IzOZicQhaRi8gV5J3k4+Sr5KfkzxQNiiXFixJF4VOmU5ZStlKaKJcp3ZTPVE2qNdWHGk/Nos6jrqHWUc9Q71PfqKiomKl4qsSoCFXmqqxR2atyXqVT5aOqlqqdKlt1vKpUdYnqdtWTqndU39BoNCuaPy2Flk9bQquhnaY9pH1Qo6s5qnHU+Gpz1CrV6tWuqr1Up6hbqrPUJ6oXqleoH1C/rN6rQdGw0mBrcDVma1RqHNa4pdGvSdccpRmlmau5WHOn5gXNZ1okLSutIC2+VrHWFq3TWl10jG5OZ9N59Pn0rfQz9G5tora1Nkc7S7tMe7d2m3afjpaOq06izjSdSp1jOh26mK6VLkc3R3ep7n7dm7qfhhkNYw0TDFs0rG7Y1WHv9Ybr+esJ9Er19ujd0Pukz9AP0s/WX67foP/AADewM4gxmGqwweCMQe9w7eHew3nDS4fvH37XEDW0M4w1nGG4xbDVsN/I2CjESGy01ui0Ua+xrrG/cZbxSuPjxj0mdBNfE6HJSpMTJs8ZOgwWI4exhtHC6DM1NA01lZpuNm0z/WxmbZZgVmS2x+yBOdWcaZ5uvtK82bzPwsRijMVMi1qLu5YUS6ZlpuVqy3OW762srZKsFlg1WD2z1rPmWBda11rft6HZ+NlMsam2uW5LtGXaZtuut71ih9q52WXaVdpdtkft3e2F9uvt20cQRniOEI2oHnHLQdWB5VDgUOvQ6ajrGOFY5Njg+HKkxciUkctHnhv5zcnNKcdpq9O9UVqjwkYVjWoa9drZzpnnXOl83YXmEuwyx6XR5ZWrvavAdYPrbTe62xi3BW7Nbl/dPdwl7nXuPR4WHqkeVR63mNrMaOZi5nlPgmeA5xzPo54fvdy98r32e/3l7eCd7b3T+9lo69GC0VtHd/mY+XB9Nvt0+DJ8U303+Xb4mfpx/ar9Hvmb+/P9t/k/Zdmysli7WC8DnAIkAYcC3rO92LPYJwOxwJDA0sC2IK2ghKB1QQ+DzYIzgmuD+0LcQmaEnAwlhIaHLg+9xTHi8Dg1nL4wj7BZYS3hquFx4evCH0XYRUgimsagY8LGrBhzP9IyUhTZEAWiOFEroh5EW0dPiT4SQ4yJjqmMeRI7KnZm7Lk4etykuJ1x7+ID4pfG30uwSZAmNCeqJ45PrEl8nxSYVJ7UMXbk2FljLyUbJAuTG1NIKYkp21L6xwWNWzWue7zb+JLxNydYT5g24cJEg4k5E49NUp/EnXQglZCalLoz9Qs3ilvN7U/jpFWl9fHYvNW8F3x//kp+j8BHUC54mu6TXp7+LMMnY0VGT6ZfZkVmr5AtXCd8lRWatTHrfXZU9vbsgZyknD255NzU3MMiLVG2qGWy8eRpk9vF9uIScccUrymrpvRJwiXb8pC8CXmN+drwQ75VaiP9RdpZ4FtQWfBhauLUA9M0p4mmtU63m75o+tPC4MLfZuAzeDOaZ5rOnDezcxZr1ubZyOy02c1zzOcUz+meGzJ3xzzqvOx5vxc5FZUXvZ2fNL+p2Kh4bnHXLyG/1JaolUhKbi3wXrBxIb5QuLBtkcuitYu+lfJLL5Y5lVWUfVnMW3zx11G/rvl1YEn6kral7ks3LCMuEy27udxv+Y5yzfLC8q4VY1bUr2SsLF35dtWkVRcqXCs2rqaulq7uWBOxpnGtxdpla7+sy1x3ozKgck+VYdWiqvfr+euvbvDfULfRaGPZxk+bhJtubw7ZXF9tVV2xhbilYMuTrYlbz/3G/K1mm8G2sm1ft4u2d+yI3dFS41FTs9Nw59JatFZa27Nr/K4ruwN3N9Y51G3eo7unbC/YK937fF/qvpv7w/c3H2AeqDtoebDqEP1QaT1SP72+ryGzoaMxubH9cNjh5ibvpkNHHI9sP2p6tPKYzrGlx6nHi48PnCg80X9SfLL3VMapruZJzfdOjz19vSWmpe1M+JnzZ4PPnj7HOnfivM/5oxe8Lhy+yLzYcMn9Un2rW+uh391+P9Tm3lZ/2eNy4xXPK03to9uPX/W7eupa4LWz1znXL92IvNF+M+Hm7Vvjb3Xc5t9+difnzqu7BXc/35t7n3C/9IHGg4qHhg+r/7D9Y0+He8exzsDO1kdxj+518bpePM57/KW7+AntScVTk6c1z5yfHe0J7rnyfNzz7hfiF597S/7U/LPqpc3Lg3/5/9XaN7av+5Xk1cDrxW/032x/6/q2uT+6/+G73Hef35d+0P+w4yPz47lPSZ+efp76hfRlzVfbr03fwr/dH8gdGBBzJVz5pwAGK5qeDsDr7QDQkgGgw/MZdZzi/CcviOLMKkfgP2HFGVFe3AGog9/vMb3w6+YWAHu3wuMX1FcfD0A0DYB4T4C6uAzVwbOa/FwpK0R4DtgU8zUtNw38m6I4c/4Q9889kKm6gp/7fwGzpHxhF3rKVwAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAACAKADAAQAAAABAAACAAAAAAAoMJe/AABAAElEQVR4Ae2dPXRkx3XnKR+fM1I0ZDRS1FAEKgIVgY6aiiBFMJ3gKGrLCXYjHG8yq01aTsZ2AnsT2E7GcjJrJZCdwHIyIpMhmYBUAonJEExGZDIkkxEZce+fnKfpAfrjfVS9ulX1u+fUdOP1e1X3/upW1a2P7nnhBQQCEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAgAt8AAwQgEI3ADcv51YXc9f6bC3/r7Y6lF69ca/vn7+zGj6/cfGl/K0k+tfSbr97xDwQgAIErBAgArgDhTwi0JNAM3K/Y/RrAdy1pcN+y9F1LHuUtU+pzS5eWPrSkAOKjp69XAwm7jEAAAiUTIAAouXaxbSiBbcvgZUsa5BcH/JeGZuz0+d+aXk1AoADhbUvvWfrMEgIBCBRGgACgsArFnF4EbtpTGuSVmkH/B71yKvOh35tZWi148+nrpb2+YwmBAAQyJkAAkHHloXpvAlquf82SXl+19B1LSHcC79ojWiVQMPCGpQ8tIRCAQCYECAAyqSjU7E1As3sN8tOnrz/onRMPbiKglQIFBG8+fWWVYBMxPodAQgIEAAnhU3QUAjcs1x9a2rekgf97lpB0BH5tRf+3pV9Z4hsJ6eqBkiFwjQABwDUkXMiQgPbtNejvWfpRhvrXorJWCBQINAEBhwtrqXnsdEmAAMBltaDUBgLNLF8Dvgb+7264n499EnjL1PpPS6wO+KwftIIABCDggoD28meWTi19SSqOwSOr0xNLOquBQAACEIBA5QQY9OsMdggGKm/4mD8OAbYAxuFMKe0JaND/c0s6xPd6+8e4s1ACOjfwH5Z+YenNQm3ELAhAAAJVE9B+/j1LLO/DYJUPaGXgjqWJJQQCEIAABDImcMt0v23poaVVnT7XYbPMB87MZw4sIRCAAAQgkBEBZvsM6ssG9T7XWBXIqOGjKgQgUCcBZvsM+n0G+C7PsCpQZ9+C1RCAgFMC26bXXUtPLHXpzLkXXn19QFtKR5Z0oBSBAAQgAIGRCUytPM3I+nbiPAe7oT7w2PxPhwa1+oRAAAIQgEBkAjPL/9zS0M6b52EY0ge0CrUT2ffJHgIQgEB1BG6YxTrNrwNZITtt8oJnaB+4bz46tYRAAAIQgMAAAhr4tdfKwM9AHXqgjp0fgcCAhs+jEIBA3QQY+Bn0Yw/SY+SvQGC37qaM9RCAAATaEZjZbQ8tjdE5Uwacx/IB/SdTnBFo1wdwFwQgUBkBBn4G47EG45TlEAhU1rFhLgQgsJrA1D7iVD+Df8pBOUXZJ+b3fH1wdb/AJxCAQMEEJmabZkMpOl/KhLsHH3hs/q9vt+iwKwIBCECgeALq7PTjKfxyH4Owh0HYgw4X1h72im/5GAgBCFRN4MCs5yt9DPweBl2POuiXLber7iEwHgIQKI6Avgb1wJLHThedqBdvPnBsbeVmcb0ABkEAAlURUCem5X5vHSz6UCfefUArZftV9RYYWxyBbxRnEQa1JaA9zX+19J22D3AfBCBwjcB/2ZWfWPr42idcgIBzAgQAzisognq3LM+/taROC0lL4F0r/tOBKrxiz780MA8eH0bgE3v8p5b+ZVg2PA2BcQkQAIzLO3VpM1PgHywxYMSriV9b1p9beudpEZf2qiRZvP71lbD/6oDat59muWWvSpIdSy9aIlgQjXjylmWtwPr9eEWQMwTCESAACMfSc04TU+6fLP3Is5KZ6PYH0/NtS+9Z+szSG5Ykb379ksW/u6blNy29+vR1aq9blr5rCRlGQP7xN5b+flg2PA2B+AS+Eb8ISkhM4MDK/ydLzPq7V8QH9ogG+t9Y0qD/O0sfWipVbphhCgq0UqCgUa/6+1uWkG4EtBrwY0sl+0s3ItwNAQiMRkCduX7O9EtSKwb64SP9z3BzS1NL4od8TUDBgAJJ+RM/C92+TemXBPctIRCAAARGI7BtJdFRr++oL4zRXUuHlrRHjrQnoOBIQZKCpTNLCp6+JK1koN8NIKA0CAgEIBCXgGZqmnnQIT/PQIPUqSUN+BNLSFgCe5adBjoFVvjedQb6oS38ziAgEIBAeAKaYWhGS+f7jIEGIw1KGpyQ8QhooFOgpYCL1YFn/vjYeChARyAAAQgEI7BtOTHz+rqjfWgs9OuGzLaCudfgjLQPfs8SwcDXPnpiLBSwIxCAAAQGEZjZ07V3rJpZafVjOogkD8cmcNMKkL/et/Rl5enc7FfgjkAAAhDoTEAziNqX/LXErCVVZlOd3Sf5AxPT4Lalmleu2BJI7oYoAIH8CGjmUGvHqZnToaVb+VUbGq8goG9haFn8kaUaVwZkO0GsQUAgAIH1BDT4PbFUU0fZ7Osr8EHKJlDreQEF9Ph32b6NdRDoTUD7pzpIVcvAryCHff3e7pL9g815gQeV+fws+5rDAAhAICiBieWmGUINg78G/mNLLPEbBOQrAlP7t6aDgyfUOwQgAAER0P6olsBLH/x1IIqB3yAgKwkoEDizVHpbkH1a7eNcgEFAIFArgV0zXANjyR2e7Jtb0pIvAoE2BBQUn1oquV3INgU7tAuDgECgNgJ7ZrCWw0vt5HTim4G/Nq8Oa68CgdLPxZybjQQBYf2G3CDgmsDMtCt54D8y+1jedO2CWSk3MW11YLTUNqMtQNmIQAAChRPQj6OU2JGpE2PgL9x5E5vXBAIlrpxpxUwrHggEIFAogWOzq7TBXx3XrND6wiyfBPQNkhLb0mOza+oTOVpBAAJ9CWg5vLQlTM3C7lhiqb+vV/DcUALblsF9SyUF1WpX+0PB8DwEIOCDgAbIM0sldVKyR50vAgEPBA5MCa1EldTGZh7AogMEINCfwE17VKd8S+mY1Mmqs0Ug4I2A2lpp2wJzb5DRBwIQaEdgYreVNPhruV+dLAIBzwR2TLkHlkoJuhXUIBCAQEYEtDyuU/EldELqTNWpIhDIicChKfvYUgltUOeHtJWIQAACzglosCyh49Fy/8w5a9SDwDoCWrE6sVRCEKBzNwQB62qbzyCQmEApg786TXWeCARKILBrRpSwHUcQUII3YkORBCZmlWbNOc82tNyvzhKBQIkEjsyo3Ffn7pVYMdgEgZwJaLac+57/POcKQHcItCRwy+5ToJtzoH7c0lZugwAEIhPQ4J/z8qJWLaaRGZE9BLwRuGMK5RwEELB78yj0qY6ADuVoXy7XjkS/oqYZEQKBGgnsmdE5bwnMaqw0bIaAFwLaj8t18GcG4cWL0CMlgdy3BBTEIBCAwMgEtA+X4+DPkv/IjkJxWRDIdUvgidHl4G4WLoaSpRDQ7DnHwV/bFXy9rxQvxI7QBKaWoQLk3Nq2tjF2QsMgPwhA4DqBmV3KrYOQvrevm8IVCEDgCgFtCehsTG5tXN9CmlyxhT8hAIGABLTfllvHoBkNS4QBnYCsqiAwNytza+sXpjMrfFW4J0aOTUCDqPbbcuoUWPIf20soryQCUzMmty2BB6azvp2EQAACgQhofy23rwux5B+o8smmagI5bgko8CcIqNptMT4UgYlllNOv/GmVYhbKePKBAAS+GkxPjUNOq393qTcIQGAYAe2nXVjKpeFr8Od7wcPqnKchsIqABtVc+gLpeWeVIVyHAAQ2E7hvt+TS4Pkq0Ob65A4IDCUwtwxy6ROk52yowTwPgRoJ5NTQtUWxXWMlYTMEEhA4tDJzCQK0KkjfkMBJKDJfAlNTPZcGfm66TvJFjeYQyJLAgWmtwTWHfkLbmDeypIzSEBiZgE795vLVH33lh+/9juwgFAeBpwT27DWXbwdxKBC3hUALArns+5+ZLUT1LSqUWyAQkUBOXxGeReRA1hDInsDcLMhhSY9oPntXw4CCCEzMFp3D8d53cB6gIKfDlLAEphk0YHUwfLUnbL2TGwRCENDWoc7jeA8COA8QorbJoygCuez7HxVFHWMgUBYBncfJYQuRFcSy/A5rBhLIodEeDrSRxyEAgfgEdC4nh/5kFh8FJUDAP4G5qeh92U46IhCAQB4EtBLgfTuA8wB5+BJaRiQwtby9D/4nEe0nawhAIA4BbSs+tOS5f+E8QJy6J9cMCOSw73+aAUdUhAAElhOY2GXvvxPAeYDldcfVwgl436eTfnzPv3AnxLziCeh3ArTc7nklYFZ8LWAgBBYIzO295wap/UPtIyIQgED+BPbMBM9BgHTbzh8zFkBgM4Gp3eJ58Ne+4WSzGdwBAQhkRGBmunrudzgPkJEzoWo/AlpS9/w7/9ovZPDvV7c8BQHvBI5MQc9BAD8y5t2D0G8QgWPHDVDLcNovRCAAgXIJaJD1HATQB5Xre1Vbtuu44Wnw1z4hAgEIlE9AJ++9BgE6f6SVUgQCxRCQQ8uxvTa6WTGkMQQCENhEQP3RmSWv/dHtTQbwOQRyIjA3ZWlsOdUYukKgbAKeJyVakdwuGz/W1UJAjiyH9hgAaCkQgQAE6iTg+cfI9DskCASyJ/DALPA4+F+YXpoFIBCAQL0Epma6x/5JOh3WWy1YXgIBObDHxsUSWwnehQ0QCENgbtl47Kf0tWStUiAQyI6AHNfr0v8sO5ooDAEIxCSgJXePQcC9mEaTNwRiETixjD02KPb9Y9U4+UIgXwKezwPs5osVzWskoB+z8Dj4s+9fozdiMwTaEZjabR77LX2FGoFANgQ8Lqex75+N+6AoBJIRmFvJHoOAWTIiFAyBDgT27V4aUAdg3AoBCLgi4HEC88gI8a0lV26CMlcJyEHlqN4CAPb9r9YUf0MAAqsIeD0PcLxKYa5DwAOB26aEt8GffX8PnoEOEMiLwNTU9daXaRtzkhdGtK2FgKJmOainRsO+fy3eh50QCE9gbll66s+ky2l4M8kRAsMJ6Puq3hrLbLhZ5AABCFRMwON5gGnF9YHpDgl4/Nof+/4OHQWVIJAZAY/nAfhaYGZOVLq6WpbyNPvXQcSbpUPHPghAYBQCB1aKp/5NuujbVggEkhPwOPufJaeCAhCAQEkEvG0FsApQkndlbIu32f+DjFmiOgQg4JOAJjreDjmzCuDTV6rRyuPsXzohEIAABEITOLYMPW0FsAoQuobJrxMBb7N/NVAEAhCAQAwCHn/ojFWAGDVNnhsJeJv96+AfP5W5sdq4AQIQGEBAAy6rAAMA8mgZBM6cNQSd1EUgAAEIxCbgre9jFSB2jZP/cwS8zf51QheBAAQgMAaBbSvE04FAzgKMUeuU8UcCnvb+1RAVkCAQgAAExiJwxwrytBXAKsBYNV95ORNnjq+GiEAAAhAYk4DOGz205CUI0LYEAoHoBHTS3ovTc/AvenVTAAQgsIKAZt1e+kLpwUroiorichgC3v7HP5a9wtQruUAAAv0IeNoOvdfPBJ6CQDsCR3abl4iXJa92dcZdEIBAPAITy9rLgUDpoUkaAoHgBLz9CIZO4iIQgAAEUhPwtC0qXRAIBCcwsxy9zP617IZAAAIQ8EDA09boYwOiyRoCgaAEzi03LwEAh12CVi2ZQQACAwlo5u2lf9RWLQKBYAR2LScvzs3sP1i1khEEIBCIgKdVgItANpENBL4icNf+9RIAMPvHKSEAAY8EPK0CTD0CQqf8CNw0lb2ccmX2n5//oDEEaiHgaRWArwTW4nWR7dR+ErP/yJDJHgIQKIKAl1UAvhJYhDulN+LcVPAQAJylR4EGEIAABNYSmNinHvpL6cBhwLVVxYebCHg6/Le/SVk+hwAEIOCAgLYqPQQBHAZ04Aw5q+Dl8J9WIRAIQAACORDYMSU9BADSYZoDMHT0R+CmqeTl8B+zf3/+gUYQgMBqAl5WATgMuLqO+GQNgUP7zEMUy+x/TSXxEQQg4JKAl1UATeI0mUMg0InAfbvbQwDA7L9TtXEzBCDghICXVYCZEx6okQkBfZ/Vw+DP7D8Th0FNCEDgGgEvqwB8g+pa1XBhHQEvy//M/tfVEp9BAALeCWjwTT2ZYhvAu5c408/D8v9jY8L/auXMMVAHAhDoRODA7k4dAKj8WSetublaAl6W/0+qrQEMhwAESiGgSYwmM6mDALYBEnjUnyQoc2iRfz40g0DP/1ugfMgGAhCAQCoCX1jB/56q8IVyX7P3fBtgAQhvlxPwsPz/cLlqXIUABCCQHYGpaZx6BUDlz7Ijh8KjEvCy/D8f1WoKgwAEIBCXgCY1qYMAtgHi1vG13HPbAvCy/P/zayS5AAEIQCBfAh62NF8zfGwD5OtD0TX3sPwvHRAIQAACJRGYmDGpVwBU/qwkqN5tyWkFQKdVX3UA9BcOdEAFCEAAAiEJfGiZvRUyw555TXs+x2OFE9CP7qSOUPnBisKdDPMgUDGBQ7M9dR+rryQiIxHIaQVgbyQm64r5D/vws3U38BkEIACBTAno64B/SKz7S1b+bmIdqik+pwDghw5qxcNBGQcYUAECECiQgCY3muSkFg99fWoGlL9AYNvep16aemQ63FjQibcQgAAESiPgYav1QWlQvdqTywqAh4hQy2P61SwEAhCAQKkEfmWG/T6xcX9m5fN1wBEqIZcAQFFpamH5P3UNUD4EIBCbgJefBvbymy+xeZP/BgJadtfp+5RbABcbdORjCEAAAqUQ0CG8lP2tyr5bCkzsGEbAw57UfJgJPA0BCEAgKwKpfxqYrwOO4C45bAG8MgKHTUVoXwyBAAQgUAuB1H2evg44qQV2KjtzCACmqeA8LfcTe30nsQ4UDwEIQGBMAv89ZmErynptxXUuByLgPQDQ/n/qn//18L3YQNVNNhCAAARaEdAKQOofBeIHgVpVVf+bvAcAL5tp3+pvXpAn3wySC5lAAAIQyIeAvg3wdmJ1U0/+Epsfv3jvAcBr8RFsLIEVgI2IuAECECiQwH8mtun7Vj6/BxCxErwHAKn3/98y9vp5TAQCEIBAbQRSHwQU79dqgz6mvd4DgNRLQB4OwozpD5QFAQhAoCHwvr35oPkj0auHb4ElMj1+sZ4DAH0F5DvxEawt4Y21n/IhBCAAgbIJvJHYvNSrwInNj1u85wAg9exfJ2BTH4KJW/vkDgEIQGA9gdSHoFOPA+vpZP6p5wAg9VdAfmd1q5OwCAQgAIFaCbyX2HB9C2w7sQ7FFu85ANBXAFPKGykLp2wIQAACDgj8xnTQj6GlFM4BRKLvOQBIXen8+l8kpyNbCEAgKwKpt0J3sqKVkbJeAwB99zP1AcDUTp+RG6EqBCBQMIHUk6HUq8HFVq3XACD1wQ999eXDYmsdwyAAAQi0J/BG+1uj3Jl6PIhilIdMvQYAqSO+1AdfPPgGOkAAAhAQgdT9oVaD+UXACL7oNQBIveeTeskrQlWTJQQgAIFeBPRrqL/t9WS4h1JPCsNZ4ignrwFA6gOAqSNeRy6CKhCAAASSrwKwDRDBCb0GAKmjPQKACM5GlhCAQLYE9HXAlMJvAUSg7zEAUEXrxx9SySdW8MepCqdcCEAAAg4J6IfRUkrqVeGUtkcr22MAsBXN2nYZp3b0dlpyFwQgAIHxCKTuF7fGM7WekggArtc1y//XmXAFAhCom8D7Zr5WR1OJvglwI1XhpZbrMQDQ/wKYUlLvdaW0nbIhAAEIrCLAKsAqMple9xgAbCVmyQpA4gqgeAhAwCWB1H3jlksqGStFAHC98lJHudc14goEIACB9AS0DZBStlIWXmLZBADP16r2uPSjFwgEIAABCDxP4PL5P0f/K/X28OgGxy7QWwCgQx467JFKLlMVTLkQgAAEnBO4TKzfVuLyiyveWwCQuoIvi6thDIIABCAQhsBlmGx657LV+0keXEqAAOB5LJfP/8lfEIAABCDwlIC2R1N+FXCLmghLwFsA8O2w5nXOjf8CuDMyHoAABCoicJnQ1pTbwwnNjle0twBgK56prXK+bHUXN0EAAhCok8BlYrM5CBiwArwFADcD2tYnq8s+D/EMBCAAgUoIXCa285uJyy+qeG8BwIuJ6fIbAIkrgOIhAAHXBFJvk6beJnZdOV2V8xYApK7cL7oC5H4IQAACFRH4NLGtqceIxOaHLd5bAJByeeeDsGjJDQIQgEBxBC4TW5RyjEhsevjivQUAW+FNbJ1j6si2taLcCAEIQCARgdT95FYiu4ss1lsAkPIMQGrHLtLBMAoCECiKQOp+kv8SOKA7eQsAXgpoW9esLrs+wP0QgAAEKiPAIcCCKtxTAHArMdfUkW1i8ykeAhCAQCsCKX8NkEOAraqo3U2eAoDUhzv4XwDb+Qx3QQACdRNIOVlKPU4UVfOeAoDUYC9TK0D5EIAABDIgcJmBjqjYgoCnAIDIrkWFcQsEIACBigkwTgSsfE8BAHs7ASuWrCAAAQgUSIBxImClegoAAprVK6vPez3FQxCAAATqIpDyDEBdpCNbSwDwDPBHz97yDgIQgAAEVhAgAFgBJrfLBAC51Rj6QgACEIAABAIQ8BQAcLgjQIWSBQQgAIGCCTBOBKxcTwEAhzsCVixZQQACECiQwHcKtCmZSZ4CgGQQKBgCEIAABCBQGwECgNpqHHshAAEIQAACRoAAADeAAAQgAAEIVEjAUwDA1/AqdEBMhgAEIACBNAQ8BQCpf4iH06VpfJBSIQCBvAik7Ct/nxcq39r+qW/1RtWObyGExT1tmd2l3Zf6/xhvqSq3QQACRiBlX5l6oliUA3gKAKhY365109R7xdLLltQBNAO83n/PUkj5g2X29tMML+1VAYL+/sjSbywhEIAABCAwkICnAECdO5KegAb2Fy1psN+2pAH+B5bGlG9ZYevK/MA+v7SkoOBjS+9ZurTESoJBQCAAAQi0IeApAGijb8x7NNDVJprVv2pJg/5rlv7MUg7yXVNS6WqQoP3BNyy9+fT1fXtFIACBsAS2wmZHbqkIEAA8I//NZ2+LfacB/zVLzYD//cIs1a+E/fhpkmmfWHrDUhMQsH1gMBAIQAACIuApAPiUKglO4Ibl+ENLpQ74m4C9ZDe8/jTp3sWA4Ff2NysEooJAIB8CjBP51FVnTb+0J1KlO5219fvAvql219ITS6l45lDuhfE5sjSxhEAAAu0IpOxX7rdTkbtyJJBy0NCAmbPsmPInlh5ZSskx17LVscws3bSEQAACqwmkbOP3VqvFJ7kTSOlYOUaWE6vwuaWHllKyK61sdTIHlhAIQOA6gZTtPfeJ2nWaXPkjgZSzVy0H5yCaoR5aOreUsiHWUPZjY6wOZ9cSAgEIvPCCzhWlbPtzKqFcAikHNe1reZZbppycX4NSygZYa9laIdqzhECgZgLbZnzKPuB2zfBD2+7p/wKQbSl/DEg/PuNx/1cD/7GlDyz9zJJOtiPjE9BvDuibAwpS98cvnhIh4ILAVmItUo4RiU0PXzwBwPNMPf0Y0MRU0/KzHP6vLSlAQdIT+L6p8B+WHlqapVcHDSAwKoGtUUu7Xtjn1y9xpS8BbwHAh30NCfSchwBgx2w5tXRp6SeWEJ8Evmtq/dySzq0cWdLeKAKB0gloYpJSWAEISN9bAHAZ0LY+WW31eSjQMzpodmZJv2uvH69B8iCgXx/8R0vaoplbIhAwCEixBLYSW8YPAQWsAG8BQOroLsUKgPb4tdT/tqUfBaxbshqXgAKBn1lSIMAZAYOAFElgK7FVl4nLL6p4AoDnq3Ps5S0tHf/WEkv9z9dDzn8pENAZAa3m6MQ0AoGSCGwlNOYPVvZnCcun6MgENBv+MlHSLFzljyG7VohOk6eylXLHYa+vlt6xxLaAQUCyJyA/Ttl3XGRPEAM2EhjbwTQQa0AeQxRgKNAY20bKS8tcBwXZFhijhVFGTAJa0UrZl2hVDSmcgL5eNZaT6bT9WLMzLfc/HtG2sRhSTnt/ZVvAGgCSLYE90zxle9fkCQlIwNsZAJk21kHAf7Cy/sLSFyo0ojTL/Top/lLEcsjaPwEd8nzXEtsC/usKDa8T2Lp+adQrqb8mPqqxYxTmMQC4HMHw/2Fl/K8RyrltZeh0v348BoGACOgHnX5q6S1LWlJFIJALgUliRS8Tl19c8TUGAH9ptfgvkWvypuWv5d6/i1wO2edLQEGhgoCDfE1A88oIbCW2d6zV4cRm1l28OsRY+0yzEdBqyV+HvmLZQL7lsT0xf7kxgm9SBASGEEj9zSVWzIbUXibP7pieMQa5MQb/eSTdY/Agzzh+1pfrhfkOHVwmnVSFaipA7evbIZ57UiHzKk2O4WiHkUnesvzvWwrh6ORRL0d1crPIvkr2EOhDQCubKfsmrT4glRDQbCiUs+nEdUyZWuYs+Yerr1D1nnM++rqTAmEEAl4IHJkiKdvUPS8gStLD4yFA8f1dIMi/tHz+T6C8lmUzt4tvWNLPvyIQCEVAPw39rqXtUBmSDwQGEtDWbEp5P2XhpZZdcgDwllXajyNVnGZnikh/Fil/soXA9wyBfHgKCgg4IPBKYh1CTQoTm0HxbQjs201Dlpv0a4Lal48hNy1T9vuH1c+Quq3tWZ0LOIjhyOQJgZYENOFJ3e5Sr0C0RMVtIQhsD3A4dZh6PoYoqEj9VZjUDZHy03SGhzEcmjwh0IJA6gOA6nMUhCAVEdBA3mewiTVbUlChlYU+OvEM3EL4wJ2K2j+m+iGg4DOE//bNQ4fCkQgE/jRCnqGy1J5P15/Q/Qd75hehFFjIR8tPv7bEb/kvQHn69hN7fc+S6uvjp9eal0t7o7RKXlvywdSuvWipa90vyaq4Sz81i75t6a+KswyDPBNIvfyu/gWJQKCkAEADdIzf99+zfH9pSb/hXqs0g/ylAdB/yKEG+amlNy0NkU3PTyzzLUuvWHrRkoIDDYA6IFer/MQMF4PXLX1RKwTsHpXAq6OWdr2wd65f4krpBG6bgV+2TFqavxkByKxl+W31zOU+bb+cWVIdaP/Pm9wyhQ4snVjS8mAuXEPqqbMoMXzeskUg8EcCN+yd+oOQvts1r+kfteFNNQRU6W0cRc4ZY5C63bL8Njp6v0cMzyzJ5hgsLduocstyP7B0YunCknfeofSTrRNLCARiEVB/EMpf++ajIASpjEDbyPMoAhfl2ddZc3nuidmo3zLQwFmaTMyguaUagoFYq1+l+QT29COgdpSyT+MngPvVWxFPPdjgfKcRrNSAmNLhY5d9ZvbNLNWyfLxjth5bemQpNttU+auTZJZkEJDgBDb1wbF9/iS4RWSYDQF13KscLMbMZ8/K08x4VZm5XtcAcWjplqWaZWrG37X02FKudblKbwV2BAEGAQlGQJOEVf421nX1W0ilBPbN7lWONg3MRDPF0gaGU7MpNKfA2JNkp47ttqXSVgUU3CAQCEVgZhmt6n/Huq5+GamUgDrqZY42D8xjYvmVNBjcM3toOJudRDPmI0taTVrmZzleu7PZbO6AQCsCCihTtgGtxiKVE7jaOT8IzENBxtUyUjr9kLLVYCeB+dSS3awgP1BQg0BgKIHUK6L3hxrA8/kT0KDWDIpyyJADnGaA5wv5N+Xk9npsNtS+v28Igsi+5XJhKTcfuKqvDrMiEOhLYNcevOpTY/8976s8z5VDYLbgiCE7NQ3+Ojg1tlOHLE8R8rYlJDyB25Zl6hnQEF/R8uleeCzkWAmBudk5xP9CPDuthDVmriGw89QRta8dUhZXFkI465h5PDIQIYOhkFxLyuuWGSO/G7NuQ5alAEbtB4FAVwKpV0YVwGqShkDgqyVZdcahRHukITvaMfO6Y7rfDAWCfFoRmNpduW4LPDTd8ZdW1cxNTwmorx2zT1tWllY3EQh8RWASkMOu5aXocpnTeb7Gcn9AJ+iZ1W17LsdtgdOe9vJYnQRmZnbqvnBeJ3qsjklAS0q5zeQUrBzGhELenQhodvTAUuoOsmv5s05WcnPNBDxse01rrgBsj0Mgt31/BSvs4cbxhaG5aium6yCc8n4FkttDjeb54glokiRfSe2r0gOBQDACM8sppVN3LVvBCnu3wao/SkZ7lusjS13rNtX9CijpWKO4QjGZzhz4M1tWxbiTD0O2TY3UUW3bTl96qhEieRDQloDOZ7St39T3KbBEILCKgAdfpv9bVTtc70xAMx7NfFJ3vG3Kl54KVpD8CMxN5TZ17OGeWX540XgEAgpmU/unJkCsfI5Q2bUUoRlPaqduU76WvViezdsr90z9HL4loE6WQDNvX4uhvb7l0qavinnPWQzDyLNOAjMHDt2msbAsW45/6tBmDkGAVpsIOMvxuxCWyCfa9Fcx71GfjUBgMAEtZ2mmE9NZQ+Q9H2wpGXgjMDGFHloK4R8x8zj2Bg59khHYdeCv6q9Z/k/mAmUVrCX1mJ1niLwPy0KONQsEFICeWwrhJzHz0IoFAgEFgzH9rE3eZ1QDBEIQ0F5sG4dLdY8i3f0QhpKHawKazahTS+VnbcrVjxohdRPQVpCHr7PO6q4GrA9BQM58YalN55finsem2zSEoeSRBQH54z1LKXytbZmzLEiiZCwCmoy09ZVY92lSpIAZgcAgAh5Osq5qJHLynUHW8XCuBDwHAZr90fnm6lnD9fbgm1opQyAwiIDng38a/LU1gdRJQCsB6uRWBYepr2sPGKmPgAI/9U2p/W9WH3osDk3g1IEjr2pIOHjo2s4vP3W25459lNWp/HxqqMZHTvxRbQOBQG8Cml2vGnxTX1cjGyqy78SSfqrzwlJjk5ZvdU2/JXBgSTNNpDsBDX7aPhLLB5Yavpod6ZqCy0NLE0tDRB3dQ0tN/p5eZTdSDwH1Feo/Uvug2hcCgd4E5MiLg2Jqh14s/05vq77el53b8xqEFvPc9P7E7td2CLKZwMxu6doJqsPa3Zz1yjsmPcrcVOehPhcPpA4CmpiE8psh+SiwRiDQm4BmbkMcMNazd3tb9PVss+vAtGiHgob5gPJLf3RqBg5djteqQN9ASysOjy0t1pmH9/I5rVIg5RPwMmnq24bKryEs3EhAztN1hjxGR3tmemlloqvomXuWQumo2Sod+vO1oBlHKJ/RgLn7fPat/9oLqEcof1E+x60t4MZcCeyb4iF9pm9eLP/n6kFO9FZn1df5Yj330HTqM+gqmDmPYI/02bGEfH2OInS9K5iY9YR7ZM+F1mdofrKHWVnPCs3ksRj9TB+/UzCOQKAXAc2WQ83k+jjvqmf6zAhli6LhVXkOvf7Y8q49CLgbka/qRzP6PnJmDw2t39DPz/sYwjNZEJCfhvaXPvmp71a/h0CgFwGPs6e+HeeJEejTiLo8U3MQEHvwVz2I73YPT9Zse8h5jy4+0PZe6UPn3KMyM3jk1HRs6wcx7zvOgBUqOiWgzslbp6kZfB/Zt4diNrTFvGsMAsYY/BvG530cwJ6ZjugDja6bXhVgI2UR0Crgpnof6/M+wXJZtYE1vQl4m/0rGOm7b6pBY6xGp3JqCgLGHPybOlRA10fm9lCTh4dXVgH61KLvZ06d+Jj0QCDQi4DH2f+0lyVf/6+AKTr7GoKAFIO/6vK8py/oMa0ipfCHVWWyCjCgMp09qgnKqnoe+3rfINkZUtRJQeDAkSOr4cwHQEh5AKzkICDV4N90pLs9fUKdtKetrYuedvCYPwJjnDNq/H/d60N/aNAoJwKaYa1zsDE/kzP3PSyl554ktqXEICD14C//m1vqK4f24Jg+vKksZmt9a9LPczuOfIpVJT9+kZ0m6ow2dVhjfj6kc/RiS0lBgIfBX/6nIHWIeApyh9oyhAPPhiFwatmM2S+uKksTnpthTCKXGgl46hjVqIbIkT28qqGMff2x6bIzxBgHz3oZ/FV36uiGiOpibB9YV97+EGN4NikB1d26uh3zs+OkJCg8awKeOkV18JOBNOf2/JiNb1NZOQcBngb/hvPNgf5x4sg/hga7A1Hw+AAC5478SH04AoFeBO7YU03nmvp13suC5x/yOGjlGAR45Cj/nDxf3Z3/8nQgkKXbztXn4gFP50nOXBBBiWwJeDkd/dAI9j34twj/2P5IHcgsKz+nIMDr4B8iAJCveOrApQuSDwH1UV76TLUHbUUgEOhFYGpPLRusUlwL5chzRzZd5ZhDEOB58BfPUHJuGV2tnxR/3w9lEPmMQsDTiqkmTQgEehPw0tk/6G3B9QdndilFR962TM9BgBd/WMVSM69QooBzVTljX5+EMop8ohLQ9pG2bcb2j1XlHUW1lsyLJqClLA1Gq5xrzOuhZv+qsG0nNq3j5zEI8D74i+c9VXBA8bIKcDugTWQVj4CnNsL5kXj1XEXOB2blukFqrM/UCYeWh5bhWPr3LcdTEOCpY1vHcxbYUbysAlwEtovswhPYsSzX+ebYnx2HN5EcayJw6sShQ87+m/rztE+3rmPwEATkMvjHmvGcO2kHGmAQvwTum2rr2vKYn6ktaDsCgUAvAjftKTnRmE67rCx1vjHE217dMtubaymDgFwGf7E6juEolqcC0KYuUr4qaEV8EtA3NVL6xtWyY7UFn/TRKjgBLw4tPWKJGsnVhuP17xRBQE6Df+wZz7kDXwl5wDFWm6ox34kZ7WGy1PRd8pMbNVYENocj4GE5K7YjaxVAZTQNx/vrmEFAToO/6m0ezvWX5uRlFWC6VDsupiTgoa9c7LuOUsKg7PwJaPl/0aFSvR/DkdWheoreN7EeIwjIbfA/HanJXThoF8cj2Uox7Qh4WSlt+o3Yk6Z2VLgrawIeZjsalBWIjCEKNJoGlMNrzCAgt8Ffg/JYfnLbgZ+cj9EgKKMVgYnd5W3yEHPLtBUUbsqfgGYZqQfCeyNjnDuwuQvzGEFAboP/Q6szdcJjicrqUkex7h0r4BmLa67l3HfiD42fERzm6knO9JYjNU6V6nUvAZO5A7u78A4ZBDD4t3M4D53+fjtVuSsiAW9L/+o38IuIFV5L1jfM0NTLWin3sWoMAhj827duDx3/cXt1uTMCgYnlmbqPvDpRYPYfoaJrzHJqRl91rrH/PkkMfu6AQRfmQ1YCGPy7OZuW31N3/nT23eos9N0eVoGu9g+7oY0kvzoJeBj8PDizBw5XG/m6v/sEAQz+/dr4mT22ri7G+IxzAP3qbuhTRw7q/qp/nQ41iuch0BBIHd1eNIo4eJ2bDlcbm+e/uwQBDP79HezAgV+w39u//vo+qYlJ6tWfZf3PTl+DeA4CiwQ87P9r0PUk0mdZo/N6rU0QwOA/zMM8tJPjYSbwdEcCWnF5aMlbux/721IdsXF7TgSmDhzcYzQ7d8ClS8ezLghg8A/TIk8T+8R5GDPIpSWB+4nre1n712rErZb6cxsENhJIPdBp4PIqqdks6wDWXVsWBDD4h/OuI8tqHf8xPtOsFIlPYG5FjFGfXcs4jm86JdREIPXhplPnsL12BKs6jsUggME/rHNppWoV97Gu74U1idyWENh3UM/L/Omh6aWtKAQCwQjIqZY521jXNKvyLnNTcCweIcpREKDAKkReY+UhP5xY8i5iOxaTZeXk0F681+E6/eSDqet4Wb3r2nSd4nwGga4EFE2ucraxrmtWlYPMTcmxmNRWTi6Dv/w0dWB1nENjyVRH9Yfnljy2v5NMmaK2YwIafFM6uyLtnGRuyqbkVWLZOQ3+8lXNwFPWg7bskDgE7lq2Ket2Vdn6ldSbcUwm15oJ7Jvxq5xujOuaTeUmc1N4DDY1lJHb4C9fTR00X+TWYDLR99D09Nrm9jJhiJqZEbid2Ok1m8pRCAKGd5Y5Dv6Nr2rlKuVg0ejBaxgCXn/sRz6mVQkEAlEIpF7y0mwqVyEI6D8I5jz4y1+1cpUyANjOtdE41FssUwd0q3xJS/9859+h05Si0gMzZJXzjXH9RuYg54n5jVFHocvIffCXy95JXO/aukOGE5hYFvLH0D4eKr+D4SaSAwRWE0gZ+Sq6LUHmZkSoBl96PiUM/vLZw8R1nuvWmdh5kZumiM5TeG1z97yAQo8yCagBpHT++wVhnSdmmbIe25ZdyuAvt50mrm++EqZa6C9aeUy9+rmu3WhixtJ///rlyRYEdPBlnRPG/qy0TmyemGfs+hqSf0mDv5qWOuchPIY+eyYlkN4ExG9oHcR8ftbbMh6EQEsCcrKYTrwp7xKXMeeJmW5inuLz0gb/pnml3D4TU6Qfgbv2WIp20LZMgrt+9cpTHQnMEzeE/Y765nJ7aq5tO5ox7it18Jcvnlsag+GqMnJpD570nCeus1V12Vx/Yvqx9O/JYwrWJXVj0NdvSpXUbJsOJeVryYO//FaHtFLyLbXtxLJLK44p66tN2TpcikBgFALHVkobp4x1jw7ilCxzMy4WO+/5lj74y2/vJK5fZoqqhXYys9u8t5nTdqZwFwTCEEi5F6YBogaZm5HeO57Q+tUw+Mt3Z4nrdiIlkI0EUtdTm/Z1YVaUPiHaWFGl3/AnpRuIfdcI/I1d+dm1q+Ve+MBM+4GlD8s10Y1l33SjiV9FNPj/3K96X2n2if37uqUvnOuJeoURSPlVGB2gqknmZmybmUDO99Qy82/8VodYU9bXtFGE16UEbieun7a+Ueph6KWVwkU/BO4nbCAquzaZm8FtO4Xc7qtt8JfvThPXp8pHlhOY2+Uc2pDOYSEQSEKAAGB87Ll0TF06zxoHf3nO1FIXTqHvnY3vvlmUmPpwZtt6rnESlIUD1aKkOu62zhr6vru1QF5i5zwh99D1WOvgr2qdJK7HmZRAniOgfiW0j8fI75Hpybc4nqu68v/gEGD5ddzGwlIOBn5gxnLgr02Nx7nnxTjZZpurBv+fZKD9H0xHHfr7OANdUTEggT8NmFeIrFJ2IJ+GMCDjPBQESH721b/5/cPg/8ILqX04Zfv15LH6+tz/s6RBNQf5qSn5Tg6KomPZBGIsbbXNc1422tbWiUNbZl7u03eWJ60tLPvGlHUyLxttK+tu2l0pv83Utf5r3vpsVaEl38QWQMm12902zVx2uz+W/IlvmwbMPpNXQ/UKbBuBtyz9KBMSvzU9/2cmuqJmBALeAoDfR7CxbZa1H4DR4P9LS7l0Xov1+pL98WtLO4sXK3xfuw+nrPI9K1yD//dSKtGh7E/sXrV1fuynA7TSbvUWAHyeEHDNv2KW8+DfuAxBwAsvpPbh1GcQGl8Y+/XICvyVJflgLqLDiR/moix6xiFAAPCMa+rO85km474rYfBviNUeBKT24doCALUd/Q+M/9g4YCavmv2zZZZJZcVU01sA8FFMYzfkrX3k2qSkwb+pu5qDgBp9uKn3sV+13aJtpx+PXXCA8tRGfm5J/9uf+gCkUgLeAoBKqyGJ2SUO/g3ImoOAhkGK15QB/Jj27lph71r6szELjVDW65bnLy0RBESAm0OW3gKAlEuINc2eSh78m3ZXYxCQ2oc/b+AX/Hpgtmnm/51CbNRBQIKAQiqzqxkEAM+Ipd4/faZJ3Hc1DP4NwdqCgNQ+XHIAoHaj/yjn3y19q3GwQl4JAgqpyK5meAsAuuof8v7UnWdIW1blVdPg3zCoKQhI7cMfNdALe22W/P+6MLsWzSEIWKRRyXtvAUDKDkRLejcLrvcaB/+mOmsJArYbg3kNRuC25fS2pe8Fy9FvRgQBfusmimbeAoAvoljZPtOt9rdmdWfNg39TUTUEAan9N+UZnqaeQ70qmHpg6e9CZZhJPgQBmVRUCDW9BQCp9xBfDgHVWR4M/s8qpPQgILX/fvYMddbvZqb9W5ZyP+XftxIIAvqS47lBBHTC9suESct9JYkG/5z+Y5Kx6v6xcdkpqaKf2vLEXsdieLUc/X/yucstM4D28syHxEJ9CAKBUQioU77asYz5d0n/MxaD/3pfKi0ImCRuO/dH6SHiFbJnWSuIGbO/yaEsgoB4PkfOVwho0ErZKLTnV4Iw+Lfzo5KCAA1gKdvOSaYNRwd/FfinZOe9bIKATJ17k9rezgDoEODvNykd8fOtiHmPlbUG/19a0j4esp5ASWcCttabGv3T96OXEL6AQ8vyA0v6j3GQ1QQ4E7CaDZ8EJqBoM2VErBlBrqLBPzW/lHXXt+wSVgKOre772h/iuf2MGs2u6arVvhB215QHKwEZOXmuqp4kbpjqHHIUBv9hHXruQYD24FMORtsZNBoF96n7l5R1FKJsgoAMHD1nFY9M+RCO2jePeYbwGPzD+EyuQYDq/0niduO92Ryagqrfvv0Czz1jRxDg3dsz1m8vcSPN7TQzg/+zjilEJ51jEDBN3GYuHPc3LPeHbR9NGyMIcOz0Oau2nbgz00xKg2oOwuAfp3PLLQiYm7M2HXOK11OHjUXf6T9JzCVFXYxZJkGAQ8cvQaUxnXhZWdMMIDL4xx30cgoCUu//HztqLxr4pY8C+WVtm2thuRAEOHL+UlS5SNx4585B5jj4nxvTO4nrtWvnn0MQIF9IPdgdOmgvDPxhB/YubYUgwEEDKEmFUzOmiwOGvtfzOYBcB//m65XzxHXb1Ve8BwFTBzylQyqZWMHHllIHQV39qrT7CQJStYACy039TQB1JhpovUnug3/Dc25vcuoAPQcBqVmmaisT86G7mflRTj7fR1eCgKaH43UQgR0HDXs6yILwD5cy+Ddk5g7quEsn5zUISL3/P/Zq2cT8poaBX4HVoaXc2glBgFUaMpyAOtwuHXToe0+GmxAsh9IG/wZMbp2btyBA+96h/b5rfqrDMWTXCqlh4Bd//adEsleitp/brxYSBHxVdfwzhMCpPdy1Mwp5vxqhGl9qKXXwb7hqAAlZb7Hz8hQEpN4qE+tpU5ERXnVu5NDShaXY9eolfw32CuwWRRzOLXnRsY0eBAGLNcj7zgQ8dG77nbUO+0Dpg39Da25v2nQqXu7xEgSknhk+sXqLESQ3s33l76XOx9DjZA1PggCDg9RDQJ3AGI1uXRn3EuKuZfBvEM8d1Pc6X7j6WeogYOKAV8j9fw1wtc32G59SoCPbNwlBwCZCfF4MAQ2AqWcAKl+NbmypbfBv+M7tTdMp5vCaMgjwwEo6DJVty0AzX7HMoc5D6yi7p5baCkFAW1Lclz0BzTBCN7iu+c1Gpljr4N9gnjuo8y4+kioIuHDAadpUWs/X2w5s6FLXoe89N/snPdgRBPSAxiP5EZibyqEbXdf8Qi5zbqqB2gf/ho+Heu/iJ2MHAR62x7Q6Jn8dIhoAu3Au6V59o2EIP4KAIZ7Hs1kQmJqWHhr9ZCRax07sbctcHXisLZJ5ZiwUBNTkJ0MDY/lNWz8r6T75yYGlEEIQEIIiebgloAhZM43UHYAG5tgyswJS29ml/JiDf8N6niGTIbO6xu51r8pfX1HtUlcx7lXdDBENgjH08pznsq/4DWGoZwkChhLkedcEdBI/daNWEHIrIqUdy9tDoNOW8xiDf4N7bm/a6uXhPi3txpQjy9yDndsDjRQnD3aMpcPtgbzWPU4QsI4On2VNYN+0H6uRritHHW8sObWM15Xt6bMxB/+G9zwjPqqrnUbxwK9eZv/ygaHy0DLw5NexdLkwO3eHwmrxPEFAC0jckh8BdXqPLcVqoG3z1bKrdAktGiza6pD6vhSDf8N7nhGn00bpwK8KQlP7gMofOpvV6oEHO2LroFWOGH2GZbtUCAKWYuFi7gROzIDYjbVN/uqAQ0suS6EpB/+G+dzetKknD/dMGqUDvWog8bD3L7ZDt8O8BDKx/EQTlv1A9d41G4KArsS43z2BqWkYq7F2yTfGKoCXTn0dBw+Df+Okcye+sI6XPjtsFA706mXQvB/AHq2QbOKX6+dnZtvQAGkoYoKAoQR53h0BL3uGs4BktDfovaPzNPg36OcZcNNAEFK0l+zBV4YGNlrJeOLElpA8FcgfWPIiBAFeagI9ghC4Y7mEbLB989KAGErUmfbVY4znPA7+Dfu5c3YaEELJvmU0Rn1vKkMDtwaWIeLFlk22dvn82IAM5TKE6apnpZPacBdbUt+rwFlBIgKB5whs21+pnbMp/+g5zfr/MXdkU2Nb8+p58G+Ie+YnjiE6MuXhZZvotAE/4PWePdv4WO6vaiNaxfMsBAGeawfdOhHwEs0+Nq1D7POdWD4eO0Fx9jijWeYsc6cMVa+TZQp3vOZl5Uv2DF3ilk+VsPyv9n+7Yz2mvJ0gICV9yg5GQI1OHZGHpNP7Q8VjAJDT4N/wn9sbDz5xVYdJo2DPV616eRkwNegNXdGYWR5XGeX295nZECL4t2xGFYKAUXFTWAwCanieOoydgUbOndmT4+DfVIE3lvLToQPmqSP/CBHwavD01H676KJtmD1LOQtBQM61h+5fEfDUKWrAHCKH9nCXTijmvTkP/k0dzB3xfNwo1fN135Et8ruhwa634L1tW1I9auVxaDBnWbgQggAX1YASfQmoI2rbeMe4T4N4X5nag2PouKmMEgb/pg7mTpgO+b68BhsvX3uV75w2cAe8Htmzm/zQ0+faetH5Cw2YpQlBQGk1Wpk96pC8dBZaGhyyJ6gZRkpbShr8m2YwT8xU9akBr6940H/RJ/f6GrLw3AN7v5in5/cnpuuQNr1gttu3BAFuqwbFNhGY2g2eOpAh+6N6NpUtJQ7+je/ME3JVfU4aRTq+btv9mn2m8omr5cpHhopsupqvx79PTU/pWosQBNRS0wXaqY7JUycy68l4J5EdJQ/+TVXME7HVQNJHbthDF5Y8+fV+H0OuPHPszKarfLVds3tF51r+JAiopaYLs1Md09WGnPJvzdr6zh40YIypew2Df+Pu85HZqh4V1PWRlKtBy/xPfjJUFNQ8trQs/9TXZN/eUAMLeJ4goIBKrNEENeDUnchi+Zq9qcPrKhowFvOJ+V7M1OBrkrkZG5PpYt6nPcHORtRxUd917/d72rL42JFDu85Mp+mikrz/qk/w1p+u8019pnrs099S3YUQUAe1yUnG/rzveYAxOsoaB//G1ecj+MpDK+NmU2CH1227VytIY/vquvJ0uDVE56qgeF05Y36mtrljCVlOQL5LELCcDVedElBHNWYn0qasWU9WMZeAax78m+qYR/QVDeAayLuKBllPg2Tj3wpIh8q+ZdDkl+r1selwbGky1JhKnicIqKSiSzFTHVWqzmVVuUMGg3sR7NFXsNSwkRdeODQIqp9VddfnugaZaU+4MYO+PrbomVCz/7PAnLvYIxv0Az74vUHoKAQBHYFxezoCmkGpsXfpHMa4d8iMO2RQowFGjJBnBHTiW4N2CD9QPU+eZd3pnYKREDqEzkP+N1R2LIPQerXJT6spM0v4/LAaJAgYxo+nRySwb2W16RzGvkcz774dkQap+wPsemjPHlhClhO4ZZeHzL4VQMwt9a1frz6rAbSvTfboH+XE3o3V3p5YWapLtRkkHAGCgHAsySkygTPLf6wOp0s50mtIhzq157vYphnpzBLSjsDEbrtnqe2KgAKruSV1jn1lzx7UoPWlwyTdhoqCqzHsU4AtXx9SF0NtLf15goCCa/gbBdm2bba8a+lbDm36V9PprwbqpSDih5ZesSRbv21J8rmldyxdWvqVpY8tIf0IaAYpxhrAXl7I4m17L67i+/7C9T5vd+yhX1t6qc/DkZ/5peX/FwHKOLY8/jpAPsuy+L1d/HdL/2JpaF0sy59r1wkoCJDPfv/6R26v/Jdp9rqlL9xqiGLBCdyxBJkR9gAACypJREFUHL90mtQpInUTmJj5bVcaxvZjzdgV+AwV5RFj9n9m+R4MVY7nexNQEHBuaWy/HFKefEYTJ6QSAqrsR5aGOE3MZ+eV1ANmXicwsUvaPojpX0Pyvn1d5V5XFOgO0WPxWS3xH1kKEZj0MoaHniNAEPAcDv7wSGDflFrsRLy9n3mEhk5RCXjvODWzCzFTCjH7PzVdDi0x6Ed1yd6Ze/flZf09KwG9qzvPB1XhyxzBy7VQs608a6curSdm7oVzf5wGqpJ7Pex8Ys/ouZklDS6IfwIEAf7rqGoNt816dSxeBvxlemipFCmbwI6Z53nZX36pwTeEyNZlfr7s2mO7V1/b27cUYuXBskFGJkAQMDJwiutG4I7dvqzz8XRNnS8dYLd6zeXuqSmqgc6Tv13VRUFyqKV2Ld1fzb/5W+WcWdLK164lpAwCBAFl1GORVmhg9T77UgepjlENCSmHgGa2GvSaAdDr61Eg5DtXbFXgo4BA+eszpFwCN820c0tefXyZXupzmXiV65N/tEyzjRw6YjUgNSQkfwIzM2FZp+Pt2v2AqJUXA35AoJllRRCQWYXVpO6RGeut812mj1YrtmuqmAJtzWHbSb73yFKopf8CqxGTehAgCOgBjUfGIaDZybJB19s1rVbMxkFCKQEJaDDVLNibP63SZxrQdrKCQEOAIKAhwasrAnJMzbBXdYjert81XdmjcuVCK5XRYKoZtTcfWqXPfKUlfACB4QQIAoYzJIcIBHI5D9B03BfGYCcCB7IMRyCXJf/Gp7RKgUAgNgGCgNiEyb8XgSN7qukMc3jVlsBhL0t5KCYBLfk/sJSDDzU6su8f0yPI+yoBgoCrRPjbBYEz06LpFHN5vWc6q0Eh6QnsmQqPLeXiO42e0/To0KAyAgQBlVV4DuZq9qbZUNMx5vKqQYfVgHQeJr/J5TDpVZ+ep8NGyZUTIAio3AE8mj81pa52krn8raVnnWdAxiGgw5i3LWk7JhcfWdSTff9x/IRSVhMgCFjNhk8SEdBserGjzO39ienPtkBc59Fy/0XGfiLd8ZG4PkLu7QgQBLTjxF0jEphbWbkN/Iv6si0Qx1m03K9zF4usc3uvr71O4uAhVwj0IkAQ0AsbD8UkoO/c59a5X9X33GzYjwmpkrw18M8tKbC6yjinv6X/jiUEAt4IEAR4qxH0+eo/5Mmpg1+lq5Z8Z9RnZwIa+I8tPbG0im0u12XD1BICAa8ECAK81kyleumglw7X5dLJb9JTy7+zSuuyi9kTu7mEFaBFf2AlqIsHcG8qAgQBqchT7lICckjNoBc709zf6+uOR5YU4CDPCOzY29z3+Jf5pg62IhDIhQBBQC41VYmeE7NTs+dlnWvO17QnrJmuTrXXKlrmVzB0binnulyl+7zWisXurAkQBGRdfeUpr9mhBsxVHW3u17UqoP1u2Vm6qHOZWbpvKfd6W6e/gjsEArkSIAjIteYK1XtqdpVwIGzdoKHPtOUxt7RtqRTRdseBJS3x11CHZ6VUHHZUTYAgoOrq92e8goCSVwKuBgdaGdCgqX3knAICDfh7lu5YemDpql0l/636kv0IBEogQBBQQi0WZMOO2fLIUsmDyCrbZLcGmENL25a8iAa8PUt3LD2wtEr/0q+fmO0IBEojQBAwYo1+Y8Syci1qYor/2tJ3czUgoN5vWV6fWnrH0uXT9J69fmYptCj4etHSa5Z0gO/lp+k79lq7/G8D8Pe1Q8D+YgkoCFCf+/2MLPwv0/V1S19kpPMLBADtaitHh2xnWbi71GAXpW1g0Az0zbNb9oZgq6Fx/fUv7dK/Xb/MFQgURSDHPjfLIKAor4lojBxSB66+JMEggQ/oQKO2PhAI1EJAfW5uX9vVGHGjlgqqzU5VrPbFCQJgMKYP6DCqVkoQCNRGgCCgthrPwF4dwBpzAKCsennrh6m2M2gTqAiBWAQIAmKRJd/eBOb2JAMzDGL6gJY/dQASgUDtBAgCavcAh/bvm041/VZAzMGOvJ8PpvTrfuwlOmz0qJSMAEFAMvQUvIrAxD6o+fvoDNzPD9xDeeiw32yVs3EdApUTyDEI0JYxUjABzdSOLQ3t/Hm+boYX5kPs9xfcUWBaEAI5BgFHQSwnE9cE9kw7tgTqHsT7BnEs+btu2ijnjEBuQYBW9nacMUSdCAR0aIstAYKAtoGAAsaDCH5IlhAonUBuQcBp6RWCfc8I3LG3bQcB7quT1bn5CEv+z9oM7yDQlUBuQQCrAF1rOOP72RKoc2BvE9DpYNCNjH0b1SHghUBOQYC2+pCKCGhLQJXeZlDgnvI56aCfAkMEAhAIRyCXIOBROJPJKScCu6aslnwZ5OtkoENAty0x6zcICAQiEMglCNBYgFRK4NDs1sEvAoF6GOjwj1aCEAhAIC6BHIKAWVwE5O6dgJxUe8AEAWUzYLnfe0tEvxIJeA8CtBKIQOAFLQXxlcHyggCW+2ncEEhLwHMQME+LhtK9EWBboJwggOV+b60LfWol4DUIIACo1SPX2C1nlWPolChbA/kx0MA/tYRAAAJ+CHgMAjThQyCwlIBOiR9ZIhDIIwi4Z3W1s7QmuQgBCHgg4C0IOPAABR18E1AgMLP00BIrAr4YaI9fv+0wsYRAAAL+CXgKAug3/PuLKw0VCOhEOYFAWgYa+I8t8ZU+g4BAIDMCHoKA88yYoa4jAvumixyIQGBcBo+N+dySOhAEAhDIl0DqIED9CAKBQQSm9vSJJQ1MBAPxGJwa35klbccgEIBAGQRSBQFaQWT1sAwfcmOFDpToIJqci2BgOAOtsOiULg3VICAQKJRAiiDgqFCWmOWAgBxas9X7lggEujHQQcu5pYklBAIQqIPAmEGA+hhWEuvwq+RWavaqaPPCEsHAcgb6mqW2UXYsIRCAQJ0ExggCtFW7XSderE5NQLPamSV9bU1RaK0BgbZIzizdtrRrCYEABCAgArGDgH0wQ8ALgVoCAgZ8Lx6HHhDwT0DL8zpLFXKCpJk/g7//uq9aQ20XHFjScviFpZANYMy8GPCt8hAIQGAQAa0Qhui3tNq6M0iTER7+xghlUER+BOS4L1p6zZIChJctvWLpJUup5V1T4CNL71i6fJres9fPLCEQgAAEhhJQ//e3ln7UI6NP7Jn/a+kfLbnvkwgAetRw5Y9Mzf5vW1JQ0AQKi0j02fcWL7R4/we75+0l9+maGpFeLy19aAmBAAQgMAYB9XUzS39u6aUNBWpi8gtL/2zJ/cDf2EIA0JDgNSYB7a+9+rSAj+z1/ZiFkTcEIACBwAR2LT+tgmqCsyhafdQE5ePFi7yHAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQg4J/D/AQUY8n0knD4qAAAAAElFTkSuQmCC";
646
-
647
- // src/components/DataGrid/index.tsx
648
- import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
649
- var PAGE_SIZE_OPTIONS = [5, 10, 15, 20, 25, 30, 35];
650
- var NO_RESULTS_HEIGHT = "h-[185px]";
651
- function DataGrid({
652
- id,
653
- rowIdAccessor,
654
- testid,
655
- data,
656
- columns,
657
- status,
658
- isLoadingMore = false,
659
- onLoadMore,
660
- pagination,
661
- showFilterRow = false,
662
- hasMore = false,
663
- sorting: externalSorting,
664
- onSortingChange,
665
- columnFilters: externalColumnFilters,
666
- onColumnFiltersChange,
667
- rowSelection: externalRowSelection,
668
- onRowSelectionChange,
669
- filteredSortedData,
670
- totalRowCount,
671
- hideStatusBar,
672
- centerHeader,
673
- enableColumnSelector,
674
- predeterminedLeftPins = [],
675
- predeterminedRightPins = [],
676
- useMenuDefaultMinWidth
677
- }) {
678
- var _a, _b, _c, _d, _e, _f, _g;
679
- const [localSorting, setLocalSorting] = useState3([]);
680
- const [localColumnFilters, setLocalColumnFilters] = useState3([]);
681
- const [localRowSelection, setLocalRowSelection] = useState3({});
682
- const { columns: tableColumns, setColumns: setTableColumns } = useTableLayout(columns, id != null ? id : testid);
683
- const [columnOrder, setColumnOrder] = useState3(
684
- tableColumns.map((c) => c.id)
685
- );
686
- const [columnVisibility, setColumnVisibility] = useState3(
687
- Object.fromEntries(
688
- tableColumns.filter((column) => !!column.id).map((column) => {
689
- var _a2, _b2;
690
- return [column.id, (_b2 = (_a2 = column.meta) == null ? void 0 : _a2.visible) != null ? _b2 : true];
691
- })
692
- )
693
- );
694
- const resetColumnVisibility = useCallback(
695
- (updateOrder) => {
696
- setColumnVisibility(
697
- Object.fromEntries(
698
- tableColumns.filter((column) => !!column.id).map((column) => {
699
- var _a2, _b2;
700
- return [column.id, (_b2 = (_a2 = column.meta) == null ? void 0 : _a2.visible) != null ? _b2 : true];
701
- })
702
- )
703
- );
704
- if (updateOrder) setColumnOrder(tableColumns.map((c) => c.id));
705
- },
706
- [tableColumns]
707
- );
708
- useEffect(() => {
709
- resetColumnVisibility(true);
710
- }, [resetColumnVisibility]);
711
- const sortingState = pagination ? externalSorting != null ? externalSorting : localSorting : localSorting;
712
- const setSortingState = pagination ? (updaterOrValue) => {
713
- const value = typeof updaterOrValue === "function" ? updaterOrValue(
714
- externalSorting != null ? externalSorting : []
715
- ) : updaterOrValue;
716
- (onSortingChange != null ? onSortingChange : setLocalSorting)(value);
717
- } : setLocalSorting;
718
- const columnFilterState = pagination ? externalColumnFilters != null ? externalColumnFilters : localColumnFilters : localColumnFilters;
719
- const setColumnFilterState = pagination ? (updaterOrValue) => {
720
- const value = typeof updaterOrValue === "function" ? updaterOrValue(externalColumnFilters != null ? externalColumnFilters : []) : updaterOrValue;
721
- (onColumnFiltersChange != null ? onColumnFiltersChange : setLocalColumnFilters)(value);
722
- } : setLocalColumnFilters;
723
- const rowSelection = externalRowSelection != null ? externalRowSelection : localRowSelection;
724
- const setRowSelection = useCallback(
725
- (updaterOrValue) => {
726
- if (pagination) {
727
- const value = typeof updaterOrValue === "function" ? updaterOrValue(externalRowSelection != null ? externalRowSelection : {}) : updaterOrValue;
728
- (onRowSelectionChange != null ? onRowSelectionChange : setLocalRowSelection)(value);
729
- } else if (externalRowSelection && onRowSelectionChange) {
730
- const value = typeof updaterOrValue === "function" ? updaterOrValue(externalRowSelection != null ? externalRowSelection : {}) : updaterOrValue;
731
- onRowSelectionChange(value);
732
- } else {
733
- setLocalRowSelection(updaterOrValue);
734
- }
735
- },
736
- [externalRowSelection, onRowSelectionChange, pagination]
737
- );
738
- const dndId = useId();
739
- const containerRef = React3.useRef(null);
740
- const toggleColumnVisibility = useCallback(
741
- (columnId, isVisible) => {
742
- setTableColumns((prev) => {
743
- const persistedIndex = prev.findIndex((col) => col.id === columnId);
744
- if (persistedIndex !== -1) {
745
- prev[persistedIndex].meta = __spreadProps(__spreadValues({}, prev[persistedIndex].meta), {
746
- visible: isVisible
747
- });
748
- }
749
- return [...prev];
750
- }, true);
751
- },
752
- [setTableColumns]
753
- );
754
- const table = useReactTable({
755
- columns: tableColumns,
756
- data,
757
- getCoreRowModel: getCoreRowModel(),
758
- getSortedRowModel: getSortedRowModel(),
759
- getFilteredRowModel: getFilteredRowModel(),
760
- columnResizeMode: "onChange",
761
- getRowId: rowIdAccessor ? (row) => String(row[rowIdAccessor]) : (row, index) => {
762
- var _a2;
763
- return String((_a2 = row.id) != null ? _a2 : index + 1);
764
- },
765
- state: {
766
- columnOrder,
767
- sorting: sortingState,
768
- columnFilters: columnFilterState,
769
- rowSelection,
770
- columnVisibility
771
- },
772
- initialState: {
773
- columnPinning: {
774
- left: predeterminedLeftPins,
775
- right: predeterminedRightPins
776
- }
777
- },
778
- enableColumnPinning: (predeterminedLeftPins == null ? void 0 : predeterminedLeftPins.length) > 0 || predeterminedRightPins.length > 0,
779
- onColumnOrderChange: setColumnOrder,
780
- onSortingChange: adaptTableStateSetter(setSortingState),
781
- onColumnFiltersChange: adaptTableStateSetter(setColumnFilterState),
782
- onRowSelectionChange: adaptTableStateSetter(setRowSelection),
783
- filterFns: {
784
- startsWith: (row, columnId, filterValue) => {
785
- const cellValue = row == null ? void 0 : row.getValue(columnId);
786
- if (!cellValue || !filterValue) {
787
- return true;
788
- }
789
- return String(cellValue).toLowerCase().startsWith(String(filterValue).toLowerCase());
790
- },
791
- endsWith: (row, columnId, filterValue) => {
792
- const cellValue = row == null ? void 0 : row.getValue(columnId);
793
- if (!cellValue || !filterValue) {
794
- return true;
795
- }
796
- return String(cellValue).toLowerCase().endsWith(String(filterValue).toLowerCase());
797
- }
798
- }
799
- });
800
- const allRowIds = pagination ? (_a = filteredSortedData == null ? void 0 : filteredSortedData.map((row) => String(row.id))) != null ? _a : [] : Array.from(
801
- { length: totalRowCount != null ? totalRowCount : data.length },
802
- (_, i) => String(i + 1)
803
- );
804
- const allSelectedAcrossPages = allRowIds.every(
805
- (rowId) => rowSelection[rowId]
806
- );
807
- const someSelectedAcrossPages = !allSelectedAcrossPages && allRowIds.some((rowId) => rowSelection[rowId]);
808
- const toggleSelectAllAcrossPages = () => {
809
- setRowSelection((prev) => {
810
- const isSelecting = !allSelectedAcrossPages;
811
- if (isSelecting) {
812
- const newSelection = {};
813
- for (const rowId of allRowIds) {
814
- newSelection[rowId] = true;
815
- }
816
- return __spreadValues(__spreadValues({}, prev), newSelection);
817
- } else {
818
- const updatedSelection = __spreadValues({}, prev);
819
- for (const rowId of allRowIds) {
820
- delete updatedSelection[rowId];
821
- }
822
- return updatedSelection;
823
- }
824
- });
825
- };
826
- useInfiniteScroll({
827
- containerRef,
828
- onLoadMore: onLoadMore != null ? onLoadMore : () => {
829
- },
830
- isLoading: isLoadingMore,
831
- enabled: !pagination
832
- });
833
- const handleDragEnd = (event) => {
834
- const { active, over } = event;
835
- if (active && over && active.id !== over.id) {
836
- setColumnOrder((prev) => {
837
- const oldIndex = prev.indexOf(active.id);
838
- const newIndex = prev.indexOf(over.id);
839
- const newOrder = arrayMove(prev, oldIndex, newIndex);
840
- setTableColumns((prev2) => {
841
- const res = newOrder.map((id2) => prev2.find((col) => col.id === id2)).filter(Boolean);
842
- return res;
843
- });
844
- return newOrder;
845
- });
846
- }
847
- };
848
- const sensors = useSensors(
849
- useSensor(MouseSensor),
850
- useSensor(TouchSensor),
851
- useSensor(KeyboardSensor)
852
- );
853
- const visibleColumns = table.getVisibleLeafColumns();
854
- const columnVirtualizer = useVirtualizer2({
855
- count: visibleColumns.length,
856
- estimateSize: (index) => visibleColumns[index].getSize(),
857
- //estimate width of each column for accurate scrollbar dragging
858
- getScrollElement: () => containerRef.current,
859
- horizontal: true,
860
- overscan: 8
861
- //how many columns to render on each side off screen each way
862
- });
863
- const virtualColumns = columnVirtualizer.getVirtualItems();
864
- let virtualPaddingLeft;
865
- let virtualPaddingRight;
866
- if (columnVirtualizer && (virtualColumns == null ? void 0 : virtualColumns.length)) {
867
- virtualPaddingLeft = (_c = (_b = virtualColumns[0]) == null ? void 0 : _b.start) != null ? _c : 0;
868
- virtualPaddingRight = columnVirtualizer.getTotalSize() - ((_e = (_d = virtualColumns[virtualColumns.length - 1]) == null ? void 0 : _d.end) != null ? _e : 0);
869
- }
870
- const empty = table.getRowModel().rows.length === 0;
871
- return /* @__PURE__ */ jsx8(
872
- DndContext,
873
- {
874
- id: dndId,
875
- collisionDetection: closestCenter,
876
- modifiers: [restrictToHorizontalAxis],
877
- onDragEnd: handleDragEnd,
878
- sensors,
879
- children: /* @__PURE__ */ jsx8(
880
- SortableContext,
881
- {
882
- items: columnOrder,
883
- strategy: horizontalListSortingStrategy,
884
- children: /* @__PURE__ */ jsxs5(
885
- "div",
886
- {
887
- id,
888
- "data-testid": testid,
889
- className: "flex flex-col flex-1 h-full w-full rounded border border-border-primary-normal overflow-hidden text-text-primary-normal",
890
- children: [
891
- /* @__PURE__ */ jsxs5(
892
- "div",
893
- {
894
- className: clsx5(
895
- "flex overflow-auto scrollbar-thin relative contain-paint will-change-transform",
896
- empty ? "overflow-y-hidden" : "min-h-[120px]"
897
- ),
898
- ref: containerRef,
899
- children: [
900
- /* @__PURE__ */ jsx8(
901
- PinnedColumns,
902
- {
903
- testid,
904
- pinDirection: "left",
905
- table,
906
- tableContainerRef: containerRef,
907
- pagination,
908
- isLoadingMore,
909
- hasMore,
910
- showFilterRow
911
- }
912
- ),
913
- /* @__PURE__ */ jsxs5("table", { className: "flex-1 flex flex-col min-h-min", children: [
914
- /* @__PURE__ */ jsx8("thead", { className: "sticky top-0 z-10 grid", children: table.getCenterHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsxs5(
915
- "tr",
916
- {
917
- "data-testid": testid ? `${testid}-header-row-${headerGroup.id}` : void 0,
918
- className: "flex w-full",
919
- children: [
920
- virtualPaddingLeft ? (
921
- // fake empty column to the left for virtualization scroll padding
922
- /* @__PURE__ */ jsx8(
923
- "th",
924
- {
925
- style: { display: "flex", width: virtualPaddingLeft }
926
- }
927
- )
928
- ) : null,
929
- virtualColumns.map((virtualColumn) => {
930
- var _a2, _b2, _c2, _d2, _e2;
931
- const header = headerGroup.headers[virtualColumn.index];
932
- if (!header) {
933
- return;
934
- }
935
- if (typeof header.column.columnDef.header === "string") {
936
- const cellValue = (_a2 = table.getRowModel().rows[0]) == null ? void 0 : _a2.getValue(header.column.id);
937
- const cellAlignment = ((_c2 = (_b2 = header.column.columnDef.meta) == null ? void 0 : _b2.align) != null ? _c2 : cellValue === "number") ? "right" : "left";
938
- return /* @__PURE__ */ jsxs5(
939
- DraggableCellHeader,
940
- {
941
- id: id ? `${id}-header-${header.id}` : void 0,
942
- testid: testid ? `${testid}-header-${header.id}` : void 0,
943
- header,
944
- locked: (_d2 = header.column.columnDef.meta) == null ? void 0 : _d2.locked,
945
- center: centerHeader,
946
- className: clsx5(
947
- header.column.getCanSort() ? "cursor-pointer" : "cursor-grab",
948
- "group",
949
- cellAlignment ? {
950
- "justify-start": cellAlignment === "left",
951
- "justify-end": cellAlignment === "right"
952
- } : {
953
- "justify-end": typeof cellValue === "number"
954
- }
955
- ),
956
- useMenuDefaultMinWidth,
957
- children: [
958
- cellAlignment === "left" && /* @__PURE__ */ jsx8(Subheader, { tall: true, children: header.column.columnDef.header }),
959
- getSortIcon(header.column.getIsSorted()),
960
- !header.column.getIsSorted() && header.column.getCanSort() && getSortIcon(
961
- header.column.getNextSortingOrder(),
962
- true
963
- ),
964
- header.column.getSortIndex() !== -1 && table.getState().sorting.length > 1 && /* @__PURE__ */ jsx8(Subheader, { tall: true, children: header.column.getSortIndex() + 1 }),
965
- cellAlignment === "right" && /* @__PURE__ */ jsx8(Subheader, { tall: true, children: header.column.columnDef.header }),
966
- /* @__PURE__ */ jsx8(
967
- "div",
968
- {
969
- onDoubleClick: (e) => {
970
- e.stopPropagation();
971
- header.column.resetSize();
972
- },
973
- onMouseDown: (e) => {
974
- e.stopPropagation();
975
- header.getResizeHandler()(e);
976
- },
977
- onTouchStart: (e) => {
978
- e.stopPropagation();
979
- header.getResizeHandler()(e);
980
- },
981
- className: "absolute right-0 inset-y-0 w-px bg-black cursor-col-resize"
982
- }
983
- )
984
- ]
985
- },
986
- header.id
987
- );
988
- }
989
- return /* @__PURE__ */ jsx8(React3.Fragment, { children: ((_e2 = header.column.columnDef.meta) == null ? void 0 : _e2.checkbox) ? /* @__PURE__ */ jsx8(
990
- DataGridCell,
991
- {
992
- id: id ? `${id}-header-${header.id}` : void 0,
993
- testid: testid ? `${testid}-header-${header.id}` : void 0,
994
- type: "header",
995
- component: "checkbox",
996
- locked: true,
997
- children: /* @__PURE__ */ jsx8(
998
- Checkbox,
999
- {
1000
- id: id ? `${id}-select-all-checkbox` : void 0,
1001
- testid: testid ? `${testid}-select-all-checkbox` : void 0,
1002
- checked: allSelectedAcrossPages,
1003
- indeterminate: someSelectedAcrossPages,
1004
- onChange: toggleSelectAllAcrossPages
1005
- }
1006
- )
1007
- }
1008
- ) : flexRender3(
1009
- header.column.columnDef.header,
1010
- header.getContext()
1011
- ) }, header.id);
1012
- }),
1013
- virtualPaddingRight ? (
1014
- //fake empty column to the right for virtualization scroll padding
1015
- /* @__PURE__ */ jsx8(
1016
- "th",
1017
- {
1018
- style: { display: "flex", width: virtualPaddingRight }
1019
- }
1020
- )
1021
- ) : null
1022
- ]
1023
- },
1024
- headerGroup.id
1025
- )) }),
1026
- /* @__PURE__ */ jsx8(
1027
- TableBody,
1028
- {
1029
- id,
1030
- testid,
1031
- columnVirtualizer,
1032
- table,
1033
- tableContainerRef: containerRef,
1034
- virtualPaddingLeft,
1035
- virtualPaddingRight,
1036
- pagination,
1037
- isLoadingMore,
1038
- hasMore,
1039
- showFilterRow,
1040
- enableColumnSelector
1041
- }
1042
- )
1043
- ] }),
1044
- /* @__PURE__ */ jsx8(
1045
- PinnedColumns,
1046
- {
1047
- id,
1048
- enableColumnSelector,
1049
- toggleColumnVisibility,
1050
- resetColumnVisibility,
1051
- testid,
1052
- pinDirection: "right",
1053
- table,
1054
- tableContainerRef: containerRef,
1055
- pagination,
1056
- isLoadingMore,
1057
- hasMore,
1058
- showFilterRow
1059
- }
1060
- )
1061
- ]
1062
- }
1063
- ),
1064
- empty && /* @__PURE__ */ jsxs5(
1065
- "div",
1066
- {
1067
- className: clsx5(
1068
- NO_RESULTS_HEIGHT,
1069
- "flex flex-col items-center justify-center",
1070
- componentGap,
1071
- componentPadding
1072
- ),
1073
- "data-testid": testid ? `${testid}-no-results` : void 0,
1074
- children: [
1075
- /* @__PURE__ */ jsx8(
1076
- "img",
1077
- {
1078
- src: (_g = (_f = no_results_image_default) == null ? void 0 : _f.src) != null ? _g : no_results_image_default,
1079
- alt: "No Results",
1080
- className: "h-30 opacity-20",
1081
- width: 120,
1082
- height: 120
1083
- }
1084
- ),
1085
- /* @__PURE__ */ jsx8(Subheader, { color: "text-secondary-normal", children: "No Results" }),
1086
- /* @__PURE__ */ jsx8(Paragraph, { color: "text-secondary-normal", children: "To view results, enter or update your search criteria." })
1087
- ]
1088
- }
1089
- ),
1090
- !hideStatusBar && /* @__PURE__ */ jsxs5("div", { className: "p-2 pt-[7px] border-t border-border-primary-normal h-full min-h-[34px]", children: [
1091
- pagination && /* @__PURE__ */ jsxs5("div", { className: "flex justify-between items-center", children: [
1092
- /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-1 w-min", children: [
1093
- /* @__PURE__ */ jsx8(
1094
- Select,
1095
- {
1096
- id: id ? `${id}-pagesize-select` : void 0,
1097
- testid: testid ? `${testid}-pagesize-select` : void 0,
1098
- wrapperClassName: "!w-20",
1099
- value: pagination.pageSize.toString(),
1100
- onChange: (e) => {
1101
- var _a2;
1102
- return (_a2 = pagination.onPageSizeChange) == null ? void 0 : _a2.call(pagination, Number(e.target.value));
1103
- },
1104
- renderMenu: (props) => /* @__PURE__ */ jsx8(
1105
- Menu,
1106
- __spreadProps(__spreadValues({}, props), {
1107
- id: id ? `${id}-pagesize-menu` : void 0,
1108
- testid: testid ? `${testid}-pagesize-menu` : void 0,
1109
- children: PAGE_SIZE_OPTIONS.map((option) => /* @__PURE__ */ jsx8(
1110
- MenuOption,
1111
- {
1112
- id: id ? `${id}-pagesize-option-${option}` : void 0,
1113
- selected: pagination.pageSize === option,
1114
- onClick: () => {
1115
- var _a2;
1116
- return (_a2 = pagination.onPageSizeChange) == null ? void 0 : _a2.call(pagination, option);
1117
- },
1118
- children: option
1119
- },
1120
- option
1121
- ))
1122
- })
1123
- )
1124
- }
1125
- ),
1126
- /* @__PURE__ */ jsx8(Label, { children: "Per Page" })
1127
- ] }),
1128
- /* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-2", children: [
1129
- /* @__PURE__ */ jsx8(
1130
- Button,
1131
- {
1132
- id: id ? `${id}-prev-page-button` : void 0,
1133
- testid: testid ? `${testid}-prev-page-button` : void 0,
1134
- iconOnly: true,
1135
- leftIcon: /* @__PURE__ */ jsx8(Icon, { name: "chevron_left" }),
1136
- onClick: () => pagination.onPageChange(pagination.pageIndex - 1),
1137
- variant: "tertiary",
1138
- disabled: pagination.pageIndex === 0
1139
- }
1140
- ),
1141
- /* @__PURE__ */ jsxs5(Paragraph, { children: [
1142
- pagination.pageIndex * pagination.pageSize + 1,
1143
- " -",
1144
- " ",
1145
- Math.min(
1146
- (pagination.pageIndex + 1) * pagination.pageSize,
1147
- pagination.total
1148
- ),
1149
- " ",
1150
- "of ",
1151
- pagination.total
1152
- ] }),
1153
- /* @__PURE__ */ jsx8(
1154
- Button,
1155
- {
1156
- id: id ? `${id}-next-page-button` : void 0,
1157
- testid: testid ? `${testid}-next-page-button` : void 0,
1158
- iconOnly: true,
1159
- leftIcon: /* @__PURE__ */ jsx8(Icon, { name: "chevron_right" }),
1160
- onClick: () => pagination.onPageChange(pagination.pageIndex + 1),
1161
- variant: "tertiary",
1162
- disabled: (pagination.pageIndex + 1) * pagination.pageSize >= pagination.total
1163
- }
1164
- )
1165
- ] })
1166
- ] }),
1167
- status && /* @__PURE__ */ jsx8(
1168
- Paragraph,
1169
- {
1170
- testid: testid ? `${testid}-status-text` : void 0,
1171
- children: status
1172
- }
1173
- )
1174
- ] })
1175
- ]
1176
- }
1177
- )
1178
- }
1179
- )
1180
- }
1181
- );
1182
- }
1183
- DataGrid.displayName = "DataGrid";
1184
- function adaptTableStateSetter(setter) {
1185
- return (valueOrFn) => {
1186
- setter(
1187
- (prev) => typeof valueOrFn === "function" ? valueOrFn(prev) : valueOrFn
1188
- );
1189
- };
1190
- }
57
+ Button
58
+ } from "../chunk-SK742QNF.js";
59
+ import "../chunk-RDLEIAQU.js";
60
+ import "../chunk-BBZEL7EG.js";
1191
61
  export {
1192
62
  Accordion,
1193
63
  Button,