mig-schema-table 5.0.16 → 5.0.17

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.
@@ -69,7 +69,7 @@ const Me = Qt.createContext({
69
69
  columnNames: p,
70
70
  config: f,
71
71
  disabledCheckedIndexes: I,
72
- displayTimezone: C,
72
+ displayTimezone: _,
73
73
  getRowClassName: W,
74
74
  getRowSelected: S,
75
75
  isItemLoaded: M,
@@ -82,7 +82,7 @@ const Me = Qt.createContext({
82
82
  sortedRenderData: E,
83
83
  sourceData: o,
84
84
  translate: l
85
- } = e.useContext(Me), s = p[t], _ = s === K ? sn : $[s], F = f ? f[s] : void 0, te = e.useCallback(
85
+ } = e.useContext(Me), s = p[t], C = s === K ? sn : $[s], F = f ? f[s] : void 0, te = e.useCallback(
86
86
  (v) => {
87
87
  q && q((N) => N && N.includes(v) ? N.filter((D) => D !== v) : N ? [...N, v] : [v]);
88
88
  },
@@ -109,11 +109,11 @@ const Me = Qt.createContext({
109
109
  w(o[k._index], k._index, v);
110
110
  },
111
111
  [M, w, E, o]
112
- ), L = E ? E[a] : void 0, { showTimezones: ae, TdBody: H } = F || {}, re = e.useMemo(() => C ? null : Te.startsWith("Europe/") ? "Asia/Jakarta" : "Europe/Amsterdam", [C]), Q = e.useMemo(() => {
112
+ ), L = E ? E[a] : void 0, { showTimezones: ae, TdBody: H } = F || {}, re = e.useMemo(() => _ ? null : Te.startsWith("Europe/") ? "Asia/Jakarta" : "Europe/Amsterdam", [_]), Q = e.useMemo(() => {
113
113
  if (!L || !E)
114
114
  return;
115
115
  let v = s === K ? void 0 : L[s];
116
- if (_?.format && _.format === "date-time" && ae !== !1) {
116
+ if (C?.format && C.format === "date-time" && ae !== !1) {
117
117
  const k = o ? o[L._index] : void 0, D = k ? k[s] : void 0, se = D ? new Date(D) : void 0;
118
118
  se && re && (v = `${kt(
119
119
  se,
@@ -128,7 +128,7 @@ const Me = Qt.createContext({
128
128
  ];
129
129
  switch (o && S && S(o[L._index], L._index) && N.push("mig-schema-table__td--selected"), o && W && N.push(
130
130
  W(o[L._index], L._index, E)
131
- ), _?.type) {
131
+ ), C?.type) {
132
132
  case "boolean":
133
133
  N.push(`text-${F?.align || "center"}`);
134
134
  break;
@@ -152,7 +152,7 @@ const Me = Qt.createContext({
152
152
  L,
153
153
  E,
154
154
  s,
155
- _,
155
+ C,
156
156
  ae,
157
157
  a,
158
158
  o,
@@ -223,7 +223,7 @@ const Me = Qt.createContext({
223
223
  }
224
224
  ) });
225
225
  const X = L[s];
226
- return _?.format === "url" && X ? /* @__PURE__ */ r(
226
+ return C?.format === "url" && X ? /* @__PURE__ */ r(
227
227
  "a",
228
228
  {
229
229
  href: X,
@@ -265,7 +265,7 @@ const ln = ({ index: t, style: a }) => {
265
265
  columnWidths: p,
266
266
  config: f,
267
267
  disabledCheckedIndexes: I,
268
- dropTargetIndex: C,
268
+ dropTargetIndex: _,
269
269
  isColumnFilterable: W,
270
270
  isSortable: S,
271
271
  setCheckedIndexes: M,
@@ -279,8 +279,8 @@ const ln = ({ index: t, style: a }) => {
279
279
  tableDataState: o,
280
280
  sortedRenderData: l,
281
281
  translate: s,
282
- displayTimezone: _
283
- } = e.useContext(Me), [F, te] = e.useState(!1), ce = t === C, ne = Mt(), y = b[t], L = y === K ? { type: "boolean" } : R[y], ae = o.sortColumn === y ? o.sortAsc : void 0, H = f ? f[y] : void 0;
282
+ displayTimezone: C
283
+ } = e.useContext(Me), [F, te] = e.useState(!1), ce = t === _, ne = Mt(), y = b[t], L = y === K ? { type: "boolean" } : R[y], ae = o.sortColumn === y ? o.sortAsc : void 0, H = f ? f[y] : void 0;
284
284
  let re = W && (L || H?.FilterMenu) && H?.isFilterable !== !1 ? $e.AVAILABLE : $e.UNAVAILABLE;
285
285
  o.columnFilterMap && o.columnFilterMap[y] !== void 0 && (re = $e.ACTIVE);
286
286
  const Q = Tt(
@@ -298,7 +298,7 @@ const ln = ({ index: t, style: a }) => {
298
298
  const { format: _e } = L || {}, {
299
299
  align: X,
300
300
  defaultSortDesc: v,
301
- showTimezones: N = !_,
301
+ showTimezones: N = !C,
302
302
  title: k
303
303
  } = H || {}, D = e.useCallback(() => {
304
304
  if (Q) {
@@ -328,7 +328,7 @@ const ln = ({ index: t, style: a }) => {
328
328
  });
329
329
  },
330
330
  [H, se, y, ee]
331
- ), Ce = e.useMemo(() => k !== void 0 ? k : _e === "date-time" && N ? `${s(y)} (${s(_ || Te)})` : s(y), [k, _e, N, s, y, _]), oe = e.useCallback(
331
+ ), Ce = e.useMemo(() => k !== void 0 ? k : _e === "date-time" && N ? `${s(y)} (${s(C || Te)})` : s(y), [k, _e, N, s, y, C]), oe = e.useCallback(
332
332
  (j, me) => {
333
333
  if (!b || !p)
334
334
  return;
@@ -480,20 +480,20 @@ const ln = ({ index: t, style: a }) => {
480
480
  propSchema: f,
481
481
  translate: I
482
482
  }) => {
483
- const { displayTimezone: C } = e.useContext(Me), { type: W, format: S, minimum: M, maximum: R } = f || {}, T = t, w = S === "date-time";
483
+ const { displayTimezone: _ } = e.useContext(Me), { type: W, format: S, minimum: M, maximum: R } = f || {}, T = t, w = S === "date-time";
484
484
  let $, q;
485
485
  switch (W) {
486
486
  case "number":
487
487
  case "integer":
488
488
  return $ = T || {}, q = (o, l, s) => {
489
- const _ = {
489
+ const C = {
490
490
  ...$,
491
491
  [o]: l.value === "" ? void 0 : parseInt(l.value)
492
- }, F = Object.values(_).find(
492
+ }, F = Object.values(C).find(
493
493
  (te) => isFinite(te)
494
494
  );
495
495
  a(
496
- F !== void 0 && (M === void 0 || F >= M) ? _ : void 0,
496
+ F !== void 0 && (M === void 0 || F >= M) ? C : void 0,
497
497
  s
498
498
  );
499
499
  }, /* @__PURE__ */ B("ol", { className: "mig-schema-table-menu mig-schema-table__th-menu__filter-menu-component", children: [
@@ -613,10 +613,10 @@ const ln = ({ index: t, style: a }) => {
613
613
  })
614
614
  },
615
615
  onChange: (s) => {
616
- const _ = s ? s.map(
616
+ const C = s ? s.map(
617
617
  (F) => F.value
618
618
  ) : [];
619
- a(_.length ? _ : void 0, !0);
619
+ a(C.length ? C : void 0, !0);
620
620
  },
621
621
  onKeyDown: h,
622
622
  placeholder: I("Select...")
@@ -638,9 +638,9 @@ const ln = ({ index: t, style: a }) => {
638
638
  type: "checkbox",
639
639
  checked: !!l.filterEmpty,
640
640
  onChange: () => {
641
- const { filterEmpty: s, ..._ } = l;
642
- s || (_.filterEmpty = !0), a(
643
- Object.keys(_).length ? _ : void 0,
641
+ const { filterEmpty: s, ...C } = l;
642
+ s || (C.filterEmpty = !0), a(
643
+ Object.keys(C).length ? C : void 0,
644
644
  !0
645
645
  );
646
646
  }
@@ -659,7 +659,7 @@ const ln = ({ index: t, style: a }) => {
659
659
  "data-prop-name": p,
660
660
  locale: ht,
661
661
  selected: l.from ? new Pe(l.from).withTimeZone(
662
- C || Te
662
+ _ || Te
663
663
  ) : null,
664
664
  onChange: (s) => {
665
665
  if (!s && !l.to) {
@@ -668,11 +668,11 @@ const ln = ({ index: t, style: a }) => {
668
668
  }
669
669
  if (l.to && s && s > l.to)
670
670
  return;
671
- const _ = s ? Pe.tz(C || Te, s) : void 0;
671
+ const C = s ? Pe.tz(_ || Te, s) : void 0;
672
672
  a(
673
673
  {
674
674
  ...t,
675
- from: _
675
+ from: C
676
676
  },
677
677
  !0
678
678
  );
@@ -700,7 +700,7 @@ const ln = ({ index: t, style: a }) => {
700
700
  locale: ht,
701
701
  selectsEnd: !0,
702
702
  selected: l.to ? new Pe(l.to).withTimeZone(
703
- C || Te
703
+ _ || Te
704
704
  ) : null,
705
705
  showMonthDropdown: !0,
706
706
  showYearDropdown: !0,
@@ -709,11 +709,11 @@ const ln = ({ index: t, style: a }) => {
709
709
  a(void 0, !0);
710
710
  return;
711
711
  }
712
- const _ = s ? w ? Pe.tz(C || Te, s) : Jt(s) : void 0;
713
- l.from && _ && _ < l.from || a(
712
+ const C = s ? w ? Pe.tz(_ || Te, s) : Jt(s) : void 0;
713
+ l.from && C && C < l.from || a(
714
714
  {
715
715
  ...t,
716
- to: _
716
+ to: C
717
717
  },
718
718
  !0
719
719
  );
@@ -741,10 +741,10 @@ const ln = ({ index: t, style: a }) => {
741
741
  className: "form-control",
742
742
  placeholder: `Search ${p}`,
743
743
  "aria-label": `Search ${p}`,
744
- value: Array.isArray(T) ? T.join(", ") : T || "",
744
+ value: Array.isArray(T) ? T.join(",") : T || "",
745
745
  "data-prop-name": p,
746
746
  onChange: (o) => {
747
- const l = o.currentTarget.value, s = l ? l.split(",").map((_) => _.trim()) : [];
747
+ const l = o.currentTarget.value, s = l ? l.split(",") : [];
748
748
  a(
749
749
  (s.length > 1 ? s : s[0]) || void 0,
750
750
  !1
@@ -752,7 +752,7 @@ const ln = ({ index: t, style: a }) => {
752
752
  },
753
753
  onKeyDown: h,
754
754
  onBlur: (o) => {
755
- const l = o.currentTarget.value, s = l ? l.split(",").map((_) => _.trim()) : [];
755
+ const l = o.currentTarget.value, s = l ? l.split(",") : [];
756
756
  a(
757
757
  (s.length > 1 ? s : s[0]) || void 0,
758
758
  !0
@@ -770,7 +770,7 @@ const ln = ({ index: t, style: a }) => {
770
770
  onInputKeyDown: p,
771
771
  propConfig: f,
772
772
  propIsRequired: I,
773
- propName: C,
773
+ propName: _,
774
774
  propSchema: W,
775
775
  referenceElement: S,
776
776
  setFilterSortColumn: M,
@@ -791,11 +791,11 @@ const ln = ({ index: t, style: a }) => {
791
791
  const l = (s) => {
792
792
  if (!w.elements.floating)
793
793
  return;
794
- let _ = s.target;
795
- for (; _ && w.elements.floating; ) {
796
- if (_ === w.elements.floating || _ === $.elements.floating)
794
+ let C = s.target;
795
+ for (; C && w.elements.floating; ) {
796
+ if (C === w.elements.floating || C === $.elements.floating)
797
797
  return;
798
- _ = _.parentNode === window.document ? null : _.parentNode;
798
+ C = C.parentNode === window.document ? null : C.parentNode;
799
799
  }
800
800
  b(s);
801
801
  };
@@ -809,14 +809,14 @@ const ln = ({ index: t, style: a }) => {
809
809
  ]);
810
810
  const q = f?.FilterMenu || dn, ee = e.useCallback(
811
811
  (l) => {
812
- M(C, !0), b(l);
812
+ M(_, !0), b(l);
813
813
  },
814
- [b, C, M]
814
+ [b, _, M]
815
815
  ), E = e.useCallback(
816
816
  (l) => {
817
- M(C, !1), b(l);
817
+ M(_, !1), b(l);
818
818
  },
819
- [b, C, M]
819
+ [b, _, M]
820
820
  ), o = e.useCallback(() => {
821
821
  h(void 0, !0);
822
822
  }, [h]);
@@ -877,7 +877,7 @@ const ln = ({ index: t, style: a }) => {
877
877
  onChange: h,
878
878
  onInputKeyDown: p,
879
879
  propIsRequired: I,
880
- propName: C,
880
+ propName: _,
881
881
  propSchema: W,
882
882
  translate: R
883
883
  }
@@ -891,7 +891,7 @@ const ln = ({ index: t, style: a }) => {
891
891
  setResizeColumnIndex: h,
892
892
  tableBodyHeight: b
893
893
  }) => {
894
- const [p, f] = e.useState(0), I = Mt(), C = e.useCallback(
894
+ const [p, f] = e.useState(0), I = Mt(), _ = e.useCallback(
895
895
  (R) => {
896
896
  const T = t.map(
897
897
  (w, $) => $ === a ? Math.max(w + R, Dt) : w
@@ -908,9 +908,9 @@ const ln = ({ index: t, style: a }) => {
908
908
  [h]
909
909
  ), M = e.useCallback(
910
910
  (R) => {
911
- C(R.clientX - p), f(0), h(-1);
911
+ _(R.clientX - p), f(0), h(-1);
912
912
  },
913
- [p, C, h]
913
+ [p, _, h]
914
914
  );
915
915
  return /* @__PURE__ */ r("div", { children: [...t].map((R, T) => {
916
916
  W += R;
@@ -938,9 +938,9 @@ const ln = ({ index: t, style: a }) => {
938
938
  return;
939
939
  const p = new ResizeObserver((f) => {
940
940
  for (const I of f) {
941
- const { blockSize: C, inlineSize: W } = I.borderBoxSize[0];
941
+ const { blockSize: _, inlineSize: W } = I.borderBoxSize[0];
942
942
  b(
943
- (S) => W && C && (S.width !== W || S.height !== C) ? { width: W, height: C } : S
943
+ (S) => W && _ && (S.width !== W || S.height !== _) ? { width: W, height: _ } : S
944
944
  );
945
945
  }
946
946
  });
@@ -968,8 +968,8 @@ const ln = ({ index: t, style: a }) => {
968
968
  ])
969
969
  ), b.getRow(1).font = { bold: !0 }, b.addRows(
970
970
  t.map((p) => {
971
- const { _index: f, SELECT_ALL_COLUMN_NAME: I, ...C } = p;
972
- return Object.values(C);
971
+ const { _index: f, SELECT_ALL_COLUMN_NAME: I, ..._ } = p;
972
+ return Object.values(_);
973
973
  })
974
974
  ), h.xlsx.writeBuffer().then((p) => {
975
975
  const f = new Blob([p], {
@@ -1000,7 +1000,7 @@ const yn = ({
1000
1000
  checkedIndexes: p,
1001
1001
  config: f,
1002
1002
  customElementProps: I,
1003
- data: C,
1003
+ data: _,
1004
1004
  defaultColumnFilters: W,
1005
1005
  defaultSortAsc: S = !1,
1006
1006
  defaultSortColumn: M,
@@ -1014,7 +1014,7 @@ const yn = ({
1014
1014
  infiniteLoaderRef: o,
1015
1015
  isColumnFilterable: l = !0,
1016
1016
  isExportable: s = !0,
1017
- isResizable: _ = !0,
1017
+ isResizable: C = !0,
1018
1018
  isSearchable: F = !0,
1019
1019
  isSortable: te = !0,
1020
1020
  itemCount: ce,
@@ -1034,8 +1034,8 @@ const yn = ({
1034
1034
  useFilterStateHash: D,
1035
1035
  width: se
1036
1036
  }, ve) => {
1037
- const [Ce, oe] = e.useState(), [Ae, Oe] = e.useState(), [Ze, Ge] = e.useState(-1), [Ee, qe] = e.useState(-1), [z, j] = e.useState(), [me, ye] = e.useState(), J = C instanceof Function, [x, be] = e.useState(
1038
- J ? void 0 : C
1037
+ const [Ce, oe] = e.useState(), [Ae, Oe] = e.useState(), [Ze, Ge] = e.useState(-1), [Ee, qe] = e.useState(-1), [z, j] = e.useState(), [me, ye] = e.useState(), J = _ instanceof Function, [x, be] = e.useState(
1038
+ J ? void 0 : _
1039
1039
  ), [he, Xe] = e.useState(), [c, ke] = e.useState({
1040
1040
  searchQuery: "",
1041
1041
  columnFilterMap: W || {},
@@ -1045,15 +1045,15 @@ const yn = ({
1045
1045
  D ? ut(window.location.hash) : null
1046
1046
  );
1047
1047
  e.useEffect(() => {
1048
- J || be(C);
1049
- }, [C, J]), e.useEffect(() => {
1050
- !J || x !== void 0 || C(
1048
+ J || be(_);
1049
+ }, [_, J]), e.useEffect(() => {
1050
+ !J || x !== void 0 || _(
1051
1051
  U && Object.keys(U).length !== 0 ? {
1052
1052
  ...U,
1053
1053
  columnFilterMap: U.columnFilterMap || {}
1054
1054
  } : c
1055
1055
  ).then(be);
1056
- }, [C, J, U, x, c]), e.useEffect(() => {
1056
+ }, [_, J, U, x, c]), e.useEffect(() => {
1057
1057
  he || Xe(c);
1058
1058
  }, [c, he]), e.useEffect(() => {
1059
1059
  if (!D)
@@ -1676,10 +1676,10 @@ const yn = ({
1676
1676
  renderData: Z
1677
1677
  }
1678
1678
  ) : /* @__PURE__ */ r("div", { className: "mig-schema-table__custom_element_placeholder" }),
1679
- $ && Array.isArray(C) ? /* @__PURE__ */ r("span", { className: "mig-schema-table__row_counter", children: k(
1679
+ $ && Array.isArray(_) ? /* @__PURE__ */ r("span", { className: "mig-schema-table__row_counter", children: k(
1680
1680
  "showingFilteredCountOfTotalCount",
1681
1681
  Z?.length || 0,
1682
- C.length
1682
+ _.length
1683
1683
  ) }) : null,
1684
1684
  s ? /* @__PURE__ */ r(
1685
1685
  "button",
@@ -1732,7 +1732,7 @@ const yn = ({
1732
1732
  )}`
1733
1733
  ),
1734
1734
  Wt,
1735
- _ ? /* @__PURE__ */ r(
1735
+ C ? /* @__PURE__ */ r(
1736
1736
  fn,
1737
1737
  {
1738
1738
  columnWidths: le,
@@ -1776,13 +1776,13 @@ const yn = ({
1776
1776
  }, wn = e.forwardRef(yn), Wn = e.memo(wn), jn = e.memo(({ refresh: t, period: a = 60 }) => {
1777
1777
  const [h, b] = e.useState(/* @__PURE__ */ new Date()), [p, f] = e.useState(/* @__PURE__ */ new Date()), I = e.useCallback(() => {
1778
1778
  f(/* @__PURE__ */ new Date()), t();
1779
- }, [t]), C = e.useMemo(
1779
+ }, [t]), _ = e.useMemo(
1780
1780
  () => Zt(h, p),
1781
1781
  [h, p]
1782
1782
  );
1783
1783
  e.useEffect(() => {
1784
- C > a && I();
1785
- }, [C, h, p, a, I]), e.useEffect(() => {
1784
+ _ > a && I();
1785
+ }, [_, h, p, a, I]), e.useEffect(() => {
1786
1786
  const M = setInterval(() => {
1787
1787
  b(/* @__PURE__ */ new Date());
1788
1788
  }, 1e3);
@@ -1790,7 +1790,7 @@ const yn = ({
1790
1790
  clearInterval(M);
1791
1791
  };
1792
1792
  }, []);
1793
- const W = a - C;
1793
+ const W = a - _;
1794
1794
  return /* @__PURE__ */ B(
1795
1795
  "div",
1796
1796
  {
@@ -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,Tt,Je,Ge,Et,B,ge,it,at,lt,je,We,Dt,At){"use strict";function Lt(n){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const c in n)if(c!=="default"){const p=Object.getOwnPropertyDescriptor(n,c);Object.defineProperty(s,c,p.get?p:{enumerable:!0,get:()=>n[c]})}}return s.default=n,Object.freeze(s)}const It=Lt(e),He=(n,s)=>Ge.format(n,s,{locale:Et.nl}).replace(".",""),Nt={"Europe/Amsterdam":"AMS","Europe/Berlin":"AMS","Asia/Jakarta":"JKT","Asia/Bangkok":"JKT",showingFilteredCountOfTotalCount:"Showing {0} of {1}"};function ct(n,...s){let c=Nt[n]||B.unCamel(n);return s.forEach((p,g)=>{c=c.replace(`{${g}}`,`${p}`)}),c}const R="SELECT_ALL_COLUMN_NAME",dt=40,Xe="dd MMM yyyy",Ae="dd MMM yyyy HH:mm",Ve=25,ut=50,ht=3;var fe=(n=>(n.GT="GT",n.LT="LT",n.EQ="EQ",n))(fe||{});const ft=new Map([[!0,"✓"],[!1,"✕"],[null,"?"]]);var ke=(n=>(n.UNAVAILABLE="UNAVAILABLE",n.AVAILABLE="AVAILABLE",n.ACTIVE="ACTIVE",n))(ke||{});const xe=It.createContext({checkedIndexes:[],columnNames:[],columnWidths:new Uint16Array,config:{},disabledCheckedIndexes:[],dropTargetIndex:-1,isColumnFilterable:!1,isItemLoaded:()=>!1,isSortable:!1,properties:{},required:[],setCustomColumnNames:B.emptyFn,setCustomColumnWidths:B.emptyFn,setDropTargetIndex:B.emptyFn,setFilterSortColumn:B.emptyFn,setLastCheckChangedRowIndex:B.emptyFn,setMenuConfig:B.emptyFn,tableDataState:{searchQuery:"",columnFilterMap:{},sortColumn:"",sortAsc:!1},translate:B.emptyFn}),St={type:"boolean"},Ot=({columnIndex:n,rowIndex:s,style:c})=>{const{checkedIndexes:p,columnNames:g,config:m,disabledCheckedIndexes:S,displayTimezone:C,getRowClassName:F,getRowSelected:O,isItemLoaded:D,lastCheckChangedRowIndex:W,onRowClick:E,onRowDoubleClick:w,properties:$,setCheckedIndexes:X,setLastCheckChangedRowIndex:te,sortedRenderData:L,sourceData:i,translate:l}=e.useContext(xe),o=g[n],_=o===R?St:$[o],Q=m?m[o]:void 0,ne=e.useCallback(v=>{X&&X(N=>N&&N.includes(v)?N.filter(M=>M!==v):N?[...N,v]:[v])},[X]),de=D(s),re=e.useCallback(v=>{if(!i||!L||!E||!de)return;const{rowIndex:N}=v.currentTarget.dataset;if(!N)return;const k=L[parseInt(N,10)];E(i[k._index],k._index,v)},[de,E,L,i]),y=e.useCallback(v=>{if(!i||!L||!w||!D)return;const{rowIndex:N}=v.currentTarget.dataset;if(!N)return;const k=L[parseInt(N,10)];w(i[k._index],k._index,v)},[D,w,L,i]),I=L?L[s]:void 0,{showTimezones:ae,TdBody:Y}=Q||{},se=e.useMemo(()=>C?null:B.timeZone.startsWith("Europe/")?"Asia/Jakarta":"Europe/Amsterdam",[C]),q=e.useMemo(()=>{if(!I||!L)return;let v=o===R?void 0:I[o];if(_?.format&&_.format==="date-time"&&ae!==!1){const k=i?i[I._index]:void 0,M=k?k[o]:void 0,oe=M?new Date(M):void 0;oe&&se&&(v=`${B.localeFormatInTimeZone(oe,se,Ae)} (${l(se)})`)}const N=["mig-schema-table__td",`mig-schema-table__td--${s%2?"odd":"even"}`,`mig-schema-table__td--prop-${o}`];switch(i&&O&&O(i[I._index],I._index)&&N.push("mig-schema-table__td--selected"),i&&F&&N.push(F(i[I._index],I._index,L)),_?.type){case"boolean":N.push(`text-${Q?.align||"center"}`);break;case"number":case"integer":N.push(`text-${Q?.align||"end"}`);break;default:Q?.align&&N.push(`text-${Q.align}`)}return{"data-row-index":s,"data-column-index":n,style:c,className:N.join(" "),title:v,onClick:o===R?void 0:re,onDoubleClick:o===R?void 0:y}},[I,L,o,_,ae,s,i,O,F,n,c,re,y,se,l,Q]),H=e.useCallback(v=>{if(!ne||!I)return;const N=parseInt(v.currentTarget.dataset.rowIndex);if(v.shiftKey&&W!==void 0){const k=p?.includes(W)?W:void 0;if(k!==void 0&&L){const M=s;for(const oe of ge.range(M>k?k+1:M,M>k?M+1:k)){const Me=L[oe]._index;(!S||!S.includes(Me))&&ne(Me)}}}else ne(I._index);te(N),ye.current?.focus()},[p,S,W,ne,I,s,te,L]),ye=e.useRef(null);if(!I||!q)return null;if(!D||i&&!i[I._index])return t.jsx("div",{...q,children:"loading"});if(o===R)return t.jsx("div",{...q,onMouseDown:H,children:t.jsx("div",{style:{textAlign:"center"},children:t.jsx("input",{ref:ye,type:"checkbox",readOnly:!0,checked:p?.includes(I._index),disabled:S?.includes(I._index)})})});if(Y&&i)return t.jsx("div",{...q,children:t.jsx(Y,{dataIndex:I._index,rowData:i[I._index],rowIndex:s,...Q?.tdBodyProps})});const V=I[o];return _?.format==="url"&&V?t.jsx("a",{href:V,target:"_blank",rel:"noopener noreferrer",...q,children:V}):t.jsx("div",{...q,children:V})},mt=e.memo(Ot);function $t(){const{checkedIndexes:n,disabledCheckedIndexes:s,sortedRenderData:c}=e.useContext(xe);return e.useMemo(()=>{const p=[...c||[]].filter(g=>(n?n.includes(g._index):!0)||(s?!s.includes(g._index):!0));return n?.length!==0&&p.length===n?.length},[n,s,c])}function bt(n,s,c){return!!(n&&c?.isSortable!==!1&&(s||c?.renderData||c?.sort))}function pt(){const{setCustomColumnWidths:n,settingsStorageKey:s}=e.useContext(xe);return e.useCallback(c=>{s&&localStorage.setItem(`${s}.columnWidths`,JSON.stringify(Array.from(c))),n(c)},[n,s])}const jt=({index:n,style:s})=>{const{checkedIndexes:c,columnNames:p,columnWidths:g,config:m,disabledCheckedIndexes:S,dropTargetIndex:C,isColumnFilterable:F,isSortable:O,setCheckedIndexes:D,properties:W,required:E,setCustomColumnNames:w,setDropTargetIndex:$,setFilterSortColumn:X,setMenuConfig:te,settingsStorageKey:L,tableDataState:i,sortedRenderData:l,translate:o,displayTimezone:_}=e.useContext(xe),[Q,ne]=e.useState(!1),de=n===C,re=pt(),y=p[n],I=y===R?{type:"boolean"}:W[y],ae=i.sortColumn===y?i.sortAsc:void 0,Y=m?m[y]:void 0;let se=F&&(I||Y?.FilterMenu)&&Y?.isFilterable!==!1?ke.AVAILABLE:ke.UNAVAILABLE;i.columnFilterMap&&i.columnFilterMap[y]!==void 0&&(se=ke.ACTIVE);const q=bt(O,I,Y),H=["mig-schema-table__th",`mig-schema-table__th--filter-${se}`,`mig-schema-table__th--prop-${y}`];H.push(q?"mig-schema-table__th--sortable":"mig-schema-table__th--unsortable"),ae!==void 0&&H.push("mig-schema-table__th--sorted"),Q&&H.push("mig-schema-table__th--dragging"),de&&H.push("mig-schema-table__th--drop-target");const{format:ye}=I||{},{align:V,defaultSortDesc:v,showTimezones:N=!_,title:k}=Y||{},M=e.useCallback(()=>{if(q){if(ae===void 0){X(y,!v);return}X(y,!ae)}},[q,v,y,X,ae]),oe=E.includes(y),Me=e.useCallback(z=>{const me=z.currentTarget;te(ve=>{if(ve?.propName!==y)return{propConfig:Y,propIsRequired:oe,propName:y,referenceElement:me}})},[Y,oe,y,te]),we=e.useMemo(()=>k!==void 0?k:ye==="date-time"&&N?`${o(y)} (${o(_||B.timeZone)})`:o(y),[k,ye,N,o,y,_]),ie=e.useCallback((z,me)=>{if(!p||!g)return;const ve=p.indexOf(z),J=[...p];J.splice(ve,1);const x=J.indexOf(me);J.splice(x+1,0,z),w(J);const _e=[...g],be=_e[ve];_e.splice(ve,1),_e.splice(x+1,0,be),re(new Uint16Array(_e)),L&&localStorage.setItem(`${L}.columnNames`,JSON.stringify(J))},[p,g,re,L,w]),Le=e.useCallback(z=>{ie&&(ne(!0),z.dataTransfer.effectAllowed="move",z.dataTransfer.dropEffect="move",z.dataTransfer.setData("text/plain",y))},[ie,y]),Fe=e.useCallback(()=>{ie&&(ne(!1),$(-1))},[ie,$]),Ye=e.useCallback(z=>{ie&&(z.preventDefault(),$(n))},[n,ie,$]),Ke=e.useCallback(z=>{if($(-1),!ie||!y)return;const me=z.dataTransfer.getData("text/plain");!me||me===y||ie(me,y)},[ie,y,$]),Ie=$t(),Re=e.useCallback(()=>{!D||!l||D(Ie?[]:l.map(z=>z._index).filter(z=>!S?.includes(z)))},[D,l,Ie,S]);if(y===R)return t.jsx("div",{style:s,className:H.join(" "),children:t.jsx("div",{style:{width:"100%",textAlign:"center"},title:`${c?.length||0} selected`,children:t.jsx("input",{type:"checkbox",name:"selectAll",checked:Ie,onChange:Re})})});switch(I?.type){case"boolean":H.push(`text-${V||"center"}`,`justify-content-${V||"center"}`);break;case"integer":case"number":H.push(`text-${V||"end"}`,`justify-content-${V||"end"}`);break;default:V&&H.push(`text-${V}`)}let U=Y?.hoverTitle;return!U&&typeof we=="string"&&(U=we),t.jsxs("div",{className:H.join(" "),style:s,title:U,draggable:!0,onDragStart:Le,onDragEnd:Fe,onDragOver:Ye,onDrop:Ke,children:[t.jsxs("div",{className:"mig-schema-table__th__label-body",style:{lineHeight:"44px"},onClick:M,children:[t.jsx("span",{className:"mig-schema-table__th__label-body-text",children:we}),ae===void 0?null:t.jsx("span",{className:"mig-schema-table__th__sort-icon",children:ae?"↓":"↑"})]}),q||se!==ke.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]})},gt=e.memo(jt),Wt={[fe.GT]:">",[fe.LT]:"<",[fe.EQ]:"="},Ft=e.memo(({columnFilterValue:n,onChange:s,onInputKeyDown:c,propIsRequired:p,propName:g,propSchema:m,translate:S})=>{const{displayTimezone:C}=e.useContext(xe),{type:F,format:O,minimum:D,maximum:W}=m||{},E=n,w=O==="date-time";let $,X;switch(F){case"number":case"integer":return $=E||{},X=(i,l,o)=>{const _={...$,[i]:l.value===""?void 0:parseInt(l.value)},Q=Object.values(_).find(ne=>isFinite(ne));s(Q!==void 0&&(D===void 0||Q>=D)?_:void 0,o)},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:!!$.filterEmpty,onChange:()=>{const{filterEmpty:i,...l}=$;i||(l.filterEmpty=!0),s(Object.keys(l).length?l:void 0,!0)}}),"Hide empty values"]}),t.jsx("hr",{})]}),Object.keys(fe).map(i=>{const l=$[i];return t.jsxs("li",{children:[t.jsx("label",{style:{width:40,paddingLeft:16},children:Wt[i]}),t.jsx("input",{className:"form-control",style:{width:120},type:"number",value:l!==void 0?l:"","data-prop-name":g,onChange:o=>{X(i,o.currentTarget,!1)},onBlur:o=>{X(i,o.currentTarget,!0)},onKeyDown:c,min:D,max:W})]},i)})]});case"boolean":const te=[!0,!1];p||te.push(null);const L=E?E.map(i=>({value:i,label:ft.get(i)})):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(at,{autoFocus:!0,menuIsOpen:!0,isClearable:!0,isMulti:!0,placeholder:S("All"),className:"react-select-container",classNamePrefix:"react-select",value:L,options:te.map(i=>({value:i,label:ft.get(i)})),styles:{menu:i=>({...i,marginTop:0})},onChange:i=>{const l=i&&i.length?i.map(({value:o})=>o):void 0;s(l,!0)},onKeyDown:c})})});case"string":if(m?.enum){const i=m.enum.map(o=>({value:o,label:S(o)})),l=i.filter(o=>(E||[]).includes(o.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(at,{isMulti:!0,autoFocus:!0,menuIsOpen:!0,className:"react-select-container",classNamePrefix:"react-select",value:l,options:i,styles:{menu:o=>({...o,marginTop:0})},onChange:o=>{const _=o?o.map(Q=>Q.value):[];s(_.length?_:void 0,!0)},onKeyDown:c,placeholder:S("Select...")})})})}if(w||O==="date"){const i=w?Ae:Xe,l=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:[p?null:t.jsxs("li",{style:{padding:8},children:[t.jsxs("label",{className:"d-flex",children:[t.jsx("input",{type:"checkbox",checked:!!l.filterEmpty,onChange:()=>{const{filterEmpty:o,..._}=l;o||(_.filterEmpty=!0),s(Object.keys(_).length?_: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(it,{dateFormat:i,"data-prop-name":g,locale:lt.nl,selected:l.from?new je.TZDate(l.from).withTimeZone(C||B.timeZone):null,onChange:o=>{if(!o&&!l.to){s(void 0,!0);return}if(l.to&&o&&o>l.to)return;const _=o?je.TZDate.tz(C||B.timeZone,o):void 0;s({...n,from:_},!0)},placeholderText:i,isClearable:!0,selectsStart:!0,showTimeSelect:w,showTimeInput:w,showMonthDropdown:!0,showYearDropdown:!0,timeIntervals:15,shouldCloseOnSelect:!w})]}),t.jsxs("li",{style:{padding:8},children:[t.jsx("label",{style:{width:120,paddingLeft:4},children:"Before"}),t.jsx(it,{id:"filter-date",dateFormat:i,"data-prop-name":g,locale:lt.nl,selectsEnd:!0,selected:l.to?new je.TZDate(l.to).withTimeZone(C||B.timeZone):null,showMonthDropdown:!0,showYearDropdown:!0,onChange:o=>{if(!o&&!l.from){s(void 0,!0);return}const _=o?w?je.TZDate.tz(C||B.timeZone,o):Ge.endOfDay(o):void 0;l.from&&_&&_<l.from||s({...n,to:_},!0)},placeholderText:i,isClearable:!0,startDate:l.from,endDate:l.to,showTimeInput:w,showTimeSelect:w,timeIntervals:15,shouldCloseOnSelect:!w})]})]})}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 ${g}`,"aria-label":`Search ${g}`,value:Array.isArray(E)?E.join(", "):E||"","data-prop-name":g,onChange:i=>{const l=i.currentTarget.value,o=l?l.split(",").map(_=>_.trim()):[];s((o.length>1?o:o[0])||void 0,!1)},onKeyDown:c,onBlur:i=>{const l=i.currentTarget.value,o=l?l.split(",").map(_=>_.trim()):[];s((o.length>1?o:o[0])||void 0,!0)}})})})}}),Bt=({isSortable:n,isFilterable:s,onChange:c,onClose:p,onInputKeyDown:g,propConfig:m,propIsRequired:S,propName:C,propSchema:F,referenceElement:O,setFilterSortColumn:D,translate:W,value:E})=>{const w=We.useFloating({placement:"bottom-start",elements:{reference:O},middleware:[We.flip()]}),$=We.useFloating({placement:"right-start",middleware:[We.flip()]});e.useEffect(()=>{const l=o=>{if(!w.elements.floating)return;let _=o.target;for(;_&&w.elements.floating;){if(_===w.elements.floating||_===$.elements.floating)return;_=_.parentNode===window.document?null:_.parentNode}p(o)};return window.addEventListener("click",l,{capture:!0}),()=>{window.removeEventListener("click",l,{capture:!0})}},[w.elements.floating,p,$.elements.floating]);const X=m?.FilterMenu||Ft,te=e.useCallback(l=>{D(C,!0),p(l)},[p,C,D]),L=e.useCallback(l=>{D(C,!1),p(l)},[p,C,D]),i=e.useCallback(()=>{c(void 0,!0)},[c]);return!n&&!s?null:t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu",ref:w.refs.setFloating,style:w.floatingStyles,children:t.jsxs("ol",{className:"mig-schema-table-menu",children:[n?t.jsxs("li",{onClick:te,style:{padding:8},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↓"})," ",W("sortAscending")]}):null,n?t.jsxs("li",{onClick:L,style:{padding:8},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↑"})," ",W("sortDescending")]}):null,s?t.jsxs("li",{style:{padding:8},onMouseOver:l=>{$.refs.setReference(l.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:i})}),t.jsx("label",{htmlFor:"mig-schema-table__th-menu__filters",children:W("filters")}),t.jsx("div",{className:"mig-schema-table__th-menu__sub-menu-indicator"})]}):null]})}),$.elements.reference?t.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu__sub-menu",ref:$.refs.setFloating,style:$.floatingStyles,children:t.jsx(X,{columnFilterValue:E,onChange:c,onInputKeyDown:g,propIsRequired:S,propName:C,propSchema:F,translate:W})}):null]})},zt=e.memo(Bt),Qt=({columnWidths:n,resizeColumnIndex:s,setResizeColumnIndex:c,tableBodyHeight:p})=>{const[g,m]=e.useState(0),S=pt(),C=e.useCallback(W=>{const E=n.map((w,$)=>$===s?Math.max(w+W,Ve):w);S(E)},[n,s,S]);let F=0;const O=e.useCallback(W=>{c(parseInt(W.currentTarget.dataset.columnIndex)),m(W.clientX)},[c]),D=e.useCallback(W=>{C(W.clientX-g),m(0),c(-1)},[g,C,c]);return t.jsx("div",{children:[...n].map((W,E)=>{F+=W;const w=["mig-schema-table__column_resizer"];return E===s&&w.push("mig-schema-table__column_resizer--dragged"),t.jsx("div",{style:{left:F-ht,bottom:p},className:w.join(" "),draggable:"true","data-column-index":E,onDragStart:O,onDragEnd:D},E)})})},_t=n=>{const[s,c]=e.useState({width:0,height:0}),p=e.useMemo(()=>ge.debounce(c,100),[]);return e.useEffect(()=>{if(!n)return;const g=new ResizeObserver(m=>{for(const S of m){const{blockSize:C,inlineSize:F}=S.borderBoxSize[0];p(O=>F&&C&&(O.width!==F||O.height!==C)?{width:F,height:C}:O)}});return g.observe(n),()=>{g.disconnect()}},[p,n]),s},qt=()=>new Promise((n,s)=>{if(window.ExcelJS){n(window.ExcelJS);return}const c=document.createElement("script");c.src="https://cdnjs.cloudflare.com/ajax/libs/exceljs/4.4.0/exceljs.bare.min.js",c.onload=()=>{n(window.ExcelJS)},c.onerror=()=>{s(new Error("Failed to load ExcelJS library"))},document.head.appendChild(c)}),Ut=async n=>{const{Workbook:s}=await qt(),c=new s,p=c.addWorksheet("Data");n.length&&(p.addRow(ge.difference(Object.keys(n[0]),["_index","SELECT_ALL_COLUMN_NAME"])),p.getRow(1).font={bold:!0},p.addRows(n.map(g=>{const{_index:m,SELECT_ALL_COLUMN_NAME:S,...C}=g;return Object.values(C)})),c.xlsx.writeBuffer().then(g=>{const m=new Blob([g],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});At.saveAs(m,"export.xlsx")}).catch(g=>{console.error("Error generating Excel file:",g)}))},Ct=new Date("1000-01-01 00:00:00Z"),Zt=new Intl.NumberFormat("nl-NL"),Pt=new Intl.NumberFormat("nl-NL",{style:"currency",currency:"EUR"});function Jt(n,s){const{TdBody:c,sortByValue:p}=s||{};if(p!==void 0)return p;if(!n)return!1;const{format:g,type:m}=n;return g?.startsWith("date")||m==="boolean"||m==="integer"||m==="number"||!!c}const Gt=({CustomElement:n,CustomSearchInput:s,Heading:c=Je.VariableSizeList,autoRender:p,checkedIndexes:g,config:m,customElementProps:S,data:C,defaultColumnFilters:F,defaultSortAsc:O=!1,defaultSortColumn:D,disabledCheckedIndexes:W,displayTimezone:E,enableAutoFocus:w=!0,enableRowCounter:$=!0,getRowClassName:X,getRowSelected:te,getSearchQueryFilterResult:L,infiniteLoaderRef:i,isColumnFilterable:l=!0,isExportable:o=!0,isResizable:_=!0,isSearchable:Q=!0,isSortable:ne=!0,itemCount:de,loadMoreItems:re,maxHeight:y,onRowClick:I,onRowDoubleClick:ae,onSearchEnter:Y,onTableDataStateChange:se,rowHeight:q=36,schema:H,searchPlaceholder:ye,setCheckedIndexes:V,settingsStorageKey:v,style:N,translate:k=ct,useFilterStateHash:M,width:oe},Me)=>{const[we,ie]=e.useState(),[Le,Fe]=e.useState(),[Ye,Ke]=e.useState(-1),[Ie,Re]=e.useState(-1),[U,z]=e.useState(),[me,ve]=e.useState(),J=C instanceof Function,[x,_e]=e.useState(J?void 0:C),[be,et]=e.useState(),[d,Te]=e.useState({searchQuery:"",columnFilterMap:F||{},sortColumn:D,sortAsc:O}),[Z,Yt]=e.useState(M?B.parseLocationHash(window.location.hash):null);e.useEffect(()=>{J||_e(C)},[C,J]),e.useEffect(()=>{!J||x!==void 0||C(Z&&Object.keys(Z).length!==0?{...Z,columnFilterMap:Z.columnFilterMap||{}}:d).then(_e)},[C,J,Z,x,d]),e.useEffect(()=>{be||et(d)},[d,be]),e.useEffect(()=>{if(!M)return;const r=()=>{Yt(B.parseLocationHash(window.location.hash))};return window.addEventListener("hashchange",r),()=>{window.removeEventListener("hashchange",r)}},[M]),e.useEffect(()=>{if(!M)return;const{columnFilterMap:r,searchQuery:u,sortAsc:f,sortColumn:a}=Z||{},b={searchQuery:u||"",columnFilterMap:r||F||{},sortAsc:f===void 0?O:f,sortColumn:a===void 0?D:a};Te(A=>ge.isEqual(b,A)?A:b)},[Z,M,F,O,D]),e.useEffect(()=>{se&&se(d)},[se,d]);const Be=e.useRef(null),yt=e.useRef(null),wt=e.useRef(null),ze=_t(yt.current),vt=_t(wt.current),Ne=e.useMemo(()=>oe||Math.floor(ze.width||0),[ze.width,oe]),Se=e.useMemo(()=>!ge.isEqual(d,be)&&J,[d,be,J]),{properties:le,required:Kt}=e.useMemo(()=>({properties:{},required:[],...H}),[H]),Qe=v?localStorage.getItem(`${v}.columnNames`):null,qe=v?localStorage.getItem(`${v}.columnWidths`):null,ee=e.useMemo(()=>{if(we)return we;const r=Qe?JSON.parse(Qe):void 0;let u=Object.keys(le);if(V&&u.unshift(R),m){Object.keys(m).forEach(a=>{u.includes(a)||u.push(a)});const f=Object.entries(m).reduce((a,[b,A])=>(A.hidden&&a.push(b),a),[]);u=u.filter(a=>!f.includes(a)).sort((a,b)=>{let A=m[a]?m[a].order:void 0;A===void 0&&(A=Object.keys(le).findIndex(K=>K===a));let h=m[b]?m[b].order:void 0;return h===void 0&&(h=Object.keys(le).findIndex(K=>K===b)),b===R||a===R?0:A===-1?1:h===-1?-1:A-h})}return r?.length===u.length?r:u},[m,we,V,le,Qe]),Ue=e.useMemo(()=>x&&ee?x.map((r,u)=>ee.reduce((f,a)=>{const b=le[a],A=m?m[a]:void 0;if(A?.renderData)return f[a]=A.renderData(r,u),f;if(!b||a===R)return f[a]="",f;const h=r?r[a]:"";switch(b.type){case"array":return f[a]=b.items?.type==="string"&&h?h.map(K=>k(K)).join(", "):JSON.stringify(h),f;case"boolean":return f[a]=h===void 0?"?":h?"✓":"✕",f;case"number":case"integer":return h===void 0?(f[a]="",f):(f[a]=b.format==="currency"?Pt.format(h):Zt.format(h),f);case"string":if(b.format==="date"&&h)return f[a]=["2999-12-31","1970-01-01"].includes(h)?"-":He(new Date(h),A?.dateFormat||Xe),f;if(b.format==="date-time"&&h)return f[a]=E?B.localeFormatInTimeZone(new Date(h),E,Ae):He(new Date(h),A?.dateFormat||Ae),f;if(b.enum)return f[a]=h?k(h):"",f;default:return f[a]=h?`${h}`:"",f}},{_index:u})):void 0,[x,ee,le,m,k,E]),Ee=ee?ee.length:0,{dynamicWidthColumnCount:tt,fixedWidthColumnsWidth:nt}=e.useMemo(()=>{let r=0,u=0;return(ee||[]).forEach(f=>{if(f===R){r+=dt;return}const a=m?m[f]:void 0;a?.width?r+=a.width:u+=1},0),{dynamicWidthColumnCount:u,fixedWidthColumnsWidth:r}},[ee,m]),ce=e.useMemo(()=>{if(Le)return new Uint16Array(Le);const r=qe?new Uint16Array(JSON.parse(qe)):void 0,u=Math.max(Math.floor((Ne-nt)/tt),Ve);let f=(Ne-nt)%tt;const a=new Uint16Array(ee.map(b=>{if(b===R)return dt;const A=m?m[b]:void 0;return A?.width?A?.width:f?(f-=1,u+1):u}));return r?.length===a.length?r:a},[ee,m,Le,tt,nt,qe,Ne]),Ze=e.useCallback(r=>ce?ce[r]:1,[ce]),Oe=e.useMemo(()=>{if(!Ue||!l&&!Q||J)return Ue;const{searchQuery:r}=d,u=r.toLowerCase()||"",f=a=>x&&L?L(x[a._index],r):!(ee&&!ee.find(b=>`${a[b]}`.toLowerCase().includes(u)));return Ue.filter(a=>{let b=f(a);return!b||!d.columnFilterMap?!1:(Object.entries(d.columnFilterMap).forEach(([A,h])=>{if(!b||h===void 0)return;const K=m?m[A]:void 0;if(x&&K?.filter){b=K.filter(x[a._index],h);return}const he=le[A],j=x[a._index]?.[A];switch(he?.type){case"boolean":if(h===void 0)return;if(Array.isArray(h)&&h.length){h.includes(j===void 0?null:j)||(b=!1);return}b=j===h;break;case"number":case"integer":if(h&&typeof h=="object"){h.filterEmpty&&j===void 0&&(b=!1);for(const P of Object.keys(fe)){const pe=h[P];if(b&&ge.isFinite(pe))switch(P){case fe.EQ:j!==pe&&(b=!1);break;case fe.GT:j<=pe&&(b=!1);break;case fe.LT:j>=pe&&(b=!1);break}}}else{if(j===void 0&&h===null)return!0;b=j===h}break;case"string":if(typeof h=="object"&&!Array.isArray(h)&&(he.format==="date"||he.format==="date-time")){const{from:P,to:pe,filterEmpty:Mt}=h;if(!j)b=!Mt;else{const Pe=j?new Date(j):void 0;(Mt===!1||P&&(!Pe||Pe<P)||pe&&(!Pe||Pe>pe))&&(b=!1)}return}default:if(he?.enum){Array.isArray(h)?b=h.includes(j):b=j===h;return}if(Array.isArray(h)){const P=`${a[A]}`.toLowerCase();b=h.some(pe=>P.includes(`${pe}`.toLowerCase()))}else b=`${a[A]}`.toLowerCase().includes(`${h}`.toLowerCase())}}),b)})},[Ue,l,Q,J,d,L,ee,m,x,le]),G=e.useMemo(()=>{const{sortAsc:r,sortColumn:u}=d;if(!u||!Oe||!x||J)return Oe;const f=le[u],a=m?m[u]:void 0,b=a?.sort;if(b)return Oe.sort((K,he)=>{const j=x[K._index],P=x[he._index];return j?P?b(j,P,r===void 0?O:r):-1:1});const A=f&&f.format?.startsWith("date"),h=Jt(f,a);return Oe.sort((K,he)=>{let j=h&&x[K._index]?x[K._index][u]:`${K[u]}`.toLowerCase(),P=h&&x[he._index]?x[he._index][u]:`${he[u]}`.toLowerCase();return h&&A&&(j=new Date(j),isNaN(j.getTime())&&(j=Ct),P=new Date(P),isNaN(P.getTime())&&(P=Ct)),j===P?0:j?P?(j<P?1:-1)*(r?-1:1):r?1:-1:r?-1:1})},[m,O,Oe,J,le,x,d]);e.useImperativeHandle(Me,()=>({getFilteredSortedData:()=>G,scrollToIndex:r=>{const u=Be?.current,f=G?.findIndex(a=>a._index===r)||-1;u&&f>=0&&u.scrollToItem({rowIndex:f})}}),[G,Be]);const kt=e.useCallback(r=>{const u={...d.columnFilterMap};delete u[r],Te({...d,columnFilterMap:u})},[d]),rt=e.useCallback((r,u)=>{if(M){window.location.hash=B.serializeLocationHash({...Z,sortColumn:r,sortAsc:u});return}Te({...d,sortColumn:r,sortAsc:u})},[d,Z,M]),Rt=e.useCallback(r=>{Te({...d,searchQuery:r.currentTarget.value})},[d]),De=e.useCallback(()=>{et(d),_e(void 0)},[d]);e.useEffect(()=>{if(!p||!Z||!be||!M)return;const r=Object.keys(Z);let u=!1;for(const f of r){const a=Z[f],b=be[f];if(typeof a=="string"&&a!==b){u=!0;break}if(typeof a=="object"&&!ge.isEqual(a,b)){u=!0;break}}u&&De()},[p,Z,be,De,M]);const xt=e.useCallback(r=>{r.key==="Enter"&&(z(void 0),Se&&!M&&De(),Y&&r.currentTarget.className==="mig-schema-table__search"&&Y(d.searchQuery||""))},[Se,d.searchQuery,Y,De,M]),st=e.useCallback(()=>q,[q]),ue=e.useMemo(()=>ge.sum(ce),[ce]),$e=e.useMemo(()=>G?G.length:0,[G]),Ce=e.useMemo(()=>{const r=q*$e;let u;if(y&&(u=y==="100%"?ze.height:y,!u))return 0;const f=u?u-vt.height-ut:0;return f&&f<r?f:r},[q,$e,y,vt,ze.height]),en=e.useCallback(r=>{z(void 0),r.preventDefault(),r.stopPropagation()},[]),tn=e.useCallback((r,u)=>{if(!U)return;if(M&&u!==!1){window.location.hash=B.serializeLocationHash({...Z,columnFilterMap:{...d.columnFilterMap,[U.propName]:r}});return}if(r===void 0){kt(U.propName);return}const f={...d.columnFilterMap,[U.propName]:r};Te({...d,columnFilterMap:f})},[kt,d,Z,U,M]),nn=e.useCallback(()=>{const r={searchQuery:"",columnFilterMap:{},sortColumn:D,sortAsc:O};M&&(window.location.hash=B.serializeLocationHash(r)),et(r),Te(r)},[M,O,D]),rn=e.useCallback(()=>{const r=Z?.searchQuery||"";M&&(d.searchQuery||r)&&d.searchQuery!==r&&(window.location.hash=B.serializeLocationHash({...Z,searchQuery:d.searchQuery}))},[Z,d.searchQuery,M]),sn=e.useCallback(async r=>{r.preventDefault(),r.stopPropagation(),G&&await Ut(G)},[G]),on=e.useCallback(()=>{v&&(localStorage.removeItem(`${v}.columnNames`),localStorage.removeItem(`${v}.columnWidths`),ie(void 0),Fe(void 0))},[v]),ot=e.useCallback(r=>{if(!G||!x||!re||!de)return!0;const u=G[r];return u&&x[u._index]!==void 0},[de,re,G,x]),an=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&&de?t.jsx(Dt,{ref:i,isItemLoaded:ot,itemCount:de,loadMoreItems:re,children:({onItemsRendered:u,ref:f})=>t.jsx(Je.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:q,height:Ce,width:ue,columnWidth:Ze,rowHeight:st,columnCount:Ee,rowCount:$e,ref:f,onItemsRendered:({overscanRowStartIndex:a,overscanRowStopIndex:b,visibleRowStartIndex:A,visibleRowStopIndex:h})=>u({overscanStartIndex:a,overscanStopIndex:b,visibleStartIndex:A,visibleStopIndex:h}),children:mt},`tbody_${Ce}_${ue}_${d.sortColumn}_${d.sortAsc}_${d.searchQuery}_${Ee}_${ce.join(" ")}`)}):t.jsx(Je.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:q,height:Ce,width:ue,columnWidth:Ze,rowHeight:st,columnCount:Ee,rowCount:$e,ref:Be,children:mt},`tbody_${Ce}_${ue}_${d.sortColumn}_${d.sortAsc}_${d.searchQuery}_${Ee}_${ce.join(" ")}`):null,[Ee,ce,Ze,st,i,Se,ot,de,re,De,$e,q,ue,d.searchQuery,d.sortAsc,d.sortColumn,x,Ce,Be]),ln=e.useMemo(()=>({...N,width:oe?Math.min(ue,Ne):void 0,height:y==="100%"?"100%":void 0,maxHeight:y==="100%"?"100%":void 0}),[y,ue,N,Ne,oe]),cn=s||"input";return t.jsx(xe.Provider,{value:{checkedIndexes:g,columnNames:ee,columnWidths:ce,config:m,disabledCheckedIndexes:W,displayTimezone:E,dropTargetIndex:Ie,getRowClassName:X,getRowSelected:te,isColumnFilterable:l,isItemLoaded:ot,isSortable:ne,lastCheckChangedRowIndex:me,onRowClick:I,onRowDoubleClick:ae,properties:le,required:Kt,setCheckedIndexes:V,setCustomColumnNames:ie,setCustomColumnWidths:Fe,setDropTargetIndex:Re,setFilterSortColumn:rt,setLastCheckChangedRowIndex:ve,setMenuConfig:z,settingsStorageKey:v,sortedRenderData:G,sourceData:x,tableDataState:d,translate:k||ct},children:t.jsxs("div",{className:`mig-schema-table${I?" mig-schema-table--clickable-rows":""}`,ref:yt,style:ln,role:"table",children:[t.jsxs("div",{className:"mig-schema-table__action-container",ref:wt,children:[t.jsx("div",{children:Q?t.jsx(cn,{className:"mig-schema-table__search",type:"search",name:"search",autoComplete:"off",placeholder:ye||k("search..."),value:d.searchQuery,onChange:Rt,onKeyDown:xt,autoFocus:w,onBlur:rn}):null}),n?t.jsx(n,{...S,renderData:G}):t.jsx("div",{className:"mig-schema-table__custom_element_placeholder"}),$&&Array.isArray(C)?t.jsx("span",{className:"mig-schema-table__row_counter",children:k("showingFilteredCountOfTotalCount",G?.length||0,C.length)}):null,o?t.jsx("button",{onClick:sn,style:{marginLeft:8},disabled:!G?.length,children:k("exportData")}):null,Q||l?t.jsx("button",{onClick:nn,style:{marginLeft:8},disabled:d.columnFilterMap&&d.searchQuery?Object.keys(d.columnFilterMap).length+d.searchQuery.length===0:!1,children:k("clearFilters")}):null,v?t.jsx("button",{onClick:on,style:{marginLeft:8},disabled:!Qe&&!qe,children:k("clearSettings")}):null]}),t.jsxs("div",{className:"mig-schema-table__column_resize_container",children:[t.jsx(c,{height:ut,itemCount:Ee,itemSize:Ze,layout:"horizontal",width:ue,sortAsc:d.sortAsc,setFilterSortColumn:rt,sortColumn:d.sortColumn,sortedRenderData:G,className:"mig-schema-table__th-row",children:gt},`thead_${ue}_${d.sortColumn}_${d.sortAsc}_${d.searchQuery}_${ce.join(" ")}`),an,_?t.jsx(Qt,{columnWidths:ce,resizeColumnIndex:Ye,setResizeColumnIndex:Ke,tableBodyHeight:Ce}):null]}),x&&x.length===0?t.jsx("div",{className:"mig-schema-table__no_data",children:"No data found"}):null,U?Tt.createPortal(t.jsx(zt,{isFilterable:l&&U.propConfig?.isFilterable!==!1,isSortable:bt(ne,H.properties[U.propName],U.propConfig),onChange:tn,onClose:en,onInputKeyDown:xt,propConfig:U.propConfig,propIsRequired:U.propIsRequired,propName:U.propName,propSchema:H.properties[U.propName],referenceElement:U.referenceElement,setFilterSortColumn:rt,translate:k,value:d.columnFilterMap?d.columnFilterMap[U.propName]:null}),document.body):null]})})},Ht=e.forwardRef(Gt),Xt=e.memo(Ht),Vt=e.memo(({refresh:n,period:s=60})=>{const[c,p]=e.useState(new Date),[g,m]=e.useState(new Date),S=e.useCallback(()=>{m(new Date),n()},[n]),C=e.useMemo(()=>Ge.differenceInSeconds(c,g),[c,g]);e.useEffect(()=>{C>s&&S()},[C,c,g,s,S]),e.useEffect(()=>{const D=setInterval(()=>{p(new Date)},1e3);return()=>{clearInterval(D)}},[]);const F=s-C;return t.jsxs("div",{className:"mx-auto",title:`Refresh ${F>0?`in ${F} seconds`:"NOW"}`,children:["Last update ",He(g,"HH:mm")]})});T.DEFAULT_DATE_FORMAT=Xe,T.DEFAULT_DATE_TIME_FORMAT=Ae,T.EColumnFilterStatus=ke,T.MINIMUM_COLUMN_WIDTH=Ve,T.RESIZER_WIDTH=ht,T.Refresher=Vt,T.SchemaTable=Xt,T.Th=gt,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,Tt,Je,Ge,Et,B,ge,it,at,lt,je,We,Dt,At){"use strict";function Lt(n){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const c in n)if(c!=="default"){const p=Object.getOwnPropertyDescriptor(n,c);Object.defineProperty(s,c,p.get?p:{enumerable:!0,get:()=>n[c]})}}return s.default=n,Object.freeze(s)}const It=Lt(e),He=(n,s)=>Ge.format(n,s,{locale:Et.nl}).replace(".",""),Nt={"Europe/Amsterdam":"AMS","Europe/Berlin":"AMS","Asia/Jakarta":"JKT","Asia/Bangkok":"JKT",showingFilteredCountOfTotalCount:"Showing {0} of {1}"};function ct(n,...s){let c=Nt[n]||B.unCamel(n);return s.forEach((p,g)=>{c=c.replace(`{${g}}`,`${p}`)}),c}const R="SELECT_ALL_COLUMN_NAME",dt=40,Xe="dd MMM yyyy",Ae="dd MMM yyyy HH:mm",Ve=25,ut=50,ht=3;var fe=(n=>(n.GT="GT",n.LT="LT",n.EQ="EQ",n))(fe||{});const ft=new Map([[!0,"✓"],[!1,"✕"],[null,"?"]]);var ke=(n=>(n.UNAVAILABLE="UNAVAILABLE",n.AVAILABLE="AVAILABLE",n.ACTIVE="ACTIVE",n))(ke||{});const xe=It.createContext({checkedIndexes:[],columnNames:[],columnWidths:new Uint16Array,config:{},disabledCheckedIndexes:[],dropTargetIndex:-1,isColumnFilterable:!1,isItemLoaded:()=>!1,isSortable:!1,properties:{},required:[],setCustomColumnNames:B.emptyFn,setCustomColumnWidths:B.emptyFn,setDropTargetIndex:B.emptyFn,setFilterSortColumn:B.emptyFn,setLastCheckChangedRowIndex:B.emptyFn,setMenuConfig:B.emptyFn,tableDataState:{searchQuery:"",columnFilterMap:{},sortColumn:"",sortAsc:!1},translate:B.emptyFn}),St={type:"boolean"},Ot=({columnIndex:n,rowIndex:s,style:c})=>{const{checkedIndexes:p,columnNames:g,config:m,disabledCheckedIndexes:S,displayTimezone:_,getRowClassName:F,getRowSelected:O,isItemLoaded:D,lastCheckChangedRowIndex:W,onRowClick:E,onRowDoubleClick:w,properties:$,setCheckedIndexes:X,setLastCheckChangedRowIndex:te,sortedRenderData:L,sourceData:i,translate:l}=e.useContext(xe),o=g[n],C=o===R?St:$[o],Q=m?m[o]:void 0,ne=e.useCallback(v=>{X&&X(N=>N&&N.includes(v)?N.filter(M=>M!==v):N?[...N,v]:[v])},[X]),de=D(s),re=e.useCallback(v=>{if(!i||!L||!E||!de)return;const{rowIndex:N}=v.currentTarget.dataset;if(!N)return;const k=L[parseInt(N,10)];E(i[k._index],k._index,v)},[de,E,L,i]),y=e.useCallback(v=>{if(!i||!L||!w||!D)return;const{rowIndex:N}=v.currentTarget.dataset;if(!N)return;const k=L[parseInt(N,10)];w(i[k._index],k._index,v)},[D,w,L,i]),I=L?L[s]:void 0,{showTimezones:ae,TdBody:Y}=Q||{},se=e.useMemo(()=>_?null:B.timeZone.startsWith("Europe/")?"Asia/Jakarta":"Europe/Amsterdam",[_]),q=e.useMemo(()=>{if(!I||!L)return;let v=o===R?void 0:I[o];if(C?.format&&C.format==="date-time"&&ae!==!1){const k=i?i[I._index]:void 0,M=k?k[o]:void 0,oe=M?new Date(M):void 0;oe&&se&&(v=`${B.localeFormatInTimeZone(oe,se,Ae)} (${l(se)})`)}const N=["mig-schema-table__td",`mig-schema-table__td--${s%2?"odd":"even"}`,`mig-schema-table__td--prop-${o}`];switch(i&&O&&O(i[I._index],I._index)&&N.push("mig-schema-table__td--selected"),i&&F&&N.push(F(i[I._index],I._index,L)),C?.type){case"boolean":N.push(`text-${Q?.align||"center"}`);break;case"number":case"integer":N.push(`text-${Q?.align||"end"}`);break;default:Q?.align&&N.push(`text-${Q.align}`)}return{"data-row-index":s,"data-column-index":n,style:c,className:N.join(" "),title:v,onClick:o===R?void 0:re,onDoubleClick:o===R?void 0:y}},[I,L,o,C,ae,s,i,O,F,n,c,re,y,se,l,Q]),H=e.useCallback(v=>{if(!ne||!I)return;const N=parseInt(v.currentTarget.dataset.rowIndex);if(v.shiftKey&&W!==void 0){const k=p?.includes(W)?W:void 0;if(k!==void 0&&L){const M=s;for(const oe of ge.range(M>k?k+1:M,M>k?M+1:k)){const Me=L[oe]._index;(!S||!S.includes(Me))&&ne(Me)}}}else ne(I._index);te(N),ye.current?.focus()},[p,S,W,ne,I,s,te,L]),ye=e.useRef(null);if(!I||!q)return null;if(!D||i&&!i[I._index])return t.jsx("div",{...q,children:"loading"});if(o===R)return t.jsx("div",{...q,onMouseDown:H,children:t.jsx("div",{style:{textAlign:"center"},children:t.jsx("input",{ref:ye,type:"checkbox",readOnly:!0,checked:p?.includes(I._index),disabled:S?.includes(I._index)})})});if(Y&&i)return t.jsx("div",{...q,children:t.jsx(Y,{dataIndex:I._index,rowData:i[I._index],rowIndex:s,...Q?.tdBodyProps})});const V=I[o];return C?.format==="url"&&V?t.jsx("a",{href:V,target:"_blank",rel:"noopener noreferrer",...q,children:V}):t.jsx("div",{...q,children:V})},mt=e.memo(Ot);function $t(){const{checkedIndexes:n,disabledCheckedIndexes:s,sortedRenderData:c}=e.useContext(xe);return e.useMemo(()=>{const p=[...c||[]].filter(g=>(n?n.includes(g._index):!0)||(s?!s.includes(g._index):!0));return n?.length!==0&&p.length===n?.length},[n,s,c])}function bt(n,s,c){return!!(n&&c?.isSortable!==!1&&(s||c?.renderData||c?.sort))}function pt(){const{setCustomColumnWidths:n,settingsStorageKey:s}=e.useContext(xe);return e.useCallback(c=>{s&&localStorage.setItem(`${s}.columnWidths`,JSON.stringify(Array.from(c))),n(c)},[n,s])}const jt=({index:n,style:s})=>{const{checkedIndexes:c,columnNames:p,columnWidths:g,config:m,disabledCheckedIndexes:S,dropTargetIndex:_,isColumnFilterable:F,isSortable:O,setCheckedIndexes:D,properties:W,required:E,setCustomColumnNames:w,setDropTargetIndex:$,setFilterSortColumn:X,setMenuConfig:te,settingsStorageKey:L,tableDataState:i,sortedRenderData:l,translate:o,displayTimezone:C}=e.useContext(xe),[Q,ne]=e.useState(!1),de=n===_,re=pt(),y=p[n],I=y===R?{type:"boolean"}:W[y],ae=i.sortColumn===y?i.sortAsc:void 0,Y=m?m[y]:void 0;let se=F&&(I||Y?.FilterMenu)&&Y?.isFilterable!==!1?ke.AVAILABLE:ke.UNAVAILABLE;i.columnFilterMap&&i.columnFilterMap[y]!==void 0&&(se=ke.ACTIVE);const q=bt(O,I,Y),H=["mig-schema-table__th",`mig-schema-table__th--filter-${se}`,`mig-schema-table__th--prop-${y}`];H.push(q?"mig-schema-table__th--sortable":"mig-schema-table__th--unsortable"),ae!==void 0&&H.push("mig-schema-table__th--sorted"),Q&&H.push("mig-schema-table__th--dragging"),de&&H.push("mig-schema-table__th--drop-target");const{format:ye}=I||{},{align:V,defaultSortDesc:v,showTimezones:N=!C,title:k}=Y||{},M=e.useCallback(()=>{if(q){if(ae===void 0){X(y,!v);return}X(y,!ae)}},[q,v,y,X,ae]),oe=E.includes(y),Me=e.useCallback(z=>{const me=z.currentTarget;te(ve=>{if(ve?.propName!==y)return{propConfig:Y,propIsRequired:oe,propName:y,referenceElement:me}})},[Y,oe,y,te]),we=e.useMemo(()=>k!==void 0?k:ye==="date-time"&&N?`${o(y)} (${o(C||B.timeZone)})`:o(y),[k,ye,N,o,y,C]),ie=e.useCallback((z,me)=>{if(!p||!g)return;const ve=p.indexOf(z),J=[...p];J.splice(ve,1);const x=J.indexOf(me);J.splice(x+1,0,z),w(J);const _e=[...g],be=_e[ve];_e.splice(ve,1),_e.splice(x+1,0,be),re(new Uint16Array(_e)),L&&localStorage.setItem(`${L}.columnNames`,JSON.stringify(J))},[p,g,re,L,w]),Le=e.useCallback(z=>{ie&&(ne(!0),z.dataTransfer.effectAllowed="move",z.dataTransfer.dropEffect="move",z.dataTransfer.setData("text/plain",y))},[ie,y]),Fe=e.useCallback(()=>{ie&&(ne(!1),$(-1))},[ie,$]),Ye=e.useCallback(z=>{ie&&(z.preventDefault(),$(n))},[n,ie,$]),Ke=e.useCallback(z=>{if($(-1),!ie||!y)return;const me=z.dataTransfer.getData("text/plain");!me||me===y||ie(me,y)},[ie,y,$]),Ie=$t(),Re=e.useCallback(()=>{!D||!l||D(Ie?[]:l.map(z=>z._index).filter(z=>!S?.includes(z)))},[D,l,Ie,S]);if(y===R)return t.jsx("div",{style:s,className:H.join(" "),children:t.jsx("div",{style:{width:"100%",textAlign:"center"},title:`${c?.length||0} selected`,children:t.jsx("input",{type:"checkbox",name:"selectAll",checked:Ie,onChange:Re})})});switch(I?.type){case"boolean":H.push(`text-${V||"center"}`,`justify-content-${V||"center"}`);break;case"integer":case"number":H.push(`text-${V||"end"}`,`justify-content-${V||"end"}`);break;default:V&&H.push(`text-${V}`)}let U=Y?.hoverTitle;return!U&&typeof we=="string"&&(U=we),t.jsxs("div",{className:H.join(" "),style:s,title:U,draggable:!0,onDragStart:Le,onDragEnd:Fe,onDragOver:Ye,onDrop:Ke,children:[t.jsxs("div",{className:"mig-schema-table__th__label-body",style:{lineHeight:"44px"},onClick:M,children:[t.jsx("span",{className:"mig-schema-table__th__label-body-text",children:we}),ae===void 0?null:t.jsx("span",{className:"mig-schema-table__th__sort-icon",children:ae?"↓":"↑"})]}),q||se!==ke.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]})},gt=e.memo(jt),Wt={[fe.GT]:">",[fe.LT]:"<",[fe.EQ]:"="},Ft=e.memo(({columnFilterValue:n,onChange:s,onInputKeyDown:c,propIsRequired:p,propName:g,propSchema:m,translate:S})=>{const{displayTimezone:_}=e.useContext(xe),{type:F,format:O,minimum:D,maximum:W}=m||{},E=n,w=O==="date-time";let $,X;switch(F){case"number":case"integer":return $=E||{},X=(i,l,o)=>{const C={...$,[i]:l.value===""?void 0:parseInt(l.value)},Q=Object.values(C).find(ne=>isFinite(ne));s(Q!==void 0&&(D===void 0||Q>=D)?C:void 0,o)},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:!!$.filterEmpty,onChange:()=>{const{filterEmpty:i,...l}=$;i||(l.filterEmpty=!0),s(Object.keys(l).length?l:void 0,!0)}}),"Hide empty values"]}),t.jsx("hr",{})]}),Object.keys(fe).map(i=>{const l=$[i];return t.jsxs("li",{children:[t.jsx("label",{style:{width:40,paddingLeft:16},children:Wt[i]}),t.jsx("input",{className:"form-control",style:{width:120},type:"number",value:l!==void 0?l:"","data-prop-name":g,onChange:o=>{X(i,o.currentTarget,!1)},onBlur:o=>{X(i,o.currentTarget,!0)},onKeyDown:c,min:D,max:W})]},i)})]});case"boolean":const te=[!0,!1];p||te.push(null);const L=E?E.map(i=>({value:i,label:ft.get(i)})):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(at,{autoFocus:!0,menuIsOpen:!0,isClearable:!0,isMulti:!0,placeholder:S("All"),className:"react-select-container",classNamePrefix:"react-select",value:L,options:te.map(i=>({value:i,label:ft.get(i)})),styles:{menu:i=>({...i,marginTop:0})},onChange:i=>{const l=i&&i.length?i.map(({value:o})=>o):void 0;s(l,!0)},onKeyDown:c})})});case"string":if(m?.enum){const i=m.enum.map(o=>({value:o,label:S(o)})),l=i.filter(o=>(E||[]).includes(o.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(at,{isMulti:!0,autoFocus:!0,menuIsOpen:!0,className:"react-select-container",classNamePrefix:"react-select",value:l,options:i,styles:{menu:o=>({...o,marginTop:0})},onChange:o=>{const C=o?o.map(Q=>Q.value):[];s(C.length?C:void 0,!0)},onKeyDown:c,placeholder:S("Select...")})})})}if(w||O==="date"){const i=w?Ae:Xe,l=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:[p?null:t.jsxs("li",{style:{padding:8},children:[t.jsxs("label",{className:"d-flex",children:[t.jsx("input",{type:"checkbox",checked:!!l.filterEmpty,onChange:()=>{const{filterEmpty:o,...C}=l;o||(C.filterEmpty=!0),s(Object.keys(C).length?C: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(it,{dateFormat:i,"data-prop-name":g,locale:lt.nl,selected:l.from?new je.TZDate(l.from).withTimeZone(_||B.timeZone):null,onChange:o=>{if(!o&&!l.to){s(void 0,!0);return}if(l.to&&o&&o>l.to)return;const C=o?je.TZDate.tz(_||B.timeZone,o):void 0;s({...n,from:C},!0)},placeholderText:i,isClearable:!0,selectsStart:!0,showTimeSelect:w,showTimeInput:w,showMonthDropdown:!0,showYearDropdown:!0,timeIntervals:15,shouldCloseOnSelect:!w})]}),t.jsxs("li",{style:{padding:8},children:[t.jsx("label",{style:{width:120,paddingLeft:4},children:"Before"}),t.jsx(it,{id:"filter-date",dateFormat:i,"data-prop-name":g,locale:lt.nl,selectsEnd:!0,selected:l.to?new je.TZDate(l.to).withTimeZone(_||B.timeZone):null,showMonthDropdown:!0,showYearDropdown:!0,onChange:o=>{if(!o&&!l.from){s(void 0,!0);return}const C=o?w?je.TZDate.tz(_||B.timeZone,o):Ge.endOfDay(o):void 0;l.from&&C&&C<l.from||s({...n,to:C},!0)},placeholderText:i,isClearable:!0,startDate:l.from,endDate:l.to,showTimeInput:w,showTimeSelect:w,timeIntervals:15,shouldCloseOnSelect:!w})]})]})}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 ${g}`,"aria-label":`Search ${g}`,value:Array.isArray(E)?E.join(","):E||"","data-prop-name":g,onChange:i=>{const l=i.currentTarget.value,o=l?l.split(","):[];s((o.length>1?o:o[0])||void 0,!1)},onKeyDown:c,onBlur:i=>{const l=i.currentTarget.value,o=l?l.split(","):[];s((o.length>1?o:o[0])||void 0,!0)}})})})}}),Bt=({isSortable:n,isFilterable:s,onChange:c,onClose:p,onInputKeyDown:g,propConfig:m,propIsRequired:S,propName:_,propSchema:F,referenceElement:O,setFilterSortColumn:D,translate:W,value:E})=>{const w=We.useFloating({placement:"bottom-start",elements:{reference:O},middleware:[We.flip()]}),$=We.useFloating({placement:"right-start",middleware:[We.flip()]});e.useEffect(()=>{const l=o=>{if(!w.elements.floating)return;let C=o.target;for(;C&&w.elements.floating;){if(C===w.elements.floating||C===$.elements.floating)return;C=C.parentNode===window.document?null:C.parentNode}p(o)};return window.addEventListener("click",l,{capture:!0}),()=>{window.removeEventListener("click",l,{capture:!0})}},[w.elements.floating,p,$.elements.floating]);const X=m?.FilterMenu||Ft,te=e.useCallback(l=>{D(_,!0),p(l)},[p,_,D]),L=e.useCallback(l=>{D(_,!1),p(l)},[p,_,D]),i=e.useCallback(()=>{c(void 0,!0)},[c]);return!n&&!s?null:t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu",ref:w.refs.setFloating,style:w.floatingStyles,children:t.jsxs("ol",{className:"mig-schema-table-menu",children:[n?t.jsxs("li",{onClick:te,style:{padding:8},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↓"})," ",W("sortAscending")]}):null,n?t.jsxs("li",{onClick:L,style:{padding:8},children:[t.jsx("span",{className:"mig-schema-table__th-menu__icon",children:"↑"})," ",W("sortDescending")]}):null,s?t.jsxs("li",{style:{padding:8},onMouseOver:l=>{$.refs.setReference(l.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:i})}),t.jsx("label",{htmlFor:"mig-schema-table__th-menu__filters",children:W("filters")}),t.jsx("div",{className:"mig-schema-table__th-menu__sub-menu-indicator"})]}):null]})}),$.elements.reference?t.jsx("div",{className:"mig-schema-table mig-schema-table__th-menu__sub-menu",ref:$.refs.setFloating,style:$.floatingStyles,children:t.jsx(X,{columnFilterValue:E,onChange:c,onInputKeyDown:g,propIsRequired:S,propName:_,propSchema:F,translate:W})}):null]})},zt=e.memo(Bt),Qt=({columnWidths:n,resizeColumnIndex:s,setResizeColumnIndex:c,tableBodyHeight:p})=>{const[g,m]=e.useState(0),S=pt(),_=e.useCallback(W=>{const E=n.map((w,$)=>$===s?Math.max(w+W,Ve):w);S(E)},[n,s,S]);let F=0;const O=e.useCallback(W=>{c(parseInt(W.currentTarget.dataset.columnIndex)),m(W.clientX)},[c]),D=e.useCallback(W=>{_(W.clientX-g),m(0),c(-1)},[g,_,c]);return t.jsx("div",{children:[...n].map((W,E)=>{F+=W;const w=["mig-schema-table__column_resizer"];return E===s&&w.push("mig-schema-table__column_resizer--dragged"),t.jsx("div",{style:{left:F-ht,bottom:p},className:w.join(" "),draggable:"true","data-column-index":E,onDragStart:O,onDragEnd:D},E)})})},_t=n=>{const[s,c]=e.useState({width:0,height:0}),p=e.useMemo(()=>ge.debounce(c,100),[]);return e.useEffect(()=>{if(!n)return;const g=new ResizeObserver(m=>{for(const S of m){const{blockSize:_,inlineSize:F}=S.borderBoxSize[0];p(O=>F&&_&&(O.width!==F||O.height!==_)?{width:F,height:_}:O)}});return g.observe(n),()=>{g.disconnect()}},[p,n]),s},qt=()=>new Promise((n,s)=>{if(window.ExcelJS){n(window.ExcelJS);return}const c=document.createElement("script");c.src="https://cdnjs.cloudflare.com/ajax/libs/exceljs/4.4.0/exceljs.bare.min.js",c.onload=()=>{n(window.ExcelJS)},c.onerror=()=>{s(new Error("Failed to load ExcelJS library"))},document.head.appendChild(c)}),Ut=async n=>{const{Workbook:s}=await qt(),c=new s,p=c.addWorksheet("Data");n.length&&(p.addRow(ge.difference(Object.keys(n[0]),["_index","SELECT_ALL_COLUMN_NAME"])),p.getRow(1).font={bold:!0},p.addRows(n.map(g=>{const{_index:m,SELECT_ALL_COLUMN_NAME:S,..._}=g;return Object.values(_)})),c.xlsx.writeBuffer().then(g=>{const m=new Blob([g],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});At.saveAs(m,"export.xlsx")}).catch(g=>{console.error("Error generating Excel file:",g)}))},Ct=new Date("1000-01-01 00:00:00Z"),Zt=new Intl.NumberFormat("nl-NL"),Pt=new Intl.NumberFormat("nl-NL",{style:"currency",currency:"EUR"});function Jt(n,s){const{TdBody:c,sortByValue:p}=s||{};if(p!==void 0)return p;if(!n)return!1;const{format:g,type:m}=n;return g?.startsWith("date")||m==="boolean"||m==="integer"||m==="number"||!!c}const Gt=({CustomElement:n,CustomSearchInput:s,Heading:c=Je.VariableSizeList,autoRender:p,checkedIndexes:g,config:m,customElementProps:S,data:_,defaultColumnFilters:F,defaultSortAsc:O=!1,defaultSortColumn:D,disabledCheckedIndexes:W,displayTimezone:E,enableAutoFocus:w=!0,enableRowCounter:$=!0,getRowClassName:X,getRowSelected:te,getSearchQueryFilterResult:L,infiniteLoaderRef:i,isColumnFilterable:l=!0,isExportable:o=!0,isResizable:C=!0,isSearchable:Q=!0,isSortable:ne=!0,itemCount:de,loadMoreItems:re,maxHeight:y,onRowClick:I,onRowDoubleClick:ae,onSearchEnter:Y,onTableDataStateChange:se,rowHeight:q=36,schema:H,searchPlaceholder:ye,setCheckedIndexes:V,settingsStorageKey:v,style:N,translate:k=ct,useFilterStateHash:M,width:oe},Me)=>{const[we,ie]=e.useState(),[Le,Fe]=e.useState(),[Ye,Ke]=e.useState(-1),[Ie,Re]=e.useState(-1),[U,z]=e.useState(),[me,ve]=e.useState(),J=_ instanceof Function,[x,_e]=e.useState(J?void 0:_),[be,et]=e.useState(),[d,Te]=e.useState({searchQuery:"",columnFilterMap:F||{},sortColumn:D,sortAsc:O}),[Z,Yt]=e.useState(M?B.parseLocationHash(window.location.hash):null);e.useEffect(()=>{J||_e(_)},[_,J]),e.useEffect(()=>{!J||x!==void 0||_(Z&&Object.keys(Z).length!==0?{...Z,columnFilterMap:Z.columnFilterMap||{}}:d).then(_e)},[_,J,Z,x,d]),e.useEffect(()=>{be||et(d)},[d,be]),e.useEffect(()=>{if(!M)return;const r=()=>{Yt(B.parseLocationHash(window.location.hash))};return window.addEventListener("hashchange",r),()=>{window.removeEventListener("hashchange",r)}},[M]),e.useEffect(()=>{if(!M)return;const{columnFilterMap:r,searchQuery:u,sortAsc:f,sortColumn:a}=Z||{},b={searchQuery:u||"",columnFilterMap:r||F||{},sortAsc:f===void 0?O:f,sortColumn:a===void 0?D:a};Te(A=>ge.isEqual(b,A)?A:b)},[Z,M,F,O,D]),e.useEffect(()=>{se&&se(d)},[se,d]);const Be=e.useRef(null),yt=e.useRef(null),wt=e.useRef(null),ze=_t(yt.current),vt=_t(wt.current),Ne=e.useMemo(()=>oe||Math.floor(ze.width||0),[ze.width,oe]),Se=e.useMemo(()=>!ge.isEqual(d,be)&&J,[d,be,J]),{properties:le,required:Kt}=e.useMemo(()=>({properties:{},required:[],...H}),[H]),Qe=v?localStorage.getItem(`${v}.columnNames`):null,qe=v?localStorage.getItem(`${v}.columnWidths`):null,ee=e.useMemo(()=>{if(we)return we;const r=Qe?JSON.parse(Qe):void 0;let u=Object.keys(le);if(V&&u.unshift(R),m){Object.keys(m).forEach(a=>{u.includes(a)||u.push(a)});const f=Object.entries(m).reduce((a,[b,A])=>(A.hidden&&a.push(b),a),[]);u=u.filter(a=>!f.includes(a)).sort((a,b)=>{let A=m[a]?m[a].order:void 0;A===void 0&&(A=Object.keys(le).findIndex(K=>K===a));let h=m[b]?m[b].order:void 0;return h===void 0&&(h=Object.keys(le).findIndex(K=>K===b)),b===R||a===R?0:A===-1?1:h===-1?-1:A-h})}return r?.length===u.length?r:u},[m,we,V,le,Qe]),Ue=e.useMemo(()=>x&&ee?x.map((r,u)=>ee.reduce((f,a)=>{const b=le[a],A=m?m[a]:void 0;if(A?.renderData)return f[a]=A.renderData(r,u),f;if(!b||a===R)return f[a]="",f;const h=r?r[a]:"";switch(b.type){case"array":return f[a]=b.items?.type==="string"&&h?h.map(K=>k(K)).join(", "):JSON.stringify(h),f;case"boolean":return f[a]=h===void 0?"?":h?"✓":"✕",f;case"number":case"integer":return h===void 0?(f[a]="",f):(f[a]=b.format==="currency"?Pt.format(h):Zt.format(h),f);case"string":if(b.format==="date"&&h)return f[a]=["2999-12-31","1970-01-01"].includes(h)?"-":He(new Date(h),A?.dateFormat||Xe),f;if(b.format==="date-time"&&h)return f[a]=E?B.localeFormatInTimeZone(new Date(h),E,Ae):He(new Date(h),A?.dateFormat||Ae),f;if(b.enum)return f[a]=h?k(h):"",f;default:return f[a]=h?`${h}`:"",f}},{_index:u})):void 0,[x,ee,le,m,k,E]),Ee=ee?ee.length:0,{dynamicWidthColumnCount:tt,fixedWidthColumnsWidth:nt}=e.useMemo(()=>{let r=0,u=0;return(ee||[]).forEach(f=>{if(f===R){r+=dt;return}const a=m?m[f]:void 0;a?.width?r+=a.width:u+=1},0),{dynamicWidthColumnCount:u,fixedWidthColumnsWidth:r}},[ee,m]),ce=e.useMemo(()=>{if(Le)return new Uint16Array(Le);const r=qe?new Uint16Array(JSON.parse(qe)):void 0,u=Math.max(Math.floor((Ne-nt)/tt),Ve);let f=(Ne-nt)%tt;const a=new Uint16Array(ee.map(b=>{if(b===R)return dt;const A=m?m[b]:void 0;return A?.width?A?.width:f?(f-=1,u+1):u}));return r?.length===a.length?r:a},[ee,m,Le,tt,nt,qe,Ne]),Ze=e.useCallback(r=>ce?ce[r]:1,[ce]),Oe=e.useMemo(()=>{if(!Ue||!l&&!Q||J)return Ue;const{searchQuery:r}=d,u=r.toLowerCase()||"",f=a=>x&&L?L(x[a._index],r):!(ee&&!ee.find(b=>`${a[b]}`.toLowerCase().includes(u)));return Ue.filter(a=>{let b=f(a);return!b||!d.columnFilterMap?!1:(Object.entries(d.columnFilterMap).forEach(([A,h])=>{if(!b||h===void 0)return;const K=m?m[A]:void 0;if(x&&K?.filter){b=K.filter(x[a._index],h);return}const he=le[A],j=x[a._index]?.[A];switch(he?.type){case"boolean":if(h===void 0)return;if(Array.isArray(h)&&h.length){h.includes(j===void 0?null:j)||(b=!1);return}b=j===h;break;case"number":case"integer":if(h&&typeof h=="object"){h.filterEmpty&&j===void 0&&(b=!1);for(const P of Object.keys(fe)){const pe=h[P];if(b&&ge.isFinite(pe))switch(P){case fe.EQ:j!==pe&&(b=!1);break;case fe.GT:j<=pe&&(b=!1);break;case fe.LT:j>=pe&&(b=!1);break}}}else{if(j===void 0&&h===null)return!0;b=j===h}break;case"string":if(typeof h=="object"&&!Array.isArray(h)&&(he.format==="date"||he.format==="date-time")){const{from:P,to:pe,filterEmpty:Mt}=h;if(!j)b=!Mt;else{const Pe=j?new Date(j):void 0;(Mt===!1||P&&(!Pe||Pe<P)||pe&&(!Pe||Pe>pe))&&(b=!1)}return}default:if(he?.enum){Array.isArray(h)?b=h.includes(j):b=j===h;return}if(Array.isArray(h)){const P=`${a[A]}`.toLowerCase();b=h.some(pe=>P.includes(`${pe}`.toLowerCase()))}else b=`${a[A]}`.toLowerCase().includes(`${h}`.toLowerCase())}}),b)})},[Ue,l,Q,J,d,L,ee,m,x,le]),G=e.useMemo(()=>{const{sortAsc:r,sortColumn:u}=d;if(!u||!Oe||!x||J)return Oe;const f=le[u],a=m?m[u]:void 0,b=a?.sort;if(b)return Oe.sort((K,he)=>{const j=x[K._index],P=x[he._index];return j?P?b(j,P,r===void 0?O:r):-1:1});const A=f&&f.format?.startsWith("date"),h=Jt(f,a);return Oe.sort((K,he)=>{let j=h&&x[K._index]?x[K._index][u]:`${K[u]}`.toLowerCase(),P=h&&x[he._index]?x[he._index][u]:`${he[u]}`.toLowerCase();return h&&A&&(j=new Date(j),isNaN(j.getTime())&&(j=Ct),P=new Date(P),isNaN(P.getTime())&&(P=Ct)),j===P?0:j?P?(j<P?1:-1)*(r?-1:1):r?1:-1:r?-1:1})},[m,O,Oe,J,le,x,d]);e.useImperativeHandle(Me,()=>({getFilteredSortedData:()=>G,scrollToIndex:r=>{const u=Be?.current,f=G?.findIndex(a=>a._index===r)||-1;u&&f>=0&&u.scrollToItem({rowIndex:f})}}),[G,Be]);const kt=e.useCallback(r=>{const u={...d.columnFilterMap};delete u[r],Te({...d,columnFilterMap:u})},[d]),rt=e.useCallback((r,u)=>{if(M){window.location.hash=B.serializeLocationHash({...Z,sortColumn:r,sortAsc:u});return}Te({...d,sortColumn:r,sortAsc:u})},[d,Z,M]),Rt=e.useCallback(r=>{Te({...d,searchQuery:r.currentTarget.value})},[d]),De=e.useCallback(()=>{et(d),_e(void 0)},[d]);e.useEffect(()=>{if(!p||!Z||!be||!M)return;const r=Object.keys(Z);let u=!1;for(const f of r){const a=Z[f],b=be[f];if(typeof a=="string"&&a!==b){u=!0;break}if(typeof a=="object"&&!ge.isEqual(a,b)){u=!0;break}}u&&De()},[p,Z,be,De,M]);const xt=e.useCallback(r=>{r.key==="Enter"&&(z(void 0),Se&&!M&&De(),Y&&r.currentTarget.className==="mig-schema-table__search"&&Y(d.searchQuery||""))},[Se,d.searchQuery,Y,De,M]),st=e.useCallback(()=>q,[q]),ue=e.useMemo(()=>ge.sum(ce),[ce]),$e=e.useMemo(()=>G?G.length:0,[G]),Ce=e.useMemo(()=>{const r=q*$e;let u;if(y&&(u=y==="100%"?ze.height:y,!u))return 0;const f=u?u-vt.height-ut:0;return f&&f<r?f:r},[q,$e,y,vt,ze.height]),en=e.useCallback(r=>{z(void 0),r.preventDefault(),r.stopPropagation()},[]),tn=e.useCallback((r,u)=>{if(!U)return;if(M&&u!==!1){window.location.hash=B.serializeLocationHash({...Z,columnFilterMap:{...d.columnFilterMap,[U.propName]:r}});return}if(r===void 0){kt(U.propName);return}const f={...d.columnFilterMap,[U.propName]:r};Te({...d,columnFilterMap:f})},[kt,d,Z,U,M]),nn=e.useCallback(()=>{const r={searchQuery:"",columnFilterMap:{},sortColumn:D,sortAsc:O};M&&(window.location.hash=B.serializeLocationHash(r)),et(r),Te(r)},[M,O,D]),rn=e.useCallback(()=>{const r=Z?.searchQuery||"";M&&(d.searchQuery||r)&&d.searchQuery!==r&&(window.location.hash=B.serializeLocationHash({...Z,searchQuery:d.searchQuery}))},[Z,d.searchQuery,M]),sn=e.useCallback(async r=>{r.preventDefault(),r.stopPropagation(),G&&await Ut(G)},[G]),on=e.useCallback(()=>{v&&(localStorage.removeItem(`${v}.columnNames`),localStorage.removeItem(`${v}.columnWidths`),ie(void 0),Fe(void 0))},[v]),ot=e.useCallback(r=>{if(!G||!x||!re||!de)return!0;const u=G[r];return u&&x[u._index]!==void 0},[de,re,G,x]),an=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&&de?t.jsx(Dt,{ref:i,isItemLoaded:ot,itemCount:de,loadMoreItems:re,children:({onItemsRendered:u,ref:f})=>t.jsx(Je.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:q,height:Ce,width:ue,columnWidth:Ze,rowHeight:st,columnCount:Ee,rowCount:$e,ref:f,onItemsRendered:({overscanRowStartIndex:a,overscanRowStopIndex:b,visibleRowStartIndex:A,visibleRowStopIndex:h})=>u({overscanStartIndex:a,overscanStopIndex:b,visibleStartIndex:A,visibleStopIndex:h}),children:mt},`tbody_${Ce}_${ue}_${d.sortColumn}_${d.sortAsc}_${d.searchQuery}_${Ee}_${ce.join(" ")}`)}):t.jsx(Je.VariableSizeGrid,{className:"mig-schema-table__tbody",estimatedRowHeight:q,height:Ce,width:ue,columnWidth:Ze,rowHeight:st,columnCount:Ee,rowCount:$e,ref:Be,children:mt},`tbody_${Ce}_${ue}_${d.sortColumn}_${d.sortAsc}_${d.searchQuery}_${Ee}_${ce.join(" ")}`):null,[Ee,ce,Ze,st,i,Se,ot,de,re,De,$e,q,ue,d.searchQuery,d.sortAsc,d.sortColumn,x,Ce,Be]),ln=e.useMemo(()=>({...N,width:oe?Math.min(ue,Ne):void 0,height:y==="100%"?"100%":void 0,maxHeight:y==="100%"?"100%":void 0}),[y,ue,N,Ne,oe]),cn=s||"input";return t.jsx(xe.Provider,{value:{checkedIndexes:g,columnNames:ee,columnWidths:ce,config:m,disabledCheckedIndexes:W,displayTimezone:E,dropTargetIndex:Ie,getRowClassName:X,getRowSelected:te,isColumnFilterable:l,isItemLoaded:ot,isSortable:ne,lastCheckChangedRowIndex:me,onRowClick:I,onRowDoubleClick:ae,properties:le,required:Kt,setCheckedIndexes:V,setCustomColumnNames:ie,setCustomColumnWidths:Fe,setDropTargetIndex:Re,setFilterSortColumn:rt,setLastCheckChangedRowIndex:ve,setMenuConfig:z,settingsStorageKey:v,sortedRenderData:G,sourceData:x,tableDataState:d,translate:k||ct},children:t.jsxs("div",{className:`mig-schema-table${I?" mig-schema-table--clickable-rows":""}`,ref:yt,style:ln,role:"table",children:[t.jsxs("div",{className:"mig-schema-table__action-container",ref:wt,children:[t.jsx("div",{children:Q?t.jsx(cn,{className:"mig-schema-table__search",type:"search",name:"search",autoComplete:"off",placeholder:ye||k("search..."),value:d.searchQuery,onChange:Rt,onKeyDown:xt,autoFocus:w,onBlur:rn}):null}),n?t.jsx(n,{...S,renderData:G}):t.jsx("div",{className:"mig-schema-table__custom_element_placeholder"}),$&&Array.isArray(_)?t.jsx("span",{className:"mig-schema-table__row_counter",children:k("showingFilteredCountOfTotalCount",G?.length||0,_.length)}):null,o?t.jsx("button",{onClick:sn,style:{marginLeft:8},disabled:!G?.length,children:k("exportData")}):null,Q||l?t.jsx("button",{onClick:nn,style:{marginLeft:8},disabled:d.columnFilterMap&&d.searchQuery?Object.keys(d.columnFilterMap).length+d.searchQuery.length===0:!1,children:k("clearFilters")}):null,v?t.jsx("button",{onClick:on,style:{marginLeft:8},disabled:!Qe&&!qe,children:k("clearSettings")}):null]}),t.jsxs("div",{className:"mig-schema-table__column_resize_container",children:[t.jsx(c,{height:ut,itemCount:Ee,itemSize:Ze,layout:"horizontal",width:ue,sortAsc:d.sortAsc,setFilterSortColumn:rt,sortColumn:d.sortColumn,sortedRenderData:G,className:"mig-schema-table__th-row",children:gt},`thead_${ue}_${d.sortColumn}_${d.sortAsc}_${d.searchQuery}_${ce.join(" ")}`),an,C?t.jsx(Qt,{columnWidths:ce,resizeColumnIndex:Ye,setResizeColumnIndex:Ke,tableBodyHeight:Ce}):null]}),x&&x.length===0?t.jsx("div",{className:"mig-schema-table__no_data",children:"No data found"}):null,U?Tt.createPortal(t.jsx(zt,{isFilterable:l&&U.propConfig?.isFilterable!==!1,isSortable:bt(ne,H.properties[U.propName],U.propConfig),onChange:tn,onClose:en,onInputKeyDown:xt,propConfig:U.propConfig,propIsRequired:U.propIsRequired,propName:U.propName,propSchema:H.properties[U.propName],referenceElement:U.referenceElement,setFilterSortColumn:rt,translate:k,value:d.columnFilterMap?d.columnFilterMap[U.propName]:null}),document.body):null]})})},Ht=e.forwardRef(Gt),Xt=e.memo(Ht),Vt=e.memo(({refresh:n,period:s=60})=>{const[c,p]=e.useState(new Date),[g,m]=e.useState(new Date),S=e.useCallback(()=>{m(new Date),n()},[n]),_=e.useMemo(()=>Ge.differenceInSeconds(c,g),[c,g]);e.useEffect(()=>{_>s&&S()},[_,c,g,s,S]),e.useEffect(()=>{const D=setInterval(()=>{p(new Date)},1e3);return()=>{clearInterval(D)}},[]);const F=s-_;return t.jsxs("div",{className:"mx-auto",title:`Refresh ${F>0?`in ${F} seconds`:"NOW"}`,children:["Last update ",He(g,"HH:mm")]})});T.DEFAULT_DATE_FORMAT=Xe,T.DEFAULT_DATE_TIME_FORMAT=Ae,T.EColumnFilterStatus=ke,T.MINIMUM_COLUMN_WIDTH=Ve,T.RESIZER_WIDTH=ht,T.Refresher=Vt,T.SchemaTable=Xt,T.Th=gt,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.16",
3
+ "version": "5.0.17",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"