@carbon/ibm-products 2.6.1 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
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
  }