@carbon/ibm-products 2.6.1 → 2.7.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.
Files changed (45) hide show
  1. package/css/index-full-carbon.css +6288 -5847
  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 +1256 -184
  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 +3666 -3609
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +2 -2
  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/DraggableItemsList.js +1 -23
  24. package/es/components/Datagrid/utils/getColTitle.js +25 -0
  25. package/es/components/NotificationsPanel/NotificationsPanel.js +5 -5
  26. package/es/components/OptionsTile/OptionsTile.js +2 -4
  27. package/es/global/js/hooks/useCreateComponentStepChange.js +98 -49
  28. package/es/global/js/hooks/useResizeObserver.js +15 -1
  29. package/es/global/js/hooks/useRetrieveStepData.js +1 -1
  30. package/es/global/js/utils/StoryDocsPage.js +0 -1
  31. package/lib/components/CreateTearsheet/CreateTearsheet.js +30 -14
  32. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +10 -4
  33. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +3 -0
  34. package/lib/components/Datagrid/Datagrid/Datagrid.js +12 -7
  35. package/lib/components/Datagrid/Datagrid/DatagridContent.js +17 -13
  36. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +12 -1
  37. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +4 -26
  38. package/lib/components/Datagrid/utils/getColTitle.js +32 -0
  39. package/lib/components/NotificationsPanel/NotificationsPanel.js +5 -5
  40. package/lib/components/OptionsTile/OptionsTile.js +2 -4
  41. package/lib/global/js/hooks/useCreateComponentStepChange.js +98 -49
  42. package/lib/global/js/hooks/useResizeObserver.js +15 -1
  43. package/lib/global/js/hooks/useRetrieveStepData.js +1 -1
  44. package/lib/global/js/utils/StoryDocsPage.js +0 -1
  45. package/package.json +8 -8
@@ -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
  }));
@@ -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
  *
@@ -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 !!getColTitle(colDef);
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 = getColTitle(colDef)) === null || _getColTitle === void 0 ? void 0 : _getColTitle.toLowerCase().includes(filterString)) && colDef.id !== 'spacer';
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 = getColTitle(colDef);
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,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
@@ -9,7 +9,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _react = require("react");
11
11
  /**
12
- * Copyright IBM Corp. 2021, 2022
12
+ * Copyright IBM Corp. 2021, 2023
13
13
  *
14
14
  * This source code is licensed under the Apache-2.0 license found in the
15
15
  * LICENSE file in the root directory of this source tree.
@@ -19,16 +19,19 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
19
19
  var firstIncludedStep = _ref.firstIncludedStep,
20
20
  lastIncludedStep = _ref.lastIncludedStep,
21
21
  stepData = _ref.stepData,
22
+ onPrevious = _ref.onPrevious,
22
23
  onNext = _ref.onNext,
23
24
  isSubmitDisabled = _ref.isSubmitDisabled,
24
25
  setCurrentStep = _ref.setCurrentStep,
25
26
  setIsSubmitting = _ref.setIsSubmitting,
26
- setShouldViewAll = _ref.setShouldViewAll,
27
+ _ref$setLoadingPrevio = _ref.setLoadingPrevious,
28
+ setLoadingPrevious = _ref$setLoadingPrevio === void 0 ? null : _ref$setLoadingPrevio,
29
+ _ref$loadingPrevious = _ref.loadingPrevious,
30
+ loadingPrevious = _ref$loadingPrevious === void 0 ? false : _ref$loadingPrevious,
27
31
  onClose = _ref.onClose,
28
32
  onRequestSubmit = _ref.onRequestSubmit,
29
33
  componentName = _ref.componentName,
30
34
  currentStep = _ref.currentStep,
31
- shouldViewAll = _ref.shouldViewAll,
32
35
  backButtonText = _ref.backButtonText,
33
36
  cancelButtonText = _ref.cancelButtonText,
34
37
  submitButtonText = _ref.submitButtonText,
@@ -50,6 +53,21 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
50
53
  return prev;
51
54
  });
52
55
  }, [setCurrentStep, setIsSubmitting, stepData]);
56
+ var moveToPreviousStep = (0, _react.useCallback)(function () {
57
+ if (componentName !== 'CreateFullPage') {
58
+ setLoadingPrevious(false);
59
+ }
60
+ setCurrentStep(function (prev) {
61
+ // Find previous included step to render
62
+ // There will always be a previous step otherwise we will
63
+ // have disabled the back button since we have reached the first visible step
64
+ do {
65
+ var _stepData2;
66
+ prev--;
67
+ } while (!((_stepData2 = stepData[prev - 1]) !== null && _stepData2 !== void 0 && _stepData2.shouldIncludeStep));
68
+ return prev;
69
+ });
70
+ }, [setCurrentStep, stepData, setLoadingPrevious, componentName]);
53
71
 
54
72
  // useEffect to handle multi step logic
55
73
  (0, _react.useEffect)(function () {
@@ -58,7 +76,6 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
58
76
  setCurrentStep(0);
59
77
  }
60
78
  setIsSubmitting(false);
61
- setShouldViewAll(false);
62
79
  onClose();
63
80
  };
64
81
  var handleOnRequestSubmit = /*#__PURE__*/function () {
@@ -88,104 +105,136 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
88
105
  return _ref2.apply(this, arguments);
89
106
  };
90
107
  }();
91
- var handleNext = /*#__PURE__*/function () {
108
+ var handlePrevious = /*#__PURE__*/function () {
92
109
  var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
93
110
  return _regenerator.default.wrap(function _callee2$(_context2) {
94
111
  while (1) switch (_context2.prev = _context2.next) {
112
+ case 0:
113
+ if (!(componentName === 'CreateFullPage')) {
114
+ _context2.next = 2;
115
+ break;
116
+ }
117
+ return _context2.abrupt("return");
118
+ case 2:
119
+ setLoadingPrevious(true);
120
+ if (!(typeof onPrevious === 'function')) {
121
+ _context2.next = 15;
122
+ break;
123
+ }
124
+ _context2.prev = 4;
125
+ _context2.next = 7;
126
+ return onPrevious();
127
+ case 7:
128
+ moveToPreviousStep();
129
+ _context2.next = 13;
130
+ break;
131
+ case 10:
132
+ _context2.prev = 10;
133
+ _context2.t0 = _context2["catch"](4);
134
+ console.warn("".concat(componentName, " onBack error: ").concat(_context2.t0));
135
+ case 13:
136
+ _context2.next = 16;
137
+ break;
138
+ case 15:
139
+ moveToPreviousStep();
140
+ case 16:
141
+ case "end":
142
+ return _context2.stop();
143
+ }
144
+ }, _callee2, null, [[4, 10]]);
145
+ }));
146
+ return function handlePrevious() {
147
+ return _ref3.apply(this, arguments);
148
+ };
149
+ }();
150
+ var handleNext = /*#__PURE__*/function () {
151
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
152
+ return _regenerator.default.wrap(function _callee3$(_context3) {
153
+ while (1) switch (_context3.prev = _context3.next) {
95
154
  case 0:
96
155
  setIsSubmitting(true);
97
156
  if (!(typeof onNext === 'function')) {
98
- _context2.next = 14;
157
+ _context3.next = 14;
99
158
  break;
100
159
  }
101
- _context2.prev = 2;
102
- _context2.next = 5;
160
+ _context3.prev = 2;
161
+ _context3.next = 5;
103
162
  return onNext();
104
163
  case 5:
105
164
  continueToNextStep();
106
- _context2.next = 12;
165
+ _context3.next = 12;
107
166
  break;
108
167
  case 8:
109
- _context2.prev = 8;
110
- _context2.t0 = _context2["catch"](2);
168
+ _context3.prev = 8;
169
+ _context3.t0 = _context3["catch"](2);
111
170
  setIsSubmitting(false);
112
- console.warn("".concat(componentName, " onNext error: ").concat(_context2.t0));
171
+ console.warn("".concat(componentName, " onNext error: ").concat(_context3.t0));
113
172
  case 12:
114
- _context2.next = 15;
173
+ _context3.next = 15;
115
174
  break;
116
175
  case 14:
117
176
  continueToNextStep();
118
177
  case 15:
119
178
  case "end":
120
- return _context2.stop();
179
+ return _context3.stop();
121
180
  }
122
- }, _callee2, null, [[2, 8]]);
181
+ }, _callee3, null, [[2, 8]]);
123
182
  }));
124
183
  return function handleNext() {
125
- return _ref3.apply(this, arguments);
184
+ return _ref4.apply(this, arguments);
126
185
  };
127
186
  }();
128
187
  var handleSubmit = /*#__PURE__*/function () {
129
- var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
130
- return _regenerator.default.wrap(function _callee3$(_context3) {
131
- while (1) switch (_context3.prev = _context3.next) {
188
+ var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
189
+ return _regenerator.default.wrap(function _callee4$(_context4) {
190
+ while (1) switch (_context4.prev = _context4.next) {
132
191
  case 0:
133
192
  setIsSubmitting(true);
134
193
  // last step should have onNext as well
135
194
  if (!(typeof onNext === 'function')) {
136
- _context3.next = 15;
195
+ _context4.next = 15;
137
196
  break;
138
197
  }
139
- _context3.prev = 2;
140
- _context3.next = 5;
198
+ _context4.prev = 2;
199
+ _context4.next = 5;
141
200
  return onNext();
142
201
  case 5:
143
- _context3.next = 7;
202
+ _context4.next = 7;
144
203
  return handleOnRequestSubmit();
145
204
  case 7:
146
- _context3.next = 13;
205
+ _context4.next = 13;
147
206
  break;
148
207
  case 9:
149
- _context3.prev = 9;
150
- _context3.t0 = _context3["catch"](2);
208
+ _context4.prev = 9;
209
+ _context4.t0 = _context4["catch"](2);
151
210
  setIsSubmitting(false);
152
- console.warn("".concat(componentName, " onNext error: ").concat(_context3.t0));
211
+ console.warn("".concat(componentName, " onNext error: ").concat(_context4.t0));
153
212
  case 13:
154
- _context3.next = 17;
213
+ _context4.next = 17;
155
214
  break;
156
215
  case 15:
157
- _context3.next = 17;
216
+ _context4.next = 17;
158
217
  return handleOnRequestSubmit();
159
218
  case 17:
160
219
  case "end":
161
- return _context3.stop();
220
+ return _context4.stop();
162
221
  }
163
- }, _callee3, null, [[2, 9]]);
222
+ }, _callee4, null, [[2, 9]]);
164
223
  }));
165
224
  return function handleSubmit() {
166
- return _ref4.apply(this, arguments);
225
+ return _ref5.apply(this, arguments);
167
226
  };
168
227
  }();
169
228
  if ((stepData === null || stepData === void 0 ? void 0 : stepData.length) > 0) {
170
229
  var buttons = [];
171
- if ((stepData === null || stepData === void 0 ? void 0 : stepData.length) > 1 && !shouldViewAll) {
230
+ if ((stepData === null || stepData === void 0 ? void 0 : stepData.length) > 1) {
172
231
  buttons.push({
173
232
  key: 'create-action-button-back',
174
233
  label: backButtonText,
175
- onClick: function onClick() {
176
- return setCurrentStep(function (prev) {
177
- // Find previous included step to render
178
- // There will always be a previous step otherwise we will
179
- // have disabled the back button since we have reached the first visible step
180
- do {
181
- var _stepData2;
182
- prev--;
183
- } while (!((_stepData2 = stepData[prev - 1]) !== null && _stepData2 !== void 0 && _stepData2.shouldIncludeStep));
184
- return prev;
185
- });
186
- },
234
+ onClick: handlePrevious,
187
235
  kind: 'secondary',
188
- disabled: currentStep === firstIncludedStep
236
+ disabled: currentStep === firstIncludedStep,
237
+ loading: loadingPrevious
189
238
  });
190
239
  }
191
240
  buttons.push({
@@ -198,8 +247,8 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
198
247
  });
199
248
  buttons.push({
200
249
  key: 'create-action-button-submit',
201
- label: shouldViewAll ? submitButtonText : currentStep < lastIncludedStep ? nextButtonText : submitButtonText,
202
- onClick: shouldViewAll ? handleSubmit : currentStep < lastIncludedStep ? handleNext : handleSubmit,
250
+ label: currentStep < lastIncludedStep ? nextButtonText : submitButtonText,
251
+ onClick: currentStep < lastIncludedStep ? handleNext : handleSubmit,
203
252
  disabled: isSubmitDisabled,
204
253
  kind: 'primary',
205
254
  loading: isSubmitting,
@@ -207,6 +256,6 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
207
256
  });
208
257
  setCreateComponentActions(buttons);
209
258
  }
210
- }, [firstIncludedStep, lastIncludedStep, stepData, onNext, isSubmitDisabled, backButtonText, cancelButtonText, currentStep, onClose, nextButtonText, submitButtonText, onRequestSubmit, isSubmitting, shouldViewAll, componentBlockClass, componentName, continueToNextStep, setCurrentStep, setCreateComponentActions, setIsSubmitting, setShouldViewAll, setModalIsOpen]);
259
+ }, [firstIncludedStep, lastIncludedStep, stepData, onNext, isSubmitDisabled, backButtonText, cancelButtonText, currentStep, onClose, nextButtonText, submitButtonText, onRequestSubmit, isSubmitting, componentBlockClass, componentName, continueToNextStep, setCurrentStep, setCreateComponentActions, setIsSubmitting, setModalIsOpen, moveToPreviousStep, onPrevious, setLoadingPrevious, loadingPrevious]);
211
260
  };
212
261
  exports.useCreateComponentStepChange = useCreateComponentStepChange;
@@ -26,11 +26,25 @@ var useResizeObserver = function useResizeObserver(ref, callback) {
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 fro useLayoutEffect
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;
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
+ setWidth(initialWidth);
41
+ }
42
+ };
43
+ if (!(ref !== null && ref !== void 0 && ref.current) && width !== 0) {
44
+ return;
45
+ }
46
+ getInitialSize();
47
+ }, [width, ref]);
34
48
  (0, _react.useLayoutEffect)(function () {
35
49
  if (!(ref !== null && ref !== void 0 && ref.current)) {
36
50
  return;
@@ -8,7 +8,7 @@ exports.useRetrieveStepData = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
9
  var _react = require("react");
10
10
  /**
11
- * Copyright IBM Corp. 2022, 2022
11
+ * Copyright IBM Corp. 2022, 2023
12
12
  *
13
13
  * This source code is licensed under the Apache-2.0 license found in the
14
14
  * LICENSE file in the root directory of this source tree.
@@ -89,7 +89,6 @@ var StoryDocsPage = function StoryDocsPage(_ref2) {
89
89
  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;
90
90
  var storyHelperClass = isFullScreen ? 'c4p--story-docs-page--fullscreen' : '';
91
91
  var processedBlocks = processBlocks(blocks, csfFile.stories, omitUnreferencedStories);
92
- console.log(processBlocks);
93
92
  var storyCount = (_processedBlocks$filt = processedBlocks === null || processedBlocks === void 0 ? void 0 : processedBlocks.filter(function (block) {
94
93
  return !!block.story;
95
94
  }).length) !== null && _processedBlocks$filt !== void 0 ? _processedBlocks$filt : 0;
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": "2.6.1",
4
+ "version": "2.7.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -85,14 +85,14 @@
85
85
  "react-window": "^1.8.9"
86
86
  },
87
87
  "peerDependencies": {
88
- "@carbon/grid": "^11.16.1",
89
- "@carbon/layout": "^11.16.1",
90
- "@carbon/motion": "^11.13.1",
91
- "@carbon/react": "^1.33.2",
92
- "@carbon/themes": "^11.21.1",
93
- "@carbon/type": "^11.20.1",
88
+ "@carbon/grid": "^11.18.0",
89
+ "@carbon/layout": "^11.18.0",
90
+ "@carbon/motion": "^11.15.0",
91
+ "@carbon/react": "^1.35.0",
92
+ "@carbon/themes": "^11.23.0",
93
+ "@carbon/type": "^11.22.0",
94
94
  "react": "^16.8.6 || ^17.0.1",
95
95
  "react-dom": "^16.8.6 || ^17.0.1"
96
96
  },
97
- "gitHead": "6730e827634c2dea7b4a865df25dde4cff4e2050"
97
+ "gitHead": "0aebc8b879fd99f6bd45745dd51e90d382a24182"
98
98
  }