mig-schema-table 5.0.7 → 5.0.9

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.
@@ -2,7 +2,7 @@ import { default as default_2 } from 'react';
2
2
  import { default as default_3 } from 'react-window-infinite-loader';
3
3
  import { Dispatch } from 'react';
4
4
  import { InputHTMLAttributes } from 'react';
5
- import { JSX as JSX_2 } from 'react/jsx-runtime';
5
+ import { JSX } from 'react/jsx-runtime';
6
6
  import { oas31 } from 'openapi3-ts';
7
7
  import { SetStateAction } from 'react';
8
8
  import { VariableSizeGrid } from 'react-window';
@@ -114,7 +114,7 @@ export declare interface ISchemaTableProps<T> {
114
114
  translate?: (key: string, ...args: Array<string | number>) => string;
115
115
  useFilterStateHash?: boolean;
116
116
  width?: number;
117
- variableSizeGridRef?: default_2.RefObject<VariableSizeGrid>;
117
+ variableSizeGridRef?: default_2.RefObject<VariableSizeGrid | null>;
118
118
  loadMoreItems?: (startIndex: number, stopIndex: number) => void | Promise<void>;
119
119
  itemCount?: number;
120
120
  displayTimezone?: "Europe/Amsterdam" | "Asia/Jakarta";
@@ -141,16 +141,16 @@ declare interface IThProps {
141
141
 
142
142
  export declare const MINIMUM_COLUMN_WIDTH = 25;
143
143
 
144
- export declare const Refresher: default_2.MemoExoticComponent<({ refresh, period }: IRefresherProps) => JSX_2.Element>;
144
+ export declare const Refresher: default_2.MemoExoticComponent<({ refresh, period }: IRefresherProps) => JSX.Element>;
145
145
 
146
146
  export declare const RESIZER_WIDTH = 3;
147
147
 
148
148
  export declare const SchemaTable: typeof SchemaTable_2;
149
149
 
150
- declare const SchemaTable_2: <T>({ CustomElement, CustomSearchInput, Heading, autoRender, checkedIndexes, config, customElementProps, data, defaultColumnFilters, defaultSortAsc, defaultSortColumn, disabledCheckedIndexes, displayTimezone, enableAutoFocus, enableRowCounter, getRowClassName, getRowSelected, getSearchQueryFilterResult, infiniteLoaderRef, isColumnFilterable, isExportable, isResizable, isSearchable, isSortable, itemCount, loadMoreItems, maxHeight, onRowClick, onRowDoubleClick, onSearchEnter, onTableDataStateChange, rowHeight, schema, searchPlaceholder, setCheckedIndexes, settingsStorageKey, style, translate, useFilterStateHash, variableSizeGridRef, width, }: ISchemaTableProps<T>) => JSX_2.Element;
150
+ declare const SchemaTable_2: <T>({ CustomElement, CustomSearchInput, Heading, autoRender, checkedIndexes, config, customElementProps, data, defaultColumnFilters, defaultSortAsc, defaultSortColumn, disabledCheckedIndexes, displayTimezone, enableAutoFocus, enableRowCounter, getRowClassName, getRowSelected, getSearchQueryFilterResult, infiniteLoaderRef, isColumnFilterable, isExportable, isResizable, isSearchable, isSortable, itemCount, loadMoreItems, maxHeight, onRowClick, onRowDoubleClick, onSearchEnter, onTableDataStateChange, rowHeight, schema, searchPlaceholder, setCheckedIndexes, settingsStorageKey, style, translate, useFilterStateHash, variableSizeGridRef, width, }: ISchemaTableProps<T>) => JSX.Element;
151
151
 
152
152
  export declare const Th: typeof Th_2;
153
153
 
154
- declare const Th_2: <T>({ index, style }: IThProps) => JSX_2.Element;
154
+ declare const Th_2: <T>({ index, style }: IThProps) => JSX.Element;
155
155
 
156
156
  export { }
@@ -1,4 +1,4 @@
1
- import { jsx as t, jsxs as R, Fragment as wt } from "react/jsx-runtime";
1
+ import { jsx as t, jsxs as W, Fragment as wt } from "react/jsx-runtime";
2
2
  import * as Ft from "react";
3
3
  import e from "react";
4
4
  import { createPortal as jt } from "react-dom";
@@ -29,7 +29,7 @@ function ft(n, ...o) {
29
29
  u = u.replace(`{${f}}`, `${p}`);
30
30
  }), u;
31
31
  }
32
- const K = "SELECT_ALL_COLUMN_NAME", bt = 40, vt = "dd MMM yyyy", Je = "dd MMM yyyy HH:mm", kt = 25, gt = 50, en = 3;
32
+ const ee = "SELECT_ALL_COLUMN_NAME", bt = 40, vt = "dd MMM yyyy", Je = "dd MMM yyyy HH:mm", kt = 25, gt = 50, en = 3;
33
33
  var be = /* @__PURE__ */ ((n) => (n.GT = "GT", n.LT = "LT", n.EQ = "EQ", n))(be || {}), $e = /* @__PURE__ */ ((n) => (n.UNAVAILABLE = "UNAVAILABLE", n.AVAILABLE = "AVAILABLE", n.ACTIVE = "ACTIVE", n))($e || {});
34
34
  const Me = Ft.createContext({
35
35
  checkedIndexes: [],
@@ -61,25 +61,25 @@ const Me = Ft.createContext({
61
61
  checkedIndexes: p,
62
62
  columnNames: f,
63
63
  config: l,
64
- disabledCheckedIndexes: $,
64
+ disabledCheckedIndexes: O,
65
65
  displayTimezone: _,
66
- getRowClassName: O,
67
- getRowSelected: W,
66
+ getRowClassName: R,
67
+ getRowSelected: I,
68
68
  isItemLoaded: T,
69
- lastCheckChangedRowIndex: I,
69
+ lastCheckChangedRowIndex: $,
70
70
  onRowClick: M,
71
71
  onRowDoubleClick: y,
72
72
  properties: S,
73
- setCheckedIndexes: q,
74
- setLastCheckChangedRowIndex: ee,
73
+ setCheckedIndexes: Z,
74
+ setLastCheckChangedRowIndex: Y,
75
75
  sortedRenderData: D,
76
76
  sourceData: s,
77
77
  translate: m
78
- } = e.useContext(Me), b = f[n], w = b === K ? tn : S[b], U = l ? l[b] : void 0, te = e.useCallback(
78
+ } = e.useContext(Me), b = f[n], w = b === ee ? tn : S[b], U = l ? l[b] : void 0, te = e.useCallback(
79
79
  (v) => {
80
- q && q((A) => A && A.includes(v) ? A.filter((E) => E !== v) : A ? [...A, v] : [v]);
80
+ Z && Z((A) => A && A.includes(v) ? A.filter((E) => E !== v) : A ? [...A, v] : [v]);
81
81
  },
82
- [q]
82
+ [Z]
83
83
  ), le = T(o), ne = e.useCallback(
84
84
  (v) => {
85
85
  if (!s || !D || !M || !le)
@@ -105,7 +105,7 @@ const Me = Ft.createContext({
105
105
  ), L = D ? D[o] : void 0, { showTimezones: se, TdBody: G } = U || {}, re = e.useMemo(() => _ ? null : Te.startsWith("Europe/") ? "Asia/Jakarta" : "Europe/Amsterdam", [_]), B = e.useMemo(() => {
106
106
  if (!L || !D)
107
107
  return;
108
- let v = b === K ? void 0 : L[b];
108
+ let v = b === ee ? void 0 : L[b];
109
109
  if (w?.format && w.format === "date-time" && se !== !1) {
110
110
  const k = s ? s[L._index] : void 0, E = k ? k[b] : void 0, ce = E ? new Date(E) : void 0;
111
111
  ce && re && (v = `${yt(
@@ -119,8 +119,8 @@ const Me = Ft.createContext({
119
119
  `mig-schema-table__td--${o % 2 ? "odd" : "even"}`,
120
120
  `mig-schema-table__td--prop-${b}`
121
121
  ];
122
- switch (s && W && W(s[L._index], L._index) && A.push("mig-schema-table__td--selected"), s && O && A.push(
123
- O(s[L._index], L._index, D)
122
+ switch (s && I && I(s[L._index], L._index) && A.push("mig-schema-table__td--selected"), s && R && A.push(
123
+ R(s[L._index], L._index, D)
124
124
  ), w?.type) {
125
125
  case "boolean":
126
126
  A.push(`text-${U?.align || "center"}`);
@@ -138,8 +138,8 @@ const Me = Ft.createContext({
138
138
  style: u,
139
139
  className: A.join(" "),
140
140
  title: v,
141
- onClick: b === K ? void 0 : ne,
142
- onDoubleClick: b === K ? void 0 : C
141
+ onClick: b === ee ? void 0 : ne,
142
+ onDoubleClick: b === ee ? void 0 : C
143
143
  };
144
144
  }, [
145
145
  L,
@@ -149,8 +149,8 @@ const Me = Ft.createContext({
149
149
  se,
150
150
  o,
151
151
  s,
152
- W,
153
- O,
152
+ I,
153
+ R,
154
154
  n,
155
155
  u,
156
156
  ne,
@@ -163,8 +163,8 @@ const Me = Ft.createContext({
163
163
  if (!te || !L)
164
164
  return;
165
165
  const A = parseInt(v.currentTarget.dataset.rowIndex);
166
- if (v.shiftKey && I !== void 0) {
167
- const k = p?.includes(I) ? I : void 0;
166
+ if (v.shiftKey && $ !== void 0) {
167
+ const k = p?.includes($) ? $ : void 0;
168
168
  if (k !== void 0 && D) {
169
169
  const E = o;
170
170
  for (const ce of Pt(
@@ -172,21 +172,21 @@ const Me = Ft.createContext({
172
172
  E > k ? E + 1 : k
173
173
  )) {
174
174
  const me = D[ce]._index;
175
- (!$ || !$.includes(me)) && te(me);
175
+ (!O || !O.includes(me)) && te(me);
176
176
  }
177
177
  }
178
178
  } else
179
179
  te(L._index);
180
- ee(A), _e.current?.focus();
180
+ Y(A), _e.current?.focus();
181
181
  },
182
182
  [
183
183
  p,
184
+ O,
184
185
  $,
185
- I,
186
186
  te,
187
187
  L,
188
188
  o,
189
- ee,
189
+ Y,
190
190
  D
191
191
  ]
192
192
  ), _e = e.useRef(null);
@@ -194,7 +194,7 @@ const Me = Ft.createContext({
194
194
  return null;
195
195
  if (!T || s && !s[L._index])
196
196
  return /* @__PURE__ */ t("div", { ...B, children: "loading" });
197
- if (b === K)
197
+ if (b === ee)
198
198
  return /* @__PURE__ */ t("div", { ...B, onMouseDown: V, children: /* @__PURE__ */ t("div", { style: { textAlign: "center" }, children: /* @__PURE__ */ t(
199
199
  "input",
200
200
  {
@@ -202,7 +202,7 @@ const Me = Ft.createContext({
202
202
  type: "checkbox",
203
203
  readOnly: !0,
204
204
  checked: p?.includes(L._index),
205
- disabled: $?.includes(L._index)
205
+ disabled: O?.includes(L._index)
206
206
  }
207
207
  ) }) });
208
208
  if (G && s)
@@ -215,17 +215,17 @@ const Me = Ft.createContext({
215
215
  ...U?.tdBodyProps
216
216
  }
217
217
  ) });
218
- const Z = L[b];
219
- return w?.format === "url" && Z ? /* @__PURE__ */ t(
218
+ const q = L[b];
219
+ return w?.format === "url" && q ? /* @__PURE__ */ t(
220
220
  "a",
221
221
  {
222
- href: Z,
222
+ href: q,
223
223
  target: "_blank",
224
224
  rel: "noopener noreferrer",
225
225
  ...B,
226
- children: Z
226
+ children: q
227
227
  }
228
- ) : /* @__PURE__ */ t("div", { ...B, children: Z });
228
+ ) : /* @__PURE__ */ t("div", { ...B, children: q });
229
229
  }, pt = e.memo(nn);
230
230
  function rn() {
231
231
  const { checkedIndexes: n, disabledCheckedIndexes: o, sortedRenderData: u } = e.useContext(Me);
@@ -257,27 +257,27 @@ const on = ({ index: n, style: o }) => {
257
257
  columnNames: p,
258
258
  columnWidths: f,
259
259
  config: l,
260
- disabledCheckedIndexes: $,
260
+ disabledCheckedIndexes: O,
261
261
  dropTargetIndex: _,
262
- isColumnFilterable: O,
263
- isSortable: W,
262
+ isColumnFilterable: R,
263
+ isSortable: I,
264
264
  setCheckedIndexes: T,
265
- properties: I,
265
+ properties: $,
266
266
  required: M,
267
267
  setCustomColumnNames: y,
268
268
  setDropTargetIndex: S,
269
- setFilterSortColumn: q,
270
- setMenuConfig: ee,
269
+ setFilterSortColumn: Z,
270
+ setMenuConfig: Y,
271
271
  settingsStorageKey: D,
272
272
  tableDataState: s,
273
273
  sortedRenderData: m,
274
274
  translate: b,
275
275
  displayTimezone: w
276
- } = e.useContext(Me), [U, te] = e.useState(!1), le = n === _, ne = Dt(), C = p[n], L = C === K ? { type: "boolean" } : I[C], se = s.sortColumn === C ? s.sortAsc : void 0, G = l ? l[C] : void 0;
277
- let re = O && (L || G?.FilterMenu) && G?.isFilterable !== !1 ? $e.AVAILABLE : $e.UNAVAILABLE;
276
+ } = e.useContext(Me), [U, te] = e.useState(!1), le = n === _, ne = Dt(), C = p[n], L = C === ee ? { type: "boolean" } : $[C], se = s.sortColumn === C ? s.sortAsc : void 0, G = l ? l[C] : void 0;
277
+ let re = R && (L || G?.FilterMenu) && G?.isFilterable !== !1 ? $e.AVAILABLE : $e.UNAVAILABLE;
278
278
  s.columnFilterMap && s.columnFilterMap[C] !== void 0 && (re = $e.ACTIVE);
279
279
  const B = xt(
280
- W,
280
+ I,
281
281
  L,
282
282
  G
283
283
  ), V = [
@@ -289,28 +289,28 @@ const on = ({ index: n, style: o }) => {
289
289
  B ? "mig-schema-table__th--sortable" : "mig-schema-table__th--unsortable"
290
290
  ), se !== void 0 && V.push("mig-schema-table__th--sorted"), U && V.push("mig-schema-table__th--dragging"), le && V.push("mig-schema-table__th--drop-target");
291
291
  const { format: _e } = L || {}, {
292
- align: Z,
292
+ align: q,
293
293
  defaultSortDesc: v,
294
294
  showTimezones: A = !w,
295
295
  title: k
296
296
  } = G || {}, E = e.useCallback(() => {
297
297
  if (B) {
298
298
  if (se === void 0) {
299
- q(C, !v);
299
+ Z(C, !v);
300
300
  return;
301
301
  }
302
- q(C, !se);
302
+ Z(C, !se);
303
303
  }
304
304
  }, [
305
305
  B,
306
306
  v,
307
307
  C,
308
- q,
308
+ Z,
309
309
  se
310
310
  ]), ce = M.includes(C), me = e.useCallback(
311
311
  (j) => {
312
312
  const he = j.currentTarget;
313
- ee((we) => {
313
+ Y((we) => {
314
314
  if (we?.propName !== C)
315
315
  return {
316
316
  propConfig: G,
@@ -320,7 +320,7 @@ const on = ({ index: n, style: o }) => {
320
320
  };
321
321
  });
322
322
  },
323
- [G, ce, C, ee]
323
+ [G, ce, C, Y]
324
324
  ), Ce = e.useMemo(() => k !== void 0 ? k : _e === "date-time" && A ? `${b(C)} (${b(w || Te)})` : b(C), [k, _e, A, b, C, w]), oe = e.useCallback(
325
325
  (j, he) => {
326
326
  if (!p || !f)
@@ -364,15 +364,15 @@ const on = ({ index: n, style: o }) => {
364
364
  [oe, C, S]
365
365
  ), Le = rn(), Ze = e.useCallback(() => {
366
366
  !T || !m || T(
367
- Le ? [] : m.map((j) => j._index).filter((j) => !$?.includes(j))
367
+ Le ? [] : m.map((j) => j._index).filter((j) => !O?.includes(j))
368
368
  );
369
369
  }, [
370
370
  T,
371
371
  m,
372
372
  Le,
373
- $
373
+ O
374
374
  ]);
375
- if (C === K)
375
+ if (C === ee)
376
376
  return /* @__PURE__ */ t("div", { style: o, className: V.join(" "), children: /* @__PURE__ */ t(
377
377
  "div",
378
378
  {
@@ -395,22 +395,22 @@ const on = ({ index: n, style: o }) => {
395
395
  switch (L?.type) {
396
396
  case "boolean":
397
397
  V.push(
398
- `text-${Z || "center"}`,
399
- `justify-content-${Z || "center"}`
398
+ `text-${q || "center"}`,
399
+ `justify-content-${q || "center"}`
400
400
  );
401
401
  break;
402
402
  case "integer":
403
403
  case "number":
404
404
  V.push(
405
- `text-${Z || "end"}`,
406
- `justify-content-${Z || "end"}`
405
+ `text-${q || "end"}`,
406
+ `justify-content-${q || "end"}`
407
407
  );
408
408
  break;
409
409
  default:
410
- Z && V.push(`text-${Z}`);
410
+ q && V.push(`text-${q}`);
411
411
  }
412
412
  let Q = G?.hoverTitle;
413
- return !Q && typeof Ce == "string" && (Q = Ce), /* @__PURE__ */ R(
413
+ return !Q && typeof Ce == "string" && (Q = Ce), /* @__PURE__ */ W(
414
414
  "div",
415
415
  {
416
416
  className: V.join(" "),
@@ -422,7 +422,7 @@ const on = ({ index: n, style: o }) => {
422
422
  onDragOver: Ve,
423
423
  onDrop: Pe,
424
424
  children: [
425
- /* @__PURE__ */ R(
425
+ /* @__PURE__ */ W(
426
426
  "div",
427
427
  {
428
428
  className: "mig-schema-table__th__label-body",
@@ -471,13 +471,14 @@ const on = ({ index: n, style: o }) => {
471
471
  propIsRequired: p,
472
472
  propName: f,
473
473
  propSchema: l,
474
- translate: $
474
+ translate: O
475
475
  }) => {
476
- const { displayTimezone: _ } = e.useContext(Me), { type: O, format: W, minimum: T, maximum: I } = l || {}, M = n, y = W === "date-time";
477
- switch (O) {
476
+ const { displayTimezone: _ } = e.useContext(Me), { type: R, format: I, minimum: T, maximum: $ } = l || {}, M = n, y = I === "date-time";
477
+ let S, Z, Y, D;
478
+ switch (R) {
478
479
  case "number":
479
480
  case "integer":
480
- const S = M || {}, q = (s, m, b) => {
481
+ return S = M || {}, Z = (s, m, b) => {
481
482
  const w = {
482
483
  ...S,
483
484
  [s]: m.value === "" ? void 0 : parseInt(m.value)
@@ -488,10 +489,9 @@ const on = ({ index: n, style: o }) => {
488
489
  U !== void 0 && (T === void 0 || U >= T) ? w : void 0,
489
490
  b
490
491
  );
491
- };
492
- return /* @__PURE__ */ R("ol", { className: "mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component", children: [
493
- p ? null : /* @__PURE__ */ R("li", { style: { padding: 8 }, children: [
494
- /* @__PURE__ */ R("label", { className: "d-flex", children: [
492
+ }, /* @__PURE__ */ W("ol", { className: "mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component", children: [
493
+ p ? null : /* @__PURE__ */ W("li", { style: { padding: 8 }, children: [
494
+ /* @__PURE__ */ W("label", { className: "d-flex", children: [
495
495
  /* @__PURE__ */ t(
496
496
  "input",
497
497
  {
@@ -513,7 +513,7 @@ const on = ({ index: n, style: o }) => {
513
513
  ] }),
514
514
  Object.keys(be).map((s) => {
515
515
  const m = S[s];
516
- return /* @__PURE__ */ R("li", { children: [
516
+ return /* @__PURE__ */ W("li", { children: [
517
517
  /* @__PURE__ */ t("label", { style: { width: 40, paddingLeft: 16 }, children: an[s] }),
518
518
  /* @__PURE__ */ t(
519
519
  "input",
@@ -524,14 +524,14 @@ const on = ({ index: n, style: o }) => {
524
524
  value: m !== void 0 ? m : "",
525
525
  "data-prop-name": f,
526
526
  onChange: (b) => {
527
- q(
527
+ Z(
528
528
  s,
529
529
  b.currentTarget,
530
530
  !1
531
531
  );
532
532
  },
533
533
  onBlur: (b) => {
534
- q(
534
+ Z(
535
535
  s,
536
536
  b.currentTarget,
537
537
  !0
@@ -539,17 +539,14 @@ const on = ({ index: n, style: o }) => {
539
539
  },
540
540
  onKeyDown: u,
541
541
  min: T,
542
- max: I
542
+ max: $
543
543
  }
544
544
  )
545
545
  ] }, s);
546
546
  })
547
547
  ] });
548
548
  case "boolean":
549
- const ee = ["✓", "✕"];
550
- p || ee.push("?");
551
- let D = M ? "✓" : "✕";
552
- return M === null && (D = "?"), M === void 0 && (D = ""), /* @__PURE__ */ t("ol", { className: "mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component", children: /* @__PURE__ */ t("li", { children: /* @__PURE__ */ R(
549
+ return Y = ["✓", "✕"], p || Y.push("?"), D = M ? "✓" : "✕", M === null && (D = "?"), M === void 0 && (D = ""), /* @__PURE__ */ t("ol", { className: "mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component", children: /* @__PURE__ */ t("li", { children: /* @__PURE__ */ W(
553
550
  "select",
554
551
  {
555
552
  autoFocus: !0,
@@ -573,7 +570,7 @@ const on = ({ index: n, style: o }) => {
573
570
  },
574
571
  children: [
575
572
  /* @__PURE__ */ t("option", { value: "", children: "All" }, "all"),
576
- ee.map((s) => /* @__PURE__ */ t(
573
+ Y.map((s) => /* @__PURE__ */ t(
577
574
  "option",
578
575
  {
579
576
  value: s,
@@ -587,7 +584,7 @@ const on = ({ index: n, style: o }) => {
587
584
  // @ts-expect-error falls through
588
585
  case "string":
589
586
  if (l?.enum)
590
- return /* @__PURE__ */ t("ol", { className: "mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component", children: /* @__PURE__ */ t("li", { children: /* @__PURE__ */ R(
587
+ return /* @__PURE__ */ t("ol", { className: "mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component", children: /* @__PURE__ */ t("li", { children: /* @__PURE__ */ W(
591
588
  "select",
592
589
  {
593
590
  autoFocus: !0,
@@ -603,22 +600,22 @@ const on = ({ index: n, style: o }) => {
603
600
  "option",
604
601
  {
605
602
  value: s,
606
- children: $(s)
603
+ children: O(s)
607
604
  },
608
605
  `column-filter-select-${s}`
609
606
  ))
610
607
  ]
611
608
  }
612
609
  ) }) });
613
- if (y || W === "date") {
610
+ if (y || I === "date") {
614
611
  const s = y ? Je : vt, m = n || {
615
612
  from: void 0,
616
613
  to: void 0,
617
614
  filterEmpty: void 0
618
615
  };
619
- return /* @__PURE__ */ R("ol", { className: "mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component", children: [
620
- p ? null : /* @__PURE__ */ R("li", { style: { padding: 8 }, children: [
621
- /* @__PURE__ */ R("label", { className: "d-flex", children: [
616
+ return /* @__PURE__ */ W("ol", { className: "mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component", children: [
617
+ p ? null : /* @__PURE__ */ W("li", { style: { padding: 8 }, children: [
618
+ /* @__PURE__ */ W("label", { className: "d-flex", children: [
622
619
  /* @__PURE__ */ t(
623
620
  "input",
624
621
  {
@@ -637,7 +634,7 @@ const on = ({ index: n, style: o }) => {
637
634
  ] }),
638
635
  /* @__PURE__ */ t("hr", {})
639
636
  ] }),
640
- /* @__PURE__ */ R("li", { style: { padding: 8 }, children: [
637
+ /* @__PURE__ */ W("li", { style: { padding: 8 }, children: [
641
638
  /* @__PURE__ */ t("label", { style: { width: 120, paddingLeft: 4 }, children: "After" }),
642
639
  /* @__PURE__ */ t(
643
640
  ut,
@@ -676,7 +673,7 @@ const on = ({ index: n, style: o }) => {
676
673
  }
677
674
  )
678
675
  ] }),
679
- /* @__PURE__ */ R("li", { style: { padding: 8 }, children: [
676
+ /* @__PURE__ */ W("li", { style: { padding: 8 }, children: [
680
677
  /* @__PURE__ */ t("label", { style: { width: 120, paddingLeft: 4 }, children: "Before" }),
681
678
  /* @__PURE__ */ t(
682
679
  ut,
@@ -748,18 +745,18 @@ const on = ({ index: n, style: o }) => {
748
745
  onClose: p,
749
746
  onInputKeyDown: f,
750
747
  propConfig: l,
751
- propIsRequired: $,
748
+ propIsRequired: O,
752
749
  propName: _,
753
- propSchema: O,
754
- referenceElement: W,
750
+ propSchema: R,
751
+ referenceElement: I,
755
752
  setFilterSortColumn: T,
756
- translate: I,
753
+ translate: $,
757
754
  value: M
758
755
  }) => {
759
756
  const y = mt({
760
757
  placement: "bottom-start",
761
758
  elements: {
762
- reference: W
759
+ reference: I
763
760
  },
764
761
  middleware: [ht()]
765
762
  }), S = mt({
@@ -786,7 +783,7 @@ const on = ({ index: n, style: o }) => {
786
783
  p,
787
784
  S.elements.floating
788
785
  ]);
789
- const q = l?.FilterMenu || ln, ee = e.useCallback(
786
+ const Z = l?.FilterMenu || ln, Y = e.useCallback(
790
787
  (m) => {
791
788
  T(_, !0), p(m);
792
789
  },
@@ -799,25 +796,25 @@ const on = ({ index: n, style: o }) => {
799
796
  ), s = e.useCallback(() => {
800
797
  u(void 0, !0);
801
798
  }, [u]);
802
- return !n && !o ? null : /* @__PURE__ */ R(wt, { children: [
799
+ return !n && !o ? null : /* @__PURE__ */ W(wt, { children: [
803
800
  /* @__PURE__ */ t(
804
801
  "div",
805
802
  {
806
803
  className: "mig-schema-table mig-schema-table__th-menu",
807
804
  ref: y.refs.setFloating,
808
805
  style: y.floatingStyles,
809
- children: /* @__PURE__ */ R("ol", { className: "mig-schema-table-menu", children: [
810
- n ? /* @__PURE__ */ R("li", { onClick: ee, style: { padding: 8 }, children: [
806
+ children: /* @__PURE__ */ W("ol", { className: "mig-schema-table-menu", children: [
807
+ n ? /* @__PURE__ */ W("li", { onClick: Y, style: { padding: 8 }, children: [
811
808
  /* @__PURE__ */ t("span", { className: "mig-schema-table__th-menu__icon", children: "↓" }),
812
809
  " ",
813
- I("sortAscending")
810
+ $("sortAscending")
814
811
  ] }) : null,
815
- n ? /* @__PURE__ */ R("li", { onClick: D, style: { padding: 8 }, children: [
812
+ n ? /* @__PURE__ */ W("li", { onClick: D, style: { padding: 8 }, children: [
816
813
  /* @__PURE__ */ t("span", { className: "mig-schema-table__th-menu__icon", children: "↑" }),
817
814
  " ",
818
- I("sortDescending")
815
+ $("sortDescending")
819
816
  ] }) : null,
820
- o ? /* @__PURE__ */ R(
817
+ o ? /* @__PURE__ */ W(
821
818
  "li",
822
819
  {
823
820
  style: { padding: 8 },
@@ -835,7 +832,7 @@ const on = ({ index: n, style: o }) => {
835
832
  onChange: s
836
833
  }
837
834
  ) }),
838
- /* @__PURE__ */ t("label", { htmlFor: "mig-schema-table__th-menu__filters", children: I("filters") }),
835
+ /* @__PURE__ */ t("label", { htmlFor: "mig-schema-table__th-menu__filters", children: $("filters") }),
839
836
  /* @__PURE__ */ t("div", { className: "mig-schema-table__th-menu__sub-menu-indicator" })
840
837
  ]
841
838
  }
@@ -850,15 +847,15 @@ const on = ({ index: n, style: o }) => {
850
847
  ref: S.refs.setFloating,
851
848
  style: S.floatingStyles,
852
849
  children: /* @__PURE__ */ t(
853
- q,
850
+ Z,
854
851
  {
855
852
  columnFilterValue: M,
856
853
  onChange: u,
857
854
  onInputKeyDown: f,
858
- propIsRequired: $,
855
+ propIsRequired: O,
859
856
  propName: _,
860
- propSchema: O,
861
- translate: I
857
+ propSchema: R,
858
+ translate: $
862
859
  }
863
860
  )
864
861
  }
@@ -870,38 +867,38 @@ const on = ({ index: n, style: o }) => {
870
867
  setResizeColumnIndex: u,
871
868
  tableBodyHeight: p
872
869
  }) => {
873
- const [f, l] = e.useState(0), $ = Dt(), _ = e.useCallback(
874
- (I) => {
870
+ const [f, l] = e.useState(0), O = Dt(), _ = e.useCallback(
871
+ ($) => {
875
872
  const M = n.map(
876
- (y, S) => S === o ? Math.max(y + I, kt) : y
873
+ (y, S) => S === o ? Math.max(y + $, kt) : y
877
874
  );
878
- $(M);
875
+ O(M);
879
876
  },
880
- [n, o, $]
877
+ [n, o, O]
881
878
  );
882
- let O = 0;
883
- const W = e.useCallback(
884
- (I) => {
885
- u(parseInt(I.currentTarget.dataset.columnIndex)), l(I.clientX);
879
+ let R = 0;
880
+ const I = e.useCallback(
881
+ ($) => {
882
+ u(parseInt($.currentTarget.dataset.columnIndex)), l($.clientX);
886
883
  },
887
884
  [u]
888
885
  ), T = e.useCallback(
889
- (I) => {
890
- _(I.clientX - f), l(0), u(-1);
886
+ ($) => {
887
+ _($.clientX - f), l(0), u(-1);
891
888
  },
892
889
  [f, _, u]
893
890
  );
894
- return /* @__PURE__ */ t("div", { children: [...n].map((I, M) => {
895
- O += I;
891
+ return /* @__PURE__ */ t("div", { children: [...n].map(($, M) => {
892
+ R += $;
896
893
  const y = ["mig-schema-table__column_resizer"];
897
894
  return M === o && y.push("mig-schema-table__column_resizer--dragged"), /* @__PURE__ */ t(
898
895
  "div",
899
896
  {
900
- style: { left: O - en, bottom: p },
897
+ style: { left: R - en, bottom: p },
901
898
  className: y.join(" "),
902
899
  draggable: "true",
903
900
  "data-column-index": M,
904
- onDragStart: W,
901
+ onDragStart: I,
905
902
  onDragEnd: T
906
903
  },
907
904
  M
@@ -916,9 +913,11 @@ const on = ({ index: n, style: o }) => {
916
913
  if (!n)
917
914
  return;
918
915
  const f = new ResizeObserver((l) => {
919
- for (const $ of l) {
920
- const { blockSize: _, inlineSize: O } = $.borderBoxSize[0];
921
- O && _ && p({ width: O, height: _ });
916
+ for (const O of l) {
917
+ const { blockSize: _, inlineSize: R } = O.borderBoxSize[0];
918
+ p(
919
+ (I) => R && _ && (I.width !== R || I.height !== _) ? { width: R, height: _ } : I
920
+ );
922
921
  }
923
922
  });
924
923
  return f.observe(n), () => {
@@ -945,7 +944,7 @@ const on = ({ index: n, style: o }) => {
945
944
  ])
946
945
  ), p.getRow(1).font = { bold: !0 }, p.addRows(
947
946
  n.map((f) => {
948
- const { _index: l, SELECT_ALL_COLUMN_NAME: $, ..._ } = f;
947
+ const { _index: l, SELECT_ALL_COLUMN_NAME: O, ..._ } = f;
949
948
  return Object.values(_);
950
949
  })
951
950
  ), u.xlsx.writeBuffer().then((f) => {
@@ -976,17 +975,17 @@ const pn = ({
976
975
  autoRender: p,
977
976
  checkedIndexes: f,
978
977
  config: l,
979
- customElementProps: $,
978
+ customElementProps: O,
980
979
  data: _,
981
- defaultColumnFilters: O,
982
- defaultSortAsc: W = !1,
980
+ defaultColumnFilters: R,
981
+ defaultSortAsc: I = !1,
983
982
  defaultSortColumn: T,
984
- disabledCheckedIndexes: I,
983
+ disabledCheckedIndexes: $,
985
984
  displayTimezone: M,
986
985
  enableAutoFocus: y = !0,
987
986
  enableRowCounter: S = !0,
988
- getRowClassName: q,
989
- getRowSelected: ee,
987
+ getRowClassName: Z,
988
+ getRowSelected: Y,
990
989
  getSearchQueryFilterResult: D,
991
990
  infiniteLoaderRef: s,
992
991
  isColumnFilterable: m = !0,
@@ -1004,7 +1003,7 @@ const pn = ({
1004
1003
  rowHeight: B = 36,
1005
1004
  schema: V,
1006
1005
  searchPlaceholder: _e,
1007
- setCheckedIndexes: Z,
1006
+ setCheckedIndexes: q,
1008
1007
  settingsStorageKey: v,
1009
1008
  style: A,
1010
1009
  translate: k = ft,
@@ -1016,9 +1015,9 @@ const pn = ({
1016
1015
  J ? void 0 : _
1017
1016
  ), [fe, qe] = e.useState(), [a, ke] = e.useState({
1018
1017
  searchQuery: "",
1019
- columnFilterMap: O || {},
1018
+ columnFilterMap: R || {},
1020
1019
  sortColumn: T,
1021
- sortAsc: W
1020
+ sortAsc: I
1022
1021
  }), [z, Tt] = e.useState(
1023
1022
  E ? ct(window.location.hash) : null
1024
1023
  );
@@ -1047,8 +1046,8 @@ const pn = ({
1047
1046
  return;
1048
1047
  const { columnFilterMap: r, searchQuery: c, sortAsc: d, sortColumn: i } = z || {}, h = {
1049
1048
  searchQuery: c || "",
1050
- columnFilterMap: r || O || {},
1051
- sortAsc: d === void 0 ? W : d,
1049
+ columnFilterMap: r || R || {},
1050
+ sortAsc: d === void 0 ? I : d,
1052
1051
  sortColumn: i === void 0 ? T : i
1053
1052
  };
1054
1053
  ke(
@@ -1057,8 +1056,8 @@ const pn = ({
1057
1056
  }, [
1058
1057
  z,
1059
1058
  E,
1060
- O,
1061
- W,
1059
+ R,
1060
+ I,
1062
1061
  T
1063
1062
  ]), e.useEffect(() => {
1064
1063
  re && re(a);
@@ -1075,12 +1074,12 @@ const pn = ({
1075
1074
  ...V
1076
1075
  }),
1077
1076
  [V]
1078
- ), We = v ? localStorage.getItem(`${v}.columnNames`) : null, Fe = v ? localStorage.getItem(`${v}.columnWidths`) : null, Y = e.useMemo(() => {
1077
+ ), We = v ? localStorage.getItem(`${v}.columnNames`) : null, Fe = v ? localStorage.getItem(`${v}.columnWidths`) : null, K = e.useMemo(() => {
1079
1078
  if (Ce)
1080
1079
  return Ce;
1081
1080
  const r = We ? JSON.parse(We) : void 0;
1082
1081
  let c = Object.keys(ae);
1083
- if (Z && c.unshift(K), l) {
1082
+ if (q && c.unshift(ee), l) {
1084
1083
  Object.keys(l).forEach((i) => {
1085
1084
  c.includes(i) || c.push(i);
1086
1085
  });
@@ -1096,24 +1095,24 @@ const pn = ({
1096
1095
  let g = l[h] ? l[h].order : void 0;
1097
1096
  return g === void 0 && (g = Object.keys(ae).findIndex(
1098
1097
  (H) => H === h
1099
- )), h === K || i === K ? 0 : N === -1 ? 1 : g === -1 ? -1 : N - g;
1098
+ )), h === ee || i === ee ? 0 : N === -1 ? 1 : g === -1 ? -1 : N - g;
1100
1099
  });
1101
1100
  }
1102
1101
  return r?.length === c.length ? r : c;
1103
1102
  }, [
1104
1103
  l,
1105
1104
  Ce,
1106
- Z,
1105
+ q,
1107
1106
  ae,
1108
1107
  We
1109
1108
  ]), je = e.useMemo(
1110
- () => x && Y ? x.map(
1111
- (r, c) => Y.reduce(
1109
+ () => x && K ? x.map(
1110
+ (r, c) => K.reduce(
1112
1111
  (d, i) => {
1113
1112
  const h = ae[i], N = l ? l[i] : void 0;
1114
1113
  if (N?.renderData)
1115
1114
  return d[i] = N.renderData(r, c), d;
1116
- if (!h || i === K)
1115
+ if (!h || i === ee)
1117
1116
  return d[i] = "", d;
1118
1117
  const g = r ? r[i] : "";
1119
1118
  switch (h.type) {
@@ -1152,18 +1151,18 @@ const pn = ({
1152
1151
  { _index: c }
1153
1152
  )
1154
1153
  ) : void 0,
1155
- [x, Y, ae, l, k, M]
1156
- ), xe = Y ? Y.length : 0, { dynamicWidthColumnCount: Ge, fixedWidthColumnsWidth: Xe } = e.useMemo(() => {
1154
+ [x, K, ae, l, k, M]
1155
+ ), xe = K ? K.length : 0, { dynamicWidthColumnCount: Ge, fixedWidthColumnsWidth: Xe } = e.useMemo(() => {
1157
1156
  let r = 0, c = 0;
1158
- return (Y || []).forEach((d) => {
1159
- if (d === K) {
1157
+ return (K || []).forEach((d) => {
1158
+ if (d === ee) {
1160
1159
  r += bt;
1161
1160
  return;
1162
1161
  }
1163
1162
  const i = l ? l[d] : void 0;
1164
1163
  i?.width ? r += i.width : c += 1;
1165
1164
  }, 0), { dynamicWidthColumnCount: c, fixedWidthColumnsWidth: r };
1166
- }, [Y, l]), ie = e.useMemo(() => {
1165
+ }, [K, l]), ie = e.useMemo(() => {
1167
1166
  if (Ee)
1168
1167
  return new Uint16Array(Ee);
1169
1168
  const r = Fe ? new Uint16Array(JSON.parse(Fe)) : void 0, c = Math.max(
@@ -1174,8 +1173,8 @@ const pn = ({
1174
1173
  );
1175
1174
  let d = (Ae - Xe) % Ge;
1176
1175
  const i = new Uint16Array(
1177
- Y.map((h) => {
1178
- if (h === K)
1176
+ K.map((h) => {
1177
+ if (h === ee)
1179
1178
  return bt;
1180
1179
  const N = l ? l[h] : void 0;
1181
1180
  return N?.width ? N?.width : d ? (d -= 1, c + 1) : c;
@@ -1183,7 +1182,7 @@ const pn = ({
1183
1182
  );
1184
1183
  return r?.length === i.length ? r : i;
1185
1184
  }, [
1186
- Y,
1185
+ K,
1187
1186
  l,
1188
1187
  Ee,
1189
1188
  Ge,
@@ -1196,7 +1195,7 @@ const pn = ({
1196
1195
  ), Ie = e.useMemo(() => {
1197
1196
  if (!je || !m && !U || J)
1198
1197
  return je;
1199
- const { searchQuery: r } = a, c = r.toLowerCase() || "", d = (i) => x && D ? D(x[i._index], r) : !(Y && !Y.find(
1198
+ const { searchQuery: r } = a, c = r.toLowerCase() || "", d = (i) => x && D ? D(x[i._index], r) : !(K && !K.find(
1200
1199
  (h) => `${i[h]}`.toLowerCase().includes(c)
1201
1200
  ));
1202
1201
  return je.filter((i) => {
@@ -1273,7 +1272,7 @@ const pn = ({
1273
1272
  J,
1274
1273
  a,
1275
1274
  D,
1276
- Y,
1275
+ K,
1277
1276
  l,
1278
1277
  x,
1279
1278
  ae
@@ -1288,7 +1287,7 @@ const pn = ({
1288
1287
  return F ? P ? h(
1289
1288
  F,
1290
1289
  P,
1291
- r === void 0 ? W : r
1290
+ r === void 0 ? I : r
1292
1291
  ) : -1 : 1;
1293
1292
  });
1294
1293
  const N = d && d.format?.startsWith("date"), g = gn(d, i);
@@ -1298,7 +1297,7 @@ const pn = ({
1298
1297
  });
1299
1298
  }, [
1300
1299
  l,
1301
- W,
1300
+ I,
1302
1301
  Ie,
1303
1302
  J,
1304
1303
  ae,
@@ -1427,10 +1426,10 @@ const pn = ({
1427
1426
  columnFilterMap: {},
1428
1427
  // Clear button should clear _ALL_ filters, do _NOT_ revert to defaultColumnFilters
1429
1428
  sortColumn: T,
1430
- sortAsc: W
1429
+ sortAsc: I
1431
1430
  };
1432
1431
  E && (window.location.hash = ze(r)), qe(r), ke(r);
1433
- }, [E, W, T]), It = e.useCallback(() => {
1432
+ }, [E, I, T]), It = e.useCallback(() => {
1434
1433
  const r = z?.searchQuery || "";
1435
1434
  E && // prevent hash change for undefined vs empty string compare
1436
1435
  (a.searchQuery || r) && a.searchQuery !== r && (window.location.hash = ze({
@@ -1555,14 +1554,14 @@ const pn = ({
1555
1554
  {
1556
1555
  value: {
1557
1556
  checkedIndexes: f,
1558
- columnNames: Y,
1557
+ columnNames: K,
1559
1558
  columnWidths: ie,
1560
1559
  config: l,
1561
- disabledCheckedIndexes: I,
1560
+ disabledCheckedIndexes: $,
1562
1561
  displayTimezone: M,
1563
1562
  dropTargetIndex: Le,
1564
- getRowClassName: q,
1565
- getRowSelected: ee,
1563
+ getRowClassName: Z,
1564
+ getRowSelected: Y,
1566
1565
  isColumnFilterable: m,
1567
1566
  isItemLoaded: Ke,
1568
1567
  isSortable: te,
@@ -1571,7 +1570,7 @@ const pn = ({
1571
1570
  onRowDoubleClick: se,
1572
1571
  properties: ae,
1573
1572
  required: Mt,
1574
- setCheckedIndexes: Z,
1573
+ setCheckedIndexes: q,
1575
1574
  setCustomColumnNames: oe,
1576
1575
  setCustomColumnWidths: Oe,
1577
1576
  setDropTargetIndex: Ze,
@@ -1584,7 +1583,7 @@ const pn = ({
1584
1583
  tableDataState: a,
1585
1584
  translate: k || ft
1586
1585
  },
1587
- children: /* @__PURE__ */ R(
1586
+ children: /* @__PURE__ */ W(
1588
1587
  "div",
1589
1588
  {
1590
1589
  className: `mig-schema-table${L ? " mig-schema-table--clickable-rows" : ""}`,
@@ -1592,7 +1591,7 @@ const pn = ({
1592
1591
  style: Rt,
1593
1592
  role: "table",
1594
1593
  children: [
1595
- /* @__PURE__ */ R(
1594
+ /* @__PURE__ */ W(
1596
1595
  "div",
1597
1596
  {
1598
1597
  className: "mig-schema-table__action-container",
@@ -1616,7 +1615,7 @@ const pn = ({
1616
1615
  n ? /* @__PURE__ */ t(
1617
1616
  n,
1618
1617
  {
1619
- ...$,
1618
+ ...O,
1620
1619
  renderData: X
1621
1620
  }
1622
1621
  ) : /* @__PURE__ */ t("div", { className: "mig-schema-table__custom_element_placeholder" }),
@@ -1655,7 +1654,7 @@ const pn = ({
1655
1654
  ]
1656
1655
  }
1657
1656
  ),
1658
- /* @__PURE__ */ R("div", { className: "mig-schema-table__column_resize_container", children: [
1657
+ /* @__PURE__ */ W("div", { className: "mig-schema-table__column_resize_container", children: [
1659
1658
  /* @__PURE__ */ t(
1660
1659
  u,
1661
1660
  {
@@ -1717,15 +1716,15 @@ const pn = ({
1717
1716
  }
1718
1717
  );
1719
1718
  }, In = e.memo(pn), Sn = e.memo(({ refresh: n, period: o = 60 }) => {
1720
- const [u, p] = e.useState(/* @__PURE__ */ new Date()), [f, l] = e.useState(/* @__PURE__ */ new Date()), $ = e.useCallback(() => {
1719
+ const [u, p] = e.useState(/* @__PURE__ */ new Date()), [f, l] = e.useState(/* @__PURE__ */ new Date()), O = e.useCallback(() => {
1721
1720
  l(/* @__PURE__ */ new Date()), n();
1722
1721
  }, [n]), _ = e.useMemo(
1723
1722
  () => Ut(u, f),
1724
1723
  [u, f]
1725
1724
  );
1726
1725
  e.useEffect(() => {
1727
- _ > o && $();
1728
- }, [_, u, f, o, $]), e.useEffect(() => {
1726
+ _ > o && O();
1727
+ }, [_, u, f, o, O]), e.useEffect(() => {
1729
1728
  const T = setInterval(() => {
1730
1729
  p(/* @__PURE__ */ new Date());
1731
1730
  }, 1e3);
@@ -1733,12 +1732,12 @@ const pn = ({
1733
1732
  clearInterval(T);
1734
1733
  };
1735
1734
  }, []);
1736
- const O = o - _;
1737
- return /* @__PURE__ */ R(
1735
+ const R = o - _;
1736
+ return /* @__PURE__ */ W(
1738
1737
  "div",
1739
1738
  {
1740
1739
  className: "mx-auto",
1741
- title: `Refresh ${O > 0 ? `in ${O} seconds` : "NOW"}`,
1740
+ title: `Refresh ${R > 0 ? `in ${R} seconds` : "NOW"}`,
1742
1741
  children: [
1743
1742
  "Last update ",
1744
1743
  tt(f, "HH:mm")
@@ -1 +1 @@
1
- (function(E,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("react/jsx-runtime"),require("react"),require("react-dom"),require("react-window"),require("date-fns"),require("date-fns/locale"),require("mig-data-tools"),require("lodash"),require("react-datepicker"),require("date-fns/locale/nl"),require("@date-fns/tz"),require("@floating-ui/react-dom"),require("react-window-infinite-loader"),require("file-saver")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom","react-window","date-fns","date-fns/locale","mig-data-tools","lodash","react-datepicker","date-fns/locale/nl","@date-fns/tz","@floating-ui/react-dom","react-window-infinite-loader","file-saver"],e):(E=typeof globalThis<"u"?globalThis:E||self,e(E["mig-schema-table"]={},E.jsxRuntime,E.React,E.ReactDOM,E.reactWindow,E.dateFns,E.locale,E.migDataTools,E.lodash,E.DatePicker,E.nl,E.tz,E.reactDom,E.InfiniteLoader,E.fileSaver))})(this,(function(E,e,t,kt,Pe,Ve,xt,F,ge,ot,it,Fe,We,Mt,Et){"use strict";function Tt(n){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const a in n)if(a!=="default"){const m=Object.getOwnPropertyDescriptor(n,a);Object.defineProperty(r,a,m.get?m:{enumerable:!0,get:()=>n[a]})}}return r.default=n,Object.freeze(r)}const Dt=Tt(t),Je=(n,r)=>Ve.format(n,r,{locale:xt.nl}).replace(".",""),Lt={"Europe/Amsterdam":"AMS","Europe/Berlin":"AMS","Asia/Jakarta":"JKT","Asia/Bangkok":"JKT",showingFilteredCountOfTotalCount:"Showing {0} of {1}"};function lt(n,...r){let a=Lt[n]||F.unCamel(n);return r.forEach((m,b)=>{a=a.replace(`{${b}}`,`${m}`)}),a}const R="SELECT_ALL_COLUMN_NAME",at=40,He="dd MMM yyyy",Le="dd MMM yyyy HH:mm",Ge=25,ct=50,dt=3;var fe=(n=>(n.GT="GT",n.LT="LT",n.EQ="EQ",n))(fe||{}),xe=(n=>(n.UNAVAILABLE="UNAVAILABLE",n.AVAILABLE="AVAILABLE",n.ACTIVE="ACTIVE",n))(xe||{});const Me=Dt.createContext({checkedIndexes:[],columnNames:[],columnWidths:new Uint16Array,config:{},disabledCheckedIndexes:[],dropTargetIndex:-1,isColumnFilterable:!1,isItemLoaded:()=>!1,isSortable:!1,properties:{},required:[],setCustomColumnNames:F.emptyFn,setCustomColumnWidths:F.emptyFn,setDropTargetIndex:F.emptyFn,setFilterSortColumn:F.emptyFn,setLastCheckChangedRowIndex:F.emptyFn,setMenuConfig:F.emptyFn,tableDataState:{searchQuery:"",columnFilterMap:{},sortColumn:"",sortAsc:!1},translate:F.emptyFn}),At={type:"boolean"},It=({columnIndex:n,rowIndex:r,style:a})=>{const{checkedIndexes:m,columnNames:b,config:c,disabledCheckedIndexes:$,displayTimezone:_,getRowClassName:W,getRowSelected:j,isItemLoaded:T,lastCheckChangedRowIndex:S,onRowClick:D,onRowDoubleClick:y,properties:O,setCheckedIndexes:G,setLastCheckChangedRowIndex:te,sortedRenderData:M,sourceData:o,translate:h}=t.useContext(Me),p=b[n],w=p===R?At:O[p],Z=c?c[p]:void 0,ne=t.useCallback(v=>{G&&G(I=>I&&I.includes(v)?I.filter(L=>L!==v):I?[...I,v]:[v])},[G]),ce=T(r),re=t.useCallback(v=>{if(!o||!M||!D||!ce)return;const{rowIndex:I}=v.currentTarget.dataset;if(!I)return;const k=M[parseInt(I,10)];D(o[k._index],k._index,v)},[ce,D,M,o]),C=t.useCallback(v=>{if(!o||!M||!y||!T)return;const{rowIndex:I}=v.currentTarget.dataset;if(!I)return;const k=M[parseInt(I,10)];y(o[k._index],k._index,v)},[T,y,M,o]),A=M?M[r]:void 0,{showTimezones:ie,TdBody:X}=Z||{},se=t.useMemo(()=>_?null:F.timeZone.startsWith("Europe/")?"Asia/Jakarta":"Europe/Amsterdam",[_]),z=t.useMemo(()=>{if(!A||!M)return;let v=p===R?void 0:A[p];if(w?.format&&w.format==="date-time"&&ie!==!1){const k=o?o[A._index]:void 0,L=k?k[p]:void 0,de=L?new Date(L):void 0;de&&se&&(v=`${F.localeFormatInTimeZone(de,se,Le)} (${h(se)})`)}const I=["mig-schema-table__td",`mig-schema-table__td--${r%2?"odd":"even"}`,`mig-schema-table__td--prop-${p}`];switch(o&&j&&j(o[A._index],A._index)&&I.push("mig-schema-table__td--selected"),o&&W&&I.push(W(o[A._index],A._index,M)),w?.type){case"boolean":I.push(`text-${Z?.align||"center"}`);break;case"number":case"integer":I.push(`text-${Z?.align||"end"}`);break;default:Z?.align&&I.push(`text-${Z.align}`)}return{"data-row-index":r,"data-column-index":n,style:a,className:I.join(" "),title:v,onClick:p===R?void 0:re,onDoubleClick:p===R?void 0:C}},[A,M,p,w,ie,r,o,j,W,n,a,re,C,se,h,Z]),V=t.useCallback(v=>{if(!ne||!A)return;const I=parseInt(v.currentTarget.dataset.rowIndex);if(v.shiftKey&&S!==void 0){const k=m?.includes(S)?S:void 0;if(k!==void 0&&M){const L=r;for(const de of ge.range(L>k?k+1:L,L>k?L+1:k)){const me=M[de]._index;(!$||!$.includes(me))&&ne(me)}}}else ne(A._index);te(I),we.current?.focus()},[m,$,S,ne,A,r,te,M]),we=t.useRef(null);if(!A||!z)return null;if(!T||o&&!o[A._index])return e.jsx("div",{...z,children:"loading"});if(p===R)return e.jsx("div",{...z,onMouseDown:V,children:e.jsx("div",{style:{textAlign:"center"},children:e.jsx("input",{ref:we,type:"checkbox",readOnly:!0,checked:m?.includes(A._index),disabled:$?.includes(A._index)})})});if(X&&o)return e.jsx("div",{...z,children:e.jsx(X,{dataIndex:A._index,rowData:o[A._index],rowIndex:r,...Z?.tdBodyProps})});const H=A[p];return w?.format==="url"&&H?e.jsx("a",{href:H,target:"_blank",rel:"noopener noreferrer",...z,children:H}):e.jsx("div",{...z,children:H})},ut=t.memo(It);function Nt(){const{checkedIndexes:n,disabledCheckedIndexes:r,sortedRenderData:a}=t.useContext(Me);return t.useMemo(()=>{const m=[...a||[]].filter(b=>(n?n.includes(b._index):!0)||(r?!r.includes(b._index):!0));return n?.length!==0&&m.length===n?.length},[n,r,a])}function ht(n,r,a){return!!(n&&a?.isSortable!==!1&&(r||a?.renderData||a?.sort))}function ft(){const{setCustomColumnWidths:n,settingsStorageKey:r}=t.useContext(Me);return t.useCallback(a=>{r&&localStorage.setItem(`${r}.columnWidths`,JSON.stringify(Array.from(a))),n(a)},[n,r])}const St=({index:n,style:r})=>{const{checkedIndexes:a,columnNames:m,columnWidths:b,config:c,disabledCheckedIndexes:$,dropTargetIndex:_,isColumnFilterable:W,isSortable:j,setCheckedIndexes:T,properties:S,required:D,setCustomColumnNames:y,setDropTargetIndex:O,setFilterSortColumn:G,setMenuConfig:te,settingsStorageKey:M,tableDataState:o,sortedRenderData:h,translate:p,displayTimezone:w}=t.useContext(Me),[Z,ne]=t.useState(!1),ce=n===_,re=ft(),C=m[n],A=C===R?{type:"boolean"}:S[C],ie=o.sortColumn===C?o.sortAsc:void 0,X=c?c[C]:void 0;let se=W&&(A||X?.FilterMenu)&&X?.isFilterable!==!1?xe.AVAILABLE:xe.UNAVAILABLE;o.columnFilterMap&&o.columnFilterMap[C]!==void 0&&(se=xe.ACTIVE);const z=ht(j,A,X),V=["mig-schema-table__th",`mig-schema-table__th--filter-${se}`,`mig-schema-table__th--prop-${C}`];V.push(z?"mig-schema-table__th--sortable":"mig-schema-table__th--unsortable"),ie!==void 0&&V.push("mig-schema-table__th--sorted"),Z&&V.push("mig-schema-table__th--dragging"),ce&&V.push("mig-schema-table__th--drop-target");const{format:we}=A||{},{align:H,defaultSortDesc:v,showTimezones:I=!w,title:k}=X||{},L=t.useCallback(()=>{if(z){if(ie===void 0){G(C,!v);return}G(C,!ie)}},[z,v,C,G,ie]),de=D.includes(C),me=t.useCallback(Q=>{const be=Q.currentTarget;te(ve=>{if(ve?.propName!==C)return{propConfig:X,propIsRequired:de,propName:C,referenceElement:be}})},[X,de,C,te]),ye=t.useMemo(()=>k!==void 0?k:we==="date-time"&&I?`${p(C)} (${p(w||F.timeZone)})`:p(C),[k,we,I,p,C,w]),oe=t.useCallback((Q,be)=>{if(!m||!b)return;const ve=m.indexOf(Q),P=[...m];P.splice(ve,1);const x=P.indexOf(be);P.splice(x+1,0,Q),y(P);const _e=[...b],pe=_e[ve];_e.splice(ve,1),_e.splice(x+1,0,pe),re(new Uint16Array(_e)),M&&localStorage.setItem(`${M}.columnNames`,JSON.stringify(P))},[m,b,re,M,y]),Ae=t.useCallback(Q=>{oe&&(ne(!0),Q.dataTransfer.effectAllowed="move",Q.dataTransfer.dropEffect="move",Q.dataTransfer.setData("text/plain",C))},[oe,C]),je=t.useCallback(()=>{oe&&(ne(!1),O(-1))},[oe,O]),Xe=t.useCallback(Q=>{oe&&(Q.preventDefault(),O(n))},[n,oe,O]),Ye=t.useCallback(Q=>{if(O(-1),!oe||!C)return;const be=Q.dataTransfer.getData("text/plain");!be||be===C||oe(be,C)},[oe,C,O]),Ie=Nt(),Ke=t.useCallback(()=>{!T||!h||T(Ie?[]:h.map(Q=>Q._index).filter(Q=>!$?.includes(Q)))},[T,h,Ie,$]);if(C===R)return e.jsx("div",{style:r,className:V.join(" "),children:e.jsx("div",{style:{width:"100%",textAlign:"center"},title:`${a?.length||0} selected`,children:e.jsx("input",{type:"checkbox",name:"selectAll",checked:Ie,onChange:Ke})})});switch(A?.type){case"boolean":V.push(`text-${H||"center"}`,`justify-content-${H||"center"}`);break;case"integer":case"number":V.push(`text-${H||"end"}`,`justify-content-${H||"end"}`);break;default:H&&V.push(`text-${H}`)}let U=X?.hoverTitle;return!U&&typeof ye=="string"&&(U=ye),e.jsxs("div",{className:V.join(" "),style:r,title:U,draggable:!0,onDragStart:Ae,onDragEnd:je,onDragOver:Xe,onDrop:Ye,children:[e.jsxs("div",{className:"mig-schema-table__th__label-body",style:{lineHeight:"44px"},onClick:L,children:[e.jsx("span",{className:"mig-schema-table__th__label-body-text",children:ye}),ie===void 0?null:e.jsx("span",{className:"mig-schema-table__th__sort-icon",children:ie?"↓":"↑"})]}),z||se!==xe.UNAVAILABLE?e.jsx("button",{className:"mig-schema-table__th__trigger-el",onClick:me,children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"#404040",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:e.jsx("polyline",{points:"6 9 12 15 18 9"})})}):null]})},mt=t.memo(St),Ot={[fe.GT]:">",[fe.LT]:"<",[fe.EQ]:"="},$t=t.memo(({columnFilterValue:n,onChange:r,onInputKeyDown:a,propIsRequired:m,propName:b,propSchema:c,translate:$})=>{const{displayTimezone:_}=t.useContext(Me),{type:W,format:j,minimum:T,maximum:S}=c||{},D=n,y=j==="date-time";switch(W){case"number":case"integer":const O=D||{},G=(o,h,p)=>{const w={...O,[o]:h.value===""?void 0:parseInt(h.value)},Z=Object.values(w).find(ne=>isFinite(ne));r(Z!==void 0&&(T===void 0||Z>=T)?w:void 0,p)};return e.jsxs("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:[m?null:e.jsxs("li",{style:{padding:8},children:[e.jsxs("label",{className:"d-flex",children:[e.jsx("input",{type:"checkbox",style:{marginRight:14},checked:!!O.filterEmpty,onChange:()=>{const{filterEmpty:o,...h}=O;o||(h.filterEmpty=!0),r(Object.keys(h).length?h:void 0,!0)}}),"Hide empty values"]}),e.jsx("hr",{})]}),Object.keys(fe).map(o=>{const h=O[o];return e.jsxs("li",{children:[e.jsx("label",{style:{width:40,paddingLeft:16},children:Ot[o]}),e.jsx("input",{className:"form-control",style:{width:120},type:"number",value:h!==void 0?h:"","data-prop-name":b,onChange:p=>{G(o,p.currentTarget,!1)},onBlur:p=>{G(o,p.currentTarget,!0)},onKeyDown:a,min:T,max:S})]},o)})]});case"boolean":const te=["✓","✕"];m||te.push("?");let M=D?"✓":"✕";return D===null&&(M="?"),D===void 0&&(M=""),e.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:e.jsx("li",{children:e.jsxs("select",{autoFocus:!0,className:"form-select",value:M,"data-prop-name":b,onChange:o=>{switch(o.currentTarget.value){case"✓":r(!0,!0);break;case"✕":r(!1,!0);break;case"?":r(null,!0);break;default:r(void 0,!0)}},children:[e.jsx("option",{value:"",children:"All"},"all"),te.map(o=>e.jsx("option",{value:o,children:o},`column-filter-select-${o}`))]})})});case"string":if(c?.enum)return e.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:e.jsx("li",{children:e.jsxs("select",{autoFocus:!0,className:"form-select",value:D,"data-prop-name":b,onChange:o=>{r(o.currentTarget.value||void 0,!0)},children:[e.jsx("option",{value:"",children:"All"},"all"),c.enum.map(o=>e.jsx("option",{value:o,children:$(o)},`column-filter-select-${o}`))]})})});if(y||j==="date"){const o=y?Le:He,h=n||{from:void 0,to:void 0,filterEmpty:void 0};return e.jsxs("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:[m?null:e.jsxs("li",{style:{padding:8},children:[e.jsxs("label",{className:"d-flex",children:[e.jsx("input",{type:"checkbox",checked:!!h.filterEmpty,onChange:()=>{const{filterEmpty:p,...w}=h;p||(w.filterEmpty=!0),r(Object.keys(w).length?w:void 0,!0)}}),"Hide empty values"]}),e.jsx("hr",{})]}),e.jsxs("li",{style:{padding:8},children:[e.jsx("label",{style:{width:120,paddingLeft:4},children:"After"}),e.jsx(ot,{dateFormat:o,"data-prop-name":b,locale:it.nl,selected:h.from?new Fe.TZDate(h.from).withTimeZone(_||F.timeZone):null,onChange:p=>{if(!p&&!h.to){r(void 0,!0);return}if(h.to&&p&&p>h.to)return;const w=p?Fe.TZDate.tz(_||F.timeZone,p):void 0;r({...n,from:w},!0)},placeholderText:o,isClearable:!0,selectsStart:!0,showTimeSelect:y,showTimeInput:y,showMonthDropdown:!0,showYearDropdown:!0,timeIntervals:15,shouldCloseOnSelect:!y})]}),e.jsxs("li",{style:{padding:8},children:[e.jsx("label",{style:{width:120,paddingLeft:4},children:"Before"}),e.jsx(ot,{id:"filter-date",dateFormat:o,"data-prop-name":b,locale:it.nl,selectsEnd:!0,selected:h.to?new Fe.TZDate(h.to).withTimeZone(_||F.timeZone):null,showMonthDropdown:!0,showYearDropdown:!0,onChange:p=>{if(!p&&!h.from){r(void 0,!0);return}const w=p?y?Fe.TZDate.tz(_||F.timeZone,p):Ve.endOfDay(p):void 0;h.from&&w&&w<h.from||r({...n,to:w},!0)},placeholderText:o,isClearable:!0,startDate:h.from,endDate:h.to,showTimeInput:y,showTimeSelect:y,timeIntervals:15,shouldCloseOnSelect:!y})]})]})}default:return e.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:e.jsx("li",{children:e.jsx("input",{autoFocus:!0,type:"search",className:"form-control",placeholder:`Search ${b}`,"aria-label":`Search ${b}`,value:D||"","data-prop-name":b,onChange:o=>{r(o.currentTarget.value||void 0,!1)},onKeyDown:a,onBlur:o=>{r(o.currentTarget.value||void 0,!0)}})})})}}),Ft=({isSortable:n,isFilterable:r,onChange:a,onClose:m,onInputKeyDown:b,propConfig:c,propIsRequired:$,propName:_,propSchema:W,referenceElement:j,setFilterSortColumn:T,translate:S,value:D})=>{const y=We.useFloating({placement:"bottom-start",elements:{reference:j},middleware:[We.flip()]}),O=We.useFloating({placement:"right-start",middleware:[We.flip()]});t.useEffect(()=>{const h=p=>{if(!y.elements.floating)return;let w=p.target;for(;w&&y.elements.floating;){if(w===y.elements.floating||w===O.elements.floating)return;w=w.parentNode===window.document?null:w.parentNode}m(p)};return window.addEventListener("click",h,{capture:!0}),()=>{window.removeEventListener("click",h,{capture:!0})}},[y.elements.floating,m,O.elements.floating]);const G=c?.FilterMenu||$t,te=t.useCallback(h=>{T(_,!0),m(h)},[m,_,T]),M=t.useCallback(h=>{T(_,!1),m(h)},[m,_,T]),o=t.useCallback(()=>{a(void 0,!0)},[a]);return!n&&!r?null:e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu",ref:y.refs.setFloating,style:y.floatingStyles,children:e.jsxs("ol",{className:"mig-schema-table-menu",children:[n?e.jsxs("li",{onClick:te,style:{padding:8},children:[e.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↓"})," ",S("sortAscending")]}):null,n?e.jsxs("li",{onClick:M,style:{padding:8},children:[e.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↑"})," ",S("sortDescending")]}):null,r?e.jsxs("li",{style:{padding:8},onMouseOver:h=>{O.refs.setReference(h.currentTarget)},children:[e.jsx("span",{className:"mig-schema-table__th-menu__icon",children:e.jsx("input",{type:"checkbox",id:"mig-schema-table__th-menu__filters",checked:D!==void 0,disabled:D===void 0,onChange:o})}),e.jsx("label",{htmlFor:"mig-schema-table__th-menu__filters",children:S("filters")}),e.jsx("div",{className:"mig-schema-table__th-menu__sub-menu-indicator"})]}):null]})}),O.elements.reference?e.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu__sub-menu",ref:O.refs.setFloating,style:O.floatingStyles,children:e.jsx(G,{columnFilterValue:D,onChange:a,onInputKeyDown:b,propIsRequired:$,propName:_,propSchema:W,translate:S})}):null]})},Wt=t.memo(Ft),jt=({columnWidths:n,resizeColumnIndex:r,setResizeColumnIndex:a,tableBodyHeight:m})=>{const[b,c]=t.useState(0),$=ft(),_=t.useCallback(S=>{const D=n.map((y,O)=>O===r?Math.max(y+S,Ge):y);$(D)},[n,r,$]);let W=0;const j=t.useCallback(S=>{a(parseInt(S.currentTarget.dataset.columnIndex)),c(S.clientX)},[a]),T=t.useCallback(S=>{_(S.clientX-b),c(0),a(-1)},[b,_,a]);return e.jsx("div",{children:[...n].map((S,D)=>{W+=S;const y=["mig-schema-table__column_resizer"];return D===r&&y.push("mig-schema-table__column_resizer--dragged"),e.jsx("div",{style:{left:W-dt,bottom:m},className:y.join(" "),draggable:"true","data-column-index":D,onDragStart:j,onDragEnd:T},D)})})},bt=n=>{const[r,a]=t.useState({width:0,height:0}),m=t.useMemo(()=>ge.debounce(a,100),[]);return t.useEffect(()=>{if(!n)return;const b=new ResizeObserver(c=>{for(const $ of c){const{blockSize:_,inlineSize:W}=$.borderBoxSize[0];W&&_&&m({width:W,height:_})}});return b.observe(n),()=>{b.disconnect()}},[m,n]),r},Bt=()=>new Promise((n,r)=>{if(window.ExcelJS){n(window.ExcelJS);return}const a=document.createElement("script");a.src="https://cdnjs.cloudflare.com/ajax/libs/exceljs/4.4.0/exceljs.bare.min.js",a.onload=()=>{n(window.ExcelJS)},a.onerror=()=>{r(new Error("Failed to load ExcelJS library"))},document.head.appendChild(a)}),Qt=async n=>{const{Workbook:r}=await Bt(),a=new r,m=a.addWorksheet("Data");n.length&&(m.addRow(ge.difference(Object.keys(n[0]),["_index","SELECT_ALL_COLUMN_NAME"])),m.getRow(1).font={bold:!0},m.addRows(n.map(b=>{const{_index:c,SELECT_ALL_COLUMN_NAME:$,..._}=b;return Object.values(_)})),a.xlsx.writeBuffer().then(b=>{const c=new Blob([b],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});Et.saveAs(c,"export.xlsx")}).catch(b=>{console.error("Error generating Excel file:",b)}))},pt=new Date("1000-01-01 00:00:00Z"),zt=new Intl.NumberFormat("nl-NL"),Ut=new Intl.NumberFormat("nl-NL",{style:"currency",currency:"EUR"});function qt(n,r){const{TdBody:a,sortByValue:m}=r||{};if(m!==void 0)return m;if(!n)return!1;const{format:b,type:c}=n;return b?.startsWith("date")||c==="boolean"||c==="integer"||c==="number"||!!a}const Zt=({CustomElement:n,CustomSearchInput:r,Heading:a=Pe.VariableSizeList,autoRender:m,checkedIndexes:b,config:c,customElementProps:$,data:_,defaultColumnFilters:W,defaultSortAsc:j=!1,defaultSortColumn:T,disabledCheckedIndexes:S,displayTimezone:D,enableAutoFocus:y=!0,enableRowCounter:O=!0,getRowClassName:G,getRowSelected:te,getSearchQueryFilterResult:M,infiniteLoaderRef:o,isColumnFilterable:h=!0,isExportable:p=!0,isResizable:w=!0,isSearchable:Z=!0,isSortable:ne=!0,itemCount:ce,loadMoreItems:re,maxHeight:C,onRowClick:A,onRowDoubleClick:ie,onSearchEnter:X,onTableDataStateChange:se,rowHeight:z=36,schema:V,searchPlaceholder:we,setCheckedIndexes:H,settingsStorageKey:v,style:I,translate:k=lt,useFilterStateHash:L,variableSizeGridRef:de,width:me})=>{const[ye,oe]=t.useState(),[Ae,je]=t.useState(),[Xe,Ye]=t.useState(-1),[Ie,Ke]=t.useState(-1),[U,Q]=t.useState(),[be,ve]=t.useState(),P=_ instanceof Function,[x,_e]=t.useState(P?void 0:_),[pe,Re]=t.useState(),[i,Ee]=t.useState({searchQuery:"",columnFilterMap:W||{},sortColumn:T,sortAsc:j}),[q,Jt]=t.useState(L?F.parseLocationHash(window.location.hash):null);t.useEffect(()=>{P||_e(_)},[_,P]),t.useEffect(()=>{!P||x!==void 0||_(q&&Object.keys(q).length!==0?{...q,columnFilterMap:q.columnFilterMap||{}}:i).then(_e)},[_,P,q,x,i]),t.useEffect(()=>{pe||Re(i)},[i,pe]),t.useEffect(()=>{if(!L)return;const s=()=>{Jt(F.parseLocationHash(window.location.hash))};return window.addEventListener("hashchange",s),()=>{window.removeEventListener("hashchange",s)}},[L]),t.useEffect(()=>{if(!L)return;const{columnFilterMap:s,searchQuery:d,sortAsc:u,sortColumn:l}=q||{},f={searchQuery:d||"",columnFilterMap:s||W||{},sortAsc:u===void 0?j:u,sortColumn:l===void 0?T:l};Ee(N=>ge.isEqual(f,N)?N:f)},[q,L,W,j,T]),t.useEffect(()=>{se&&se(i)},[se,i]);const gt=t.useRef(null),_t=t.useRef(null),Be=bt(gt.current),Ct=bt(_t.current),Ne=t.useMemo(()=>me||Math.floor(Be.width||0),[Be.width,me]),Se=t.useMemo(()=>!ge.isEqual(i,pe)&&P,[i,pe,P]),{properties:le,required:Ht}=t.useMemo(()=>({properties:{},required:[],...V}),[V]),Qe=v?localStorage.getItem(`${v}.columnNames`):null,ze=v?localStorage.getItem(`${v}.columnWidths`):null,ee=t.useMemo(()=>{if(ye)return ye;const s=Qe?JSON.parse(Qe):void 0;let d=Object.keys(le);if(H&&d.unshift(R),c){Object.keys(c).forEach(l=>{d.includes(l)||d.push(l)});const u=Object.entries(c).reduce((l,[f,N])=>(N.hidden&&l.push(f),l),[]);d=d.filter(l=>!u.includes(l)).sort((l,f)=>{let N=c[l]?c[l].order:void 0;N===void 0&&(N=Object.keys(le).findIndex(K=>K===l));let g=c[f]?c[f].order:void 0;return g===void 0&&(g=Object.keys(le).findIndex(K=>K===f)),f===R||l===R?0:N===-1?1:g===-1?-1:N-g})}return s?.length===d.length?s:d},[c,ye,H,le,Qe]),Ue=t.useMemo(()=>x&&ee?x.map((s,d)=>ee.reduce((u,l)=>{const f=le[l],N=c?c[l]:void 0;if(N?.renderData)return u[l]=N.renderData(s,d),u;if(!f||l===R)return u[l]="",u;const g=s?s[l]:"";switch(f.type){case"array":return u[l]=f.items?.type==="string"&&g?g.map(K=>k(K)).join(", "):JSON.stringify(g),u;case"boolean":return u[l]=g===void 0?"?":g?"✓":"✕",u;case"number":case"integer":return g===void 0?(u[l]="",u):(u[l]=f.format==="currency"?Ut.format(g):zt.format(g),u);case"string":if(f.format==="date"&&g)return u[l]=["2999-12-31","1970-01-01"].includes(g)?"-":Je(new Date(g),N?.dateFormat||He),u;if(f.format==="date-time"&&g)return u[l]=D?F.localeFormatInTimeZone(new Date(g),D,Le):Je(new Date(g),N?.dateFormat||Le),u;if(f.enum)return u[l]=g?k(g):"",u;default:return u[l]=g?`${g}`:"",u}},{_index:d})):void 0,[x,ee,le,c,k,D]),Te=ee?ee.length:0,{dynamicWidthColumnCount:et,fixedWidthColumnsWidth:tt}=t.useMemo(()=>{let s=0,d=0;return(ee||[]).forEach(u=>{if(u===R){s+=at;return}const l=c?c[u]:void 0;l?.width?s+=l.width:d+=1},0),{dynamicWidthColumnCount:d,fixedWidthColumnsWidth:s}},[ee,c]),ae=t.useMemo(()=>{if(Ae)return new Uint16Array(Ae);const s=ze?new Uint16Array(JSON.parse(ze)):void 0,d=Math.max(Math.floor((Ne-tt)/et),Ge);let u=(Ne-tt)%et;const l=new Uint16Array(ee.map(f=>{if(f===R)return at;const N=c?c[f]:void 0;return N?.width?N?.width:u?(u-=1,d+1):d}));return s?.length===l.length?s:l},[ee,c,Ae,et,tt,ze,Ne]),qe=t.useCallback(s=>ae?ae[s]:1,[ae]),Oe=t.useMemo(()=>{if(!Ue||!h&&!Z||P)return Ue;const{searchQuery:s}=i,d=s.toLowerCase()||"",u=l=>x&&M?M(x[l._index],s):!(ee&&!ee.find(f=>`${l[f]}`.toLowerCase().includes(d)));return Ue.filter(l=>{let f=u(l);return!f||!i.columnFilterMap?!1:(Object.entries(i.columnFilterMap).forEach(([N,g])=>{if(!f||g===void 0)return;const K=c?c[N]:void 0;if(x&&K?.filter){f=K.filter(x[l._index],g);return}const he=le[N],B=x[l._index]?.[N];switch(he?.type){case"boolean":case"number":case"integer":if(g&&typeof g=="object"){g.filterEmpty&&B===void 0&&(f=!1);for(const J of Object.keys(fe)){const ke=g[J];if(f&&ge.isFinite(ke))switch(J){case fe.EQ:B!==ke&&(f=!1);break;case fe.GT:B<=ke&&(f=!1);break;case fe.LT:B>=ke&&(f=!1);break}}}else{if(B===void 0&&g===null)return!0;f=B===g}break;case"string":if(typeof g=="object"&&(he.format==="date"||he.format==="date-time")){const{from:J,to:ke,filterEmpty:vt}=g;if(!B)f=!vt;else{const Ze=B?new Date(B):void 0;(vt===!1||J&&(!Ze||Ze<J)||ke&&(!Ze||Ze>ke))&&(f=!1)}return}default:if(he?.enum){f=B===g;return}f=`${l[N]}`.toLowerCase().includes(`${g}`.toLowerCase())}}),f)})},[Ue,h,Z,P,i,M,ee,c,x,le]),Y=t.useMemo(()=>{const{sortAsc:s,sortColumn:d}=i;if(!d||!Oe||!x||P)return Oe;const u=le[d],l=c?c[d]:void 0,f=l?.sort;if(f)return Oe.sort((K,he)=>{const B=x[K._index],J=x[he._index];return B?J?f(B,J,s===void 0?j:s):-1:1});const N=u&&u.format?.startsWith("date"),g=qt(u,l);return Oe.sort((K,he)=>{let B=g&&x[K._index]?x[K._index][d]:`${K[d]}`.toLowerCase(),J=g&&x[he._index]?x[he._index][d]:`${he[d]}`.toLowerCase();return g&&N&&(B=new Date(B),isNaN(B.getTime())&&(B=pt),J=new Date(J),isNaN(J.getTime())&&(J=pt)),B===J?0:B?J?(B<J?1:-1)*(s?-1:1):s?1:-1:s?-1:1})},[c,j,Oe,P,le,x,i]),wt=t.useCallback(s=>{const d={...i.columnFilterMap};delete d[s],Ee({...i,columnFilterMap:d})},[i]),nt=t.useCallback((s,d)=>{if(L){window.location.hash=F.serializeLocationHash({...q,sortColumn:s,sortAsc:d});return}Ee({...i,sortColumn:s,sortAsc:d})},[i,q,L]),Gt=t.useCallback(s=>{Ee({...i,searchQuery:s.currentTarget.value})},[i]),De=t.useCallback(()=>{Re(i),_e(void 0)},[i]);t.useEffect(()=>{if(!m||!q||!pe||!L)return;const s=Object.keys(q);let d=!1;for(const u of s){const l=q[u],f=pe[u];if(typeof l=="string"&&l!==f){d=!0;break}if(typeof l=="object"&&!ge.isEqual(l,f)){d=!0;break}}d&&De()},[m,q,pe,De,L]);const yt=t.useCallback(s=>{s.key==="Enter"&&(Q(void 0),Se&&De(),X&&s.currentTarget.className==="mig-schema-table__search"&&X(i.searchQuery||""))},[Se,i.searchQuery,X,De]),rt=t.useCallback(()=>z,[z]),ue=t.useMemo(()=>ge.sum(ae),[ae]),$e=t.useMemo(()=>Y?Y.length:0,[Y]),Ce=t.useMemo(()=>{const s=z*$e;let d;if(C&&(d=C==="100%"?Be.height:C,!d))return 0;const u=d?d-Ct.height-ct:0;return u&&u<s?u:s},[z,$e,C,Ct,Be.height]),Xt=t.useCallback(s=>{Q(void 0),s.preventDefault(),s.stopPropagation()},[]),Yt=t.useCallback((s,d)=>{if(!U)return;if(L&&d!==!1){window.location.hash=F.serializeLocationHash({...q,columnFilterMap:{...i.columnFilterMap,[U.propName]:s}});return}if(s===void 0){wt(U.propName);return}const u={...i.columnFilterMap,[U.propName]:s};Ee({...i,columnFilterMap:u})},[wt,i,q,U,L]),Kt=t.useCallback(()=>{const s={searchQuery:"",columnFilterMap:{},sortColumn:T,sortAsc:j};L&&(window.location.hash=F.serializeLocationHash(s)),Re(s),Ee(s)},[L,j,T]),Rt=t.useCallback(()=>{const s=q?.searchQuery||"";L&&(i.searchQuery||s)&&i.searchQuery!==s&&(window.location.hash=F.serializeLocationHash({...q,searchQuery:i.searchQuery}))},[q,i.searchQuery,L]),en=t.useCallback(async s=>{s.preventDefault(),s.stopPropagation(),Y&&Qt(Y)},[Y]),tn=t.useCallback(()=>{v&&(localStorage.removeItem(`${v}.columnNames`),localStorage.removeItem(`${v}.columnWidths`),oe(void 0),je(void 0))},[v]),st=t.useCallback(s=>{if(!Y||!x||!re||!ce)return!0;const d=Y[s];return d&&x[d._index]!==void 0},[ce,re,Y,x]),nn=t.useMemo(()=>Ce?!(x&&!Se)&&!re?e.jsx("div",{style:{width:ue,height:Math.max(50,Ce),border:"1px solid #BBB",textAlign:"center",display:"flex",backgroundColor:"#CCC",alignItems:"center",justifyContent:"center"},children:Se?e.jsx("button",{onClick:De,className:"btn border",children:"Refresh data"}):e.jsx("div",{children:"⌛ Loading..."})}):re&&ce?e.jsx(Mt,{ref:o,isItemLoaded:st,itemCount:ce,loadMoreItems:re,children:({onItemsRendered:d,ref:u})=>e.jsx(Pe.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:z,height:Ce,width:ue,columnWidth:qe,rowHeight:rt,columnCount:Te,rowCount:$e,ref:u,onItemsRendered:({overscanRowStartIndex:l,overscanRowStopIndex:f,visibleRowStartIndex:N,visibleRowStopIndex:g})=>d({overscanStartIndex:l,overscanStopIndex:f,visibleStartIndex:N,visibleStopIndex:g}),children:ut},`tbody_${Ce}_${ue}_${i.sortColumn}_${i.sortAsc}_${i.searchQuery}_${Te}_${ae.join(" ")}`)}):e.jsx(Pe.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:z,height:Ce,width:ue,columnWidth:qe,rowHeight:rt,columnCount:Te,rowCount:$e,ref:de,children:ut},`tbody_${Ce}_${ue}_${i.sortColumn}_${i.sortAsc}_${i.searchQuery}_${Te}_${ae.join(" ")}`):null,[Te,ae,qe,rt,o,Se,st,ce,re,De,$e,z,ue,i.searchQuery,i.sortAsc,i.sortColumn,x,Ce,de]),rn=t.useMemo(()=>({...I,width:me?Math.min(ue,Ne):void 0,height:C==="100%"?"100%":void 0,maxHeight:C==="100%"?"100%":void 0}),[C,ue,I,Ne,me]),sn=r||"input";return e.jsx(Me.Provider,{value:{checkedIndexes:b,columnNames:ee,columnWidths:ae,config:c,disabledCheckedIndexes:S,displayTimezone:D,dropTargetIndex:Ie,getRowClassName:G,getRowSelected:te,isColumnFilterable:h,isItemLoaded:st,isSortable:ne,lastCheckChangedRowIndex:be,onRowClick:A,onRowDoubleClick:ie,properties:le,required:Ht,setCheckedIndexes:H,setCustomColumnNames:oe,setCustomColumnWidths:je,setDropTargetIndex:Ke,setFilterSortColumn:nt,setLastCheckChangedRowIndex:ve,setMenuConfig:Q,settingsStorageKey:v,sortedRenderData:Y,sourceData:x,tableDataState:i,translate:k||lt},children:e.jsxs("div",{className:`mig-schema-table${A?" mig-schema-table--clickable-rows":""}`,ref:gt,style:rn,role:"table",children:[e.jsxs("div",{className:"mig-schema-table__action-container",ref:_t,children:[e.jsx("div",{children:Z?e.jsx(sn,{className:"mig-schema-table__search",type:"search",name:"search",autoComplete:"off",placeholder:we||k("search..."),value:i.searchQuery,onChange:Gt,onKeyDown:yt,autoFocus:y,onBlur:Rt}):null}),n?e.jsx(n,{...$,renderData:Y}):e.jsx("div",{className:"mig-schema-table__custom_element_placeholder"}),O&&Array.isArray(_)?e.jsx("span",{className:"mig-schema-table__row_counter",children:k("showingFilteredCountOfTotalCount",Y?.length||0,_.length)}):null,p?e.jsx("button",{onClick:en,style:{marginLeft:8},disabled:!Y?.length,children:k("exportData")}):null,Z||h?e.jsx("button",{onClick:Kt,style:{marginLeft:8},disabled:i.columnFilterMap&&i.searchQuery?Object.keys(i.columnFilterMap).length+i.searchQuery.length===0:!1,children:k("clearFilters")}):null,v?e.jsx("button",{onClick:tn,style:{marginLeft:8},disabled:!Qe&&!ze,children:k("clearSettings")}):null]}),e.jsxs("div",{className:"mig-schema-table__column_resize_container",children:[e.jsx(a,{height:ct,itemCount:Te,itemSize:qe,layout:"horizontal",width:ue,sortAsc:i.sortAsc,setFilterSortColumn:nt,sortColumn:i.sortColumn,sortedRenderData:Y,className:"mig-schema-table__th-row",children:mt},`thead_${ue}_${i.sortColumn}_${i.sortAsc}_${i.searchQuery}_${ae.join(" ")}`),nn,w?e.jsx(jt,{columnWidths:ae,resizeColumnIndex:Xe,setResizeColumnIndex:Ye,tableBodyHeight:Ce}):null]}),x?x.length>0?e.jsx(e.Fragment,{children:kt.createPortal(U?e.jsx(Wt,{isFilterable:h&&U.propConfig?.isFilterable!==!1,isSortable:ht(!!ne,V.properties[U.propName],U.propConfig),onChange:Yt,onClose:Xt,onInputKeyDown:yt,propConfig:U.propConfig,propIsRequired:U.propIsRequired,propName:U.propName,propSchema:V.properties[U.propName],referenceElement:U.referenceElement,setFilterSortColumn:nt,translate:k,value:i.columnFilterMap?i.columnFilterMap[U.propName]:null}):null,document.body)}):e.jsx("div",{className:"mig-schema-table__no_data",children:"No data found"}):null]})})},Pt=t.memo(Zt),Vt=t.memo(({refresh:n,period:r=60})=>{const[a,m]=t.useState(new Date),[b,c]=t.useState(new Date),$=t.useCallback(()=>{c(new Date),n()},[n]),_=t.useMemo(()=>Ve.differenceInSeconds(a,b),[a,b]);t.useEffect(()=>{_>r&&$()},[_,a,b,r,$]),t.useEffect(()=>{const T=setInterval(()=>{m(new Date)},1e3);return()=>{clearInterval(T)}},[]);const W=r-_;return e.jsxs("div",{className:"mx-auto",title:`Refresh ${W>0?`in ${W} seconds`:"NOW"}`,children:["Last update ",Je(b,"HH:mm")]})});E.DEFAULT_DATE_FORMAT=He,E.DEFAULT_DATE_TIME_FORMAT=Le,E.EColumnFilterStatus=xe,E.MINIMUM_COLUMN_WIDTH=Ge,E.RESIZER_WIDTH=dt,E.Refresher=Vt,E.SchemaTable=Pt,E.Th=mt,Object.defineProperty(E,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(E,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("react/jsx-runtime"),require("react"),require("react-dom"),require("react-window"),require("date-fns"),require("date-fns/locale"),require("mig-data-tools"),require("lodash"),require("react-datepicker"),require("date-fns/locale/nl"),require("@date-fns/tz"),require("@floating-ui/react-dom"),require("react-window-infinite-loader"),require("file-saver")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom","react-window","date-fns","date-fns/locale","mig-data-tools","lodash","react-datepicker","date-fns/locale/nl","@date-fns/tz","@floating-ui/react-dom","react-window-infinite-loader","file-saver"],e):(E=typeof globalThis<"u"?globalThis:E||self,e(E["mig-schema-table"]={},E.jsxRuntime,E.React,E.ReactDOM,E.reactWindow,E.dateFns,E.locale,E.migDataTools,E.lodash,E.DatePicker,E.nl,E.tz,E.reactDom,E.InfiniteLoader,E.fileSaver))})(this,(function(E,e,t,kt,Pe,Ve,xt,j,ge,ot,it,Fe,We,Mt,Et){"use strict";function Tt(n){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const a in n)if(a!=="default"){const m=Object.getOwnPropertyDescriptor(n,a);Object.defineProperty(r,a,m.get?m:{enumerable:!0,get:()=>n[a]})}}return r.default=n,Object.freeze(r)}const Dt=Tt(t),Je=(n,r)=>Ve.format(n,r,{locale:xt.nl}).replace(".",""),Lt={"Europe/Amsterdam":"AMS","Europe/Berlin":"AMS","Asia/Jakarta":"JKT","Asia/Bangkok":"JKT",showingFilteredCountOfTotalCount:"Showing {0} of {1}"};function lt(n,...r){let a=Lt[n]||j.unCamel(n);return r.forEach((m,b)=>{a=a.replace(`{${b}}`,`${m}`)}),a}const R="SELECT_ALL_COLUMN_NAME",at=40,He="dd MMM yyyy",Le="dd MMM yyyy HH:mm",Ge=25,ct=50,dt=3;var fe=(n=>(n.GT="GT",n.LT="LT",n.EQ="EQ",n))(fe||{}),xe=(n=>(n.UNAVAILABLE="UNAVAILABLE",n.AVAILABLE="AVAILABLE",n.ACTIVE="ACTIVE",n))(xe||{});const Me=Dt.createContext({checkedIndexes:[],columnNames:[],columnWidths:new Uint16Array,config:{},disabledCheckedIndexes:[],dropTargetIndex:-1,isColumnFilterable:!1,isItemLoaded:()=>!1,isSortable:!1,properties:{},required:[],setCustomColumnNames:j.emptyFn,setCustomColumnWidths:j.emptyFn,setDropTargetIndex:j.emptyFn,setFilterSortColumn:j.emptyFn,setLastCheckChangedRowIndex:j.emptyFn,setMenuConfig:j.emptyFn,tableDataState:{searchQuery:"",columnFilterMap:{},sortColumn:"",sortAsc:!1},translate:j.emptyFn}),At={type:"boolean"},It=({columnIndex:n,rowIndex:r,style:a})=>{const{checkedIndexes:m,columnNames:b,config:c,disabledCheckedIndexes:F,displayTimezone:_,getRowClassName:W,getRowSelected:S,isItemLoaded:T,lastCheckChangedRowIndex:$,onRowClick:D,onRowDoubleClick:y,properties:O,setCheckedIndexes:H,setLastCheckChangedRowIndex:ee,sortedRenderData:M,sourceData:o,translate:h}=t.useContext(Me),p=b[n],w=p===R?At:O[p],Z=c?c[p]:void 0,ne=t.useCallback(v=>{H&&H(I=>I&&I.includes(v)?I.filter(L=>L!==v):I?[...I,v]:[v])},[H]),ce=T(r),re=t.useCallback(v=>{if(!o||!M||!D||!ce)return;const{rowIndex:I}=v.currentTarget.dataset;if(!I)return;const k=M[parseInt(I,10)];D(o[k._index],k._index,v)},[ce,D,M,o]),C=t.useCallback(v=>{if(!o||!M||!y||!T)return;const{rowIndex:I}=v.currentTarget.dataset;if(!I)return;const k=M[parseInt(I,10)];y(o[k._index],k._index,v)},[T,y,M,o]),A=M?M[r]:void 0,{showTimezones:ie,TdBody:X}=Z||{},se=t.useMemo(()=>_?null:j.timeZone.startsWith("Europe/")?"Asia/Jakarta":"Europe/Amsterdam",[_]),z=t.useMemo(()=>{if(!A||!M)return;let v=p===R?void 0:A[p];if(w?.format&&w.format==="date-time"&&ie!==!1){const k=o?o[A._index]:void 0,L=k?k[p]:void 0,de=L?new Date(L):void 0;de&&se&&(v=`${j.localeFormatInTimeZone(de,se,Le)} (${h(se)})`)}const I=["mig-schema-table__td",`mig-schema-table__td--${r%2?"odd":"even"}`,`mig-schema-table__td--prop-${p}`];switch(o&&S&&S(o[A._index],A._index)&&I.push("mig-schema-table__td--selected"),o&&W&&I.push(W(o[A._index],A._index,M)),w?.type){case"boolean":I.push(`text-${Z?.align||"center"}`);break;case"number":case"integer":I.push(`text-${Z?.align||"end"}`);break;default:Z?.align&&I.push(`text-${Z.align}`)}return{"data-row-index":r,"data-column-index":n,style:a,className:I.join(" "),title:v,onClick:p===R?void 0:re,onDoubleClick:p===R?void 0:C}},[A,M,p,w,ie,r,o,S,W,n,a,re,C,se,h,Z]),V=t.useCallback(v=>{if(!ne||!A)return;const I=parseInt(v.currentTarget.dataset.rowIndex);if(v.shiftKey&&$!==void 0){const k=m?.includes($)?$:void 0;if(k!==void 0&&M){const L=r;for(const de of ge.range(L>k?k+1:L,L>k?L+1:k)){const me=M[de]._index;(!F||!F.includes(me))&&ne(me)}}}else ne(A._index);ee(I),we.current?.focus()},[m,F,$,ne,A,r,ee,M]),we=t.useRef(null);if(!A||!z)return null;if(!T||o&&!o[A._index])return e.jsx("div",{...z,children:"loading"});if(p===R)return e.jsx("div",{...z,onMouseDown:V,children:e.jsx("div",{style:{textAlign:"center"},children:e.jsx("input",{ref:we,type:"checkbox",readOnly:!0,checked:m?.includes(A._index),disabled:F?.includes(A._index)})})});if(X&&o)return e.jsx("div",{...z,children:e.jsx(X,{dataIndex:A._index,rowData:o[A._index],rowIndex:r,...Z?.tdBodyProps})});const G=A[p];return w?.format==="url"&&G?e.jsx("a",{href:G,target:"_blank",rel:"noopener noreferrer",...z,children:G}):e.jsx("div",{...z,children:G})},ut=t.memo(It);function Nt(){const{checkedIndexes:n,disabledCheckedIndexes:r,sortedRenderData:a}=t.useContext(Me);return t.useMemo(()=>{const m=[...a||[]].filter(b=>(n?n.includes(b._index):!0)||(r?!r.includes(b._index):!0));return n?.length!==0&&m.length===n?.length},[n,r,a])}function ht(n,r,a){return!!(n&&a?.isSortable!==!1&&(r||a?.renderData||a?.sort))}function ft(){const{setCustomColumnWidths:n,settingsStorageKey:r}=t.useContext(Me);return t.useCallback(a=>{r&&localStorage.setItem(`${r}.columnWidths`,JSON.stringify(Array.from(a))),n(a)},[n,r])}const St=({index:n,style:r})=>{const{checkedIndexes:a,columnNames:m,columnWidths:b,config:c,disabledCheckedIndexes:F,dropTargetIndex:_,isColumnFilterable:W,isSortable:S,setCheckedIndexes:T,properties:$,required:D,setCustomColumnNames:y,setDropTargetIndex:O,setFilterSortColumn:H,setMenuConfig:ee,settingsStorageKey:M,tableDataState:o,sortedRenderData:h,translate:p,displayTimezone:w}=t.useContext(Me),[Z,ne]=t.useState(!1),ce=n===_,re=ft(),C=m[n],A=C===R?{type:"boolean"}:$[C],ie=o.sortColumn===C?o.sortAsc:void 0,X=c?c[C]:void 0;let se=W&&(A||X?.FilterMenu)&&X?.isFilterable!==!1?xe.AVAILABLE:xe.UNAVAILABLE;o.columnFilterMap&&o.columnFilterMap[C]!==void 0&&(se=xe.ACTIVE);const z=ht(S,A,X),V=["mig-schema-table__th",`mig-schema-table__th--filter-${se}`,`mig-schema-table__th--prop-${C}`];V.push(z?"mig-schema-table__th--sortable":"mig-schema-table__th--unsortable"),ie!==void 0&&V.push("mig-schema-table__th--sorted"),Z&&V.push("mig-schema-table__th--dragging"),ce&&V.push("mig-schema-table__th--drop-target");const{format:we}=A||{},{align:G,defaultSortDesc:v,showTimezones:I=!w,title:k}=X||{},L=t.useCallback(()=>{if(z){if(ie===void 0){H(C,!v);return}H(C,!ie)}},[z,v,C,H,ie]),de=D.includes(C),me=t.useCallback(Q=>{const be=Q.currentTarget;ee(ve=>{if(ve?.propName!==C)return{propConfig:X,propIsRequired:de,propName:C,referenceElement:be}})},[X,de,C,ee]),ye=t.useMemo(()=>k!==void 0?k:we==="date-time"&&I?`${p(C)} (${p(w||j.timeZone)})`:p(C),[k,we,I,p,C,w]),oe=t.useCallback((Q,be)=>{if(!m||!b)return;const ve=m.indexOf(Q),P=[...m];P.splice(ve,1);const x=P.indexOf(be);P.splice(x+1,0,Q),y(P);const _e=[...b],pe=_e[ve];_e.splice(ve,1),_e.splice(x+1,0,pe),re(new Uint16Array(_e)),M&&localStorage.setItem(`${M}.columnNames`,JSON.stringify(P))},[m,b,re,M,y]),Ae=t.useCallback(Q=>{oe&&(ne(!0),Q.dataTransfer.effectAllowed="move",Q.dataTransfer.dropEffect="move",Q.dataTransfer.setData("text/plain",C))},[oe,C]),je=t.useCallback(()=>{oe&&(ne(!1),O(-1))},[oe,O]),Xe=t.useCallback(Q=>{oe&&(Q.preventDefault(),O(n))},[n,oe,O]),Ye=t.useCallback(Q=>{if(O(-1),!oe||!C)return;const be=Q.dataTransfer.getData("text/plain");!be||be===C||oe(be,C)},[oe,C,O]),Ie=Nt(),Ke=t.useCallback(()=>{!T||!h||T(Ie?[]:h.map(Q=>Q._index).filter(Q=>!F?.includes(Q)))},[T,h,Ie,F]);if(C===R)return e.jsx("div",{style:r,className:V.join(" "),children:e.jsx("div",{style:{width:"100%",textAlign:"center"},title:`${a?.length||0} selected`,children:e.jsx("input",{type:"checkbox",name:"selectAll",checked:Ie,onChange:Ke})})});switch(A?.type){case"boolean":V.push(`text-${G||"center"}`,`justify-content-${G||"center"}`);break;case"integer":case"number":V.push(`text-${G||"end"}`,`justify-content-${G||"end"}`);break;default:G&&V.push(`text-${G}`)}let U=X?.hoverTitle;return!U&&typeof ye=="string"&&(U=ye),e.jsxs("div",{className:V.join(" "),style:r,title:U,draggable:!0,onDragStart:Ae,onDragEnd:je,onDragOver:Xe,onDrop:Ye,children:[e.jsxs("div",{className:"mig-schema-table__th__label-body",style:{lineHeight:"44px"},onClick:L,children:[e.jsx("span",{className:"mig-schema-table__th__label-body-text",children:ye}),ie===void 0?null:e.jsx("span",{className:"mig-schema-table__th__sort-icon",children:ie?"↓":"↑"})]}),z||se!==xe.UNAVAILABLE?e.jsx("button",{className:"mig-schema-table__th__trigger-el",onClick:me,children:e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"#404040",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:e.jsx("polyline",{points:"6 9 12 15 18 9"})})}):null]})},mt=t.memo(St),Ot={[fe.GT]:">",[fe.LT]:"<",[fe.EQ]:"="},$t=t.memo(({columnFilterValue:n,onChange:r,onInputKeyDown:a,propIsRequired:m,propName:b,propSchema:c,translate:F})=>{const{displayTimezone:_}=t.useContext(Me),{type:W,format:S,minimum:T,maximum:$}=c||{},D=n,y=S==="date-time";let O,H,ee,M;switch(W){case"number":case"integer":return O=D||{},H=(o,h,p)=>{const w={...O,[o]:h.value===""?void 0:parseInt(h.value)},Z=Object.values(w).find(ne=>isFinite(ne));r(Z!==void 0&&(T===void 0||Z>=T)?w:void 0,p)},e.jsxs("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:[m?null:e.jsxs("li",{style:{padding:8},children:[e.jsxs("label",{className:"d-flex",children:[e.jsx("input",{type:"checkbox",style:{marginRight:14},checked:!!O.filterEmpty,onChange:()=>{const{filterEmpty:o,...h}=O;o||(h.filterEmpty=!0),r(Object.keys(h).length?h:void 0,!0)}}),"Hide empty values"]}),e.jsx("hr",{})]}),Object.keys(fe).map(o=>{const h=O[o];return e.jsxs("li",{children:[e.jsx("label",{style:{width:40,paddingLeft:16},children:Ot[o]}),e.jsx("input",{className:"form-control",style:{width:120},type:"number",value:h!==void 0?h:"","data-prop-name":b,onChange:p=>{H(o,p.currentTarget,!1)},onBlur:p=>{H(o,p.currentTarget,!0)},onKeyDown:a,min:T,max:$})]},o)})]});case"boolean":return ee=["✓","✕"],m||ee.push("?"),M=D?"✓":"✕",D===null&&(M="?"),D===void 0&&(M=""),e.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:e.jsx("li",{children:e.jsxs("select",{autoFocus:!0,className:"form-select",value:M,"data-prop-name":b,onChange:o=>{switch(o.currentTarget.value){case"✓":r(!0,!0);break;case"✕":r(!1,!0);break;case"?":r(null,!0);break;default:r(void 0,!0)}},children:[e.jsx("option",{value:"",children:"All"},"all"),ee.map(o=>e.jsx("option",{value:o,children:o},`column-filter-select-${o}`))]})})});case"string":if(c?.enum)return e.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:e.jsx("li",{children:e.jsxs("select",{autoFocus:!0,className:"form-select",value:D,"data-prop-name":b,onChange:o=>{r(o.currentTarget.value||void 0,!0)},children:[e.jsx("option",{value:"",children:"All"},"all"),c.enum.map(o=>e.jsx("option",{value:o,children:F(o)},`column-filter-select-${o}`))]})})});if(y||S==="date"){const o=y?Le:He,h=n||{from:void 0,to:void 0,filterEmpty:void 0};return e.jsxs("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:[m?null:e.jsxs("li",{style:{padding:8},children:[e.jsxs("label",{className:"d-flex",children:[e.jsx("input",{type:"checkbox",checked:!!h.filterEmpty,onChange:()=>{const{filterEmpty:p,...w}=h;p||(w.filterEmpty=!0),r(Object.keys(w).length?w:void 0,!0)}}),"Hide empty values"]}),e.jsx("hr",{})]}),e.jsxs("li",{style:{padding:8},children:[e.jsx("label",{style:{width:120,paddingLeft:4},children:"After"}),e.jsx(ot,{dateFormat:o,"data-prop-name":b,locale:it.nl,selected:h.from?new Fe.TZDate(h.from).withTimeZone(_||j.timeZone):null,onChange:p=>{if(!p&&!h.to){r(void 0,!0);return}if(h.to&&p&&p>h.to)return;const w=p?Fe.TZDate.tz(_||j.timeZone,p):void 0;r({...n,from:w},!0)},placeholderText:o,isClearable:!0,selectsStart:!0,showTimeSelect:y,showTimeInput:y,showMonthDropdown:!0,showYearDropdown:!0,timeIntervals:15,shouldCloseOnSelect:!y})]}),e.jsxs("li",{style:{padding:8},children:[e.jsx("label",{style:{width:120,paddingLeft:4},children:"Before"}),e.jsx(ot,{id:"filter-date",dateFormat:o,"data-prop-name":b,locale:it.nl,selectsEnd:!0,selected:h.to?new Fe.TZDate(h.to).withTimeZone(_||j.timeZone):null,showMonthDropdown:!0,showYearDropdown:!0,onChange:p=>{if(!p&&!h.from){r(void 0,!0);return}const w=p?y?Fe.TZDate.tz(_||j.timeZone,p):Ve.endOfDay(p):void 0;h.from&&w&&w<h.from||r({...n,to:w},!0)},placeholderText:o,isClearable:!0,startDate:h.from,endDate:h.to,showTimeInput:y,showTimeSelect:y,timeIntervals:15,shouldCloseOnSelect:!y})]})]})}default:return e.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:e.jsx("li",{children:e.jsx("input",{autoFocus:!0,type:"search",className:"form-control",placeholder:`Search ${b}`,"aria-label":`Search ${b}`,value:D||"","data-prop-name":b,onChange:o=>{r(o.currentTarget.value||void 0,!1)},onKeyDown:a,onBlur:o=>{r(o.currentTarget.value||void 0,!0)}})})})}}),Ft=({isSortable:n,isFilterable:r,onChange:a,onClose:m,onInputKeyDown:b,propConfig:c,propIsRequired:F,propName:_,propSchema:W,referenceElement:S,setFilterSortColumn:T,translate:$,value:D})=>{const y=We.useFloating({placement:"bottom-start",elements:{reference:S},middleware:[We.flip()]}),O=We.useFloating({placement:"right-start",middleware:[We.flip()]});t.useEffect(()=>{const h=p=>{if(!y.elements.floating)return;let w=p.target;for(;w&&y.elements.floating;){if(w===y.elements.floating||w===O.elements.floating)return;w=w.parentNode===window.document?null:w.parentNode}m(p)};return window.addEventListener("click",h,{capture:!0}),()=>{window.removeEventListener("click",h,{capture:!0})}},[y.elements.floating,m,O.elements.floating]);const H=c?.FilterMenu||$t,ee=t.useCallback(h=>{T(_,!0),m(h)},[m,_,T]),M=t.useCallback(h=>{T(_,!1),m(h)},[m,_,T]),o=t.useCallback(()=>{a(void 0,!0)},[a]);return!n&&!r?null:e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu",ref:y.refs.setFloating,style:y.floatingStyles,children:e.jsxs("ol",{className:"mig-schema-table-menu",children:[n?e.jsxs("li",{onClick:ee,style:{padding:8},children:[e.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↓"})," ",$("sortAscending")]}):null,n?e.jsxs("li",{onClick:M,style:{padding:8},children:[e.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↑"})," ",$("sortDescending")]}):null,r?e.jsxs("li",{style:{padding:8},onMouseOver:h=>{O.refs.setReference(h.currentTarget)},children:[e.jsx("span",{className:"mig-schema-table__th-menu__icon",children:e.jsx("input",{type:"checkbox",id:"mig-schema-table__th-menu__filters",checked:D!==void 0,disabled:D===void 0,onChange:o})}),e.jsx("label",{htmlFor:"mig-schema-table__th-menu__filters",children:$("filters")}),e.jsx("div",{className:"mig-schema-table__th-menu__sub-menu-indicator"})]}):null]})}),O.elements.reference?e.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu__sub-menu",ref:O.refs.setFloating,style:O.floatingStyles,children:e.jsx(H,{columnFilterValue:D,onChange:a,onInputKeyDown:b,propIsRequired:F,propName:_,propSchema:W,translate:$})}):null]})},Wt=t.memo(Ft),jt=({columnWidths:n,resizeColumnIndex:r,setResizeColumnIndex:a,tableBodyHeight:m})=>{const[b,c]=t.useState(0),F=ft(),_=t.useCallback($=>{const D=n.map((y,O)=>O===r?Math.max(y+$,Ge):y);F(D)},[n,r,F]);let W=0;const S=t.useCallback($=>{a(parseInt($.currentTarget.dataset.columnIndex)),c($.clientX)},[a]),T=t.useCallback($=>{_($.clientX-b),c(0),a(-1)},[b,_,a]);return e.jsx("div",{children:[...n].map(($,D)=>{W+=$;const y=["mig-schema-table__column_resizer"];return D===r&&y.push("mig-schema-table__column_resizer--dragged"),e.jsx("div",{style:{left:W-dt,bottom:m},className:y.join(" "),draggable:"true","data-column-index":D,onDragStart:S,onDragEnd:T},D)})})},bt=n=>{const[r,a]=t.useState({width:0,height:0}),m=t.useMemo(()=>ge.debounce(a,100),[]);return t.useEffect(()=>{if(!n)return;const b=new ResizeObserver(c=>{for(const F of c){const{blockSize:_,inlineSize:W}=F.borderBoxSize[0];m(S=>W&&_&&(S.width!==W||S.height!==_)?{width:W,height:_}:S)}});return b.observe(n),()=>{b.disconnect()}},[m,n]),r},Bt=()=>new Promise((n,r)=>{if(window.ExcelJS){n(window.ExcelJS);return}const a=document.createElement("script");a.src="https://cdnjs.cloudflare.com/ajax/libs/exceljs/4.4.0/exceljs.bare.min.js",a.onload=()=>{n(window.ExcelJS)},a.onerror=()=>{r(new Error("Failed to load ExcelJS library"))},document.head.appendChild(a)}),Qt=async n=>{const{Workbook:r}=await Bt(),a=new r,m=a.addWorksheet("Data");n.length&&(m.addRow(ge.difference(Object.keys(n[0]),["_index","SELECT_ALL_COLUMN_NAME"])),m.getRow(1).font={bold:!0},m.addRows(n.map(b=>{const{_index:c,SELECT_ALL_COLUMN_NAME:F,..._}=b;return Object.values(_)})),a.xlsx.writeBuffer().then(b=>{const c=new Blob([b],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});Et.saveAs(c,"export.xlsx")}).catch(b=>{console.error("Error generating Excel file:",b)}))},pt=new Date("1000-01-01 00:00:00Z"),zt=new Intl.NumberFormat("nl-NL"),Ut=new Intl.NumberFormat("nl-NL",{style:"currency",currency:"EUR"});function qt(n,r){const{TdBody:a,sortByValue:m}=r||{};if(m!==void 0)return m;if(!n)return!1;const{format:b,type:c}=n;return b?.startsWith("date")||c==="boolean"||c==="integer"||c==="number"||!!a}const Zt=({CustomElement:n,CustomSearchInput:r,Heading:a=Pe.VariableSizeList,autoRender:m,checkedIndexes:b,config:c,customElementProps:F,data:_,defaultColumnFilters:W,defaultSortAsc:S=!1,defaultSortColumn:T,disabledCheckedIndexes:$,displayTimezone:D,enableAutoFocus:y=!0,enableRowCounter:O=!0,getRowClassName:H,getRowSelected:ee,getSearchQueryFilterResult:M,infiniteLoaderRef:o,isColumnFilterable:h=!0,isExportable:p=!0,isResizable:w=!0,isSearchable:Z=!0,isSortable:ne=!0,itemCount:ce,loadMoreItems:re,maxHeight:C,onRowClick:A,onRowDoubleClick:ie,onSearchEnter:X,onTableDataStateChange:se,rowHeight:z=36,schema:V,searchPlaceholder:we,setCheckedIndexes:G,settingsStorageKey:v,style:I,translate:k=lt,useFilterStateHash:L,variableSizeGridRef:de,width:me})=>{const[ye,oe]=t.useState(),[Ae,je]=t.useState(),[Xe,Ye]=t.useState(-1),[Ie,Ke]=t.useState(-1),[U,Q]=t.useState(),[be,ve]=t.useState(),P=_ instanceof Function,[x,_e]=t.useState(P?void 0:_),[pe,Re]=t.useState(),[i,Ee]=t.useState({searchQuery:"",columnFilterMap:W||{},sortColumn:T,sortAsc:S}),[q,Jt]=t.useState(L?j.parseLocationHash(window.location.hash):null);t.useEffect(()=>{P||_e(_)},[_,P]),t.useEffect(()=>{!P||x!==void 0||_(q&&Object.keys(q).length!==0?{...q,columnFilterMap:q.columnFilterMap||{}}:i).then(_e)},[_,P,q,x,i]),t.useEffect(()=>{pe||Re(i)},[i,pe]),t.useEffect(()=>{if(!L)return;const s=()=>{Jt(j.parseLocationHash(window.location.hash))};return window.addEventListener("hashchange",s),()=>{window.removeEventListener("hashchange",s)}},[L]),t.useEffect(()=>{if(!L)return;const{columnFilterMap:s,searchQuery:d,sortAsc:u,sortColumn:l}=q||{},f={searchQuery:d||"",columnFilterMap:s||W||{},sortAsc:u===void 0?S:u,sortColumn:l===void 0?T:l};Ee(N=>ge.isEqual(f,N)?N:f)},[q,L,W,S,T]),t.useEffect(()=>{se&&se(i)},[se,i]);const gt=t.useRef(null),_t=t.useRef(null),Be=bt(gt.current),Ct=bt(_t.current),Ne=t.useMemo(()=>me||Math.floor(Be.width||0),[Be.width,me]),Se=t.useMemo(()=>!ge.isEqual(i,pe)&&P,[i,pe,P]),{properties:le,required:Ht}=t.useMemo(()=>({properties:{},required:[],...V}),[V]),Qe=v?localStorage.getItem(`${v}.columnNames`):null,ze=v?localStorage.getItem(`${v}.columnWidths`):null,te=t.useMemo(()=>{if(ye)return ye;const s=Qe?JSON.parse(Qe):void 0;let d=Object.keys(le);if(G&&d.unshift(R),c){Object.keys(c).forEach(l=>{d.includes(l)||d.push(l)});const u=Object.entries(c).reduce((l,[f,N])=>(N.hidden&&l.push(f),l),[]);d=d.filter(l=>!u.includes(l)).sort((l,f)=>{let N=c[l]?c[l].order:void 0;N===void 0&&(N=Object.keys(le).findIndex(K=>K===l));let g=c[f]?c[f].order:void 0;return g===void 0&&(g=Object.keys(le).findIndex(K=>K===f)),f===R||l===R?0:N===-1?1:g===-1?-1:N-g})}return s?.length===d.length?s:d},[c,ye,G,le,Qe]),Ue=t.useMemo(()=>x&&te?x.map((s,d)=>te.reduce((u,l)=>{const f=le[l],N=c?c[l]:void 0;if(N?.renderData)return u[l]=N.renderData(s,d),u;if(!f||l===R)return u[l]="",u;const g=s?s[l]:"";switch(f.type){case"array":return u[l]=f.items?.type==="string"&&g?g.map(K=>k(K)).join(", "):JSON.stringify(g),u;case"boolean":return u[l]=g===void 0?"?":g?"✓":"✕",u;case"number":case"integer":return g===void 0?(u[l]="",u):(u[l]=f.format==="currency"?Ut.format(g):zt.format(g),u);case"string":if(f.format==="date"&&g)return u[l]=["2999-12-31","1970-01-01"].includes(g)?"-":Je(new Date(g),N?.dateFormat||He),u;if(f.format==="date-time"&&g)return u[l]=D?j.localeFormatInTimeZone(new Date(g),D,Le):Je(new Date(g),N?.dateFormat||Le),u;if(f.enum)return u[l]=g?k(g):"",u;default:return u[l]=g?`${g}`:"",u}},{_index:d})):void 0,[x,te,le,c,k,D]),Te=te?te.length:0,{dynamicWidthColumnCount:et,fixedWidthColumnsWidth:tt}=t.useMemo(()=>{let s=0,d=0;return(te||[]).forEach(u=>{if(u===R){s+=at;return}const l=c?c[u]:void 0;l?.width?s+=l.width:d+=1},0),{dynamicWidthColumnCount:d,fixedWidthColumnsWidth:s}},[te,c]),ae=t.useMemo(()=>{if(Ae)return new Uint16Array(Ae);const s=ze?new Uint16Array(JSON.parse(ze)):void 0,d=Math.max(Math.floor((Ne-tt)/et),Ge);let u=(Ne-tt)%et;const l=new Uint16Array(te.map(f=>{if(f===R)return at;const N=c?c[f]:void 0;return N?.width?N?.width:u?(u-=1,d+1):d}));return s?.length===l.length?s:l},[te,c,Ae,et,tt,ze,Ne]),qe=t.useCallback(s=>ae?ae[s]:1,[ae]),Oe=t.useMemo(()=>{if(!Ue||!h&&!Z||P)return Ue;const{searchQuery:s}=i,d=s.toLowerCase()||"",u=l=>x&&M?M(x[l._index],s):!(te&&!te.find(f=>`${l[f]}`.toLowerCase().includes(d)));return Ue.filter(l=>{let f=u(l);return!f||!i.columnFilterMap?!1:(Object.entries(i.columnFilterMap).forEach(([N,g])=>{if(!f||g===void 0)return;const K=c?c[N]:void 0;if(x&&K?.filter){f=K.filter(x[l._index],g);return}const he=le[N],B=x[l._index]?.[N];switch(he?.type){case"boolean":case"number":case"integer":if(g&&typeof g=="object"){g.filterEmpty&&B===void 0&&(f=!1);for(const J of Object.keys(fe)){const ke=g[J];if(f&&ge.isFinite(ke))switch(J){case fe.EQ:B!==ke&&(f=!1);break;case fe.GT:B<=ke&&(f=!1);break;case fe.LT:B>=ke&&(f=!1);break}}}else{if(B===void 0&&g===null)return!0;f=B===g}break;case"string":if(typeof g=="object"&&(he.format==="date"||he.format==="date-time")){const{from:J,to:ke,filterEmpty:vt}=g;if(!B)f=!vt;else{const Ze=B?new Date(B):void 0;(vt===!1||J&&(!Ze||Ze<J)||ke&&(!Ze||Ze>ke))&&(f=!1)}return}default:if(he?.enum){f=B===g;return}f=`${l[N]}`.toLowerCase().includes(`${g}`.toLowerCase())}}),f)})},[Ue,h,Z,P,i,M,te,c,x,le]),Y=t.useMemo(()=>{const{sortAsc:s,sortColumn:d}=i;if(!d||!Oe||!x||P)return Oe;const u=le[d],l=c?c[d]:void 0,f=l?.sort;if(f)return Oe.sort((K,he)=>{const B=x[K._index],J=x[he._index];return B?J?f(B,J,s===void 0?S:s):-1:1});const N=u&&u.format?.startsWith("date"),g=qt(u,l);return Oe.sort((K,he)=>{let B=g&&x[K._index]?x[K._index][d]:`${K[d]}`.toLowerCase(),J=g&&x[he._index]?x[he._index][d]:`${he[d]}`.toLowerCase();return g&&N&&(B=new Date(B),isNaN(B.getTime())&&(B=pt),J=new Date(J),isNaN(J.getTime())&&(J=pt)),B===J?0:B?J?(B<J?1:-1)*(s?-1:1):s?1:-1:s?-1:1})},[c,S,Oe,P,le,x,i]),wt=t.useCallback(s=>{const d={...i.columnFilterMap};delete d[s],Ee({...i,columnFilterMap:d})},[i]),nt=t.useCallback((s,d)=>{if(L){window.location.hash=j.serializeLocationHash({...q,sortColumn:s,sortAsc:d});return}Ee({...i,sortColumn:s,sortAsc:d})},[i,q,L]),Gt=t.useCallback(s=>{Ee({...i,searchQuery:s.currentTarget.value})},[i]),De=t.useCallback(()=>{Re(i),_e(void 0)},[i]);t.useEffect(()=>{if(!m||!q||!pe||!L)return;const s=Object.keys(q);let d=!1;for(const u of s){const l=q[u],f=pe[u];if(typeof l=="string"&&l!==f){d=!0;break}if(typeof l=="object"&&!ge.isEqual(l,f)){d=!0;break}}d&&De()},[m,q,pe,De,L]);const yt=t.useCallback(s=>{s.key==="Enter"&&(Q(void 0),Se&&De(),X&&s.currentTarget.className==="mig-schema-table__search"&&X(i.searchQuery||""))},[Se,i.searchQuery,X,De]),rt=t.useCallback(()=>z,[z]),ue=t.useMemo(()=>ge.sum(ae),[ae]),$e=t.useMemo(()=>Y?Y.length:0,[Y]),Ce=t.useMemo(()=>{const s=z*$e;let d;if(C&&(d=C==="100%"?Be.height:C,!d))return 0;const u=d?d-Ct.height-ct:0;return u&&u<s?u:s},[z,$e,C,Ct,Be.height]),Xt=t.useCallback(s=>{Q(void 0),s.preventDefault(),s.stopPropagation()},[]),Yt=t.useCallback((s,d)=>{if(!U)return;if(L&&d!==!1){window.location.hash=j.serializeLocationHash({...q,columnFilterMap:{...i.columnFilterMap,[U.propName]:s}});return}if(s===void 0){wt(U.propName);return}const u={...i.columnFilterMap,[U.propName]:s};Ee({...i,columnFilterMap:u})},[wt,i,q,U,L]),Kt=t.useCallback(()=>{const s={searchQuery:"",columnFilterMap:{},sortColumn:T,sortAsc:S};L&&(window.location.hash=j.serializeLocationHash(s)),Re(s),Ee(s)},[L,S,T]),Rt=t.useCallback(()=>{const s=q?.searchQuery||"";L&&(i.searchQuery||s)&&i.searchQuery!==s&&(window.location.hash=j.serializeLocationHash({...q,searchQuery:i.searchQuery}))},[q,i.searchQuery,L]),en=t.useCallback(async s=>{s.preventDefault(),s.stopPropagation(),Y&&Qt(Y)},[Y]),tn=t.useCallback(()=>{v&&(localStorage.removeItem(`${v}.columnNames`),localStorage.removeItem(`${v}.columnWidths`),oe(void 0),je(void 0))},[v]),st=t.useCallback(s=>{if(!Y||!x||!re||!ce)return!0;const d=Y[s];return d&&x[d._index]!==void 0},[ce,re,Y,x]),nn=t.useMemo(()=>Ce?!(x&&!Se)&&!re?e.jsx("div",{style:{width:ue,height:Math.max(50,Ce),border:"1px solid #BBB",textAlign:"center",display:"flex",backgroundColor:"#CCC",alignItems:"center",justifyContent:"center"},children:Se?e.jsx("button",{onClick:De,className:"btn border",children:"Refresh data"}):e.jsx("div",{children:"⌛ Loading..."})}):re&&ce?e.jsx(Mt,{ref:o,isItemLoaded:st,itemCount:ce,loadMoreItems:re,children:({onItemsRendered:d,ref:u})=>e.jsx(Pe.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:z,height:Ce,width:ue,columnWidth:qe,rowHeight:rt,columnCount:Te,rowCount:$e,ref:u,onItemsRendered:({overscanRowStartIndex:l,overscanRowStopIndex:f,visibleRowStartIndex:N,visibleRowStopIndex:g})=>d({overscanStartIndex:l,overscanStopIndex:f,visibleStartIndex:N,visibleStopIndex:g}),children:ut},`tbody_${Ce}_${ue}_${i.sortColumn}_${i.sortAsc}_${i.searchQuery}_${Te}_${ae.join(" ")}`)}):e.jsx(Pe.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:z,height:Ce,width:ue,columnWidth:qe,rowHeight:rt,columnCount:Te,rowCount:$e,ref:de,children:ut},`tbody_${Ce}_${ue}_${i.sortColumn}_${i.sortAsc}_${i.searchQuery}_${Te}_${ae.join(" ")}`):null,[Te,ae,qe,rt,o,Se,st,ce,re,De,$e,z,ue,i.searchQuery,i.sortAsc,i.sortColumn,x,Ce,de]),rn=t.useMemo(()=>({...I,width:me?Math.min(ue,Ne):void 0,height:C==="100%"?"100%":void 0,maxHeight:C==="100%"?"100%":void 0}),[C,ue,I,Ne,me]),sn=r||"input";return e.jsx(Me.Provider,{value:{checkedIndexes:b,columnNames:te,columnWidths:ae,config:c,disabledCheckedIndexes:$,displayTimezone:D,dropTargetIndex:Ie,getRowClassName:H,getRowSelected:ee,isColumnFilterable:h,isItemLoaded:st,isSortable:ne,lastCheckChangedRowIndex:be,onRowClick:A,onRowDoubleClick:ie,properties:le,required:Ht,setCheckedIndexes:G,setCustomColumnNames:oe,setCustomColumnWidths:je,setDropTargetIndex:Ke,setFilterSortColumn:nt,setLastCheckChangedRowIndex:ve,setMenuConfig:Q,settingsStorageKey:v,sortedRenderData:Y,sourceData:x,tableDataState:i,translate:k||lt},children:e.jsxs("div",{className:`mig-schema-table${A?" mig-schema-table--clickable-rows":""}`,ref:gt,style:rn,role:"table",children:[e.jsxs("div",{className:"mig-schema-table__action-container",ref:_t,children:[e.jsx("div",{children:Z?e.jsx(sn,{className:"mig-schema-table__search",type:"search",name:"search",autoComplete:"off",placeholder:we||k("search..."),value:i.searchQuery,onChange:Gt,onKeyDown:yt,autoFocus:y,onBlur:Rt}):null}),n?e.jsx(n,{...F,renderData:Y}):e.jsx("div",{className:"mig-schema-table__custom_element_placeholder"}),O&&Array.isArray(_)?e.jsx("span",{className:"mig-schema-table__row_counter",children:k("showingFilteredCountOfTotalCount",Y?.length||0,_.length)}):null,p?e.jsx("button",{onClick:en,style:{marginLeft:8},disabled:!Y?.length,children:k("exportData")}):null,Z||h?e.jsx("button",{onClick:Kt,style:{marginLeft:8},disabled:i.columnFilterMap&&i.searchQuery?Object.keys(i.columnFilterMap).length+i.searchQuery.length===0:!1,children:k("clearFilters")}):null,v?e.jsx("button",{onClick:tn,style:{marginLeft:8},disabled:!Qe&&!ze,children:k("clearSettings")}):null]}),e.jsxs("div",{className:"mig-schema-table__column_resize_container",children:[e.jsx(a,{height:ct,itemCount:Te,itemSize:qe,layout:"horizontal",width:ue,sortAsc:i.sortAsc,setFilterSortColumn:nt,sortColumn:i.sortColumn,sortedRenderData:Y,className:"mig-schema-table__th-row",children:mt},`thead_${ue}_${i.sortColumn}_${i.sortAsc}_${i.searchQuery}_${ae.join(" ")}`),nn,w?e.jsx(jt,{columnWidths:ae,resizeColumnIndex:Xe,setResizeColumnIndex:Ye,tableBodyHeight:Ce}):null]}),x?x.length>0?e.jsx(e.Fragment,{children:kt.createPortal(U?e.jsx(Wt,{isFilterable:h&&U.propConfig?.isFilterable!==!1,isSortable:ht(!!ne,V.properties[U.propName],U.propConfig),onChange:Yt,onClose:Xt,onInputKeyDown:yt,propConfig:U.propConfig,propIsRequired:U.propIsRequired,propName:U.propName,propSchema:V.properties[U.propName],referenceElement:U.referenceElement,setFilterSortColumn:nt,translate:k,value:i.columnFilterMap?i.columnFilterMap[U.propName]:null}):null,document.body)}):e.jsx("div",{className:"mig-schema-table__no_data",children:"No data found"}):null]})})},Pt=t.memo(Zt),Vt=t.memo(({refresh:n,period:r=60})=>{const[a,m]=t.useState(new Date),[b,c]=t.useState(new Date),F=t.useCallback(()=>{c(new Date),n()},[n]),_=t.useMemo(()=>Ve.differenceInSeconds(a,b),[a,b]);t.useEffect(()=>{_>r&&F()},[_,a,b,r,F]),t.useEffect(()=>{const T=setInterval(()=>{m(new Date)},1e3);return()=>{clearInterval(T)}},[]);const W=r-_;return e.jsxs("div",{className:"mx-auto",title:`Refresh ${W>0?`in ${W} seconds`:"NOW"}`,children:["Last update ",Je(b,"HH:mm")]})});E.DEFAULT_DATE_FORMAT=He,E.DEFAULT_DATE_TIME_FORMAT=Le,E.EColumnFilterStatus=xe,E.MINIMUM_COLUMN_WIDTH=Ge,E.RESIZER_WIDTH=dt,E.Refresher=Vt,E.SchemaTable=Pt,E.Th=mt,Object.defineProperty(E,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mig-schema-table",
3
- "version": "5.0.7",
3
+ "version": "5.0.9",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -20,12 +20,12 @@
20
20
  "scripts": {
21
21
  "dev": "vite",
22
22
  "build": "tsc && vite build",
23
- "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
24
- "prepublishOnly": "npm run build"
23
+ "prepublishOnly": "npm run build",
24
+ "lint": "eslint src"
25
25
  },
26
26
  "dependencies": {
27
27
  "@date-fns/tz": "^1.4.1",
28
- "@floating-ui/react-dom": "^2.1.0",
28
+ "@floating-ui/react-dom": "^2.1.6",
29
29
  "date-fns": "^4.1.0",
30
30
  "file-saver": "^2.0.5",
31
31
  "lodash": "^4.17.21",
@@ -36,6 +36,7 @@
36
36
  },
37
37
  "devDependencies": {
38
38
  "@chromatic-com/storybook": "^1.4.0",
39
+ "@eslint/js": "^9.39.1",
39
40
  "@storybook/addon-essentials": "^8.1.2",
40
41
  "@storybook/addon-interactions": "^8.1.2",
41
42
  "@storybook/addon-links": "^8.1.2",
@@ -44,30 +45,29 @@
44
45
  "@storybook/react": "^8.1.2",
45
46
  "@storybook/test": "^8.1.2",
46
47
  "@testing-library/jest-dom": "^6.4.5",
47
- "@testing-library/react": "^15.0.7",
48
+ "@testing-library/react": "^16.1.0",
48
49
  "@types/file-saver": "^2.0.7",
49
50
  "@types/jest": "^29.5.12",
50
51
  "@types/lodash": "^4.17.4",
51
- "@types/react": "^18.2.66",
52
- "@types/react-dom": "^18.2.22",
52
+ "@types/react": "^19.0.0",
53
+ "@types/react-dom": "^19.0.0",
53
54
  "@types/react-window": "^1.8.8",
54
55
  "@types/react-window-infinite-loader": "^1.0.9",
55
- "@typescript-eslint/eslint-plugin": "^7.2.0",
56
- "@typescript-eslint/parser": "^7.2.0",
57
56
  "@vitejs/plugin-react-swc": "^4.2.2",
58
- "eslint": "^8.57.0",
59
- "eslint-plugin-react-hooks": "^4.6.0",
60
- "eslint-plugin-react-refresh": "^0.4.6",
57
+ "eslint": "^9.39.1",
58
+ "eslint-plugin-react-hooks": "^5.0.0",
59
+ "eslint-plugin-react-refresh": "^0.4.24",
61
60
  "openapi3-ts": "^4.3.1",
62
61
  "prettier": "^3.2.5",
63
62
  "sass": "^1.77.2",
64
- "typescript": "5.8.2",
63
+ "typescript": "^5.8.2",
64
+ "typescript-eslint": "^8.46.4",
65
65
  "vite": "^7.2.2",
66
66
  "vite-plugin-dts": "^4.5.4"
67
67
  },
68
68
  "peerDependencies": {
69
- "react": "^18.2.0",
70
- "react-dom": "^18.2.0"
69
+ "react": ">=18.2.0",
70
+ "react-dom": ">=18.2.0"
71
71
  },
72
72
  "repository": {
73
73
  "type": "git",