mig-schema-table 5.0.10 → 5.0.11

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.
@@ -114,7 +114,7 @@ export declare interface ISchemaTableProps<T> {
114
114
  translate?: (key: string, ...args: Array<string | number>) => string;
115
115
  useFilterStateHash?: boolean;
116
116
  width?: number;
117
- variableSizeGridRef?: default_2.RefObject<VariableSizeGrid>;
117
+ variableSizeGridRef?: default_2.RefObject<VariableSizeGrid | null>;
118
118
  loadMoreItems?: (startIndex: number, stopIndex: number) => void | Promise<void>;
119
119
  itemCount?: number;
120
120
  displayTimezone?: "Europe/Amsterdam" | "Asia/Jakarta";
@@ -65,9 +65,9 @@ const Me = Ft.createContext({
65
65
  displayTimezone: _,
66
66
  getRowClassName: R,
67
67
  getRowSelected: I,
68
- isItemLoaded: T,
68
+ isItemLoaded: M,
69
69
  lastCheckChangedRowIndex: $,
70
- onRowClick: M,
70
+ onRowClick: E,
71
71
  onRowDoubleClick: y,
72
72
  properties: S,
73
73
  setCheckedIndexes: Z,
@@ -77,23 +77,23 @@ const Me = Ft.createContext({
77
77
  translate: m
78
78
  } = e.useContext(Me), b = f[t], w = b === ee ? tn : S[b], U = l ? l[b] : void 0, te = e.useCallback(
79
79
  (v) => {
80
- Z && Z((A) => A && A.includes(v) ? A.filter((E) => E !== v) : A ? [...A, v] : [v]);
80
+ Z && Z((A) => A && A.includes(v) ? A.filter((T) => T !== v) : A ? [...A, v] : [v]);
81
81
  },
82
82
  [Z]
83
- ), le = T(o), ne = e.useCallback(
83
+ ), le = M(o), ne = e.useCallback(
84
84
  (v) => {
85
- if (!s || !D || !M || !le)
85
+ if (!s || !D || !E || !le)
86
86
  return;
87
87
  const { rowIndex: A } = v.currentTarget.dataset;
88
88
  if (!A)
89
89
  return;
90
90
  const k = D[parseInt(A, 10)];
91
- M(s[k._index], k._index, v);
91
+ E(s[k._index], k._index, v);
92
92
  },
93
- [le, M, D, s]
93
+ [le, E, D, s]
94
94
  ), C = e.useCallback(
95
95
  (v) => {
96
- if (!s || !D || !y || !T)
96
+ if (!s || !D || !y || !M)
97
97
  return;
98
98
  const { rowIndex: A } = v.currentTarget.dataset;
99
99
  if (!A)
@@ -101,13 +101,13 @@ const Me = Ft.createContext({
101
101
  const k = D[parseInt(A, 10)];
102
102
  y(s[k._index], k._index, v);
103
103
  },
104
- [T, y, D, s]
104
+ [M, y, D, s]
105
105
  ), L = D ? D[o] : void 0, { showTimezones: se, TdBody: G } = U || {}, re = e.useMemo(() => _ ? null : Te.startsWith("Europe/") ? "Asia/Jakarta" : "Europe/Amsterdam", [_]), B = e.useMemo(() => {
106
106
  if (!L || !D)
107
107
  return;
108
108
  let v = b === ee ? void 0 : L[b];
109
109
  if (w?.format && w.format === "date-time" && se !== !1) {
110
- const k = s ? s[L._index] : void 0, E = k ? k[b] : void 0, ce = E ? new Date(E) : void 0;
110
+ const k = s ? s[L._index] : void 0, T = k ? k[b] : void 0, ce = T ? new Date(T) : void 0;
111
111
  ce && re && (v = `${wt(
112
112
  ce,
113
113
  re,
@@ -166,10 +166,10 @@ const Me = Ft.createContext({
166
166
  if (v.shiftKey && $ !== void 0) {
167
167
  const k = p?.includes($) ? $ : void 0;
168
168
  if (k !== void 0 && D) {
169
- const E = o;
169
+ const T = o;
170
170
  for (const ce of Pt(
171
- E > k ? k + 1 : E,
172
- E > k ? E + 1 : k
171
+ T > k ? k + 1 : T,
172
+ T > k ? T + 1 : k
173
173
  )) {
174
174
  const me = D[ce]._index;
175
175
  (!O || !O.includes(me)) && te(me);
@@ -192,7 +192,7 @@ const Me = Ft.createContext({
192
192
  ), _e = e.useRef(null);
193
193
  if (!L || !B)
194
194
  return null;
195
- if (!T || s && !s[L._index])
195
+ if (!M || s && !s[L._index])
196
196
  return /* @__PURE__ */ n("div", { ...B, children: "loading" });
197
197
  if (b === ee)
198
198
  return /* @__PURE__ */ n("div", { ...B, onMouseDown: V, children: /* @__PURE__ */ n("div", { style: { textAlign: "center" }, children: /* @__PURE__ */ n(
@@ -261,9 +261,9 @@ const on = ({ index: t, style: o }) => {
261
261
  dropTargetIndex: _,
262
262
  isColumnFilterable: R,
263
263
  isSortable: I,
264
- setCheckedIndexes: T,
264
+ setCheckedIndexes: M,
265
265
  properties: $,
266
- required: M,
266
+ required: E,
267
267
  setCustomColumnNames: y,
268
268
  setDropTargetIndex: S,
269
269
  setFilterSortColumn: Z,
@@ -293,7 +293,7 @@ const on = ({ index: t, style: o }) => {
293
293
  defaultSortDesc: v,
294
294
  showTimezones: A = !w,
295
295
  title: k
296
- } = G || {}, E = e.useCallback(() => {
296
+ } = G || {}, T = e.useCallback(() => {
297
297
  if (B) {
298
298
  if (se === void 0) {
299
299
  Z(C, !v);
@@ -307,7 +307,7 @@ const on = ({ index: t, style: o }) => {
307
307
  C,
308
308
  Z,
309
309
  se
310
- ]), ce = M.includes(C), me = e.useCallback(
310
+ ]), ce = E.includes(C), me = e.useCallback(
311
311
  (j) => {
312
312
  const he = j.currentTarget;
313
313
  Y((we) => {
@@ -363,11 +363,11 @@ const on = ({ index: t, style: o }) => {
363
363
  },
364
364
  [oe, C, S]
365
365
  ), Le = rn(), Ze = e.useCallback(() => {
366
- !T || !m || T(
366
+ !M || !m || M(
367
367
  Le ? [] : m.map((j) => j._index).filter((j) => !O?.includes(j))
368
368
  );
369
369
  }, [
370
- T,
370
+ M,
371
371
  m,
372
372
  Le,
373
373
  O
@@ -427,7 +427,7 @@ const on = ({ index: t, style: o }) => {
427
427
  {
428
428
  className: "mig-schema-table__th__label-body",
429
429
  style: { lineHeight: "44px" },
430
- onClick: E,
430
+ onClick: T,
431
431
  children: [
432
432
  /* @__PURE__ */ n("span", { className: "mig-schema-table__th__label-body-text", children: Ce }),
433
433
  se === void 0 ? null : /* @__PURE__ */ n("span", { className: "mig-schema-table__th__sort-icon", children: se ? "↓" : "↑" })
@@ -473,12 +473,12 @@ const on = ({ index: t, style: o }) => {
473
473
  propSchema: l,
474
474
  translate: O
475
475
  }) => {
476
- const { displayTimezone: _ } = e.useContext(Me), { type: R, format: I, minimum: T, maximum: $ } = l || {}, M = t, y = I === "date-time";
476
+ const { displayTimezone: _ } = e.useContext(Me), { type: R, format: I, minimum: M, maximum: $ } = l || {}, E = t, y = I === "date-time";
477
477
  let S, Z, Y, D;
478
478
  switch (R) {
479
479
  case "number":
480
480
  case "integer":
481
- return S = M || {}, Z = (s, m, b) => {
481
+ return S = E || {}, Z = (s, m, b) => {
482
482
  const w = {
483
483
  ...S,
484
484
  [s]: m.value === "" ? void 0 : parseInt(m.value)
@@ -486,7 +486,7 @@ const on = ({ index: t, style: o }) => {
486
486
  (te) => isFinite(te)
487
487
  );
488
488
  o(
489
- U !== void 0 && (T === void 0 || U >= T) ? w : void 0,
489
+ U !== void 0 && (M === void 0 || U >= M) ? w : void 0,
490
490
  b
491
491
  );
492
492
  }, /* @__PURE__ */ W("ol", { className: "mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component", children: [
@@ -538,7 +538,7 @@ const on = ({ index: t, style: o }) => {
538
538
  );
539
539
  },
540
540
  onKeyDown: u,
541
- min: T,
541
+ min: M,
542
542
  max: $
543
543
  }
544
544
  )
@@ -546,7 +546,7 @@ const on = ({ index: t, style: o }) => {
546
546
  })
547
547
  ] });
548
548
  case "boolean":
549
- return Y = ["✓", "✕"], p || Y.push("?"), D = M ? "✓" : "✕", M === null && (D = "?"), M === void 0 && (D = ""), /* @__PURE__ */ n("ol", { className: "mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component", children: /* @__PURE__ */ n("li", { children: /* @__PURE__ */ W(
549
+ return Y = ["✓", "✕"], p || Y.push("?"), D = E ? "✓" : "✕", E === null && (D = "?"), E === void 0 && (D = ""), /* @__PURE__ */ n("ol", { className: "mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component", children: /* @__PURE__ */ n("li", { children: /* @__PURE__ */ W(
550
550
  "select",
551
551
  {
552
552
  autoFocus: !0,
@@ -589,7 +589,7 @@ const on = ({ index: t, style: o }) => {
589
589
  {
590
590
  autoFocus: !0,
591
591
  className: "form-select",
592
- value: M,
592
+ value: E,
593
593
  "data-prop-name": f,
594
594
  onChange: (s) => {
595
595
  o(s.currentTarget.value || void 0, !0);
@@ -725,7 +725,7 @@ const on = ({ index: t, style: o }) => {
725
725
  className: "form-control",
726
726
  placeholder: `Search ${f}`,
727
727
  "aria-label": `Search ${f}`,
728
- value: M || "",
728
+ value: E || "",
729
729
  "data-prop-name": f,
730
730
  onChange: (s) => {
731
731
  o(s.currentTarget.value || void 0, !1);
@@ -749,9 +749,9 @@ const on = ({ index: t, style: o }) => {
749
749
  propName: _,
750
750
  propSchema: R,
751
751
  referenceElement: I,
752
- setFilterSortColumn: T,
752
+ setFilterSortColumn: M,
753
753
  translate: $,
754
- value: M
754
+ value: E
755
755
  }) => {
756
756
  const y = mt({
757
757
  placement: "bottom-start",
@@ -785,14 +785,14 @@ const on = ({ index: t, style: o }) => {
785
785
  ]);
786
786
  const Z = l?.FilterMenu || ln, Y = e.useCallback(
787
787
  (m) => {
788
- T(_, !0), p(m);
788
+ M(_, !0), p(m);
789
789
  },
790
- [p, _, T]
790
+ [p, _, M]
791
791
  ), D = e.useCallback(
792
792
  (m) => {
793
- T(_, !1), p(m);
793
+ M(_, !1), p(m);
794
794
  },
795
- [p, _, T]
795
+ [p, _, M]
796
796
  ), s = e.useCallback(() => {
797
797
  u(void 0, !0);
798
798
  }, [u]);
@@ -827,8 +827,8 @@ const on = ({ index: t, style: o }) => {
827
827
  {
828
828
  type: "checkbox",
829
829
  id: "mig-schema-table__th-menu__filters",
830
- checked: M !== void 0,
831
- disabled: M === void 0,
830
+ checked: E !== void 0,
831
+ disabled: E === void 0,
832
832
  onChange: s
833
833
  }
834
834
  ) }),
@@ -849,7 +849,7 @@ const on = ({ index: t, style: o }) => {
849
849
  children: /* @__PURE__ */ n(
850
850
  Z,
851
851
  {
852
- columnFilterValue: M,
852
+ columnFilterValue: E,
853
853
  onChange: u,
854
854
  onInputKeyDown: f,
855
855
  propIsRequired: O,
@@ -869,10 +869,10 @@ const on = ({ index: t, style: o }) => {
869
869
  }) => {
870
870
  const [f, l] = e.useState(0), O = xt(), _ = e.useCallback(
871
871
  ($) => {
872
- const M = t.map(
872
+ const E = t.map(
873
873
  (y, S) => S === o ? Math.max(y + $, vt) : y
874
874
  );
875
- O(M);
875
+ O(E);
876
876
  },
877
877
  [t, o, O]
878
878
  );
@@ -882,26 +882,26 @@ const on = ({ index: t, style: o }) => {
882
882
  u(parseInt($.currentTarget.dataset.columnIndex)), l($.clientX);
883
883
  },
884
884
  [u]
885
- ), T = e.useCallback(
885
+ ), M = e.useCallback(
886
886
  ($) => {
887
887
  _($.clientX - f), l(0), u(-1);
888
888
  },
889
889
  [f, _, u]
890
890
  );
891
- return /* @__PURE__ */ n("div", { children: [...t].map(($, M) => {
891
+ return /* @__PURE__ */ n("div", { children: [...t].map(($, E) => {
892
892
  R += $;
893
893
  const y = ["mig-schema-table__column_resizer"];
894
- return M === o && y.push("mig-schema-table__column_resizer--dragged"), /* @__PURE__ */ n(
894
+ return E === o && y.push("mig-schema-table__column_resizer--dragged"), /* @__PURE__ */ n(
895
895
  "div",
896
896
  {
897
897
  style: { left: R - en, bottom: p },
898
898
  className: y.join(" "),
899
899
  draggable: "true",
900
- "data-column-index": M,
900
+ "data-column-index": E,
901
901
  onDragStart: I,
902
- onDragEnd: T
902
+ onDragEnd: M
903
903
  },
904
- M
904
+ E
905
905
  );
906
906
  }) });
907
907
  }, _t = (t) => {
@@ -979,9 +979,9 @@ const pn = ({
979
979
  data: _,
980
980
  defaultColumnFilters: R,
981
981
  defaultSortAsc: I = !1,
982
- defaultSortColumn: T,
982
+ defaultSortColumn: M,
983
983
  disabledCheckedIndexes: $,
984
- displayTimezone: M,
984
+ displayTimezone: E,
985
985
  enableAutoFocus: y = !0,
986
986
  enableRowCounter: S = !0,
987
987
  getRowClassName: Z,
@@ -1007,7 +1007,7 @@ const pn = ({
1007
1007
  settingsStorageKey: v,
1008
1008
  style: A,
1009
1009
  translate: k = ft,
1010
- useFilterStateHash: E,
1010
+ useFilterStateHash: T,
1011
1011
  variableSizeGridRef: ce,
1012
1012
  width: me
1013
1013
  }) => {
@@ -1016,10 +1016,10 @@ const pn = ({
1016
1016
  ), [fe, qe] = e.useState(), [a, ke] = e.useState({
1017
1017
  searchQuery: "",
1018
1018
  columnFilterMap: R || {},
1019
- sortColumn: T,
1019
+ sortColumn: M,
1020
1020
  sortAsc: I
1021
1021
  }), [z, Dt] = e.useState(
1022
- E ? ct(window.location.hash) : null
1022
+ T ? ct(window.location.hash) : null
1023
1023
  );
1024
1024
  e.useEffect(() => {
1025
1025
  J || ge(_);
@@ -1033,7 +1033,7 @@ const pn = ({
1033
1033
  }, [_, J, z, x, a]), e.useEffect(() => {
1034
1034
  fe || qe(a);
1035
1035
  }, [a, fe]), e.useEffect(() => {
1036
- if (!E)
1036
+ if (!T)
1037
1037
  return;
1038
1038
  const r = () => {
1039
1039
  Dt(ct(window.location.hash));
@@ -1041,24 +1041,24 @@ const pn = ({
1041
1041
  return window.addEventListener("hashchange", r), () => {
1042
1042
  window.removeEventListener("hashchange", r);
1043
1043
  };
1044
- }, [E]), e.useEffect(() => {
1045
- if (!E)
1044
+ }, [T]), e.useEffect(() => {
1045
+ if (!T)
1046
1046
  return;
1047
1047
  const { columnFilterMap: r, searchQuery: c, sortAsc: d, sortColumn: i } = z || {}, h = {
1048
1048
  searchQuery: c || "",
1049
1049
  columnFilterMap: r || R || {},
1050
1050
  sortAsc: d === void 0 ? I : d,
1051
- sortColumn: i === void 0 ? T : i
1051
+ sortColumn: i === void 0 ? M : i
1052
1052
  };
1053
1053
  ke(
1054
1054
  (N) => et(h, N) ? N : h
1055
1055
  );
1056
1056
  }, [
1057
1057
  z,
1058
- E,
1058
+ T,
1059
1059
  R,
1060
1060
  I,
1061
- T
1061
+ M
1062
1062
  ]), e.useEffect(() => {
1063
1063
  re && re(a);
1064
1064
  }, [re, a]);
@@ -1133,9 +1133,9 @@ const pn = ({
1133
1133
  N?.dateFormat || yt
1134
1134
  ), d;
1135
1135
  if (h.format === "date-time" && g)
1136
- return d[i] = M ? wt(
1136
+ return d[i] = E ? wt(
1137
1137
  new Date(g),
1138
- M,
1138
+ E,
1139
1139
  Je
1140
1140
  ) : tt(
1141
1141
  new Date(g),
@@ -1151,7 +1151,7 @@ const pn = ({
1151
1151
  { _index: c }
1152
1152
  )
1153
1153
  ) : void 0,
1154
- [x, K, ae, l, k, M]
1154
+ [x, K, ae, l, k, E]
1155
1155
  ), xe = K ? K.length : 0, { dynamicWidthColumnCount: Ge, fixedWidthColumnsWidth: Xe } = e.useMemo(() => {
1156
1156
  let r = 0, c = 0;
1157
1157
  return (K || []).forEach((d) => {
@@ -1314,7 +1314,7 @@ const pn = ({
1314
1314
  [a]
1315
1315
  ), He = e.useCallback(
1316
1316
  (r, c) => {
1317
- if (E) {
1317
+ if (T) {
1318
1318
  window.location.hash = ze({
1319
1319
  ...z,
1320
1320
  sortColumn: r,
@@ -1324,7 +1324,7 @@ const pn = ({
1324
1324
  }
1325
1325
  ke({ ...a, sortColumn: r, sortAsc: c });
1326
1326
  },
1327
- [a, z, E]
1327
+ [a, z, T]
1328
1328
  ), Mt = e.useCallback(
1329
1329
  (r) => {
1330
1330
  ke({
@@ -1337,7 +1337,7 @@ const pn = ({
1337
1337
  qe(a), ge(void 0);
1338
1338
  }, [a]);
1339
1339
  e.useEffect(() => {
1340
- if (!p || !z || !fe || !E)
1340
+ if (!p || !z || !fe || !T)
1341
1341
  return;
1342
1342
  const r = Object.keys(z);
1343
1343
  let c = !1;
@@ -1358,11 +1358,11 @@ const pn = ({
1358
1358
  z,
1359
1359
  fe,
1360
1360
  De,
1361
- E
1361
+ T
1362
1362
  ]);
1363
1363
  const at = e.useCallback(
1364
1364
  (r) => {
1365
- r.key === "Enter" && (j(void 0), Ne && De(), G && r.currentTarget.className === "mig-schema-table__search" && G(a.searchQuery || ""));
1365
+ r.key === "Enter" && (j(void 0), Ne && !T && De(), G && r.currentTarget.className === "mig-schema-table__search" && G(a.searchQuery || ""));
1366
1366
  },
1367
1367
  [Ne, a.searchQuery, G, De]
1368
1368
  ), Ye = e.useCallback(() => B, [B]), ue = e.useMemo(() => Xt(ie), [ie]), Se = e.useMemo(
@@ -1390,7 +1390,7 @@ const pn = ({
1390
1390
  (r, c) => {
1391
1391
  if (!Q)
1392
1392
  return;
1393
- if (E && c !== !1) {
1393
+ if (T && c !== !1) {
1394
1394
  window.location.hash = ze({
1395
1395
  ...z,
1396
1396
  columnFilterMap: {
@@ -1418,25 +1418,25 @@ const pn = ({
1418
1418
  a,
1419
1419
  z,
1420
1420
  Q,
1421
- E
1421
+ T
1422
1422
  ]
1423
1423
  ), At = e.useCallback(() => {
1424
1424
  const r = {
1425
1425
  searchQuery: "",
1426
1426
  columnFilterMap: {},
1427
1427
  // Clear button should clear _ALL_ filters, do _NOT_ revert to defaultColumnFilters
1428
- sortColumn: T,
1428
+ sortColumn: M,
1429
1429
  sortAsc: I
1430
1430
  };
1431
- E && (window.location.hash = ze(r)), qe(r), ke(r);
1432
- }, [E, I, T]), Nt = e.useCallback(() => {
1431
+ T && (window.location.hash = ze(r)), qe(r), ke(r);
1432
+ }, [T, I, M]), Nt = e.useCallback(() => {
1433
1433
  const r = z?.searchQuery || "";
1434
- E && // prevent hash change for undefined vs empty string compare
1434
+ T && // prevent hash change for undefined vs empty string compare
1435
1435
  (a.searchQuery || r) && a.searchQuery !== r && (window.location.hash = ze({
1436
1436
  ...z,
1437
1437
  searchQuery: a.searchQuery
1438
1438
  }));
1439
- }, [z, a.searchQuery, E]), It = e.useCallback(
1439
+ }, [z, a.searchQuery, T]), It = e.useCallback(
1440
1440
  async (r) => {
1441
1441
  r.preventDefault(), r.stopPropagation(), X && await hn(X);
1442
1442
  },
@@ -1558,7 +1558,7 @@ const pn = ({
1558
1558
  columnWidths: ie,
1559
1559
  config: l,
1560
1560
  disabledCheckedIndexes: $,
1561
- displayTimezone: M,
1561
+ displayTimezone: E,
1562
1562
  dropTargetIndex: Le,
1563
1563
  getRowClassName: Z,
1564
1564
  getRowSelected: Y,
@@ -1726,11 +1726,11 @@ const pn = ({
1726
1726
  e.useEffect(() => {
1727
1727
  _ > o && O();
1728
1728
  }, [_, u, f, o, O]), e.useEffect(() => {
1729
- const T = setInterval(() => {
1729
+ const M = setInterval(() => {
1730
1730
  p(/* @__PURE__ */ new Date());
1731
1731
  }, 1e3);
1732
1732
  return () => {
1733
- clearInterval(T);
1733
+ clearInterval(M);
1734
1734
  };
1735
1735
  }, []);
1736
1736
  const R = o - _;
@@ -1 +1 @@
1
- (function(E,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("date-fns/locale/nl"),require("@date-fns/tz"),require("@floating-ui/react-dom"),require("react-window-infinite-loader"),require("file-saver")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom","react-window","date-fns","date-fns/locale","mig-data-tools","lodash","react-datepicker","date-fns/locale/nl","@date-fns/tz","@floating-ui/react-dom","react-window-infinite-loader","file-saver"],t):(E=typeof globalThis<"u"?globalThis:E||self,t(E["mig-schema-table"]={},E.jsxRuntime,E.React,E.ReactDOM,E.reactWindow,E.dateFns,E.locale,E.migDataTools,E.lodash,E.DatePicker,E.nl,E.tz,E.reactDom,E.InfiniteLoader,E.fileSaver))})(this,(function(E,t,e,kt,Pe,Ve,xt,j,ge,ot,it,Fe,We,Mt,Et){"use strict";function Tt(n){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const a in n)if(a!=="default"){const m=Object.getOwnPropertyDescriptor(n,a);Object.defineProperty(r,a,m.get?m:{enumerable:!0,get:()=>n[a]})}}return r.default=n,Object.freeze(r)}const Dt=Tt(e),Je=(n,r)=>Ve.format(n,r,{locale:xt.nl}).replace(".",""),Lt={"Europe/Amsterdam":"AMS","Europe/Berlin":"AMS","Asia/Jakarta":"JKT","Asia/Bangkok":"JKT",showingFilteredCountOfTotalCount:"Showing {0} of {1}"};function lt(n,...r){let a=Lt[n]||j.unCamel(n);return r.forEach((m,b)=>{a=a.replace(`{${b}}`,`${m}`)}),a}const R="SELECT_ALL_COLUMN_NAME",at=40,He="dd MMM yyyy",Le="dd MMM yyyy HH:mm",Ge=25,ct=50,dt=3;var fe=(n=>(n.GT="GT",n.LT="LT",n.EQ="EQ",n))(fe||{}),xe=(n=>(n.UNAVAILABLE="UNAVAILABLE",n.AVAILABLE="AVAILABLE",n.ACTIVE="ACTIVE",n))(xe||{});const Me=Dt.createContext({checkedIndexes:[],columnNames:[],columnWidths:new Uint16Array,config:{},disabledCheckedIndexes:[],dropTargetIndex:-1,isColumnFilterable:!1,isItemLoaded:()=>!1,isSortable:!1,properties:{},required:[],setCustomColumnNames:j.emptyFn,setCustomColumnWidths:j.emptyFn,setDropTargetIndex:j.emptyFn,setFilterSortColumn:j.emptyFn,setLastCheckChangedRowIndex:j.emptyFn,setMenuConfig:j.emptyFn,tableDataState:{searchQuery:"",columnFilterMap:{},sortColumn:"",sortAsc:!1},translate:j.emptyFn}),At={type:"boolean"},It=({columnIndex:n,rowIndex:r,style:a})=>{const{checkedIndexes:m,columnNames:b,config:c,disabledCheckedIndexes:F,displayTimezone:_,getRowClassName:W,getRowSelected:S,isItemLoaded:T,lastCheckChangedRowIndex:$,onRowClick:D,onRowDoubleClick:y,properties:O,setCheckedIndexes:H,setLastCheckChangedRowIndex:ee,sortedRenderData:M,sourceData:o,translate:h}=e.useContext(Me),p=b[n],w=p===R?At:O[p],Z=c?c[p]:void 0,ne=e.useCallback(v=>{H&&H(I=>I&&I.includes(v)?I.filter(L=>L!==v):I?[...I,v]:[v])},[H]),ce=T(r),re=e.useCallback(v=>{if(!o||!M||!D||!ce)return;const{rowIndex:I}=v.currentTarget.dataset;if(!I)return;const k=M[parseInt(I,10)];D(o[k._index],k._index,v)},[ce,D,M,o]),C=e.useCallback(v=>{if(!o||!M||!y||!T)return;const{rowIndex:I}=v.currentTarget.dataset;if(!I)return;const k=M[parseInt(I,10)];y(o[k._index],k._index,v)},[T,y,M,o]),A=M?M[r]:void 0,{showTimezones:ie,TdBody:X}=Z||{},se=e.useMemo(()=>_?null:j.timeZone.startsWith("Europe/")?"Asia/Jakarta":"Europe/Amsterdam",[_]),z=e.useMemo(()=>{if(!A||!M)return;let v=p===R?void 0:A[p];if(w?.format&&w.format==="date-time"&&ie!==!1){const k=o?o[A._index]:void 0,L=k?k[p]:void 0,de=L?new Date(L):void 0;de&&se&&(v=`${j.localeFormatInTimeZone(de,se,Le)} (${h(se)})`)}const I=["mig-schema-table__td",`mig-schema-table__td--${r%2?"odd":"even"}`,`mig-schema-table__td--prop-${p}`];switch(o&&S&&S(o[A._index],A._index)&&I.push("mig-schema-table__td--selected"),o&&W&&I.push(W(o[A._index],A._index,M)),w?.type){case"boolean":I.push(`text-${Z?.align||"center"}`);break;case"number":case"integer":I.push(`text-${Z?.align||"end"}`);break;default:Z?.align&&I.push(`text-${Z.align}`)}return{"data-row-index":r,"data-column-index":n,style:a,className:I.join(" "),title:v,onClick:p===R?void 0:re,onDoubleClick:p===R?void 0:C}},[A,M,p,w,ie,r,o,S,W,n,a,re,C,se,h,Z]),V=e.useCallback(v=>{if(!ne||!A)return;const I=parseInt(v.currentTarget.dataset.rowIndex);if(v.shiftKey&&$!==void 0){const k=m?.includes($)?$:void 0;if(k!==void 0&&M){const L=r;for(const de of ge.range(L>k?k+1:L,L>k?L+1:k)){const me=M[de]._index;(!F||!F.includes(me))&&ne(me)}}}else ne(A._index);ee(I),we.current?.focus()},[m,F,$,ne,A,r,ee,M]),we=e.useRef(null);if(!A||!z)return null;if(!T||o&&!o[A._index])return t.jsx("div",{...z,children:"loading"});if(p===R)return t.jsx("div",{...z,onMouseDown:V,children:t.jsx("div",{style:{textAlign:"center"},children:t.jsx("input",{ref:we,type:"checkbox",readOnly:!0,checked:m?.includes(A._index),disabled:F?.includes(A._index)})})});if(X&&o)return t.jsx("div",{...z,children:t.jsx(X,{dataIndex:A._index,rowData:o[A._index],rowIndex:r,...Z?.tdBodyProps})});const G=A[p];return w?.format==="url"&&G?t.jsx("a",{href:G,target:"_blank",rel:"noopener noreferrer",...z,children:G}):t.jsx("div",{...z,children:G})},ut=e.memo(It);function Nt(){const{checkedIndexes:n,disabledCheckedIndexes:r,sortedRenderData:a}=e.useContext(Me);return e.useMemo(()=>{const m=[...a||[]].filter(b=>(n?n.includes(b._index):!0)||(r?!r.includes(b._index):!0));return n?.length!==0&&m.length===n?.length},[n,r,a])}function ht(n,r,a){return!!(n&&a?.isSortable!==!1&&(r||a?.renderData||a?.sort))}function ft(){const{setCustomColumnWidths:n,settingsStorageKey:r}=e.useContext(Me);return e.useCallback(a=>{r&&localStorage.setItem(`${r}.columnWidths`,JSON.stringify(Array.from(a))),n(a)},[n,r])}const St=({index:n,style:r})=>{const{checkedIndexes:a,columnNames:m,columnWidths:b,config:c,disabledCheckedIndexes:F,dropTargetIndex:_,isColumnFilterable:W,isSortable:S,setCheckedIndexes:T,properties:$,required:D,setCustomColumnNames:y,setDropTargetIndex:O,setFilterSortColumn:H,setMenuConfig:ee,settingsStorageKey:M,tableDataState:o,sortedRenderData:h,translate:p,displayTimezone:w}=e.useContext(Me),[Z,ne]=e.useState(!1),ce=n===_,re=ft(),C=m[n],A=C===R?{type:"boolean"}:$[C],ie=o.sortColumn===C?o.sortAsc:void 0,X=c?c[C]:void 0;let se=W&&(A||X?.FilterMenu)&&X?.isFilterable!==!1?xe.AVAILABLE:xe.UNAVAILABLE;o.columnFilterMap&&o.columnFilterMap[C]!==void 0&&(se=xe.ACTIVE);const z=ht(S,A,X),V=["mig-schema-table__th",`mig-schema-table__th--filter-${se}`,`mig-schema-table__th--prop-${C}`];V.push(z?"mig-schema-table__th--sortable":"mig-schema-table__th--unsortable"),ie!==void 0&&V.push("mig-schema-table__th--sorted"),Z&&V.push("mig-schema-table__th--dragging"),ce&&V.push("mig-schema-table__th--drop-target");const{format:we}=A||{},{align:G,defaultSortDesc:v,showTimezones:I=!w,title:k}=X||{},L=e.useCallback(()=>{if(z){if(ie===void 0){H(C,!v);return}H(C,!ie)}},[z,v,C,H,ie]),de=D.includes(C),me=e.useCallback(Q=>{const be=Q.currentTarget;ee(ve=>{if(ve?.propName!==C)return{propConfig:X,propIsRequired:de,propName:C,referenceElement:be}})},[X,de,C,ee]),ye=e.useMemo(()=>k!==void 0?k:we==="date-time"&&I?`${p(C)} (${p(w||j.timeZone)})`:p(C),[k,we,I,p,C,w]),oe=e.useCallback((Q,be)=>{if(!m||!b)return;const ve=m.indexOf(Q),P=[...m];P.splice(ve,1);const x=P.indexOf(be);P.splice(x+1,0,Q),y(P);const _e=[...b],pe=_e[ve];_e.splice(ve,1),_e.splice(x+1,0,pe),re(new Uint16Array(_e)),M&&localStorage.setItem(`${M}.columnNames`,JSON.stringify(P))},[m,b,re,M,y]),Ae=e.useCallback(Q=>{oe&&(ne(!0),Q.dataTransfer.effectAllowed="move",Q.dataTransfer.dropEffect="move",Q.dataTransfer.setData("text/plain",C))},[oe,C]),je=e.useCallback(()=>{oe&&(ne(!1),O(-1))},[oe,O]),Xe=e.useCallback(Q=>{oe&&(Q.preventDefault(),O(n))},[n,oe,O]),Ye=e.useCallback(Q=>{if(O(-1),!oe||!C)return;const be=Q.dataTransfer.getData("text/plain");!be||be===C||oe(be,C)},[oe,C,O]),Ie=Nt(),Ke=e.useCallback(()=>{!T||!h||T(Ie?[]:h.map(Q=>Q._index).filter(Q=>!F?.includes(Q)))},[T,h,Ie,F]);if(C===R)return t.jsx("div",{style:r,className:V.join(" "),children:t.jsx("div",{style:{width:"100%",textAlign:"center"},title:`${a?.length||0} selected`,children:t.jsx("input",{type:"checkbox",name:"selectAll",checked:Ie,onChange:Ke})})});switch(A?.type){case"boolean":V.push(`text-${G||"center"}`,`justify-content-${G||"center"}`);break;case"integer":case"number":V.push(`text-${G||"end"}`,`justify-content-${G||"end"}`);break;default:G&&V.push(`text-${G}`)}let U=X?.hoverTitle;return!U&&typeof ye=="string"&&(U=ye),t.jsxs("div",{className:V.join(" "),style:r,title:U,draggable:!0,onDragStart:Ae,onDragEnd:je,onDragOver:Xe,onDrop:Ye,children:[t.jsxs("div",{className:"mig-schema-table__th__label-body",style:{lineHeight:"44px"},onClick:L,children:[t.jsx("span",{className:"mig-schema-table__th__label-body-text",children:ye}),ie===void 0?null:t.jsx("span",{className:"mig-schema-table__th__sort-icon",children:ie?"↓":"↑"})]}),z||se!==xe.UNAVAILABLE?t.jsx("button",{className:"mig-schema-table__th__trigger-el",onClick:me,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(St),Ot={[fe.GT]:">",[fe.LT]:"<",[fe.EQ]:"="},$t=e.memo(({columnFilterValue:n,onChange:r,onInputKeyDown:a,propIsRequired:m,propName:b,propSchema:c,translate:F})=>{const{displayTimezone:_}=e.useContext(Me),{type:W,format:S,minimum:T,maximum:$}=c||{},D=n,y=S==="date-time";let O,H,ee,M;switch(W){case"number":case"integer":return O=D||{},H=(o,h,p)=>{const w={...O,[o]:h.value===""?void 0:parseInt(h.value)},Z=Object.values(w).find(ne=>isFinite(ne));r(Z!==void 0&&(T===void 0||Z>=T)?w:void 0,p)},t.jsxs("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:[m?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:o,...h}=O;o||(h.filterEmpty=!0),r(Object.keys(h).length?h:void 0,!0)}}),"Hide empty values"]}),t.jsx("hr",{})]}),Object.keys(fe).map(o=>{const h=O[o];return t.jsxs("li",{children:[t.jsx("label",{style:{width:40,paddingLeft:16},children:Ot[o]}),t.jsx("input",{className:"form-control",style:{width:120},type:"number",value:h!==void 0?h:"","data-prop-name":b,onChange:p=>{H(o,p.currentTarget,!1)},onBlur:p=>{H(o,p.currentTarget,!0)},onKeyDown:a,min:T,max:$})]},o)})]});case"boolean":return ee=["✓","✕"],m||ee.push("?"),M=D?"✓":"✕",D===null&&(M="?"),D===void 0&&(M=""),t.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:t.jsx("li",{children:t.jsxs("select",{autoFocus:!0,className:"form-select",value:M,"data-prop-name":b,onChange:o=>{switch(o.currentTarget.value){case"✓":r(!0,!0);break;case"✕":r(!1,!0);break;case"?":r(null,!0);break;default:r(void 0,!0)}},children:[t.jsx("option",{value:"",children:"All"},"all"),ee.map(o=>t.jsx("option",{value:o,children:o},`column-filter-select-${o}`))]})})});case"string":if(c?.enum)return t.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:t.jsx("li",{children:t.jsxs("select",{autoFocus:!0,className:"form-select",value:D,"data-prop-name":b,onChange:o=>{r(o.currentTarget.value||void 0,!0)},children:[t.jsx("option",{value:"",children:"All"},"all"),c.enum.map(o=>t.jsx("option",{value:o,children:F(o)},`column-filter-select-${o}`))]})})});if(y||S==="date"){const o=y?Le:He,h=n||{from:void 0,to:void 0,filterEmpty:void 0};return t.jsxs("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:[m?null:t.jsxs("li",{style:{padding:8},children:[t.jsxs("label",{className:"d-flex",children:[t.jsx("input",{type:"checkbox",checked:!!h.filterEmpty,onChange:()=>{const{filterEmpty:p,...w}=h;p||(w.filterEmpty=!0),r(Object.keys(w).length?w:void 0,!0)}}),"Hide empty values"]}),t.jsx("hr",{})]}),t.jsxs("li",{style:{padding:8},children:[t.jsx("label",{style:{width:120,paddingLeft:4},children:"After"}),t.jsx(ot,{dateFormat:o,"data-prop-name":b,locale:it.nl,selected:h.from?new Fe.TZDate(h.from).withTimeZone(_||j.timeZone):null,onChange:p=>{if(!p&&!h.to){r(void 0,!0);return}if(h.to&&p&&p>h.to)return;const w=p?Fe.TZDate.tz(_||j.timeZone,p):void 0;r({...n,from:w},!0)},placeholderText:o,isClearable:!0,selectsStart:!0,showTimeSelect:y,showTimeInput:y,showMonthDropdown:!0,showYearDropdown:!0,timeIntervals:15,shouldCloseOnSelect:!y})]}),t.jsxs("li",{style:{padding:8},children:[t.jsx("label",{style:{width:120,paddingLeft:4},children:"Before"}),t.jsx(ot,{id:"filter-date",dateFormat:o,"data-prop-name":b,locale:it.nl,selectsEnd:!0,selected:h.to?new Fe.TZDate(h.to).withTimeZone(_||j.timeZone):null,showMonthDropdown:!0,showYearDropdown:!0,onChange:p=>{if(!p&&!h.from){r(void 0,!0);return}const w=p?y?Fe.TZDate.tz(_||j.timeZone,p):Ve.endOfDay(p):void 0;h.from&&w&&w<h.from||r({...n,to:w},!0)},placeholderText:o,isClearable:!0,startDate:h.from,endDate:h.to,showTimeInput:y,showTimeSelect:y,timeIntervals:15,shouldCloseOnSelect:!y})]})]})}default:return 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 ${b}`,"aria-label":`Search ${b}`,value:D||"","data-prop-name":b,onChange:o=>{r(o.currentTarget.value||void 0,!1)},onKeyDown:a,onBlur:o=>{r(o.currentTarget.value||void 0,!0)}})})})}}),Ft=({isSortable:n,isFilterable:r,onChange:a,onClose:m,onInputKeyDown:b,propConfig:c,propIsRequired:F,propName:_,propSchema:W,referenceElement:S,setFilterSortColumn:T,translate:$,value:D})=>{const y=We.useFloating({placement:"bottom-start",elements:{reference:S},middleware:[We.flip()]}),O=We.useFloating({placement:"right-start",middleware:[We.flip()]});e.useEffect(()=>{const h=p=>{if(!y.elements.floating)return;let w=p.target;for(;w&&y.elements.floating;){if(w===y.elements.floating||w===O.elements.floating)return;w=w.parentNode===window.document?null:w.parentNode}m(p)};return window.addEventListener("click",h,{capture:!0}),()=>{window.removeEventListener("click",h,{capture:!0})}},[y.elements.floating,m,O.elements.floating]);const H=c?.FilterMenu||$t,ee=e.useCallback(h=>{T(_,!0),m(h)},[m,_,T]),M=e.useCallback(h=>{T(_,!1),m(h)},[m,_,T]),o=e.useCallback(()=>{a(void 0,!0)},[a]);return!n&&!r?null:t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu",ref:y.refs.setFloating,style:y.floatingStyles,children:t.jsxs("ol",{className:"mig-schema-table-menu",children:[n?t.jsxs("li",{onClick:ee,style:{padding:8},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↓"})," ",$("sortAscending")]}):null,n?t.jsxs("li",{onClick:M,style:{padding:8},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↑"})," ",$("sortDescending")]}):null,r?t.jsxs("li",{style:{padding:8},onMouseOver:h=>{O.refs.setReference(h.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:D!==void 0,disabled:D===void 0,onChange:o})}),t.jsx("label",{htmlFor:"mig-schema-table__th-menu__filters",children:$("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(H,{columnFilterValue:D,onChange:a,onInputKeyDown:b,propIsRequired:F,propName:_,propSchema:W,translate:$})}):null]})},Wt=e.memo(Ft),jt=({columnWidths:n,resizeColumnIndex:r,setResizeColumnIndex:a,tableBodyHeight:m})=>{const[b,c]=e.useState(0),F=ft(),_=e.useCallback($=>{const D=n.map((y,O)=>O===r?Math.max(y+$,Ge):y);F(D)},[n,r,F]);let W=0;const S=e.useCallback($=>{a(parseInt($.currentTarget.dataset.columnIndex)),c($.clientX)},[a]),T=e.useCallback($=>{_($.clientX-b),c(0),a(-1)},[b,_,a]);return t.jsx("div",{children:[...n].map(($,D)=>{W+=$;const y=["mig-schema-table__column_resizer"];return D===r&&y.push("mig-schema-table__column_resizer--dragged"),t.jsx("div",{style:{left:W-dt,bottom:m},className:y.join(" "),draggable:"true","data-column-index":D,onDragStart:S,onDragEnd:T},D)})})},bt=n=>{const[r,a]=e.useState({width:0,height:0}),m=e.useMemo(()=>ge.debounce(a,100),[]);return e.useEffect(()=>{if(!n)return;const b=new ResizeObserver(c=>{for(const F of c){const{blockSize:_,inlineSize:W}=F.borderBoxSize[0];m(S=>W&&_&&(S.width!==W||S.height!==_)?{width:W,height:_}:S)}});return b.observe(n),()=>{b.disconnect()}},[m,n]),r},Bt=()=>new Promise((n,r)=>{if(window.ExcelJS){n(window.ExcelJS);return}const a=document.createElement("script");a.src="https://cdnjs.cloudflare.com/ajax/libs/exceljs/4.4.0/exceljs.bare.min.js",a.onload=()=>{n(window.ExcelJS)},a.onerror=()=>{r(new Error("Failed to load ExcelJS library"))},document.head.appendChild(a)}),Qt=async n=>{const{Workbook:r}=await Bt(),a=new r,m=a.addWorksheet("Data");n.length&&(m.addRow(ge.difference(Object.keys(n[0]),["_index","SELECT_ALL_COLUMN_NAME"])),m.getRow(1).font={bold:!0},m.addRows(n.map(b=>{const{_index:c,SELECT_ALL_COLUMN_NAME:F,..._}=b;return Object.values(_)})),a.xlsx.writeBuffer().then(b=>{const c=new Blob([b],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});Et.saveAs(c,"export.xlsx")}).catch(b=>{console.error("Error generating Excel file:",b)}))},pt=new Date("1000-01-01 00:00:00Z"),zt=new Intl.NumberFormat("nl-NL"),Ut=new Intl.NumberFormat("nl-NL",{style:"currency",currency:"EUR"});function qt(n,r){const{TdBody:a,sortByValue:m}=r||{};if(m!==void 0)return m;if(!n)return!1;const{format:b,type:c}=n;return b?.startsWith("date")||c==="boolean"||c==="integer"||c==="number"||!!a}const Zt=({CustomElement:n,CustomSearchInput:r,Heading:a=Pe.VariableSizeList,autoRender:m,checkedIndexes:b,config:c,customElementProps:F,data:_,defaultColumnFilters:W,defaultSortAsc:S=!1,defaultSortColumn:T,disabledCheckedIndexes:$,displayTimezone:D,enableAutoFocus:y=!0,enableRowCounter:O=!0,getRowClassName:H,getRowSelected:ee,getSearchQueryFilterResult:M,infiniteLoaderRef:o,isColumnFilterable:h=!0,isExportable:p=!0,isResizable:w=!0,isSearchable:Z=!0,isSortable:ne=!0,itemCount:ce,loadMoreItems:re,maxHeight:C,onRowClick:A,onRowDoubleClick:ie,onSearchEnter:X,onTableDataStateChange:se,rowHeight:z=36,schema:V,searchPlaceholder:we,setCheckedIndexes:G,settingsStorageKey:v,style:I,translate:k=lt,useFilterStateHash:L,variableSizeGridRef:de,width:me})=>{const[ye,oe]=e.useState(),[Ae,je]=e.useState(),[Xe,Ye]=e.useState(-1),[Ie,Ke]=e.useState(-1),[U,Q]=e.useState(),[be,ve]=e.useState(),P=_ instanceof Function,[x,_e]=e.useState(P?void 0:_),[pe,Re]=e.useState(),[i,Ee]=e.useState({searchQuery:"",columnFilterMap:W||{},sortColumn:T,sortAsc:S}),[q,Jt]=e.useState(L?j.parseLocationHash(window.location.hash):null);e.useEffect(()=>{P||_e(_)},[_,P]),e.useEffect(()=>{!P||x!==void 0||_(q&&Object.keys(q).length!==0?{...q,columnFilterMap:q.columnFilterMap||{}}:i).then(_e)},[_,P,q,x,i]),e.useEffect(()=>{pe||Re(i)},[i,pe]),e.useEffect(()=>{if(!L)return;const s=()=>{Jt(j.parseLocationHash(window.location.hash))};return window.addEventListener("hashchange",s),()=>{window.removeEventListener("hashchange",s)}},[L]),e.useEffect(()=>{if(!L)return;const{columnFilterMap:s,searchQuery:d,sortAsc:u,sortColumn:l}=q||{},f={searchQuery:d||"",columnFilterMap:s||W||{},sortAsc:u===void 0?S:u,sortColumn:l===void 0?T:l};Ee(N=>ge.isEqual(f,N)?N:f)},[q,L,W,S,T]),e.useEffect(()=>{se&&se(i)},[se,i]);const gt=e.useRef(null),_t=e.useRef(null),Be=bt(gt.current),Ct=bt(_t.current),Ne=e.useMemo(()=>me||Math.floor(Be.width||0),[Be.width,me]),Se=e.useMemo(()=>!ge.isEqual(i,pe)&&P,[i,pe,P]),{properties:le,required:Ht}=e.useMemo(()=>({properties:{},required:[],...V}),[V]),Qe=v?localStorage.getItem(`${v}.columnNames`):null,ze=v?localStorage.getItem(`${v}.columnWidths`):null,te=e.useMemo(()=>{if(ye)return ye;const s=Qe?JSON.parse(Qe):void 0;let d=Object.keys(le);if(G&&d.unshift(R),c){Object.keys(c).forEach(l=>{d.includes(l)||d.push(l)});const u=Object.entries(c).reduce((l,[f,N])=>(N.hidden&&l.push(f),l),[]);d=d.filter(l=>!u.includes(l)).sort((l,f)=>{let N=c[l]?c[l].order:void 0;N===void 0&&(N=Object.keys(le).findIndex(K=>K===l));let g=c[f]?c[f].order:void 0;return g===void 0&&(g=Object.keys(le).findIndex(K=>K===f)),f===R||l===R?0:N===-1?1:g===-1?-1:N-g})}return s?.length===d.length?s:d},[c,ye,G,le,Qe]),Ue=e.useMemo(()=>x&&te?x.map((s,d)=>te.reduce((u,l)=>{const f=le[l],N=c?c[l]:void 0;if(N?.renderData)return u[l]=N.renderData(s,d),u;if(!f||l===R)return u[l]="",u;const g=s?s[l]:"";switch(f.type){case"array":return u[l]=f.items?.type==="string"&&g?g.map(K=>k(K)).join(", "):JSON.stringify(g),u;case"boolean":return u[l]=g===void 0?"?":g?"✓":"✕",u;case"number":case"integer":return g===void 0?(u[l]="",u):(u[l]=f.format==="currency"?Ut.format(g):zt.format(g),u);case"string":if(f.format==="date"&&g)return u[l]=["2999-12-31","1970-01-01"].includes(g)?"-":Je(new Date(g),N?.dateFormat||He),u;if(f.format==="date-time"&&g)return u[l]=D?j.localeFormatInTimeZone(new Date(g),D,Le):Je(new Date(g),N?.dateFormat||Le),u;if(f.enum)return u[l]=g?k(g):"",u;default:return u[l]=g?`${g}`:"",u}},{_index:d})):void 0,[x,te,le,c,k,D]),Te=te?te.length:0,{dynamicWidthColumnCount:et,fixedWidthColumnsWidth:tt}=e.useMemo(()=>{let s=0,d=0;return(te||[]).forEach(u=>{if(u===R){s+=at;return}const l=c?c[u]:void 0;l?.width?s+=l.width:d+=1},0),{dynamicWidthColumnCount:d,fixedWidthColumnsWidth:s}},[te,c]),ae=e.useMemo(()=>{if(Ae)return new Uint16Array(Ae);const s=ze?new Uint16Array(JSON.parse(ze)):void 0,d=Math.max(Math.floor((Ne-tt)/et),Ge);let u=(Ne-tt)%et;const l=new Uint16Array(te.map(f=>{if(f===R)return at;const N=c?c[f]:void 0;return N?.width?N?.width:u?(u-=1,d+1):d}));return s?.length===l.length?s:l},[te,c,Ae,et,tt,ze,Ne]),qe=e.useCallback(s=>ae?ae[s]:1,[ae]),Oe=e.useMemo(()=>{if(!Ue||!h&&!Z||P)return Ue;const{searchQuery:s}=i,d=s.toLowerCase()||"",u=l=>x&&M?M(x[l._index],s):!(te&&!te.find(f=>`${l[f]}`.toLowerCase().includes(d)));return Ue.filter(l=>{let f=u(l);return!f||!i.columnFilterMap?!1:(Object.entries(i.columnFilterMap).forEach(([N,g])=>{if(!f||g===void 0)return;const K=c?c[N]:void 0;if(x&&K?.filter){f=K.filter(x[l._index],g);return}const he=le[N],B=x[l._index]?.[N];switch(he?.type){case"boolean":case"number":case"integer":if(g&&typeof g=="object"){g.filterEmpty&&B===void 0&&(f=!1);for(const J of Object.keys(fe)){const ke=g[J];if(f&&ge.isFinite(ke))switch(J){case fe.EQ:B!==ke&&(f=!1);break;case fe.GT:B<=ke&&(f=!1);break;case fe.LT:B>=ke&&(f=!1);break}}}else{if(B===void 0&&g===null)return!0;f=B===g}break;case"string":if(typeof g=="object"&&(he.format==="date"||he.format==="date-time")){const{from:J,to:ke,filterEmpty:vt}=g;if(!B)f=!vt;else{const Ze=B?new Date(B):void 0;(vt===!1||J&&(!Ze||Ze<J)||ke&&(!Ze||Ze>ke))&&(f=!1)}return}default:if(he?.enum){f=B===g;return}f=`${l[N]}`.toLowerCase().includes(`${g}`.toLowerCase())}}),f)})},[Ue,h,Z,P,i,M,te,c,x,le]),Y=e.useMemo(()=>{const{sortAsc:s,sortColumn:d}=i;if(!d||!Oe||!x||P)return Oe;const u=le[d],l=c?c[d]:void 0,f=l?.sort;if(f)return Oe.sort((K,he)=>{const B=x[K._index],J=x[he._index];return B?J?f(B,J,s===void 0?S:s):-1:1});const N=u&&u.format?.startsWith("date"),g=qt(u,l);return Oe.sort((K,he)=>{let B=g&&x[K._index]?x[K._index][d]:`${K[d]}`.toLowerCase(),J=g&&x[he._index]?x[he._index][d]:`${he[d]}`.toLowerCase();return g&&N&&(B=new Date(B),isNaN(B.getTime())&&(B=pt),J=new Date(J),isNaN(J.getTime())&&(J=pt)),B===J?0:B?J?(B<J?1:-1)*(s?-1:1):s?1:-1:s?-1:1})},[c,S,Oe,P,le,x,i]),wt=e.useCallback(s=>{const d={...i.columnFilterMap};delete d[s],Ee({...i,columnFilterMap:d})},[i]),nt=e.useCallback((s,d)=>{if(L){window.location.hash=j.serializeLocationHash({...q,sortColumn:s,sortAsc:d});return}Ee({...i,sortColumn:s,sortAsc:d})},[i,q,L]),Gt=e.useCallback(s=>{Ee({...i,searchQuery:s.currentTarget.value})},[i]),De=e.useCallback(()=>{Re(i),_e(void 0)},[i]);e.useEffect(()=>{if(!m||!q||!pe||!L)return;const s=Object.keys(q);let d=!1;for(const u of s){const l=q[u],f=pe[u];if(typeof l=="string"&&l!==f){d=!0;break}if(typeof l=="object"&&!ge.isEqual(l,f)){d=!0;break}}d&&De()},[m,q,pe,De,L]);const yt=e.useCallback(s=>{s.key==="Enter"&&(Q(void 0),Se&&De(),X&&s.currentTarget.className==="mig-schema-table__search"&&X(i.searchQuery||""))},[Se,i.searchQuery,X,De]),rt=e.useCallback(()=>z,[z]),ue=e.useMemo(()=>ge.sum(ae),[ae]),$e=e.useMemo(()=>Y?Y.length:0,[Y]),Ce=e.useMemo(()=>{const s=z*$e;let d;if(C&&(d=C==="100%"?Be.height:C,!d))return 0;const u=d?d-Ct.height-ct:0;return u&&u<s?u:s},[z,$e,C,Ct,Be.height]),Xt=e.useCallback(s=>{Q(void 0),s.preventDefault(),s.stopPropagation()},[]),Yt=e.useCallback((s,d)=>{if(!U)return;if(L&&d!==!1){window.location.hash=j.serializeLocationHash({...q,columnFilterMap:{...i.columnFilterMap,[U.propName]:s}});return}if(s===void 0){wt(U.propName);return}const u={...i.columnFilterMap,[U.propName]:s};Ee({...i,columnFilterMap:u})},[wt,i,q,U,L]),Kt=e.useCallback(()=>{const s={searchQuery:"",columnFilterMap:{},sortColumn:T,sortAsc:S};L&&(window.location.hash=j.serializeLocationHash(s)),Re(s),Ee(s)},[L,S,T]),Rt=e.useCallback(()=>{const s=q?.searchQuery||"";L&&(i.searchQuery||s)&&i.searchQuery!==s&&(window.location.hash=j.serializeLocationHash({...q,searchQuery:i.searchQuery}))},[q,i.searchQuery,L]),en=e.useCallback(async s=>{s.preventDefault(),s.stopPropagation(),Y&&await Qt(Y)},[Y]),tn=e.useCallback(()=>{v&&(localStorage.removeItem(`${v}.columnNames`),localStorage.removeItem(`${v}.columnWidths`),oe(void 0),je(void 0))},[v]),st=e.useCallback(s=>{if(!Y||!x||!re||!ce)return!0;const d=Y[s];return d&&x[d._index]!==void 0},[ce,re,Y,x]),nn=e.useMemo(()=>Ce?!(x&&!Se)&&!re?t.jsx("div",{style:{width:ue,height:Math.max(50,Ce),border:"1px solid #BBB",textAlign:"center",display:"flex",backgroundColor:"#CCC",alignItems:"center",justifyContent:"center"},children:Se?t.jsx("button",{onClick:De,className:"btn border",children:"Refresh data"}):t.jsx("div",{children:"⌛ Loading..."})}):re&&ce?t.jsx(Mt,{ref:o,isItemLoaded:st,itemCount:ce,loadMoreItems:re,children:({onItemsRendered:d,ref:u})=>t.jsx(Pe.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:z,height:Ce,width:ue,columnWidth:qe,rowHeight:rt,columnCount:Te,rowCount:$e,ref:u,onItemsRendered:({overscanRowStartIndex:l,overscanRowStopIndex:f,visibleRowStartIndex:N,visibleRowStopIndex:g})=>d({overscanStartIndex:l,overscanStopIndex:f,visibleStartIndex:N,visibleStopIndex:g}),children:ut},`tbody_${Ce}_${ue}_${i.sortColumn}_${i.sortAsc}_${i.searchQuery}_${Te}_${ae.join(" ")}`)}):t.jsx(Pe.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:z,height:Ce,width:ue,columnWidth:qe,rowHeight:rt,columnCount:Te,rowCount:$e,ref:de,children:ut},`tbody_${Ce}_${ue}_${i.sortColumn}_${i.sortAsc}_${i.searchQuery}_${Te}_${ae.join(" ")}`):null,[Te,ae,qe,rt,o,Se,st,ce,re,De,$e,z,ue,i.searchQuery,i.sortAsc,i.sortColumn,x,Ce,de]),rn=e.useMemo(()=>({...I,width:me?Math.min(ue,Ne):void 0,height:C==="100%"?"100%":void 0,maxHeight:C==="100%"?"100%":void 0}),[C,ue,I,Ne,me]),sn=r||"input";return t.jsx(Me.Provider,{value:{checkedIndexes:b,columnNames:te,columnWidths:ae,config:c,disabledCheckedIndexes:$,displayTimezone:D,dropTargetIndex:Ie,getRowClassName:H,getRowSelected:ee,isColumnFilterable:h,isItemLoaded:st,isSortable:ne,lastCheckChangedRowIndex:be,onRowClick:A,onRowDoubleClick:ie,properties:le,required:Ht,setCheckedIndexes:G,setCustomColumnNames:oe,setCustomColumnWidths:je,setDropTargetIndex:Ke,setFilterSortColumn:nt,setLastCheckChangedRowIndex:ve,setMenuConfig:Q,settingsStorageKey:v,sortedRenderData:Y,sourceData:x,tableDataState:i,translate:k||lt},children:t.jsxs("div",{className:`mig-schema-table${A?" mig-schema-table--clickable-rows":""}`,ref:gt,style:rn,role:"table",children:[t.jsxs("div",{className:"mig-schema-table__action-container",ref:_t,children:[t.jsx("div",{children:Z?t.jsx(sn,{className:"mig-schema-table__search",type:"search",name:"search",autoComplete:"off",placeholder:we||k("search..."),value:i.searchQuery,onChange:Gt,onKeyDown:yt,autoFocus:y,onBlur:Rt}):null}),n?t.jsx(n,{...F,renderData:Y}):t.jsx("div",{className:"mig-schema-table__custom_element_placeholder"}),O&&Array.isArray(_)?t.jsx("span",{className:"mig-schema-table__row_counter",children:k("showingFilteredCountOfTotalCount",Y?.length||0,_.length)}):null,p?t.jsx("button",{onClick:en,style:{marginLeft:8},disabled:!Y?.length,children:k("exportData")}):null,Z||h?t.jsx("button",{onClick:Kt,style:{marginLeft:8},disabled:i.columnFilterMap&&i.searchQuery?Object.keys(i.columnFilterMap).length+i.searchQuery.length===0:!1,children:k("clearFilters")}):null,v?t.jsx("button",{onClick:tn,style:{marginLeft:8},disabled:!Qe&&!ze,children:k("clearSettings")}):null]}),t.jsxs("div",{className:"mig-schema-table__column_resize_container",children:[t.jsx(a,{height:ct,itemCount:Te,itemSize:qe,layout:"horizontal",width:ue,sortAsc:i.sortAsc,setFilterSortColumn:nt,sortColumn:i.sortColumn,sortedRenderData:Y,className:"mig-schema-table__th-row",children:mt},`thead_${ue}_${i.sortColumn}_${i.sortAsc}_${i.searchQuery}_${ae.join(" ")}`),nn,w?t.jsx(jt,{columnWidths:ae,resizeColumnIndex:Xe,setResizeColumnIndex:Ye,tableBodyHeight:Ce}):null]}),x&&x.length===0?t.jsx("div",{className:"mig-schema-table__no_data",children:"No data found"}):null,U?kt.createPortal(t.jsx(Wt,{isFilterable:h&&U.propConfig?.isFilterable!==!1,isSortable:ht(ne,V.properties[U.propName],U.propConfig),onChange:Yt,onClose:Xt,onInputKeyDown:yt,propConfig:U.propConfig,propIsRequired:U.propIsRequired,propName:U.propName,propSchema:V.properties[U.propName],referenceElement:U.referenceElement,setFilterSortColumn:nt,translate:k,value:i.columnFilterMap?i.columnFilterMap[U.propName]:null}),document.body):null]})})},Pt=e.memo(Zt),Vt=e.memo(({refresh:n,period:r=60})=>{const[a,m]=e.useState(new Date),[b,c]=e.useState(new Date),F=e.useCallback(()=>{c(new Date),n()},[n]),_=e.useMemo(()=>Ve.differenceInSeconds(a,b),[a,b]);e.useEffect(()=>{_>r&&F()},[_,a,b,r,F]),e.useEffect(()=>{const T=setInterval(()=>{m(new Date)},1e3);return()=>{clearInterval(T)}},[]);const W=r-_;return t.jsxs("div",{className:"mx-auto",title:`Refresh ${W>0?`in ${W} seconds`:"NOW"}`,children:["Last update ",Je(b,"HH:mm")]})});E.DEFAULT_DATE_FORMAT=He,E.DEFAULT_DATE_TIME_FORMAT=Le,E.EColumnFilterStatus=xe,E.MINIMUM_COLUMN_WIDTH=Ge,E.RESIZER_WIDTH=dt,E.Refresher=Vt,E.SchemaTable=Pt,E.Th=mt,Object.defineProperty(E,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(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("date-fns/locale/nl"),require("@date-fns/tz"),require("@floating-ui/react-dom"),require("react-window-infinite-loader"),require("file-saver")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom","react-window","date-fns","date-fns/locale","mig-data-tools","lodash","react-datepicker","date-fns/locale/nl","@date-fns/tz","@floating-ui/react-dom","react-window-infinite-loader","file-saver"],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.nl,T.tz,T.reactDom,T.InfiniteLoader,T.fileSaver))})(this,(function(T,t,e,kt,Pe,Ve,xt,j,ge,ot,it,Fe,We,Mt,Et){"use strict";function Tt(n){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const a in n)if(a!=="default"){const m=Object.getOwnPropertyDescriptor(n,a);Object.defineProperty(r,a,m.get?m:{enumerable:!0,get:()=>n[a]})}}return r.default=n,Object.freeze(r)}const Dt=Tt(e),Je=(n,r)=>Ve.format(n,r,{locale:xt.nl}).replace(".",""),Lt={"Europe/Amsterdam":"AMS","Europe/Berlin":"AMS","Asia/Jakarta":"JKT","Asia/Bangkok":"JKT",showingFilteredCountOfTotalCount:"Showing {0} of {1}"};function lt(n,...r){let a=Lt[n]||j.unCamel(n);return r.forEach((m,b)=>{a=a.replace(`{${b}}`,`${m}`)}),a}const R="SELECT_ALL_COLUMN_NAME",at=40,He="dd MMM yyyy",Le="dd MMM yyyy HH:mm",Ge=25,ct=50,dt=3;var fe=(n=>(n.GT="GT",n.LT="LT",n.EQ="EQ",n))(fe||{}),xe=(n=>(n.UNAVAILABLE="UNAVAILABLE",n.AVAILABLE="AVAILABLE",n.ACTIVE="ACTIVE",n))(xe||{});const Me=Dt.createContext({checkedIndexes:[],columnNames:[],columnWidths:new Uint16Array,config:{},disabledCheckedIndexes:[],dropTargetIndex:-1,isColumnFilterable:!1,isItemLoaded:()=>!1,isSortable:!1,properties:{},required:[],setCustomColumnNames:j.emptyFn,setCustomColumnWidths:j.emptyFn,setDropTargetIndex:j.emptyFn,setFilterSortColumn:j.emptyFn,setLastCheckChangedRowIndex:j.emptyFn,setMenuConfig:j.emptyFn,tableDataState:{searchQuery:"",columnFilterMap:{},sortColumn:"",sortAsc:!1},translate:j.emptyFn}),At={type:"boolean"},It=({columnIndex:n,rowIndex:r,style:a})=>{const{checkedIndexes:m,columnNames:b,config:c,disabledCheckedIndexes:F,displayTimezone:_,getRowClassName:W,getRowSelected:S,isItemLoaded:D,lastCheckChangedRowIndex:$,onRowClick:L,onRowDoubleClick:y,properties:O,setCheckedIndexes:H,setLastCheckChangedRowIndex:ee,sortedRenderData:M,sourceData:o,translate:h}=e.useContext(Me),p=b[n],w=p===R?At:O[p],Z=c?c[p]:void 0,ne=e.useCallback(v=>{H&&H(I=>I&&I.includes(v)?I.filter(E=>E!==v):I?[...I,v]:[v])},[H]),ce=D(r),re=e.useCallback(v=>{if(!o||!M||!L||!ce)return;const{rowIndex:I}=v.currentTarget.dataset;if(!I)return;const k=M[parseInt(I,10)];L(o[k._index],k._index,v)},[ce,L,M,o]),C=e.useCallback(v=>{if(!o||!M||!y||!D)return;const{rowIndex:I}=v.currentTarget.dataset;if(!I)return;const k=M[parseInt(I,10)];y(o[k._index],k._index,v)},[D,y,M,o]),A=M?M[r]:void 0,{showTimezones:ie,TdBody:X}=Z||{},se=e.useMemo(()=>_?null:j.timeZone.startsWith("Europe/")?"Asia/Jakarta":"Europe/Amsterdam",[_]),z=e.useMemo(()=>{if(!A||!M)return;let v=p===R?void 0:A[p];if(w?.format&&w.format==="date-time"&&ie!==!1){const k=o?o[A._index]:void 0,E=k?k[p]:void 0,de=E?new Date(E):void 0;de&&se&&(v=`${j.localeFormatInTimeZone(de,se,Le)} (${h(se)})`)}const I=["mig-schema-table__td",`mig-schema-table__td--${r%2?"odd":"even"}`,`mig-schema-table__td--prop-${p}`];switch(o&&S&&S(o[A._index],A._index)&&I.push("mig-schema-table__td--selected"),o&&W&&I.push(W(o[A._index],A._index,M)),w?.type){case"boolean":I.push(`text-${Z?.align||"center"}`);break;case"number":case"integer":I.push(`text-${Z?.align||"end"}`);break;default:Z?.align&&I.push(`text-${Z.align}`)}return{"data-row-index":r,"data-column-index":n,style:a,className:I.join(" "),title:v,onClick:p===R?void 0:re,onDoubleClick:p===R?void 0:C}},[A,M,p,w,ie,r,o,S,W,n,a,re,C,se,h,Z]),V=e.useCallback(v=>{if(!ne||!A)return;const I=parseInt(v.currentTarget.dataset.rowIndex);if(v.shiftKey&&$!==void 0){const k=m?.includes($)?$:void 0;if(k!==void 0&&M){const E=r;for(const de of ge.range(E>k?k+1:E,E>k?E+1:k)){const me=M[de]._index;(!F||!F.includes(me))&&ne(me)}}}else ne(A._index);ee(I),we.current?.focus()},[m,F,$,ne,A,r,ee,M]),we=e.useRef(null);if(!A||!z)return null;if(!D||o&&!o[A._index])return t.jsx("div",{...z,children:"loading"});if(p===R)return t.jsx("div",{...z,onMouseDown:V,children:t.jsx("div",{style:{textAlign:"center"},children:t.jsx("input",{ref:we,type:"checkbox",readOnly:!0,checked:m?.includes(A._index),disabled:F?.includes(A._index)})})});if(X&&o)return t.jsx("div",{...z,children:t.jsx(X,{dataIndex:A._index,rowData:o[A._index],rowIndex:r,...Z?.tdBodyProps})});const G=A[p];return w?.format==="url"&&G?t.jsx("a",{href:G,target:"_blank",rel:"noopener noreferrer",...z,children:G}):t.jsx("div",{...z,children:G})},ut=e.memo(It);function Nt(){const{checkedIndexes:n,disabledCheckedIndexes:r,sortedRenderData:a}=e.useContext(Me);return e.useMemo(()=>{const m=[...a||[]].filter(b=>(n?n.includes(b._index):!0)||(r?!r.includes(b._index):!0));return n?.length!==0&&m.length===n?.length},[n,r,a])}function ht(n,r,a){return!!(n&&a?.isSortable!==!1&&(r||a?.renderData||a?.sort))}function ft(){const{setCustomColumnWidths:n,settingsStorageKey:r}=e.useContext(Me);return e.useCallback(a=>{r&&localStorage.setItem(`${r}.columnWidths`,JSON.stringify(Array.from(a))),n(a)},[n,r])}const St=({index:n,style:r})=>{const{checkedIndexes:a,columnNames:m,columnWidths:b,config:c,disabledCheckedIndexes:F,dropTargetIndex:_,isColumnFilterable:W,isSortable:S,setCheckedIndexes:D,properties:$,required:L,setCustomColumnNames:y,setDropTargetIndex:O,setFilterSortColumn:H,setMenuConfig:ee,settingsStorageKey:M,tableDataState:o,sortedRenderData:h,translate:p,displayTimezone:w}=e.useContext(Me),[Z,ne]=e.useState(!1),ce=n===_,re=ft(),C=m[n],A=C===R?{type:"boolean"}:$[C],ie=o.sortColumn===C?o.sortAsc:void 0,X=c?c[C]:void 0;let se=W&&(A||X?.FilterMenu)&&X?.isFilterable!==!1?xe.AVAILABLE:xe.UNAVAILABLE;o.columnFilterMap&&o.columnFilterMap[C]!==void 0&&(se=xe.ACTIVE);const z=ht(S,A,X),V=["mig-schema-table__th",`mig-schema-table__th--filter-${se}`,`mig-schema-table__th--prop-${C}`];V.push(z?"mig-schema-table__th--sortable":"mig-schema-table__th--unsortable"),ie!==void 0&&V.push("mig-schema-table__th--sorted"),Z&&V.push("mig-schema-table__th--dragging"),ce&&V.push("mig-schema-table__th--drop-target");const{format:we}=A||{},{align:G,defaultSortDesc:v,showTimezones:I=!w,title:k}=X||{},E=e.useCallback(()=>{if(z){if(ie===void 0){H(C,!v);return}H(C,!ie)}},[z,v,C,H,ie]),de=L.includes(C),me=e.useCallback(Q=>{const be=Q.currentTarget;ee(ve=>{if(ve?.propName!==C)return{propConfig:X,propIsRequired:de,propName:C,referenceElement:be}})},[X,de,C,ee]),ye=e.useMemo(()=>k!==void 0?k:we==="date-time"&&I?`${p(C)} (${p(w||j.timeZone)})`:p(C),[k,we,I,p,C,w]),oe=e.useCallback((Q,be)=>{if(!m||!b)return;const ve=m.indexOf(Q),P=[...m];P.splice(ve,1);const x=P.indexOf(be);P.splice(x+1,0,Q),y(P);const _e=[...b],pe=_e[ve];_e.splice(ve,1),_e.splice(x+1,0,pe),re(new Uint16Array(_e)),M&&localStorage.setItem(`${M}.columnNames`,JSON.stringify(P))},[m,b,re,M,y]),Ae=e.useCallback(Q=>{oe&&(ne(!0),Q.dataTransfer.effectAllowed="move",Q.dataTransfer.dropEffect="move",Q.dataTransfer.setData("text/plain",C))},[oe,C]),je=e.useCallback(()=>{oe&&(ne(!1),O(-1))},[oe,O]),Xe=e.useCallback(Q=>{oe&&(Q.preventDefault(),O(n))},[n,oe,O]),Ye=e.useCallback(Q=>{if(O(-1),!oe||!C)return;const be=Q.dataTransfer.getData("text/plain");!be||be===C||oe(be,C)},[oe,C,O]),Ie=Nt(),Ke=e.useCallback(()=>{!D||!h||D(Ie?[]:h.map(Q=>Q._index).filter(Q=>!F?.includes(Q)))},[D,h,Ie,F]);if(C===R)return t.jsx("div",{style:r,className:V.join(" "),children:t.jsx("div",{style:{width:"100%",textAlign:"center"},title:`${a?.length||0} selected`,children:t.jsx("input",{type:"checkbox",name:"selectAll",checked:Ie,onChange:Ke})})});switch(A?.type){case"boolean":V.push(`text-${G||"center"}`,`justify-content-${G||"center"}`);break;case"integer":case"number":V.push(`text-${G||"end"}`,`justify-content-${G||"end"}`);break;default:G&&V.push(`text-${G}`)}let U=X?.hoverTitle;return!U&&typeof ye=="string"&&(U=ye),t.jsxs("div",{className:V.join(" "),style:r,title:U,draggable:!0,onDragStart:Ae,onDragEnd:je,onDragOver:Xe,onDrop:Ye,children:[t.jsxs("div",{className:"mig-schema-table__th__label-body",style:{lineHeight:"44px"},onClick:E,children:[t.jsx("span",{className:"mig-schema-table__th__label-body-text",children:ye}),ie===void 0?null:t.jsx("span",{className:"mig-schema-table__th__sort-icon",children:ie?"↓":"↑"})]}),z||se!==xe.UNAVAILABLE?t.jsx("button",{className:"mig-schema-table__th__trigger-el",onClick:me,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(St),Ot={[fe.GT]:">",[fe.LT]:"<",[fe.EQ]:"="},$t=e.memo(({columnFilterValue:n,onChange:r,onInputKeyDown:a,propIsRequired:m,propName:b,propSchema:c,translate:F})=>{const{displayTimezone:_}=e.useContext(Me),{type:W,format:S,minimum:D,maximum:$}=c||{},L=n,y=S==="date-time";let O,H,ee,M;switch(W){case"number":case"integer":return O=L||{},H=(o,h,p)=>{const w={...O,[o]:h.value===""?void 0:parseInt(h.value)},Z=Object.values(w).find(ne=>isFinite(ne));r(Z!==void 0&&(D===void 0||Z>=D)?w:void 0,p)},t.jsxs("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:[m?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:o,...h}=O;o||(h.filterEmpty=!0),r(Object.keys(h).length?h:void 0,!0)}}),"Hide empty values"]}),t.jsx("hr",{})]}),Object.keys(fe).map(o=>{const h=O[o];return t.jsxs("li",{children:[t.jsx("label",{style:{width:40,paddingLeft:16},children:Ot[o]}),t.jsx("input",{className:"form-control",style:{width:120},type:"number",value:h!==void 0?h:"","data-prop-name":b,onChange:p=>{H(o,p.currentTarget,!1)},onBlur:p=>{H(o,p.currentTarget,!0)},onKeyDown:a,min:D,max:$})]},o)})]});case"boolean":return ee=["✓","✕"],m||ee.push("?"),M=L?"✓":"✕",L===null&&(M="?"),L===void 0&&(M=""),t.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:t.jsx("li",{children:t.jsxs("select",{autoFocus:!0,className:"form-select",value:M,"data-prop-name":b,onChange:o=>{switch(o.currentTarget.value){case"✓":r(!0,!0);break;case"✕":r(!1,!0);break;case"?":r(null,!0);break;default:r(void 0,!0)}},children:[t.jsx("option",{value:"",children:"All"},"all"),ee.map(o=>t.jsx("option",{value:o,children:o},`column-filter-select-${o}`))]})})});case"string":if(c?.enum)return t.jsx("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:t.jsx("li",{children:t.jsxs("select",{autoFocus:!0,className:"form-select",value:L,"data-prop-name":b,onChange:o=>{r(o.currentTarget.value||void 0,!0)},children:[t.jsx("option",{value:"",children:"All"},"all"),c.enum.map(o=>t.jsx("option",{value:o,children:F(o)},`column-filter-select-${o}`))]})})});if(y||S==="date"){const o=y?Le:He,h=n||{from:void 0,to:void 0,filterEmpty:void 0};return t.jsxs("ol",{className:"mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component",children:[m?null:t.jsxs("li",{style:{padding:8},children:[t.jsxs("label",{className:"d-flex",children:[t.jsx("input",{type:"checkbox",checked:!!h.filterEmpty,onChange:()=>{const{filterEmpty:p,...w}=h;p||(w.filterEmpty=!0),r(Object.keys(w).length?w:void 0,!0)}}),"Hide empty values"]}),t.jsx("hr",{})]}),t.jsxs("li",{style:{padding:8},children:[t.jsx("label",{style:{width:120,paddingLeft:4},children:"After"}),t.jsx(ot,{dateFormat:o,"data-prop-name":b,locale:it.nl,selected:h.from?new Fe.TZDate(h.from).withTimeZone(_||j.timeZone):null,onChange:p=>{if(!p&&!h.to){r(void 0,!0);return}if(h.to&&p&&p>h.to)return;const w=p?Fe.TZDate.tz(_||j.timeZone,p):void 0;r({...n,from:w},!0)},placeholderText:o,isClearable:!0,selectsStart:!0,showTimeSelect:y,showTimeInput:y,showMonthDropdown:!0,showYearDropdown:!0,timeIntervals:15,shouldCloseOnSelect:!y})]}),t.jsxs("li",{style:{padding:8},children:[t.jsx("label",{style:{width:120,paddingLeft:4},children:"Before"}),t.jsx(ot,{id:"filter-date",dateFormat:o,"data-prop-name":b,locale:it.nl,selectsEnd:!0,selected:h.to?new Fe.TZDate(h.to).withTimeZone(_||j.timeZone):null,showMonthDropdown:!0,showYearDropdown:!0,onChange:p=>{if(!p&&!h.from){r(void 0,!0);return}const w=p?y?Fe.TZDate.tz(_||j.timeZone,p):Ve.endOfDay(p):void 0;h.from&&w&&w<h.from||r({...n,to:w},!0)},placeholderText:o,isClearable:!0,startDate:h.from,endDate:h.to,showTimeInput:y,showTimeSelect:y,timeIntervals:15,shouldCloseOnSelect:!y})]})]})}default:return 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 ${b}`,"aria-label":`Search ${b}`,value:L||"","data-prop-name":b,onChange:o=>{r(o.currentTarget.value||void 0,!1)},onKeyDown:a,onBlur:o=>{r(o.currentTarget.value||void 0,!0)}})})})}}),Ft=({isSortable:n,isFilterable:r,onChange:a,onClose:m,onInputKeyDown:b,propConfig:c,propIsRequired:F,propName:_,propSchema:W,referenceElement:S,setFilterSortColumn:D,translate:$,value:L})=>{const y=We.useFloating({placement:"bottom-start",elements:{reference:S},middleware:[We.flip()]}),O=We.useFloating({placement:"right-start",middleware:[We.flip()]});e.useEffect(()=>{const h=p=>{if(!y.elements.floating)return;let w=p.target;for(;w&&y.elements.floating;){if(w===y.elements.floating||w===O.elements.floating)return;w=w.parentNode===window.document?null:w.parentNode}m(p)};return window.addEventListener("click",h,{capture:!0}),()=>{window.removeEventListener("click",h,{capture:!0})}},[y.elements.floating,m,O.elements.floating]);const H=c?.FilterMenu||$t,ee=e.useCallback(h=>{D(_,!0),m(h)},[m,_,D]),M=e.useCallback(h=>{D(_,!1),m(h)},[m,_,D]),o=e.useCallback(()=>{a(void 0,!0)},[a]);return!n&&!r?null:t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu",ref:y.refs.setFloating,style:y.floatingStyles,children:t.jsxs("ol",{className:"mig-schema-table-menu",children:[n?t.jsxs("li",{onClick:ee,style:{padding:8},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↓"})," ",$("sortAscending")]}):null,n?t.jsxs("li",{onClick:M,style:{padding:8},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↑"})," ",$("sortDescending")]}):null,r?t.jsxs("li",{style:{padding:8},onMouseOver:h=>{O.refs.setReference(h.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:L!==void 0,disabled:L===void 0,onChange:o})}),t.jsx("label",{htmlFor:"mig-schema-table__th-menu__filters",children:$("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(H,{columnFilterValue:L,onChange:a,onInputKeyDown:b,propIsRequired:F,propName:_,propSchema:W,translate:$})}):null]})},Wt=e.memo(Ft),jt=({columnWidths:n,resizeColumnIndex:r,setResizeColumnIndex:a,tableBodyHeight:m})=>{const[b,c]=e.useState(0),F=ft(),_=e.useCallback($=>{const L=n.map((y,O)=>O===r?Math.max(y+$,Ge):y);F(L)},[n,r,F]);let W=0;const S=e.useCallback($=>{a(parseInt($.currentTarget.dataset.columnIndex)),c($.clientX)},[a]),D=e.useCallback($=>{_($.clientX-b),c(0),a(-1)},[b,_,a]);return t.jsx("div",{children:[...n].map(($,L)=>{W+=$;const y=["mig-schema-table__column_resizer"];return L===r&&y.push("mig-schema-table__column_resizer--dragged"),t.jsx("div",{style:{left:W-dt,bottom:m},className:y.join(" "),draggable:"true","data-column-index":L,onDragStart:S,onDragEnd:D},L)})})},bt=n=>{const[r,a]=e.useState({width:0,height:0}),m=e.useMemo(()=>ge.debounce(a,100),[]);return e.useEffect(()=>{if(!n)return;const b=new ResizeObserver(c=>{for(const F of c){const{blockSize:_,inlineSize:W}=F.borderBoxSize[0];m(S=>W&&_&&(S.width!==W||S.height!==_)?{width:W,height:_}:S)}});return b.observe(n),()=>{b.disconnect()}},[m,n]),r},Bt=()=>new Promise((n,r)=>{if(window.ExcelJS){n(window.ExcelJS);return}const a=document.createElement("script");a.src="https://cdnjs.cloudflare.com/ajax/libs/exceljs/4.4.0/exceljs.bare.min.js",a.onload=()=>{n(window.ExcelJS)},a.onerror=()=>{r(new Error("Failed to load ExcelJS library"))},document.head.appendChild(a)}),Qt=async n=>{const{Workbook:r}=await Bt(),a=new r,m=a.addWorksheet("Data");n.length&&(m.addRow(ge.difference(Object.keys(n[0]),["_index","SELECT_ALL_COLUMN_NAME"])),m.getRow(1).font={bold:!0},m.addRows(n.map(b=>{const{_index:c,SELECT_ALL_COLUMN_NAME:F,..._}=b;return Object.values(_)})),a.xlsx.writeBuffer().then(b=>{const c=new Blob([b],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});Et.saveAs(c,"export.xlsx")}).catch(b=>{console.error("Error generating Excel file:",b)}))},pt=new Date("1000-01-01 00:00:00Z"),zt=new Intl.NumberFormat("nl-NL"),Ut=new Intl.NumberFormat("nl-NL",{style:"currency",currency:"EUR"});function qt(n,r){const{TdBody:a,sortByValue:m}=r||{};if(m!==void 0)return m;if(!n)return!1;const{format:b,type:c}=n;return b?.startsWith("date")||c==="boolean"||c==="integer"||c==="number"||!!a}const Zt=({CustomElement:n,CustomSearchInput:r,Heading:a=Pe.VariableSizeList,autoRender:m,checkedIndexes:b,config:c,customElementProps:F,data:_,defaultColumnFilters:W,defaultSortAsc:S=!1,defaultSortColumn:D,disabledCheckedIndexes:$,displayTimezone:L,enableAutoFocus:y=!0,enableRowCounter:O=!0,getRowClassName:H,getRowSelected:ee,getSearchQueryFilterResult:M,infiniteLoaderRef:o,isColumnFilterable:h=!0,isExportable:p=!0,isResizable:w=!0,isSearchable:Z=!0,isSortable:ne=!0,itemCount:ce,loadMoreItems:re,maxHeight:C,onRowClick:A,onRowDoubleClick:ie,onSearchEnter:X,onTableDataStateChange:se,rowHeight:z=36,schema:V,searchPlaceholder:we,setCheckedIndexes:G,settingsStorageKey:v,style:I,translate:k=lt,useFilterStateHash:E,variableSizeGridRef:de,width:me})=>{const[ye,oe]=e.useState(),[Ae,je]=e.useState(),[Xe,Ye]=e.useState(-1),[Ie,Ke]=e.useState(-1),[U,Q]=e.useState(),[be,ve]=e.useState(),P=_ instanceof Function,[x,_e]=e.useState(P?void 0:_),[pe,Re]=e.useState(),[i,Ee]=e.useState({searchQuery:"",columnFilterMap:W||{},sortColumn:D,sortAsc:S}),[q,Jt]=e.useState(E?j.parseLocationHash(window.location.hash):null);e.useEffect(()=>{P||_e(_)},[_,P]),e.useEffect(()=>{!P||x!==void 0||_(q&&Object.keys(q).length!==0?{...q,columnFilterMap:q.columnFilterMap||{}}:i).then(_e)},[_,P,q,x,i]),e.useEffect(()=>{pe||Re(i)},[i,pe]),e.useEffect(()=>{if(!E)return;const s=()=>{Jt(j.parseLocationHash(window.location.hash))};return window.addEventListener("hashchange",s),()=>{window.removeEventListener("hashchange",s)}},[E]),e.useEffect(()=>{if(!E)return;const{columnFilterMap:s,searchQuery:d,sortAsc:u,sortColumn:l}=q||{},f={searchQuery:d||"",columnFilterMap:s||W||{},sortAsc:u===void 0?S:u,sortColumn:l===void 0?D:l};Ee(N=>ge.isEqual(f,N)?N:f)},[q,E,W,S,D]),e.useEffect(()=>{se&&se(i)},[se,i]);const gt=e.useRef(null),_t=e.useRef(null),Be=bt(gt.current),Ct=bt(_t.current),Ne=e.useMemo(()=>me||Math.floor(Be.width||0),[Be.width,me]),Se=e.useMemo(()=>!ge.isEqual(i,pe)&&P,[i,pe,P]),{properties:le,required:Ht}=e.useMemo(()=>({properties:{},required:[],...V}),[V]),Qe=v?localStorage.getItem(`${v}.columnNames`):null,ze=v?localStorage.getItem(`${v}.columnWidths`):null,te=e.useMemo(()=>{if(ye)return ye;const s=Qe?JSON.parse(Qe):void 0;let d=Object.keys(le);if(G&&d.unshift(R),c){Object.keys(c).forEach(l=>{d.includes(l)||d.push(l)});const u=Object.entries(c).reduce((l,[f,N])=>(N.hidden&&l.push(f),l),[]);d=d.filter(l=>!u.includes(l)).sort((l,f)=>{let N=c[l]?c[l].order:void 0;N===void 0&&(N=Object.keys(le).findIndex(K=>K===l));let g=c[f]?c[f].order:void 0;return g===void 0&&(g=Object.keys(le).findIndex(K=>K===f)),f===R||l===R?0:N===-1?1:g===-1?-1:N-g})}return s?.length===d.length?s:d},[c,ye,G,le,Qe]),Ue=e.useMemo(()=>x&&te?x.map((s,d)=>te.reduce((u,l)=>{const f=le[l],N=c?c[l]:void 0;if(N?.renderData)return u[l]=N.renderData(s,d),u;if(!f||l===R)return u[l]="",u;const g=s?s[l]:"";switch(f.type){case"array":return u[l]=f.items?.type==="string"&&g?g.map(K=>k(K)).join(", "):JSON.stringify(g),u;case"boolean":return u[l]=g===void 0?"?":g?"✓":"✕",u;case"number":case"integer":return g===void 0?(u[l]="",u):(u[l]=f.format==="currency"?Ut.format(g):zt.format(g),u);case"string":if(f.format==="date"&&g)return u[l]=["2999-12-31","1970-01-01"].includes(g)?"-":Je(new Date(g),N?.dateFormat||He),u;if(f.format==="date-time"&&g)return u[l]=L?j.localeFormatInTimeZone(new Date(g),L,Le):Je(new Date(g),N?.dateFormat||Le),u;if(f.enum)return u[l]=g?k(g):"",u;default:return u[l]=g?`${g}`:"",u}},{_index:d})):void 0,[x,te,le,c,k,L]),Te=te?te.length:0,{dynamicWidthColumnCount:et,fixedWidthColumnsWidth:tt}=e.useMemo(()=>{let s=0,d=0;return(te||[]).forEach(u=>{if(u===R){s+=at;return}const l=c?c[u]:void 0;l?.width?s+=l.width:d+=1},0),{dynamicWidthColumnCount:d,fixedWidthColumnsWidth:s}},[te,c]),ae=e.useMemo(()=>{if(Ae)return new Uint16Array(Ae);const s=ze?new Uint16Array(JSON.parse(ze)):void 0,d=Math.max(Math.floor((Ne-tt)/et),Ge);let u=(Ne-tt)%et;const l=new Uint16Array(te.map(f=>{if(f===R)return at;const N=c?c[f]:void 0;return N?.width?N?.width:u?(u-=1,d+1):d}));return s?.length===l.length?s:l},[te,c,Ae,et,tt,ze,Ne]),qe=e.useCallback(s=>ae?ae[s]:1,[ae]),Oe=e.useMemo(()=>{if(!Ue||!h&&!Z||P)return Ue;const{searchQuery:s}=i,d=s.toLowerCase()||"",u=l=>x&&M?M(x[l._index],s):!(te&&!te.find(f=>`${l[f]}`.toLowerCase().includes(d)));return Ue.filter(l=>{let f=u(l);return!f||!i.columnFilterMap?!1:(Object.entries(i.columnFilterMap).forEach(([N,g])=>{if(!f||g===void 0)return;const K=c?c[N]:void 0;if(x&&K?.filter){f=K.filter(x[l._index],g);return}const he=le[N],B=x[l._index]?.[N];switch(he?.type){case"boolean":case"number":case"integer":if(g&&typeof g=="object"){g.filterEmpty&&B===void 0&&(f=!1);for(const J of Object.keys(fe)){const ke=g[J];if(f&&ge.isFinite(ke))switch(J){case fe.EQ:B!==ke&&(f=!1);break;case fe.GT:B<=ke&&(f=!1);break;case fe.LT:B>=ke&&(f=!1);break}}}else{if(B===void 0&&g===null)return!0;f=B===g}break;case"string":if(typeof g=="object"&&(he.format==="date"||he.format==="date-time")){const{from:J,to:ke,filterEmpty:vt}=g;if(!B)f=!vt;else{const Ze=B?new Date(B):void 0;(vt===!1||J&&(!Ze||Ze<J)||ke&&(!Ze||Ze>ke))&&(f=!1)}return}default:if(he?.enum){f=B===g;return}f=`${l[N]}`.toLowerCase().includes(`${g}`.toLowerCase())}}),f)})},[Ue,h,Z,P,i,M,te,c,x,le]),Y=e.useMemo(()=>{const{sortAsc:s,sortColumn:d}=i;if(!d||!Oe||!x||P)return Oe;const u=le[d],l=c?c[d]:void 0,f=l?.sort;if(f)return Oe.sort((K,he)=>{const B=x[K._index],J=x[he._index];return B?J?f(B,J,s===void 0?S:s):-1:1});const N=u&&u.format?.startsWith("date"),g=qt(u,l);return Oe.sort((K,he)=>{let B=g&&x[K._index]?x[K._index][d]:`${K[d]}`.toLowerCase(),J=g&&x[he._index]?x[he._index][d]:`${he[d]}`.toLowerCase();return g&&N&&(B=new Date(B),isNaN(B.getTime())&&(B=pt),J=new Date(J),isNaN(J.getTime())&&(J=pt)),B===J?0:B?J?(B<J?1:-1)*(s?-1:1):s?1:-1:s?-1:1})},[c,S,Oe,P,le,x,i]),wt=e.useCallback(s=>{const d={...i.columnFilterMap};delete d[s],Ee({...i,columnFilterMap:d})},[i]),nt=e.useCallback((s,d)=>{if(E){window.location.hash=j.serializeLocationHash({...q,sortColumn:s,sortAsc:d});return}Ee({...i,sortColumn:s,sortAsc:d})},[i,q,E]),Gt=e.useCallback(s=>{Ee({...i,searchQuery:s.currentTarget.value})},[i]),De=e.useCallback(()=>{Re(i),_e(void 0)},[i]);e.useEffect(()=>{if(!m||!q||!pe||!E)return;const s=Object.keys(q);let d=!1;for(const u of s){const l=q[u],f=pe[u];if(typeof l=="string"&&l!==f){d=!0;break}if(typeof l=="object"&&!ge.isEqual(l,f)){d=!0;break}}d&&De()},[m,q,pe,De,E]);const yt=e.useCallback(s=>{s.key==="Enter"&&(Q(void 0),Se&&!E&&De(),X&&s.currentTarget.className==="mig-schema-table__search"&&X(i.searchQuery||""))},[Se,i.searchQuery,X,De]),rt=e.useCallback(()=>z,[z]),ue=e.useMemo(()=>ge.sum(ae),[ae]),$e=e.useMemo(()=>Y?Y.length:0,[Y]),Ce=e.useMemo(()=>{const s=z*$e;let d;if(C&&(d=C==="100%"?Be.height:C,!d))return 0;const u=d?d-Ct.height-ct:0;return u&&u<s?u:s},[z,$e,C,Ct,Be.height]),Xt=e.useCallback(s=>{Q(void 0),s.preventDefault(),s.stopPropagation()},[]),Yt=e.useCallback((s,d)=>{if(!U)return;if(E&&d!==!1){window.location.hash=j.serializeLocationHash({...q,columnFilterMap:{...i.columnFilterMap,[U.propName]:s}});return}if(s===void 0){wt(U.propName);return}const u={...i.columnFilterMap,[U.propName]:s};Ee({...i,columnFilterMap:u})},[wt,i,q,U,E]),Kt=e.useCallback(()=>{const s={searchQuery:"",columnFilterMap:{},sortColumn:D,sortAsc:S};E&&(window.location.hash=j.serializeLocationHash(s)),Re(s),Ee(s)},[E,S,D]),Rt=e.useCallback(()=>{const s=q?.searchQuery||"";E&&(i.searchQuery||s)&&i.searchQuery!==s&&(window.location.hash=j.serializeLocationHash({...q,searchQuery:i.searchQuery}))},[q,i.searchQuery,E]),en=e.useCallback(async s=>{s.preventDefault(),s.stopPropagation(),Y&&await Qt(Y)},[Y]),tn=e.useCallback(()=>{v&&(localStorage.removeItem(`${v}.columnNames`),localStorage.removeItem(`${v}.columnWidths`),oe(void 0),je(void 0))},[v]),st=e.useCallback(s=>{if(!Y||!x||!re||!ce)return!0;const d=Y[s];return d&&x[d._index]!==void 0},[ce,re,Y,x]),nn=e.useMemo(()=>Ce?!(x&&!Se)&&!re?t.jsx("div",{style:{width:ue,height:Math.max(50,Ce),border:"1px solid #BBB",textAlign:"center",display:"flex",backgroundColor:"#CCC",alignItems:"center",justifyContent:"center"},children:Se?t.jsx("button",{onClick:De,className:"btn border",children:"Refresh data"}):t.jsx("div",{children:"⌛ Loading..."})}):re&&ce?t.jsx(Mt,{ref:o,isItemLoaded:st,itemCount:ce,loadMoreItems:re,children:({onItemsRendered:d,ref:u})=>t.jsx(Pe.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:z,height:Ce,width:ue,columnWidth:qe,rowHeight:rt,columnCount:Te,rowCount:$e,ref:u,onItemsRendered:({overscanRowStartIndex:l,overscanRowStopIndex:f,visibleRowStartIndex:N,visibleRowStopIndex:g})=>d({overscanStartIndex:l,overscanStopIndex:f,visibleStartIndex:N,visibleStopIndex:g}),children:ut},`tbody_${Ce}_${ue}_${i.sortColumn}_${i.sortAsc}_${i.searchQuery}_${Te}_${ae.join(" ")}`)}):t.jsx(Pe.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:z,height:Ce,width:ue,columnWidth:qe,rowHeight:rt,columnCount:Te,rowCount:$e,ref:de,children:ut},`tbody_${Ce}_${ue}_${i.sortColumn}_${i.sortAsc}_${i.searchQuery}_${Te}_${ae.join(" ")}`):null,[Te,ae,qe,rt,o,Se,st,ce,re,De,$e,z,ue,i.searchQuery,i.sortAsc,i.sortColumn,x,Ce,de]),rn=e.useMemo(()=>({...I,width:me?Math.min(ue,Ne):void 0,height:C==="100%"?"100%":void 0,maxHeight:C==="100%"?"100%":void 0}),[C,ue,I,Ne,me]),sn=r||"input";return t.jsx(Me.Provider,{value:{checkedIndexes:b,columnNames:te,columnWidths:ae,config:c,disabledCheckedIndexes:$,displayTimezone:L,dropTargetIndex:Ie,getRowClassName:H,getRowSelected:ee,isColumnFilterable:h,isItemLoaded:st,isSortable:ne,lastCheckChangedRowIndex:be,onRowClick:A,onRowDoubleClick:ie,properties:le,required:Ht,setCheckedIndexes:G,setCustomColumnNames:oe,setCustomColumnWidths:je,setDropTargetIndex:Ke,setFilterSortColumn:nt,setLastCheckChangedRowIndex:ve,setMenuConfig:Q,settingsStorageKey:v,sortedRenderData:Y,sourceData:x,tableDataState:i,translate:k||lt},children:t.jsxs("div",{className:`mig-schema-table${A?" mig-schema-table--clickable-rows":""}`,ref:gt,style:rn,role:"table",children:[t.jsxs("div",{className:"mig-schema-table__action-container",ref:_t,children:[t.jsx("div",{children:Z?t.jsx(sn,{className:"mig-schema-table__search",type:"search",name:"search",autoComplete:"off",placeholder:we||k("search..."),value:i.searchQuery,onChange:Gt,onKeyDown:yt,autoFocus:y,onBlur:Rt}):null}),n?t.jsx(n,{...F,renderData:Y}):t.jsx("div",{className:"mig-schema-table__custom_element_placeholder"}),O&&Array.isArray(_)?t.jsx("span",{className:"mig-schema-table__row_counter",children:k("showingFilteredCountOfTotalCount",Y?.length||0,_.length)}):null,p?t.jsx("button",{onClick:en,style:{marginLeft:8},disabled:!Y?.length,children:k("exportData")}):null,Z||h?t.jsx("button",{onClick:Kt,style:{marginLeft:8},disabled:i.columnFilterMap&&i.searchQuery?Object.keys(i.columnFilterMap).length+i.searchQuery.length===0:!1,children:k("clearFilters")}):null,v?t.jsx("button",{onClick:tn,style:{marginLeft:8},disabled:!Qe&&!ze,children:k("clearSettings")}):null]}),t.jsxs("div",{className:"mig-schema-table__column_resize_container",children:[t.jsx(a,{height:ct,itemCount:Te,itemSize:qe,layout:"horizontal",width:ue,sortAsc:i.sortAsc,setFilterSortColumn:nt,sortColumn:i.sortColumn,sortedRenderData:Y,className:"mig-schema-table__th-row",children:mt},`thead_${ue}_${i.sortColumn}_${i.sortAsc}_${i.searchQuery}_${ae.join(" ")}`),nn,w?t.jsx(jt,{columnWidths:ae,resizeColumnIndex:Xe,setResizeColumnIndex:Ye,tableBodyHeight:Ce}):null]}),x&&x.length===0?t.jsx("div",{className:"mig-schema-table__no_data",children:"No data found"}):null,U?kt.createPortal(t.jsx(Wt,{isFilterable:h&&U.propConfig?.isFilterable!==!1,isSortable:ht(ne,V.properties[U.propName],U.propConfig),onChange:Yt,onClose:Xt,onInputKeyDown:yt,propConfig:U.propConfig,propIsRequired:U.propIsRequired,propName:U.propName,propSchema:V.properties[U.propName],referenceElement:U.referenceElement,setFilterSortColumn:nt,translate:k,value:i.columnFilterMap?i.columnFilterMap[U.propName]:null}),document.body):null]})})},Pt=e.memo(Zt),Vt=e.memo(({refresh:n,period:r=60})=>{const[a,m]=e.useState(new Date),[b,c]=e.useState(new Date),F=e.useCallback(()=>{c(new Date),n()},[n]),_=e.useMemo(()=>Ve.differenceInSeconds(a,b),[a,b]);e.useEffect(()=>{_>r&&F()},[_,a,b,r,F]),e.useEffect(()=>{const D=setInterval(()=>{m(new Date)},1e3);return()=>{clearInterval(D)}},[]);const W=r-_;return t.jsxs("div",{className:"mx-auto",title:`Refresh ${W>0?`in ${W} seconds`:"NOW"}`,children:["Last update ",Je(b,"HH:mm")]})});T.DEFAULT_DATE_FORMAT=He,T.DEFAULT_DATE_TIME_FORMAT=Le,T.EColumnFilterStatus=xe,T.MINIMUM_COLUMN_WIDTH=Ge,T.RESIZER_WIDTH=dt,T.Refresher=Vt,T.SchemaTable=Pt,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.10",
3
+ "version": "5.0.11",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"