@carbon/ibm-products 2.6.0 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. package/css/index-full-carbon.css +6291 -5856
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +3 -3
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +21 -21
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +2 -2
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +1259 -193
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +3 -3
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +3674 -3623
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +3 -3
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/CreateTearsheet/CreateTearsheet.js +30 -14
  18. package/es/components/CreateTearsheet/CreateTearsheetStep.js +10 -4
  19. package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +3 -0
  20. package/es/components/Datagrid/Datagrid/Datagrid.js +12 -7
  21. package/es/components/Datagrid/Datagrid/DatagridContent.js +18 -14
  22. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +12 -1
  23. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +1 -4
  24. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +2 -5
  25. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +11 -17
  26. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +0 -1
  27. package/es/components/Datagrid/useDefaultStringRenderer.js +2 -1
  28. package/es/components/Datagrid/useSortableColumns.js +13 -5
  29. package/es/components/Datagrid/utils/getColTitle.js +25 -0
  30. package/es/components/NotificationsPanel/NotificationsPanel.js +5 -5
  31. package/es/components/OptionsTile/OptionsTile.js +2 -4
  32. package/es/global/js/hooks/useCreateComponentStepChange.js +98 -49
  33. package/es/global/js/hooks/useResizeObserver.js +15 -1
  34. package/es/global/js/hooks/useRetrieveStepData.js +1 -1
  35. package/es/global/js/utils/StoryDocsPage.js +0 -1
  36. package/lib/components/CreateTearsheet/CreateTearsheet.js +30 -14
  37. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +10 -4
  38. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +3 -0
  39. package/lib/components/Datagrid/Datagrid/Datagrid.js +12 -7
  40. package/lib/components/Datagrid/Datagrid/DatagridContent.js +17 -13
  41. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +12 -1
  42. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +1 -4
  43. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +2 -5
  44. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +11 -17
  45. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +0 -1
  46. package/lib/components/Datagrid/useDefaultStringRenderer.js +2 -1
  47. package/lib/components/Datagrid/useSortableColumns.js +13 -5
  48. package/lib/components/Datagrid/utils/getColTitle.js +32 -0
  49. package/lib/components/NotificationsPanel/NotificationsPanel.js +5 -5
  50. package/lib/components/OptionsTile/OptionsTile.js +2 -4
  51. package/lib/global/js/hooks/useCreateComponentStepChange.js +98 -49
  52. package/lib/global/js/hooks/useResizeObserver.js +15 -1
  53. package/lib/global/js/hooks/useRetrieveStepData.js +1 -1
  54. package/lib/global/js/utils/StoryDocsPage.js +0 -1
  55. package/package.json +9 -9
  56. package/scss/components/Datagrid/styles/_useColumnCenterAlign.scss +9 -9
@@ -1,6 +1,6 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
2
  /**
3
- * Copyright IBM Corp. 2022, 2022
3
+ * Copyright IBM Corp. 2022, 2023
4
4
  *
5
5
  * This source code is licensed under the Apache-2.0 license found in the
6
6
  * LICENSE file in the root directory of this source tree.
@@ -83,7 +83,6 @@ export var StoryDocsPage = function StoryDocsPage(_ref2) {
83
83
  var isFullScreen = (csfFile === null || csfFile === void 0 || (_csfFile$meta = csfFile.meta) === null || _csfFile$meta === void 0 || (_csfFile$meta = _csfFile$meta.parameters) === null || _csfFile$meta === void 0 ? void 0 : _csfFile$meta.layout) === 'fullscreen' || false;
84
84
  var storyHelperClass = isFullScreen ? 'c4p--story-docs-page--fullscreen' : '';
85
85
  var processedBlocks = processBlocks(blocks, csfFile.stories, omitUnreferencedStories);
86
- console.log(processBlocks);
87
86
  var storyCount = (_processedBlocks$filt = processedBlocks === null || processedBlocks === void 0 ? void 0 : processedBlocks.filter(function (block) {
88
87
  return !!block.story;
89
88
  }).length) !== null && _processedBlocks$filt !== void 0 ? _processedBlocks$filt : 0;
@@ -89,26 +89,34 @@ var CreateTearsheet = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
89
89
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
90
90
  isDisabled = _useState10[0],
91
91
  setIsDisabled = _useState10[1];
92
- var _useState11 = (0, _react.useState)(),
92
+ var _useState11 = (0, _react.useState)(false),
93
93
  _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
94
- onNext = _useState12[0],
95
- _setOnNext = _useState12[1];
94
+ loadingPrevious = _useState12[0],
95
+ setLoadingPrevious = _useState12[1];
96
96
  var _useState13 = (0, _react.useState)(),
97
97
  _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
98
- onMount = _useState14[0],
99
- _setOnMount = _useState14[1];
100
- var _useState15 = (0, _react.useState)([]),
98
+ onPrevious = _useState14[0],
99
+ _setOnPrevious = _useState14[1];
100
+ var _useState15 = (0, _react.useState)(),
101
101
  _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
102
- stepData = _useState16[0],
103
- setStepData = _useState16[1];
104
- var _useState17 = (0, _react.useState)(1),
102
+ onNext = _useState16[0],
103
+ _setOnNext = _useState16[1];
104
+ var _useState17 = (0, _react.useState)(),
105
105
  _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
106
- firstIncludedStep = _useState18[0],
107
- setFirstIncludedStep = _useState18[1];
108
- var _useState19 = (0, _react.useState)(null),
106
+ onMount = _useState18[0],
107
+ _setOnMount = _useState18[1];
108
+ var _useState19 = (0, _react.useState)([]),
109
109
  _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
110
- lastIncludedStep = _useState20[0],
111
- setLastIncludedStep = _useState20[1];
110
+ stepData = _useState20[0],
111
+ setStepData = _useState20[1];
112
+ var _useState21 = (0, _react.useState)(1),
113
+ _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
114
+ firstIncludedStep = _useState22[0],
115
+ setFirstIncludedStep = _useState22[1];
116
+ var _useState23 = (0, _react.useState)(null),
117
+ _useState24 = (0, _slicedToArray2.default)(_useState23, 2),
118
+ lastIncludedStep = _useState24[0],
119
+ setLastIncludedStep = _useState24[1];
112
120
  var previousState = (0, _hooks.usePreviousValue)({
113
121
  currentStep: currentStep,
114
122
  open: open
@@ -152,11 +160,14 @@ var CreateTearsheet = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
152
160
  firstIncludedStep: firstIncludedStep,
153
161
  lastIncludedStep: lastIncludedStep,
154
162
  stepData: stepData,
163
+ onPrevious: onPrevious,
155
164
  onNext: onNext,
156
165
  isSubmitDisabled: isDisabled,
157
166
  setCurrentStep: setCurrentStep,
158
167
  setIsSubmitting: setIsSubmitting,
159
168
  setShouldViewAll: setShouldViewAll,
169
+ setLoadingPrevious: setLoadingPrevious,
170
+ loadingPrevious: loadingPrevious,
160
171
  onClose: onClose,
161
172
  onRequestSubmit: onRequestSubmit,
162
173
  componentName: componentName,
@@ -213,6 +224,11 @@ var CreateTearsheet = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
213
224
  value: {
214
225
  currentStep: currentStep,
215
226
  setIsDisabled: setIsDisabled,
227
+ setOnPrevious: function setOnPrevious(fn) {
228
+ return _setOnPrevious(function () {
229
+ return fn;
230
+ });
231
+ },
216
232
  setOnNext: function setOnNext(fn) {
217
233
  return _setOnNext(function () {
218
234
  return fn;
@@ -18,7 +18,7 @@ var _CreateTearsheet = require("./CreateTearsheet");
18
18
  var _settings = require("../../settings");
19
19
  var _pconsole = _interopRequireDefault(require("../../global/js/utils/pconsole"));
20
20
  var _hooks = require("../../global/js/hooks");
21
- var _excluded = ["children", "className", "description", "disableSubmit", "fieldsetLegendText", "hasFieldset", "includeStep", "introStep", "onNext", "onMount", "secondaryLabel", "subtitle", "title"];
21
+ var _excluded = ["children", "className", "description", "disableSubmit", "fieldsetLegendText", "hasFieldset", "includeStep", "introStep", "onMount", "onNext", "onPrevious", "secondaryLabel", "subtitle", "title"];
22
22
  /**
23
23
  * Copyright IBM Corp. 2021, 2023
24
24
  *
@@ -47,8 +47,9 @@ var CreateTearsheetStep = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, re
47
47
  _ref$includeStep = _ref.includeStep,
48
48
  includeStep = _ref$includeStep === void 0 ? defaults.includeStep : _ref$includeStep,
49
49
  introStep = _ref.introStep,
50
- onNext = _ref.onNext,
51
50
  onMount = _ref.onMount,
51
+ onNext = _ref.onNext,
52
+ onPrevious = _ref.onPrevious,
52
53
  secondaryLabel = _ref.secondaryLabel,
53
54
  subtitle = _ref.subtitle,
54
55
  title = _ref.title,
@@ -90,8 +91,9 @@ var CreateTearsheetStep = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, re
90
91
  if (stepNumber === (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep)) {
91
92
  stepsContext.setIsDisabled(disableSubmit);
92
93
  stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnNext(onNext); // needs to be updated here otherwise there could be stale state values from only initially setting onNext
94
+ stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnPrevious(onPrevious);
93
95
  }
94
- }, [stepsContext, stepNumber, disableSubmit, onNext]);
96
+ }, [stepsContext, stepNumber, disableSubmit, onNext, onPrevious]);
95
97
  var renderDescription = function renderDescription() {
96
98
  if (description) {
97
99
  if (typeof description === 'string') {
@@ -177,11 +179,15 @@ CreateTearsheetStep.propTypes = {
177
179
  */
178
180
  onMount: _propTypes.default.func,
179
181
  /**
180
- * Optional function to be called on a step change.
182
+ * Optional function to be called when you move to the next step.
181
183
  * For example, this can be used to validate input fields before proceeding to the next step.
182
184
  * This function can _optionally_ return a promise that is either resolved or rejected and the CreateTearsheet will handle the submitting state of the next button.
183
185
  */
184
186
  onNext: _propTypes.default.func,
187
+ /**
188
+ * Optional function to be called when you move to the previous step.
189
+ */
190
+ onPrevious: _propTypes.default.func,
185
191
  /**
186
192
  * Sets the optional secondary label on the progress step component
187
193
  */
@@ -223,6 +223,9 @@ var MultiStepTearsheet = function MultiStepTearsheet(_ref2) {
223
223
  },
224
224
  checked: shouldIncludeAdditionalStep
225
225
  })))), /*#__PURE__*/_react.default.createElement(_CreateTearsheetStep.CreateTearsheetStep, {
226
+ onPrevious: function onPrevious() {
227
+ console.log('custom onPrevious handler');
228
+ },
226
229
  title: "Dynamic step",
227
230
  subtitle: "Dynamic step subtitle",
228
231
  description: "This is an example showing how to include a dynamic step into the CreateTearsheet",
@@ -16,7 +16,7 @@ var _pconsole = _interopRequireDefault(require("../../../global/js/utils/pconsol
16
16
  var _InlineEditContext = require("./addons/InlineEdit/InlineEditContext");
17
17
  var _DatagridContent = require("./DatagridContent");
18
18
  var _FilterProvider = require("./addons/Filtering/FilterProvider");
19
- var _excluded = ["datagridState"];
19
+ var _excluded = ["datagridState", "title"];
20
20
  /**
21
21
  * Copyright IBM Corp. 2020, 2023
22
22
  *
@@ -31,6 +31,7 @@ var componentName = 'Datagrid';
31
31
  */
32
32
  var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
33
33
  var datagridState = _ref.datagridState,
34
+ title = _ref.title,
34
35
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
35
36
  if (!datagridState) {
36
37
  _pconsole.default.warn('Datagrid was not passed datagridState which is required to render this component.');
@@ -44,6 +45,10 @@ var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
44
45
  className = datagridState.className,
45
46
  filters = datagridState.state.filters;
46
47
  var rows = DatagridPagination && datagridState.page || datagridState.rows;
48
+ var props = {
49
+ title: title,
50
+ datagridState: datagridState
51
+ };
47
52
  return /*#__PURE__*/_react.default.createElement(_FilterProvider.FilterProvider, {
48
53
  filters: filters
49
54
  }, /*#__PURE__*/_react.default.createElement(_InlineEditContext.InlineEditProvider, null, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
@@ -52,11 +57,7 @@ var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
52
57
  className: (0, _classnames.default)(className, blockClass, withVirtualScroll ? "".concat(blockClass, "__datagridWrap") : "".concat(blockClass, "__datagridWrap-simple"), !isFetching && rows.length === 0 ? "".concat(blockClass, "__empty-state") : '')
53
58
  }, (0, _devtools.getDevtoolsProps)(componentName)), (filterProps === null || filterProps === void 0 ? void 0 : filterProps.variation) === 'panel' ? /*#__PURE__*/_react.default.createElement("div", {
54
59
  className: "".concat(blockClass, "__datagridWithPanel ").concat(blockClass, "__displayFlex")
55
- }, /*#__PURE__*/_react.default.createElement(_DatagridContent.DatagridContent, {
56
- datagridState: datagridState
57
- })) : /*#__PURE__*/_react.default.createElement(_DatagridContent.DatagridContent, {
58
- datagridState: datagridState
59
- }))));
60
+ }, /*#__PURE__*/_react.default.createElement(_DatagridContent.DatagridContent, props)) : /*#__PURE__*/_react.default.createElement(_DatagridContent.DatagridContent, props))));
60
61
  });
61
62
 
62
63
  // Return a placeholder if not released and not enabled by feature flag
@@ -70,5 +71,9 @@ Datagrid.propTypes = {
70
71
  /**
71
72
  * The data grid state, much of it being supplied by the useDatagrid hook
72
73
  */
73
- datagridState: _propTypes.default.object.isRequired
74
+ datagridState: _propTypes.default.object.isRequired,
75
+ /**
76
+ * Table title
77
+ */
78
+ title: _propTypes.default.string
74
79
  };
@@ -8,23 +8,23 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.DatagridContent = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _Filtering = require("./addons/Filtering");
11
12
  var _react = _interopRequireWildcard(require("react"));
12
- var _classnames = _interopRequireDefault(require("classnames"));
13
- var _propTypes = _interopRequireDefault(require("prop-types"));
14
13
  var _react2 = require("@carbon/react");
15
- var _layout = require("@carbon/layout");
16
- var _DatagridHead = _interopRequireDefault(require("./DatagridHead"));
14
+ var _settings = require("../../../settings");
15
+ var _constants = require("./addons/Filtering/constants");
17
16
  var _DatagridBody = _interopRequireDefault(require("./DatagridBody"));
17
+ var _DatagridHead = _interopRequireDefault(require("./DatagridHead"));
18
18
  var _DatagridToolbar = _interopRequireDefault(require("./DatagridToolbar"));
19
- var _handleGridKeyPress = require("./addons/InlineEdit/handleGridKeyPress");
20
- var _settings = require("../../../settings");
19
+ var _FilterSummary = require("../../FilterSummary");
21
20
  var _InlineEditContext = require("./addons/InlineEdit/InlineEditContext");
22
- var _Filtering = require("./addons/Filtering");
21
+ var _propTypes = _interopRequireDefault(require("prop-types"));
22
+ var _classnames = _interopRequireDefault(require("classnames"));
23
23
  var _handleGridFocus = require("./addons/InlineEdit/handleGridFocus");
24
+ var _handleGridKeyPress = require("./addons/InlineEdit/handleGridKeyPress");
25
+ var _layout = require("@carbon/layout");
24
26
  var _hooks = require("../../../global/js/hooks");
25
27
  var _hooks2 = require("../../DataSpreadsheet/hooks");
26
- var _FilterSummary = require("../../FilterSummary");
27
- var _constants = require("./addons/Filtering/constants");
28
28
  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); }
29
29
  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; }
30
30
  /**
@@ -37,7 +37,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
37
37
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
38
38
  var DatagridContent = function DatagridContent(_ref) {
39
39
  var _cx4;
40
- var datagridState = _ref.datagridState;
40
+ var datagridState = _ref.datagridState,
41
+ title = _ref.title;
41
42
  var _useContext = (0, _react.useContext)(_InlineEditContext.InlineEditContext),
42
43
  inlineEditState = _useContext.state,
43
44
  dispatch = _useContext.dispatch;
@@ -105,7 +106,8 @@ var DatagridContent = function DatagridContent(_ref) {
105
106
  } : null,
106
107
  onFocus: withInlineEdit ? function () {
107
108
  return (0, _handleGridFocus.handleGridFocus)(inlineEditState, dispatch);
108
- } : null
109
+ } : null,
110
+ title: title
109
111
  }), !withVirtualScroll ? /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState) : null, /*#__PURE__*/_react.default.createElement(_DatagridBody.default, (0, _extends2.default)({}, datagridState, {
110
112
  rows: rows
111
113
  })));
@@ -136,7 +138,8 @@ var DatagridContent = function DatagridContent(_ref) {
136
138
  filters: filterTags,
137
139
  clearFilters: function clearFilters() {
138
140
  return EventEmitter.dispatch(_constants.CLEAR_FILTERS);
139
- }
141
+ },
142
+ renderLabel: filterProps.renderLabel
140
143
  });
141
144
  };
142
145
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.TableContainer, {
@@ -188,5 +191,6 @@ DatagridContent.propTypes = {
188
191
  setAllFilters: _propTypes.default.func,
189
192
  getFilterProps: _propTypes.default.func,
190
193
  state: _propTypes.default.object
191
- })
194
+ }),
195
+ title: _propTypes.default.string
192
196
  };
@@ -12,6 +12,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
12
12
  var _react2 = require("@carbon/react");
13
13
  var _commonColumnIds = require("../common-column-ids");
14
14
  var _settings = require("../../../settings");
15
+ var _getColTitle = _interopRequireDefault(require("../utils/getColTitle"));
15
16
  /**
16
17
  * Copyright IBM Corp. 2020, 2022
17
18
  *
@@ -22,6 +23,16 @@ var _settings = require("../../../settings");
22
23
  // @flow
23
24
 
24
25
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
26
+ var getAccessibilityProps = function getAccessibilityProps(header) {
27
+ var props = {};
28
+ var title = (0, _getColTitle.default)(header);
29
+ if (title) {
30
+ props.title = title;
31
+ } else {
32
+ props['aria-hidden'] = true;
33
+ }
34
+ return props;
35
+ };
25
36
  var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
26
37
  return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps({
27
38
  role: false
@@ -44,7 +55,7 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
44
55
  }), {
45
56
  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
57
  key: header.id
47
- }), header.render('Header'), header.getResizerProps && /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, header.getResizerProps(), {
58
+ }, getAccessibilityProps(header)), header.render('Header'), header.getResizerProps && /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, header.getResizerProps(), {
48
59
  className: "".concat(blockClass, "__resizer")
49
60
  })));
50
61
  }));
@@ -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,
@@ -48,8 +48,7 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
48
48
  _ref$assistiveTextDis = _ref.assistiveTextDisabledInstructionsLabel,
49
49
  assistiveTextDisabledInstructionsLabel = _ref$assistiveTextDis === void 0 ? 'Reordering columns are disabled because they are filtered currently.' : _ref$assistiveTextDis,
50
50
  _ref$selectAllLabel = _ref.selectAllLabel,
51
- selectAllLabel = _ref$selectAllLabel === void 0 ? 'Column name' : _ref$selectAllLabel,
52
- isTableSortable = _ref.isTableSortable;
51
+ selectAllLabel = _ref$selectAllLabel === void 0 ? 'Column name' : _ref$selectAllLabel;
53
52
  var _useState = (0, _react.useState)(''),
54
53
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
55
54
  visibleColumnsCount = _useState2[0],
@@ -159,8 +158,7 @@ var CustomizeColumnsTearsheet = function CustomizeColumnsTearsheet(_ref) {
159
158
  setColumnObjects(cols);
160
159
  setDirty();
161
160
  },
162
- selectAllLabel: selectAllLabel,
163
- isTableSortable: isTableSortable
161
+ selectAllLabel: selectAllLabel
164
162
  }));
165
163
  };
166
164
  CustomizeColumnsTearsheet.propTypes = {
@@ -171,7 +169,6 @@ CustomizeColumnsTearsheet.propTypes = {
171
169
  findColumnPlaceholderLabel: _propTypes.default.string,
172
170
  instructionsLabel: _propTypes.default.string,
173
171
  isOpen: _propTypes.default.bool.isRequired,
174
- isTableSortable: _propTypes.default.bool.isRequired,
175
172
  onSaveColumnPrefs: _propTypes.default.func.isRequired,
176
173
  originalColumnDefinitions: _propTypes.default.array.isRequired,
177
174
  primaryButtonTextLabel: _propTypes.default.string,
@@ -11,6 +11,7 @@ var _react2 = require("@carbon/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
  *
@@ -24,7 +25,6 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
24
25
  filterString = _ref.filterString,
25
26
  focusIndex = _ref.focusIndex,
26
27
  getNextIndex = _ref.getNextIndex,
27
- isTableSortable = _ref.isTableSortable,
28
28
  moveElement = _ref.moveElement,
29
29
  onSelectColumn = _ref.onSelectColumn,
30
30
  setAriaRegionText = _ref.setAriaRegionText,
@@ -33,23 +33,18 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
33
33
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, columns
34
34
  // hide the columns without Header, e.g the sticky actions, spacer
35
35
  .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) {
36
+ return !!(0, _getColTitle2.default)(colDef);
37
+ }).filter(Boolean).filter(function (colDef) {
40
38
  return !colDef.isAction;
41
39
  }).filter(function (colDef) {
42
- var _colDef$Header$props$2, _colDef$Header$props2;
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 || (_colDef$Header$props2 = _colDef$Header$props2.title) === null || _colDef$Header$props2 === void 0 ? void 0 : _colDef$Header$props2.toLowerCase().includes(filterString)) && colDef.id !== 'spacer';
40
+ var _getColTitle;
41
+ return filterString.length === 0 || ((_getColTitle = (0, _getColTitle2.default)(colDef)) === null || _getColTitle === void 0 ? void 0 : _getColTitle.toLowerCase().includes(filterString)) && colDef.id !== 'spacer';
45
42
  }).map(function (colDef, i) {
46
- var _colDef$Header$props$3, _colDef$Header$props3, _colDef$Header$props4, _colDef$Header$props5, _colDef$Header$props6;
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);
43
+ var colHeaderTitle = (0, _getColTitle2.default)(colDef);
49
44
  var searchString = new RegExp('(' + filterString + ')');
50
- var res = filterString.length ? isSortableColumn ? sortableTitle.toLowerCase().split(searchString) : colDef.Header.props.title.toLowerCase().split(searchString) : null;
45
+ var res = filterString.length ? colHeaderTitle.toLowerCase().split(searchString) : null;
51
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;
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$props3 = colDef.Header.props) === null || _colDef$Header$props3 === void 0 ? void 0 : _colDef$Header$props3.title;
47
+ var highlightedText = res !== null ? res[0] === '' ? "<strong>".concat(firstWord, "</strong>") + res[2] : firstWord + "<strong>".concat(res[1], "</strong>") + res[2] : colHeaderTitle;
53
48
  var isFrozenColumn = !!colDef.sticky;
54
49
  var listContents = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.Checkbox, {
55
50
  wrapperClassName: "".concat(blockClass, "__customize-columns-checkbox-wrapper"),
@@ -60,8 +55,8 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
60
55
  return onSelectColumn(colDef, checked);
61
56
  },
62
57
  id: "".concat(blockClass, "__customization-column-").concat(colDef.id),
63
- labelText: isSortableColumn ? sortableTitle : (_colDef$Header$props4 = colDef.Header.props) === null || _colDef$Header$props4 === void 0 ? void 0 : _colDef$Header$props4.title,
64
- title: isSortableColumn ? sortableTitle : (_colDef$Header$props5 = colDef.Header.props) === null || _colDef$Header$props5 === void 0 ? void 0 : _colDef$Header$props5.title,
58
+ labelText: colHeaderTitle,
59
+ title: colHeaderTitle,
65
60
  className: "".concat(blockClass, "__customize-columns-checkbox"),
66
61
  hideLabel: true
67
62
  }), /*#__PURE__*/_react.default.createElement("div", {
@@ -78,7 +73,7 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
78
73
  id: "dnd-datagrid-columns-".concat(colDef.id),
79
74
  type: "column-customization",
80
75
  disabled: filterString.length > 0 || isFrozenColumn,
81
- ariaLabel: isSortableColumn ? sortableTitle : (_colDef$Header$props6 = colDef.Header.props) === null || _colDef$Header$props6 === void 0 ? void 0 : _colDef$Header$props6.title,
76
+ ariaLabel: colHeaderTitle,
82
77
  onGrab: setAriaRegionText,
83
78
  isFocused: focusIndex === i,
84
79
  moveElement: moveElement,
@@ -108,7 +103,6 @@ DraggableItemsList.propTypes = {
108
103
  filterString: _propTypes.PropTypes.string.isRequired,
109
104
  focusIndex: _propTypes.PropTypes.number.isRequired,
110
105
  getNextIndex: _propTypes.PropTypes.func.isRequired,
111
- isTableSortable: _propTypes.PropTypes.bool,
112
106
  moveElement: _propTypes.PropTypes.func.isRequired,
113
107
  onSelectColumn: _propTypes.PropTypes.func.isRequired,
114
108
  setAriaRegionText: _propTypes.PropTypes.func.isRequired,
@@ -29,7 +29,6 @@ var TearsheetWrapper = function TearsheetWrapper(_ref) {
29
29
  rest = (0, _objectWithoutProperties2.default)(_instance$customizeCo, _excluded);
30
30
  return /*#__PURE__*/React.createElement(_CustomizeColumnsTearsheet.default, (0, _extends2.default)({}, rest, labels, {
31
31
  isOpen: isTearsheetOpen,
32
- isTableSortable: (instance === null || instance === void 0 ? void 0 : instance.isTableSortable) || false,
33
32
  setIsTearsheetOpen: setIsTearsheetOpen,
34
33
  columnDefinitions: instance.allColumns,
35
34
  originalColumnDefinitions: instance.columns,
@@ -30,7 +30,8 @@ var useDefaultStringRenderer = function useDefaultStringRenderer(hooks) {
30
30
  var HeaderRenderer = function HeaderRenderer(header) {
31
31
  return /*#__PURE__*/_react.default.createElement("div", {
32
32
  className: "".concat(blockClass, "__defaultStringRenderer"),
33
- title: typeof header === 'string' ? header : ''
33
+ title: typeof header === 'string' ? header : '',
34
+ key: typeof header === 'string' ? header : ''
34
35
  }, header);
35
36
  };
36
37
  var visibleColumns = function visibleColumns(columns) {
@@ -30,8 +30,12 @@ var getAriaSortValue = function getAriaSortValue(col, _ref) {
30
30
  var ascendingSortableLabelText = _ref.ascendingSortableLabelText,
31
31
  descendingSortableLabelText = _ref.descendingSortableLabelText,
32
32
  defaultSortableLabelText = _ref.defaultSortableLabelText;
33
- var isSorted = col.isSorted,
34
- isSortedDesc = col.isSortedDesc;
33
+ if (!col) {
34
+ return;
35
+ }
36
+ var _ref2 = col || {},
37
+ isSorted = _ref2.isSorted,
38
+ isSortedDesc = _ref2.isSortedDesc;
35
39
  if (!isSorted) {
36
40
  return defaultSortableLabelText || 'none';
37
41
  }
@@ -43,16 +47,20 @@ var getAriaSortValue = function getAriaSortValue(col, _ref) {
43
47
  }
44
48
  };
45
49
  var getAriaPressedValue = function getAriaPressedValue(col) {
46
- var isSorted = col.isSorted;
50
+ if (!col) {
51
+ return;
52
+ }
53
+ var _ref3 = col || {},
54
+ isSorted = _ref3.isSorted;
47
55
  if (isSorted) {
48
56
  return 'true';
49
57
  }
50
58
  return 'false';
51
59
  };
52
60
  var useSortableColumns = function useSortableColumns(hooks) {
53
- var sortableVisibleColumns = function sortableVisibleColumns(visibleColumns, _ref2) {
61
+ var sortableVisibleColumns = function sortableVisibleColumns(visibleColumns, _ref4) {
54
62
  var _instance$customizeCo;
55
- var instance = _ref2.instance;
63
+ var instance = _ref4.instance;
56
64
  var onSort = instance.onSort,
57
65
  ascendingSortableLabelText = instance.ascendingSortableLabelText,
58
66
  descendingSortableLabelText = instance.descendingSortableLabelText,
@@ -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;
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 || (_col$Header = col.Header) === null || _col$Header === void 0 || (_col$Header = _col$Header.props) === null || _col$Header === void 0 ? void 0 : _col$Header.title;
30
+ };
31
+ var _default = getColTitle;
32
+ exports.default = _default;
@@ -336,7 +336,7 @@ var NotificationsPanel = /*#__PURE__*/_react.default.forwardRef(function (_ref,
336
336
  className: "".concat(blockClass, "__header-container")
337
337
  }, /*#__PURE__*/_react.default.createElement("div", {
338
338
  className: "".concat(blockClass, "__header-flex")
339
- }, /*#__PURE__*/_react.default.createElement("h1", {
339
+ }, /*#__PURE__*/_react.default.createElement("h2", {
340
340
  className: "".concat(blockClass, "__header")
341
341
  }, title), /*#__PURE__*/_react.default.createElement(_react2.Button, {
342
342
  size: "sm",
@@ -345,7 +345,7 @@ var NotificationsPanel = /*#__PURE__*/_react.default.forwardRef(function (_ref,
345
345
  onClick: function onClick() {
346
346
  return onDismissAllNotifications();
347
347
  }
348
- }, dismissAllLabel)), /*#__PURE__*/_react.default.createElement(_react2.Toggle, {
348
+ }, dismissAllLabel)), onDoNotDisturbChange && /*#__PURE__*/_react.default.createElement(_react2.Toggle, {
349
349
  size: "sm",
350
350
  className: "".concat(blockClass, "__do-not-disturb-toggle"),
351
351
  id: "".concat(blockClass, "__do-not-disturb-toggle-component"),
@@ -447,11 +447,11 @@ NotificationsPanel.propTypes = {
447
447
  */
448
448
  dismissSingleNotificationIconDescription: _propTypes.default.string,
449
449
  /**
450
- * Determines if the `Do not disturb` toggle is on or off when the component is rendered
450
+ * Optional: Determines if the `Do not disturb` toggle is on or off when the component is rendered
451
451
  */
452
452
  doNotDisturbDefaultToggled: _propTypes.default.bool,
453
453
  /**
454
- * Label for Do not disturb toggle
454
+ * Optional: Label for Do not disturb toggle
455
455
  */
456
456
  doNotDisturbLabel: _propTypes.default.string,
457
457
  /**
@@ -499,7 +499,7 @@ NotificationsPanel.propTypes = {
499
499
  */
500
500
  onDismissSingleNotification: _propTypes.default.func,
501
501
  /**
502
- * Function that returns the current selected value of the disable notification toggle
502
+ * Optional: function that returns the current selected value of the disable notification toggle
503
503
  */
504
504
  onDoNotDisturbChange: _propTypes.default.func,
505
505
  /**
@@ -223,13 +223,11 @@ var OptionsTile = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
223
223
  id: "".concat(id, "-toggle"),
224
224
  className: "".concat(blockClass, "__toggle"),
225
225
  toggled: enabled,
226
- labelA: "",
227
- labelB: "",
228
226
  "aria-labelledby": titleId,
227
+ hideLabel: true,
229
228
  onToggle: onToggle,
230
229
  size: "sm",
231
- disabled: isLocked,
232
- labelText: title
230
+ disabled: isLocked
233
231
  })), isExpandable ? /*#__PURE__*/_react.default.createElement("details", {
234
232
  open: isOpen,
235
233
  ref: detailsRef