@carbon/ibm-products 1.55.0 → 1.55.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. package/css/index-full-carbon.css +60 -16
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +4 -4
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon.css +3 -9
  6. package/css/index-without-carbon.css.map +1 -1
  7. package/css/index-without-carbon.min.css +1 -1
  8. package/css/index-without-carbon.min.css.map +1 -1
  9. package/css/index.css +41 -12
  10. package/css/index.css.map +1 -1
  11. package/css/index.min.css +3 -3
  12. package/css/index.min.css.map +1 -1
  13. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +1 -4
  14. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +2 -5
  15. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +33 -17
  16. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +0 -1
  17. package/es/components/Datagrid/useDefaultStringRenderer.js +2 -1
  18. package/es/components/Datagrid/useSortableColumns.js +8 -4
  19. package/es/global/js/utils/test-helper.js +3 -3
  20. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +1 -4
  21. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +2 -5
  22. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +33 -17
  23. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +0 -1
  24. package/lib/components/Datagrid/useDefaultStringRenderer.js +2 -1
  25. package/lib/components/Datagrid/useSortableColumns.js +8 -4
  26. package/lib/global/js/utils/test-helper.js +3 -3
  27. package/package.json +9 -8
  28. package/scss/components/Datagrid/styles/_useColumnCenterAlign.scss +9 -9
@@ -17,32 +17,49 @@ export var DraggableItemsList = function DraggableItemsList(_ref) {
17
17
  filterString = _ref.filterString,
18
18
  focusIndex = _ref.focusIndex,
19
19
  getNextIndex = _ref.getNextIndex,
20
- isTableSortable = _ref.isTableSortable,
21
20
  moveElement = _ref.moveElement,
22
21
  onSelectColumn = _ref.onSelectColumn,
23
22
  setAriaRegionText = _ref.setAriaRegionText,
24
23
  setColumnsObject = _ref.setColumnsObject,
25
24
  setFocusIndex = _ref.setFocusIndex;
25
+ // This function recursively looks for the nested header element until we can find the key which contains the title.
26
+ // This can happen if multiple hooks are used together that manipulate the rendering of the column
27
+ // header, such as `useColumnCenterAlign` and `useSortableColumns`.
28
+ var getNestedTitle = function getNestedTitle(component) {
29
+ if (component && !component.key) {
30
+ return getNestedTitle(component.children);
31
+ }
32
+ if (component && component.key && typeof component.key === 'string') {
33
+ return component.key;
34
+ }
35
+ };
36
+ var getColTitle = function getColTitle(col) {
37
+ if (!col) {
38
+ return;
39
+ }
40
+ var checkTitle = function checkTitle() {
41
+ if (col.Header().props.children.props && col.Header().props.children.props.title) {
42
+ return col.Header().props.children.props.title;
43
+ }
44
+ return getNestedTitle(col.Header().props.children.props);
45
+ };
46
+ return typeof (col === null || col === void 0 ? void 0 : col.Header) === 'function' ? checkTitle() : col.Header.props.title;
47
+ };
26
48
  return /*#__PURE__*/React.createElement(React.Fragment, null, columns
27
49
  // hide the columns without Header, e.g the sticky actions, spacer
28
50
  .filter(function (colDef) {
29
- var _colDef$Header$props$, _colDef$Header$props;
30
- var sortableTitle = isTableSortable && ((_colDef$Header$props$ = colDef.Header().props.children.props) === null || _colDef$Header$props$ === void 0 ? void 0 : _colDef$Header$props$.title);
31
- return !!colDef.Header.props && !!((_colDef$Header$props = colDef.Header.props) !== null && _colDef$Header$props !== void 0 && _colDef$Header$props.title) || isTableSortable && !!sortableTitle;
32
- }).filter(function (colDef) {
51
+ return !!getColTitle(colDef);
52
+ }).filter(Boolean).filter(function (colDef) {
33
53
  return !colDef.isAction;
34
54
  }).filter(function (colDef) {
35
- var _colDef$Header$props$2, _colDef$Header$props2, _colDef$Header$props3;
36
- var sortableTitle = isTableSortable && ((_colDef$Header$props$2 = colDef.Header().props.children.props) === null || _colDef$Header$props$2 === void 0 ? void 0 : _colDef$Header$props$2.title);
37
- return filterString.length === 0 || (isTableSortable ? sortableTitle === null || sortableTitle === void 0 ? void 0 : sortableTitle.toLowerCase().includes(filterString) : (_colDef$Header$props2 = colDef.Header.props) === null || _colDef$Header$props2 === void 0 ? void 0 : (_colDef$Header$props3 = _colDef$Header$props2.title) === null || _colDef$Header$props3 === void 0 ? void 0 : _colDef$Header$props3.toLowerCase().includes(filterString)) && colDef.id !== 'spacer';
55
+ var _getColTitle;
56
+ return filterString.length === 0 || ((_getColTitle = getColTitle(colDef)) === null || _getColTitle === void 0 ? void 0 : _getColTitle.toLowerCase().includes(filterString)) && colDef.id !== 'spacer';
38
57
  }).map(function (colDef, i) {
39
- var _colDef$Header$props$3, _colDef$Header$props4, _colDef$Header$props5, _colDef$Header$props6, _colDef$Header$props7;
40
- var isSortableColumn = !!colDef.canSort && !!isTableSortable;
41
- var sortableTitle = isTableSortable && ((_colDef$Header$props$3 = colDef.Header().props.children.props) === null || _colDef$Header$props$3 === void 0 ? void 0 : _colDef$Header$props$3.title);
58
+ var colHeaderTitle = getColTitle(colDef);
42
59
  var searchString = new RegExp('(' + filterString + ')');
43
- var res = filterString.length ? isSortableColumn ? sortableTitle.toLowerCase().split(searchString) : colDef.Header.props.title.toLowerCase().split(searchString) : null;
60
+ var res = filterString.length ? colHeaderTitle.toLowerCase().split(searchString) : null;
44
61
  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;
45
- var highlightedText = res !== null ? res[0] === '' ? "<strong>".concat(firstWord, "</strong>") + res[2] : firstWord + "<strong>".concat(res[1], "</strong>") + res[2] : isSortableColumn ? sortableTitle : (_colDef$Header$props4 = colDef.Header.props) === null || _colDef$Header$props4 === void 0 ? void 0 : _colDef$Header$props4.title;
62
+ var highlightedText = res !== null ? res[0] === '' ? "<strong>".concat(firstWord, "</strong>") + res[2] : firstWord + "<strong>".concat(res[1], "</strong>") + res[2] : colHeaderTitle;
46
63
  var isFrozenColumn = !!colDef.sticky;
47
64
  var listContents = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Checkbox, {
48
65
  wrapperClassName: "".concat(blockClass, "__customize-columns-checkbox-wrapper"),
@@ -50,8 +67,8 @@ export var DraggableItemsList = function DraggableItemsList(_ref) {
50
67
  disabled: isFrozenColumn,
51
68
  onChange: onSelectColumn.bind(null, colDef),
52
69
  id: "".concat(blockClass, "__customization-column-").concat(colDef.id),
53
- labelText: isSortableColumn ? sortableTitle : (_colDef$Header$props5 = colDef.Header.props) === null || _colDef$Header$props5 === void 0 ? void 0 : _colDef$Header$props5.title,
54
- title: isSortableColumn ? sortableTitle : (_colDef$Header$props6 = colDef.Header.props) === null || _colDef$Header$props6 === void 0 ? void 0 : _colDef$Header$props6.title,
70
+ labelText: colHeaderTitle,
71
+ title: colHeaderTitle,
55
72
  className: "".concat(blockClass, "__customize-columns-checkbox"),
56
73
  hideLabel: true
57
74
  }), /*#__PURE__*/React.createElement("div", {
@@ -67,7 +84,7 @@ export var DraggableItemsList = function DraggableItemsList(_ref) {
67
84
  id: "dnd-datagrid-columns-".concat(colDef.id),
68
85
  type: "column-customization",
69
86
  disabled: filterString.length > 0 || isFrozenColumn,
70
- ariaLabel: isSortableColumn ? sortableTitle : (_colDef$Header$props7 = colDef.Header.props) === null || _colDef$Header$props7 === void 0 ? void 0 : _colDef$Header$props7.title,
87
+ ariaLabel: colHeaderTitle,
71
88
  onGrab: setAriaRegionText,
72
89
  isFocused: focusIndex === i,
73
90
  moveElement: moveElement,
@@ -96,7 +113,6 @@ DraggableItemsList.propTypes = {
96
113
  filterString: PropTypes.string.isRequired,
97
114
  focusIndex: PropTypes.number.isRequired,
98
115
  getNextIndex: PropTypes.func.isRequired,
99
- isTableSortable: PropTypes.bool,
100
116
  moveElement: PropTypes.func.isRequired,
101
117
  onSelectColumn: PropTypes.func.isRequired,
102
118
  setAriaRegionText: PropTypes.func.isRequired,
@@ -21,7 +21,6 @@ var TearsheetWrapper = function TearsheetWrapper(_ref) {
21
21
  rest = _objectWithoutProperties(_instance$customizeCo, _excluded);
22
22
  return /*#__PURE__*/React.createElement(CustomizeColumnsTearsheet, _extends({}, rest, labels, {
23
23
  isOpen: isTearsheetOpen,
24
- isTableSortable: instance === null || instance === void 0 ? void 0 : instance.isTableSortable,
25
24
  setIsTearsheetOpen: setIsTearsheetOpen,
26
25
  columnDefinitions: instance.allColumns,
27
26
  originalColumnDefinitions: instance.columns,
@@ -24,7 +24,8 @@ var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
24
24
  var HeaderRenderer = function HeaderRenderer(header) {
25
25
  return /*#__PURE__*/React.createElement("div", {
26
26
  className: "".concat(blockClass, "__defaultStringRenderer"),
27
- title: typeof header === 'string' ? header : ''
27
+ title: typeof header === 'string' ? header : '',
28
+ key: typeof header === 'string' ? header : ''
28
29
  }, header);
29
30
  };
30
31
  var visibleColumns = function visibleColumns(columns) {
@@ -24,8 +24,12 @@ var getAriaSortValue = function getAriaSortValue(col, _ref) {
24
24
  var ascendingSortableLabelText = _ref.ascendingSortableLabelText,
25
25
  descendingSortableLabelText = _ref.descendingSortableLabelText,
26
26
  defaultSortableLabelText = _ref.defaultSortableLabelText;
27
- var isSorted = col.isSorted,
28
- isSortedDesc = col.isSortedDesc;
27
+ if (!col) {
28
+ return;
29
+ }
30
+ var _ref2 = col || {},
31
+ isSorted = _ref2.isSorted,
32
+ isSortedDesc = _ref2.isSortedDesc;
29
33
  if (!isSorted) {
30
34
  return defaultSortableLabelText || 'none';
31
35
  }
@@ -37,9 +41,9 @@ var getAriaSortValue = function getAriaSortValue(col, _ref) {
37
41
  }
38
42
  };
39
43
  var useSortableColumns = function useSortableColumns(hooks) {
40
- var sortableVisibleColumns = function sortableVisibleColumns(visibleColumns, _ref2) {
44
+ var sortableVisibleColumns = function sortableVisibleColumns(visibleColumns, _ref3) {
41
45
  var _instance$customizeCo;
42
- var instance = _ref2.instance;
46
+ var instance = _ref3.instance;
43
47
  var onSort = instance.onSort,
44
48
  ascendingSortableLabelText = instance.ascendingSortableLabelText,
45
49
  descendingSortableLabelText = instance.descendingSortableLabelText,
@@ -109,7 +109,7 @@ var makeMatcherArray = function makeMatcherArray(args) {
109
109
  * A helper function to enable a test to expect a single call to
110
110
  * console.warn, for example when intentionally using a deprecated prop
111
111
  * or supplying invalid parameters for the purposes of the test.
112
- * @param {string|regex|function|[]} message the expected parameters for the call to
112
+ * @param {string|regex|Function|[]} message the expected parameters for the call to
113
113
  * console.warn, which must be called exactly once. A single string or regex or an
114
114
  * expect matcher can be used to match a single-argument call to console.warn (most common),
115
115
  * while an array of strings and/or regex and/or expect matchers can be used to match a
@@ -194,7 +194,7 @@ var checkLogging = function checkLogging(mock, message) {
194
194
  * A helper function to enable a test to expect a single call to
195
195
  * console.error, for example when intentionally omitting a required prop
196
196
  * or supplying an invalid prop type or value for the purposes of the test.
197
- * @param {errors: {string|regex|function|[]}, warnings: {string|regex|function|[]}} messages the expected parameters for the call to
197
+ * @param {errors: {string|regex|Function|[]}, warnings: {string|regex|Function|[]}} messages the expected parameters for the call to
198
198
  * console.error or console.warn, which must be called exactly once. A single string or regex or an
199
199
  * expect matcher can be used to match a single-argument call to console.error (most common),
200
200
  * while an array of strings and/or regex and/or expect matchers can be used to match a
@@ -220,7 +220,7 @@ export var expectLogging = function expectLogging(_ref2, test) {
220
220
  * A helper function to enable a test to expect a single call to
221
221
  * console.error, for example when intentionally omitting a required prop
222
222
  * or supplying an invalid prop type or value for the purposes of the test.
223
- * @param {string|regex|function|[]} message the expected parameters for the call to
223
+ * @param {string|regex|Function|[]} message the expected parameters for the call to
224
224
  * console.error, which must be called exactly once. A single string or regex or an
225
225
  * expect matcher can be used to match a single-argument call to console.error (most common),
226
226
  * while an array of strings and/or regex and/or expect matchers can be used to match a
@@ -42,8 +42,7 @@ var Columns = function Columns(_ref) {
42
42
  onSelectColumn = _ref.onSelectColumn,
43
43
  assistiveTextInstructionsLabel = _ref.assistiveTextInstructionsLabel,
44
44
  assistiveTextDisabledInstructionsLabel = _ref.assistiveTextDisabledInstructionsLabel,
45
- selectAllLabel = _ref.selectAllLabel,
46
- isTableSortable = _ref.isTableSortable;
45
+ selectAllLabel = _ref.selectAllLabel;
47
46
  var _React$useState = _react.default.useState(''),
48
47
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
49
48
  ariaRegionText = _React$useState2[0],
@@ -99,7 +98,6 @@ var Columns = function Columns(_ref) {
99
98
  filterString: filterString,
100
99
  focusIndex: focusIndex,
101
100
  getNextIndex: getNextIndex,
102
- isTableSortable: isTableSortable,
103
101
  moveElement: moveElement,
104
102
  onSelectColumn: onSelectColumn,
105
103
  setAriaRegionText: setAriaRegionText,
@@ -115,7 +113,6 @@ Columns.propTypes = {
115
113
  filterString: _propTypes.default.string.isRequired,
116
114
  getVisibleColumnsCount: _propTypes.default.func.isRequired,
117
115
  instructionsLabel: _propTypes.default.string,
118
- isTableSortable: _propTypes.default.bool.isRequired,
119
116
  onSelectColumn: _propTypes.default.func.isRequired,
120
117
  selectAllLabel: _propTypes.default.string,
121
118
  setColumnStatus: _propTypes.default.func,
@@ -43,8 +43,7 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
43
43
  _ref$assistiveTextDis = _ref.assistiveTextDisabledInstructionsLabel,
44
44
  assistiveTextDisabledInstructionsLabel = _ref$assistiveTextDis === void 0 ? 'Reordering columns are disabled because they are filtered currently.' : _ref$assistiveTextDis,
45
45
  _ref$selectAllLabel = _ref.selectAllLabel,
46
- selectAllLabel = _ref$selectAllLabel === void 0 ? 'Column name' : _ref$selectAllLabel,
47
- isTableSortable = _ref.isTableSortable;
46
+ selectAllLabel = _ref$selectAllLabel === void 0 ? 'Column name' : _ref$selectAllLabel;
48
47
  var _useState = (0, _react.useState)(''),
49
48
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
50
49
  visibleColumnsCount = _useState2[0],
@@ -154,8 +153,7 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
154
153
  setColumnObjects(cols);
155
154
  setDirty();
156
155
  },
157
- selectAllLabel: selectAllLabel,
158
- isTableSortable: isTableSortable
156
+ selectAllLabel: selectAllLabel
159
157
  }));
160
158
  };
161
159
  CustomizeColumnsTearsheet.propTypes = {
@@ -166,7 +164,6 @@ CustomizeColumnsTearsheet.propTypes = {
166
164
  findColumnPlaceholderLabel: _propTypes.default.string,
167
165
  instructionsLabel: _propTypes.default.string,
168
166
  isOpen: _propTypes.default.bool.isRequired,
169
- isTableSortable: _propTypes.default.bool.isRequired,
170
167
  onSaveColumnPrefs: _propTypes.default.func.isRequired,
171
168
  originalColumnDefinitions: _propTypes.default.array.isRequired,
172
169
  primaryButtonTextLabel: _propTypes.default.string,
@@ -24,32 +24,49 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
24
24
  filterString = _ref.filterString,
25
25
  focusIndex = _ref.focusIndex,
26
26
  getNextIndex = _ref.getNextIndex,
27
- isTableSortable = _ref.isTableSortable,
28
27
  moveElement = _ref.moveElement,
29
28
  onSelectColumn = _ref.onSelectColumn,
30
29
  setAriaRegionText = _ref.setAriaRegionText,
31
30
  setColumnsObject = _ref.setColumnsObject,
32
31
  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
+ };
33
55
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, columns
34
56
  // hide the columns without Header, e.g the sticky actions, spacer
35
57
  .filter(function (colDef) {
36
- var _colDef$Header$props$, _colDef$Header$props;
37
- var sortableTitle = isTableSortable && ((_colDef$Header$props$ = colDef.Header().props.children.props) === null || _colDef$Header$props$ === void 0 ? void 0 : _colDef$Header$props$.title);
38
- return !!colDef.Header.props && !!((_colDef$Header$props = colDef.Header.props) !== null && _colDef$Header$props !== void 0 && _colDef$Header$props.title) || isTableSortable && !!sortableTitle;
39
- }).filter(function (colDef) {
58
+ return !!getColTitle(colDef);
59
+ }).filter(Boolean).filter(function (colDef) {
40
60
  return !colDef.isAction;
41
61
  }).filter(function (colDef) {
42
- var _colDef$Header$props$2, _colDef$Header$props2, _colDef$Header$props3;
43
- var sortableTitle = isTableSortable && ((_colDef$Header$props$2 = colDef.Header().props.children.props) === null || _colDef$Header$props$2 === void 0 ? void 0 : _colDef$Header$props$2.title);
44
- return filterString.length === 0 || (isTableSortable ? sortableTitle === null || sortableTitle === void 0 ? void 0 : sortableTitle.toLowerCase().includes(filterString) : (_colDef$Header$props2 = colDef.Header.props) === null || _colDef$Header$props2 === void 0 ? void 0 : (_colDef$Header$props3 = _colDef$Header$props2.title) === null || _colDef$Header$props3 === void 0 ? void 0 : _colDef$Header$props3.toLowerCase().includes(filterString)) && colDef.id !== 'spacer';
62
+ var _getColTitle;
63
+ return filterString.length === 0 || ((_getColTitle = getColTitle(colDef)) === null || _getColTitle === void 0 ? void 0 : _getColTitle.toLowerCase().includes(filterString)) && colDef.id !== 'spacer';
45
64
  }).map(function (colDef, i) {
46
- var _colDef$Header$props$3, _colDef$Header$props4, _colDef$Header$props5, _colDef$Header$props6, _colDef$Header$props7;
47
- var isSortableColumn = !!colDef.canSort && !!isTableSortable;
48
- var sortableTitle = isTableSortable && ((_colDef$Header$props$3 = colDef.Header().props.children.props) === null || _colDef$Header$props$3 === void 0 ? void 0 : _colDef$Header$props$3.title);
65
+ var colHeaderTitle = getColTitle(colDef);
49
66
  var searchString = new RegExp('(' + filterString + ')');
50
- var res = filterString.length ? isSortableColumn ? sortableTitle.toLowerCase().split(searchString) : colDef.Header.props.title.toLowerCase().split(searchString) : null;
67
+ var res = filterString.length ? colHeaderTitle.toLowerCase().split(searchString) : null;
51
68
  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;
52
- var highlightedText = res !== null ? res[0] === '' ? "<strong>".concat(firstWord, "</strong>") + res[2] : firstWord + "<strong>".concat(res[1], "</strong>") + res[2] : isSortableColumn ? sortableTitle : (_colDef$Header$props4 = colDef.Header.props) === null || _colDef$Header$props4 === void 0 ? void 0 : _colDef$Header$props4.title;
69
+ var highlightedText = res !== null ? res[0] === '' ? "<strong>".concat(firstWord, "</strong>") + res[2] : firstWord + "<strong>".concat(res[1], "</strong>") + res[2] : colHeaderTitle;
53
70
  var isFrozenColumn = !!colDef.sticky;
54
71
  var listContents = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Checkbox, {
55
72
  wrapperClassName: "".concat(blockClass, "__customize-columns-checkbox-wrapper"),
@@ -57,8 +74,8 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
57
74
  disabled: isFrozenColumn,
58
75
  onChange: onSelectColumn.bind(null, colDef),
59
76
  id: "".concat(blockClass, "__customization-column-").concat(colDef.id),
60
- labelText: isSortableColumn ? sortableTitle : (_colDef$Header$props5 = colDef.Header.props) === null || _colDef$Header$props5 === void 0 ? void 0 : _colDef$Header$props5.title,
61
- title: isSortableColumn ? sortableTitle : (_colDef$Header$props6 = colDef.Header.props) === null || _colDef$Header$props6 === void 0 ? void 0 : _colDef$Header$props6.title,
77
+ labelText: colHeaderTitle,
78
+ title: colHeaderTitle,
62
79
  className: "".concat(blockClass, "__customize-columns-checkbox"),
63
80
  hideLabel: true
64
81
  }), /*#__PURE__*/_react.default.createElement("div", {
@@ -74,7 +91,7 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
74
91
  id: "dnd-datagrid-columns-".concat(colDef.id),
75
92
  type: "column-customization",
76
93
  disabled: filterString.length > 0 || isFrozenColumn,
77
- ariaLabel: isSortableColumn ? sortableTitle : (_colDef$Header$props7 = colDef.Header.props) === null || _colDef$Header$props7 === void 0 ? void 0 : _colDef$Header$props7.title,
94
+ ariaLabel: colHeaderTitle,
78
95
  onGrab: setAriaRegionText,
79
96
  isFocused: focusIndex === i,
80
97
  moveElement: moveElement,
@@ -104,7 +121,6 @@ DraggableItemsList.propTypes = {
104
121
  filterString: _propTypes.PropTypes.string.isRequired,
105
122
  focusIndex: _propTypes.PropTypes.number.isRequired,
106
123
  getNextIndex: _propTypes.PropTypes.func.isRequired,
107
- isTableSortable: _propTypes.PropTypes.bool,
108
124
  moveElement: _propTypes.PropTypes.func.isRequired,
109
125
  onSelectColumn: _propTypes.PropTypes.func.isRequired,
110
126
  setAriaRegionText: _propTypes.PropTypes.func.isRequired,
@@ -24,7 +24,6 @@ var TearsheetWrapper = function TearsheetWrapper(_ref) {
24
24
  rest = (0, _objectWithoutProperties2.default)(_instance$customizeCo, _excluded);
25
25
  return /*#__PURE__*/React.createElement(_CustomizeColumnsTearsheet.default, (0, _extends2.default)({}, rest, labels, {
26
26
  isOpen: isTearsheetOpen,
27
- isTableSortable: instance === null || instance === void 0 ? void 0 : instance.isTableSortable,
28
27
  setIsTearsheetOpen: setIsTearsheetOpen,
29
28
  columnDefinitions: instance.allColumns,
30
29
  originalColumnDefinitions: instance.columns,
@@ -24,7 +24,8 @@ var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
24
24
  var HeaderRenderer = function HeaderRenderer(header) {
25
25
  return /*#__PURE__*/_react.default.createElement("div", {
26
26
  className: "".concat(blockClass, "__defaultStringRenderer"),
27
- title: typeof header === 'string' ? header : ''
27
+ title: typeof header === 'string' ? header : '',
28
+ key: typeof header === 'string' ? header : ''
28
29
  }, header);
29
30
  };
30
31
  var visibleColumns = function visibleColumns(columns) {
@@ -24,8 +24,12 @@ var getAriaSortValue = function getAriaSortValue(col, _ref) {
24
24
  var ascendingSortableLabelText = _ref.ascendingSortableLabelText,
25
25
  descendingSortableLabelText = _ref.descendingSortableLabelText,
26
26
  defaultSortableLabelText = _ref.defaultSortableLabelText;
27
- var isSorted = col.isSorted,
28
- isSortedDesc = col.isSortedDesc;
27
+ if (!col) {
28
+ return;
29
+ }
30
+ var _ref2 = col || {},
31
+ isSorted = _ref2.isSorted,
32
+ isSortedDesc = _ref2.isSortedDesc;
29
33
  if (!isSorted) {
30
34
  return defaultSortableLabelText || 'none';
31
35
  }
@@ -37,9 +41,9 @@ var getAriaSortValue = function getAriaSortValue(col, _ref) {
37
41
  }
38
42
  };
39
43
  var useSortableColumns = function useSortableColumns(hooks) {
40
- var sortableVisibleColumns = function sortableVisibleColumns(visibleColumns, _ref2) {
44
+ var sortableVisibleColumns = function sortableVisibleColumns(visibleColumns, _ref3) {
41
45
  var _instance$customizeCo;
42
- var instance = _ref2.instance;
46
+ var instance = _ref3.instance;
43
47
  var onSort = instance.onSort,
44
48
  ascendingSortableLabelText = instance.ascendingSortableLabelText,
45
49
  descendingSortableLabelText = instance.descendingSortableLabelText,
@@ -119,7 +119,7 @@ var makeMatcherArray = function makeMatcherArray(args) {
119
119
  * A helper function to enable a test to expect a single call to
120
120
  * console.warn, for example when intentionally using a deprecated prop
121
121
  * or supplying invalid parameters for the purposes of the test.
122
- * @param {string|regex|function|[]} message the expected parameters for the call to
122
+ * @param {string|regex|Function|[]} message the expected parameters for the call to
123
123
  * console.warn, which must be called exactly once. A single string or regex or an
124
124
  * expect matcher can be used to match a single-argument call to console.warn (most common),
125
125
  * while an array of strings and/or regex and/or expect matchers can be used to match a
@@ -207,7 +207,7 @@ var checkLogging = function checkLogging(mock, message) {
207
207
  * A helper function to enable a test to expect a single call to
208
208
  * console.error, for example when intentionally omitting a required prop
209
209
  * or supplying an invalid prop type or value for the purposes of the test.
210
- * @param {errors: {string|regex|function|[]}, warnings: {string|regex|function|[]}} messages the expected parameters for the call to
210
+ * @param {errors: {string|regex|Function|[]}, warnings: {string|regex|Function|[]}} messages the expected parameters for the call to
211
211
  * console.error or console.warn, which must be called exactly once. A single string or regex or an
212
212
  * expect matcher can be used to match a single-argument call to console.error (most common),
213
213
  * while an array of strings and/or regex and/or expect matchers can be used to match a
@@ -233,7 +233,7 @@ var expectLogging = function expectLogging(_ref2, test) {
233
233
  * A helper function to enable a test to expect a single call to
234
234
  * console.error, for example when intentionally omitting a required prop
235
235
  * or supplying an invalid prop type or value for the purposes of the test.
236
- * @param {string|regex|function|[]} message the expected parameters for the call to
236
+ * @param {string|regex|Function|[]} message the expected parameters for the call to
237
237
  * console.error, which must be called exactly once. A single string or regex or an
238
238
  * expect matcher can be used to match a single-argument call to console.error (most common),
239
239
  * while an array of strings and/or regex and/or expect matchers can be used to match a
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.55.0",
4
+ "version": "1.55.2",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -76,6 +76,7 @@
76
76
  "framer-motion": "^6.5.1 <7",
77
77
  "immutability-helper": "^3.1.1",
78
78
  "lodash": "^4.17.21",
79
+ "lottie-web": "^5.11.0",
79
80
  "react-dnd": "^15.1.2",
80
81
  "react-dnd-html5-backend": "^15.1.3",
81
82
  "react-table": "^7.8.0",
@@ -83,17 +84,17 @@
83
84
  },
84
85
  "peerDependencies": {
85
86
  "@carbon/colors": "^10.37.1",
86
- "@carbon/icons-react": "^10.49.0",
87
+ "@carbon/icons-react": "^10.49.1",
87
88
  "@carbon/import-once": "^10.7.0",
88
89
  "@carbon/layout": "^10.37.1",
89
- "@carbon/motion": "^10.29.0",
90
- "@carbon/themes": "^10.55.1",
91
- "@carbon/type": "^10.45.1",
92
- "carbon-components": "^10.58.7",
93
- "carbon-components-react": "^7.59.8",
90
+ "@carbon/motion": "^10.29.1",
91
+ "@carbon/themes": "^10.55.2",
92
+ "@carbon/type": "^10.45.2",
93
+ "carbon-components": "^10.58.8",
94
+ "carbon-components-react": "^7.59.9",
94
95
  "carbon-icons": "^7.0.7",
95
96
  "react": "^16.8.6 || ^17.0.1",
96
97
  "react-dom": "^16.8.6 || ^17.0.1"
97
98
  },
98
- "gitHead": "4a7110b38042c4dabcddc49901ce68169dd7f18b"
99
+ "gitHead": "33f2fa8f015f9d04c83142badc07c9f0905130c8"
99
100
  }
@@ -1,19 +1,19 @@
1
- /*
2
- * Licensed Materials - Property of IBM
3
- * 5724-Q36
4
- * (c) Copyright IBM Corp. 2020
5
- * US Government Users Restricted Rights - Use, duplication or disclosure
6
- * restricted by GSA ADP Schedule Contract with IBM Corp.
7
- */
1
+ //
2
+ // Copyright IBM Corp. 2020, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
8
7
 
9
8
  @import './variables';
10
9
 
11
- .#{$block-class}__center-align-header {
10
+ .#{$block-class}__center-align-header,
11
+ .#{$block-class}__center-align-header .#{$block-class}--table-sort {
12
12
  width: 100%;
13
13
  text-align: center;
14
14
  }
15
15
 
16
- .#{$block-class}__center-align-cell-renderer.sortDisabled {
16
+ .#{$block-class}__center-align-cell-renderer {
17
17
  margin-right: auto;
18
18
  margin-left: auto;
19
19
  }