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:
|
|
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],
|
|
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(() =>
|
|
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 (
|
|
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
|
-
),
|
|
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
|
|
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:
|
|
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 ===
|
|
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(
|
|
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:
|
|
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(
|
|
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) ?
|
|
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
|
|
616
|
+
const C = s ? s.map(
|
|
617
617
|
(F) => F.value
|
|
618
618
|
) : [];
|
|
619
|
-
a(
|
|
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, ...
|
|
642
|
-
s || (
|
|
643
|
-
Object.keys(
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
713
|
-
l.from &&
|
|
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(",
|
|
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(",")
|
|
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(",")
|
|
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:
|
|
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
|
|
795
|
-
for (;
|
|
796
|
-
if (
|
|
794
|
+
let C = s.target;
|
|
795
|
+
for (; C && w.elements.floating; ) {
|
|
796
|
+
if (C === w.elements.floating || C === $.elements.floating)
|
|
797
797
|
return;
|
|
798
|
-
|
|
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(
|
|
812
|
+
M(_, !0), b(l);
|
|
813
813
|
},
|
|
814
|
-
[b,
|
|
814
|
+
[b, _, M]
|
|
815
815
|
), E = e.useCallback(
|
|
816
816
|
(l) => {
|
|
817
|
-
M(
|
|
817
|
+
M(_, !1), b(l);
|
|
818
818
|
},
|
|
819
|
-
[b,
|
|
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:
|
|
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(),
|
|
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
|
-
|
|
911
|
+
_(R.clientX - p), f(0), h(-1);
|
|
912
912
|
},
|
|
913
|
-
[p,
|
|
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:
|
|
941
|
+
const { blockSize: _, inlineSize: W } = I.borderBoxSize[0];
|
|
942
942
|
b(
|
|
943
|
-
(S) => W &&
|
|
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, ...
|
|
972
|
-
return Object.values(
|
|
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:
|
|
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:
|
|
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 =
|
|
1038
|
-
J ? void 0 :
|
|
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(
|
|
1049
|
-
}, [
|
|
1050
|
-
!J || x !== void 0 ||
|
|
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
|
-
}, [
|
|
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(
|
|
1679
|
+
$ && Array.isArray(_) ? /* @__PURE__ */ r("span", { className: "mig-schema-table__row_counter", children: k(
|
|
1680
1680
|
"showingFilteredCountOfTotalCount",
|
|
1681
1681
|
Z?.length || 0,
|
|
1682
|
-
|
|
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
|
-
|
|
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]),
|
|
1779
|
+
}, [t]), _ = e.useMemo(
|
|
1780
1780
|
() => Zt(h, p),
|
|
1781
1781
|
[h, p]
|
|
1782
1782
|
);
|
|
1783
1783
|
e.useEffect(() => {
|
|
1784
|
-
|
|
1785
|
-
}, [
|
|
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 -
|
|
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"})}));
|