@carbon/ibm-products 1.61.1 → 1.62.0
Sign up to get free protection for your applications and to get access to all the features.
- package/css/index-full-carbon.css +156 -68
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +3 -3
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +1753 -0
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +3 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +156 -68
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +3 -3
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +156 -68
- package/css/index.css.map +1 -1
- package/css/index.min.css +3 -3
- package/css/index.min.css.map +1 -1
- package/es/components/Coachmark/Coachmark.js +17 -5
- package/es/components/Coachmark/CoachmarkDragbar.js +12 -5
- package/es/components/Coachmark/CoachmarkHeader.js +2 -1
- package/es/components/Coachmark/CoachmarkOverlay.js +105 -9
- package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +5 -2
- package/es/components/CoachmarkFixed/CoachmarkFixed.js +26 -6
- package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +28 -3
- package/es/components/CoachmarkStack/CoachmarkStack.js +19 -4
- package/es/components/CoachmarkStack/CoachmarkStackHome.js +45 -11
- package/es/components/Datagrid/Datagrid/DatagridContent.js +12 -9
- package/es/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -4
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +41 -25
- package/es/components/Datagrid/Datagrid/DatagridRefBody.js +4 -1
- package/es/components/Datagrid/Datagrid/DatagridRow.js +5 -2
- package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +12 -11
- package/es/components/Datagrid/Datagrid/DatagridSimpleBody.js +4 -1
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +29 -23
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +18 -18
- package/es/components/Datagrid/Datagrid/addons/stateReducer.js +50 -14
- package/es/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +1 -1
- package/es/components/Datagrid/useActionsColumn.js +9 -9
- package/es/components/Datagrid/useDatagrid.js +13 -1
- package/es/components/Datagrid/useFlexResize.js +19 -9
- package/es/components/Datagrid/useInfiniteScroll.js +10 -9
- package/es/components/Datagrid/useOnRowClick.js +6 -7
- package/es/components/Datagrid/useParentDimensions.js +6 -6
- package/es/components/Datagrid/useResizeTable.js +7 -7
- package/es/components/Datagrid/useSelectAllToggle.js +2 -2
- package/es/components/Datagrid/useSelectRows.js +31 -21
- package/es/components/Datagrid/useSkeletonRows.js +6 -6
- package/es/components/Datagrid/useSortableColumns.js +4 -5
- package/es/components/Datagrid/useStickyColumn.js +13 -6
- package/es/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -0
- package/es/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -0
- package/es/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +1 -0
- package/es/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -0
- package/es/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -0
- package/es/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +1 -0
- package/es/components/EmptyStates/assets/ErrorIllustration.js +6 -4
- package/es/components/EmptyStates/assets/NoDataIllustration.js +6 -4
- package/es/components/EmptyStates/assets/NoTagsIllustration.js +6 -4
- package/es/components/EmptyStates/assets/NotFoundIllustration.js +6 -4
- package/es/components/EmptyStates/assets/NotificationsIllustration.js +6 -4
- package/es/components/EmptyStates/assets/UnauthorizedIllustration.js +6 -4
- package/es/global/js/hooks/index.js +3 -2
- package/es/global/js/hooks/usePrefix.js +11 -0
- package/es/global/js/package-settings.js +1 -2
- package/lib/components/Coachmark/Coachmark.js +16 -4
- package/lib/components/Coachmark/CoachmarkDragbar.js +12 -5
- package/lib/components/Coachmark/CoachmarkHeader.js +2 -1
- package/lib/components/Coachmark/CoachmarkOverlay.js +105 -8
- package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +5 -2
- package/lib/components/CoachmarkFixed/CoachmarkFixed.js +25 -5
- package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +28 -3
- package/lib/components/CoachmarkStack/CoachmarkStack.js +18 -3
- package/lib/components/CoachmarkStack/CoachmarkStackHome.js +44 -10
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +12 -9
- package/lib/components/Datagrid/Datagrid/DatagridExpandedRow.js +4 -4
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +41 -32
- package/lib/components/Datagrid/Datagrid/DatagridRefBody.js +4 -1
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +5 -2
- package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +6 -4
- package/lib/components/Datagrid/Datagrid/DatagridSimpleBody.js +4 -1
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +29 -23
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +12 -12
- package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +52 -15
- package/lib/components/Datagrid/Datagrid.stories/StickyActionsColumnStory.js +1 -1
- package/lib/components/Datagrid/useActionsColumn.js +9 -12
- package/lib/components/Datagrid/useDatagrid.js +13 -1
- package/lib/components/Datagrid/useFlexResize.js +19 -9
- package/lib/components/Datagrid/useInfiniteScroll.js +9 -9
- package/lib/components/Datagrid/useOnRowClick.js +6 -7
- package/lib/components/Datagrid/useParentDimensions.js +5 -6
- package/lib/components/Datagrid/useResizeTable.js +6 -7
- package/lib/components/Datagrid/useSelectAllToggle.js +2 -2
- package/lib/components/Datagrid/useSelectRows.js +31 -21
- package/lib/components/Datagrid/useSkeletonRows.js +6 -6
- package/lib/components/Datagrid/useSortableColumns.js +4 -5
- package/lib/components/Datagrid/useStickyColumn.js +8 -0
- package/lib/components/EmptyStates/ErrorEmptyState/ErrorEmptyState.js +1 -0
- package/lib/components/EmptyStates/NoDataEmptyState/NoDataEmptyState.js +1 -0
- package/lib/components/EmptyStates/NoTagsEmptyState/NoTagsEmptyState.js +1 -0
- package/lib/components/EmptyStates/NotFoundEmptyState/NotFoundEmptyState.js +1 -0
- package/lib/components/EmptyStates/NotificationsEmptyState/NotificationsEmptyState.js +1 -0
- package/lib/components/EmptyStates/UnauthorizedEmptyState/UnauthorizedEmptyState.js +1 -0
- package/lib/components/EmptyStates/assets/ErrorIllustration.js +6 -4
- package/lib/components/EmptyStates/assets/NoDataIllustration.js +6 -4
- package/lib/components/EmptyStates/assets/NoTagsIllustration.js +6 -4
- package/lib/components/EmptyStates/assets/NotFoundIllustration.js +6 -4
- package/lib/components/EmptyStates/assets/NotificationsIllustration.js +6 -4
- package/lib/components/EmptyStates/assets/UnauthorizedIllustration.js +6 -4
- package/lib/global/js/hooks/index.js +8 -1
- package/lib/global/js/hooks/usePrefix.js +19 -0
- package/lib/global/js/package-settings.js +1 -2
- package/package.json +2 -2
- package/scss/components/Checklist/_checklist.scss +13 -25
- package/scss/components/Coachmark/styles/_coachmark-dragbar.scss +1 -45
- package/scss/components/Coachmark/styles/_coachmark-header.scss +0 -33
- package/scss/components/Coachmark/styles/_coachmark-overlay.scss +113 -5
- package/scss/components/Coachmark/styles/_coachmark-tagline.scss +18 -0
- package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +19 -1
- package/scss/components/CoachmarkOverlayElement/_coachmark-overlay-element.scss +2 -0
- package/scss/components/CoachmarkOverlayElements/_coachmark-overlay-elements.scss +1 -0
- package/scss/components/CoachmarkStack/_coachmark-stack.scss +3 -0
- package/scss/components/Datagrid/styles/_datagrid.scss +31 -5
- package/scss/components/Datagrid/styles/_useNestedRows.scss +1 -1
- package/scss/components/_index-released-only.scss +1 -0
@@ -25,9 +25,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
25
25
|
*/
|
26
26
|
|
27
27
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
28
|
+
var toolbarClass = "".concat(blockClass, "__table-toolbar");
|
29
|
+
var menuClass = "".concat(blockClass, "__button-menu");
|
28
30
|
var TableToolbar = _carbonComponentsReact.DataTable.TableToolbar;
|
29
31
|
var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridState, width, ref) {
|
30
|
-
var _Object$keys;
|
31
32
|
var _useState = (0, _react.useState)(false),
|
32
33
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
33
34
|
displayAllInMenu = _useState2[0],
|
@@ -43,8 +44,12 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
|
|
43
44
|
var selectedRowIds = datagridState.state.selectedRowIds,
|
44
45
|
toggleAllRowsSelected = datagridState.toggleAllRowsSelected,
|
45
46
|
toolbarBatchActions = datagridState.toolbarBatchActions,
|
46
|
-
setGlobalFilter = datagridState.setGlobalFilter
|
47
|
-
|
47
|
+
setGlobalFilter = datagridState.setGlobalFilter,
|
48
|
+
batchActionMenuButtonLabel = datagridState.batchActionMenuButtonLabel,
|
49
|
+
translateWithIdBatchActions = datagridState.translateWithIdBatchActions;
|
50
|
+
var batchActionMenuButtonLabelText = batchActionMenuButtonLabel !== null && batchActionMenuButtonLabel !== void 0 ? batchActionMenuButtonLabel : 'More';
|
51
|
+
var selectedKeys = Object.keys(selectedRowIds || {});
|
52
|
+
var totalSelected = selectedKeys.length;
|
48
53
|
|
49
54
|
// Get initial width of batch actions container,
|
50
55
|
// used to measure when all items are put inside
|
@@ -74,25 +79,25 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
|
|
74
79
|
return null;
|
75
80
|
}
|
76
81
|
return /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenu, {
|
77
|
-
label: width > minWidthBeforeOverflowIcon ?
|
82
|
+
label: width > minWidthBeforeOverflowIcon ? batchActionMenuButtonLabelText : null,
|
78
83
|
renderIcon: width > minWidthBeforeOverflowIcon ? _iconsReact.Add16 : _iconsReact.OverflowMenuVertical16,
|
79
|
-
className: (0, _classnames.default)(
|
80
|
-
menuOptionsClass: "".concat(
|
84
|
+
className: (0, _classnames.default)([menuClass, (0, _defineProperty2.default)({}, "".concat(menuClass, "--icon-only"), width <= minWidthBeforeOverflowIcon)]),
|
85
|
+
menuOptionsClass: "".concat(menuClass, "-options"),
|
81
86
|
flipped: true
|
82
|
-
}, toolbarBatchActions
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
87
|
+
}, toolbarBatchActions === null || toolbarBatchActions === void 0 ? void 0 : toolbarBatchActions.map(function (batchAction, index) {
|
88
|
+
var hidden = index < 2 && !displayAllInMenu;
|
89
|
+
if (!hidden) {
|
90
|
+
return /*#__PURE__*/_react.default.createElement(_ButtonMenu.ButtonMenuItem, {
|
91
|
+
key: "".concat(batchAction.label, "-").concat(index),
|
92
|
+
itemText: batchAction.label,
|
93
|
+
onClick: function onClick() {
|
94
|
+
batchAction.onClick();
|
95
|
+
if (batchAction.type === 'select_all') {
|
96
|
+
toggleAllRowsSelected(true);
|
97
|
+
}
|
93
98
|
}
|
94
|
-
}
|
95
|
-
}
|
99
|
+
});
|
100
|
+
}
|
96
101
|
}));
|
97
102
|
};
|
98
103
|
|
@@ -105,7 +110,8 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
|
|
105
110
|
onCancel: function onCancel() {
|
106
111
|
toggleAllRowsSelected(false);
|
107
112
|
setGlobalFilter(null);
|
108
|
-
}
|
113
|
+
},
|
114
|
+
translateWithId: translateWithIdBatchActions
|
109
115
|
}, !displayAllInMenu && toolbarBatchActions && (toolbarBatchActions === null || toolbarBatchActions === void 0 ? void 0 : toolbarBatchActions.map(function (batchAction, index) {
|
110
116
|
if (index < 2 && toolbarBatchActions.length > 3 || index < 3 && toolbarBatchActions.length <= 3) {
|
111
117
|
return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.TableBatchAction, {
|
@@ -130,12 +136,12 @@ var DatagridToolbar = function DatagridToolbar(datagridState) {
|
|
130
136
|
DatagridBatchActions = datagridState.DatagridBatchActions,
|
131
137
|
batchActions = datagridState.batchActions,
|
132
138
|
rowSize = datagridState.rowSize;
|
133
|
-
var getRowHeight = rowSize
|
139
|
+
var getRowHeight = rowSize || 'lg';
|
134
140
|
return batchActions && DatagridActions ? /*#__PURE__*/_react.default.createElement("div", {
|
135
141
|
ref: ref,
|
136
|
-
className: (0, _classnames.default)(
|
142
|
+
className: (0, _classnames.default)([toolbarClass, "".concat(toolbarClass, "--").concat(getRowHeight)])
|
137
143
|
}, /*#__PURE__*/_react.default.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActionsToolbar && DatagridBatchActionsToolbar(datagridState, width, ref))) : DatagridActions ? /*#__PURE__*/_react.default.createElement("div", {
|
138
|
-
className:
|
144
|
+
className: toolbarClass
|
139
145
|
}, /*#__PURE__*/_react.default.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActions && DatagridBatchActions(datagridState))) : null;
|
140
146
|
};
|
141
147
|
var _default = DatagridToolbar;
|
@@ -26,12 +26,7 @@ var rowSizeMap = {
|
|
26
26
|
sm: 32,
|
27
27
|
md: 40,
|
28
28
|
lg: 48,
|
29
|
-
xl: 64
|
30
|
-
// TODO: deprecate the below values in next major release (v8) on carbon-components-react
|
31
|
-
short: 32,
|
32
|
-
compact: 24,
|
33
|
-
normal: 48,
|
34
|
-
tall: 64
|
29
|
+
xl: 64
|
35
30
|
};
|
36
31
|
var defaultRowHeight = rowSizeMap.lg;
|
37
32
|
var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
@@ -50,13 +45,17 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
|
50
45
|
page = datagridState.page,
|
51
46
|
handleResize = datagridState.handleResize,
|
52
47
|
gridRef = datagridState.gridRef;
|
48
|
+
|
49
|
+
/* istanbul ignore next */
|
53
50
|
var handleVirtualGridResize = function handleVirtualGridResize() {
|
54
51
|
var gridRefElement = gridRef === null || gridRef === void 0 ? void 0 : gridRef.current;
|
55
52
|
gridRefElement.style.width = gridRefElement === null || gridRefElement === void 0 ? void 0 : gridRefElement.clientWidth;
|
56
53
|
};
|
57
54
|
(0, _useResizeObserver.useResizeObserver)(gridRef, handleVirtualGridResize);
|
58
|
-
|
59
|
-
|
55
|
+
|
56
|
+
/* istanbul ignore next */
|
57
|
+
var syncScroll = function syncScroll(event) {
|
58
|
+
var virtualBody = event.target;
|
60
59
|
document.querySelector(".".concat(blockClass, "__head-wrap")).scrollLeft = virtualBody.scrollLeft;
|
61
60
|
var spacerColumn = document.querySelector(".".concat(blockClass, "__head-wrap thead th:last-child"));
|
62
61
|
spacerColumn.style.width = (0, _layout.px)(32 + (virtualBody.offsetWidth - virtualBody.clientWidth)); // scrollbar width to header column to fix header alignment
|
@@ -79,9 +78,7 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
|
79
78
|
}, /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState)), /*#__PURE__*/_react.default.createElement(TableBody, (0, _extends2.default)({}, getTableBodyProps({
|
80
79
|
role: false
|
81
80
|
}), {
|
82
|
-
onScroll:
|
83
|
-
return syncScroll(e);
|
84
|
-
}
|
81
|
+
onScroll: syncScroll
|
85
82
|
}), /*#__PURE__*/_react.default.createElement(_reactWindow.VariableSizeList, {
|
86
83
|
height: virtualHeight || tableHeight,
|
87
84
|
itemCount: visibleRows.length,
|
@@ -101,10 +98,13 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
|
|
101
98
|
style = _ref.style;
|
102
99
|
var row = visibleRows[index];
|
103
100
|
prepareRow(row);
|
101
|
+
var _row$getRowProps = row.getRowProps(),
|
102
|
+
key = _row$getRowProps.key;
|
104
103
|
return /*#__PURE__*/_react.default.createElement("div", {
|
105
104
|
style: _objectSpread({}, style)
|
106
105
|
}, row.RowRenderer(_objectSpread(_objectSpread({}, datagridState), {}, {
|
107
|
-
row: row
|
106
|
+
row: row,
|
107
|
+
key: key
|
108
108
|
})));
|
109
109
|
})));
|
110
110
|
};
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
5
5
|
value: true
|
6
6
|
});
|
7
|
-
exports.stateReducer = exports.handleColumnResizingEvent = exports.handleColumnResizeEndEvent = void 0;
|
7
|
+
exports.stateReducer = exports.handleToggleRowSelected = exports.handleColumnResizingEvent = exports.handleColumnResizeEndEvent = void 0;
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
@@ -15,6 +15,7 @@ var COLUMN_RESIZE_START = 'columnStartResizing';
|
|
15
15
|
var COLUMN_RESIZING = 'columnResizing';
|
16
16
|
var COLUMN_RESIZE_END = 'columnDoneResizing';
|
17
17
|
var INIT = 'init';
|
18
|
+
var TOGGLE_ROW_SELECTED = 'toggleRowSelected';
|
18
19
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
19
20
|
var handleColumnResizeEndEvent = function handleColumnResizeEndEvent(dispatch, onColResizeEnd, headerId, isKeyEvent) {
|
20
21
|
dispatch({
|
@@ -48,8 +49,44 @@ var handleColumnResizingEvent = function handleColumnResizingEvent(dispatch, hea
|
|
48
49
|
});
|
49
50
|
};
|
50
51
|
exports.handleColumnResizingEvent = handleColumnResizingEvent;
|
52
|
+
var handleToggleRowSelected = function handleToggleRowSelected(dispatch, rowData, isChecked) {
|
53
|
+
return dispatch({
|
54
|
+
type: TOGGLE_ROW_SELECTED,
|
55
|
+
payload: {
|
56
|
+
rowData: rowData,
|
57
|
+
isChecked: isChecked
|
58
|
+
}
|
59
|
+
});
|
60
|
+
};
|
61
|
+
exports.handleToggleRowSelected = handleToggleRowSelected;
|
51
62
|
var stateReducer = function stateReducer(newState, action) {
|
52
63
|
switch (action.type) {
|
64
|
+
case TOGGLE_ROW_SELECTED:
|
65
|
+
{
|
66
|
+
var _ref = action.payload || {},
|
67
|
+
rowData = _ref.rowData,
|
68
|
+
isChecked = _ref.isChecked;
|
69
|
+
if (!rowData) {
|
70
|
+
return;
|
71
|
+
}
|
72
|
+
if (isChecked) {
|
73
|
+
return _objectSpread(_objectSpread({}, newState), {}, {
|
74
|
+
selectedRowData: _objectSpread(_objectSpread({}, newState.selectedRowData), {}, (0, _defineProperty2.default)({}, rowData.index, rowData))
|
75
|
+
});
|
76
|
+
}
|
77
|
+
if (rowData && !isChecked) {
|
78
|
+
var newData = _objectSpread({}, newState.selectedRowData);
|
79
|
+
var dataWithRemovedRow = Object.fromEntries(Object.entries(newData).filter(function (_ref2) {
|
80
|
+
var _ref3 = (0, _slicedToArray2.default)(_ref2, 1),
|
81
|
+
key = _ref3[0];
|
82
|
+
return parseInt(key) !== parseInt(rowData.index);
|
83
|
+
}));
|
84
|
+
return _objectSpread(_objectSpread({}, newState), {}, {
|
85
|
+
selectedRowData: dataWithRemovedRow
|
86
|
+
});
|
87
|
+
}
|
88
|
+
return _objectSpread({}, newState);
|
89
|
+
}
|
53
90
|
case INIT:
|
54
91
|
{
|
55
92
|
return _objectSpread(_objectSpread({}, newState), {}, {
|
@@ -58,27 +95,27 @@ var stateReducer = function stateReducer(newState, action) {
|
|
58
95
|
}
|
59
96
|
case COLUMN_RESIZE_START:
|
60
97
|
{
|
61
|
-
var
|
62
|
-
headerId =
|
98
|
+
var _ref4 = action.payload || {},
|
99
|
+
headerId = _ref4.headerId;
|
63
100
|
return _objectSpread(_objectSpread({}, newState), {}, {
|
64
101
|
isResizing: headerId
|
65
102
|
});
|
66
103
|
}
|
67
104
|
case COLUMN_RESIZING:
|
68
105
|
{
|
69
|
-
var
|
70
|
-
_headerId =
|
71
|
-
newWidth =
|
72
|
-
defaultWidth =
|
106
|
+
var _ref5 = action.payload || {},
|
107
|
+
_headerId = _ref5.headerId,
|
108
|
+
newWidth = _ref5.newWidth,
|
109
|
+
defaultWidth = _ref5.defaultWidth;
|
73
110
|
var newColumnWidth = {};
|
74
111
|
if (typeof _headerId === 'undefined') {
|
75
112
|
return _objectSpread({}, newState);
|
76
113
|
}
|
77
114
|
newColumnWidth[_headerId] = newWidth;
|
78
|
-
var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (
|
79
|
-
var
|
80
|
-
_ =
|
81
|
-
value =
|
115
|
+
var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (_ref6) {
|
116
|
+
var _ref7 = (0, _slicedToArray2.default)(_ref6, 2),
|
117
|
+
_ = _ref7[0],
|
118
|
+
value = _ref7[1];
|
82
119
|
return !isNaN(value);
|
83
120
|
}));
|
84
121
|
var headerIdArray = newState.columnResizing.headerIdWidths || [];
|
@@ -93,10 +130,10 @@ var stateReducer = function stateReducer(newState, action) {
|
|
93
130
|
}
|
94
131
|
case COLUMN_RESIZE_END:
|
95
132
|
{
|
96
|
-
var
|
97
|
-
onColResizeEnd =
|
98
|
-
_headerId2 =
|
99
|
-
isKeyEvent =
|
133
|
+
var _ref8 = action.payload || {},
|
134
|
+
onColResizeEnd = _ref8.onColResizeEnd,
|
135
|
+
_headerId2 = _ref8.headerId,
|
136
|
+
isKeyEvent = _ref8.isKeyEvent;
|
100
137
|
var currentColumn = {};
|
101
138
|
currentColumn[_headerId2] = newState.columnResizing.columnWidths[_headerId2];
|
102
139
|
var allChangedColumns = newState.columnResizing.columnWidths;
|
@@ -45,7 +45,7 @@
|
|
45
45
|
|
46
46
|
// ## Sample usage:
|
47
47
|
// 1. include \`useActionsColumn\` hook
|
48
|
-
// 2. add \`isAction = true\` to the column object in which you
|
48
|
+
// 2. add \`isAction = true\` to the column object in which you wish to add the overflow menu actions
|
49
49
|
// 3. add \`rowActions = []\` array to the props
|
50
50
|
// - \`rowActions[].id\` for callback to identify the action is called
|
51
51
|
// - \`rowActions[].onClick(actionId: string, row: Row, event: ClickEvent)\` callback on menuitem clicked. [Row properties](https://react-table.tanstack.com/docs/api/useTable#row-properties)
|
@@ -1,7 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
6
5
|
value: true
|
7
6
|
});
|
@@ -9,21 +8,16 @@ exports.default = void 0;
|
|
9
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
10
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
12
|
-
var _react =
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
13
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
14
13
|
var _carbonComponentsReact = require("carbon-components-react");
|
15
14
|
var _settings = require("../../settings");
|
16
15
|
var _excluded = ["id", "itemText", "onClick", "icon", "shouldHideMenuItem"],
|
17
16
|
_excluded2 = ["id", "onClick", "shouldHideMenuItem", "shouldDisableMenuItem", "disabled"];
|
18
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
19
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
20
17
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
21
18
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
22
19
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
23
20
|
var useActionsColumn = function useActionsColumn(hooks) {
|
24
|
-
(0, _react.useEffect)(function () {
|
25
|
-
_settings.pkg.checkReportFeatureEnabled('Datagrid.useActionsColumn');
|
26
|
-
}, []);
|
27
21
|
var useAttachActionsOnInstance = function useAttachActionsOnInstance(instance) {
|
28
22
|
var rowActions = instance.rowActions,
|
29
23
|
isFetching = instance.isFetching,
|
@@ -44,12 +38,13 @@ var useActionsColumn = function useActionsColumn(hooks) {
|
|
44
38
|
column = cell.column;
|
45
39
|
if (column.isAction) {
|
46
40
|
var _cx3;
|
41
|
+
var isColumnSticky = !!column.sticky;
|
47
42
|
return [props, {
|
48
43
|
children: /*#__PURE__*/_react.default.createElement("div", {
|
49
44
|
className: "".concat(blockClass, "__actions-column-contents")
|
50
45
|
}, isFetching && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.IconSkeleton, {
|
51
46
|
className: "".concat(blockClass, "__actions-column-loading")
|
52
|
-
}), !isFetching && rowActions.length <= 2 && /*#__PURE__*/_react.default.createElement("div", {
|
47
|
+
}), !isFetching && rowActions.length <= 2 && !isColumnSticky && /*#__PURE__*/_react.default.createElement("div", {
|
53
48
|
className: "".concat(blockClass, "_actions-column"),
|
54
49
|
style: {
|
55
50
|
display: 'flex'
|
@@ -73,6 +68,7 @@ var useActionsColumn = function useActionsColumn(hooks) {
|
|
73
68
|
hasIconOnly: true,
|
74
69
|
light: true,
|
75
70
|
iconDescription: itemText,
|
71
|
+
ariaLabel: itemText,
|
76
72
|
kind: "ghost",
|
77
73
|
className: (0, _classnames.default)((0, _defineProperty2.default)({}, "".concat(blockClass, "__disabled-row-action"), getDisabledState(row.index))),
|
78
74
|
onClick: function onClick(e) {
|
@@ -84,7 +80,7 @@ var useActionsColumn = function useActionsColumn(hooks) {
|
|
84
80
|
_onClick(id, row, e);
|
85
81
|
}
|
86
82
|
})));
|
87
|
-
})), !isFetching && rowActions.length > 2 && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenu, {
|
83
|
+
})), !isFetching && (rowActions.length > 2 || isColumnSticky) && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenu, {
|
88
84
|
size: "sm",
|
89
85
|
light: true,
|
90
86
|
flipped: true,
|
@@ -114,9 +110,9 @@ var useActionsColumn = function useActionsColumn(hooks) {
|
|
114
110
|
key: id
|
115
111
|
}));
|
116
112
|
})))),
|
117
|
-
className: (0, _classnames.default)((_cx3 = {}, (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__actions-column-cell"), true), (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__cell"), true), _cx3)),
|
113
|
+
className: (0, _classnames.default)((_cx3 = {}, (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__actions-column-cell"), true), (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__cell"), true), (0, _defineProperty2.default)(_cx3, "".concat(blockClass, "__actions-column-cell-non-sticky"), !isColumnSticky), _cx3)),
|
118
114
|
style: {
|
119
|
-
width: rowActions.length > 2 ? 48 : 96
|
115
|
+
width: rowActions.length > 2 || isColumnSticky ? 48 : 96
|
120
116
|
}
|
121
117
|
}];
|
122
118
|
}
|
@@ -131,9 +127,10 @@ var useActionsColumn = function useActionsColumn(hooks) {
|
|
131
127
|
var addHeaderWidth = function addHeaderWidth(props, cellData) {
|
132
128
|
var column = cellData.column;
|
133
129
|
if (column.isAction) {
|
130
|
+
var isColumnSticky = !!column.sticky;
|
134
131
|
return [props, {
|
135
132
|
style: _objectSpread(_objectSpread({}, props.style), {}, {
|
136
|
-
width: rowActions.length > 2 ? 48 : 96 // set header width based on action length
|
133
|
+
width: rowActions.length > 2 || isColumnSticky ? 48 : 96 // set header width based on action length
|
137
134
|
})
|
138
135
|
}];
|
139
136
|
}
|
@@ -22,8 +22,19 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
22
22
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
23
23
|
var useDatagrid = function useDatagrid(params) {
|
24
24
|
var defaultPlugins = [_reactTable.useFlexLayout, _DatagridHeaderRow.default, _useSkeletonRows.default, _reactTable.useResizeColumns, _useRowRenderer.default, _useDefaultStringRenderer.default, _useRowSize.default, _reactTable.useFilters, _reactTable.useGlobalFilter, _reactTable.useSortBy, _reactTable.useExpanded];
|
25
|
+
|
26
|
+
// Disable resizing
|
27
|
+
if (params.disableResizing) {
|
28
|
+
var resizeIndex = defaultPlugins.findIndex(function (p) {
|
29
|
+
return p.pluginName === 'useResizeColumns';
|
30
|
+
});
|
31
|
+
defaultPlugins.splice(resizeIndex, 1);
|
32
|
+
}
|
25
33
|
var defaultEndPlugins = [_reactTable.usePagination, _reactTable.useRowSelect, _useFlexResize.default, _useFloatingScroll.default];
|
26
34
|
var clientEndPlugins = params.endPlugins || [];
|
35
|
+
var defaultColumn = {
|
36
|
+
minWidth: 50
|
37
|
+
};
|
27
38
|
var tableId = (0, _react.useMemo)(function () {
|
28
39
|
return (0, _uniqueId.default)('datagrid-table-id');
|
29
40
|
}, []);
|
@@ -33,7 +44,8 @@ var useDatagrid = function useDatagrid(params) {
|
|
33
44
|
var tableState = _reactTable.useTable.apply(void 0, [_objectSpread(_objectSpread({
|
34
45
|
tableId: tableId
|
35
46
|
}, params), {}, {
|
36
|
-
stateReducer: _stateReducer.stateReducer
|
47
|
+
stateReducer: _stateReducer.stateReducer,
|
48
|
+
defaultColumn: defaultColumn
|
37
49
|
})].concat(defaultPlugins, plugins, defaultEndPlugins, (0, _toConsumableArray2.default)(clientEndPlugins)));
|
38
50
|
return tableState;
|
39
51
|
};
|
@@ -6,29 +6,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
});
|
7
7
|
exports.default = void 0;
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
9
|
-
|
10
|
-
*
|
11
|
-
*
|
12
|
-
*
|
13
|
-
*
|
14
|
-
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
9
|
+
/**
|
10
|
+
* Copyright IBM Corp. 2020, 2023
|
11
|
+
*
|
12
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
13
|
+
* LICENSE file in the root directory of this source tree.
|
15
14
|
*/
|
15
|
+
|
16
16
|
var useFlexResize = function useFlexResize(hooks) {
|
17
|
-
var
|
17
|
+
var spacer = {
|
18
18
|
id: 'spacer',
|
19
19
|
width: 0,
|
20
20
|
disableSortBy: true,
|
21
21
|
disableResizing: true
|
22
22
|
};
|
23
23
|
hooks.visibleColumns.push(function (columns) {
|
24
|
-
|
24
|
+
// always move actions and spacer to the end
|
25
|
+
var actionsIdx = columns.findIndex(function (col) {
|
26
|
+
return col.isAction;
|
27
|
+
});
|
28
|
+
if (actionsIdx === -1) {
|
29
|
+
return [].concat((0, _toConsumableArray2.default)(columns), [spacer]);
|
30
|
+
}
|
31
|
+
var cols = (0, _toConsumableArray2.default)(columns);
|
32
|
+
var actions = cols.splice(actionsIdx, 1)[0];
|
33
|
+
cols.splice(columns.length, 0, spacer, actions);
|
34
|
+
return cols;
|
25
35
|
});
|
26
36
|
var changeProps = function changeProps(props, data) {
|
27
37
|
var column = data.column;
|
28
38
|
if (!column && data.cell) {
|
29
39
|
column = data.cell.column;
|
30
40
|
}
|
31
|
-
if (column.id ===
|
41
|
+
if (column.id === spacer.id) {
|
32
42
|
return [props, {
|
33
43
|
style: {
|
34
44
|
flex: '1 1 0'
|
@@ -9,12 +9,11 @@ var _react = require("react");
|
|
9
9
|
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
10
10
|
var _useParentDimensions = _interopRequireDefault(require("./useParentDimensions"));
|
11
11
|
var _useResizeTable = _interopRequireDefault(require("./useResizeTable"));
|
12
|
-
|
13
|
-
*
|
14
|
-
*
|
15
|
-
*
|
16
|
-
*
|
17
|
-
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
12
|
+
/**
|
13
|
+
* Copyright IBM Corp. 2020, 2023
|
14
|
+
*
|
15
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
18
17
|
*/
|
19
18
|
|
20
19
|
var useInfiniteScroll = function useInfiniteScroll(hooks) {
|
@@ -25,10 +24,11 @@ var useInfiniteScroll = function useInfiniteScroll(hooks) {
|
|
25
24
|
tableHeight = instance.tableHeight,
|
26
25
|
innerListRef = instance.innerListRef,
|
27
26
|
fetchMoreData = instance.fetchMoreData,
|
28
|
-
tableId = instance.tableId
|
27
|
+
tableId = instance.tableId,
|
28
|
+
loadMoreThreshold = instance.loadMoreThreshold;
|
29
29
|
var tableElement = document.querySelector("#".concat(tableId));
|
30
30
|
var totalTableHeight = tableHeight || (tableElement === null || tableElement === void 0 ? void 0 : tableElement.clientHeight);
|
31
|
-
var
|
31
|
+
var loadMoreThresholdValue = typeof loadMoreThreshold === 'number' ? loadMoreThreshold : 200;
|
32
32
|
var emptyFetchData = function emptyFetchData() {};
|
33
33
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
34
34
|
var fetchMore = (0, _react.useCallback)((0, _debounce.default)(fetchMoreData || emptyFetchData, 3000, {
|
@@ -39,7 +39,7 @@ var useInfiniteScroll = function useInfiniteScroll(hooks) {
|
|
39
39
|
var scrollDirection = _ref.scrollDirection,
|
40
40
|
scrollOffset = _ref.scrollOffset;
|
41
41
|
if (innerListRef && innerListRef.current) {
|
42
|
-
if (!isFetching && scrollDirection === 'forward' && scrollOffset + totalTableHeight >= innerListRef.current.clientHeight -
|
42
|
+
if (!isFetching && scrollDirection === 'forward' && scrollOffset + totalTableHeight >= innerListRef.current.clientHeight - loadMoreThresholdValue) {
|
43
43
|
if (fetchMoreData) {
|
44
44
|
fetchMore();
|
45
45
|
}
|
@@ -5,12 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
7
|
var _settings = require("../../settings");
|
8
|
-
|
9
|
-
*
|
10
|
-
*
|
11
|
-
*
|
12
|
-
*
|
13
|
-
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
8
|
+
/**
|
9
|
+
* Copyright IBM Corp. 2020, 2023
|
10
|
+
*
|
11
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
12
|
+
* LICENSE file in the root directory of this source tree.
|
14
13
|
*/
|
15
14
|
|
16
15
|
var useOnRowClick = function useOnRowClick(hooks) {
|
@@ -49,7 +48,7 @@ var useOnRowClick = function useOnRowClick(hooks) {
|
|
49
48
|
var onKeyDown = function onKeyDown(event) {
|
50
49
|
var key = event.key;
|
51
50
|
if (key === 'Enter') {
|
52
|
-
onClick();
|
51
|
+
onClick(event);
|
53
52
|
}
|
54
53
|
};
|
55
54
|
return [props, {
|
@@ -7,12 +7,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
exports.default = void 0;
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
9
9
|
var _react = require("react");
|
10
|
-
|
11
|
-
*
|
12
|
-
*
|
13
|
-
*
|
14
|
-
*
|
15
|
-
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
10
|
+
/**
|
11
|
+
* Copyright IBM Corp. 2020, 2023
|
12
|
+
*
|
13
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
14
|
+
* LICENSE file in the root directory of this source tree.
|
16
15
|
*/
|
17
16
|
|
18
17
|
var useParentDimensions = function useParentDimensions(hooks) {
|
@@ -5,12 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
7
|
var _react = require("react");
|
8
|
-
|
9
|
-
*
|
10
|
-
*
|
11
|
-
*
|
12
|
-
*
|
13
|
-
* restricted by GSA ADP Schedule Contract with IBM Corp.
|
8
|
+
/**
|
9
|
+
* Copyright IBM Corp. 2020, 2023
|
10
|
+
*
|
11
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
12
|
+
* LICENSE file in the root directory of this source tree.
|
14
13
|
*/
|
15
14
|
|
16
15
|
var useResizeTable = function useResizeTable(hooks) {
|
@@ -33,7 +32,7 @@ var useResizeTable = function useResizeTable(hooks) {
|
|
33
32
|
resizeObserver = null;
|
34
33
|
};
|
35
34
|
}
|
36
|
-
return console.error('
|
35
|
+
return console.error('Could not resize table, no support for ResizeObserver');
|
37
36
|
}, [handleResize, parent]);
|
38
37
|
};
|
39
38
|
hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions);
|
@@ -24,7 +24,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
24
24
|
*/
|
25
25
|
// @flow
|
26
26
|
|
27
|
-
var blockClass = "".concat(_settings.pkg.prefix, "--
|
27
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid__select-all");
|
28
28
|
var useSelectAllToggle = function useSelectAllToggle(hooks) {
|
29
29
|
useSelectAllWithToggleComponent(hooks);
|
30
30
|
useAddClassNameToSelectRow(hooks);
|
@@ -71,7 +71,7 @@ var useAddClassNameToSelectRow = function useAddClassNameToSelectRow(hooks) {
|
|
71
71
|
var isFirstColumnStickyLeft = ((_columns$ = columns[0]) === null || _columns$ === void 0 ? void 0 : _columns$.sticky) === 'left' && withStickyColumn;
|
72
72
|
if (column.id === _commonColumnIds.selectionColumnId && DatagridPagination) {
|
73
73
|
return [props, {
|
74
|
-
className: (0, _classnames.default)("".concat(blockClass, "
|
74
|
+
className: (0, _classnames.default)(["".concat(blockClass, "-toggle-on"), (0, _defineProperty2.default)({}, "".concat(blockClass, "-sticky-left"), isFirstColumnStickyLeft && windowSize > 671)])
|
75
75
|
}];
|
76
76
|
}
|
77
77
|
return [props];
|