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