@carbon/ibm-products 1.11.0 → 1.12.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 (70) hide show
  1. package/README.md +0 -3
  2. package/css/index-full-carbon.css +1543 -529
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +5 -5
  5. package/css/index-full-carbon.min.css.map +1 -1
  6. package/css/index-without-carbon-released-only.css +12 -0
  7. package/css/index-without-carbon-released-only.css.map +1 -1
  8. package/css/index-without-carbon-released-only.min.css +2 -2
  9. package/css/index-without-carbon-released-only.min.css.map +1 -1
  10. package/css/index-without-carbon.css +77 -187
  11. package/css/index-without-carbon.css.map +1 -1
  12. package/css/index-without-carbon.min.css +4 -4
  13. package/css/index-without-carbon.min.css.map +1 -1
  14. package/css/index.css +194 -187
  15. package/css/index.css.map +1 -1
  16. package/css/index.min.css +5 -5
  17. package/css/index.min.css.map +1 -1
  18. package/es/components/AddSelect/AddSelect.js +63 -12
  19. package/es/components/AddSelect/AddSelectColumn.js +58 -22
  20. package/es/components/AddSelect/AddSelectList.js +38 -18
  21. package/es/components/AddSelect/AddSelectSidebar.js +2 -1
  22. package/es/components/ButtonMenu/ButtonMenu.js +11 -3
  23. package/es/components/CreateFullPage/CreateFullPageStep.js +4 -4
  24. package/es/components/CreateTearsheet/CreateTearsheetStep.js +4 -4
  25. package/es/components/DataSpreadsheet/DataSpreadsheet.js +107 -89
  26. package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +93 -20
  27. package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +50 -2
  28. package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +3 -1
  29. package/es/components/ImportModal/ImportModal.js +2 -2
  30. package/es/components/UserProfileImage/UserProfileImage.js +1 -1
  31. package/es/components/index.js +0 -1
  32. package/es/global/js/package-settings.js +1 -2
  33. package/lib/components/AddSelect/AddSelect.js +63 -12
  34. package/lib/components/AddSelect/AddSelectColumn.js +57 -21
  35. package/lib/components/AddSelect/AddSelectList.js +39 -17
  36. package/lib/components/AddSelect/AddSelectSidebar.js +2 -1
  37. package/lib/components/ButtonMenu/ButtonMenu.js +11 -3
  38. package/lib/components/CreateFullPage/CreateFullPageStep.js +4 -4
  39. package/lib/components/CreateTearsheet/CreateTearsheetStep.js +4 -4
  40. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +108 -91
  41. package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +94 -20
  42. package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +52 -7
  43. package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +3 -1
  44. package/lib/components/ImportModal/ImportModal.js +1 -1
  45. package/lib/components/UserProfileImage/UserProfileImage.js +1 -1
  46. package/lib/components/index.js +0 -8
  47. package/lib/global/js/package-settings.js +1 -2
  48. package/package.json +16 -16
  49. package/scss/components/AboutModal/_about-modal.scss +2 -2
  50. package/scss/components/ActionSet/_action-set.scss +3 -1
  51. package/scss/components/AddSelect/_add-select.scss +41 -2
  52. package/scss/components/CreateModal/_create-modal.scss +7 -5
  53. package/scss/components/CreateModal/_storybook-styles.scss +8 -7
  54. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +21 -3
  55. package/scss/components/ExportModal/_export-modal.scss +3 -3
  56. package/scss/components/InlineEdit/_inline-edit.scss +3 -0
  57. package/scss/components/ModifiedTabs/_modified-tabs.scss +4 -9
  58. package/scss/components/NotificationsPanel/_notifications-panel.scss +9 -5
  59. package/scss/components/OptionsTile/_options-tile.scss +0 -1
  60. package/scss/components/RemoveModal/_remove-modal.scss +3 -3
  61. package/scss/components/TagSet/_tag-set.scss +2 -1
  62. package/scss/components/Tearsheet/_tearsheet.scss +4 -1
  63. package/scss/components/_index.scss +0 -1
  64. package/es/components/LoadingBar/LoadingBar.js +0 -156
  65. package/es/components/LoadingBar/index.js +0 -7
  66. package/lib/components/LoadingBar/LoadingBar.js +0 -170
  67. package/lib/components/LoadingBar/index.js +0 -13
  68. package/scss/components/LoadingBar/_index.scss +0 -8
  69. package/scss/components/LoadingBar/_loading-bar.scss +0 -224
  70. package/scss/components/LoadingBar/_storybook-styles.scss +0 -14
@@ -2,14 +2,14 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
- var _excluded = ["columnInputPlaceholder", "filteredItems", "header"];
5
+ var _excluded = ["columnInputPlaceholder", "filteredItems", "header", "multiSelection", "setMultiSelection"];
6
6
  //
7
7
  // Copyright IBM Corp. 2022
8
8
  //
9
9
  // This source code is licensed under the Apache-2.0 license found in the
10
10
  // LICENSE file in the root directory of this source tree.
11
11
  //
12
- import React, { useState } from 'react';
12
+ import React, { useState, useEffect } from 'react';
13
13
  import PropTypes from 'prop-types';
14
14
  import { TextInput, Tag, OverflowMenu, OverflowMenuItem, Checkbox } from 'carbon-components-react';
15
15
  import { Filter32, ArrowsVertical32, ArrowUp16, ArrowDown16 } from '@carbon/icons-react';
@@ -23,30 +23,43 @@ export var AddSelectColumn = function AddSelectColumn(_ref) {
23
23
  var columnInputPlaceholder = _ref.columnInputPlaceholder,
24
24
  filteredItems = _ref.filteredItems,
25
25
  header = _ref.header,
26
+ multiSelection = _ref.multiSelection,
27
+ setMultiSelection = _ref.setMultiSelection,
26
28
  props = _objectWithoutProperties(_ref, _excluded);
27
29
 
28
- var _useState = useState(''),
30
+ var _useState = useState(false),
29
31
  _useState2 = _slicedToArray(_useState, 2),
30
- searchTerm = _useState2[0],
31
- setSearchTerm = _useState2[1];
32
+ allSelected = _useState2[0],
33
+ setAllSelected = _useState2[1];
32
34
 
33
35
  var _useState3 = useState(''),
34
36
  _useState4 = _slicedToArray(_useState3, 2),
35
- sortDirection = _useState4[0],
36
- setSortDirection = _useState4[1];
37
+ searchTerm = _useState4[0],
38
+ setSearchTerm = _useState4[1];
37
39
 
38
40
  var _useState5 = useState(''),
39
41
  _useState6 = _slicedToArray(_useState5, 2),
40
- sortAttribute = _useState6[0],
41
- setSortAttribute = _useState6[1];
42
+ sortDirection = _useState6[0],
43
+ setSortDirection = _useState6[1];
42
44
 
43
- var _useState7 = useState([]),
45
+ var _useState7 = useState(''),
44
46
  _useState8 = _slicedToArray(_useState7, 2),
45
- filters = _useState8[0],
46
- setFilters = _useState8[1];
47
+ sortAttribute = _useState8[0],
48
+ setSortAttribute = _useState8[1];
49
+
50
+ var _useState9 = useState([]),
51
+ _useState10 = _slicedToArray(_useState9, 2),
52
+ filters = _useState10[0],
53
+ setFilters = _useState10[1];
47
54
 
48
55
  var blockClass = "".concat(pkg.prefix, "--add-select");
49
- var colClass = "".concat(blockClass, "__column"); // sorting
56
+ var colClass = "".concat(blockClass, "__column");
57
+ useEffect(function () {
58
+ var isAllSelected = filteredItems.every(function (item) {
59
+ return multiSelection.includes(item.id);
60
+ });
61
+ setAllSelected(isAllSelected);
62
+ }, [filteredItems, multiSelection]); // sorting
50
63
 
51
64
  var colSortBy = (_filteredItems$find = filteredItems.find(function (item) {
52
65
  return item.sortBy;
@@ -80,6 +93,21 @@ export var AddSelectColumn = function AddSelectColumn(_ref) {
80
93
  setSortDirection(direction);
81
94
  };
82
95
 
96
+ var selectAllHandler = function selectAllHandler(checked) {
97
+ var itemIds = filteredItems.map(function (item) {
98
+ return item.id;
99
+ });
100
+
101
+ if (checked) {
102
+ setMultiSelection([].concat(_toConsumableArray(multiSelection), _toConsumableArray(itemIds)));
103
+ } else {
104
+ var newItems = multiSelection.filter(function (i) {
105
+ return !itemIds.includes(i);
106
+ });
107
+ setMultiSelection(newItems);
108
+ }
109
+ };
110
+
83
111
  var filterHandler = function filterHandler(checked, opt) {
84
112
  if (checked) {
85
113
  var newFilters = [].concat(_toConsumableArray(filters), [opt]);
@@ -177,19 +205,27 @@ export var AddSelectColumn = function AddSelectColumn(_ref) {
177
205
  })));
178
206
  })))), /*#__PURE__*/React.createElement("div", {
179
207
  className: "".concat(blockClass, "__tag-container")
180
- }, /*#__PURE__*/React.createElement("p", {
181
- className: "".concat(blockClass, "__tag-container-label")
182
- }, header), /*#__PURE__*/React.createElement(Tag, {
183
- type: "gray",
184
- size: "sm"
185
- }, colItems.length)), /*#__PURE__*/React.createElement(AddSelectList, _extends({}, props, {
186
- inColumn: true,
187
- filteredItems: colItems
208
+ }, /*#__PURE__*/React.createElement(Checkbox, {
209
+ id: "".concat(uuidv4(), "-select-all"),
210
+ checked: allSelected,
211
+ onChange: selectAllHandler,
212
+ labelText: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
213
+ className: "".concat(blockClass, "__tag-container-label")
214
+ }, header), /*#__PURE__*/React.createElement(Tag, {
215
+ type: "gray",
216
+ size: "sm"
217
+ }, colItems.length))
218
+ })), /*#__PURE__*/React.createElement(AddSelectList, _extends({}, props, {
219
+ filteredItems: colItems,
220
+ setMultiSelection: setMultiSelection,
221
+ multiSelection: multiSelection
188
222
  })));
189
223
  };
190
224
  AddSelectColumn.propTypes = {
191
225
  columnInputPlaceholder: PropTypes.string,
192
226
  filteredItems: PropTypes.array,
193
- header: PropTypes.string
227
+ header: PropTypes.string,
228
+ multiSelection: PropTypes.array,
229
+ setMultiSelection: PropTypes.func
194
230
  };
195
231
  AddSelectColumn.displayName = componentName;
@@ -1,3 +1,4 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
3
  //
3
4
  // Copyright IBM Corp. 2022
@@ -6,14 +7,15 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
6
7
  // LICENSE file in the root directory of this source tree.
7
8
  //
8
9
  import React from 'react';
9
- import { Checkbox, RadioButton, StructuredListRow, StructuredListWrapper, StructuredListBody, StructuredListCell } from 'carbon-components-react';
10
+ import { Checkbox, RadioButton, StructuredListRow, StructuredListWrapper, StructuredListBody, StructuredListCell, Dropdown } from 'carbon-components-react';
10
11
  import { ChevronRight16 } from '@carbon/icons-react';
11
12
  import PropTypes from 'prop-types';
13
+ import cx from 'classnames';
12
14
  import { pkg } from '../../settings';
13
15
  var componentName = 'AddSelectList';
14
16
  export var AddSelectList = function AddSelectList(_ref) {
15
17
  var filteredItems = _ref.filteredItems,
16
- inColumn = _ref.inColumn,
18
+ modifiers = _ref.modifiers,
17
19
  multi = _ref.multi,
18
20
  multiSelection = _ref.multiSelection,
19
21
  path = _ref.path,
@@ -27,13 +29,13 @@ export var AddSelectList = function AddSelectList(_ref) {
27
29
  setSingleSelection(value);
28
30
  };
29
31
 
30
- var handleMultiSelection = function handleMultiSelection(value, checked) {
32
+ var handleMultiSelection = function handleMultiSelection(id, checked) {
31
33
  if (checked) {
32
- var newValues = [].concat(_toConsumableArray(multiSelection), [value]);
34
+ var newValues = [].concat(_toConsumableArray(multiSelection), [id]);
33
35
  setMultiSelection(newValues);
34
36
  } else {
35
37
  var _newValues = multiSelection.filter(function (v) {
36
- return v !== value;
38
+ return v !== id;
37
39
  });
38
40
 
39
41
  setMultiSelection(_newValues);
@@ -99,32 +101,50 @@ export var AddSelectList = function AddSelectList(_ref) {
99
101
  }
100
102
  };
101
103
 
104
+ var isSelected = function isSelected(id) {
105
+ return multiSelection.includes(id);
106
+ };
107
+
102
108
  return /*#__PURE__*/React.createElement("div", {
103
109
  className: "".concat(blockClass, "-wrapper")
104
110
  }, /*#__PURE__*/React.createElement(StructuredListWrapper, {
105
111
  selection: true,
106
112
  className: "".concat(blockClass)
107
113
  }, /*#__PURE__*/React.createElement(StructuredListBody, null, filteredItems.map(function (item) {
114
+ var _modifiers$options;
115
+
108
116
  return /*#__PURE__*/React.createElement(StructuredListRow, {
109
117
  key: item.id,
110
- className: "".concat(blockClass, "-row")
118
+ className: cx("".concat(blockClass, "-row"), _defineProperty({}, "".concat(blockClass, "-row-selected"), isSelected(item.id)))
111
119
  }, /*#__PURE__*/React.createElement(StructuredListCell, {
112
120
  className: "".concat(blockClass, "-cell")
113
121
  }, /*#__PURE__*/React.createElement("div", {
114
122
  className: "".concat(blockClass, "-cell-wrapper")
115
- }, multi ? /*#__PURE__*/React.createElement(Checkbox, {
116
- className: "".concat(blockClass, "-checkbox"),
117
- onChange: function onChange(value) {
118
- return handleMultiSelection(item.id, value);
123
+ }, multi ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
124
+ className: "".concat(blockClass, "-checkbox")
125
+ }, /*#__PURE__*/React.createElement(Checkbox, {
126
+ onChange: function onChange(checked) {
127
+ return handleMultiSelection(item.id, checked);
119
128
  },
120
- labelText: !inColumn ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
121
- className: "".concat(blockClass, "-cell-title")
122
- }, item.title), /*#__PURE__*/React.createElement("span", {
123
- className: "".concat(blockClass, "-cell-subtitle")
124
- }, item.subtitle)) : item.title,
129
+ labelText: item.title,
125
130
  id: item.id,
126
- checked: multiSelection.includes(item.id)
127
- }) : /*#__PURE__*/React.createElement(RadioButton, {
131
+ checked: isSelected(item.id),
132
+ className: "".concat(blockClass, "-checkbox-wrapper")
133
+ }), /*#__PURE__*/React.createElement("div", {
134
+ className: "".concat(blockClass, "-checkbox-label-text")
135
+ }, /*#__PURE__*/React.createElement("span", {
136
+ className: "".concat(blockClass, "-cell-title")
137
+ }, item.title), item.subtitle && /*#__PURE__*/React.createElement("span", {
138
+ className: "".concat(blockClass, "-cell-subtitle")
139
+ }, item.subtitle))), (modifiers === null || modifiers === void 0 ? void 0 : (_modifiers$options = modifiers.options) === null || _modifiers$options === void 0 ? void 0 : _modifiers$options.length) && /*#__PURE__*/React.createElement(Dropdown, {
140
+ id: "".concat(item.id, "-modifier"),
141
+ type: "inline",
142
+ items: modifiers === null || modifiers === void 0 ? void 0 : modifiers.options,
143
+ light: true,
144
+ label: modifiers === null || modifiers === void 0 ? void 0 : modifiers.label,
145
+ disabled: !isSelected(item.id),
146
+ className: "".concat(blockClass, "-dropdown")
147
+ })) : /*#__PURE__*/React.createElement(RadioButton, {
128
148
  className: "".concat(blockClass, "-radio"),
129
149
  name: "add-select-selections",
130
150
  id: item.id,
@@ -141,7 +161,7 @@ export var AddSelectList = function AddSelectList(_ref) {
141
161
  };
142
162
  AddSelectList.propTypes = {
143
163
  filteredItems: PropTypes.array,
144
- inColumn: PropTypes.bool,
164
+ modifiers: PropTypes.object,
145
165
  multi: PropTypes.bool,
146
166
  multiSelection: PropTypes.array,
147
167
  path: PropTypes.array,
@@ -54,7 +54,8 @@ export var AddSelectSidebar = function AddSelectSidebar(_ref) {
54
54
  return handleItemRemove(id);
55
55
  },
56
56
  kind: "ghost",
57
- className: "".concat(blockClass, "-item-remove-button")
57
+ className: "".concat(blockClass, "-item-remove-button"),
58
+ size: "sm"
58
59
  }));
59
60
  };
60
61
 
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["children", "className", "iconDescription", "label", "menuOptionsClass", "renderIcon", "size"];
3
+ var _excluded = ["children", "className", "iconDescription", "kind", "label", "menuOptionsClass", "renderIcon", "size"];
4
4
 
5
5
  /**
6
6
  * Copyright IBM Corp. 2021, 2021
@@ -22,7 +22,8 @@ var componentName = 'ButtonMenu'; // NOTE: the component SCSS is not imported he
22
22
  // Default values for props
23
23
 
24
24
  var defaults = {
25
- size: 'default'
25
+ size: 'default',
26
+ kind: 'primary'
26
27
  };
27
28
  /**
28
29
  * Combining a standard button with an overflow menu, this component appears
@@ -36,6 +37,8 @@ export var ButtonMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
36
37
  var children = _ref.children,
37
38
  className = _ref.className,
38
39
  iconDescription = _ref.iconDescription,
40
+ _ref$kind = _ref.kind,
41
+ kind = _ref$kind === void 0 ? defaults.kind : _ref$kind,
39
42
  label = _ref.label,
40
43
  menuOptionsClass = _ref.menuOptionsClass,
41
44
  Icon = _ref.renderIcon,
@@ -50,7 +53,7 @@ export var ButtonMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
50
53
  menuOptionsClass: cx("".concat(blockClass, "__options"), menuOptionsClass),
51
54
  renderIcon: function renderIcon() {
52
55
  return /*#__PURE__*/React.createElement("div", {
53
- className: cx(["".concat(blockClass, "__trigger"), "".concat(carbon.prefix, "--btn"), "".concat(carbon.prefix, "--btn--primary"), "".concat(carbon.prefix, "--btn--").concat(size)])
56
+ className: cx(["".concat(blockClass, "__trigger"), "".concat(carbon.prefix, "--btn"), "".concat(carbon.prefix, "--btn--").concat(kind), "".concat(carbon.prefix, "--btn--").concat(size)])
54
57
  }, label, Icon && /*#__PURE__*/React.createElement(Icon, {
55
58
  "aria-hidden": "true",
56
59
  "aria-label": iconDescription,
@@ -86,6 +89,11 @@ ButtonMenu.propTypes = {
86
89
  */
87
90
  iconDescription: Button.propTypes.iconDescription,
88
91
 
92
+ /**
93
+ * The three types the menu button supports: primary, tertiary and ghost.
94
+ */
95
+ kind: PropTypes.oneOf(['primary', 'tertiary', 'ghost']),
96
+
89
97
  /**
90
98
  * The button label for the menu trigger.
91
99
  */
@@ -61,23 +61,23 @@ export var CreateFullPageStep = /*#__PURE__*/forwardRef(function (_ref, ref) {
61
61
  shouldIncludeStep: shouldIncludeStep,
62
62
  secondaryLabel: secondaryLabel,
63
63
  title: title
64
- }); // This useEffect reports back the onNext and onMount values so that they can be used
64
+ }); // This useEffect reports back the onMount value so that they can be used
65
65
  // in the appropriate custom hooks.
66
66
 
67
67
  useEffect(function () {
68
68
  if (stepNumber === (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep) && (previousState === null || previousState === void 0 ? void 0 : previousState.currentStep) !== (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep)) {
69
- stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnNext(onNext);
70
69
  stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnMount(onMount);
71
70
  }
72
- }, [onMount, onNext, stepsContext, stepNumber, previousState === null || previousState === void 0 ? void 0 : previousState.currentStep]);
71
+ }, [onMount, stepsContext, stepNumber, previousState === null || previousState === void 0 ? void 0 : previousState.currentStep]);
73
72
  useEffect(function () {
74
73
  setShouldIncludeStep(includeStep);
75
- }, [includeStep, stepsContext, title]); // Whenever we are the current step, supply our disableSubmit value to the
74
+ }, [includeStep, stepsContext, title]); // Whenever we are the current step, supply our disableSubmit and onNext values to the
76
75
  // steps container context so that it can manage the 'Next' button appropriately.
77
76
 
78
77
  useEffect(function () {
79
78
  if (stepNumber === (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep)) {
80
79
  stepsContext.setIsDisabled(disableSubmit);
80
+ 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
81
81
  }
82
82
  }, [stepsContext, stepNumber, disableSubmit, onNext]);
83
83
  return stepsContext ? /*#__PURE__*/React.createElement("section", _extends({}, rest, {
@@ -63,24 +63,24 @@ export var CreateTearsheetStep = /*#__PURE__*/forwardRef(function (_ref, ref) {
63
63
  shouldIncludeStep: shouldIncludeStep,
64
64
  secondaryLabel: secondaryLabel,
65
65
  title: title
66
- }); // This useEffect reports back the onNext and onMount values so that they can be used
66
+ }); // This useEffect reports back the onMount value so that they can be used
67
67
  // in the appropriate custom hooks.
68
68
 
69
69
  useEffect(function () {
70
70
  if (stepNumber === (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep) && (previousState === null || previousState === void 0 ? void 0 : previousState.currentStep) !== (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep)) {
71
- stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnNext(onNext);
72
71
  stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnMount(onMount);
73
72
  }
74
- }, [onMount, onNext, stepsContext, stepNumber, previousState === null || previousState === void 0 ? void 0 : previousState.currentStep]); // Used to take the `includeStep` prop and use it as a local state value
73
+ }, [onMount, stepsContext, stepNumber, previousState === null || previousState === void 0 ? void 0 : previousState.currentStep]); // Used to take the `includeStep` prop and use it as a local state value
75
74
 
76
75
  useEffect(function () {
77
76
  setShouldIncludeStep(includeStep);
78
- }, [includeStep, stepsContext, title]); // Whenever we are the current step, supply our disableSubmit value to the
77
+ }, [includeStep, stepsContext, title]); // Whenever we are the current step, supply our disableSubmit and onNext values to the
79
78
  // steps container context so that it can manage the 'Next' button appropriately.
80
79
 
81
80
  useEffect(function () {
82
81
  if (stepNumber === (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep)) {
83
82
  stepsContext.setIsDisabled(disableSubmit);
83
+ 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
84
84
  }
85
85
  }, [stepsContext, stepNumber, disableSubmit, onNext]);
86
86
  return stepsContext ? /*#__PURE__*/React.createElement("div", _extends({}, rest, {