@stenajs-webui/grid 22.7.2 → 23.0.0
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/index.es.js +45 -45
- package/dist/index.js +2 -2
- package/package.json +9 -9
package/dist/index.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._tableRow_1cphw_1:focus-within{background:var(--focus-within-background, var(--lhds-color-blue-50))}.
|
|
1
|
+
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._tableRow_1cphw_1:focus-within{background:var(--focus-within-background, var(--lhds-color-blue-50))}._standardTable_184ux_1{--swui-standard-table-height: 40px;--swui-sticky-header-shadow: 2px 4px 4px 0 rgba(0, 0, 0, .05);--swui-sticky-header-shadow-and-right: var(--swui-sticky-header-shadow), var(--swui-sticky-column-shadow-right);--swui-sticky-header-shadow-and-left: var(--swui-sticky-header-shadow), var(--swui-sticky-column-shadow-left);--swui-sticky-column-shadow-right: 4px 2px 4px 0 rgba(0, 0, 0, .05);--swui-sticky-column-shadow-left: -4px 2px 4px 0 rgba(0, 0, 0, .05);--swui-sticky-column-z-index: 20;--swui-sticky-head-z-index: 22;--swui-sticky-group-group-z-index: 25;--swui-sticky-group-header-z-index: 26;--swui-sticky-header-column-group-z-index: 30;--swui-sticky-column-group-label-z-index: 40;--swui-sticky-header-in-sticky-column-z-index: 50;--swui-sticky-popover-z-index: 60;--swui-expand-cell-width: 45px;--swui-checkbox-cell-width: 45px;--swui-expand-highlight-border-width: 2px;--current-row-height: var(--swui-standard-table-height);--current-left-offset: 0px;border-spacing:0}._standardTable_184ux_1 td{border-top:1px solid var(--lhds-color-ui-300);padding:0}._standardTable_184ux_1 th{padding:0}._standardTable_184ux_1._relaxed_184ux_38{--current-row-height: 48px}._standardTable_184ux_1._condensed_184ux_42{--current-row-height: 32px}._standardTable_184ux_1._compact_184ux_46{--current-row-height: 24px}._standardTableCell_1xzcm_1{outline:none}._summaryRow_12x8k_1 td{border-top:1px solid var(--lhds-color-ui-400)}._standardTableHeadTh_swsxb_8{height:1px}@-moz-document url-prefix(){._standardTableHeadTh_swsxb_8{height:100%}}")),document.head.appendChild(e)}}catch(d){console.error("vite-plugin-css-injected-by-js",d)}})();
|
|
2
2
|
import { jsx as s, Fragment as E, jsxs as v } from "react/jsx-runtime";
|
|
3
3
|
import * as R from "react";
|
|
4
4
|
import { useMemo as b, useRef as de, useState as Se, useCallback as S, useEffect as mt, useContext as K, createContext as B, useReducer as Zt, useId as en } from "react";
|
|
@@ -361,13 +361,13 @@ const vt = R.createContext({}), Us = ({
|
|
|
361
361
|
stopEditingAndRevert: k,
|
|
362
362
|
onDoubleClick: w
|
|
363
363
|
};
|
|
364
|
-
}, Yn = (e) => e === "all" || e === "numeric" || e === "alphanumeric", zn = (e) => e === "all" || e === "alphanumeric" || e === "letters",
|
|
364
|
+
}, Yn = (e) => e === "all" || e === "numeric" || e === "alphanumeric", zn = (e) => e === "all" || e === "alphanumeric" || e === "letters", Vn = (e) => !!e.match(/^[-+*<>]$/), qn = (e) => !!e.match(/^[a-zA-Z0-9]$/), _n = (e) => !isNaN(parseInt(e, 10)), jn = (e, t, n, r, o, a, i) => (c) => {
|
|
365
365
|
if (!(c.ctrlKey || c.metaKey || c.shiftKey)) {
|
|
366
366
|
if (c.key === "Enter" && t)
|
|
367
367
|
r(void 0), n(), i.commit(), c.preventDefault(), c.stopPropagation();
|
|
368
368
|
else if (t) {
|
|
369
369
|
const l = Ln(c);
|
|
370
|
-
(_n(c.key) && Yn(o) ||
|
|
370
|
+
(_n(c.key) && Yn(o) || qn(c.key) && zn(o) || Vn(c.key)) && (n(l), r(l), i.commit(), i.setValue(a(l.key)), c.preventDefault(), c.stopPropagation());
|
|
371
371
|
}
|
|
372
372
|
}
|
|
373
373
|
}, Kn = (e, t, n, r) => {
|
|
@@ -595,7 +595,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
595
595
|
onChange: k,
|
|
596
596
|
isEditable: o,
|
|
597
597
|
allowedInputType: t
|
|
598
|
-
}),
|
|
598
|
+
}), V = S(
|
|
599
599
|
(N) => {
|
|
600
600
|
N.key === "Delete" ? (p(c.actions.clearEntity(r)), p(
|
|
601
601
|
i.actions.setEntityFields(r, {
|
|
@@ -633,7 +633,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
633
633
|
borderRadius: "4px",
|
|
634
634
|
focusBorder: O ? void 0 : "1px solid var(--primary-action-color)",
|
|
635
635
|
hoverBorder: O ? void 0 : "var(--ui5) solid 1px;",
|
|
636
|
-
onKeyDown:
|
|
636
|
+
onKeyDown: V,
|
|
637
637
|
...Q,
|
|
638
638
|
children: /* @__PURE__ */ s(W, { row: !0, alignItems: "center", children: O ? /* @__PURE__ */ s(
|
|
639
639
|
Be,
|
|
@@ -714,7 +714,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
714
714
|
expandedRows: o,
|
|
715
715
|
fields: a
|
|
716
716
|
});
|
|
717
|
-
},
|
|
717
|
+
}, Ve = () => K(Tt), I = () => K(Rt), se = () => K(Dt), ve = () => K(Et), Gt = B([]), Z = () => K(
|
|
718
718
|
Gt
|
|
719
719
|
), Wt = () => {
|
|
720
720
|
const e = I(), t = Z();
|
|
@@ -723,7 +723,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
723
723
|
() => t.map((r) => r.groupConfig.columnOrder.length).reduce((r, o) => r + o, 0),
|
|
724
724
|
[t]
|
|
725
725
|
);
|
|
726
|
-
}, Ft = B(void 0), sr = () => K(Ft), Bt = B(void 0), ar = () => K(Bt), ir = B(void 0), cr = B(!1), lr = B("standard"), At = B({}),
|
|
726
|
+
}, Ft = B(void 0), sr = () => K(Ft), Bt = B(void 0), ar = () => K(Bt), ir = B(void 0), cr = B(!1), lr = B("standard"), At = B({}), qe = () => K(At), Lt = B(0), _e = () => K(Lt), Nt = (e, t, n) => e ? Sn(
|
|
727
727
|
t?.map((r) => {
|
|
728
728
|
const o = e?.[r];
|
|
729
729
|
return {
|
|
@@ -1088,7 +1088,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1088
1088
|
}
|
|
1089
1089
|
) }) : null
|
|
1090
1090
|
] });
|
|
1091
|
-
}, Gr = "
|
|
1091
|
+
}, Gr = "_standardTable_184ux_1", Wr = "_relaxed_184ux_38", Fr = "_condensed_184ux_42", Br = "_compact_184ux_46", rt = {
|
|
1092
1092
|
standardTable: Gr,
|
|
1093
1093
|
relaxed: Wr,
|
|
1094
1094
|
condensed: Fr,
|
|
@@ -1111,7 +1111,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1111
1111
|
onValueChangeAndShift: c,
|
|
1112
1112
|
shiftPressedRef: l
|
|
1113
1113
|
}) {
|
|
1114
|
-
const h = Wt(), d =
|
|
1114
|
+
const h = Wt(), d = Ve(), u = Ie(!!t, {
|
|
1115
1115
|
colIndex: r,
|
|
1116
1116
|
numCols: h,
|
|
1117
1117
|
numRows: a,
|
|
@@ -1209,7 +1209,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1209
1209
|
numRows: n,
|
|
1210
1210
|
rowIndex: r
|
|
1211
1211
|
}) {
|
|
1212
|
-
const o = Wt(), a =
|
|
1212
|
+
const o = Wt(), a = Ve(), i = Ie(!0, {
|
|
1213
1213
|
colIndex: t,
|
|
1214
1214
|
numCols: o,
|
|
1215
1215
|
numRows: n,
|
|
@@ -1225,10 +1225,10 @@ const vt = R.createContext({}), Us = ({
|
|
|
1225
1225
|
...c
|
|
1226
1226
|
}
|
|
1227
1227
|
) });
|
|
1228
|
-
},
|
|
1229
|
-
() =>
|
|
1228
|
+
}, Vr = (e, t, n) => e ? e(t) : n, zt = (e, t, n) => b(
|
|
1229
|
+
() => Vr(e, t, n),
|
|
1230
1230
|
[e, t, n]
|
|
1231
|
-
),
|
|
1231
|
+
), qr = (e, t) => {
|
|
1232
1232
|
const { background: n, backgroundResolver: r } = Ce(e);
|
|
1233
1233
|
return zt(r, t, n);
|
|
1234
1234
|
}, ot = (e, t) => {
|
|
@@ -1309,7 +1309,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1309
1309
|
keyResolver: l,
|
|
1310
1310
|
enableGridCell: h,
|
|
1311
1311
|
gridCellOptions: d
|
|
1312
|
-
} = I(), u = se().selectedIds.selectedIds, f =
|
|
1312
|
+
} = I(), u = se().selectedIds.selectedIds, f = Ve(), p = sr(), { numNavigableColumns: g } = Yt(), m = qe(), w = b(() => l(n), [n, l]), y = b(() => u.indexOf(w) >= 0, [w, u]), { defaultCellRenderer: k = Ur, defaultTextSize: O } = I(), {
|
|
1313
1313
|
itemValueResolver: x,
|
|
1314
1314
|
itemLabelFormatter: M,
|
|
1315
1315
|
width: P,
|
|
@@ -1318,16 +1318,16 @@ const vt = R.createContext({}), Us = ({
|
|
|
1318
1318
|
borderLeft: Y,
|
|
1319
1319
|
renderCell: z = k,
|
|
1320
1320
|
gridCellOptions: Q,
|
|
1321
|
-
isEditable:
|
|
1321
|
+
isEditable: V,
|
|
1322
1322
|
onChange: N,
|
|
1323
1323
|
onKeyDown: ee,
|
|
1324
1324
|
disableGridCell: he,
|
|
1325
1325
|
disableGridCellFocus: te,
|
|
1326
1326
|
zIndex: ae
|
|
1327
|
-
} = Ce(t),
|
|
1328
|
-
() => M ? M(
|
|
1329
|
-
[
|
|
1330
|
-
), ie = typeof
|
|
1327
|
+
} = Ce(t), q = b(() => x ? x(n) : t in n ? n[t] : "", [x, n, t]), me = b(
|
|
1328
|
+
() => M ? M(q, n) : _r(q),
|
|
1329
|
+
[q, M, n]
|
|
1330
|
+
), ie = typeof V == "boolean" ? V : V ? V(n) : void 0, fe = S(
|
|
1331
1331
|
(xe) => {
|
|
1332
1332
|
ee?.(xe, { columnId: t, item: n }), p?.(xe, { columnId: t, item: n });
|
|
1333
1333
|
},
|
|
@@ -1342,10 +1342,10 @@ const vt = R.createContext({}), Us = ({
|
|
|
1342
1342
|
onChange: N ? (xe) => N(n, xe) : void 0,
|
|
1343
1343
|
...d,
|
|
1344
1344
|
...Q
|
|
1345
|
-
}), F = m[t], Qt =
|
|
1345
|
+
}), F = m[t], Qt = qr(t, n) ?? "inherit", Ee = F.sticky ? ae ?? "var(--swui-sticky-column-z-index)" : ae ?? 1, Xt = b(
|
|
1346
1346
|
() => z({
|
|
1347
1347
|
label: me,
|
|
1348
|
-
value:
|
|
1348
|
+
value: q,
|
|
1349
1349
|
item: n,
|
|
1350
1350
|
gridCell: ne,
|
|
1351
1351
|
isEditable: ie,
|
|
@@ -1357,7 +1357,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1357
1357
|
[
|
|
1358
1358
|
z,
|
|
1359
1359
|
me,
|
|
1360
|
-
|
|
1360
|
+
q,
|
|
1361
1361
|
n,
|
|
1362
1362
|
ne,
|
|
1363
1363
|
ie,
|
|
@@ -1411,7 +1411,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1411
1411
|
children: /* @__PURE__ */ s("td", { colSpan: i, children: n(t, { onRequestCollapse: a }) })
|
|
1412
1412
|
}
|
|
1413
1413
|
) });
|
|
1414
|
-
},
|
|
1414
|
+
}, Vt = In.tr`
|
|
1415
1415
|
${({ focusBackground: e }) => e ? `--focus-within-background: ${e};` : ""}
|
|
1416
1416
|
${({ borderLeft: e }) => e ? `border-left: ${e};` : ""};
|
|
1417
1417
|
${({ background: e }) => e ? `background: ${e};` : ""};
|
|
@@ -1457,7 +1457,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1457
1457
|
L,
|
|
1458
1458
|
x,
|
|
1459
1459
|
z
|
|
1460
|
-
),
|
|
1460
|
+
), V = b(
|
|
1461
1461
|
() => m?.(t),
|
|
1462
1462
|
[t, m]
|
|
1463
1463
|
), N = dr(), ee = ot(
|
|
@@ -1528,7 +1528,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1528
1528
|
children: /* @__PURE__ */ s(
|
|
1529
1529
|
Nr,
|
|
1530
1530
|
{
|
|
1531
|
-
disabled:
|
|
1531
|
+
disabled: V,
|
|
1532
1532
|
value: x,
|
|
1533
1533
|
onValueChange: M,
|
|
1534
1534
|
onValueChangeAndShift: P,
|
|
@@ -1542,7 +1542,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1542
1542
|
)
|
|
1543
1543
|
}
|
|
1544
1544
|
),
|
|
1545
|
-
u.map(({ groupConfig:
|
|
1545
|
+
u.map(({ groupConfig: q, groupId: me }, ie) => /* @__PURE__ */ s(R.Fragment, { children: q.columnOrder.map((fe, ne) => /* @__PURE__ */ s(
|
|
1546
1546
|
Jr,
|
|
1547
1547
|
{
|
|
1548
1548
|
columnId: fe,
|
|
@@ -1553,7 +1553,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1553
1553
|
borderFromGroup: Te(
|
|
1554
1554
|
ie,
|
|
1555
1555
|
ne,
|
|
1556
|
-
|
|
1556
|
+
q.borderLeft
|
|
1557
1557
|
),
|
|
1558
1558
|
disableBorderLeft: ie === 0 && ne === 0
|
|
1559
1559
|
},
|
|
@@ -1573,7 +1573,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1573
1573
|
[
|
|
1574
1574
|
a,
|
|
1575
1575
|
f,
|
|
1576
|
-
|
|
1576
|
+
V,
|
|
1577
1577
|
k,
|
|
1578
1578
|
w,
|
|
1579
1579
|
ee,
|
|
@@ -1593,7 +1593,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1593
1593
|
);
|
|
1594
1594
|
return /* @__PURE__ */ v(E, { children: [
|
|
1595
1595
|
/* @__PURE__ */ s(
|
|
1596
|
-
|
|
1596
|
+
Vt,
|
|
1597
1597
|
{
|
|
1598
1598
|
hoverBackground: z,
|
|
1599
1599
|
background: Y,
|
|
@@ -1625,7 +1625,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1625
1625
|
borderFromGroup: o,
|
|
1626
1626
|
colSpan: a
|
|
1627
1627
|
}) {
|
|
1628
|
-
const i =
|
|
1628
|
+
const i = qe(), {
|
|
1629
1629
|
renderSummaryCell: c,
|
|
1630
1630
|
summaryText: l,
|
|
1631
1631
|
borderLeft: h,
|
|
@@ -1713,7 +1713,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1713
1713
|
), ho = function({ items: t }) {
|
|
1714
1714
|
const { columns: n } = I();
|
|
1715
1715
|
return b(() => oo(n), [n]) ? /* @__PURE__ */ s(uo, { items: t }) : null;
|
|
1716
|
-
},
|
|
1716
|
+
}, qt = (e) => (t) => e == null ? !0 : !e(t), mo = R.memo(function({
|
|
1717
1717
|
items: t,
|
|
1718
1718
|
colIndexOffset: n = 0,
|
|
1719
1719
|
rowIndexOffset: r = 0
|
|
@@ -1740,7 +1740,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1740
1740
|
)
|
|
1741
1741
|
), u && m.reverse(), c || o.current++, m;
|
|
1742
1742
|
}, [h, t, f, u, c]), g = b(
|
|
1743
|
-
() => p.filter(
|
|
1743
|
+
() => p.filter(qt(l)).map((m) => i(m)),
|
|
1744
1744
|
[p, l, i]
|
|
1745
1745
|
);
|
|
1746
1746
|
return mt(() => {
|
|
@@ -1822,7 +1822,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1822
1822
|
} = ve(), c = r.length === 0, l = e ? e.length > 0 && r.length === e.length : !1, h = S(() => {
|
|
1823
1823
|
e && i(
|
|
1824
1824
|
c ? o(
|
|
1825
|
-
e.filter(
|
|
1825
|
+
e.filter(qt(n)).map((d) => t(d))
|
|
1826
1826
|
) : a()
|
|
1827
1827
|
);
|
|
1828
1828
|
}, [
|
|
@@ -1897,7 +1897,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1897
1897
|
infoIconTooltipAppendTo: p,
|
|
1898
1898
|
infoIconTooltipZIndex: g,
|
|
1899
1899
|
sortOrderIconVariant: m
|
|
1900
|
-
} = I(), w =
|
|
1900
|
+
} = I(), w = qe(), { arrow: y, selected: k, onClickColumnHead: O } = wo(t), x = typeof a == "string" ? a : jr(t), M = je(
|
|
1901
1901
|
n,
|
|
1902
1902
|
r,
|
|
1903
1903
|
i
|
|
@@ -1951,7 +1951,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
1951
1951
|
position: l ? "sticky" : void 0,
|
|
1952
1952
|
boxShadow: l ? "var(--swui-sticky-column-shadow-right)" : void 0
|
|
1953
1953
|
};
|
|
1954
|
-
return /* @__PURE__ */ v(
|
|
1954
|
+
return /* @__PURE__ */ v(Vt, { height: n, borderLeft: Ne, children: [
|
|
1955
1955
|
c && /* @__PURE__ */ s("th", { children: /* @__PURE__ */ s(T, { indent: c }) }),
|
|
1956
1956
|
i && /* @__PURE__ */ s(
|
|
1957
1957
|
"th",
|
|
@@ -2053,7 +2053,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
2053
2053
|
dispatch: P
|
|
2054
2054
|
}),
|
|
2055
2055
|
[M, P]
|
|
2056
|
-
), L = !!(r ?? "columnGroupOrder" in n), Y = "columnGroups" in n ? n.columnGroups : void 0, z = "columnGroupOrder" in n ? n.columnGroupOrder : void 0, Q = "columnOrder" in n ? n.columnOrder : void 0,
|
|
2056
|
+
), L = !!(r ?? "columnGroupOrder" in n), Y = "columnGroups" in n ? n.columnGroups : void 0, z = "columnGroupOrder" in n ? n.columnGroupOrder : void 0, Q = "columnOrder" in n ? n.columnOrder : void 0, V = b(
|
|
2057
2057
|
() => Nt(
|
|
2058
2058
|
Y,
|
|
2059
2059
|
z,
|
|
@@ -2070,8 +2070,8 @@ const vt = R.createContext({}), Us = ({
|
|
|
2070
2070
|
try {
|
|
2071
2071
|
br(n);
|
|
2072
2072
|
return;
|
|
2073
|
-
} catch (
|
|
2074
|
-
return
|
|
2073
|
+
} catch (q) {
|
|
2074
|
+
return q instanceof Error ? q : new Error("Unknown error");
|
|
2075
2075
|
}
|
|
2076
2076
|
}, [n]), ae = {
|
|
2077
2077
|
background: w || g ? "white" : void 0,
|
|
@@ -2096,7 +2096,7 @@ const vt = R.createContext({}), Us = ({
|
|
|
2096
2096
|
children: /* @__PURE__ */ s(Dt.Provider, { value: x, children: /* @__PURE__ */ s(Et.Provider, { value: A, children: /* @__PURE__ */ s(Rt.Provider, { value: n, children: /* @__PURE__ */ s(
|
|
2097
2097
|
Gt.Provider,
|
|
2098
2098
|
{
|
|
2099
|
-
value:
|
|
2099
|
+
value: V,
|
|
2100
2100
|
children: /* @__PURE__ */ s(
|
|
2101
2101
|
Ht.Provider,
|
|
2102
2102
|
{
|
|
@@ -2468,7 +2468,7 @@ const No = {
|
|
|
2468
2468
|
"Friday",
|
|
2469
2469
|
"Saturday"
|
|
2470
2470
|
]
|
|
2471
|
-
},
|
|
2471
|
+
}, Vo = {
|
|
2472
2472
|
narrow: {
|
|
2473
2473
|
am: "a",
|
|
2474
2474
|
pm: "p",
|
|
@@ -2499,7 +2499,7 @@ const No = {
|
|
|
2499
2499
|
evening: "evening",
|
|
2500
2500
|
night: "night"
|
|
2501
2501
|
}
|
|
2502
|
-
},
|
|
2502
|
+
}, qo = {
|
|
2503
2503
|
narrow: {
|
|
2504
2504
|
am: "a",
|
|
2505
2505
|
pm: "p",
|
|
@@ -2562,9 +2562,9 @@ const No = {
|
|
|
2562
2562
|
defaultWidth: "wide"
|
|
2563
2563
|
}),
|
|
2564
2564
|
dayPeriod: pe({
|
|
2565
|
-
values:
|
|
2565
|
+
values: Vo,
|
|
2566
2566
|
defaultWidth: "wide",
|
|
2567
|
-
formattingValues:
|
|
2567
|
+
formattingValues: qo,
|
|
2568
2568
|
defaultFormattingWidth: "wide"
|
|
2569
2569
|
})
|
|
2570
2570
|
};
|
|
@@ -3775,7 +3775,7 @@ export {
|
|
|
3775
3775
|
Ne as tableBorderLeft,
|
|
3776
3776
|
kt as tableBorderLeftExpanded,
|
|
3777
3777
|
ot as useCellBackgroundByColumnConfig,
|
|
3778
|
-
|
|
3778
|
+
qr as useCellBackgroundByColumnId,
|
|
3779
3779
|
Ce as useColumnConfigById,
|
|
3780
3780
|
Lr as useColumnValueResolver,
|
|
3781
3781
|
Hn as useEditableCell,
|
|
@@ -3790,7 +3790,7 @@ export {
|
|
|
3790
3790
|
Yr as useRowCheckbox,
|
|
3791
3791
|
ve as useStandardTableActions,
|
|
3792
3792
|
I as useStandardTableConfig,
|
|
3793
|
-
|
|
3793
|
+
Ve as useStandardTableId,
|
|
3794
3794
|
se as useStandardTableState,
|
|
3795
3795
|
po as useTableHeadCheckbox,
|
|
3796
3796
|
wo as useTableSortHeader
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._tableRow_1cphw_1:focus-within{background:var(--focus-within-background, var(--lhds-color-blue-50))}.
|
|
2
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),d=require("react"),v=require("@stenajs-webui/elements"),q=require("@stenajs-webui/theme"),ne=require("@stenajs-webui/tooltip"),f=require("@stenajs-webui/core"),cn=require("@fortawesome/free-solid-svg-icons/faSortAlphaDown"),ln=require("@fortawesome/free-solid-svg-icons/faSortAlphaUp"),dn=require("@fortawesome/free-solid-svg-icons/faSortAmountDownAlt"),un=require("@fortawesome/free-solid-svg-icons/faSortAmountUpAlt"),hn=require("@fortawesome/free-solid-svg-icons/faSortNumericDown"),mn=require("@fortawesome/free-solid-svg-icons/faSortNumericUp"),at=require("classnames"),oe=require("@stenajs-webui/forms"),je=require("react-redux"),O=require("@stenajs-webui/redux"),fn=require("redux"),it=require("@stenajs-webui/panels"),Oe=require("lodash-es"),xn=require("@emotion/styled");function pn(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const R=pn(d),Me=R.createContext({}),gn=({children:e,numCols:t,numRows:n,tableId:r,wrap:o})=>{const a=d.useMemo(()=>({numCols:t,numRows:n,tableId:r,wrap:o}),[t,n,r,o]);return s.jsx(Me.Provider,{value:a,children:e})},pe=e=>{const{loading:t,creating:n,deleting:r,updating:o,hasError:a}=e;return!!(t||n||r||o||a)},De=({crudStatus:e})=>{if(!e||!pe(e))return null;const{errorMessage:t,hasError:n,loading:r,creating:o,deleting:a,updating:i}=e;if(r||o||a||i)return s.jsx(v.InputSpinner,{color:q.cssColor("--lhds-color-ui-500")});if(n){const c=s.jsx(v.Icon,{icon:v.stenaExclamationTriangle,color:q.cssColor("--lhds-color-orange-600"),size:14});return s.jsx(s.Fragment,{children:t?s.jsx(ne.Tooltip,{label:t,children:c}):c})}return null},ct=({isEditable:e,warningOnEmpty:t,value:n,modifiedField:r,crudStatus:o})=>{const a=t&&r?.modified&&r?.newValue==="",i=o&&pe(o),c=a||i;return s.jsxs(s.Fragment,{children:[s.jsx(f.Text,{color:e?"var(--swui-primary-action-color)":void 0,variant:r?.modified?"bold":void 0,children:n}),r?.newValue!==void 0&&s.jsxs(s.Fragment,{children:[s.jsx(f.Indent,{children:s.jsx(v.Icon,{icon:v.stenaArrowRight,size:12})}),s.jsx(f.Text,{color:"var(--swui-primary-action-color)",variant:"bold",children:r.newValue})]}),c&&s.jsx(f.Space,{}),a?s.jsx(ne.Tooltip,{label:t,children:s.jsx(v.Icon,{icon:v.stenaExclamationTriangle,color:q.cssColor("--lhds-color-orange-600"),size:14})}):s.jsx(De,{crudStatus:o})]})},lt=({alignItems:e="center",justifyContent:t="flex-start",overflow:n="hidden",indent:r=1,...o})=>s.jsx(f.Row,{height:"100%",alignItems:e,justifyContent:t,overflow:n,indent:r,...o}),dt="var(--lhds-color-ui-300)",ut="var(--lhds-color-blue-500)",Ee="var(--lhds-color-blue-50)",ht="var(--lhds-color-blue-100)",re=`1px solid ${dt}`,mt="1px solid transparent",ge="var(--swui-expand-highlight-border-width) solid transparent",Ge=`var(--swui-expand-highlight-border-width) solid ${ut}`,we="40px",be="40px",Fe="40px",wn=e=>s.jsx(lt,{width:Fe,justifyContent:"center",...e}),$e=({iconVariant:e="amount",direction:t})=>s.jsx(f.Box,{width:"14px",children:s.jsx(v.Icon,{size:14,color:q.cssColor("--lhds-color-ui-500"),icon:bn(t,e)})}),bn=(e,t)=>{switch(t){case"alpha":return e==="up"?ln.faSortAlphaUp:cn.faSortAlphaDown;case"numeric":return e==="up"?mn.faSortNumericUp:hn.faSortNumericDown;case"amount":return e==="up"?un.faSortAmountUpAlt:dn.faSortAmountDownAlt;default:return f.exhaustSwitchCaseElseThrow(t)}},Ce=R.memo(({label:e,arrow:t,onClick:n,children:r,selected:o,popoverContent:a,loading:i,infoIconTooltipAppendTo:c,infoIconTooltipText:l,infoIconTooltipZIndex:m,overflow:u="hidden",alignRight:h,sortOrderIconVariant:p,...g})=>{const w=d.useRef(null),x=n?{cursor:"pointer",userSelect:"none"}:void 0,b=!e&&!t&&!l;return s.jsxs(f.Row,{height:"100%",alignItems:"center",ref:w,overflow:u,justifyContent:h?"flex-end":"flex-start",borderTop:"2px solid transparent",borderBottom:`2px solid ${o?q.cssColor("--lhds-color-blue-500"):"transparent"}`,...g,children:[s.jsxs(f.Row,{alignItems:"center",indent:!0,children:[!t&&h&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{}),s.jsx(f.Box,{width:"14px"}),s.jsx(f.Space,{num:.5})]}),(r||e)&&s.jsxs(f.Row,{onClick:n,style:x,alignItems:"center",children:[r&&s.jsxs(s.Fragment,{children:[r,!b&&s.jsx(f.Space,{num:.5})]}),t&&h&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{}),s.jsx($e,{direction:t,iconVariant:p}),s.jsx(f.Space,{num:.5})]}),e&&s.jsx(f.Heading,{variant:"h6",style:{textAlign:"left"},children:e}),t&&!h&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{num:.5}),s.jsx($e,{direction:t,iconVariant:p}),s.jsx(f.Space,{})]})]}),l&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{}),s.jsxs(f.Row,{onClick:C=>C.stopPropagation(),children:[s.jsx(ne.Tooltip,{appendTo:c,label:l,zIndex:m,children:s.jsx(v.Icon,{icon:v.stenaInfoCircle,size:14,color:q.cssColor("--lhds-color-blue-400")})}),s.jsx(f.Space,{})]})]})]}),s.jsx(f.Row,{children:i?s.jsx(v.InputSpinner,{}):a?s.jsx(ne.Popover,{renderTrigger:C=>s.jsx(v.FlatButton,{leftIcon:v.stenaDotsVertical,size:"small",...C}),trigger:"click",disablePadding:!0,children:a}):null}),!t&&!h&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{}),s.jsx(f.Box,{width:"14px"}),s.jsx(f.Space,{num:.5})]})]})}),Cn=e=>s.jsx(Ce,{width:Fe,justifyContent:"center",...e}),yn=({label:e,flex:t,width:n,indent:r=1,height:o=be})=>s.jsx(Ce,{width:n,flex:t,height:o,children:s.jsx(f.Box,{indent:r,spacing:!0,children:s.jsx(f.Text,{variant:"bold",children:e})})}),vn=R.memo(({style:e,height:t=be,...n})=>s.jsx(f.Row,{style:e,height:t,...n})),kn="_tableRow_1cphw_1",Sn={tableRow:kn},jn=({hideBorderTop:e,height:t=be,className:n,...r})=>s.jsx(f.Row,{borderTop:e?mt:re,height:t,className:at(Sn.tableRow,n),...r}),ft=e=>{const[t,n]=d.useState(e),r=d.useRef(e),o=d.useRef(e),a=d.useCallback(u=>{n(u),o.current=u},[n,o]);d.useEffect(()=>{a(e)},[a,e]);const i=d.useCallback(()=>{r&&a(r.current)},[a,r]),c=d.useCallback(u=>{r.current=t,u&&a(u)},[t,a]),l=d.useCallback(u=>r.current=u,[r]),m=d.useCallback(()=>o.current,[o]);return{value:t,setValue:a,setRevertValue:l,revert:i,commit:c,getValue:m}},In=e=>({altKey:e.altKey,charCode:e.charCode,ctrlKey:e.ctrlKey,key:e.key,keyCode:e.keyCode,locale:e.locale,location:e.location,metaKey:e.metaKey,repeat:e.repeat,shiftKey:e.shiftKey,which:e.which}),Tn=e=>e,xt=(e,{isEditable:t=!1,allowedInputType:n="all",onChange:r,onStartEditing:o,onStopEditing:a,transformEnteredValue:i=Tn})=>{const[c,l]=d.useState(!1),[m,u]=d.useState(void 0),h=ft(e),{getValue:p,revert:g,setValue:w,setRevertValue:x}=h,b=d.useCallback(k=>{t&&(w(e),x(e),l(!0),o&&o(k))},[t,o,x,w,e]),C=d.useCallback(()=>{t&&(l(!1),a&&a(),r&&r(p()))},[t,r,a,p,l]),S=d.useCallback(()=>{t&&(l(!1),a&&a(),g())},[t,a,g,l]);return{onKeyDown:d.useMemo(()=>En(c,t,b,u,n,i,h),[c,t,b,u,n,i,h]),isEditing:c,lastKeyEvent:m,revertableValue:h,startEditing:b,stopEditing:C,stopEditingAndRevert:S,onDoubleClick:b}},On=e=>e==="all"||e==="numeric"||e==="alphanumeric",Pn=e=>e==="all"||e==="alphanumeric"||e==="letters",Rn=e=>!!e.match(/^[-+*<>]$/),Mn=e=>!!e.match(/^[a-zA-Z0-9]$/),Dn=e=>!isNaN(parseInt(e,10)),En=(e,t,n,r,o,a,i)=>c=>{if(!(c.ctrlKey||c.metaKey||c.shiftKey)){if(c.key==="Enter"&&t)r(void 0),n(),i.commit(),c.preventDefault(),c.stopPropagation();else if(t){const l=In(c);(Dn(c.key)&&On(o)||Mn(c.key)&&Pn(o)||Rn(c.key))&&(n(l),r(l),i.commit(),i.setValue(a(l.key)),c.preventDefault(),c.stopPropagation())}}},Gn=(e,t,n,r)=>{let o=e,a=t;return t>r&&(a=0),t<0&&(a=r),e>n&&(o=0),e<0&&(o=n),{realX:o,realY:a}},Qe=(e,t,n)=>Math.max(Math.min(e,n),t),Fn=(e,t,n)=>({rowIndex:Qe(e.rowIndex,0,t),colIndex:Qe(e.colIndex,0,n)}),Bn=(e,t,n)=>{const r=Gn(e.colIndex,e.rowIndex,n,t);return{rowIndex:r.realY,colIndex:r.realX}},An=(e,t,n,r,o,a="clamped")=>{const i=Wn(e,t,o);return a==="clamped"?Fn(i,n-1,r-1):a==="wrapped"?Bn(i,n-1,r-1):i},Wn=(e,t,n)=>n==="up"?{rowIndex:e-1,colIndex:t}:n==="down"?{rowIndex:e+1,colIndex:t}:n==="left"?{rowIndex:e,colIndex:t-1}:n==="right"?{rowIndex:e,colIndex:t+1}:{rowIndex:e,colIndex:t},Hn=e=>e.replace(/^[^a-z]+|[^\w:.-]+/gi,""),Ln=e=>{if(!e.tableId)throw new Error("tableId is required.");if(e.numRows==null)throw new Error("numRows is required.");if(e.numCols==null)throw new Error("numCols is required.");return e},Be=e=>{const t=d.useContext(Me);return d.useMemo(()=>Ln({...t,...e}),[t,e])},pt=e=>{const{rowIndex:t,colIndex:n,numRows:r,numCols:o,tableId:a,edgeMode:i,onCellMove:c,onCellNavigation:l}=Be(e),m=d.useMemo(()=>Nn(a,t,n,r,o,i,c,l),[a,t,n,r,o,i,c,l]),u=d.useMemo(()=>qn(m),[m]),h=d.useMemo(()=>gt(a,t,n),[a,t,n]),p=d.useMemo(()=>({tabIndex:0,onKeyDown:u,id:h}),[u,h]);return{focusOnCell:Ae,moveHandler:m,requiredProps:p}},Nn=(e,t,n,r,o,a,i,c)=>l=>{const m=An(t,n,r,o,l,a),u=n!==m.colIndex,h=t!==m.rowIndex;(u||h)&&(i&&i({direction:l,fromRowIndex:t,fromColIndex:n,rowIndex:m.rowIndex,colIndex:m.colIndex,colDidChange:u,rowDidChange:h}),Ae(e,m)),c&&c({direction:l,fromRowIndex:t,fromColIndex:n,rowIndex:m.rowIndex,colIndex:m.colIndex,colDidChange:u,rowDidChange:h,cellDidChange:u||h})},gt=(e,t,n)=>Hn(`table-${e}-${t}-${n}`),qn=e=>t=>t.key==="ArrowLeft"?(e("left"),t.preventDefault(),t.stopPropagation(),!0):t.key==="ArrowUp"?(e("up"),t.preventDefault(),t.stopPropagation(),!0):t.key==="ArrowRight"?(e("right"),t.preventDefault(),t.stopPropagation(),!0):t.key==="ArrowDown"?(e("down"),t.preventDefault(),t.stopPropagation(),!0):!1,Ae=(e,t)=>{const n=document.getElementById(gt(e,t.rowIndex,t.colIndex));n&&n.focus()},me=(e,t)=>{const{tableId:n}=Be(t),r=pt(t),o=xt(e,t),a=d.useMemo(()=>({rowIndex:t.rowIndex,colIndex:t.colIndex}),[t.rowIndex,t.colIndex]),i=d.useCallback(()=>{o.startEditing(),r.focusOnCell(n,a)},[o,r,n,a]),c=d.useCallback(()=>{o.stopEditing(),r.focusOnCell(n,a)},[o,r,n,a]),l=d.useCallback(()=>{o.stopEditingAndRevert(),r.focusOnCell(n,a)},[o,r,n,a]),m=d.useCallback(g=>{o.stopEditing(),r.moveHandler(g)},[o,r]),u=d.useCallback(g=>{r.moveHandler(g)},[r]),h=d.useCallback(g=>{o.isEditing||r.requiredProps.onKeyDown(g)||o.onKeyDown(g)},[o,r.requiredProps]),p=d.useMemo(()=>({...r.requiredProps,onKeyDown:h,onDoubleClick:o.onDoubleClick}),[h,o.onDoubleClick,r.requiredProps]);return{isEditing:o.isEditing,lastKeyEvent:o.lastKeyEvent,editorValue:o.revertableValue.value,setEditorValue:o.revertableValue.setValue,revertEditorValue:o.revertableValue.revert,requiredProps:p,move:u,startEditing:i,stopEditing:c,stopEditingAndRevert:l,stopEditingAndMove:m}},Yn=function({allowedInputType:t,value:n="",entityId:r,isEditable:o,rowIndent:a,crudStatusRedux:i,modifiedFieldsRedux:c,colIndex:l,rowIndex:m,numCols:u,numRows:h,warningOnEmpty:p}){const g=je.useDispatch(),w=je.useSelector(c.selectors.getState),x=je.useSelector(i.selectors.getState),b=w.entities[r],C=x.entities[r],S=d.useCallback((F="")=>{g(F===n?c.actions.clearEntity(r):c.actions.setEntity({id:r,originalValue:n,newValue:F,modified:!0}))},[g,r,c.actions,n]),{isEditing:T,stopEditing:k,editorValue:M,setEditorValue:j,stopEditingAndRevert:E,stopEditingAndMove:G,lastKeyEvent:A,requiredProps:{onKeyDown:W,...z}}=me(n,{rowIndex:m,colIndex:l,numCols:u,numRows:h,tableId:"serviceManningMatrixTable",onChange:S,isEditable:o,allowedInputType:t}),H=d.useCallback(F=>{F.key==="Delete"?(g(c.actions.clearEntity(r)),g(i.actions.setEntityFields(r,{hasError:!1,errorMessage:void 0}))):W(F)},[W,r,g,c.actions,i.actions]);return s.jsxs(f.Row,{height:we,width:"100%",borderBottom:re,hoverBackground:"var(--ui7)",alignItems:"center",children:[a&&s.jsx(f.Indent,{num:a}),s.jsx(f.Row,{width:"100%",height:"100%",justifyContent:"flex-end",alignItems:"center",border:"1px solid transparent",borderRadius:"4px",focusBorder:T?void 0:"1px solid var(--primary-action-color)",hoverBorder:T?void 0:"var(--ui5) solid 1px;",onKeyDown:H,...z,children:s.jsx(f.Indent,{row:!0,alignItems:"center",children:T?s.jsx(oe.TextInput,{onValueChange:j,value:M,onDone:k,onEsc:E,autoFocus:!0,selectAllOnMount:!A,onMove:G}):s.jsxs(s.Fragment,{children:[s.jsx(f.Text,{color:o?"var(--primary-action-color)":void 0,variant:b?.modified?"bold":void 0,children:n}),b?.newValue!==void 0&&s.jsxs(s.Fragment,{children:[s.jsx(f.Indent,{children:s.jsx(v.Icon,{icon:v.stenaArrowRight,size:12})}),s.jsx(f.Text,{color:"var(--primary-action-color)",variant:"bold",children:b.newValue})]}),C&&pe(C)&&s.jsx(f.Space,{num:2}),p&&b?.modified&&b?.newValue===""?s.jsx(ne.Tooltip,{label:p,children:s.jsx(v.Icon,{icon:v.stenaExclamationTriangle,color:"var(--ui-alert1)",size:14})}):s.jsx(De,{crudStatus:C})]})})}),a&&s.jsx(f.Indent,{num:a})]})},We=d.createContext(""),He=d.createContext(void 0),Le=d.createContext(void 0),Ne=d.createContext(void 0),wt=()=>({sortOrder:O.createSortOrderActions(),selectedIds:O.createSelectedIdsActions(),expandedRows:O.createSelectedIdsActions(),fields:O.createEntityActions()}),N=(e,t)=>`${e}.${t}`,qe=(e=void 0,t=!1,n=[],r=[])=>({sortOrder:O.createSortOrderReducerInitialState(e,t),selectedIds:O.createSelectedIdsReducerInitialState(n),expandedRows:O.createSelectedIdsReducerInitialState(r),fields:{lastSelectedId:void 0}}),bt=(e,t)=>{const n=O.reducerIdGate(N(e,"sortOrder"),O.createSortOrderReducer(t?.sortOrder)),r=O.reducerIdGate(N(e,"selectedIds"),O.createSelectedIdsReducer(t?.selectedIds)),o=O.reducerIdGate(N(e,"expandedRows"),O.createSelectedIdsReducer(t?.expandedRows)),a=O.reducerIdGate(N(e,"fields"),O.createEntityReducer(t?.fields??{}));return fn.combineReducers({sortOrder:n,selectedIds:r,expandedRows:o,fields:a})},ye=()=>d.useContext(We),I=()=>d.useContext(Ne),_=()=>d.useContext(He),se=()=>d.useContext(Le),Ct=d.createContext([]),K=()=>d.useContext(Ct),yt=()=>{const e=I(),t=K();let n=0;return e.enableExpandCollapse&&n++,e.showRowCheckbox&&n++,n+d.useMemo(()=>t.map(r=>r.groupConfig.columnOrder.length).reduce((r,o)=>r+o,0),[t])},vt=d.createContext(void 0),zn=()=>d.useContext(vt),kt=d.createContext(void 0),Vn=()=>d.useContext(kt),_n=d.createContext(void 0),Kn=d.createContext(!1),$n=d.createContext("standard"),St=d.createContext({}),Ye=()=>d.useContext(St),jt=d.createContext(0),ze=()=>d.useContext(jt),Ve=(e,t,n)=>e?Oe.compact(t?.map(r=>{const o=e?.[r];return{groupId:r,groupConfig:o}})??[]).filter(r=>(r.groupConfig?.columnOrder.length??0)>0).map(r=>r):[{groupId:"virtual",groupConfig:{label:"",columnOrder:n??[]}}],_e=(e,t,n)=>{if(e)return e===!0?re:e;if(!t&&n)return n===!0?re:n},ve=(e,t,n)=>{if(!(e===0||t!==0)&&n)return n===!0?re:n},ae=e=>{const{columns:t}=I(),n=t[e];if(!n)throw new Error("No config for column with id="+e);return n},It=()=>{const e=I(),t=K()?.[0]?.groupConfig.columnOrder?.[0];return t?e.columns[t]:void 0},Tt=()=>{const e=I(),t=K(),n=t[t.length-1],r=n?.groupConfig.columnOrder[n.groupConfig.columnOrder.length-1]??void 0;return r?e.columns[r]:void 0},Qn=function({columnId:t,groupConfig:n,borderFromGroup:r,colSpan:o,isFirstGroup:a,isLastGroup:i}){const{label:c,render:l,contentLeft:m,contentRight:u,loading:h,error:p}=n,{width:g,minWidth:w,zIndex:x,borderLeft:b}=ae(t),C=I(),{stickyHeader:S,headerRowOffsetTop:T}=C,k="columnGroupOrder"in C?C.stickyColumnGroups:void 0,M=Un(r,b),j=a&&(k==="first"||k==="both"),E=i&&(k==="last"||k==="both"),G=j||E||S,A=j||E;return s.jsx("th",{colSpan:o,style:{position:G?"sticky":void 0,height:"var(--current-row-height)",width:g,minWidth:w??g??"20px",background:G?"white":"transparent",left:j?"var(--current-left-offset)":void 0,right:E?"0px":void 0,top:S?T??"0px":void 0,borderLeft:M,zIndex:S&&A?"var(--swui-sticky-column-group-label-z-index)":A?"var(--swui-sticky-group-group-z-index)":S?x??"var(--swui-sticky-header-column-group-z-index)":x??1,boxShadow:j?"var(--swui-sticky-column-shadow-right)":E?"var(--swui-sticky-column-shadow-left)":void 0},children:s.jsx(f.Row,{alignItems:"center",children:s.jsxs(s.Fragment,{children:[m&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{}),m,s.jsx(f.Space,{num:.5})]}),l?l(n):s.jsx(f.Indent,{children:s.jsx(f.Heading,{variant:"h5",whiteSpace:"nowrap",children:c})}),u&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{num:.5}),u]}),(p||h)&&s.jsx(f.Indent,{}),h?s.jsx(v.InputSpinner,{}):p?s.jsx(ne.Tooltip,{label:p,placement:"bottom",children:s.jsx(v.Icon,{icon:v.stenaExclamationTriangle,color:q.cssColor("--lhds-color-red-500"),size:14})}):void 0]})})})},Un=(e,t)=>{if(e)return e;if(t)return"1px solid transparent"},Xn=(e,t,n,r)=>({top:e?Jn(e,n):void 0,background:e||t?"white":void 0,position:e||t?"sticky":void 0,boxShadow:t?"var(--swui-sticky-column-shadow-right)":void 0,zIndex:e||t?r??"var(--swui-sticky-header-z-index)":r}),Jn=(e,t)=>{if(e&&t)return t;if(t)return t;if(e)return 0},Zn=R.memo(function({height:t=we}){const n=K(),r=I(),{showHeaderCheckbox:o,enableExpandCollapse:a,rowIndent:i,zIndex:c,stickyHeader:l,stickyCheckboxColumn:m,headerRowOffsetTop:u}=r,h=Xn(l,m,u,c),p=l?"var(--swui-sticky-column-group-label-z-index)":"var(--swui-sticky-group-group-z-index)";return s.jsxs("tr",{style:{height:t,borderLeft:ge},children:[i&&s.jsx("th",{style:h}),a&&s.jsx("th",{style:{...h,width:"var(--swui-expand-cell-width)",left:m?"0px":void 0,zIndex:p}}),o&&s.jsx("th",{style:{...h,left:m&&a?"var(--swui-expand-cell-width)":m?"0px":void 0,zIndex:p}}),n.map(({groupConfig:g,groupId:w},x)=>s.jsx(Qn,{isFirstGroup:x===0,isLastGroup:x===n.length-1,groupConfig:g,columnId:g.columnOrder[0],colSpan:g.columnOrder.length,borderFromGroup:ve(x,0,g.borderLeft)},w)),i&&s.jsx("th",{style:h}),s.jsx("th",{style:h})]})}),er=e=>{const t=Ve("columnGroups"in e?e.columnGroups:void 0,"columnGroupOrder"in e?e.columnGroupOrder:void 0,"columnOrder"in e?e.columnOrder:void 0),n={};let r=0;return e.showRowCheckbox&&r++,e.enableExpandCollapse&&r++,t.forEach(o=>{o.groupConfig.columnOrder.forEach(a=>{tr(e.columns[a])&&(n[a]=r++)})}),{columnIndexPerColumnId:n,numNavigableColumns:r}},tr=e=>!e.disableGridCell,Ot=d.createContext({columnIndexPerColumnId:{},numNavigableColumns:0}),Pt=()=>d.useContext(Ot),nr=e=>{"columnGroupOrder"in e&&(rr(e),(e.stickyColumnGroups==="first"||e.stickyColumnGroups==="both")&&Ue(e,0),(e.stickyColumnGroups==="last"||e.stickyColumnGroups==="both")&&Ue(e,e.columnGroupOrder.length-1))},rr=e=>{Object.keys(e.columns).forEach(n=>{const r=e.columns[n];if("sticky"in r&&r.sticky)throw new Error("Columns can not be sticky when column groups are used. columnId: "+n)})},Ue=(e,t)=>{if(!e.columnGroupOrder||e.columnGroupOrder.length===0)throw new Error("columnGroupOrder required when validating column group fixed width.");const n=e.columnGroupOrder[t],r=e.columnGroups?.[n];if(!r)throw new Error("Column group does not exist. Column group id = "+n);r.columnOrder.forEach(o=>{if(e.columns[o].width==null)throw new Error("All columns in sticky column group must have width set.")})},or=e=>{const t=e.stickyColumnGroups==="first"||e.stickyColumnGroups==="both"?Xe(ar(e),e.columns,!0):void 0,n=e.stickyColumnGroups==="last"||e.stickyColumnGroups==="both"?Xe(ir(e),e.columns,!1):void 0;return{...t,...n}},Xe=(e,t,n)=>{const r={},o=[n?"var(--current-left-offset)":"0px"];for(let a=0;a<e.length;a++){const i=e[a],c=t?.[i];r[i]=sr(o),o.push(c?.width??"0px")}return r},sr=e=>e.length===0?"0px":e.length===1?e[0]:"calc("+e.join(" + ")+")",ar=e=>{const t=e.columnGroupOrder?.[0];return t?e.columnGroups?.[t]?.columnOrder??[]:[]},ir=e=>{const t=e.columnGroupOrder?.[e.columnGroupOrder?.length-1];if(!t)return[];const n=e.columnGroups?.[t];if(!n)return[];const r=[...n.columnOrder];return r.reverse(),r},cr=e=>"columnGroups"in e?dr(e):lr(e),lr=e=>Object.keys(e.columns).reduce((n,r)=>{const o=e.columns[r],a=!!o.sticky;return n[r]={sticky:a,left:a?`calc(var(--current-left-offset) + ${o.left??"0px"})`:void 0,right:a?o.right:void 0,type:"column",isFirstColumnInLastGroup:!1,isLastColumnInFirstGroup:!1},n},{}),dr=e=>{const t={},n=e.columnGroupOrder,r=or(e),o=e.stickyColumnGroups==="first"||e.stickyColumnGroups==="both",a=e.stickyColumnGroups==="last"||e.stickyColumnGroups==="both";return n.forEach((i,c)=>{const m=e.columnGroups[i].columnOrder;m.forEach((u,h)=>{const p=c===0,g=c===n.length-1,w=p&&o,x=g&&a,b=h===0&&g,C=h===m.length-1&&p;t[u]={sticky:w||x,left:w?r[u]:void 0,right:x?r[u]:void 0,type:w?"first-group":x?"last-group":void 0,isFirstColumnInLastGroup:b,isLastColumnInFirstGroup:C}})}),t},Rt=(e,t)=>({setSelectedIds:n=>O.reducerIdGateAction(N(e,"selectedIds"),t.selectedIds.setSelectedIds(n)),clearSelection:()=>O.reducerIdGateAction(N(e,"selectedIds"),t.selectedIds.clearSelectedIds()),expandByIds:n=>O.reducerIdGateAction(N(e,"expandedRows"),t.expandedRows.setSelectedIds(n)),collapseAll:()=>O.reducerIdGateAction(N(e,"expandedRows"),t.expandedRows.clearSelectedIds()),sortBy:(n,r)=>O.reducerIdGateAction(N(e,"sortOrder"),t.sortOrder.sortBy(n,r??!1)),clearSortOrder:()=>O.reducerIdGateAction(N(e,"sortOrder"),t.sortOrder.clearSortOrder()),setLastSelectedId:n=>O.reducerIdGateAction(N(e,"fields"),t.fields.setEntityFields({lastSelectedId:n}))}),Mt=(e,t=qe())=>{const[n,r]=d.useReducer(bt(e),t),o=d.useMemo(()=>Rt(e,wt()),[e]);return{tableContext:d.useMemo(()=>({dispatch:r,actions:o,state:n}),[n,o,r])}},ur=e=>(e.rowIndent?2:0)+(e.enableExpandCollapse?1:0)+(e.showRowCheckbox?1:0)+hr(e),hr=e=>"columnGroupOrder"in e?e.columnGroupOrder.reduce((t,n)=>{const r=e.columnGroups?.[n];return t+(r?.columnOrder?.length??0)},0):e.columnOrder?.length??0,mr=()=>{const e=I(),t=K(),n=e.enableExpandCollapse||e.showRowCheckbox,r=f.booleanOrNumberToNumber(e.rowIndent);return s.jsxs(s.Fragment,{children:[r?s.jsx("colgroup",{children:s.jsx("col",{style:{width:`calc(var(--swui-metrics-indent) * ${r})`}})}):null,n&&s.jsxs("colgroup",{children:[e.enableExpandCollapse&&s.jsx("col",{style:{width:"var(--swui-expand-cell-width)"}}),e.showRowCheckbox&&s.jsx("col",{style:{width:"var(--swui-checkbox-cell-width)"}})]}),t.map(({groupConfig:o,groupId:a})=>s.jsx("colgroup",{children:o.columnOrder.map(i=>s.jsx("col",{style:{width:e.columns[i].width,minWidth:e.columns[i].minWidth}},i))},a)),r?s.jsx("colgroup",{children:s.jsx("col",{style:{width:`calc(var(--swui-metrics-indent) * ${r})`}})}):null]})},fr="_standardTable_cqns6_1",xr="_relaxed_cqns6_38",pr="_condensed_cqns6_42",gr="_compact_cqns6_46",Je={standardTable:fr,relaxed:xr,condensed:pr,compact:gr},Dt=(e,t)=>e!=null&&t==null?-1:e==null&&t!=null?1:Ie(e,t,"number")?Number(e)-Number(t):Ie(e,t,"boolean")?Number(t)-Number(e):Ie(e,t,"string")?String(e).localeCompare(String(t)):e instanceof Date&&t instanceof Date?e.getTime()-t.getTime():0,Ie=(e,t,n)=>typeof e===n&&typeof t===n,Et=e=>{const{columns:t}=I();if(!e)return;const n=t[e];if(n)return n.itemValueResolver},Gt=R.memo(function({value:t,onValueChange:n,colIndex:r,rowIndex:o,numRows:a,disabled:i,onValueChangeAndShift:c,shiftPressedRef:l}){const m=yt(),u=ye(),h=me(!!t,{colIndex:r,numCols:m,numRows:a,rowIndex:o,tableId:u}),{requiredProps:p}=h,g=d.useCallback(w=>{l.current?c?.(w):n?.(w)},[n,c,l]);return s.jsx(oe.Checkbox,{size:"small",disabled:i,value:t,onValueChange:g,...p})}),wr=(e,t,n)=>{if(t==null||n==null||e==null||t===n)return;const r=e.indexOf(t),o=e.indexOf(n);if(r<0||o<0)return;const a=Math.min(r,o),i=Math.max(r,o);return e.slice(a,i+1)},Ft=(e,t)=>{const{keyResolver:n}=I(),{selectedIds:{selectedIds:r},fields:{lastSelectedId:o}}=_(),{actions:{setSelectedIds:a,setLastSelectedId:i},dispatch:c}=se(),l=d.useMemo(()=>n(e),[n,e]),m=d.useMemo(()=>r.includes(l),[r,l]),{toggle:u,addMultiple:h,removeMultiple:p}=f.useArraySet(r,x=>c(a(x))),g=d.useCallback(()=>{if(t&&o){const x=wr(t,o,l);x?.length?m?p(x):h(x):u(l)}else u(l);c(i(l))},[t,o,c,i,l,m,p,h,u]),w=d.useCallback(()=>{u(l),c(i(l))},[u,l,c,i]);return{isSelected:m,toggleSelected:w,shiftAndToggleSelected:g}},Ke=e=>{const{keyResolver:t}=I(),{expandedRows:{selectedIds:n}}=_(),{actions:{expandByIds:r},dispatch:o}=se(),a=d.useMemo(()=>t(e),[t,e]),i=d.useMemo(()=>n.includes(a),[n,a]),{toggle:c}=f.useArraySet(n,m=>o(r(m)));return{toggleRowExpanded:d.useCallback(()=>{c(a)},[c,a]),isExpanded:i}},br=function({item:e,colIndex:t,numRows:n,rowIndex:r}){const o=yt(),a=ye(),i=me(!0,{colIndex:t,numCols:o,numRows:n,rowIndex:r,tableId:a}),{requiredProps:c}=i,{expandCollapseDisableResolver:l}=I(),{toggleRowExpanded:m,isExpanded:u}=Ke(e),h=d.useMemo(()=>l?l(e):!1,[l,e]);return s.jsx(f.Row,{alignItems:"center",justifyContent:"center",indent:!0,children:!h&&s.jsx(v.FlatButton,{size:"small",leftIcon:u?v.stenaAngleDown:v.stenaAngleRight,onClick:m,...c})})},Cr=(e,t,n)=>e?e(t):n,Bt=(e,t,n)=>d.useMemo(()=>Cr(e,t,n),[e,t,n]),At=(e,t)=>{const{background:n,backgroundResolver:r}=ae(e);return Bt(r,t,n)},Pe=(e,t)=>{const{background:n,backgroundResolver:r}=e??{};return Bt(r,t,n)},Wt=e=>e==null?"":e instanceof Date?e.toISOString():typeof e=="object"?JSON.stringify(e):String(e),Ht=e=>Oe.upperFirst(Oe.lowerCase(e)),yr="_standardTableCell_1xzcm_1",vr={standardTableCell:yr},Lt=R.memo(function({enableGridCell:t,children:n,background:r,gridCellRequiredProps:o,isEditing:a,justifyContent:i,onKeyDown:c,width:l,minWidth:m}){return s.jsx(f.Row,{width:l,minWidth:m,height:"inherit",background:r,overflow:"hidden",onKeyDown:c,children:s.jsx(f.Row,{border:"1px solid transparent",className:vr.standardTableCell,width:"100%",height:"100%",justifyContent:i,alignItems:"center",borderRadius:t?"4px":void 0,focusBorder:t&&!a?"1px solid var(--swui-primary-action-color)":void 0,hoverBorder:t&&!a?"1px solid var(--lhds-color-ui-300)":void 0,...t?o:void 0,children:n})})}),Nt=R.memo(function({label:t,size:n,color:r}){return s.jsx(f.Indent,{overflow:"hidden",children:s.jsx(f.Text,{title:t,size:n,color:r,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",children:t})})}),kr=({label:e,textSize:t})=>s.jsx(Nt,{label:e,size:t}),qt=R.memo(function({columnId:t,item:n,colIndex:r,rowIndex:o,numRows:a,borderFromGroup:i,disableBorderLeft:c}){const{keyResolver:l,enableGridCell:m,gridCellOptions:u}=I(),h=_().selectedIds.selectedIds,p=ye(),g=zn(),{numNavigableColumns:w}=Pt(),x=Ye(),b=d.useMemo(()=>l(n),[n,l]),C=d.useMemo(()=>h.indexOf(b)>=0,[b,h]),{defaultCellRenderer:S=kr,defaultTextSize:T}=I(),{itemValueResolver:k,itemLabelFormatter:M,width:j,minWidth:E,justifyContentCell:G="flex-start",borderLeft:A,renderCell:W=S,gridCellOptions:z,isEditable:H,onChange:F,onKeyDown:$,disableGridCell:ie,disableGridCellFocus:Q,zIndex:Z}=ae(t),L=d.useMemo(()=>k?k(n):t in n?n[t]:"",[k,n,t]),ce=d.useMemo(()=>M?M(L,n):Wt(L),[L,M,n]),ee=typeof H=="boolean"?H:H?H(n):void 0,le=d.useCallback(fe=>{$?.(fe,{columnId:t,item:n}),g?.(fe,{columnId:t,item:n})},[g,t,n,$]),U=me(ce,{colIndex:r,rowIndex:o,numRows:a,numCols:w,tableId:p,isEditable:ee,onChange:F?fe=>F(n,fe):void 0,...u,...z}),D=x[t],rn=At(t,n)??"inherit",Se=D.sticky?Z??"var(--swui-sticky-column-z-index)":Z??1,on=d.useMemo(()=>W({label:ce,value:L,item:n,gridCell:U,isEditable:ee,isSelected:C,zIndex:Se,textSize:T,itemKey:b}),[W,ce,L,n,U,ee,C,Se,b,T]),sn=_e(i,c,A),an=D.sticky&&D.type==="last-group"&&D.isFirstColumnInLastGroup||D.sticky&&D.type==="column"&&D.right?"var(--swui-sticky-column-shadow-left)":D.sticky?"var(--swui-sticky-column-shadow-right)":void 0;return s.jsx("td",{style:{borderLeft:sn,position:D.sticky?"sticky":void 0,left:D.sticky?D.left:void 0,right:D.sticky?D.right:void 0,boxShadow:an,zIndex:Se,height:"var(--current-row-height)",background:rn},children:s.jsx(Lt,{enableGridCell:m&&!ie&&!Q,gridCellRequiredProps:U.requiredProps,isEditing:U.isEditing,width:j,minWidth:E,justifyContent:G,onKeyDown:le,children:on})})}),Sr=function({item:t}){const{renderRowExpansion:n,enableExpandCollapse:r}=I(),{isExpanded:o,toggleRowExpanded:a}=Ke(t),i=ze();return s.jsx(s.Fragment,{children:r&&n&&o&&s.jsx("tr",{style:{borderLeft:Ge,background:Ee},children:s.jsx("td",{colSpan:i,children:n(t,{onRequestCollapse:a})})})})},Yt=xn.tr`
|
|
1
|
+
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._tableRow_1cphw_1:focus-within{background:var(--focus-within-background, var(--lhds-color-blue-50))}._standardTable_184ux_1{--swui-standard-table-height: 40px;--swui-sticky-header-shadow: 2px 4px 4px 0 rgba(0, 0, 0, .05);--swui-sticky-header-shadow-and-right: var(--swui-sticky-header-shadow), var(--swui-sticky-column-shadow-right);--swui-sticky-header-shadow-and-left: var(--swui-sticky-header-shadow), var(--swui-sticky-column-shadow-left);--swui-sticky-column-shadow-right: 4px 2px 4px 0 rgba(0, 0, 0, .05);--swui-sticky-column-shadow-left: -4px 2px 4px 0 rgba(0, 0, 0, .05);--swui-sticky-column-z-index: 20;--swui-sticky-head-z-index: 22;--swui-sticky-group-group-z-index: 25;--swui-sticky-group-header-z-index: 26;--swui-sticky-header-column-group-z-index: 30;--swui-sticky-column-group-label-z-index: 40;--swui-sticky-header-in-sticky-column-z-index: 50;--swui-sticky-popover-z-index: 60;--swui-expand-cell-width: 45px;--swui-checkbox-cell-width: 45px;--swui-expand-highlight-border-width: 2px;--current-row-height: var(--swui-standard-table-height);--current-left-offset: 0px;border-spacing:0}._standardTable_184ux_1 td{border-top:1px solid var(--lhds-color-ui-300);padding:0}._standardTable_184ux_1 th{padding:0}._standardTable_184ux_1._relaxed_184ux_38{--current-row-height: 48px}._standardTable_184ux_1._condensed_184ux_42{--current-row-height: 32px}._standardTable_184ux_1._compact_184ux_46{--current-row-height: 24px}._standardTableCell_1xzcm_1{outline:none}._summaryRow_12x8k_1 td{border-top:1px solid var(--lhds-color-ui-400)}._standardTableHeadTh_swsxb_8{height:1px}@-moz-document url-prefix(){._standardTableHeadTh_swsxb_8{height:100%}}")),document.head.appendChild(e)}}catch(d){console.error("vite-plugin-css-injected-by-js",d)}})();
|
|
2
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),d=require("react"),v=require("@stenajs-webui/elements"),q=require("@stenajs-webui/theme"),ne=require("@stenajs-webui/tooltip"),f=require("@stenajs-webui/core"),cn=require("@fortawesome/free-solid-svg-icons/faSortAlphaDown"),ln=require("@fortawesome/free-solid-svg-icons/faSortAlphaUp"),dn=require("@fortawesome/free-solid-svg-icons/faSortAmountDownAlt"),un=require("@fortawesome/free-solid-svg-icons/faSortAmountUpAlt"),hn=require("@fortawesome/free-solid-svg-icons/faSortNumericDown"),mn=require("@fortawesome/free-solid-svg-icons/faSortNumericUp"),at=require("classnames"),oe=require("@stenajs-webui/forms"),je=require("react-redux"),O=require("@stenajs-webui/redux"),fn=require("redux"),it=require("@stenajs-webui/panels"),Oe=require("lodash-es"),xn=require("@emotion/styled");function pn(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const R=pn(d),Me=R.createContext({}),gn=({children:e,numCols:t,numRows:n,tableId:r,wrap:o})=>{const a=d.useMemo(()=>({numCols:t,numRows:n,tableId:r,wrap:o}),[t,n,r,o]);return s.jsx(Me.Provider,{value:a,children:e})},pe=e=>{const{loading:t,creating:n,deleting:r,updating:o,hasError:a}=e;return!!(t||n||r||o||a)},De=({crudStatus:e})=>{if(!e||!pe(e))return null;const{errorMessage:t,hasError:n,loading:r,creating:o,deleting:a,updating:i}=e;if(r||o||a||i)return s.jsx(v.InputSpinner,{color:q.cssColor("--lhds-color-ui-500")});if(n){const c=s.jsx(v.Icon,{icon:v.stenaExclamationTriangle,color:q.cssColor("--lhds-color-orange-600"),size:14});return s.jsx(s.Fragment,{children:t?s.jsx(ne.Tooltip,{label:t,children:c}):c})}return null},ct=({isEditable:e,warningOnEmpty:t,value:n,modifiedField:r,crudStatus:o})=>{const a=t&&r?.modified&&r?.newValue==="",i=o&&pe(o),c=a||i;return s.jsxs(s.Fragment,{children:[s.jsx(f.Text,{color:e?"var(--swui-primary-action-color)":void 0,variant:r?.modified?"bold":void 0,children:n}),r?.newValue!==void 0&&s.jsxs(s.Fragment,{children:[s.jsx(f.Indent,{children:s.jsx(v.Icon,{icon:v.stenaArrowRight,size:12})}),s.jsx(f.Text,{color:"var(--swui-primary-action-color)",variant:"bold",children:r.newValue})]}),c&&s.jsx(f.Space,{}),a?s.jsx(ne.Tooltip,{label:t,children:s.jsx(v.Icon,{icon:v.stenaExclamationTriangle,color:q.cssColor("--lhds-color-orange-600"),size:14})}):s.jsx(De,{crudStatus:o})]})},lt=({alignItems:e="center",justifyContent:t="flex-start",overflow:n="hidden",indent:r=1,...o})=>s.jsx(f.Row,{height:"100%",alignItems:e,justifyContent:t,overflow:n,indent:r,...o}),dt="var(--lhds-color-ui-300)",ut="var(--lhds-color-blue-500)",Ee="var(--lhds-color-blue-50)",ht="var(--lhds-color-blue-100)",re=`1px solid ${dt}`,mt="1px solid transparent",ge="var(--swui-expand-highlight-border-width) solid transparent",Ge=`var(--swui-expand-highlight-border-width) solid ${ut}`,we="40px",be="40px",Fe="40px",wn=e=>s.jsx(lt,{width:Fe,justifyContent:"center",...e}),$e=({iconVariant:e="amount",direction:t})=>s.jsx(f.Box,{width:"14px",children:s.jsx(v.Icon,{size:14,color:q.cssColor("--lhds-color-ui-500"),icon:bn(t,e)})}),bn=(e,t)=>{switch(t){case"alpha":return e==="up"?ln.faSortAlphaUp:cn.faSortAlphaDown;case"numeric":return e==="up"?mn.faSortNumericUp:hn.faSortNumericDown;case"amount":return e==="up"?un.faSortAmountUpAlt:dn.faSortAmountDownAlt;default:return f.exhaustSwitchCaseElseThrow(t)}},Ce=R.memo(({label:e,arrow:t,onClick:n,children:r,selected:o,popoverContent:a,loading:i,infoIconTooltipAppendTo:c,infoIconTooltipText:l,infoIconTooltipZIndex:m,overflow:u="hidden",alignRight:h,sortOrderIconVariant:p,...g})=>{const w=d.useRef(null),x=n?{cursor:"pointer",userSelect:"none"}:void 0,b=!e&&!t&&!l;return s.jsxs(f.Row,{height:"100%",alignItems:"center",ref:w,overflow:u,justifyContent:h?"flex-end":"flex-start",borderTop:"2px solid transparent",borderBottom:`2px solid ${o?q.cssColor("--lhds-color-blue-500"):"transparent"}`,...g,children:[s.jsxs(f.Row,{alignItems:"center",indent:!0,children:[!t&&h&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{}),s.jsx(f.Box,{width:"14px"}),s.jsx(f.Space,{num:.5})]}),(r||e)&&s.jsxs(f.Row,{onClick:n,style:x,alignItems:"center",children:[r&&s.jsxs(s.Fragment,{children:[r,!b&&s.jsx(f.Space,{num:.5})]}),t&&h&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{}),s.jsx($e,{direction:t,iconVariant:p}),s.jsx(f.Space,{num:.5})]}),e&&s.jsx(f.Heading,{variant:"h6",style:{textAlign:"left"},children:e}),t&&!h&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{num:.5}),s.jsx($e,{direction:t,iconVariant:p}),s.jsx(f.Space,{})]})]}),l&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{}),s.jsxs(f.Row,{onClick:C=>C.stopPropagation(),children:[s.jsx(ne.Tooltip,{appendTo:c,label:l,zIndex:m,children:s.jsx(v.Icon,{icon:v.stenaInfoCircle,size:14,color:q.cssColor("--lhds-color-blue-400")})}),s.jsx(f.Space,{})]})]})]}),s.jsx(f.Row,{children:i?s.jsx(v.InputSpinner,{}):a?s.jsx(ne.Popover,{renderTrigger:C=>s.jsx(v.FlatButton,{leftIcon:v.stenaDotsVertical,size:"small",...C}),trigger:"click",disablePadding:!0,children:a}):null}),!t&&!h&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{}),s.jsx(f.Box,{width:"14px"}),s.jsx(f.Space,{num:.5})]})]})}),Cn=e=>s.jsx(Ce,{width:Fe,justifyContent:"center",...e}),yn=({label:e,flex:t,width:n,indent:r=1,height:o=be})=>s.jsx(Ce,{width:n,flex:t,height:o,children:s.jsx(f.Box,{indent:r,spacing:!0,children:s.jsx(f.Text,{variant:"bold",children:e})})}),vn=R.memo(({style:e,height:t=be,...n})=>s.jsx(f.Row,{style:e,height:t,...n})),kn="_tableRow_1cphw_1",Sn={tableRow:kn},jn=({hideBorderTop:e,height:t=be,className:n,...r})=>s.jsx(f.Row,{borderTop:e?mt:re,height:t,className:at(Sn.tableRow,n),...r}),ft=e=>{const[t,n]=d.useState(e),r=d.useRef(e),o=d.useRef(e),a=d.useCallback(u=>{n(u),o.current=u},[n,o]);d.useEffect(()=>{a(e)},[a,e]);const i=d.useCallback(()=>{r&&a(r.current)},[a,r]),c=d.useCallback(u=>{r.current=t,u&&a(u)},[t,a]),l=d.useCallback(u=>r.current=u,[r]),m=d.useCallback(()=>o.current,[o]);return{value:t,setValue:a,setRevertValue:l,revert:i,commit:c,getValue:m}},In=e=>({altKey:e.altKey,charCode:e.charCode,ctrlKey:e.ctrlKey,key:e.key,keyCode:e.keyCode,locale:e.locale,location:e.location,metaKey:e.metaKey,repeat:e.repeat,shiftKey:e.shiftKey,which:e.which}),Tn=e=>e,xt=(e,{isEditable:t=!1,allowedInputType:n="all",onChange:r,onStartEditing:o,onStopEditing:a,transformEnteredValue:i=Tn})=>{const[c,l]=d.useState(!1),[m,u]=d.useState(void 0),h=ft(e),{getValue:p,revert:g,setValue:w,setRevertValue:x}=h,b=d.useCallback(k=>{t&&(w(e),x(e),l(!0),o&&o(k))},[t,o,x,w,e]),C=d.useCallback(()=>{t&&(l(!1),a&&a(),r&&r(p()))},[t,r,a,p,l]),S=d.useCallback(()=>{t&&(l(!1),a&&a(),g())},[t,a,g,l]);return{onKeyDown:d.useMemo(()=>En(c,t,b,u,n,i,h),[c,t,b,u,n,i,h]),isEditing:c,lastKeyEvent:m,revertableValue:h,startEditing:b,stopEditing:C,stopEditingAndRevert:S,onDoubleClick:b}},On=e=>e==="all"||e==="numeric"||e==="alphanumeric",Pn=e=>e==="all"||e==="alphanumeric"||e==="letters",Rn=e=>!!e.match(/^[-+*<>]$/),Mn=e=>!!e.match(/^[a-zA-Z0-9]$/),Dn=e=>!isNaN(parseInt(e,10)),En=(e,t,n,r,o,a,i)=>c=>{if(!(c.ctrlKey||c.metaKey||c.shiftKey)){if(c.key==="Enter"&&t)r(void 0),n(),i.commit(),c.preventDefault(),c.stopPropagation();else if(t){const l=In(c);(Dn(c.key)&&On(o)||Mn(c.key)&&Pn(o)||Rn(c.key))&&(n(l),r(l),i.commit(),i.setValue(a(l.key)),c.preventDefault(),c.stopPropagation())}}},Gn=(e,t,n,r)=>{let o=e,a=t;return t>r&&(a=0),t<0&&(a=r),e>n&&(o=0),e<0&&(o=n),{realX:o,realY:a}},Qe=(e,t,n)=>Math.max(Math.min(e,n),t),Fn=(e,t,n)=>({rowIndex:Qe(e.rowIndex,0,t),colIndex:Qe(e.colIndex,0,n)}),Bn=(e,t,n)=>{const r=Gn(e.colIndex,e.rowIndex,n,t);return{rowIndex:r.realY,colIndex:r.realX}},An=(e,t,n,r,o,a="clamped")=>{const i=Wn(e,t,o);return a==="clamped"?Fn(i,n-1,r-1):a==="wrapped"?Bn(i,n-1,r-1):i},Wn=(e,t,n)=>n==="up"?{rowIndex:e-1,colIndex:t}:n==="down"?{rowIndex:e+1,colIndex:t}:n==="left"?{rowIndex:e,colIndex:t-1}:n==="right"?{rowIndex:e,colIndex:t+1}:{rowIndex:e,colIndex:t},Hn=e=>e.replace(/^[^a-z]+|[^\w:.-]+/gi,""),Ln=e=>{if(!e.tableId)throw new Error("tableId is required.");if(e.numRows==null)throw new Error("numRows is required.");if(e.numCols==null)throw new Error("numCols is required.");return e},Be=e=>{const t=d.useContext(Me);return d.useMemo(()=>Ln({...t,...e}),[t,e])},pt=e=>{const{rowIndex:t,colIndex:n,numRows:r,numCols:o,tableId:a,edgeMode:i,onCellMove:c,onCellNavigation:l}=Be(e),m=d.useMemo(()=>Nn(a,t,n,r,o,i,c,l),[a,t,n,r,o,i,c,l]),u=d.useMemo(()=>qn(m),[m]),h=d.useMemo(()=>gt(a,t,n),[a,t,n]),p=d.useMemo(()=>({tabIndex:0,onKeyDown:u,id:h}),[u,h]);return{focusOnCell:Ae,moveHandler:m,requiredProps:p}},Nn=(e,t,n,r,o,a,i,c)=>l=>{const m=An(t,n,r,o,l,a),u=n!==m.colIndex,h=t!==m.rowIndex;(u||h)&&(i&&i({direction:l,fromRowIndex:t,fromColIndex:n,rowIndex:m.rowIndex,colIndex:m.colIndex,colDidChange:u,rowDidChange:h}),Ae(e,m)),c&&c({direction:l,fromRowIndex:t,fromColIndex:n,rowIndex:m.rowIndex,colIndex:m.colIndex,colDidChange:u,rowDidChange:h,cellDidChange:u||h})},gt=(e,t,n)=>Hn(`table-${e}-${t}-${n}`),qn=e=>t=>t.key==="ArrowLeft"?(e("left"),t.preventDefault(),t.stopPropagation(),!0):t.key==="ArrowUp"?(e("up"),t.preventDefault(),t.stopPropagation(),!0):t.key==="ArrowRight"?(e("right"),t.preventDefault(),t.stopPropagation(),!0):t.key==="ArrowDown"?(e("down"),t.preventDefault(),t.stopPropagation(),!0):!1,Ae=(e,t)=>{const n=document.getElementById(gt(e,t.rowIndex,t.colIndex));n&&n.focus()},me=(e,t)=>{const{tableId:n}=Be(t),r=pt(t),o=xt(e,t),a=d.useMemo(()=>({rowIndex:t.rowIndex,colIndex:t.colIndex}),[t.rowIndex,t.colIndex]),i=d.useCallback(()=>{o.startEditing(),r.focusOnCell(n,a)},[o,r,n,a]),c=d.useCallback(()=>{o.stopEditing(),r.focusOnCell(n,a)},[o,r,n,a]),l=d.useCallback(()=>{o.stopEditingAndRevert(),r.focusOnCell(n,a)},[o,r,n,a]),m=d.useCallback(g=>{o.stopEditing(),r.moveHandler(g)},[o,r]),u=d.useCallback(g=>{r.moveHandler(g)},[r]),h=d.useCallback(g=>{o.isEditing||r.requiredProps.onKeyDown(g)||o.onKeyDown(g)},[o,r.requiredProps]),p=d.useMemo(()=>({...r.requiredProps,onKeyDown:h,onDoubleClick:o.onDoubleClick}),[h,o.onDoubleClick,r.requiredProps]);return{isEditing:o.isEditing,lastKeyEvent:o.lastKeyEvent,editorValue:o.revertableValue.value,setEditorValue:o.revertableValue.setValue,revertEditorValue:o.revertableValue.revert,requiredProps:p,move:u,startEditing:i,stopEditing:c,stopEditingAndRevert:l,stopEditingAndMove:m}},Yn=function({allowedInputType:t,value:n="",entityId:r,isEditable:o,rowIndent:a,crudStatusRedux:i,modifiedFieldsRedux:c,colIndex:l,rowIndex:m,numCols:u,numRows:h,warningOnEmpty:p}){const g=je.useDispatch(),w=je.useSelector(c.selectors.getState),x=je.useSelector(i.selectors.getState),b=w.entities[r],C=x.entities[r],S=d.useCallback((F="")=>{g(F===n?c.actions.clearEntity(r):c.actions.setEntity({id:r,originalValue:n,newValue:F,modified:!0}))},[g,r,c.actions,n]),{isEditing:T,stopEditing:k,editorValue:M,setEditorValue:j,stopEditingAndRevert:E,stopEditingAndMove:G,lastKeyEvent:A,requiredProps:{onKeyDown:W,...z}}=me(n,{rowIndex:m,colIndex:l,numCols:u,numRows:h,tableId:"serviceManningMatrixTable",onChange:S,isEditable:o,allowedInputType:t}),H=d.useCallback(F=>{F.key==="Delete"?(g(c.actions.clearEntity(r)),g(i.actions.setEntityFields(r,{hasError:!1,errorMessage:void 0}))):W(F)},[W,r,g,c.actions,i.actions]);return s.jsxs(f.Row,{height:we,width:"100%",borderBottom:re,hoverBackground:"var(--ui7)",alignItems:"center",children:[a&&s.jsx(f.Indent,{num:a}),s.jsx(f.Row,{width:"100%",height:"100%",justifyContent:"flex-end",alignItems:"center",border:"1px solid transparent",borderRadius:"4px",focusBorder:T?void 0:"1px solid var(--primary-action-color)",hoverBorder:T?void 0:"var(--ui5) solid 1px;",onKeyDown:H,...z,children:s.jsx(f.Indent,{row:!0,alignItems:"center",children:T?s.jsx(oe.TextInput,{onValueChange:j,value:M,onDone:k,onEsc:E,autoFocus:!0,selectAllOnMount:!A,onMove:G}):s.jsxs(s.Fragment,{children:[s.jsx(f.Text,{color:o?"var(--primary-action-color)":void 0,variant:b?.modified?"bold":void 0,children:n}),b?.newValue!==void 0&&s.jsxs(s.Fragment,{children:[s.jsx(f.Indent,{children:s.jsx(v.Icon,{icon:v.stenaArrowRight,size:12})}),s.jsx(f.Text,{color:"var(--primary-action-color)",variant:"bold",children:b.newValue})]}),C&&pe(C)&&s.jsx(f.Space,{num:2}),p&&b?.modified&&b?.newValue===""?s.jsx(ne.Tooltip,{label:p,children:s.jsx(v.Icon,{icon:v.stenaExclamationTriangle,color:"var(--ui-alert1)",size:14})}):s.jsx(De,{crudStatus:C})]})})}),a&&s.jsx(f.Indent,{num:a})]})},We=d.createContext(""),He=d.createContext(void 0),Le=d.createContext(void 0),Ne=d.createContext(void 0),wt=()=>({sortOrder:O.createSortOrderActions(),selectedIds:O.createSelectedIdsActions(),expandedRows:O.createSelectedIdsActions(),fields:O.createEntityActions()}),N=(e,t)=>`${e}.${t}`,qe=(e=void 0,t=!1,n=[],r=[])=>({sortOrder:O.createSortOrderReducerInitialState(e,t),selectedIds:O.createSelectedIdsReducerInitialState(n),expandedRows:O.createSelectedIdsReducerInitialState(r),fields:{lastSelectedId:void 0}}),bt=(e,t)=>{const n=O.reducerIdGate(N(e,"sortOrder"),O.createSortOrderReducer(t?.sortOrder)),r=O.reducerIdGate(N(e,"selectedIds"),O.createSelectedIdsReducer(t?.selectedIds)),o=O.reducerIdGate(N(e,"expandedRows"),O.createSelectedIdsReducer(t?.expandedRows)),a=O.reducerIdGate(N(e,"fields"),O.createEntityReducer(t?.fields??{}));return fn.combineReducers({sortOrder:n,selectedIds:r,expandedRows:o,fields:a})},ye=()=>d.useContext(We),I=()=>d.useContext(Ne),_=()=>d.useContext(He),se=()=>d.useContext(Le),Ct=d.createContext([]),K=()=>d.useContext(Ct),yt=()=>{const e=I(),t=K();let n=0;return e.enableExpandCollapse&&n++,e.showRowCheckbox&&n++,n+d.useMemo(()=>t.map(r=>r.groupConfig.columnOrder.length).reduce((r,o)=>r+o,0),[t])},vt=d.createContext(void 0),zn=()=>d.useContext(vt),kt=d.createContext(void 0),Vn=()=>d.useContext(kt),_n=d.createContext(void 0),Kn=d.createContext(!1),$n=d.createContext("standard"),St=d.createContext({}),Ye=()=>d.useContext(St),jt=d.createContext(0),ze=()=>d.useContext(jt),Ve=(e,t,n)=>e?Oe.compact(t?.map(r=>{const o=e?.[r];return{groupId:r,groupConfig:o}})??[]).filter(r=>(r.groupConfig?.columnOrder.length??0)>0).map(r=>r):[{groupId:"virtual",groupConfig:{label:"",columnOrder:n??[]}}],_e=(e,t,n)=>{if(e)return e===!0?re:e;if(!t&&n)return n===!0?re:n},ve=(e,t,n)=>{if(!(e===0||t!==0)&&n)return n===!0?re:n},ae=e=>{const{columns:t}=I(),n=t[e];if(!n)throw new Error("No config for column with id="+e);return n},It=()=>{const e=I(),t=K()?.[0]?.groupConfig.columnOrder?.[0];return t?e.columns[t]:void 0},Tt=()=>{const e=I(),t=K(),n=t[t.length-1],r=n?.groupConfig.columnOrder[n.groupConfig.columnOrder.length-1]??void 0;return r?e.columns[r]:void 0},Qn=function({columnId:t,groupConfig:n,borderFromGroup:r,colSpan:o,isFirstGroup:a,isLastGroup:i}){const{label:c,render:l,contentLeft:m,contentRight:u,loading:h,error:p}=n,{width:g,minWidth:w,zIndex:x,borderLeft:b}=ae(t),C=I(),{stickyHeader:S,headerRowOffsetTop:T}=C,k="columnGroupOrder"in C?C.stickyColumnGroups:void 0,M=Un(r,b),j=a&&(k==="first"||k==="both"),E=i&&(k==="last"||k==="both"),G=j||E||S,A=j||E;return s.jsx("th",{colSpan:o,style:{position:G?"sticky":void 0,height:"var(--current-row-height)",width:g,minWidth:w??g??"20px",background:G?"white":"transparent",left:j?"var(--current-left-offset)":void 0,right:E?"0px":void 0,top:S?T??"0px":void 0,borderLeft:M,zIndex:S&&A?"var(--swui-sticky-column-group-label-z-index)":A?"var(--swui-sticky-group-group-z-index)":S?x??"var(--swui-sticky-header-column-group-z-index)":x??1,boxShadow:j?"var(--swui-sticky-column-shadow-right)":E?"var(--swui-sticky-column-shadow-left)":void 0},children:s.jsx(f.Row,{alignItems:"center",children:s.jsxs(s.Fragment,{children:[m&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{}),m,s.jsx(f.Space,{num:.5})]}),l?l(n):s.jsx(f.Indent,{children:s.jsx(f.Heading,{variant:"h5",whiteSpace:"nowrap",children:c})}),u&&s.jsxs(s.Fragment,{children:[s.jsx(f.Space,{num:.5}),u]}),(p||h)&&s.jsx(f.Indent,{}),h?s.jsx(v.InputSpinner,{}):p?s.jsx(ne.Tooltip,{label:p,placement:"bottom",children:s.jsx(v.Icon,{icon:v.stenaExclamationTriangle,color:q.cssColor("--lhds-color-red-500"),size:14})}):void 0]})})})},Un=(e,t)=>{if(e)return e;if(t)return"1px solid transparent"},Xn=(e,t,n,r)=>({top:e?Jn(e,n):void 0,background:e||t?"white":void 0,position:e||t?"sticky":void 0,boxShadow:t?"var(--swui-sticky-column-shadow-right)":void 0,zIndex:e||t?r??"var(--swui-sticky-header-z-index)":r}),Jn=(e,t)=>{if(e&&t)return t;if(t)return t;if(e)return 0},Zn=R.memo(function({height:t=we}){const n=K(),r=I(),{showHeaderCheckbox:o,enableExpandCollapse:a,rowIndent:i,zIndex:c,stickyHeader:l,stickyCheckboxColumn:m,headerRowOffsetTop:u}=r,h=Xn(l,m,u,c),p=l?"var(--swui-sticky-column-group-label-z-index)":"var(--swui-sticky-group-group-z-index)";return s.jsxs("tr",{style:{height:t,borderLeft:ge},children:[i&&s.jsx("th",{style:h}),a&&s.jsx("th",{style:{...h,width:"var(--swui-expand-cell-width)",left:m?"0px":void 0,zIndex:p}}),o&&s.jsx("th",{style:{...h,left:m&&a?"var(--swui-expand-cell-width)":m?"0px":void 0,zIndex:p}}),n.map(({groupConfig:g,groupId:w},x)=>s.jsx(Qn,{isFirstGroup:x===0,isLastGroup:x===n.length-1,groupConfig:g,columnId:g.columnOrder[0],colSpan:g.columnOrder.length,borderFromGroup:ve(x,0,g.borderLeft)},w)),i&&s.jsx("th",{style:h}),s.jsx("th",{style:h})]})}),er=e=>{const t=Ve("columnGroups"in e?e.columnGroups:void 0,"columnGroupOrder"in e?e.columnGroupOrder:void 0,"columnOrder"in e?e.columnOrder:void 0),n={};let r=0;return e.showRowCheckbox&&r++,e.enableExpandCollapse&&r++,t.forEach(o=>{o.groupConfig.columnOrder.forEach(a=>{tr(e.columns[a])&&(n[a]=r++)})}),{columnIndexPerColumnId:n,numNavigableColumns:r}},tr=e=>!e.disableGridCell,Ot=d.createContext({columnIndexPerColumnId:{},numNavigableColumns:0}),Pt=()=>d.useContext(Ot),nr=e=>{"columnGroupOrder"in e&&(rr(e),(e.stickyColumnGroups==="first"||e.stickyColumnGroups==="both")&&Ue(e,0),(e.stickyColumnGroups==="last"||e.stickyColumnGroups==="both")&&Ue(e,e.columnGroupOrder.length-1))},rr=e=>{Object.keys(e.columns).forEach(n=>{const r=e.columns[n];if("sticky"in r&&r.sticky)throw new Error("Columns can not be sticky when column groups are used. columnId: "+n)})},Ue=(e,t)=>{if(!e.columnGroupOrder||e.columnGroupOrder.length===0)throw new Error("columnGroupOrder required when validating column group fixed width.");const n=e.columnGroupOrder[t],r=e.columnGroups?.[n];if(!r)throw new Error("Column group does not exist. Column group id = "+n);r.columnOrder.forEach(o=>{if(e.columns[o].width==null)throw new Error("All columns in sticky column group must have width set.")})},or=e=>{const t=e.stickyColumnGroups==="first"||e.stickyColumnGroups==="both"?Xe(ar(e),e.columns,!0):void 0,n=e.stickyColumnGroups==="last"||e.stickyColumnGroups==="both"?Xe(ir(e),e.columns,!1):void 0;return{...t,...n}},Xe=(e,t,n)=>{const r={},o=[n?"var(--current-left-offset)":"0px"];for(let a=0;a<e.length;a++){const i=e[a],c=t?.[i];r[i]=sr(o),o.push(c?.width??"0px")}return r},sr=e=>e.length===0?"0px":e.length===1?e[0]:"calc("+e.join(" + ")+")",ar=e=>{const t=e.columnGroupOrder?.[0];return t?e.columnGroups?.[t]?.columnOrder??[]:[]},ir=e=>{const t=e.columnGroupOrder?.[e.columnGroupOrder?.length-1];if(!t)return[];const n=e.columnGroups?.[t];if(!n)return[];const r=[...n.columnOrder];return r.reverse(),r},cr=e=>"columnGroups"in e?dr(e):lr(e),lr=e=>Object.keys(e.columns).reduce((n,r)=>{const o=e.columns[r],a=!!o.sticky;return n[r]={sticky:a,left:a?`calc(var(--current-left-offset) + ${o.left??"0px"})`:void 0,right:a?o.right:void 0,type:"column",isFirstColumnInLastGroup:!1,isLastColumnInFirstGroup:!1},n},{}),dr=e=>{const t={},n=e.columnGroupOrder,r=or(e),o=e.stickyColumnGroups==="first"||e.stickyColumnGroups==="both",a=e.stickyColumnGroups==="last"||e.stickyColumnGroups==="both";return n.forEach((i,c)=>{const m=e.columnGroups[i].columnOrder;m.forEach((u,h)=>{const p=c===0,g=c===n.length-1,w=p&&o,x=g&&a,b=h===0&&g,C=h===m.length-1&&p;t[u]={sticky:w||x,left:w?r[u]:void 0,right:x?r[u]:void 0,type:w?"first-group":x?"last-group":void 0,isFirstColumnInLastGroup:b,isLastColumnInFirstGroup:C}})}),t},Rt=(e,t)=>({setSelectedIds:n=>O.reducerIdGateAction(N(e,"selectedIds"),t.selectedIds.setSelectedIds(n)),clearSelection:()=>O.reducerIdGateAction(N(e,"selectedIds"),t.selectedIds.clearSelectedIds()),expandByIds:n=>O.reducerIdGateAction(N(e,"expandedRows"),t.expandedRows.setSelectedIds(n)),collapseAll:()=>O.reducerIdGateAction(N(e,"expandedRows"),t.expandedRows.clearSelectedIds()),sortBy:(n,r)=>O.reducerIdGateAction(N(e,"sortOrder"),t.sortOrder.sortBy(n,r??!1)),clearSortOrder:()=>O.reducerIdGateAction(N(e,"sortOrder"),t.sortOrder.clearSortOrder()),setLastSelectedId:n=>O.reducerIdGateAction(N(e,"fields"),t.fields.setEntityFields({lastSelectedId:n}))}),Mt=(e,t=qe())=>{const[n,r]=d.useReducer(bt(e),t),o=d.useMemo(()=>Rt(e,wt()),[e]);return{tableContext:d.useMemo(()=>({dispatch:r,actions:o,state:n}),[n,o,r])}},ur=e=>(e.rowIndent?2:0)+(e.enableExpandCollapse?1:0)+(e.showRowCheckbox?1:0)+hr(e),hr=e=>"columnGroupOrder"in e?e.columnGroupOrder.reduce((t,n)=>{const r=e.columnGroups?.[n];return t+(r?.columnOrder?.length??0)},0):e.columnOrder?.length??0,mr=()=>{const e=I(),t=K(),n=e.enableExpandCollapse||e.showRowCheckbox,r=f.booleanOrNumberToNumber(e.rowIndent);return s.jsxs(s.Fragment,{children:[r?s.jsx("colgroup",{children:s.jsx("col",{style:{width:`calc(var(--swui-metrics-indent) * ${r})`}})}):null,n&&s.jsxs("colgroup",{children:[e.enableExpandCollapse&&s.jsx("col",{style:{width:"var(--swui-expand-cell-width)"}}),e.showRowCheckbox&&s.jsx("col",{style:{width:"var(--swui-checkbox-cell-width)"}})]}),t.map(({groupConfig:o,groupId:a})=>s.jsx("colgroup",{children:o.columnOrder.map(i=>s.jsx("col",{style:{width:e.columns[i].width,minWidth:e.columns[i].minWidth}},i))},a)),r?s.jsx("colgroup",{children:s.jsx("col",{style:{width:`calc(var(--swui-metrics-indent) * ${r})`}})}):null]})},fr="_standardTable_184ux_1",xr="_relaxed_184ux_38",pr="_condensed_184ux_42",gr="_compact_184ux_46",Je={standardTable:fr,relaxed:xr,condensed:pr,compact:gr},Dt=(e,t)=>e!=null&&t==null?-1:e==null&&t!=null?1:Ie(e,t,"number")?Number(e)-Number(t):Ie(e,t,"boolean")?Number(t)-Number(e):Ie(e,t,"string")?String(e).localeCompare(String(t)):e instanceof Date&&t instanceof Date?e.getTime()-t.getTime():0,Ie=(e,t,n)=>typeof e===n&&typeof t===n,Et=e=>{const{columns:t}=I();if(!e)return;const n=t[e];if(n)return n.itemValueResolver},Gt=R.memo(function({value:t,onValueChange:n,colIndex:r,rowIndex:o,numRows:a,disabled:i,onValueChangeAndShift:c,shiftPressedRef:l}){const m=yt(),u=ye(),h=me(!!t,{colIndex:r,numCols:m,numRows:a,rowIndex:o,tableId:u}),{requiredProps:p}=h,g=d.useCallback(w=>{l.current?c?.(w):n?.(w)},[n,c,l]);return s.jsx(oe.Checkbox,{size:"small",disabled:i,value:t,onValueChange:g,...p})}),wr=(e,t,n)=>{if(t==null||n==null||e==null||t===n)return;const r=e.indexOf(t),o=e.indexOf(n);if(r<0||o<0)return;const a=Math.min(r,o),i=Math.max(r,o);return e.slice(a,i+1)},Ft=(e,t)=>{const{keyResolver:n}=I(),{selectedIds:{selectedIds:r},fields:{lastSelectedId:o}}=_(),{actions:{setSelectedIds:a,setLastSelectedId:i},dispatch:c}=se(),l=d.useMemo(()=>n(e),[n,e]),m=d.useMemo(()=>r.includes(l),[r,l]),{toggle:u,addMultiple:h,removeMultiple:p}=f.useArraySet(r,x=>c(a(x))),g=d.useCallback(()=>{if(t&&o){const x=wr(t,o,l);x?.length?m?p(x):h(x):u(l)}else u(l);c(i(l))},[t,o,c,i,l,m,p,h,u]),w=d.useCallback(()=>{u(l),c(i(l))},[u,l,c,i]);return{isSelected:m,toggleSelected:w,shiftAndToggleSelected:g}},Ke=e=>{const{keyResolver:t}=I(),{expandedRows:{selectedIds:n}}=_(),{actions:{expandByIds:r},dispatch:o}=se(),a=d.useMemo(()=>t(e),[t,e]),i=d.useMemo(()=>n.includes(a),[n,a]),{toggle:c}=f.useArraySet(n,m=>o(r(m)));return{toggleRowExpanded:d.useCallback(()=>{c(a)},[c,a]),isExpanded:i}},br=function({item:e,colIndex:t,numRows:n,rowIndex:r}){const o=yt(),a=ye(),i=me(!0,{colIndex:t,numCols:o,numRows:n,rowIndex:r,tableId:a}),{requiredProps:c}=i,{expandCollapseDisableResolver:l}=I(),{toggleRowExpanded:m,isExpanded:u}=Ke(e),h=d.useMemo(()=>l?l(e):!1,[l,e]);return s.jsx(f.Row,{alignItems:"center",justifyContent:"center",indent:!0,children:!h&&s.jsx(v.FlatButton,{size:"small",leftIcon:u?v.stenaAngleDown:v.stenaAngleRight,onClick:m,...c})})},Cr=(e,t,n)=>e?e(t):n,Bt=(e,t,n)=>d.useMemo(()=>Cr(e,t,n),[e,t,n]),At=(e,t)=>{const{background:n,backgroundResolver:r}=ae(e);return Bt(r,t,n)},Pe=(e,t)=>{const{background:n,backgroundResolver:r}=e??{};return Bt(r,t,n)},Wt=e=>e==null?"":e instanceof Date?e.toISOString():typeof e=="object"?JSON.stringify(e):String(e),Ht=e=>Oe.upperFirst(Oe.lowerCase(e)),yr="_standardTableCell_1xzcm_1",vr={standardTableCell:yr},Lt=R.memo(function({enableGridCell:t,children:n,background:r,gridCellRequiredProps:o,isEditing:a,justifyContent:i,onKeyDown:c,width:l,minWidth:m}){return s.jsx(f.Row,{width:l,minWidth:m,height:"inherit",background:r,overflow:"hidden",onKeyDown:c,children:s.jsx(f.Row,{border:"1px solid transparent",className:vr.standardTableCell,width:"100%",height:"100%",justifyContent:i,alignItems:"center",borderRadius:t?"4px":void 0,focusBorder:t&&!a?"1px solid var(--swui-primary-action-color)":void 0,hoverBorder:t&&!a?"1px solid var(--lhds-color-ui-300)":void 0,...t?o:void 0,children:n})})}),Nt=R.memo(function({label:t,size:n,color:r}){return s.jsx(f.Indent,{overflow:"hidden",children:s.jsx(f.Text,{title:t,size:n,color:r,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",children:t})})}),kr=({label:e,textSize:t})=>s.jsx(Nt,{label:e,size:t}),qt=R.memo(function({columnId:t,item:n,colIndex:r,rowIndex:o,numRows:a,borderFromGroup:i,disableBorderLeft:c}){const{keyResolver:l,enableGridCell:m,gridCellOptions:u}=I(),h=_().selectedIds.selectedIds,p=ye(),g=zn(),{numNavigableColumns:w}=Pt(),x=Ye(),b=d.useMemo(()=>l(n),[n,l]),C=d.useMemo(()=>h.indexOf(b)>=0,[b,h]),{defaultCellRenderer:S=kr,defaultTextSize:T}=I(),{itemValueResolver:k,itemLabelFormatter:M,width:j,minWidth:E,justifyContentCell:G="flex-start",borderLeft:A,renderCell:W=S,gridCellOptions:z,isEditable:H,onChange:F,onKeyDown:$,disableGridCell:ie,disableGridCellFocus:Q,zIndex:Z}=ae(t),L=d.useMemo(()=>k?k(n):t in n?n[t]:"",[k,n,t]),ce=d.useMemo(()=>M?M(L,n):Wt(L),[L,M,n]),ee=typeof H=="boolean"?H:H?H(n):void 0,le=d.useCallback(fe=>{$?.(fe,{columnId:t,item:n}),g?.(fe,{columnId:t,item:n})},[g,t,n,$]),U=me(ce,{colIndex:r,rowIndex:o,numRows:a,numCols:w,tableId:p,isEditable:ee,onChange:F?fe=>F(n,fe):void 0,...u,...z}),D=x[t],rn=At(t,n)??"inherit",Se=D.sticky?Z??"var(--swui-sticky-column-z-index)":Z??1,on=d.useMemo(()=>W({label:ce,value:L,item:n,gridCell:U,isEditable:ee,isSelected:C,zIndex:Se,textSize:T,itemKey:b}),[W,ce,L,n,U,ee,C,Se,b,T]),sn=_e(i,c,A),an=D.sticky&&D.type==="last-group"&&D.isFirstColumnInLastGroup||D.sticky&&D.type==="column"&&D.right?"var(--swui-sticky-column-shadow-left)":D.sticky?"var(--swui-sticky-column-shadow-right)":void 0;return s.jsx("td",{style:{borderLeft:sn,position:D.sticky?"sticky":void 0,left:D.sticky?D.left:void 0,right:D.sticky?D.right:void 0,boxShadow:an,zIndex:Se,height:"var(--current-row-height)",background:rn},children:s.jsx(Lt,{enableGridCell:m&&!ie&&!Q,gridCellRequiredProps:U.requiredProps,isEditing:U.isEditing,width:j,minWidth:E,justifyContent:G,onKeyDown:le,children:on})})}),Sr=function({item:t}){const{renderRowExpansion:n,enableExpandCollapse:r}=I(),{isExpanded:o,toggleRowExpanded:a}=Ke(t),i=ze();return s.jsx(s.Fragment,{children:r&&n&&o&&s.jsx("tr",{style:{borderLeft:Ge,background:Ee},children:s.jsx("td",{colSpan:i,children:n(t,{onRequestCollapse:a})})})})},Yt=xn.tr`
|
|
3
3
|
${({focusBackground:e})=>e?`--focus-within-background: ${e};`:""}
|
|
4
4
|
${({borderLeft:e})=>e?`border-left: ${e};`:""};
|
|
5
5
|
${({background:e})=>e?`background: ${e};`:""};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stenajs-webui/grid",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "23.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "mattias800",
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
"deploy": "gh-pages -d example/build"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@stenajs-webui/core": "
|
|
39
|
-
"@stenajs-webui/elements": "
|
|
40
|
-
"@stenajs-webui/forms": "
|
|
41
|
-
"@stenajs-webui/panels": "
|
|
42
|
-
"@stenajs-webui/redux": "
|
|
43
|
-
"@stenajs-webui/theme": "
|
|
44
|
-
"@stenajs-webui/tooltip": "
|
|
38
|
+
"@stenajs-webui/core": "23.0.0",
|
|
39
|
+
"@stenajs-webui/elements": "23.0.0",
|
|
40
|
+
"@stenajs-webui/forms": "23.0.0",
|
|
41
|
+
"@stenajs-webui/panels": "23.0.0",
|
|
42
|
+
"@stenajs-webui/redux": "23.0.0",
|
|
43
|
+
"@stenajs-webui/theme": "23.0.0",
|
|
44
|
+
"@stenajs-webui/tooltip": "23.0.0",
|
|
45
45
|
"classnames": "^2.5.1",
|
|
46
46
|
"lodash-es": "^4.17.21"
|
|
47
47
|
},
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
"files": [
|
|
79
79
|
"dist"
|
|
80
80
|
],
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "e81f2b539c124cdad9b59d03341108c686255af8"
|
|
82
82
|
}
|