@stenajs-webui/grid 14.0.2 → 14.1.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.js CHANGED
@@ -1515,14 +1515,14 @@ var StandardTableCell = React.memo(function StandardTableCell(_a) {
1515
1515
  var _c = useStandardTableConfig(), keyResolver = _c.keyResolver, enableGridCell = _c.enableGridCell, gridCellOptionsForTable = _c.gridCellOptions;
1516
1516
  var selectedIds = useStandardTableState().selectedIds.selectedIds;
1517
1517
  var tableId = useStandardTableId();
1518
- var onKeyDown = useOnKeyDownContext();
1518
+ var onKeyDownTable = useOnKeyDownContext();
1519
1519
  var numNavigableColumns = useColumnIndexPerColumnIdContext().numNavigableColumns;
1520
1520
  var stickyPropsPerColumnContext = useStickyPropsPerColumnContext();
1521
1521
  var isSelected = React.useMemo(function () {
1522
1522
  var itemId = keyResolver(item);
1523
1523
  return selectedIds.indexOf(itemId) >= 0;
1524
1524
  }, [item, keyResolver, selectedIds]);
1525
- var _d = useColumnConfigById(columnId), itemValueResolver = _d.itemValueResolver, itemLabelFormatter = _d.itemLabelFormatter, width = _d.width, minWidth = _d.minWidth, _e = _d.justifyContentCell, justifyContentCell = _e === void 0 ? "flex-start" : _e, borderLeft = _d.borderLeft, renderCell = _d.renderCell, gridCellOptionsForColumn = _d.gridCellOptions, isEditable = _d.isEditable, onChange = _d.onChange, disableGridCell = _d.disableGridCell, zIndex = _d.zIndex;
1525
+ var _d = useColumnConfigById(columnId), itemValueResolver = _d.itemValueResolver, itemLabelFormatter = _d.itemLabelFormatter, width = _d.width, minWidth = _d.minWidth, _e = _d.justifyContentCell, justifyContentCell = _e === void 0 ? "flex-start" : _e, borderLeft = _d.borderLeft, renderCell = _d.renderCell, gridCellOptionsForColumn = _d.gridCellOptions, isEditable = _d.isEditable, onChange = _d.onChange, onKeyDownCell = _d.onKeyDown, disableGridCell = _d.disableGridCell, disableGridCellFocus = _d.disableGridCellFocus, zIndex = _d.zIndex;
1526
1526
  var itemValue = React.useMemo(function () {
1527
1527
  if (itemValueResolver) {
1528
1528
  return itemValueResolver(item);
@@ -1543,8 +1543,13 @@ var StandardTableCell = React.memo(function StandardTableCell(_a) {
1543
1543
  ? isEditable(item)
1544
1544
  : undefined;
1545
1545
  var onKeyDownHandler = React.useCallback(function (ev) {
1546
- onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(ev, { columnId: columnId, item: item });
1547
- }, [onKeyDown, columnId, item]);
1546
+ onKeyDownTable === null || onKeyDownTable === void 0 ? void 0 : onKeyDownTable(ev, { columnId: columnId, item: item });
1547
+ onKeyDownCell === null || onKeyDownCell === void 0 ? void 0 : onKeyDownCell(ev, { columnId: columnId, item: item });
1548
+ if (ev.key !== "Tab" && (onKeyDownTable || onKeyDownCell)) {
1549
+ ev.preventDefault();
1550
+ ev.stopPropagation();
1551
+ }
1552
+ }, [onKeyDownTable, columnId, item, onKeyDownCell]);
1548
1553
  var gridCell = useGridCell(label, __assign(__assign({ colIndex: colIndex,
1549
1554
  rowIndex: rowIndex,
1550
1555
  numRows: numRows, numCols: numNavigableColumns, tableId: tableId, isEditable: editable, onChange: onChange
@@ -1594,7 +1599,7 @@ var StandardTableCell = React.memo(function StandardTableCell(_a) {
1594
1599
  height: "var(--current-row-height)",
1595
1600
  background: background,
1596
1601
  } },
1597
- React.createElement(StandardTableCellUi, { enableGridCell: enableGridCell && !disableGridCell, gridCellRequiredProps: gridCell.requiredProps, isEditing: gridCell.isEditing, width: width, minWidth: minWidth, justifyContent: justifyContentCell, onKeyDown: onKeyDownHandler }, content)));
1602
+ React.createElement(StandardTableCellUi, { enableGridCell: enableGridCell && !disableGridCell && !disableGridCellFocus, gridCellRequiredProps: gridCell.requiredProps, isEditing: gridCell.isEditing, width: width, minWidth: minWidth, justifyContent: justifyContentCell, onKeyDown: onKeyDownHandler }, content)));
1598
1603
  });
1599
1604
 
1600
1605
  var StandardTableRowExpansion = function StandardTableRowExpansion(_a) {
@@ -1913,14 +1918,24 @@ var StandardTableRowList = React.memo(function StandardTableRowList(_a) {
1913
1918
  });
1914
1919
 
1915
1920
  var StandardTableContent = React.memo(function StandardTableContent(_a) {
1916
- var error = _a.error, errorLabel = _a.errorLabel, loading = _a.loading, items = _a.items, _b = _a.noItemsLabel, noItemsLabel = _b === void 0 ? "There is no data available." : _b, noItemsContentRight = _a.noItemsContentRight, noItemsContentBottom = _a.noItemsContentBottom, noItemsHeader = _a.noItemsHeader, colIndexOffset = _a.colIndexOffset, rowIndexOffset = _a.rowIndexOffset, variant = _a.variant;
1921
+ var _b;
1922
+ var error = _a.error, bannerError = _a.bannerError, loading = _a.loading, items = _a.items, _c = _a.noItemsLabel, noItemsLabel = _c === void 0 ? "There is no data available." : _c, noItemsContentRight = _a.noItemsContentRight, noItemsContentBottom = _a.noItemsContentBottom, noItemsHeader = _a.noItemsHeader, colIndexOffset = _a.colIndexOffset, rowIndexOffset = _a.rowIndexOffset, variant = _a.variant, errorLabel = _a.errorLabel;
1917
1923
  var totalNumColumns = useTotalNumColumns();
1918
- if (error) {
1924
+ if (bannerError) {
1919
1925
  return (React.createElement("tbody", null,
1920
1926
  React.createElement("tr", null,
1921
1927
  React.createElement("td", { colSpan: totalNumColumns },
1922
- React.createElement(core.Spacing, { num: 4 },
1923
- React.createElement(panels.ErrorScreen, { text: errorLabel || error.message }))))));
1928
+ React.createElement(core.Spacing, { num: 4, justifyContent: "center" },
1929
+ React.createElement(core.Box, { alignItems: "center" },
1930
+ React.createElement(elements.ResultListBanner, { bannerState: bannerError, variant: "error" })))))));
1931
+ }
1932
+ if (error || errorLabel) {
1933
+ return (React.createElement("tbody", null,
1934
+ React.createElement("tr", null,
1935
+ React.createElement("td", { colSpan: totalNumColumns },
1936
+ React.createElement(core.Spacing, { num: 4, justifyContent: "center" },
1937
+ React.createElement(core.Box, { alignItems: "center" },
1938
+ React.createElement(elements.Banner, { headerText: (_b = (error ? error.message : errorLabel)) !== null && _b !== void 0 ? _b : "Unknown error", variant: "error" })))))));
1924
1939
  }
1925
1940
  if (loading) {
1926
1941
  return (React.createElement("tbody", null,
@@ -2179,7 +2194,10 @@ var StandardTable = function StandardTable(_a) {
2179
2194
  return undefined;
2180
2195
  }
2181
2196
  catch (e) {
2182
- return e;
2197
+ if (e instanceof Error) {
2198
+ return e;
2199
+ }
2200
+ return new Error("Unknown error");
2183
2201
  }
2184
2202
  }, [config]);
2185
2203
  if (validationError) {