@carbon/ibm-products 1.56.0 → 1.58.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/css/index-full-carbon.css +392 -895
- 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.css +392 -895
- 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 +392 -895
- 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/Checklist/Checklist.js +277 -0
- package/es/components/Checklist/ChecklistChart.js +104 -0
- package/es/components/Checklist/ChecklistIcon.js +105 -0
- package/es/components/Checklist/index.js +8 -0
- package/es/components/Datagrid/Datagrid/Datagrid.js +12 -7
- package/es/components/Datagrid/Datagrid/DatagridContent.js +6 -3
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +128 -7
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +1 -23
- package/es/components/Datagrid/Datagrid/addons/stateReducer.js +111 -0
- package/es/components/Datagrid/useDatagrid.js +5 -2
- package/es/components/Datagrid/utils/getColTitle.js +25 -0
- package/es/components/NonLinearReading/NonLinearReading.js +9 -4
- package/es/components/index.js +2 -1
- package/es/global/js/hooks/useResizeObserver.js +19 -3
- package/es/global/js/package-settings.js +1 -0
- package/lib/components/Checklist/Checklist.js +267 -0
- package/lib/components/Checklist/ChecklistChart.js +94 -0
- package/lib/components/Checklist/ChecklistIcon.js +92 -0
- package/lib/components/Checklist/index.js +12 -0
- package/lib/components/Datagrid/Datagrid/Datagrid.js +12 -7
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +6 -3
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +131 -7
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +4 -26
- package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +122 -0
- package/lib/components/Datagrid/useDatagrid.js +5 -2
- package/lib/components/Datagrid/utils/getColTitle.js +32 -0
- package/lib/components/NonLinearReading/NonLinearReading.js +8 -3
- package/lib/components/index.js +8 -1
- package/lib/global/js/hooks/useResizeObserver.js +19 -3
- package/lib/global/js/package-settings.js +1 -0
- package/package.json +2 -2
- package/scss/components/Checklist/_checklist.scss +231 -0
- package/scss/components/Checklist/_index.scss +8 -0
- package/scss/components/Checklist/_storybook-styles.scss +13 -0
- package/scss/components/Datagrid/styles/_datagrid.scss +91 -0
- package/scss/components/NonLinearReading/_non-linear-reading.scss +76 -64
- package/scss/components/_index.scss +1 -0
@@ -1,19 +1,26 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
5
6
|
value: true
|
6
7
|
});
|
7
8
|
exports.default = void 0;
|
8
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
9
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
10
|
-
var
|
11
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
11
13
|
var _classnames = _interopRequireDefault(require("classnames"));
|
12
14
|
var _carbonComponentsReact = require("carbon-components-react");
|
15
|
+
var _layout = require("@carbon/layout");
|
13
16
|
var _commonColumnIds = require("../common-column-ids");
|
14
17
|
var _settings = require("../../../settings");
|
18
|
+
var _stateReducer = require("./addons/stateReducer");
|
19
|
+
var _getColTitle = _interopRequireDefault(require("../utils/getColTitle"));
|
20
|
+
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); }
|
21
|
+
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; }
|
15
22
|
/**
|
16
|
-
* Copyright IBM Corp. 2020,
|
23
|
+
* Copyright IBM Corp. 2020, 2023
|
17
24
|
*
|
18
25
|
* This source code is licensed under the Apache-2.0 license found in the
|
19
26
|
* LICENSE file in the root directory of this source tree.
|
@@ -22,16 +29,87 @@ var _settings = require("../../../settings");
|
|
22
29
|
// @flow
|
23
30
|
|
24
31
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
32
|
+
var getAccessibilityProps = function getAccessibilityProps(header) {
|
33
|
+
var props = {};
|
34
|
+
var title = (0, _getColTitle.default)(header);
|
35
|
+
if (title) {
|
36
|
+
props.title = title;
|
37
|
+
} else {
|
38
|
+
props['aria-hidden'] = true;
|
39
|
+
}
|
40
|
+
return props;
|
41
|
+
};
|
25
42
|
var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
43
|
+
// Used to measure the height of the table and uses that value
|
44
|
+
// to display a vertical line to indicate the column you are resizing
|
45
|
+
(0, _react.useEffect)(function () {
|
46
|
+
var tableId = datagridState.tableId;
|
47
|
+
if (tableId) {
|
48
|
+
var gridElement = document.querySelector("#".concat(tableId));
|
49
|
+
var tableElement = gridElement.querySelector('table');
|
50
|
+
var headerRowElement = document.querySelector("#".concat(tableId, " .").concat(blockClass, "__head"));
|
51
|
+
var hasHorizontalScrollbar = tableElement.scrollWidth > tableElement.clientWidth;
|
52
|
+
var scrollBuffer = hasHorizontalScrollbar ? 18 : 2;
|
53
|
+
var tableToolbar = gridElement.querySelector(".".concat(blockClass, "__table-toolbar"));
|
54
|
+
var tableToolbarHeight = (tableToolbar === null || tableToolbar === void 0 ? void 0 : tableToolbar.offsetHeight) || 0;
|
55
|
+
var setCustomValues = function setCustomValues(_ref) {
|
56
|
+
var _ref$rowHeight = _ref.rowHeight,
|
57
|
+
rowHeight = _ref$rowHeight === void 0 ? 48 : _ref$rowHeight,
|
58
|
+
gridHeight = _ref.gridHeight;
|
59
|
+
headerRowElement.style.setProperty("--".concat(blockClass, "--row-height"), (0, _layout.px)(rowHeight));
|
60
|
+
headerRowElement.style.setProperty("--".concat(blockClass, "--grid-height"), (0, _layout.px)(gridHeight - scrollBuffer - tableToolbarHeight));
|
61
|
+
headerRowElement.style.setProperty("--".concat(blockClass, "--header-height"), (0, _layout.px)(headerRowElement.offsetHeight));
|
62
|
+
};
|
63
|
+
setCustomValues({
|
64
|
+
gridHeight: gridElement.offsetHeight,
|
65
|
+
rowHeight: headerRowElement.clientHeight
|
66
|
+
});
|
67
|
+
}
|
68
|
+
}, [datagridState.rowSize, datagridState.tableId, datagridState]);
|
69
|
+
var _useState = (0, _react.useState)(2),
|
70
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 1),
|
71
|
+
incrementAmount = _useState2[0];
|
72
|
+
var getClientXPosition = function getClientXPosition(event) {
|
73
|
+
var isTouchEvent = false;
|
74
|
+
if (event.type === 'touchstart') {
|
75
|
+
// Do not respond to multiple touches (e.g. 2 or 3 fingers)
|
76
|
+
if (event.touches && event.touches.length > 1) {
|
77
|
+
return;
|
78
|
+
}
|
79
|
+
isTouchEvent = true;
|
80
|
+
}
|
81
|
+
var clientX = isTouchEvent ? Math.round(event.touches[0].clientX) : event.clientX;
|
82
|
+
var closestHeader = event.target.closest('th');
|
83
|
+
var closestHeaderCoords = closestHeader.getBoundingClientRect();
|
84
|
+
var headerOffset = closestHeaderCoords.left;
|
85
|
+
var offsetValue = clientX - headerOffset;
|
86
|
+
return offsetValue;
|
87
|
+
};
|
88
|
+
(0, _react.useEffect)(function () {
|
89
|
+
var isResizing = datagridState.state.isResizing;
|
90
|
+
if (isResizing) {
|
91
|
+
var onColResizeEnd = datagridState.onColResizeEnd;
|
92
|
+
document.addEventListener('mouseup', function () {
|
93
|
+
(0, _stateReducer.handleColumnResizeEndEvent)(datagridState.dispatch, onColResizeEnd, isResizing);
|
94
|
+
document.activeElement.blur();
|
95
|
+
});
|
96
|
+
}
|
97
|
+
return function () {
|
98
|
+
document.removeEventListener('mouseup', function () {
|
99
|
+
return (0, _stateReducer.handleColumnResizeEndEvent)(datagridState.dispatch);
|
100
|
+
});
|
101
|
+
};
|
102
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
103
|
+
}, [datagridState.state.isResizing]);
|
26
104
|
return /*#__PURE__*/_react.default.createElement(TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps({
|
27
105
|
role: false
|
28
106
|
}), {
|
29
107
|
className: (0, _classnames.default)("".concat(blockClass, "__head"), headerGroup.getHeaderGroupProps().className),
|
30
108
|
ref: headRef
|
31
|
-
}), datagridState.headers.filter(function (
|
32
|
-
var isVisible =
|
109
|
+
}), datagridState.headers.filter(function (_ref2) {
|
110
|
+
var isVisible = _ref2.isVisible;
|
33
111
|
return isVisible;
|
34
|
-
}).map(function (header) {
|
112
|
+
}).map(function (header, index) {
|
35
113
|
var _cx;
|
36
114
|
if (header.id === _commonColumnIds.selectionColumnId) {
|
37
115
|
// render directly without the wrapper TableHeader
|
@@ -39,13 +117,59 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
|
39
117
|
key: header.id
|
40
118
|
});
|
41
119
|
}
|
120
|
+
var _ref3 = header || 50,
|
121
|
+
minWidth = _ref3.minWidth;
|
122
|
+
var visibleColumns = datagridState.visibleColumns,
|
123
|
+
state = datagridState.state,
|
124
|
+
dispatch = datagridState.dispatch,
|
125
|
+
onColResizeEnd = datagridState.onColResizeEnd;
|
126
|
+
var columnResizing = state.columnResizing,
|
127
|
+
isResizing = state.isResizing;
|
128
|
+
var columnWidths = columnResizing.columnWidths;
|
129
|
+
var originalCol = visibleColumns[index];
|
42
130
|
return /*#__PURE__*/_react.default.createElement(TableHeader, (0, _extends2.default)({}, header.getHeaderProps({
|
43
131
|
role: false
|
44
132
|
}), {
|
45
133
|
className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__resizableColumn"), header.getResizerProps), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isResizing"), header.isResizing), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isSorted"), header.isSorted), _cx), header.getHeaderProps().className),
|
46
134
|
key: header.id
|
47
|
-
}), header.render('Header'), header.getResizerProps && /*#__PURE__*/_react.default.createElement("
|
48
|
-
|
135
|
+
}, getAccessibilityProps(header)), header.render('Header'), header.getResizerProps && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({}, header.getResizerProps(), {
|
136
|
+
onMouseMove: function onMouseMove(event) {
|
137
|
+
if (isResizing) {
|
138
|
+
var newWidth = getClientXPosition(event);
|
139
|
+
// Sets a min width for resizing so at least one character from the column header is visible
|
140
|
+
if (newWidth >= 50) {
|
141
|
+
(0, _stateReducer.handleColumnResizingEvent)(dispatch, header, newWidth);
|
142
|
+
}
|
143
|
+
}
|
144
|
+
},
|
145
|
+
onMouseDown: function onMouseDown() {
|
146
|
+
return (0, _stateReducer.handleColumnResizeStartEvent)(dispatch, header.id);
|
147
|
+
},
|
148
|
+
onKeyDown: function onKeyDown(event) {
|
149
|
+
var key = event.key;
|
150
|
+
if (key === 'ArrowLeft' || key === 'ArrowRight') {
|
151
|
+
var currentColumnWidth = columnWidths[header.id] || (datagridState.isTableSortable && originalCol.width < 90 ? 90 : originalCol.width);
|
152
|
+
if (key === 'ArrowLeft') {
|
153
|
+
if (currentColumnWidth - incrementAmount > Math.max(minWidth, 50)) {
|
154
|
+
var newWidth = currentColumnWidth - incrementAmount;
|
155
|
+
(0, _stateReducer.handleColumnResizingEvent)(dispatch, header, newWidth, true);
|
156
|
+
}
|
157
|
+
}
|
158
|
+
if (key === 'ArrowRight') {
|
159
|
+
var _newWidth = currentColumnWidth + incrementAmount;
|
160
|
+
(0, _stateReducer.handleColumnResizingEvent)(dispatch, header, _newWidth, true);
|
161
|
+
}
|
162
|
+
}
|
163
|
+
},
|
164
|
+
onKeyUp: function onKeyUp() {
|
165
|
+
return (0, _stateReducer.handleColumnResizeEndEvent)(dispatch, onColResizeEnd, header.id);
|
166
|
+
},
|
167
|
+
className: (0, _classnames.default)("".concat(blockClass, "__col-resizer-range")),
|
168
|
+
type: "range",
|
169
|
+
defaultValue: originalCol.width,
|
170
|
+
"aria-label": "Resize column"
|
171
|
+
})), /*#__PURE__*/_react.default.createElement("span", {
|
172
|
+
className: "".concat(blockClass, "__col-resize-indicator")
|
49
173
|
})));
|
50
174
|
}));
|
51
175
|
};
|
@@ -11,6 +11,7 @@ var _carbonComponentsReact = require("carbon-components-react");
|
|
11
11
|
var _common = require("./common");
|
12
12
|
var _DraggableElement = _interopRequireDefault(require("../../DraggableElement"));
|
13
13
|
var _settings = require("../../../../../settings");
|
14
|
+
var _getColTitle2 = _interopRequireDefault(require("../../../utils/getColTitle"));
|
14
15
|
/**
|
15
16
|
* Copyright IBM Corp. 2023, 2023
|
16
17
|
*
|
@@ -29,40 +30,17 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
|
|
29
30
|
setAriaRegionText = _ref.setAriaRegionText,
|
30
31
|
setColumnsObject = _ref.setColumnsObject,
|
31
32
|
setFocusIndex = _ref.setFocusIndex;
|
32
|
-
// This function recursively looks for the nested header element until we can find the key which contains the title.
|
33
|
-
// This can happen if multiple hooks are used together that manipulate the rendering of the column
|
34
|
-
// header, such as `useColumnCenterAlign` and `useSortableColumns`.
|
35
|
-
var getNestedTitle = function getNestedTitle(component) {
|
36
|
-
if (component && !component.key) {
|
37
|
-
return getNestedTitle(component.children);
|
38
|
-
}
|
39
|
-
if (component && component.key && typeof component.key === 'string') {
|
40
|
-
return component.key;
|
41
|
-
}
|
42
|
-
};
|
43
|
-
var getColTitle = function getColTitle(col) {
|
44
|
-
if (!col) {
|
45
|
-
return;
|
46
|
-
}
|
47
|
-
var checkTitle = function checkTitle() {
|
48
|
-
if (col.Header().props.children.props && col.Header().props.children.props.title) {
|
49
|
-
return col.Header().props.children.props.title;
|
50
|
-
}
|
51
|
-
return getNestedTitle(col.Header().props.children.props);
|
52
|
-
};
|
53
|
-
return typeof (col === null || col === void 0 ? void 0 : col.Header) === 'function' ? checkTitle() : col.Header.props.title;
|
54
|
-
};
|
55
33
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, columns
|
56
34
|
// hide the columns without Header, e.g the sticky actions, spacer
|
57
35
|
.filter(function (colDef) {
|
58
|
-
return !!
|
36
|
+
return !!(0, _getColTitle2.default)(colDef);
|
59
37
|
}).filter(Boolean).filter(function (colDef) {
|
60
38
|
return !colDef.isAction;
|
61
39
|
}).filter(function (colDef) {
|
62
40
|
var _getColTitle;
|
63
|
-
return filterString.length === 0 || ((_getColTitle =
|
41
|
+
return filterString.length === 0 || ((_getColTitle = (0, _getColTitle2.default)(colDef)) === null || _getColTitle === void 0 ? void 0 : _getColTitle.toLowerCase().includes(filterString)) && colDef.id !== 'spacer';
|
64
42
|
}).map(function (colDef, i) {
|
65
|
-
var colHeaderTitle =
|
43
|
+
var colHeaderTitle = (0, _getColTitle2.default)(colDef);
|
66
44
|
var searchString = new RegExp('(' + filterString + ')');
|
67
45
|
var res = filterString.length ? colHeaderTitle.toLowerCase().split(searchString) : null;
|
68
46
|
var firstWord = res !== null ? res[0] === '' ? res[1].charAt(0).toUpperCase() + res[1].substring(1) : res[0].charAt(0).toUpperCase() + res[0].substring(1) : null;
|
@@ -0,0 +1,122 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.stateReducer = exports.handleColumnResizingEvent = exports.handleColumnResizeStartEvent = exports.handleColumnResizeEndEvent = void 0;
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
10
|
+
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; }
|
11
|
+
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; }
|
12
|
+
/**
|
13
|
+
* Copyright IBM Corp. 2023, 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.
|
17
|
+
*/
|
18
|
+
|
19
|
+
var COLUMN_RESIZE_START = 'columnStartResizing';
|
20
|
+
var COLUMN_RESIZING = 'columnResizing';
|
21
|
+
var COLUMN_RESIZE_END = 'columnDoneResizing';
|
22
|
+
var INIT = 'init';
|
23
|
+
var handleColumnResizeStartEvent = function handleColumnResizeStartEvent(dispatch, headerId) {
|
24
|
+
dispatch({
|
25
|
+
type: COLUMN_RESIZE_START,
|
26
|
+
payload: {
|
27
|
+
headerId: headerId
|
28
|
+
}
|
29
|
+
});
|
30
|
+
};
|
31
|
+
exports.handleColumnResizeStartEvent = handleColumnResizeStartEvent;
|
32
|
+
var handleColumnResizeEndEvent = function handleColumnResizeEndEvent(dispatch, onColResizeEnd, headerId) {
|
33
|
+
dispatch({
|
34
|
+
type: COLUMN_RESIZE_END,
|
35
|
+
payload: {
|
36
|
+
onColResizeEnd: onColResizeEnd,
|
37
|
+
headerId: headerId
|
38
|
+
}
|
39
|
+
});
|
40
|
+
};
|
41
|
+
exports.handleColumnResizeEndEvent = handleColumnResizeEndEvent;
|
42
|
+
var handleColumnResizingEvent = function handleColumnResizingEvent(dispatch, header, newWidth, isKeyEvent) {
|
43
|
+
if (isKeyEvent) {
|
44
|
+
dispatch({
|
45
|
+
type: COLUMN_RESIZE_START,
|
46
|
+
payload: {
|
47
|
+
newWidth: newWidth,
|
48
|
+
headerId: header.id,
|
49
|
+
defaultWidth: header.originalWidth
|
50
|
+
}
|
51
|
+
});
|
52
|
+
}
|
53
|
+
dispatch({
|
54
|
+
type: COLUMN_RESIZING,
|
55
|
+
payload: {
|
56
|
+
newWidth: newWidth,
|
57
|
+
headerId: header.id,
|
58
|
+
defaultWidth: header.originalWidth
|
59
|
+
}
|
60
|
+
});
|
61
|
+
};
|
62
|
+
exports.handleColumnResizingEvent = handleColumnResizingEvent;
|
63
|
+
var stateReducer = function stateReducer(newState, action) {
|
64
|
+
switch (action.type) {
|
65
|
+
case INIT:
|
66
|
+
{
|
67
|
+
return _objectSpread(_objectSpread({}, newState), {}, {
|
68
|
+
isResizing: false
|
69
|
+
});
|
70
|
+
}
|
71
|
+
case COLUMN_RESIZE_START:
|
72
|
+
{
|
73
|
+
var headerId = action.payload.headerId;
|
74
|
+
return _objectSpread(_objectSpread({}, newState), {}, {
|
75
|
+
isResizing: headerId
|
76
|
+
});
|
77
|
+
}
|
78
|
+
case COLUMN_RESIZING:
|
79
|
+
{
|
80
|
+
var _ref = action.payload || {},
|
81
|
+
_headerId = _ref.headerId,
|
82
|
+
newWidth = _ref.newWidth,
|
83
|
+
defaultWidth = _ref.defaultWidth;
|
84
|
+
var newColumnWidth = {};
|
85
|
+
if (typeof _headerId === 'undefined') {
|
86
|
+
return _objectSpread({}, newState);
|
87
|
+
}
|
88
|
+
newColumnWidth[_headerId] = newWidth;
|
89
|
+
var cleanedWidths = Object.fromEntries(Object.entries(newState.columnResizing.columnWidths).filter(function (_ref2) {
|
90
|
+
var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
|
91
|
+
_ = _ref3[0],
|
92
|
+
value = _ref3[1];
|
93
|
+
return !isNaN(value);
|
94
|
+
}));
|
95
|
+
return _objectSpread(_objectSpread({}, newState), {}, {
|
96
|
+
isResizing: _headerId,
|
97
|
+
columnResizing: _objectSpread(_objectSpread({}, newState.columnResizing), {}, {
|
98
|
+
columnWidth: defaultWidth,
|
99
|
+
columnWidths: _objectSpread(_objectSpread({}, cleanedWidths), newColumnWidth),
|
100
|
+
headerIdWidths: [_headerId, newWidth]
|
101
|
+
})
|
102
|
+
});
|
103
|
+
}
|
104
|
+
case COLUMN_RESIZE_END:
|
105
|
+
{
|
106
|
+
var _action$payload = action.payload,
|
107
|
+
onColResizeEnd = _action$payload.onColResizeEnd,
|
108
|
+
_headerId2 = _action$payload.headerId;
|
109
|
+
var currentColumn = {};
|
110
|
+
currentColumn[_headerId2] = newState.columnResizing.columnWidths[_headerId2];
|
111
|
+
var allChangedColumns = newState.columnResizing.columnWidths;
|
112
|
+
var isResizing = newState.isResizing;
|
113
|
+
if (isResizing) {
|
114
|
+
onColResizeEnd === null || onColResizeEnd === void 0 ? void 0 : onColResizeEnd(currentColumn, allChangedColumns);
|
115
|
+
}
|
116
|
+
return _objectSpread(_objectSpread({}, newState), {}, {
|
117
|
+
isResizing: false
|
118
|
+
});
|
119
|
+
}
|
120
|
+
}
|
121
|
+
};
|
122
|
+
exports.stateReducer = stateReducer;
|
@@ -17,6 +17,7 @@ var _useRowSize = _interopRequireDefault(require("./useRowSize"));
|
|
17
17
|
var _DatagridHeaderRow = _interopRequireDefault(require("./Datagrid/DatagridHeaderRow"));
|
18
18
|
var _useFlexResize = _interopRequireDefault(require("./useFlexResize"));
|
19
19
|
var _useFloatingScroll = _interopRequireDefault(require("./useFloatingScroll"));
|
20
|
+
var _stateReducer = require("./Datagrid/addons/stateReducer");
|
20
21
|
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
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; }
|
22
23
|
var useDatagrid = function useDatagrid(params) {
|
@@ -29,9 +30,11 @@ var useDatagrid = function useDatagrid(params) {
|
|
29
30
|
for (var _len = arguments.length, plugins = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
30
31
|
plugins[_key - 1] = arguments[_key];
|
31
32
|
}
|
32
|
-
var tableState = _reactTable.useTable.apply(void 0, [_objectSpread({
|
33
|
+
var tableState = _reactTable.useTable.apply(void 0, [_objectSpread(_objectSpread({
|
33
34
|
tableId: tableId
|
34
|
-
}, params)
|
35
|
+
}, params), {}, {
|
36
|
+
stateReducer: _stateReducer.stateReducer
|
37
|
+
})].concat(defaultPlugins, plugins, defaultEndPlugins, (0, _toConsumableArray2.default)(clientEndPlugins)));
|
35
38
|
return tableState;
|
36
39
|
};
|
37
40
|
var _default = useDatagrid;
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
// This function recursively looks for the nested header element until we can find the key which contains the title.
|
8
|
+
// This can happen if multiple hooks are used together that manipulate the rendering of the column
|
9
|
+
// header, such as `useColumnCenterAlign` and `useSortableColumns`.
|
10
|
+
var getNestedTitle = function getNestedTitle(component) {
|
11
|
+
if (component && !component.key) {
|
12
|
+
return getNestedTitle(component.children);
|
13
|
+
}
|
14
|
+
if (component && component.key && typeof component.key === 'string') {
|
15
|
+
return component.key;
|
16
|
+
}
|
17
|
+
};
|
18
|
+
var getColTitle = function getColTitle(col) {
|
19
|
+
var _col$Header, _col$Header$props;
|
20
|
+
if (!col) {
|
21
|
+
return;
|
22
|
+
}
|
23
|
+
var checkTitle = function checkTitle() {
|
24
|
+
if (col.Header().props.children.props && col.Header().props.children.props.title) {
|
25
|
+
return col.Header().props.children.props.title;
|
26
|
+
}
|
27
|
+
return getNestedTitle(col.Header().props.children.props);
|
28
|
+
};
|
29
|
+
return typeof (col === null || col === void 0 ? void 0 : col.Header) === 'function' ? checkTitle() : col === null || col === void 0 ? void 0 : (_col$Header = col.Header) === null || _col$Header === void 0 ? void 0 : (_col$Header$props = _col$Header.props) === null || _col$Header$props === void 0 ? void 0 : _col$Header$props.title;
|
30
|
+
};
|
31
|
+
var _default = getColTitle;
|
32
|
+
exports.default = _default;
|
@@ -14,6 +14,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
15
15
|
var _iconsReact = require("@carbon/icons-react");
|
16
16
|
var _devtools = require("../../global/js/utils/devtools");
|
17
|
+
var _uuidv = _interopRequireDefault(require("../../global/js/utils/uuidv4"));
|
17
18
|
var _settings = require("../../settings");
|
18
19
|
var _excluded = ["children", "className", "definition", "theme"];
|
19
20
|
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); }
|
@@ -43,6 +44,7 @@ var NonLinearReading = /*#__PURE__*/_react.default.forwardRef(function (_ref, re
|
|
43
44
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
44
45
|
isOpen = _useState2[0],
|
45
46
|
setOpen = _useState2[1];
|
47
|
+
var contentId = (0, _react.useRef)((0, _uuidv.default)()).current;
|
46
48
|
var handleToggle = function handleToggle() {
|
47
49
|
setOpen(function (prevState) {
|
48
50
|
return !prevState;
|
@@ -54,12 +56,15 @@ var NonLinearReading = /*#__PURE__*/_react.default.forwardRef(function (_ref, re
|
|
54
56
|
role: "main"
|
55
57
|
}, (0, _devtools.getDevtoolsProps)(componentName)), ' ', /*#__PURE__*/_react.default.createElement("button", {
|
56
58
|
type: "button",
|
59
|
+
"aria-controls": contentId,
|
57
60
|
"aria-expanded": isOpen,
|
58
61
|
className: (0, _classnames.default)("".concat(blockClass, "__keyword"), [isOpen ? ["".concat(blockClass, "__keyword-open")] : ["".concat(blockClass, "__keyword-closed")]]),
|
59
62
|
onClick: handleToggle
|
60
|
-
}, children, /*#__PURE__*/_react.default.createElement(_iconsReact.ChevronDown16, null)), ' ',
|
61
|
-
|
62
|
-
|
63
|
+
}, children, /*#__PURE__*/_react.default.createElement(_iconsReact.ChevronDown16, null)), ' ', /*#__PURE__*/_react.default.createElement("span", {
|
64
|
+
id: contentId,
|
65
|
+
className: "".concat(blockClass, "__body"),
|
66
|
+
hidden: !isOpen
|
67
|
+
}, isOpen && definition), ' ');
|
63
68
|
});
|
64
69
|
|
65
70
|
// Return a placeholder if not released and not enabled by feature flag
|
package/lib/components/index.js
CHANGED
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "Cascade", {
|
|
21
21
|
return _Cascade.Cascade;
|
22
22
|
}
|
23
23
|
});
|
24
|
+
Object.defineProperty(exports, "Checklist", {
|
25
|
+
enumerable: true,
|
26
|
+
get: function get() {
|
27
|
+
return _Checklist.Checklist;
|
28
|
+
}
|
29
|
+
});
|
24
30
|
Object.defineProperty(exports, "Coachmark", {
|
25
31
|
enumerable: true,
|
26
32
|
get: function get() {
|
@@ -579,4 +585,5 @@ var _CoachmarkButton = require("./CoachmarkButton");
|
|
579
585
|
var _CoachmarkOverlayElements = require("./CoachmarkOverlayElements");
|
580
586
|
var _CoachmarkOverlayElement = require("./CoachmarkOverlayElement");
|
581
587
|
var _CoachmarkStack = require("./CoachmarkStack");
|
582
|
-
var _InlineTip = require("./InlineTip");
|
588
|
+
var _InlineTip = require("./InlineTip");
|
589
|
+
var _Checklist = require("./Checklist");
|
@@ -15,22 +15,38 @@ var _react = require("react");
|
|
15
15
|
*/
|
16
16
|
|
17
17
|
var useResizeObserver = function useResizeObserver(ref, callback) {
|
18
|
-
var _useState = (0, _react.useState)(
|
18
|
+
var _useState = (0, _react.useState)(-1),
|
19
19
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
20
20
|
width = _useState2[0],
|
21
21
|
setWidth = _useState2[1];
|
22
|
-
var _useState3 = (0, _react.useState)(
|
22
|
+
var _useState3 = (0, _react.useState)(-1),
|
23
23
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
24
24
|
height = _useState4[0],
|
25
25
|
setHeight = _useState4[1];
|
26
26
|
var entriesToHandle = (0, _react.useRef)(null);
|
27
27
|
var cb = (0, _react.useRef)(callback);
|
28
28
|
(0, _react.useEffect)(function () {
|
29
|
-
// ref for callback removes it as dependency
|
29
|
+
// ref for callback removes it as dependency from useLayoutEffect
|
30
30
|
// This significantly reduces repeated calls if a function is redefined on every
|
31
31
|
// render
|
32
32
|
cb.current = callback;
|
33
33
|
}, [callback]);
|
34
|
+
(0, _react.useEffect)(function () {
|
35
|
+
var getInitialSize = function getInitialSize() {
|
36
|
+
if (ref.current) {
|
37
|
+
var _ref$current, _ref$current2;
|
38
|
+
var refComputedStyle = window.getComputedStyle(ref.current);
|
39
|
+
var initialWidth = (((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.offsetWidth) || 0) - (parseFloat((refComputedStyle === null || refComputedStyle === void 0 ? void 0 : refComputedStyle.paddingLeft) || 0), parseFloat((refComputedStyle === null || refComputedStyle === void 0 ? void 0 : refComputedStyle.paddingRight) || 0));
|
40
|
+
var initialHeight = (((_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.offsetHeight) || 0) - (parseFloat((refComputedStyle === null || refComputedStyle === void 0 ? void 0 : refComputedStyle.paddingTop) || 0), parseFloat((refComputedStyle === null || refComputedStyle === void 0 ? void 0 : refComputedStyle.paddingLeft) || 0));
|
41
|
+
setWidth(initialWidth);
|
42
|
+
setHeight(initialHeight);
|
43
|
+
}
|
44
|
+
};
|
45
|
+
if (!(ref !== null && ref !== void 0 && ref.current) || width >= 0 && height >= 0) {
|
46
|
+
return;
|
47
|
+
}
|
48
|
+
getInitialSize();
|
49
|
+
}, [width, height, ref]);
|
34
50
|
(0, _react.useLayoutEffect)(function () {
|
35
51
|
if (!(ref !== null && ref !== void 0 && ref.current)) {
|
36
52
|
return;
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@carbon/ibm-products",
|
3
3
|
"description": "Carbon for IBM Products",
|
4
|
-
"version": "1.
|
4
|
+
"version": "1.58.0",
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"main": "lib/index.js",
|
7
7
|
"module": "es/index.js",
|
@@ -96,5 +96,5 @@
|
|
96
96
|
"react": "^16.8.6 || ^17.0.1",
|
97
97
|
"react-dom": "^16.8.6 || ^17.0.1"
|
98
98
|
},
|
99
|
-
"gitHead": "
|
99
|
+
"gitHead": "ffa0060023f47e9a1dedcfa78fd4279db1c932e4"
|
100
100
|
}
|