@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 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))}._standardTable_cqns6_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_cqns6_1 td{border-top:1px solid var(--lhds-color-ui-300);padding:0}._standardTable_cqns6_1 th{padding:0}._standardTable_cqns6_1._relaxed_cqns6_38{--current-row-height: 48px}._standardTable_cqns6_1._condensed_cqns6_42{--current-row-height: 32px}._standardTable_cqns6_1._compact_cqns6_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)}})();
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", qn = (e) => !!e.match(/^[-+*<>]$/), Vn = (e) => !!e.match(/^[a-zA-Z0-9]$/), _n = (e) => !isNaN(parseInt(e, 10)), jn = (e, t, n, r, o, a, i) => (c) => {
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) || Vn(c.key) && zn(o) || qn(c.key)) && (n(l), r(l), i.commit(), i.setValue(a(l.key)), c.preventDefault(), c.stopPropagation());
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
- }), q = S(
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: q,
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
- }, qe = () => K(Tt), I = () => K(Rt), se = () => K(Dt), ve = () => K(Et), Gt = B([]), Z = () => K(
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({}), Ve = () => K(At), Lt = B(0), _e = () => K(Lt), Nt = (e, t, n) => e ? Sn(
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 = "_standardTable_cqns6_1", Wr = "_relaxed_cqns6_38", Fr = "_condensed_cqns6_42", Br = "_compact_cqns6_46", rt = {
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 = qe(), u = Ie(!!t, {
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 = qe(), i = Ie(!0, {
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
- }, qr = (e, t, n) => e ? e(t) : n, zt = (e, t, n) => b(
1229
- () => qr(e, t, n),
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
- ), Vr = (e, t) => {
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 = qe(), p = sr(), { numNavigableColumns: g } = Yt(), m = Ve(), w = b(() => l(n), [n, l]), y = b(() => u.indexOf(w) >= 0, [w, u]), { defaultCellRenderer: k = Ur, defaultTextSize: O } = I(), {
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: q,
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), V = b(() => x ? x(n) : t in n ? n[t] : "", [x, n, t]), me = b(
1328
- () => M ? M(V, n) : _r(V),
1329
- [V, M, n]
1330
- ), ie = typeof q == "boolean" ? q : q ? q(n) : void 0, fe = S(
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 = Vr(t, n) ?? "inherit", Ee = F.sticky ? ae ?? "var(--swui-sticky-column-z-index)" : ae ?? 1, Xt = b(
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: V,
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
- V,
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
- }, qt = In.tr`
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
- ), q = b(
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: q,
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: V, groupId: me }, ie) => /* @__PURE__ */ s(R.Fragment, { children: V.columnOrder.map((fe, ne) => /* @__PURE__ */ s(
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
- V.borderLeft
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
- q,
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
- qt,
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 = Ve(), {
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
- }, Vt = (e) => (t) => e == null ? !0 : !e(t), mo = R.memo(function({
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(Vt(l)).map((m) => i(m)),
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(Vt(n)).map((d) => t(d))
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 = Ve(), { arrow: y, selected: k, onClickColumnHead: O } = wo(t), x = typeof a == "string" ? a : jr(t), M = je(
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(qt, { height: n, borderLeft: Ne, children: [
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, q = b(
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 (V) {
2074
- return V instanceof Error ? V : new Error("Unknown error");
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: q,
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
- }, qo = {
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
- }, Vo = {
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: qo,
2565
+ values: Vo,
2566
2566
  defaultWidth: "wide",
2567
- formattingValues: Vo,
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
- Vr as useCellBackgroundByColumnId,
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
- qe as useStandardTableId,
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))}._standardTable_cqns6_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_cqns6_1 td{border-top:1px solid var(--lhds-color-ui-300);padding:0}._standardTable_cqns6_1 th{padding:0}._standardTable_cqns6_1._relaxed_cqns6_38{--current-row-height: 48px}._standardTable_cqns6_1._condensed_cqns6_42{--current-row-height: 32px}._standardTable_cqns6_1._compact_cqns6_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_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": "22.7.2",
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": "22.7.2",
39
- "@stenajs-webui/elements": "22.7.2",
40
- "@stenajs-webui/forms": "22.7.2",
41
- "@stenajs-webui/panels": "22.7.2",
42
- "@stenajs-webui/redux": "22.7.2",
43
- "@stenajs-webui/theme": "22.7.2",
44
- "@stenajs-webui/tooltip": "22.7.2",
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": "dadd882a85509a9a7fb8ab3a4b7c39d88b91cd97"
81
+ "gitHead": "e81f2b539c124cdad9b59d03341108c686255af8"
82
82
  }