mig-schema-table 5.0.19 → 5.0.20

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.
@@ -72,15 +72,15 @@ const Ie = tn.createContext({
72
72
  checkedIndexes: p,
73
73
  columnNames: _,
74
74
  config: f,
75
- disabledCheckedIndexes: E,
75
+ disabledCheckedIndexes: L,
76
76
  displayTimezone: C,
77
77
  getRowClassName: O,
78
- getRowSelected: L,
79
- isItemLoaded: N,
78
+ getRowSelected: N,
79
+ isItemLoaded: I,
80
80
  lastCheckChangedRowIndex: $,
81
81
  onRowClick: M,
82
82
  onRowDoubleClick: D,
83
- onRowDrop: I,
83
+ onRowDrop: S,
84
84
  properties: Y,
85
85
  rowDropTargetRowIndex: te,
86
86
  setCheckedIndexes: q,
@@ -94,7 +94,7 @@ const Ie = tn.createContext({
94
94
  q && q((T) => T && T.includes(w) ? T.filter((x) => x !== w) : T ? [...T, w] : [w]);
95
95
  },
96
96
  [q]
97
- ), J = N(o), ne = e.useCallback(
97
+ ), J = I(o), ne = e.useCallback(
98
98
  (w) => {
99
99
  if (!g || !r || !M || !J)
100
100
  return;
@@ -116,12 +116,12 @@ const Ie = tn.createContext({
116
116
  D(g[A._index], A._index, w);
117
117
  },
118
118
  [J, D, r, g]
119
- ), S = r ? r[o] : void 0, { showTimezones: ae, TdBody: Z } = G || {}, ue = e.useMemo(() => C ? null : Ne.startsWith("Europe/") ? "Asia/Jakarta" : "Europe/Amsterdam", [C]), j = e.useMemo(() => {
120
- if (!S || !r)
119
+ ), R = r ? r[o] : void 0, { showTimezones: ae, TdBody: Z } = G || {}, ue = e.useMemo(() => C ? null : Ne.startsWith("Europe/") ? "Asia/Jakarta" : "Europe/Amsterdam", [C]), j = e.useMemo(() => {
120
+ if (!R || !r)
121
121
  return;
122
- let w = W === ee ? void 0 : S[W];
122
+ let w = W === ee ? void 0 : R[W];
123
123
  if (ce?.format && ce.format === "date-time" && ae !== !1) {
124
- const A = g ? g[S._index] : void 0, x = A ? A[W] : void 0, Q = x ? new Date(x) : void 0;
124
+ const A = g ? g[R._index] : void 0, x = A ? A[W] : void 0, Q = x ? new Date(x) : void 0;
125
125
  Q && ue && (w = `${Rt(
126
126
  Q,
127
127
  ue,
@@ -133,8 +133,8 @@ const Ie = tn.createContext({
133
133
  `mig-schema-table__td--${o % 2 ? "odd" : "even"}`,
134
134
  `mig-schema-table__td--prop-${W}`
135
135
  ];
136
- switch (o === te && T.push("mig-schema-table__td--row-drop-target"), g && L && L(g[S._index], S._index) && T.push("mig-schema-table__td--selected"), g && O && T.push(
137
- O(g[S._index], S._index, r)
136
+ switch (o === te && T.push("mig-schema-table__td--row-drop-target"), g && N && N(g[R._index], R._index) && T.push("mig-schema-table__td--selected"), g && O && T.push(
137
+ O(g[R._index], R._index, r)
138
138
  ), ce?.type) {
139
139
  case "boolean":
140
140
  T.push(`text-${G?.align || "center"}`);
@@ -156,7 +156,7 @@ const Ie = tn.createContext({
156
156
  onDoubleClick: W === ee ? void 0 : re
157
157
  };
158
158
  }, [
159
- S,
159
+ R,
160
160
  r,
161
161
  W,
162
162
  ce,
@@ -164,7 +164,7 @@ const Ie = tn.createContext({
164
164
  o,
165
165
  te,
166
166
  g,
167
- L,
167
+ N,
168
168
  O,
169
169
  n,
170
170
  h,
@@ -175,7 +175,7 @@ const Ie = tn.createContext({
175
175
  G
176
176
  ]), he = e.useCallback(
177
177
  (w) => {
178
- if (!v || !S)
178
+ if (!v || !R)
179
179
  return;
180
180
  const T = parseInt(w.currentTarget.dataset.rowIndex);
181
181
  if (w.shiftKey && $ !== void 0) {
@@ -187,27 +187,27 @@ const Ie = tn.createContext({
187
187
  x > A ? x + 1 : A
188
188
  )) {
189
189
  const Me = r[Q]._index;
190
- (!E || !E.includes(Me)) && v(Me);
190
+ (!L || !L.includes(Me)) && v(Me);
191
191
  }
192
192
  }
193
193
  } else
194
- v(S._index);
194
+ v(R._index);
195
195
  b(T), ve.current?.focus();
196
196
  },
197
197
  [
198
198
  p,
199
- E,
199
+ L,
200
200
  $,
201
201
  v,
202
- S,
202
+ R,
203
203
  o,
204
204
  b,
205
205
  r
206
206
  ]
207
207
  ), ve = e.useRef(null);
208
- if (!S || !j)
208
+ if (!R || !j)
209
209
  return null;
210
- if (!N || g && !g[S._index])
210
+ if (!I || g && !g[R._index])
211
211
  return /* @__PURE__ */ s("div", { ...j, children: "loading" });
212
212
  if (W === we)
213
213
  return /* @__PURE__ */ s(
@@ -229,7 +229,7 @@ const Ie = tn.createContext({
229
229
  w.dataTransfer.getData("row-drag-index"),
230
230
  10
231
231
  );
232
- isNaN(T) || I(T, o);
232
+ isNaN(T) || S(T, o);
233
233
  },
234
234
  children: /* @__PURE__ */ s("span", { className: "mig-schema-table__td--drag-handle__icon", children: "⠿" })
235
235
  }
@@ -241,21 +241,21 @@ const Ie = tn.createContext({
241
241
  ref: ve,
242
242
  type: "checkbox",
243
243
  readOnly: !0,
244
- checked: p?.includes(S._index),
245
- disabled: E?.includes(S._index)
244
+ checked: p?.includes(R._index),
245
+ disabled: L?.includes(R._index)
246
246
  }
247
247
  ) }) });
248
248
  if (Z && g)
249
249
  return /* @__PURE__ */ s("div", { ...j, children: /* @__PURE__ */ s(
250
250
  Z,
251
251
  {
252
- dataIndex: S._index,
253
- rowData: g[S._index],
252
+ dataIndex: R._index,
253
+ rowData: g[R._index],
254
254
  rowIndex: o,
255
255
  ...G?.tdBodyProps
256
256
  }
257
257
  ) });
258
- const se = S[W];
258
+ const se = R[W];
259
259
  return ce?.format === "url" && se ? /* @__PURE__ */ s(
260
260
  "a",
261
261
  {
@@ -297,15 +297,15 @@ const yn = ({ index: n, style: o }) => {
297
297
  columnNames: p,
298
298
  columnWidths: _,
299
299
  config: f,
300
- disabledCheckedIndexes: E,
300
+ disabledCheckedIndexes: L,
301
301
  dropTargetIndex: C,
302
302
  isColumnFilterable: O,
303
- isSortable: L,
304
- setCheckedIndexes: N,
303
+ isSortable: N,
304
+ setCheckedIndexes: I,
305
305
  properties: $,
306
306
  required: M,
307
307
  setCustomColumnNames: D,
308
- setDropTargetIndex: I,
308
+ setDropTargetIndex: S,
309
309
  setFilterSortColumn: Y,
310
310
  setMenuConfig: te,
311
311
  settingsStorageKey: q,
@@ -314,15 +314,15 @@ const yn = ({ index: n, style: o }) => {
314
314
  translate: r,
315
315
  displayTimezone: g
316
316
  } = e.useContext(Ie), [oe, W] = e.useState(!1), ce = n === C, G = jt(), v = p[n], J = v === ee ? { type: "boolean" } : $[v], ne = b.sortColumn === v ? b.sortAsc : void 0, re = f ? f[v] : void 0;
317
- let S = O && (J || re?.FilterMenu) && re?.isFilterable !== !1 ? Qe.AVAILABLE : Qe.UNAVAILABLE;
318
- b.columnFilterMap && b.columnFilterMap[v] !== void 0 && (S = Qe.ACTIVE);
317
+ let R = O && (J || re?.FilterMenu) && re?.isFilterable !== !1 ? Qe.AVAILABLE : Qe.UNAVAILABLE;
318
+ b.columnFilterMap && b.columnFilterMap[v] !== void 0 && (R = Qe.ACTIVE);
319
319
  const ae = Wt(
320
- L,
320
+ N,
321
321
  J,
322
322
  re
323
323
  ), Z = [
324
324
  "mig-schema-table__th",
325
- `mig-schema-table__th--filter-${S}`,
325
+ `mig-schema-table__th--filter-${R}`,
326
326
  `mig-schema-table__th--prop-${v}`
327
327
  ];
328
328
  Z.push(
@@ -348,8 +348,8 @@ const yn = ({ index: n, style: o }) => {
348
348
  Y,
349
349
  ne
350
350
  ]), T = M.includes(v), A = e.useCallback(
351
- (z) => {
352
- const fe = z.currentTarget;
351
+ (U) => {
352
+ const fe = U.currentTarget;
353
353
  te((ye) => {
354
354
  if (ye?.propName !== v)
355
355
  return {
@@ -362,13 +362,13 @@ const yn = ({ index: n, style: o }) => {
362
362
  },
363
363
  [re, T, v, te]
364
364
  ), x = e.useMemo(() => se !== void 0 ? se : ue === "date-time" && ve ? `${r(v)} (${r(g || Ne)})` : r(v), [se, ue, ve, r, v, g]), Q = e.useCallback(
365
- (z, fe) => {
365
+ (U, fe) => {
366
366
  if (!p || !_)
367
367
  return;
368
- const ye = p.indexOf(z), ke = [...p];
368
+ const ye = p.indexOf(U), ke = [...p];
369
369
  ke.splice(ye, 1);
370
370
  const H = ke.indexOf(fe);
371
- ke.splice(H + 1, 0, z), D(ke);
371
+ ke.splice(H + 1, 0, U), D(ke);
372
372
  const _e = [..._], Oe = _e[ye];
373
373
  _e.splice(ye, 1), _e.splice(H + 1, 0, Oe), G(new Uint16Array(_e)), q && localStorage.setItem(
374
374
  `${q}.columnNames`,
@@ -383,34 +383,34 @@ const yn = ({ index: n, style: o }) => {
383
383
  D
384
384
  ]
385
385
  ), Me = e.useCallback(
386
- (z) => {
387
- Q && (W(!0), z.dataTransfer.effectAllowed = "move", z.dataTransfer.dropEffect = "move", z.dataTransfer.setData("text/plain", v));
386
+ (U) => {
387
+ Q && (W(!0), U.dataTransfer.effectAllowed = "move", U.dataTransfer.dropEffect = "move", U.dataTransfer.setData("text/plain", v));
388
388
  },
389
389
  [Q, v]
390
390
  ), Se = e.useCallback(() => {
391
- Q && (W(!1), I(-1));
392
- }, [Q, I]), ze = e.useCallback(
393
- (z) => {
394
- Q && (z.preventDefault(), I(n));
391
+ Q && (W(!1), S(-1));
392
+ }, [Q, S]), ze = e.useCallback(
393
+ (U) => {
394
+ Q && (U.preventDefault(), S(n));
395
395
  },
396
- [n, Q, I]
396
+ [n, Q, S]
397
397
  ), Re = e.useCallback(
398
- (z) => {
399
- if (I(-1), !Q || !v)
398
+ (U) => {
399
+ if (S(-1), !Q || !v)
400
400
  return;
401
- const fe = z.dataTransfer.getData("text/plain");
401
+ const fe = U.dataTransfer.getData("text/plain");
402
402
  !fe || fe === v || Q(fe, v);
403
403
  },
404
- [Q, v, I]
404
+ [Q, v, S]
405
405
  ), Ae = vn(), Ke = e.useCallback(() => {
406
- !N || !u || N(
407
- Ae ? [] : u.map((z) => z._index).filter((z) => !E?.includes(z))
406
+ !I || !u || I(
407
+ Ae ? [] : u.map((U) => U._index).filter((U) => !L?.includes(U))
408
408
  );
409
409
  }, [
410
- N,
410
+ I,
411
411
  u,
412
412
  Ae,
413
- E
413
+ L
414
414
  ]);
415
415
  if (v === we)
416
416
  return /* @__PURE__ */ s(
@@ -482,7 +482,7 @@ const yn = ({ index: n, style: o }) => {
482
482
  ]
483
483
  }
484
484
  ),
485
- ae || S !== Qe.UNAVAILABLE ? /* @__PURE__ */ s(
485
+ ae || R !== Qe.UNAVAILABLE ? /* @__PURE__ */ s(
486
486
  "button",
487
487
  {
488
488
  className: "mig-schema-table__th__trigger-el",
@@ -519,22 +519,22 @@ const yn = ({ index: n, style: o }) => {
519
519
  propIsRequired: p,
520
520
  propName: _,
521
521
  propSchema: f,
522
- translate: E
522
+ translate: L
523
523
  }) => {
524
- const { displayTimezone: C } = e.useContext(Ie), { type: O, format: L, minimum: N, maximum: $ } = f || {}, M = n, D = L === "date-time";
525
- let I, Y;
524
+ const { displayTimezone: C } = e.useContext(Ie), { type: O, format: N, minimum: I, maximum: $ } = f || {}, M = n, D = N === "date-time";
525
+ let S, Y;
526
526
  switch (O) {
527
527
  case "number":
528
528
  case "integer":
529
- return I = M || {}, Y = (b, u, r) => {
529
+ return S = M || {}, Y = (b, u, r) => {
530
530
  const g = {
531
- ...I,
531
+ ...S,
532
532
  [b]: u.value === "" ? void 0 : parseInt(u.value)
533
533
  }, oe = Object.values(g).find(
534
534
  (W) => isFinite(W)
535
535
  );
536
536
  o(
537
- oe !== void 0 && (N === void 0 || oe >= N) ? g : void 0,
537
+ oe !== void 0 && (I === void 0 || oe >= I) ? g : void 0,
538
538
  r
539
539
  );
540
540
  }, /* @__PURE__ */ B("ol", { className: "mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component", children: [
@@ -545,9 +545,9 @@ const yn = ({ index: n, style: o }) => {
545
545
  {
546
546
  type: "checkbox",
547
547
  style: { marginRight: 14 },
548
- checked: !!I.filterEmpty,
548
+ checked: !!S.filterEmpty,
549
549
  onChange: () => {
550
- const { filterEmpty: b, ...u } = I;
550
+ const { filterEmpty: b, ...u } = S;
551
551
  b || (u.filterEmpty = !0), o(
552
552
  Object.keys(u).length ? u : void 0,
553
553
  !0
@@ -560,7 +560,7 @@ const yn = ({ index: n, style: o }) => {
560
560
  /* @__PURE__ */ s("hr", {})
561
561
  ] }),
562
562
  Object.keys(pe).map((b) => {
563
- const u = I[b];
563
+ const u = S[b];
564
564
  return /* @__PURE__ */ B("li", { children: [
565
565
  /* @__PURE__ */ s("label", { style: { width: 40, paddingLeft: 16 }, children: Dn[b] }),
566
566
  /* @__PURE__ */ s(
@@ -586,7 +586,7 @@ const yn = ({ index: n, style: o }) => {
586
586
  );
587
587
  },
588
588
  onKeyDown: h,
589
- min: N,
589
+ min: I,
590
590
  max: $
591
591
  }
592
592
  )
@@ -607,7 +607,7 @@ const yn = ({ index: n, style: o }) => {
607
607
  menuIsOpen: !0,
608
608
  isClearable: !0,
609
609
  isMulti: !0,
610
- placeholder: E("All"),
610
+ placeholder: L("All"),
611
611
  className: "react-select-container",
612
612
  classNamePrefix: "react-select",
613
613
  value: q,
@@ -633,7 +633,7 @@ const yn = ({ index: n, style: o }) => {
633
633
  if (f?.enum) {
634
634
  const b = f.enum.map((r) => ({
635
635
  value: r,
636
- label: E(r)
636
+ label: L(r)
637
637
  })), u = b.filter(
638
638
  (r) => (M || []).includes(r.value)
639
639
  );
@@ -660,11 +660,11 @@ const yn = ({ index: n, style: o }) => {
660
660
  o(g.length ? g : void 0, !0);
661
661
  },
662
662
  onKeyDown: h,
663
- placeholder: E("Select...")
663
+ placeholder: L("Select...")
664
664
  }
665
665
  ) }) });
666
666
  }
667
- if (D || L === "date") {
667
+ if (D || N === "date") {
668
668
  const b = D ? Ye : $t, u = n || {
669
669
  from: void 0,
670
670
  to: void 0,
@@ -810,21 +810,21 @@ const yn = ({ index: n, style: o }) => {
810
810
  onClose: p,
811
811
  onInputKeyDown: _,
812
812
  propConfig: f,
813
- propIsRequired: E,
813
+ propIsRequired: L,
814
814
  propName: C,
815
815
  propSchema: O,
816
- referenceElement: L,
817
- setFilterSortColumn: N,
816
+ referenceElement: N,
817
+ setFilterSortColumn: I,
818
818
  translate: $,
819
819
  value: M
820
820
  }) => {
821
821
  const D = Dt({
822
822
  placement: "bottom-start",
823
823
  elements: {
824
- reference: L
824
+ reference: N
825
825
  },
826
826
  middleware: [xt()]
827
- }), I = Dt({
827
+ }), S = Dt({
828
828
  placement: "right-start",
829
829
  middleware: [xt()]
830
830
  });
@@ -834,7 +834,7 @@ const yn = ({ index: n, style: o }) => {
834
834
  return;
835
835
  let g = r.target;
836
836
  for (; g && D.elements.floating; ) {
837
- if (g === D.elements.floating || g === I.elements.floating)
837
+ if (g === D.elements.floating || g === S.elements.floating)
838
838
  return;
839
839
  g = g.parentNode === window.document ? null : g.parentNode;
840
840
  }
@@ -846,18 +846,18 @@ const yn = ({ index: n, style: o }) => {
846
846
  }, [
847
847
  D.elements.floating,
848
848
  p,
849
- I.elements.floating
849
+ S.elements.floating
850
850
  ]);
851
851
  const Y = f?.FilterMenu || xn, te = e.useCallback(
852
852
  (u) => {
853
- N(C, !0), p(u);
853
+ I(C, !0), p(u);
854
854
  },
855
- [p, C, N]
855
+ [p, C, I]
856
856
  ), q = e.useCallback(
857
857
  (u) => {
858
- N(C, !1), p(u);
858
+ I(C, !1), p(u);
859
859
  },
860
- [p, C, N]
860
+ [p, C, I]
861
861
  ), b = e.useCallback(() => {
862
862
  h(void 0, !0);
863
863
  }, [h]);
@@ -884,7 +884,7 @@ const yn = ({ index: n, style: o }) => {
884
884
  {
885
885
  style: { padding: 8 },
886
886
  onMouseOver: (u) => {
887
- I.refs.setReference(u.currentTarget);
887
+ S.refs.setReference(u.currentTarget);
888
888
  },
889
889
  children: [
890
890
  /* @__PURE__ */ s("span", { className: "mig-schema-table__th-menu__icon", children: /* @__PURE__ */ s(
@@ -905,19 +905,19 @@ const yn = ({ index: n, style: o }) => {
905
905
  ] })
906
906
  }
907
907
  ),
908
- I.elements.reference ? /* @__PURE__ */ s(
908
+ S.elements.reference ? /* @__PURE__ */ s(
909
909
  "div",
910
910
  {
911
911
  className: "mig-schema-table mig-schema-table__th-menu__sub-menu",
912
- ref: I.refs.setFloating,
913
- style: I.floatingStyles,
912
+ ref: S.refs.setFloating,
913
+ style: S.floatingStyles,
914
914
  children: /* @__PURE__ */ s(
915
915
  Y,
916
916
  {
917
917
  columnFilterValue: M,
918
918
  onChange: h,
919
919
  onInputKeyDown: _,
920
- propIsRequired: E,
920
+ propIsRequired: L,
921
921
  propName: C,
922
922
  propSchema: O,
923
923
  translate: $
@@ -932,22 +932,22 @@ const yn = ({ index: n, style: o }) => {
932
932
  setResizeColumnIndex: h,
933
933
  tableBodyHeight: p
934
934
  }) => {
935
- const [_, f] = e.useState(0), E = jt(), C = e.useCallback(
935
+ const [_, f] = e.useState(0), L = jt(), C = e.useCallback(
936
936
  ($) => {
937
937
  const M = n.map(
938
- (D, I) => I === o ? Math.max(D + $, Ot) : D
938
+ (D, S) => S === o ? Math.max(D + $, Ot) : D
939
939
  );
940
- E(M);
940
+ L(M);
941
941
  },
942
- [n, o, E]
942
+ [n, o, L]
943
943
  );
944
944
  let O = 0;
945
- const L = e.useCallback(
945
+ const N = e.useCallback(
946
946
  ($) => {
947
947
  h(parseInt($.currentTarget.dataset.columnIndex)), f($.clientX);
948
948
  },
949
949
  [h]
950
- ), N = e.useCallback(
950
+ ), I = e.useCallback(
951
951
  ($) => {
952
952
  C($.clientX - _), f(0), h(-1);
953
953
  },
@@ -963,8 +963,8 @@ const yn = ({ index: n, style: o }) => {
963
963
  className: D.join(" "),
964
964
  draggable: "true",
965
965
  "data-column-index": M,
966
- onDragStart: L,
967
- onDragEnd: N
966
+ onDragStart: N,
967
+ onDragEnd: I
968
968
  },
969
969
  M
970
970
  );
@@ -978,10 +978,10 @@ const yn = ({ index: n, style: o }) => {
978
978
  if (!n)
979
979
  return;
980
980
  const _ = new ResizeObserver((f) => {
981
- for (const E of f) {
982
- const { blockSize: C, inlineSize: O } = E.borderBoxSize[0];
981
+ for (const L of f) {
982
+ const { blockSize: C, inlineSize: O } = L.borderBoxSize[0];
983
983
  p(
984
- (L) => O && C && (L.width !== O || L.height !== C) ? { width: O, height: C } : L
984
+ (N) => O && C && (N.width !== O || N.height !== C) ? { width: O, height: C } : N
985
985
  );
986
986
  }
987
987
  });
@@ -1009,7 +1009,7 @@ const yn = ({ index: n, style: o }) => {
1009
1009
  ])
1010
1010
  ), p.getRow(1).font = { bold: !0 }, p.addRows(
1011
1011
  n.map((_) => {
1012
- const { _index: f, SELECT_ALL_COLUMN_NAME: E, ...C } = _;
1012
+ const { _index: f, SELECT_ALL_COLUMN_NAME: L, ...C } = _;
1013
1013
  return Object.values(C);
1014
1014
  })
1015
1015
  ), h.xlsx.writeBuffer().then((_) => {
@@ -1043,15 +1043,15 @@ const Rn = ({
1043
1043
  autoRender: p,
1044
1044
  checkedIndexes: _,
1045
1045
  config: f,
1046
- customElementProps: E,
1046
+ customElementProps: L,
1047
1047
  data: C,
1048
1048
  defaultColumnFilters: O,
1049
- defaultSortAsc: L = !1,
1050
- defaultSortColumn: N,
1049
+ defaultSortAsc: N = !1,
1050
+ defaultSortColumn: I,
1051
1051
  disabledCheckedIndexes: $,
1052
1052
  displayTimezone: M,
1053
1053
  enableAutoFocus: D = !0,
1054
- enableRowCounter: I = !0,
1054
+ enableRowCounter: S = !0,
1055
1055
  getRowClassName: Y,
1056
1056
  getRowSelected: te,
1057
1057
  getSearchQueryFilterResult: q,
@@ -1067,7 +1067,7 @@ const Rn = ({
1067
1067
  maxHeight: J,
1068
1068
  onRowClick: ne,
1069
1069
  onRowDoubleClick: re,
1070
- onRowOrderChange: S,
1070
+ onRowOrderChange: R,
1071
1071
  onSearchEnter: ae,
1072
1072
  onTableDataStateChange: Z,
1073
1073
  onFilteredSortedDataChange: ue,
@@ -1081,30 +1081,30 @@ const Rn = ({
1081
1081
  useFilterStateHash: x,
1082
1082
  width: Q
1083
1083
  }, Me) => {
1084
- const [Se, ze] = e.useState(), [Re, Ae] = e.useState(), [Ke, $e] = e.useState(-1), [z, fe] = e.useState(-1), [ye, ke] = e.useState(-1), H = C instanceof Function, [_e, Oe] = e.useState(
1084
+ const [Se, ze] = e.useState(), [Re, Ae] = e.useState(), [Ke, $e] = e.useState(-1), [U, fe] = e.useState(-1), [ye, ke] = e.useState(-1), H = C instanceof Function, [_e, Oe] = e.useState(
1085
1085
  H ? void 0 : ct(C)
1086
1086
  ), [X, et] = e.useState(), [Ft, Bt] = e.useState(), [y, tt] = e.useState(
1087
1087
  H ? void 0 : C
1088
1088
  ), [De, nt] = e.useState(), [c, xe] = e.useState({
1089
1089
  searchQuery: "",
1090
1090
  columnFilterMap: O || {},
1091
- sortColumn: N,
1092
- sortAsc: L
1093
- }), [U, Qt] = e.useState(
1091
+ sortColumn: I,
1092
+ sortAsc: N
1093
+ }), [P, Qt] = e.useState(
1094
1094
  x ? wt(window.location.hash) : null
1095
1095
  );
1096
1096
  e.useEffect(() => {
1097
1097
  H || (tt(C), Oe(ct(C)));
1098
1098
  }, [C, H]), e.useEffect(() => {
1099
1099
  !H || y !== void 0 || C(
1100
- U && Object.keys(U).length !== 0 ? {
1101
- ...U,
1102
- columnFilterMap: U.columnFilterMap || {}
1100
+ P && Object.keys(P).length !== 0 ? {
1101
+ ...P,
1102
+ columnFilterMap: P.columnFilterMap || {}
1103
1103
  } : c
1104
1104
  ).then((t) => {
1105
1105
  tt(t), Oe(ct(t));
1106
1106
  });
1107
- }, [C, H, U, y, c]), e.useEffect(() => {
1107
+ }, [C, H, P, y, c]), e.useEffect(() => {
1108
1108
  De || nt(c);
1109
1109
  }, [c, De]), e.useEffect(() => {
1110
1110
  if (!x)
@@ -1120,16 +1120,16 @@ const Rn = ({
1120
1120
  dt.current = O, e.useEffect(() => {
1121
1121
  if (!x)
1122
1122
  return;
1123
- const { columnFilterMap: t, searchQuery: a, sortAsc: l, sortColumn: i } = U || {}, d = {
1123
+ const { columnFilterMap: t, searchQuery: a, sortAsc: l, sortColumn: i } = P || {}, d = {
1124
1124
  searchQuery: a || "",
1125
1125
  columnFilterMap: t || dt.current || {},
1126
- sortAsc: l === void 0 ? L : l,
1127
- sortColumn: i === void 0 ? N : i
1126
+ sortAsc: l === void 0 ? N : l,
1127
+ sortColumn: i === void 0 ? I : i
1128
1128
  };
1129
1129
  xe(
1130
1130
  (k) => Xe(d, k) ? k : d
1131
1131
  );
1132
- }, [U, x, L, N]), e.useEffect(() => {
1132
+ }, [P, x, N, I]), e.useEffect(() => {
1133
1133
  Z && Z(c);
1134
1134
  }, [Z, c]);
1135
1135
  const Ue = e.useRef(null), mt = e.useRef(null), ht = e.useRef(null), Pe = It(mt.current), ft = It(
@@ -1289,68 +1289,68 @@ const Rn = ({
1289
1289
  );
1290
1290
  return;
1291
1291
  }
1292
- const me = ie[k], R = y[i._index]?.[k];
1292
+ const me = ie[k], E = y[i._index]?.[k];
1293
1293
  switch (me?.type) {
1294
1294
  case "boolean":
1295
1295
  if (m === void 0)
1296
1296
  return;
1297
1297
  if (Array.isArray(m) && m.length) {
1298
1298
  m.includes(
1299
- R === void 0 ? null : R
1299
+ E === void 0 ? null : E
1300
1300
  ) || (d = !1);
1301
1301
  return;
1302
1302
  }
1303
- d = R === m;
1303
+ d = E === m;
1304
1304
  break;
1305
1305
  case "number":
1306
1306
  case "integer":
1307
1307
  if (m && typeof m == "object") {
1308
- m.filterEmpty && R === void 0 && (d = !1);
1309
- for (const P of Object.keys(
1308
+ m.filterEmpty && E === void 0 && (d = !1);
1309
+ for (const z of Object.keys(
1310
1310
  pe
1311
1311
  )) {
1312
- const ge = m[P];
1312
+ const ge = m[z];
1313
1313
  if (d && hn(ge))
1314
- switch (P) {
1314
+ switch (z) {
1315
1315
  case pe.EQ:
1316
- R !== ge && (d = !1);
1316
+ E !== ge && (d = !1);
1317
1317
  break;
1318
1318
  case pe.GT:
1319
- R <= ge && (d = !1);
1319
+ E <= ge && (d = !1);
1320
1320
  break;
1321
1321
  case pe.LT:
1322
- R >= ge && (d = !1);
1322
+ E >= ge && (d = !1);
1323
1323
  break;
1324
1324
  }
1325
1325
  }
1326
1326
  } else {
1327
- if (R === void 0 && m === null)
1327
+ if (E === void 0 && m === null)
1328
1328
  return !0;
1329
- d = R === m;
1329
+ d = E === m;
1330
1330
  }
1331
1331
  break;
1332
1332
  // @ts-expect-error investigate
1333
1333
  case "string":
1334
1334
  if (typeof m == "object" && !Array.isArray(m) && (me.format === "date" || me.format === "date-time")) {
1335
- const { from: P, to: ge, filterEmpty: _t } = m;
1336
- if (!R)
1335
+ const { from: z, to: ge, filterEmpty: _t } = m;
1336
+ if (!E)
1337
1337
  d = !_t;
1338
1338
  else {
1339
- const qe = R ? new Date(R) : void 0;
1340
- (_t === !1 || P && (!qe || qe < P) || ge && (!qe || qe > ge)) && (d = !1);
1339
+ const qe = E ? new Date(E) : void 0;
1340
+ (_t === !1 || z && (!qe || qe < z) || ge && (!qe || qe > ge)) && (d = !1);
1341
1341
  }
1342
1342
  return;
1343
1343
  }
1344
1344
  // fall through
1345
1345
  default:
1346
1346
  if (me?.enum) {
1347
- Array.isArray(m) ? d = m.includes(R) : d = R === m;
1347
+ Array.isArray(m) ? d = m.includes(E) : d = E === m;
1348
1348
  return;
1349
1349
  }
1350
1350
  if (Array.isArray(m)) {
1351
- const P = `${i[k]}`.toLowerCase();
1351
+ const z = `${i[k]}`.toLowerCase();
1352
1352
  d = m.some(
1353
- (ge) => P.includes(`${ge}`.toLowerCase())
1353
+ (ge) => z.includes(`${ge}`.toLowerCase())
1354
1354
  );
1355
1355
  } else
1356
1356
  d = `${i[k]}`.toLowerCase().includes(`${m}`.toLowerCase());
@@ -1376,21 +1376,21 @@ const Rn = ({
1376
1376
  const l = ie[a], i = f ? f[a] : void 0, d = i?.sort;
1377
1377
  if (d)
1378
1378
  return Fe.sort((V, me) => {
1379
- const R = y[V._index], P = y[me._index];
1380
- return R ? P ? d(
1381
- R,
1382
- P,
1383
- t === void 0 ? L : t
1379
+ const E = y[V._index], z = y[me._index];
1380
+ return E ? z ? d(
1381
+ E,
1382
+ z,
1383
+ t === void 0 ? N : t
1384
1384
  ) : -1 : 1;
1385
1385
  });
1386
1386
  const k = l && l.format?.startsWith("date"), m = Sn(l, i);
1387
1387
  return Fe.sort((V, me) => {
1388
- let R = m && y[V._index] ? y[V._index][a] : `${V[a]}`.toLowerCase(), P = m && y[me._index] ? y[me._index][a] : `${me[a]}`.toLowerCase();
1389
- return m && k && (R = new Date(R), isNaN(R.getTime()) && (R = St), P = new Date(P), isNaN(P.getTime()) && (P = St)), R === P ? 0 : R ? P ? (R < P ? 1 : -1) * (t ? -1 : 1) : t ? 1 : -1 : t ? -1 : 1;
1388
+ let E = m && y[V._index] ? y[V._index][a] : `${V[a]}`.toLowerCase(), z = m && y[me._index] ? y[me._index][a] : `${me[a]}`.toLowerCase();
1389
+ return m && k && (E = new Date(E), isNaN(E.getTime()) && (E = St), z = new Date(z), isNaN(z.getTime()) && (z = St)), E === z ? 0 : E == null ? t ? -1 : 1 : z == null ? t ? 1 : -1 : (E < z ? 1 : -1) * (t ? -1 : 1);
1390
1390
  });
1391
1391
  }, [
1392
1392
  f,
1393
- L,
1393
+ N,
1394
1394
  Fe,
1395
1395
  H,
1396
1396
  ie,
@@ -1405,9 +1405,9 @@ const Rn = ({
1405
1405
  ...k,
1406
1406
  sortColumn: void 0,
1407
1407
  sortAsc: void 0
1408
- })), S?.(l.map((k) => y[k]));
1408
+ })), R?.(l.map((k) => y[k]));
1409
1409
  },
1410
- [F, y, S]
1410
+ [F, y, R]
1411
1411
  );
1412
1412
  e.useImperativeHandle(
1413
1413
  Me,
@@ -1438,7 +1438,7 @@ const Rn = ({
1438
1438
  (t, a) => {
1439
1439
  if (x) {
1440
1440
  window.location.hash = He({
1441
- ...U,
1441
+ ...P,
1442
1442
  sortColumn: t,
1443
1443
  sortAsc: a
1444
1444
  });
@@ -1446,7 +1446,7 @@ const Rn = ({
1446
1446
  }
1447
1447
  xe({ ...c, sortColumn: t, sortAsc: a });
1448
1448
  },
1449
- [c, U, x]
1449
+ [c, P, x]
1450
1450
  ), Pt = e.useCallback(
1451
1451
  (t) => {
1452
1452
  xe({
@@ -1459,12 +1459,12 @@ const Rn = ({
1459
1459
  nt(c), tt(void 0);
1460
1460
  }, [c]);
1461
1461
  e.useEffect(() => {
1462
- if (!p || !U || !De || !x)
1462
+ if (!p || !P || !De || !x)
1463
1463
  return;
1464
- const t = Object.keys(U);
1464
+ const t = Object.keys(P);
1465
1465
  let a = !1;
1466
1466
  for (const l of t) {
1467
- const i = U[l], d = De[l];
1467
+ const i = P[l], d = De[l];
1468
1468
  if (typeof i == "string" && i !== d) {
1469
1469
  a = !0;
1470
1470
  break;
@@ -1477,7 +1477,7 @@ const Rn = ({
1477
1477
  a && Le();
1478
1478
  }, [
1479
1479
  p,
1480
- U,
1480
+ P,
1481
1481
  De,
1482
1482
  Le,
1483
1483
  x
@@ -1520,7 +1520,7 @@ const Rn = ({
1520
1520
  return;
1521
1521
  if (x && a !== !1) {
1522
1522
  window.location.hash = He({
1523
- ...U,
1523
+ ...P,
1524
1524
  columnFilterMap: {
1525
1525
  ...c.columnFilterMap,
1526
1526
  [X.propName]: t
@@ -1544,7 +1544,7 @@ const Rn = ({
1544
1544
  [
1545
1545
  bt,
1546
1546
  c,
1547
- U,
1547
+ P,
1548
1548
  X,
1549
1549
  x
1550
1550
  ]
@@ -1553,18 +1553,18 @@ const Rn = ({
1553
1553
  searchQuery: "",
1554
1554
  columnFilterMap: {},
1555
1555
  // Clear button should clear _ALL_ filters, do _NOT_ revert to defaultColumnFilters
1556
- sortColumn: N,
1557
- sortAsc: L
1556
+ sortColumn: I,
1557
+ sortAsc: N
1558
1558
  };
1559
1559
  x && (window.location.hash = He(t)), nt(t), xe(t);
1560
- }, [x, L, N]), qt = e.useCallback(() => {
1561
- const t = U?.searchQuery || "";
1560
+ }, [x, N, I]), qt = e.useCallback(() => {
1561
+ const t = P?.searchQuery || "";
1562
1562
  x && // prevent hash change for undefined vs empty string compare
1563
1563
  (c.searchQuery || t) && c.searchQuery !== t && (window.location.hash = He({
1564
- ...U,
1564
+ ...P,
1565
1565
  searchQuery: c.searchQuery
1566
1566
  }));
1567
- }, [U, c.searchQuery, x]), Ht = e.useCallback(
1567
+ }, [P, c.searchQuery, x]), Ht = e.useCallback(
1568
1568
  async (t) => {
1569
1569
  t.preventDefault(), t.stopPropagation(), F && await Ln(F);
1570
1570
  },
@@ -1687,7 +1687,7 @@ const Rn = ({
1687
1687
  config: f,
1688
1688
  disabledCheckedIndexes: $,
1689
1689
  displayTimezone: M,
1690
- dropTargetIndex: z,
1690
+ dropTargetIndex: U,
1691
1691
  getRowClassName: Y,
1692
1692
  getRowSelected: te,
1693
1693
  isDraggable: u,
@@ -1747,11 +1747,11 @@ const Rn = ({
1747
1747
  n ? /* @__PURE__ */ s(
1748
1748
  n,
1749
1749
  {
1750
- ...E,
1750
+ ...L,
1751
1751
  renderData: ot
1752
1752
  }
1753
1753
  ) : /* @__PURE__ */ s("div", { className: "mig-schema-table__custom_element_placeholder" }),
1754
- I && Array.isArray(C) ? /* @__PURE__ */ s("span", { className: "mig-schema-table__row_counter", children: A(
1754
+ S && Array.isArray(C) ? /* @__PURE__ */ s("span", { className: "mig-schema-table__row_counter", children: A(
1755
1755
  "showingFilteredCountOfTotalCount",
1756
1756
  F?.length || 0,
1757
1757
  C.length
@@ -1849,20 +1849,20 @@ const Rn = ({
1849
1849
  }
1850
1850
  );
1851
1851
  }, $n = e.forwardRef(Rn), Vn = e.memo($n), Yn = e.memo(({ refresh: n, period: o = 60 }) => {
1852
- const [h, p] = e.useState(/* @__PURE__ */ new Date()), [_, f] = e.useState(/* @__PURE__ */ new Date()), E = e.useCallback(() => {
1852
+ const [h, p] = e.useState(/* @__PURE__ */ new Date()), [_, f] = e.useState(/* @__PURE__ */ new Date()), L = e.useCallback(() => {
1853
1853
  f(/* @__PURE__ */ new Date()), n();
1854
1854
  }, [n]), C = e.useMemo(
1855
1855
  () => an(h, _),
1856
1856
  [h, _]
1857
1857
  );
1858
1858
  e.useEffect(() => {
1859
- C > o && E();
1860
- }, [C, h, _, o, E]), e.useEffect(() => {
1861
- const N = setInterval(() => {
1859
+ C > o && L();
1860
+ }, [C, h, _, o, L]), e.useEffect(() => {
1861
+ const I = setInterval(() => {
1862
1862
  p(/* @__PURE__ */ new Date());
1863
1863
  }, 1e3);
1864
1864
  return () => {
1865
- clearInterval(N);
1865
+ clearInterval(I);
1866
1866
  };
1867
1867
  }, []);
1868
1868
  const O = o - C;
@@ -1 +1 @@
1
- (function(T,t){typeof exports=="object"&&typeof module<"u"?t(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("react-select"),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","react-select","date-fns/locale/nl","@date-fns/tz","@floating-ui/react-dom","react-window-infinite-loader","file-saver"],t):(T=typeof globalThis<"u"?globalThis:T||self,t(T["mig-schema-table"]={},T.jsxRuntime,T.React,T.ReactDOM,T.reactWindow,T.dateFns,T.locale,T.migDataTools,T.lodash,T.DatePicker,T.Select,T.nl,T.tz,T.reactDom,T.InfiniteLoader,T.fileSaver))})(this,(function(T,t,e,jt,Ke,Re,Ft,W,me,mt,gt,bt,qe,Ze,Bt,zt){"use strict";function Qt(r){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const d in r)if(d!=="default"){const p=Object.getOwnPropertyDescriptor(r,d);Object.defineProperty(o,d,p.get?p:{enumerable:!0,get:()=>r[d]})}}return o.default=r,Object.freeze(o)}const Ut=Qt(e),et=(r,o)=>Re.format(r,o,{locale:Ft.nl}).replace(".",""),qt={"Europe/Amsterdam":"AMS","Europe/Berlin":"AMS","Asia/Jakarta":"JKT","Asia/Bangkok":"JKT",showingFilteredCountOfTotalCount:"Showing {0} of {1}"};function pt(r,...o){let d=qt[r]||W.unCamel(r);return o.forEach((p,_)=>{d=d.replace(`{${_}}`,`${p}`)}),d}const R="SELECT_ALL_COLUMN_NAME",_t=40,Ce="__drag_handle__",Ct=32,tt="dd MMM yyyy",Oe="dd MMM yyyy HH:mm",nt=25,wt=50,yt=3;var ge=(r=>(r.GT="GT",r.LT="LT",r.EQ="EQ",r))(ge||{});const vt=new Map([[!0,"✓"],[!1,"✕"],[null,"?"]]);var Ee=(r=>(r.UNAVAILABLE="UNAVAILABLE",r.AVAILABLE="AVAILABLE",r.ACTIVE="ACTIVE",r))(Ee||{});const Ae=Ut.createContext({checkedIndexes:[],columnNames:[],columnWidths:new Uint16Array,config:{},disabledCheckedIndexes:[],dropTargetIndex:-1,isDraggable:!1,isColumnFilterable:!1,isItemLoaded:()=>!1,isSortable:!1,onRowDrop:W.emptyFn,properties:{},required:[],rowDropTargetRowIndex:-1,setCustomColumnNames:W.emptyFn,setCustomColumnWidths:W.emptyFn,setDropTargetIndex:W.emptyFn,setFilterSortColumn:W.emptyFn,setLastCheckChangedRowIndex:W.emptyFn,setMenuConfig:W.emptyFn,setRowDropTargetRowIndex:W.emptyFn,tableDataState:{searchQuery:"",columnFilterMap:{},sortColumn:"",sortAsc:!1},translate:W.emptyFn}),Zt={type:"boolean"},Pt=({columnIndex:r,rowIndex:o,style:d})=>{const{checkedIndexes:p,columnNames:_,config:m,disabledCheckedIndexes:L,displayTimezone:C,getRowClassName:F,getRowSelected:N,isItemLoaded:I,lastCheckChangedRowIndex:j,onRowClick:E,onRowDoubleClick:x,onRowDrop:S,properties:ee,rowDropTargetRowIndex:ne,setCheckedIndexes:X,setLastCheckChangedRowIndex:b,setRowDropTargetRowIndex:u,sortedRenderData:s,sourceData:g,translate:ae}=e.useContext(Ae),B=_[r],de=B===R?Zt:ee[B],H=m?m[B]:void 0,y=e.useCallback(w=>{X&&X(M=>M&&M.includes(w)?M.filter(D=>D!==w):M?[...M,w]:[w])},[X]),J=I(o),re=e.useCallback(w=>{if(!g||!s||!E||!J)return;const{rowIndex:M}=w.currentTarget.dataset;if(!M)return;const A=s[parseInt(M,10)];E(g[A._index],A._index,w)},[J,E,s,g]),se=e.useCallback(w=>{if(!g||!s||!x||!J)return;const{rowIndex:M}=w.currentTarget.dataset;if(!M)return;const A=s[parseInt(M,10)];x(g[A._index],A._index,w)},[J,x,s,g]),O=s?s[o]:void 0,{showTimezones:ie,TdBody:G}=H||{},ue=e.useMemo(()=>C?null:W.timeZone.startsWith("Europe/")?"Asia/Jakarta":"Europe/Amsterdam",[C]),z=e.useMemo(()=>{if(!O||!s)return;let w=B===R?void 0:O[B];if(de?.format&&de.format==="date-time"&&ie!==!1){const A=g?g[O._index]:void 0,D=A?A[B]:void 0,U=D?new Date(D):void 0;U&&ue&&(w=`${W.localeFormatInTimeZone(U,ue,Oe)} (${ae(ue)})`)}const M=["mig-schema-table__td",`mig-schema-table__td--${o%2?"odd":"even"}`,`mig-schema-table__td--prop-${B}`];switch(o===ne&&M.push("mig-schema-table__td--row-drop-target"),g&&N&&N(g[O._index],O._index)&&M.push("mig-schema-table__td--selected"),g&&F&&M.push(F(g[O._index],O._index,s)),de?.type){case"boolean":M.push(`text-${H?.align||"center"}`);break;case"number":case"integer":M.push(`text-${H?.align||"end"}`);break;default:H?.align&&M.push(`text-${H.align}`)}return{"data-row-index":o,"data-column-index":r,style:d,className:M.join(" "),title:w,onClick:B===R?void 0:re,onDoubleClick:B===R?void 0:se}},[O,s,B,de,ie,o,ne,g,N,F,r,d,re,se,ue,ae,H]),be=e.useCallback(w=>{if(!y||!O)return;const M=parseInt(w.currentTarget.dataset.rowIndex);if(w.shiftKey&&j!==void 0){const A=p?.includes(j)?j:void 0;if(A!==void 0&&s){const D=o;for(const U of me.range(D>A?A+1:D,D>A?D+1:A)){const Le=s[U]._index;(!L||!L.includes(Le))&&y(Le)}}}else y(O._index);b(M),ve.current?.focus()},[p,L,j,y,O,o,b,s]),ve=e.useRef(null);if(!O||!z)return null;if(!I||g&&!g[O._index])return t.jsx("div",{...z,children:"loading"});if(B===Ce)return t.jsx("div",{...z,className:`${z.className} mig-schema-table__td--drag-handle`,draggable:!0,onDragStart:w=>{w.dataTransfer.effectAllowed="move",w.dataTransfer.setData("row-drag-index",String(o))},onDragOver:w=>{w.preventDefault(),w.dataTransfer.dropEffect="move",u(o)},onDragEnd:()=>u(-1),onDrop:w=>{w.preventDefault(),u(-1);const M=parseInt(w.dataTransfer.getData("row-drag-index"),10);isNaN(M)||S(M,o)},children:t.jsx("span",{className:"mig-schema-table__td--drag-handle__icon",children:"⠿"})});if(B===R)return t.jsx("div",{...z,onMouseDown:be,children:t.jsx("div",{style:{textAlign:"center"},children:t.jsx("input",{ref:ve,type:"checkbox",readOnly:!0,checked:p?.includes(O._index),disabled:L?.includes(O._index)})})});if(G&&g)return t.jsx("div",{...z,children:t.jsx(G,{dataIndex:O._index,rowData:g[O._index],rowIndex:o,...H?.tdBodyProps})});const oe=O[B];return de?.format==="url"&&oe?t.jsx("a",{href:oe,target:"_blank",rel:"noopener noreferrer",...z,children:oe}):t.jsx("div",{...z,children:oe})},kt=e.memo(Pt);function Jt(){const{checkedIndexes:r,disabledCheckedIndexes:o,sortedRenderData:d}=e.useContext(Ae);return e.useMemo(()=>{const p=[...d||[]].filter(_=>(r?r.includes(_._index):!0)||(o?!o.includes(_._index):!0));return r?.length!==0&&p.length===r?.length},[r,o,d])}function xt(r,o,d){return!!(r&&d?.isSortable!==!1&&(o||d?.renderData||d?.sort))}function Dt(){const{setCustomColumnWidths:r,settingsStorageKey:o}=e.useContext(Ae);return e.useCallback(d=>{o&&localStorage.setItem(`${o}.columnWidths`,JSON.stringify(Array.from(d))),r(d)},[r,o])}const Ht=({index:r,style:o})=>{const{checkedIndexes:d,columnNames:p,columnWidths:_,config:m,disabledCheckedIndexes:L,dropTargetIndex:C,isColumnFilterable:F,isSortable:N,setCheckedIndexes:I,properties:j,required:E,setCustomColumnNames:x,setDropTargetIndex:S,setFilterSortColumn:ee,setMenuConfig:ne,settingsStorageKey:X,tableDataState:b,sortedRenderData:u,translate:s,displayTimezone:g}=e.useContext(Ae),[ae,B]=e.useState(!1),de=r===C,H=Dt(),y=p[r],J=y===R?{type:"boolean"}:j[y],re=b.sortColumn===y?b.sortAsc:void 0,se=m?m[y]:void 0;let O=F&&(J||se?.FilterMenu)&&se?.isFilterable!==!1?Ee.AVAILABLE:Ee.UNAVAILABLE;b.columnFilterMap&&b.columnFilterMap[y]!==void 0&&(O=Ee.ACTIVE);const ie=xt(N,J,se),G=["mig-schema-table__th",`mig-schema-table__th--filter-${O}`,`mig-schema-table__th--prop-${y}`];G.push(ie?"mig-schema-table__th--sortable":"mig-schema-table__th--unsortable"),re!==void 0&&G.push("mig-schema-table__th--sorted"),ae&&G.push("mig-schema-table__th--dragging"),de&&G.push("mig-schema-table__th--drop-target");const{format:ue}=J||{},{align:z,defaultSortDesc:be,showTimezones:ve=!g,title:oe}=se||{},w=e.useCallback(()=>{if(ie){if(re===void 0){ee(y,!be);return}ee(y,!re)}},[ie,be,y,ee,re]),M=E.includes(y),A=e.useCallback(q=>{const pe=q.currentTarget;ne(ke=>{if(ke?.propName!==y)return{propConfig:se,propIsRequired:M,propName:y,referenceElement:pe}})},[se,M,y,ne]),D=e.useMemo(()=>oe!==void 0?oe:ue==="date-time"&&ve?`${s(y)} (${s(g||W.timeZone)})`:s(y),[oe,ue,ve,s,y,g]),U=e.useCallback((q,pe)=>{if(!p||!_)return;const ke=p.indexOf(q),xe=[...p];xe.splice(ke,1);const V=xe.indexOf(pe);xe.splice(V+1,0,q),x(xe);const we=[..._],Fe=we[ke];we.splice(ke,1),we.splice(V+1,0,Fe),H(new Uint16Array(we)),X&&localStorage.setItem(`${X}.columnNames`,JSON.stringify(xe))},[p,_,H,X,x]),Le=e.useCallback(q=>{U&&(B(!0),q.dataTransfer.effectAllowed="move",q.dataTransfer.dropEffect="move",q.dataTransfer.setData("text/plain",y))},[U,y]),$e=e.useCallback(()=>{U&&(B(!1),S(-1))},[U,S]),Pe=e.useCallback(q=>{U&&(q.preventDefault(),S(r))},[r,U,S]),We=e.useCallback(q=>{if(S(-1),!U||!y)return;const pe=q.dataTransfer.getData("text/plain");!pe||pe===y||U(pe,y)},[U,y,S]),Ne=Jt(),st=e.useCallback(()=>{!I||!u||I(Ne?[]:u.map(q=>q._index).filter(q=>!L?.includes(q)))},[I,u,Ne,L]);if(y===Ce)return t.jsx("div",{style:o,className:"mig-schema-table__th mig-schema-table__th--drag-handle"});if(y===R)return t.jsx("div",{style:o,className:G.join(" "),children:t.jsx("div",{style:{width:"100%",textAlign:"center"},title:`${d?.length||0} selected`,children:t.jsx("input",{type:"checkbox",name:"selectAll",checked:Ne,onChange:st})})});switch(J?.type){case"boolean":G.push(`text-${z||"center"}`,`justify-content-${z||"center"}`);break;case"integer":case"number":G.push(`text-${z||"end"}`,`justify-content-${z||"end"}`);break;default:z&&G.push(`text-${z}`)}let je=se?.hoverTitle;return!je&&typeof D=="string"&&(je=D),t.jsxs("div",{className:G.join(" "),style:o,title:je,draggable:!0,onDragStart:Le,onDragEnd:$e,onDragOver:Pe,onDrop:We,children:[t.jsxs("div",{className:"mig-schema-table__th__label-body",style:{lineHeight:"44px"},onClick:w,children:[t.jsx("span",{className:"mig-schema-table__th__label-body-text",children:D}),re===void 0?null:t.jsx("span",{className:"mig-schema-table__th__sort-icon",children:re?"↓":"↑"})]}),ie||O!==Ee.UNAVAILABLE?t.jsx("button",{className:"mig-schema-table__th__trigger-el",onClick:A,children:t.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:t.jsx("polyline",{points:"6 9 12 15 18 9"})})}):null]})},Mt=e.memo(Ht),Gt={[ge.GT]:">",[ge.LT]:"<",[ge.EQ]:"="},Xt=e.memo(({columnFilterValue:r,onChange:o,onInputKeyDown:d,propIsRequired:p,propName:_,propSchema:m,translate:L})=>{const{displayTimezone:C}=e.useContext(Ae),{type:F,format:N,minimum:I,maximum:j}=m||{},E=r,x=N==="date-time";let S,ee;switch(F){case"number":case"integer":return S=E||{},ee=(b,u,s)=>{const g={...S,[b]:u.value===""?void 0:parseInt(u.value)},ae=Object.values(g).find(B=>isFinite(B));o(ae!==void 0&&(I===void 0||ae>=I)?g:void 0,s)},t.jsxs("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:[p?null:t.jsxs("li",{style:{padding:8},children:[t.jsxs("label",{className:"d-flex",children:[t.jsx("input",{type:"checkbox",style:{marginRight:14},checked:!!S.filterEmpty,onChange:()=>{const{filterEmpty:b,...u}=S;b||(u.filterEmpty=!0),o(Object.keys(u).length?u:void 0,!0)}}),"Hide empty values"]}),t.jsx("hr",{})]}),Object.keys(ge).map(b=>{const u=S[b];return t.jsxs("li",{children:[t.jsx("label",{style:{width:40,paddingLeft:16},children:Gt[b]}),t.jsx("input",{className:"form-control",style:{width:120},type:"number",value:u!==void 0?u:"","data-prop-name":_,onChange:s=>{ee(b,s.currentTarget,!1)},onBlur:s=>{ee(b,s.currentTarget,!0)},onKeyDown:d,min:I,max:j})]},b)})]});case"boolean":const ne=[!0,!1];p||ne.push(null);const X=E?E.map(b=>({value:b,label:vt.get(b)})):null;return t.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:t.jsx("li",{children:t.jsx(gt,{autoFocus:!0,menuIsOpen:!0,isClearable:!0,isMulti:!0,placeholder:L("All"),className:"react-select-container",classNamePrefix:"react-select",value:X,options:ne.map(b=>({value:b,label:vt.get(b)})),styles:{menu:b=>({...b,marginTop:0})},onChange:b=>{const u=b&&b.length?b.map(({value:s})=>s):void 0;o(u,!0)},onKeyDown:d})})});case"string":if(m?.enum){const b=m.enum.map(s=>({value:s,label:L(s)})),u=b.filter(s=>(E||[]).includes(s.value));return t.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:t.jsx("li",{children:t.jsx(gt,{isMulti:!0,autoFocus:!0,menuIsOpen:!0,className:"react-select-container",classNamePrefix:"react-select",value:u,options:b,styles:{menu:s=>({...s,marginTop:0})},onChange:s=>{const g=s?s.map(ae=>ae.value):[];o(g.length?g:void 0,!0)},onKeyDown:d,placeholder:L("Select...")})})})}if(x||N==="date"){const b=x?Oe:tt,u=r||{from:void 0,to:void 0,filterEmpty:void 0};return t.jsxs("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:[p?null:t.jsxs("li",{style:{padding:8},children:[t.jsxs("label",{className:"d-flex",children:[t.jsx("input",{type:"checkbox",checked:!!u.filterEmpty,onChange:()=>{const{filterEmpty:s,...g}=u;s||(g.filterEmpty=!0),o(Object.keys(g).length?g:void 0,!0)}}),"Hide empty values"]}),t.jsx("hr",{})]}),t.jsxs("li",{style:{padding:8},children:[t.jsx("label",{style:{width:120,paddingLeft:4},children:"After"}),t.jsx(mt,{dateFormat:b,"data-prop-name":_,locale:bt.nl,selected:u.from?new qe.TZDate(u.from).withTimeZone(C||W.timeZone):null,onChange:s=>{if(!s&&!u.to){o(void 0,!0);return}if(u.to&&s&&s>u.to)return;const g=s?qe.TZDate.tz(C||W.timeZone,s):void 0;o({...r,from:g},!0)},placeholderText:b,isClearable:!0,selectsStart:!0,showTimeSelect:x,showTimeInput:x,showMonthDropdown:!0,showYearDropdown:!0,timeIntervals:15,shouldCloseOnSelect:!x})]}),t.jsxs("li",{style:{padding:8},children:[t.jsx("label",{style:{width:120,paddingLeft:4},children:"Before"}),t.jsx(mt,{id:"filter-date",dateFormat:b,"data-prop-name":_,locale:bt.nl,selectsEnd:!0,selected:u.to?new qe.TZDate(u.to).withTimeZone(C||W.timeZone):null,showMonthDropdown:!0,showYearDropdown:!0,onChange:s=>{if(!s&&!u.from){o(void 0,!0);return}const g=s?x?qe.TZDate.tz(C||W.timeZone,s):Re.endOfDay(s):void 0;u.from&&g&&g<u.from||o({...r,to:g},!0)},placeholderText:b,isClearable:!0,startDate:u.from,endDate:u.to,showTimeInput:x,showTimeSelect:x,timeIntervals:15,shouldCloseOnSelect:!x})]})]})}default:return t.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:t.jsx("li",{children:t.jsx("input",{autoFocus:!0,type:"search",className:"form-control",placeholder:`Search ${_}`,"aria-label":`Search ${_}`,value:Array.isArray(E)?E.join(","):E||"","data-prop-name":_,onChange:b=>{const u=b.currentTarget.value,s=u?u.split(","):[];o((s.length>1?s:s[0])||void 0,!1)},onKeyDown:d,onBlur:b=>{const u=b.currentTarget.value,s=u?u.split(","):[];o((s.length>1?s:s[0])||void 0,!0)}})})})}}),Vt=({isSortable:r,isFilterable:o,onChange:d,onClose:p,onInputKeyDown:_,propConfig:m,propIsRequired:L,propName:C,propSchema:F,referenceElement:N,setFilterSortColumn:I,translate:j,value:E})=>{const x=Ze.useFloating({placement:"bottom-start",elements:{reference:N},middleware:[Ze.flip()]}),S=Ze.useFloating({placement:"right-start",middleware:[Ze.flip()]});e.useEffect(()=>{const u=s=>{if(!x.elements.floating)return;let g=s.target;for(;g&&x.elements.floating;){if(g===x.elements.floating||g===S.elements.floating)return;g=g.parentNode===window.document?null:g.parentNode}p(s)};return window.addEventListener("click",u,{capture:!0}),()=>{window.removeEventListener("click",u,{capture:!0})}},[x.elements.floating,p,S.elements.floating]);const ee=m?.FilterMenu||Xt,ne=e.useCallback(u=>{I(C,!0),p(u)},[p,C,I]),X=e.useCallback(u=>{I(C,!1),p(u)},[p,C,I]),b=e.useCallback(()=>{d(void 0,!0)},[d]);return!r&&!o?null:t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu",ref:x.refs.setFloating,style:x.floatingStyles,children:t.jsxs("ol",{className:"mig-schema-table-menu",children:[r?t.jsxs("li",{onClick:ne,style:{padding:8},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↓"})," ",j("sortAscending")]}):null,r?t.jsxs("li",{onClick:X,style:{padding:8},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↑"})," ",j("sortDescending")]}):null,o?t.jsxs("li",{style:{padding:8},onMouseOver:u=>{S.refs.setReference(u.currentTarget)},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:t.jsx("input",{type:"checkbox",id:"mig-schema-table__th-menu__filters",checked:E!==void 0,disabled:E===void 0,onChange:b})}),t.jsx("label",{htmlFor:"mig-schema-table__th-menu__filters",children:j("filters")}),t.jsx("div",{className:"mig-schema-table__th-menu__sub-menu-indicator"})]}):null]})}),S.elements.reference?t.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu__sub-menu",ref:S.refs.setFloating,style:S.floatingStyles,children:t.jsx(ee,{columnFilterValue:E,onChange:d,onInputKeyDown:_,propIsRequired:L,propName:C,propSchema:F,translate:j})}):null]})},Yt=e.memo(Vt),Kt=({columnWidths:r,resizeColumnIndex:o,setResizeColumnIndex:d,tableBodyHeight:p})=>{const[_,m]=e.useState(0),L=Dt(),C=e.useCallback(j=>{const E=r.map((x,S)=>S===o?Math.max(x+j,nt):x);L(E)},[r,o,L]);let F=0;const N=e.useCallback(j=>{d(parseInt(j.currentTarget.dataset.columnIndex)),m(j.clientX)},[d]),I=e.useCallback(j=>{C(j.clientX-_),m(0),d(-1)},[_,C,d]);return t.jsx("div",{children:[...r].map((j,E)=>{F+=j;const x=["mig-schema-table__column_resizer"];return E===o&&x.push("mig-schema-table__column_resizer--dragged"),t.jsx("div",{style:{left:F-yt,bottom:p},className:x.join(" "),draggable:"true","data-column-index":E,onDragStart:N,onDragEnd:I},E)})})},Tt=r=>{const[o,d]=e.useState({width:0,height:0}),p=e.useMemo(()=>me.debounce(d,100),[]);return e.useEffect(()=>{if(!r)return;const _=new ResizeObserver(m=>{for(const L of m){const{blockSize:C,inlineSize:F}=L.borderBoxSize[0];p(N=>F&&C&&(N.width!==F||N.height!==C)?{width:F,height:C}:N)}});return _.observe(r),()=>{_.disconnect()}},[p,r]),o},Rt=()=>new Promise((r,o)=>{if(window.ExcelJS){r(window.ExcelJS);return}const d=document.createElement("script");d.src="https://cdnjs.cloudflare.com/ajax/libs/exceljs/4.4.0/exceljs.bare.min.js",d.onload=()=>{r(window.ExcelJS)},d.onerror=()=>{o(new Error("Failed to load ExcelJS library"))},document.head.appendChild(d)}),en=async r=>{const{Workbook:o}=await Rt(),d=new o,p=d.addWorksheet("Data");r.length&&(p.addRow(me.difference(Object.keys(r[0]),["_index","SELECT_ALL_COLUMN_NAME"])),p.getRow(1).font={bold:!0},p.addRows(r.map(_=>{const{_index:m,SELECT_ALL_COLUMN_NAME:L,...C}=_;return Object.values(C)})),d.xlsx.writeBuffer().then(_=>{const m=new Blob([_],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});zt.saveAs(m,"export.xlsx")}).catch(_=>{console.error("Error generating Excel file:",_)}))},Et=new Date("1000-01-01 00:00:00Z"),tn=new Intl.NumberFormat("nl-NL"),nn=new Intl.NumberFormat("nl-NL",{style:"currency",currency:"EUR"});function rn(r,o){const{TdBody:d,sortByValue:p}=o||{};if(p!==void 0)return p;if(!r)return!1;const{format:_,type:m}=r;return _?.startsWith("date")||m==="boolean"||m==="integer"||m==="number"||!!d}function rt(r){return r?[...r.keys()]:void 0}const sn=({CustomElement:r,CustomSearchInput:o,Heading:d=Ke.VariableSizeList,autoRender:p,checkedIndexes:_,config:m,customElementProps:L,data:C,defaultColumnFilters:F,defaultSortAsc:N=!1,defaultSortColumn:I,disabledCheckedIndexes:j,displayTimezone:E,enableAutoFocus:x=!0,enableRowCounter:S=!0,getRowClassName:ee,getRowSelected:ne,getSearchQueryFilterResult:X,infiniteLoaderRef:b,isDraggable:u=!1,isColumnFilterable:s=!0,isExportable:g=!0,isResizable:ae=!0,isSearchable:B=!0,isSortable:de=!0,itemCount:H,loadMoreItems:y,maxHeight:J,onRowClick:re,onRowDoubleClick:se,onRowOrderChange:O,onSearchEnter:ie,onTableDataStateChange:G,onFilteredSortedDataChange:ue,rowHeight:z=36,schema:be,searchPlaceholder:ve,setCheckedIndexes:oe,settingsStorageKey:w,style:M,translate:A=pt,useFilterStateHash:D,width:U},Le)=>{const[$e,Pe]=e.useState(),[We,Ne]=e.useState(),[st,je]=e.useState(-1),[q,pe]=e.useState(-1),[ke,xe]=e.useState(-1),V=C instanceof Function,[we,Fe]=e.useState(V?void 0:rt(C)),[Y,ot]=e.useState(),[cn,dn]=e.useState(),[v,at]=e.useState(V?void 0:C),[De,it]=e.useState(),[c,Me]=e.useState({searchQuery:"",columnFilterMap:F||{},sortColumn:I,sortAsc:N}),[Z,un]=e.useState(D?W.parseLocationHash(window.location.hash):null);e.useEffect(()=>{V||(at(C),Fe(rt(C)))},[C,V]),e.useEffect(()=>{!V||v!==void 0||C(Z&&Object.keys(Z).length!==0?{...Z,columnFilterMap:Z.columnFilterMap||{}}:c).then(n=>{at(n),Fe(rt(n))})},[C,V,Z,v,c]),e.useEffect(()=>{De||it(c)},[c,De]),e.useEffect(()=>{if(!D)return;const n=()=>{un(W.parseLocationHash(window.location.hash))};return window.addEventListener("hashchange",n),()=>{window.removeEventListener("hashchange",n)}},[D]);const At=e.useRef(F);At.current=F,e.useEffect(()=>{if(!D)return;const{columnFilterMap:n,searchQuery:a,sortAsc:l,sortColumn:i}=Z||{},h={searchQuery:a||"",columnFilterMap:n||At.current||{},sortAsc:l===void 0?N:l,sortColumn:i===void 0?I:i};Me(k=>me.isEqual(h,k)?k:h)},[Z,D,N,I]),e.useEffect(()=>{G&&G(c)},[G,c]);const Je=e.useRef(null),Lt=e.useRef(null),Nt=e.useRef(null),He=Tt(Lt.current),It=Tt(Nt.current),Be=e.useMemo(()=>U||Math.floor(He.width||0),[He.width,U]),ze=e.useMemo(()=>!me.isEqual(c,De)&&V,[c,De,V]),{properties:le,required:hn}=e.useMemo(()=>({properties:{},required:[],...be}),[be]),Ge=w?localStorage.getItem(`${w}.columnNames`):null,Xe=w?localStorage.getItem(`${w}.columnWidths`):null,te=e.useMemo(()=>{if($e)return $e;const n=Ge?JSON.parse(Ge):void 0;let a=Object.keys(le);if(oe&&a.unshift(R),u&&a.unshift(Ce),m){Object.keys(m).forEach(i=>{a.includes(i)||a.push(i)});const l=Object.entries(m).reduce((i,[h,k])=>(k.hidden&&i.push(h),i),[]);a=a.filter(i=>!l.includes(i)).sort((i,h)=>{let k=m[i]?m[i].order:void 0;k===void 0&&(k=Object.keys(le).findIndex(K=>K===i));let f=m[h]?m[h].order:void 0;return f===void 0&&(f=Object.keys(le).findIndex(K=>K===h)),h===R||i===R||h===Ce||i===Ce?0:k===-1?1:f===-1?-1:k-f})}return n?.length===a.length?n:a},[m,$e,u,oe,le,Ge]),Te=e.useMemo(()=>v&&te?v.map((n,a)=>te.reduce((l,i)=>{const h=le[i],k=m?m[i]:void 0;if(k?.renderData)return l[i]=k.renderData(n,a),l;if(!h||i===R||i===Ce)return l[i]="",l;const f=n?n[i]:"";switch(h.type){case"array":return l[i]=h.items?.type==="string"&&f?f.map(K=>A(K)).join(", "):JSON.stringify(f),l;case"boolean":return l[i]=f===void 0?"?":f?"✓":"✕",l;case"number":case"integer":return f===void 0?(l[i]="",l):(l[i]=h.format==="currency"?nn.format(f):tn.format(f),l);case"string":if(h.format==="date"&&f)return l[i]=["2999-12-31","1970-01-01"].includes(f)?"-":et(new Date(f),k?.dateFormat||tt),l;if(h.format==="date-time"&&f)return l[i]=E?W.localeFormatInTimeZone(new Date(f),E,Oe):et(new Date(f),k?.dateFormat||Oe),l;if(h.enum)return l[i]=f?A(f):"",l;default:return l[i]=f?`${f}`:"",l}},{_index:a})):void 0,[v,te,le,m,A,E]),Ie=te?te.length:0,{dynamicWidthColumnCount:lt,fixedWidthColumnsWidth:ct}=e.useMemo(()=>{let n=0,a=0;return(te||[]).forEach(l=>{if(l===R){n+=_t;return}if(l===Ce){n+=Ct;return}const i=m?m[l]:void 0;i?.width?n+=i.width:a+=1},0),{dynamicWidthColumnCount:a,fixedWidthColumnsWidth:n}},[te,m]),ce=e.useMemo(()=>{if(We)return new Uint16Array(We);const n=Xe?new Uint16Array(JSON.parse(Xe)):void 0,a=Math.max(Math.floor((Be-ct)/lt),nt);let l=(Be-ct)%lt;const i=new Uint16Array(te.map(h=>{if(h===R)return _t;if(h===Ce)return Ct;const k=m?m[h]:void 0;return k?.width?k?.width:l?(l-=1,a+1):a}));return n?.length===i.length?n:i},[te,m,We,lt,ct,Xe,Be]),Ve=e.useCallback(n=>ce?ce[n]:1,[ce]),Qe=e.useMemo(()=>{if(!Te||!s&&!B||V)return Te;const{searchQuery:n}=c,a=n.toLowerCase()||"",l=i=>v&&X?X(v[i._index],n):!(te&&!te.find(h=>`${i[h]}`.toLowerCase().includes(a)));return Te.filter(i=>{let h=l(i);return!h||!c.columnFilterMap?!1:(Object.entries(c.columnFilterMap).forEach(([k,f])=>{if(!h||f===void 0)return;const K=m?m[k]:void 0;if(v&&K?.filter){h=K.filter(v[i._index],f);return}const fe=le[k],$=v[i._index]?.[k];switch(fe?.type){case"boolean":if(f===void 0)return;if(Array.isArray(f)&&f.length){f.includes($===void 0?null:$)||(h=!1);return}h=$===f;break;case"number":case"integer":if(f&&typeof f=="object"){f.filterEmpty&&$===void 0&&(h=!1);for(const P of Object.keys(ge)){const _e=f[P];if(h&&me.isFinite(_e))switch(P){case ge.EQ:$!==_e&&(h=!1);break;case ge.GT:$<=_e&&(h=!1);break;case ge.LT:$>=_e&&(h=!1);break}}}else{if($===void 0&&f===null)return!0;h=$===f}break;case"string":if(typeof f=="object"&&!Array.isArray(f)&&(fe.format==="date"||fe.format==="date-time")){const{from:P,to:_e,filterEmpty:Wt}=f;if(!$)h=!Wt;else{const Ye=$?new Date($):void 0;(Wt===!1||P&&(!Ye||Ye<P)||_e&&(!Ye||Ye>_e))&&(h=!1)}return}default:if(fe?.enum){Array.isArray(f)?h=f.includes($):h=$===f;return}if(Array.isArray(f)){const P=`${i[k]}`.toLowerCase();h=f.some(_e=>P.includes(`${_e}`.toLowerCase()))}else h=`${i[k]}`.toLowerCase().includes(`${f}`.toLowerCase())}}),h)})},[Te,s,B,V,c,X,te,m,v,le]),dt=e.useMemo(()=>{const{sortAsc:n,sortColumn:a}=c;if(!a||!Qe||!v||V)return Qe;const l=le[a],i=m?m[a]:void 0,h=i?.sort;if(h)return Qe.sort((K,fe)=>{const $=v[K._index],P=v[fe._index];return $?P?h($,P,n===void 0?N:n):-1:1});const k=l&&l.format?.startsWith("date"),f=rn(l,i);return Qe.sort((K,fe)=>{let $=f&&v[K._index]?v[K._index][a]:`${K[a]}`.toLowerCase(),P=f&&v[fe._index]?v[fe._index][a]:`${fe[a]}`.toLowerCase();return f&&k&&($=new Date($),isNaN($.getTime())&&($=Et),P=new Date(P),isNaN(P.getTime())&&(P=Et)),$===P?0:$?P?($<P?1:-1)*(n?-1:1):n?1:-1:n?-1:1})},[m,N,Qe,V,le,v,c]),Q=e.useMemo(()=>!we?.length||!Te||c.sortColumn?dt:we.map(n=>Te[n]),[we,Te,dt,c.sortColumn]),fn=e.useCallback((n,a)=>{if(!Q||!v||n===a)return;const l=Q.map(k=>k._index),[i]=l.splice(n,1),h=n<a?a-1:a;l.splice(h,0,i),Fe(l),Me(k=>({...k,sortColumn:void 0,sortAsc:void 0})),O?.(l.map(k=>v[k]))},[Q,v,O]);e.useImperativeHandle(Le,()=>({getFilteredSortedData:()=>Q,scrollToIndex:n=>{const a=Je?.current,l=Q?.findIndex(i=>i._index===n)||-1;a&&l>=0&&a.scrollToItem({rowIndex:l})}}),[Q,Je]);const St=e.useRef(void 0);e.useEffect(()=>{const n=Q?.map(l=>l._index),a=St.current;a&&a.sourceData===v&&me.isEqual(a.indices,n)||(St.current={sourceData:v,indices:n},ue?.(Q))},[Q,ue,v]);const Ot=e.useCallback(n=>{const a={...c.columnFilterMap};delete a[n],Me({...c,columnFilterMap:a})},[c]),ut=e.useCallback((n,a)=>{if(D){window.location.hash=W.serializeLocationHash({...Z,sortColumn:n,sortAsc:a});return}Me({...c,sortColumn:n,sortAsc:a})},[c,Z,D]),mn=e.useCallback(n=>{Me({...c,searchQuery:n.currentTarget.value})},[c]),Se=e.useCallback(()=>{it(c),at(void 0)},[c]);e.useEffect(()=>{if(!p||!Z||!De||!D)return;const n=Object.keys(Z);let a=!1;for(const l of n){const i=Z[l],h=De[l];if(typeof i=="string"&&i!==h){a=!0;break}if(typeof i=="object"&&!me.isEqual(i,h)){a=!0;break}}a&&Se()},[p,Z,De,Se,D]);const $t=e.useCallback(n=>{n.key==="Enter"&&(ot(void 0),ze&&!D&&Se(),ie&&n.currentTarget.className==="mig-schema-table__search"&&ie(c.searchQuery||""))},[ze,c.searchQuery,ie,Se,D]),ht=e.useCallback(()=>z,[z]),he=e.useMemo(()=>me.sum(ce),[ce]),Ue=e.useMemo(()=>Q?Q.length:0,[Q]),ye=e.useMemo(()=>{const n=z*Ue;let a;if(J&&(a=J==="100%"?He.height:J,!a))return 0;const l=a?a-It.height-wt:0;return l&&l<n?l:n},[z,Ue,J,It,He.height]),gn=e.useCallback(n=>{ot(void 0),n.preventDefault(),n.stopPropagation()},[]),bn=e.useCallback((n,a)=>{if(!Y)return;if(D&&a!==!1){window.location.hash=W.serializeLocationHash({...Z,columnFilterMap:{...c.columnFilterMap,[Y.propName]:n}});return}if(n===void 0){Ot(Y.propName);return}const l={...c.columnFilterMap,[Y.propName]:n};Me({...c,columnFilterMap:l})},[Ot,c,Z,Y,D]),pn=e.useCallback(()=>{const n={searchQuery:"",columnFilterMap:{},sortColumn:I,sortAsc:N};D&&(window.location.hash=W.serializeLocationHash(n)),it(n),Me(n)},[D,N,I]),_n=e.useCallback(()=>{const n=Z?.searchQuery||"";D&&(c.searchQuery||n)&&c.searchQuery!==n&&(window.location.hash=W.serializeLocationHash({...Z,searchQuery:c.searchQuery}))},[Z,c.searchQuery,D]),Cn=e.useCallback(async n=>{n.preventDefault(),n.stopPropagation(),Q&&await en(Q)},[Q]),wn=e.useCallback(()=>{w&&(localStorage.removeItem(`${w}.columnNames`),localStorage.removeItem(`${w}.columnWidths`),Pe(void 0),Ne(void 0))},[w]),ft=e.useCallback(n=>{if(!Q||!v||!y||!H)return!0;const a=Q[n];return a&&v[a._index]!==void 0},[H,y,Q,v]),yn=e.useMemo(()=>ye?!(v&&!ze)&&!y?t.jsx("div",{style:{width:he,height:Math.max(50,ye),border:"1px solid #BBB",textAlign:"center",display:"flex",backgroundColor:"#CCC",alignItems:"center",justifyContent:"center"},children:ze?t.jsx("button",{onClick:Se,className:"btn border",children:"Refresh data"}):t.jsx("div",{children:"⌛ Loading..."})}):y&&H?t.jsx(Bt,{ref:b,isItemLoaded:ft,itemCount:H,loadMoreItems:y,children:({onItemsRendered:a,ref:l})=>t.jsx(Ke.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:z,height:ye,width:he,columnWidth:Ve,rowHeight:ht,columnCount:Ie,rowCount:Ue,ref:l,onItemsRendered:({overscanRowStartIndex:i,overscanRowStopIndex:h,visibleRowStartIndex:k,visibleRowStopIndex:f})=>a({overscanStartIndex:i,overscanStopIndex:h,visibleStartIndex:k,visibleStopIndex:f}),children:kt},`tbody_${ye}_${he}_${c.sortColumn}_${c.sortAsc}_${c.searchQuery}_${Ie}_${ce.join(" ")}`)}):t.jsx(Ke.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:z,height:ye,width:he,columnWidth:Ve,rowHeight:ht,columnCount:Ie,rowCount:Ue,ref:Je,children:kt},`tbody_${ye}_${he}_${c.sortColumn}_${c.sortAsc}_${c.searchQuery}_${Ie}_${ce.join(" ")}`):null,[Ie,ce,Ve,ht,b,ze,ft,H,y,Se,Ue,z,he,c.searchQuery,c.sortAsc,c.sortColumn,v,ye,Je]),vn=e.useMemo(()=>({...M,width:U?Math.min(he,Be):void 0,height:J==="100%"?"100%":void 0,maxHeight:J==="100%"?"100%":void 0}),[J,he,M,Be,U]),kn=o||"input";return t.jsx(Ae.Provider,{value:{checkedIndexes:_,columnNames:te,columnWidths:ce,config:m,disabledCheckedIndexes:j,displayTimezone:E,dropTargetIndex:q,getRowClassName:ee,getRowSelected:ne,isDraggable:u,isColumnFilterable:s,isItemLoaded:ft,isSortable:de,lastCheckChangedRowIndex:cn,onRowClick:re,onRowDoubleClick:se,onRowDrop:fn,properties:le,required:hn,rowDropTargetRowIndex:ke,setCheckedIndexes:oe,setCustomColumnNames:Pe,setCustomColumnWidths:Ne,setDropTargetIndex:pe,setFilterSortColumn:ut,setLastCheckChangedRowIndex:dn,setMenuConfig:ot,setRowDropTargetRowIndex:xe,settingsStorageKey:w,sortedRenderData:Q,sourceData:v,tableDataState:c,translate:A||pt},children:t.jsxs("div",{className:`mig-schema-table${re?" mig-schema-table--clickable-rows":""}`,ref:Lt,style:vn,role:"table",children:[t.jsxs("div",{className:"mig-schema-table__action-container",ref:Nt,children:[t.jsx("div",{children:B?t.jsx(kn,{className:"mig-schema-table__search",type:"search",name:"search",autoComplete:"off",placeholder:ve||A("search..."),value:c.searchQuery,onChange:mn,onKeyDown:$t,autoFocus:x,onBlur:_n}):null}),r?t.jsx(r,{...L,renderData:dt}):t.jsx("div",{className:"mig-schema-table__custom_element_placeholder"}),S&&Array.isArray(C)?t.jsx("span",{className:"mig-schema-table__row_counter",children:A("showingFilteredCountOfTotalCount",Q?.length||0,C.length)}):null,g?t.jsx("button",{onClick:Cn,style:{marginLeft:8},disabled:!Q?.length,children:A("exportData")}):null,B||s?t.jsx("button",{onClick:pn,style:{marginLeft:8},disabled:c.columnFilterMap&&c.searchQuery?Object.keys(c.columnFilterMap).length+c.searchQuery.length===0:!1,children:A("clearFilters")}):null,w?t.jsx("button",{onClick:wn,style:{marginLeft:8},disabled:!Ge&&!Xe,children:A("clearSettings")}):null]}),t.jsxs("div",{className:"mig-schema-table__column_resize_container",children:[t.jsx(d,{height:wt,itemCount:Ie,itemSize:Ve,layout:"horizontal",width:he,sortAsc:c.sortAsc,setFilterSortColumn:ut,sortColumn:c.sortColumn,sortedRenderData:Q,className:"mig-schema-table__th-row",children:Mt},`thead_${he}_${c.sortColumn}_${c.sortAsc}_${c.searchQuery}_${ce.join(" ")}`),yn,ae?t.jsx(Kt,{columnWidths:ce,resizeColumnIndex:st,setResizeColumnIndex:je,tableBodyHeight:ye}):null]}),v&&v.length===0?t.jsx("div",{className:"mig-schema-table__no_data",children:"No data found"}):null,Y?jt.createPortal(t.jsx(Yt,{isFilterable:s&&Y.propConfig?.isFilterable!==!1,isSortable:xt(de,be.properties[Y.propName],Y.propConfig),onChange:bn,onClose:gn,onInputKeyDown:$t,propConfig:Y.propConfig,propIsRequired:Y.propIsRequired,propName:Y.propName,propSchema:be.properties[Y.propName],referenceElement:Y.referenceElement,setFilterSortColumn:ut,translate:A,value:c.columnFilterMap?c.columnFilterMap[Y.propName]:null}),document.body):null]})})},on=e.forwardRef(sn),an=e.memo(on),ln=e.memo(({refresh:r,period:o=60})=>{const[d,p]=e.useState(new Date),[_,m]=e.useState(new Date),L=e.useCallback(()=>{m(new Date),r()},[r]),C=e.useMemo(()=>Re.differenceInSeconds(d,_),[d,_]);e.useEffect(()=>{C>o&&L()},[C,d,_,o,L]),e.useEffect(()=>{const I=setInterval(()=>{p(new Date)},1e3);return()=>{clearInterval(I)}},[]);const F=o-C;return t.jsxs("div",{className:"mx-auto",title:`Refresh ${F>0?`in ${F} seconds`:"NOW"}`,children:["Last update ",et(_,"HH:mm")]})});T.DEFAULT_DATE_FORMAT=tt,T.DEFAULT_DATE_TIME_FORMAT=Oe,T.EColumnFilterStatus=Ee,T.MINIMUM_COLUMN_WIDTH=nt,T.RESIZER_WIDTH=yt,T.Refresher=ln,T.SchemaTable=an,T.Th=Mt,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(T,t){typeof exports=="object"&&typeof module<"u"?t(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("react-select"),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","react-select","date-fns/locale/nl","@date-fns/tz","@floating-ui/react-dom","react-window-infinite-loader","file-saver"],t):(T=typeof globalThis<"u"?globalThis:T||self,t(T["mig-schema-table"]={},T.jsxRuntime,T.React,T.ReactDOM,T.reactWindow,T.dateFns,T.locale,T.migDataTools,T.lodash,T.DatePicker,T.Select,T.nl,T.tz,T.reactDom,T.InfiniteLoader,T.fileSaver))})(this,(function(T,t,e,jt,Ke,Re,Ft,W,me,mt,gt,bt,qe,Ze,Bt,zt){"use strict";function Qt(r){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const d in r)if(d!=="default"){const p=Object.getOwnPropertyDescriptor(r,d);Object.defineProperty(o,d,p.get?p:{enumerable:!0,get:()=>r[d]})}}return o.default=r,Object.freeze(o)}const Ut=Qt(e),et=(r,o)=>Re.format(r,o,{locale:Ft.nl}).replace(".",""),qt={"Europe/Amsterdam":"AMS","Europe/Berlin":"AMS","Asia/Jakarta":"JKT","Asia/Bangkok":"JKT",showingFilteredCountOfTotalCount:"Showing {0} of {1}"};function pt(r,...o){let d=qt[r]||W.unCamel(r);return o.forEach((p,_)=>{d=d.replace(`{${_}}`,`${p}`)}),d}const R="SELECT_ALL_COLUMN_NAME",_t=40,Ce="__drag_handle__",Ct=32,tt="dd MMM yyyy",Oe="dd MMM yyyy HH:mm",nt=25,wt=50,yt=3;var ge=(r=>(r.GT="GT",r.LT="LT",r.EQ="EQ",r))(ge||{});const vt=new Map([[!0,"✓"],[!1,"✕"],[null,"?"]]);var Ee=(r=>(r.UNAVAILABLE="UNAVAILABLE",r.AVAILABLE="AVAILABLE",r.ACTIVE="ACTIVE",r))(Ee||{});const Ae=Ut.createContext({checkedIndexes:[],columnNames:[],columnWidths:new Uint16Array,config:{},disabledCheckedIndexes:[],dropTargetIndex:-1,isDraggable:!1,isColumnFilterable:!1,isItemLoaded:()=>!1,isSortable:!1,onRowDrop:W.emptyFn,properties:{},required:[],rowDropTargetRowIndex:-1,setCustomColumnNames:W.emptyFn,setCustomColumnWidths:W.emptyFn,setDropTargetIndex:W.emptyFn,setFilterSortColumn:W.emptyFn,setLastCheckChangedRowIndex:W.emptyFn,setMenuConfig:W.emptyFn,setRowDropTargetRowIndex:W.emptyFn,tableDataState:{searchQuery:"",columnFilterMap:{},sortColumn:"",sortAsc:!1},translate:W.emptyFn}),Zt={type:"boolean"},Pt=({columnIndex:r,rowIndex:o,style:d})=>{const{checkedIndexes:p,columnNames:_,config:m,disabledCheckedIndexes:N,displayTimezone:C,getRowClassName:F,getRowSelected:I,isItemLoaded:S,lastCheckChangedRowIndex:j,onRowClick:E,onRowDoubleClick:x,onRowDrop:O,properties:ee,rowDropTargetRowIndex:ne,setCheckedIndexes:X,setLastCheckChangedRowIndex:b,setRowDropTargetRowIndex:u,sortedRenderData:s,sourceData:g,translate:ae}=e.useContext(Ae),B=_[r],de=B===R?Zt:ee[B],H=m?m[B]:void 0,y=e.useCallback(w=>{X&&X(M=>M&&M.includes(w)?M.filter(D=>D!==w):M?[...M,w]:[w])},[X]),J=S(o),re=e.useCallback(w=>{if(!g||!s||!E||!J)return;const{rowIndex:M}=w.currentTarget.dataset;if(!M)return;const A=s[parseInt(M,10)];E(g[A._index],A._index,w)},[J,E,s,g]),se=e.useCallback(w=>{if(!g||!s||!x||!J)return;const{rowIndex:M}=w.currentTarget.dataset;if(!M)return;const A=s[parseInt(M,10)];x(g[A._index],A._index,w)},[J,x,s,g]),$=s?s[o]:void 0,{showTimezones:ie,TdBody:G}=H||{},ue=e.useMemo(()=>C?null:W.timeZone.startsWith("Europe/")?"Asia/Jakarta":"Europe/Amsterdam",[C]),z=e.useMemo(()=>{if(!$||!s)return;let w=B===R?void 0:$[B];if(de?.format&&de.format==="date-time"&&ie!==!1){const A=g?g[$._index]:void 0,D=A?A[B]:void 0,U=D?new Date(D):void 0;U&&ue&&(w=`${W.localeFormatInTimeZone(U,ue,Oe)} (${ae(ue)})`)}const M=["mig-schema-table__td",`mig-schema-table__td--${o%2?"odd":"even"}`,`mig-schema-table__td--prop-${B}`];switch(o===ne&&M.push("mig-schema-table__td--row-drop-target"),g&&I&&I(g[$._index],$._index)&&M.push("mig-schema-table__td--selected"),g&&F&&M.push(F(g[$._index],$._index,s)),de?.type){case"boolean":M.push(`text-${H?.align||"center"}`);break;case"number":case"integer":M.push(`text-${H?.align||"end"}`);break;default:H?.align&&M.push(`text-${H.align}`)}return{"data-row-index":o,"data-column-index":r,style:d,className:M.join(" "),title:w,onClick:B===R?void 0:re,onDoubleClick:B===R?void 0:se}},[$,s,B,de,ie,o,ne,g,I,F,r,d,re,se,ue,ae,H]),be=e.useCallback(w=>{if(!y||!$)return;const M=parseInt(w.currentTarget.dataset.rowIndex);if(w.shiftKey&&j!==void 0){const A=p?.includes(j)?j:void 0;if(A!==void 0&&s){const D=o;for(const U of me.range(D>A?A+1:D,D>A?D+1:A)){const Le=s[U]._index;(!N||!N.includes(Le))&&y(Le)}}}else y($._index);b(M),ve.current?.focus()},[p,N,j,y,$,o,b,s]),ve=e.useRef(null);if(!$||!z)return null;if(!S||g&&!g[$._index])return t.jsx("div",{...z,children:"loading"});if(B===Ce)return t.jsx("div",{...z,className:`${z.className} mig-schema-table__td--drag-handle`,draggable:!0,onDragStart:w=>{w.dataTransfer.effectAllowed="move",w.dataTransfer.setData("row-drag-index",String(o))},onDragOver:w=>{w.preventDefault(),w.dataTransfer.dropEffect="move",u(o)},onDragEnd:()=>u(-1),onDrop:w=>{w.preventDefault(),u(-1);const M=parseInt(w.dataTransfer.getData("row-drag-index"),10);isNaN(M)||O(M,o)},children:t.jsx("span",{className:"mig-schema-table__td--drag-handle__icon",children:"⠿"})});if(B===R)return t.jsx("div",{...z,onMouseDown:be,children:t.jsx("div",{style:{textAlign:"center"},children:t.jsx("input",{ref:ve,type:"checkbox",readOnly:!0,checked:p?.includes($._index),disabled:N?.includes($._index)})})});if(G&&g)return t.jsx("div",{...z,children:t.jsx(G,{dataIndex:$._index,rowData:g[$._index],rowIndex:o,...H?.tdBodyProps})});const oe=$[B];return de?.format==="url"&&oe?t.jsx("a",{href:oe,target:"_blank",rel:"noopener noreferrer",...z,children:oe}):t.jsx("div",{...z,children:oe})},kt=e.memo(Pt);function Jt(){const{checkedIndexes:r,disabledCheckedIndexes:o,sortedRenderData:d}=e.useContext(Ae);return e.useMemo(()=>{const p=[...d||[]].filter(_=>(r?r.includes(_._index):!0)||(o?!o.includes(_._index):!0));return r?.length!==0&&p.length===r?.length},[r,o,d])}function xt(r,o,d){return!!(r&&d?.isSortable!==!1&&(o||d?.renderData||d?.sort))}function Dt(){const{setCustomColumnWidths:r,settingsStorageKey:o}=e.useContext(Ae);return e.useCallback(d=>{o&&localStorage.setItem(`${o}.columnWidths`,JSON.stringify(Array.from(d))),r(d)},[r,o])}const Ht=({index:r,style:o})=>{const{checkedIndexes:d,columnNames:p,columnWidths:_,config:m,disabledCheckedIndexes:N,dropTargetIndex:C,isColumnFilterable:F,isSortable:I,setCheckedIndexes:S,properties:j,required:E,setCustomColumnNames:x,setDropTargetIndex:O,setFilterSortColumn:ee,setMenuConfig:ne,settingsStorageKey:X,tableDataState:b,sortedRenderData:u,translate:s,displayTimezone:g}=e.useContext(Ae),[ae,B]=e.useState(!1),de=r===C,H=Dt(),y=p[r],J=y===R?{type:"boolean"}:j[y],re=b.sortColumn===y?b.sortAsc:void 0,se=m?m[y]:void 0;let $=F&&(J||se?.FilterMenu)&&se?.isFilterable!==!1?Ee.AVAILABLE:Ee.UNAVAILABLE;b.columnFilterMap&&b.columnFilterMap[y]!==void 0&&($=Ee.ACTIVE);const ie=xt(I,J,se),G=["mig-schema-table__th",`mig-schema-table__th--filter-${$}`,`mig-schema-table__th--prop-${y}`];G.push(ie?"mig-schema-table__th--sortable":"mig-schema-table__th--unsortable"),re!==void 0&&G.push("mig-schema-table__th--sorted"),ae&&G.push("mig-schema-table__th--dragging"),de&&G.push("mig-schema-table__th--drop-target");const{format:ue}=J||{},{align:z,defaultSortDesc:be,showTimezones:ve=!g,title:oe}=se||{},w=e.useCallback(()=>{if(ie){if(re===void 0){ee(y,!be);return}ee(y,!re)}},[ie,be,y,ee,re]),M=E.includes(y),A=e.useCallback(Z=>{const pe=Z.currentTarget;ne(ke=>{if(ke?.propName!==y)return{propConfig:se,propIsRequired:M,propName:y,referenceElement:pe}})},[se,M,y,ne]),D=e.useMemo(()=>oe!==void 0?oe:ue==="date-time"&&ve?`${s(y)} (${s(g||W.timeZone)})`:s(y),[oe,ue,ve,s,y,g]),U=e.useCallback((Z,pe)=>{if(!p||!_)return;const ke=p.indexOf(Z),xe=[...p];xe.splice(ke,1);const V=xe.indexOf(pe);xe.splice(V+1,0,Z),x(xe);const we=[..._],Fe=we[ke];we.splice(ke,1),we.splice(V+1,0,Fe),H(new Uint16Array(we)),X&&localStorage.setItem(`${X}.columnNames`,JSON.stringify(xe))},[p,_,H,X,x]),Le=e.useCallback(Z=>{U&&(B(!0),Z.dataTransfer.effectAllowed="move",Z.dataTransfer.dropEffect="move",Z.dataTransfer.setData("text/plain",y))},[U,y]),$e=e.useCallback(()=>{U&&(B(!1),O(-1))},[U,O]),Pe=e.useCallback(Z=>{U&&(Z.preventDefault(),O(r))},[r,U,O]),We=e.useCallback(Z=>{if(O(-1),!U||!y)return;const pe=Z.dataTransfer.getData("text/plain");!pe||pe===y||U(pe,y)},[U,y,O]),Ne=Jt(),st=e.useCallback(()=>{!S||!u||S(Ne?[]:u.map(Z=>Z._index).filter(Z=>!N?.includes(Z)))},[S,u,Ne,N]);if(y===Ce)return t.jsx("div",{style:o,className:"mig-schema-table__th mig-schema-table__th--drag-handle"});if(y===R)return t.jsx("div",{style:o,className:G.join(" "),children:t.jsx("div",{style:{width:"100%",textAlign:"center"},title:`${d?.length||0} selected`,children:t.jsx("input",{type:"checkbox",name:"selectAll",checked:Ne,onChange:st})})});switch(J?.type){case"boolean":G.push(`text-${z||"center"}`,`justify-content-${z||"center"}`);break;case"integer":case"number":G.push(`text-${z||"end"}`,`justify-content-${z||"end"}`);break;default:z&&G.push(`text-${z}`)}let je=se?.hoverTitle;return!je&&typeof D=="string"&&(je=D),t.jsxs("div",{className:G.join(" "),style:o,title:je,draggable:!0,onDragStart:Le,onDragEnd:$e,onDragOver:Pe,onDrop:We,children:[t.jsxs("div",{className:"mig-schema-table__th__label-body",style:{lineHeight:"44px"},onClick:w,children:[t.jsx("span",{className:"mig-schema-table__th__label-body-text",children:D}),re===void 0?null:t.jsx("span",{className:"mig-schema-table__th__sort-icon",children:re?"↓":"↑"})]}),ie||$!==Ee.UNAVAILABLE?t.jsx("button",{className:"mig-schema-table__th__trigger-el",onClick:A,children:t.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:t.jsx("polyline",{points:"6 9 12 15 18 9"})})}):null]})},Mt=e.memo(Ht),Gt={[ge.GT]:">",[ge.LT]:"<",[ge.EQ]:"="},Xt=e.memo(({columnFilterValue:r,onChange:o,onInputKeyDown:d,propIsRequired:p,propName:_,propSchema:m,translate:N})=>{const{displayTimezone:C}=e.useContext(Ae),{type:F,format:I,minimum:S,maximum:j}=m||{},E=r,x=I==="date-time";let O,ee;switch(F){case"number":case"integer":return O=E||{},ee=(b,u,s)=>{const g={...O,[b]:u.value===""?void 0:parseInt(u.value)},ae=Object.values(g).find(B=>isFinite(B));o(ae!==void 0&&(S===void 0||ae>=S)?g:void 0,s)},t.jsxs("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:[p?null:t.jsxs("li",{style:{padding:8},children:[t.jsxs("label",{className:"d-flex",children:[t.jsx("input",{type:"checkbox",style:{marginRight:14},checked:!!O.filterEmpty,onChange:()=>{const{filterEmpty:b,...u}=O;b||(u.filterEmpty=!0),o(Object.keys(u).length?u:void 0,!0)}}),"Hide empty values"]}),t.jsx("hr",{})]}),Object.keys(ge).map(b=>{const u=O[b];return t.jsxs("li",{children:[t.jsx("label",{style:{width:40,paddingLeft:16},children:Gt[b]}),t.jsx("input",{className:"form-control",style:{width:120},type:"number",value:u!==void 0?u:"","data-prop-name":_,onChange:s=>{ee(b,s.currentTarget,!1)},onBlur:s=>{ee(b,s.currentTarget,!0)},onKeyDown:d,min:S,max:j})]},b)})]});case"boolean":const ne=[!0,!1];p||ne.push(null);const X=E?E.map(b=>({value:b,label:vt.get(b)})):null;return t.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:t.jsx("li",{children:t.jsx(gt,{autoFocus:!0,menuIsOpen:!0,isClearable:!0,isMulti:!0,placeholder:N("All"),className:"react-select-container",classNamePrefix:"react-select",value:X,options:ne.map(b=>({value:b,label:vt.get(b)})),styles:{menu:b=>({...b,marginTop:0})},onChange:b=>{const u=b&&b.length?b.map(({value:s})=>s):void 0;o(u,!0)},onKeyDown:d})})});case"string":if(m?.enum){const b=m.enum.map(s=>({value:s,label:N(s)})),u=b.filter(s=>(E||[]).includes(s.value));return t.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:t.jsx("li",{children:t.jsx(gt,{isMulti:!0,autoFocus:!0,menuIsOpen:!0,className:"react-select-container",classNamePrefix:"react-select",value:u,options:b,styles:{menu:s=>({...s,marginTop:0})},onChange:s=>{const g=s?s.map(ae=>ae.value):[];o(g.length?g:void 0,!0)},onKeyDown:d,placeholder:N("Select...")})})})}if(x||I==="date"){const b=x?Oe:tt,u=r||{from:void 0,to:void 0,filterEmpty:void 0};return t.jsxs("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:[p?null:t.jsxs("li",{style:{padding:8},children:[t.jsxs("label",{className:"d-flex",children:[t.jsx("input",{type:"checkbox",checked:!!u.filterEmpty,onChange:()=>{const{filterEmpty:s,...g}=u;s||(g.filterEmpty=!0),o(Object.keys(g).length?g:void 0,!0)}}),"Hide empty values"]}),t.jsx("hr",{})]}),t.jsxs("li",{style:{padding:8},children:[t.jsx("label",{style:{width:120,paddingLeft:4},children:"After"}),t.jsx(mt,{dateFormat:b,"data-prop-name":_,locale:bt.nl,selected:u.from?new qe.TZDate(u.from).withTimeZone(C||W.timeZone):null,onChange:s=>{if(!s&&!u.to){o(void 0,!0);return}if(u.to&&s&&s>u.to)return;const g=s?qe.TZDate.tz(C||W.timeZone,s):void 0;o({...r,from:g},!0)},placeholderText:b,isClearable:!0,selectsStart:!0,showTimeSelect:x,showTimeInput:x,showMonthDropdown:!0,showYearDropdown:!0,timeIntervals:15,shouldCloseOnSelect:!x})]}),t.jsxs("li",{style:{padding:8},children:[t.jsx("label",{style:{width:120,paddingLeft:4},children:"Before"}),t.jsx(mt,{id:"filter-date",dateFormat:b,"data-prop-name":_,locale:bt.nl,selectsEnd:!0,selected:u.to?new qe.TZDate(u.to).withTimeZone(C||W.timeZone):null,showMonthDropdown:!0,showYearDropdown:!0,onChange:s=>{if(!s&&!u.from){o(void 0,!0);return}const g=s?x?qe.TZDate.tz(C||W.timeZone,s):Re.endOfDay(s):void 0;u.from&&g&&g<u.from||o({...r,to:g},!0)},placeholderText:b,isClearable:!0,startDate:u.from,endDate:u.to,showTimeInput:x,showTimeSelect:x,timeIntervals:15,shouldCloseOnSelect:!x})]})]})}default:return t.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:t.jsx("li",{children:t.jsx("input",{autoFocus:!0,type:"search",className:"form-control",placeholder:`Search ${_}`,"aria-label":`Search ${_}`,value:Array.isArray(E)?E.join(","):E||"","data-prop-name":_,onChange:b=>{const u=b.currentTarget.value,s=u?u.split(","):[];o((s.length>1?s:s[0])||void 0,!1)},onKeyDown:d,onBlur:b=>{const u=b.currentTarget.value,s=u?u.split(","):[];o((s.length>1?s:s[0])||void 0,!0)}})})})}}),Vt=({isSortable:r,isFilterable:o,onChange:d,onClose:p,onInputKeyDown:_,propConfig:m,propIsRequired:N,propName:C,propSchema:F,referenceElement:I,setFilterSortColumn:S,translate:j,value:E})=>{const x=Ze.useFloating({placement:"bottom-start",elements:{reference:I},middleware:[Ze.flip()]}),O=Ze.useFloating({placement:"right-start",middleware:[Ze.flip()]});e.useEffect(()=>{const u=s=>{if(!x.elements.floating)return;let g=s.target;for(;g&&x.elements.floating;){if(g===x.elements.floating||g===O.elements.floating)return;g=g.parentNode===window.document?null:g.parentNode}p(s)};return window.addEventListener("click",u,{capture:!0}),()=>{window.removeEventListener("click",u,{capture:!0})}},[x.elements.floating,p,O.elements.floating]);const ee=m?.FilterMenu||Xt,ne=e.useCallback(u=>{S(C,!0),p(u)},[p,C,S]),X=e.useCallback(u=>{S(C,!1),p(u)},[p,C,S]),b=e.useCallback(()=>{d(void 0,!0)},[d]);return!r&&!o?null:t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu",ref:x.refs.setFloating,style:x.floatingStyles,children:t.jsxs("ol",{className:"mig-schema-table-menu",children:[r?t.jsxs("li",{onClick:ne,style:{padding:8},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↓"})," ",j("sortAscending")]}):null,r?t.jsxs("li",{onClick:X,style:{padding:8},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↑"})," ",j("sortDescending")]}):null,o?t.jsxs("li",{style:{padding:8},onMouseOver:u=>{O.refs.setReference(u.currentTarget)},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:t.jsx("input",{type:"checkbox",id:"mig-schema-table__th-menu__filters",checked:E!==void 0,disabled:E===void 0,onChange:b})}),t.jsx("label",{htmlFor:"mig-schema-table__th-menu__filters",children:j("filters")}),t.jsx("div",{className:"mig-schema-table__th-menu__sub-menu-indicator"})]}):null]})}),O.elements.reference?t.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu__sub-menu",ref:O.refs.setFloating,style:O.floatingStyles,children:t.jsx(ee,{columnFilterValue:E,onChange:d,onInputKeyDown:_,propIsRequired:N,propName:C,propSchema:F,translate:j})}):null]})},Yt=e.memo(Vt),Kt=({columnWidths:r,resizeColumnIndex:o,setResizeColumnIndex:d,tableBodyHeight:p})=>{const[_,m]=e.useState(0),N=Dt(),C=e.useCallback(j=>{const E=r.map((x,O)=>O===o?Math.max(x+j,nt):x);N(E)},[r,o,N]);let F=0;const I=e.useCallback(j=>{d(parseInt(j.currentTarget.dataset.columnIndex)),m(j.clientX)},[d]),S=e.useCallback(j=>{C(j.clientX-_),m(0),d(-1)},[_,C,d]);return t.jsx("div",{children:[...r].map((j,E)=>{F+=j;const x=["mig-schema-table__column_resizer"];return E===o&&x.push("mig-schema-table__column_resizer--dragged"),t.jsx("div",{style:{left:F-yt,bottom:p},className:x.join(" "),draggable:"true","data-column-index":E,onDragStart:I,onDragEnd:S},E)})})},Tt=r=>{const[o,d]=e.useState({width:0,height:0}),p=e.useMemo(()=>me.debounce(d,100),[]);return e.useEffect(()=>{if(!r)return;const _=new ResizeObserver(m=>{for(const N of m){const{blockSize:C,inlineSize:F}=N.borderBoxSize[0];p(I=>F&&C&&(I.width!==F||I.height!==C)?{width:F,height:C}:I)}});return _.observe(r),()=>{_.disconnect()}},[p,r]),o},Rt=()=>new Promise((r,o)=>{if(window.ExcelJS){r(window.ExcelJS);return}const d=document.createElement("script");d.src="https://cdnjs.cloudflare.com/ajax/libs/exceljs/4.4.0/exceljs.bare.min.js",d.onload=()=>{r(window.ExcelJS)},d.onerror=()=>{o(new Error("Failed to load ExcelJS library"))},document.head.appendChild(d)}),en=async r=>{const{Workbook:o}=await Rt(),d=new o,p=d.addWorksheet("Data");r.length&&(p.addRow(me.difference(Object.keys(r[0]),["_index","SELECT_ALL_COLUMN_NAME"])),p.getRow(1).font={bold:!0},p.addRows(r.map(_=>{const{_index:m,SELECT_ALL_COLUMN_NAME:N,...C}=_;return Object.values(C)})),d.xlsx.writeBuffer().then(_=>{const m=new Blob([_],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});zt.saveAs(m,"export.xlsx")}).catch(_=>{console.error("Error generating Excel file:",_)}))},Et=new Date("1000-01-01 00:00:00Z"),tn=new Intl.NumberFormat("nl-NL"),nn=new Intl.NumberFormat("nl-NL",{style:"currency",currency:"EUR"});function rn(r,o){const{TdBody:d,sortByValue:p}=o||{};if(p!==void 0)return p;if(!r)return!1;const{format:_,type:m}=r;return _?.startsWith("date")||m==="boolean"||m==="integer"||m==="number"||!!d}function rt(r){return r?[...r.keys()]:void 0}const sn=({CustomElement:r,CustomSearchInput:o,Heading:d=Ke.VariableSizeList,autoRender:p,checkedIndexes:_,config:m,customElementProps:N,data:C,defaultColumnFilters:F,defaultSortAsc:I=!1,defaultSortColumn:S,disabledCheckedIndexes:j,displayTimezone:E,enableAutoFocus:x=!0,enableRowCounter:O=!0,getRowClassName:ee,getRowSelected:ne,getSearchQueryFilterResult:X,infiniteLoaderRef:b,isDraggable:u=!1,isColumnFilterable:s=!0,isExportable:g=!0,isResizable:ae=!0,isSearchable:B=!0,isSortable:de=!0,itemCount:H,loadMoreItems:y,maxHeight:J,onRowClick:re,onRowDoubleClick:se,onRowOrderChange:$,onSearchEnter:ie,onTableDataStateChange:G,onFilteredSortedDataChange:ue,rowHeight:z=36,schema:be,searchPlaceholder:ve,setCheckedIndexes:oe,settingsStorageKey:w,style:M,translate:A=pt,useFilterStateHash:D,width:U},Le)=>{const[$e,Pe]=e.useState(),[We,Ne]=e.useState(),[st,je]=e.useState(-1),[Z,pe]=e.useState(-1),[ke,xe]=e.useState(-1),V=C instanceof Function,[we,Fe]=e.useState(V?void 0:rt(C)),[Y,ot]=e.useState(),[cn,dn]=e.useState(),[v,at]=e.useState(V?void 0:C),[De,it]=e.useState(),[c,Me]=e.useState({searchQuery:"",columnFilterMap:F||{},sortColumn:S,sortAsc:I}),[P,un]=e.useState(D?W.parseLocationHash(window.location.hash):null);e.useEffect(()=>{V||(at(C),Fe(rt(C)))},[C,V]),e.useEffect(()=>{!V||v!==void 0||C(P&&Object.keys(P).length!==0?{...P,columnFilterMap:P.columnFilterMap||{}}:c).then(n=>{at(n),Fe(rt(n))})},[C,V,P,v,c]),e.useEffect(()=>{De||it(c)},[c,De]),e.useEffect(()=>{if(!D)return;const n=()=>{un(W.parseLocationHash(window.location.hash))};return window.addEventListener("hashchange",n),()=>{window.removeEventListener("hashchange",n)}},[D]);const At=e.useRef(F);At.current=F,e.useEffect(()=>{if(!D)return;const{columnFilterMap:n,searchQuery:a,sortAsc:l,sortColumn:i}=P||{},h={searchQuery:a||"",columnFilterMap:n||At.current||{},sortAsc:l===void 0?I:l,sortColumn:i===void 0?S:i};Me(k=>me.isEqual(h,k)?k:h)},[P,D,I,S]),e.useEffect(()=>{G&&G(c)},[G,c]);const Je=e.useRef(null),Lt=e.useRef(null),Nt=e.useRef(null),He=Tt(Lt.current),It=Tt(Nt.current),Be=e.useMemo(()=>U||Math.floor(He.width||0),[He.width,U]),ze=e.useMemo(()=>!me.isEqual(c,De)&&V,[c,De,V]),{properties:le,required:hn}=e.useMemo(()=>({properties:{},required:[],...be}),[be]),Ge=w?localStorage.getItem(`${w}.columnNames`):null,Xe=w?localStorage.getItem(`${w}.columnWidths`):null,te=e.useMemo(()=>{if($e)return $e;const n=Ge?JSON.parse(Ge):void 0;let a=Object.keys(le);if(oe&&a.unshift(R),u&&a.unshift(Ce),m){Object.keys(m).forEach(i=>{a.includes(i)||a.push(i)});const l=Object.entries(m).reduce((i,[h,k])=>(k.hidden&&i.push(h),i),[]);a=a.filter(i=>!l.includes(i)).sort((i,h)=>{let k=m[i]?m[i].order:void 0;k===void 0&&(k=Object.keys(le).findIndex(K=>K===i));let f=m[h]?m[h].order:void 0;return f===void 0&&(f=Object.keys(le).findIndex(K=>K===h)),h===R||i===R||h===Ce||i===Ce?0:k===-1?1:f===-1?-1:k-f})}return n?.length===a.length?n:a},[m,$e,u,oe,le,Ge]),Te=e.useMemo(()=>v&&te?v.map((n,a)=>te.reduce((l,i)=>{const h=le[i],k=m?m[i]:void 0;if(k?.renderData)return l[i]=k.renderData(n,a),l;if(!h||i===R||i===Ce)return l[i]="",l;const f=n?n[i]:"";switch(h.type){case"array":return l[i]=h.items?.type==="string"&&f?f.map(K=>A(K)).join(", "):JSON.stringify(f),l;case"boolean":return l[i]=f===void 0?"?":f?"✓":"✕",l;case"number":case"integer":return f===void 0?(l[i]="",l):(l[i]=h.format==="currency"?nn.format(f):tn.format(f),l);case"string":if(h.format==="date"&&f)return l[i]=["2999-12-31","1970-01-01"].includes(f)?"-":et(new Date(f),k?.dateFormat||tt),l;if(h.format==="date-time"&&f)return l[i]=E?W.localeFormatInTimeZone(new Date(f),E,Oe):et(new Date(f),k?.dateFormat||Oe),l;if(h.enum)return l[i]=f?A(f):"",l;default:return l[i]=f?`${f}`:"",l}},{_index:a})):void 0,[v,te,le,m,A,E]),Ie=te?te.length:0,{dynamicWidthColumnCount:lt,fixedWidthColumnsWidth:ct}=e.useMemo(()=>{let n=0,a=0;return(te||[]).forEach(l=>{if(l===R){n+=_t;return}if(l===Ce){n+=Ct;return}const i=m?m[l]:void 0;i?.width?n+=i.width:a+=1},0),{dynamicWidthColumnCount:a,fixedWidthColumnsWidth:n}},[te,m]),ce=e.useMemo(()=>{if(We)return new Uint16Array(We);const n=Xe?new Uint16Array(JSON.parse(Xe)):void 0,a=Math.max(Math.floor((Be-ct)/lt),nt);let l=(Be-ct)%lt;const i=new Uint16Array(te.map(h=>{if(h===R)return _t;if(h===Ce)return Ct;const k=m?m[h]:void 0;return k?.width?k?.width:l?(l-=1,a+1):a}));return n?.length===i.length?n:i},[te,m,We,lt,ct,Xe,Be]),Ve=e.useCallback(n=>ce?ce[n]:1,[ce]),Qe=e.useMemo(()=>{if(!Te||!s&&!B||V)return Te;const{searchQuery:n}=c,a=n.toLowerCase()||"",l=i=>v&&X?X(v[i._index],n):!(te&&!te.find(h=>`${i[h]}`.toLowerCase().includes(a)));return Te.filter(i=>{let h=l(i);return!h||!c.columnFilterMap?!1:(Object.entries(c.columnFilterMap).forEach(([k,f])=>{if(!h||f===void 0)return;const K=m?m[k]:void 0;if(v&&K?.filter){h=K.filter(v[i._index],f);return}const fe=le[k],L=v[i._index]?.[k];switch(fe?.type){case"boolean":if(f===void 0)return;if(Array.isArray(f)&&f.length){f.includes(L===void 0?null:L)||(h=!1);return}h=L===f;break;case"number":case"integer":if(f&&typeof f=="object"){f.filterEmpty&&L===void 0&&(h=!1);for(const q of Object.keys(ge)){const _e=f[q];if(h&&me.isFinite(_e))switch(q){case ge.EQ:L!==_e&&(h=!1);break;case ge.GT:L<=_e&&(h=!1);break;case ge.LT:L>=_e&&(h=!1);break}}}else{if(L===void 0&&f===null)return!0;h=L===f}break;case"string":if(typeof f=="object"&&!Array.isArray(f)&&(fe.format==="date"||fe.format==="date-time")){const{from:q,to:_e,filterEmpty:Wt}=f;if(!L)h=!Wt;else{const Ye=L?new Date(L):void 0;(Wt===!1||q&&(!Ye||Ye<q)||_e&&(!Ye||Ye>_e))&&(h=!1)}return}default:if(fe?.enum){Array.isArray(f)?h=f.includes(L):h=L===f;return}if(Array.isArray(f)){const q=`${i[k]}`.toLowerCase();h=f.some(_e=>q.includes(`${_e}`.toLowerCase()))}else h=`${i[k]}`.toLowerCase().includes(`${f}`.toLowerCase())}}),h)})},[Te,s,B,V,c,X,te,m,v,le]),dt=e.useMemo(()=>{const{sortAsc:n,sortColumn:a}=c;if(!a||!Qe||!v||V)return Qe;const l=le[a],i=m?m[a]:void 0,h=i?.sort;if(h)return Qe.sort((K,fe)=>{const L=v[K._index],q=v[fe._index];return L?q?h(L,q,n===void 0?I:n):-1:1});const k=l&&l.format?.startsWith("date"),f=rn(l,i);return Qe.sort((K,fe)=>{let L=f&&v[K._index]?v[K._index][a]:`${K[a]}`.toLowerCase(),q=f&&v[fe._index]?v[fe._index][a]:`${fe[a]}`.toLowerCase();return f&&k&&(L=new Date(L),isNaN(L.getTime())&&(L=Et),q=new Date(q),isNaN(q.getTime())&&(q=Et)),L===q?0:L==null?n?-1:1:q==null?n?1:-1:(L<q?1:-1)*(n?-1:1)})},[m,I,Qe,V,le,v,c]),Q=e.useMemo(()=>!we?.length||!Te||c.sortColumn?dt:we.map(n=>Te[n]),[we,Te,dt,c.sortColumn]),fn=e.useCallback((n,a)=>{if(!Q||!v||n===a)return;const l=Q.map(k=>k._index),[i]=l.splice(n,1),h=n<a?a-1:a;l.splice(h,0,i),Fe(l),Me(k=>({...k,sortColumn:void 0,sortAsc:void 0})),$?.(l.map(k=>v[k]))},[Q,v,$]);e.useImperativeHandle(Le,()=>({getFilteredSortedData:()=>Q,scrollToIndex:n=>{const a=Je?.current,l=Q?.findIndex(i=>i._index===n)||-1;a&&l>=0&&a.scrollToItem({rowIndex:l})}}),[Q,Je]);const St=e.useRef(void 0);e.useEffect(()=>{const n=Q?.map(l=>l._index),a=St.current;a&&a.sourceData===v&&me.isEqual(a.indices,n)||(St.current={sourceData:v,indices:n},ue?.(Q))},[Q,ue,v]);const Ot=e.useCallback(n=>{const a={...c.columnFilterMap};delete a[n],Me({...c,columnFilterMap:a})},[c]),ut=e.useCallback((n,a)=>{if(D){window.location.hash=W.serializeLocationHash({...P,sortColumn:n,sortAsc:a});return}Me({...c,sortColumn:n,sortAsc:a})},[c,P,D]),mn=e.useCallback(n=>{Me({...c,searchQuery:n.currentTarget.value})},[c]),Se=e.useCallback(()=>{it(c),at(void 0)},[c]);e.useEffect(()=>{if(!p||!P||!De||!D)return;const n=Object.keys(P);let a=!1;for(const l of n){const i=P[l],h=De[l];if(typeof i=="string"&&i!==h){a=!0;break}if(typeof i=="object"&&!me.isEqual(i,h)){a=!0;break}}a&&Se()},[p,P,De,Se,D]);const $t=e.useCallback(n=>{n.key==="Enter"&&(ot(void 0),ze&&!D&&Se(),ie&&n.currentTarget.className==="mig-schema-table__search"&&ie(c.searchQuery||""))},[ze,c.searchQuery,ie,Se,D]),ht=e.useCallback(()=>z,[z]),he=e.useMemo(()=>me.sum(ce),[ce]),Ue=e.useMemo(()=>Q?Q.length:0,[Q]),ye=e.useMemo(()=>{const n=z*Ue;let a;if(J&&(a=J==="100%"?He.height:J,!a))return 0;const l=a?a-It.height-wt:0;return l&&l<n?l:n},[z,Ue,J,It,He.height]),gn=e.useCallback(n=>{ot(void 0),n.preventDefault(),n.stopPropagation()},[]),bn=e.useCallback((n,a)=>{if(!Y)return;if(D&&a!==!1){window.location.hash=W.serializeLocationHash({...P,columnFilterMap:{...c.columnFilterMap,[Y.propName]:n}});return}if(n===void 0){Ot(Y.propName);return}const l={...c.columnFilterMap,[Y.propName]:n};Me({...c,columnFilterMap:l})},[Ot,c,P,Y,D]),pn=e.useCallback(()=>{const n={searchQuery:"",columnFilterMap:{},sortColumn:S,sortAsc:I};D&&(window.location.hash=W.serializeLocationHash(n)),it(n),Me(n)},[D,I,S]),_n=e.useCallback(()=>{const n=P?.searchQuery||"";D&&(c.searchQuery||n)&&c.searchQuery!==n&&(window.location.hash=W.serializeLocationHash({...P,searchQuery:c.searchQuery}))},[P,c.searchQuery,D]),Cn=e.useCallback(async n=>{n.preventDefault(),n.stopPropagation(),Q&&await en(Q)},[Q]),wn=e.useCallback(()=>{w&&(localStorage.removeItem(`${w}.columnNames`),localStorage.removeItem(`${w}.columnWidths`),Pe(void 0),Ne(void 0))},[w]),ft=e.useCallback(n=>{if(!Q||!v||!y||!H)return!0;const a=Q[n];return a&&v[a._index]!==void 0},[H,y,Q,v]),yn=e.useMemo(()=>ye?!(v&&!ze)&&!y?t.jsx("div",{style:{width:he,height:Math.max(50,ye),border:"1px solid #BBB",textAlign:"center",display:"flex",backgroundColor:"#CCC",alignItems:"center",justifyContent:"center"},children:ze?t.jsx("button",{onClick:Se,className:"btn border",children:"Refresh data"}):t.jsx("div",{children:"⌛ Loading..."})}):y&&H?t.jsx(Bt,{ref:b,isItemLoaded:ft,itemCount:H,loadMoreItems:y,children:({onItemsRendered:a,ref:l})=>t.jsx(Ke.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:z,height:ye,width:he,columnWidth:Ve,rowHeight:ht,columnCount:Ie,rowCount:Ue,ref:l,onItemsRendered:({overscanRowStartIndex:i,overscanRowStopIndex:h,visibleRowStartIndex:k,visibleRowStopIndex:f})=>a({overscanStartIndex:i,overscanStopIndex:h,visibleStartIndex:k,visibleStopIndex:f}),children:kt},`tbody_${ye}_${he}_${c.sortColumn}_${c.sortAsc}_${c.searchQuery}_${Ie}_${ce.join(" ")}`)}):t.jsx(Ke.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:z,height:ye,width:he,columnWidth:Ve,rowHeight:ht,columnCount:Ie,rowCount:Ue,ref:Je,children:kt},`tbody_${ye}_${he}_${c.sortColumn}_${c.sortAsc}_${c.searchQuery}_${Ie}_${ce.join(" ")}`):null,[Ie,ce,Ve,ht,b,ze,ft,H,y,Se,Ue,z,he,c.searchQuery,c.sortAsc,c.sortColumn,v,ye,Je]),vn=e.useMemo(()=>({...M,width:U?Math.min(he,Be):void 0,height:J==="100%"?"100%":void 0,maxHeight:J==="100%"?"100%":void 0}),[J,he,M,Be,U]),kn=o||"input";return t.jsx(Ae.Provider,{value:{checkedIndexes:_,columnNames:te,columnWidths:ce,config:m,disabledCheckedIndexes:j,displayTimezone:E,dropTargetIndex:Z,getRowClassName:ee,getRowSelected:ne,isDraggable:u,isColumnFilterable:s,isItemLoaded:ft,isSortable:de,lastCheckChangedRowIndex:cn,onRowClick:re,onRowDoubleClick:se,onRowDrop:fn,properties:le,required:hn,rowDropTargetRowIndex:ke,setCheckedIndexes:oe,setCustomColumnNames:Pe,setCustomColumnWidths:Ne,setDropTargetIndex:pe,setFilterSortColumn:ut,setLastCheckChangedRowIndex:dn,setMenuConfig:ot,setRowDropTargetRowIndex:xe,settingsStorageKey:w,sortedRenderData:Q,sourceData:v,tableDataState:c,translate:A||pt},children:t.jsxs("div",{className:`mig-schema-table${re?" mig-schema-table--clickable-rows":""}`,ref:Lt,style:vn,role:"table",children:[t.jsxs("div",{className:"mig-schema-table__action-container",ref:Nt,children:[t.jsx("div",{children:B?t.jsx(kn,{className:"mig-schema-table__search",type:"search",name:"search",autoComplete:"off",placeholder:ve||A("search..."),value:c.searchQuery,onChange:mn,onKeyDown:$t,autoFocus:x,onBlur:_n}):null}),r?t.jsx(r,{...N,renderData:dt}):t.jsx("div",{className:"mig-schema-table__custom_element_placeholder"}),O&&Array.isArray(C)?t.jsx("span",{className:"mig-schema-table__row_counter",children:A("showingFilteredCountOfTotalCount",Q?.length||0,C.length)}):null,g?t.jsx("button",{onClick:Cn,style:{marginLeft:8},disabled:!Q?.length,children:A("exportData")}):null,B||s?t.jsx("button",{onClick:pn,style:{marginLeft:8},disabled:c.columnFilterMap&&c.searchQuery?Object.keys(c.columnFilterMap).length+c.searchQuery.length===0:!1,children:A("clearFilters")}):null,w?t.jsx("button",{onClick:wn,style:{marginLeft:8},disabled:!Ge&&!Xe,children:A("clearSettings")}):null]}),t.jsxs("div",{className:"mig-schema-table__column_resize_container",children:[t.jsx(d,{height:wt,itemCount:Ie,itemSize:Ve,layout:"horizontal",width:he,sortAsc:c.sortAsc,setFilterSortColumn:ut,sortColumn:c.sortColumn,sortedRenderData:Q,className:"mig-schema-table__th-row",children:Mt},`thead_${he}_${c.sortColumn}_${c.sortAsc}_${c.searchQuery}_${ce.join(" ")}`),yn,ae?t.jsx(Kt,{columnWidths:ce,resizeColumnIndex:st,setResizeColumnIndex:je,tableBodyHeight:ye}):null]}),v&&v.length===0?t.jsx("div",{className:"mig-schema-table__no_data",children:"No data found"}):null,Y?jt.createPortal(t.jsx(Yt,{isFilterable:s&&Y.propConfig?.isFilterable!==!1,isSortable:xt(de,be.properties[Y.propName],Y.propConfig),onChange:bn,onClose:gn,onInputKeyDown:$t,propConfig:Y.propConfig,propIsRequired:Y.propIsRequired,propName:Y.propName,propSchema:be.properties[Y.propName],referenceElement:Y.referenceElement,setFilterSortColumn:ut,translate:A,value:c.columnFilterMap?c.columnFilterMap[Y.propName]:null}),document.body):null]})})},on=e.forwardRef(sn),an=e.memo(on),ln=e.memo(({refresh:r,period:o=60})=>{const[d,p]=e.useState(new Date),[_,m]=e.useState(new Date),N=e.useCallback(()=>{m(new Date),r()},[r]),C=e.useMemo(()=>Re.differenceInSeconds(d,_),[d,_]);e.useEffect(()=>{C>o&&N()},[C,d,_,o,N]),e.useEffect(()=>{const S=setInterval(()=>{p(new Date)},1e3);return()=>{clearInterval(S)}},[]);const F=o-C;return t.jsxs("div",{className:"mx-auto",title:`Refresh ${F>0?`in ${F} seconds`:"NOW"}`,children:["Last update ",et(_,"HH:mm")]})});T.DEFAULT_DATE_FORMAT=tt,T.DEFAULT_DATE_TIME_FORMAT=Oe,T.EColumnFilterStatus=Ee,T.MINIMUM_COLUMN_WIDTH=nt,T.RESIZER_WIDTH=yt,T.Refresher=ln,T.SchemaTable=an,T.Th=Mt,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mig-schema-table",
3
- "version": "5.0.19",
3
+ "version": "5.0.20",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"