@carbon/ibm-products 1.40.0 → 1.41.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. package/css/index-full-carbon.css +39 -65
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +2 -2
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +1 -0
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +39 -65
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +2 -2
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +39 -65
  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/APIKeyModal/APIKeyDownloader.js +21 -23
  18. package/es/components/APIKeyModal/APIKeyModal.js +43 -45
  19. package/es/components/AddSelect/AddSelectBody.js +1 -1
  20. package/es/components/AddSelect/hooks/usePath.js +7 -1
  21. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +1 -1
  22. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +1 -1
  23. package/es/components/CreateFullPage/CreateFullPage.js +8 -2
  24. package/es/components/CreateTearsheet/CreateTearsheet.js +8 -2
  25. package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +4 -2
  26. package/es/components/DataSpreadsheet/DataSpreadsheet.js +1 -3
  27. package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +5 -4
  28. package/es/components/Datagrid/Datagrid/DatagridContent.js +18 -6
  29. package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +9 -3
  30. package/es/components/Datagrid/Datagrid/DatagridRow.js +2 -8
  31. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +27 -8
  32. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +7 -9
  33. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +11 -13
  34. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +26 -24
  35. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/{CustomizeColumnsModal.js → CustomizeColumnsTearsheet.js} +32 -32
  36. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +51 -0
  37. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +6 -7
  38. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +26 -36
  39. package/es/components/Datagrid/Datagrid.stories/index.js +1 -1
  40. package/es/components/Datagrid/useCustomizeColumns.js +13 -15
  41. package/es/components/Datagrid/useFiltering.js +0 -2
  42. package/es/components/Datagrid/useParentDimensions.js +3 -1
  43. package/es/components/Datagrid/utils/getArgTypes.js +5 -0
  44. package/es/components/Datagrid/utils/getInlineEditColumns.js +6 -1
  45. package/es/components/ImportModal/ImportModal.js +42 -44
  46. package/es/components/index.js +1 -1
  47. package/es/global/js/hooks/useCreateComponentFocus.js +31 -10
  48. package/es/global/js/hooks/useCreateComponentStepChange.js +73 -79
  49. package/es/global/js/utils/test-helper.js +12 -14
  50. package/es/global/js/utils/unwrap-if-fragment.js +1 -1
  51. package/lib/components/APIKeyModal/APIKeyDownloader.js +21 -23
  52. package/lib/components/APIKeyModal/APIKeyModal.js +43 -45
  53. package/lib/components/AddSelect/AddSelectBody.js +1 -1
  54. package/lib/components/AddSelect/hooks/usePath.js +6 -0
  55. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +1 -1
  56. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +1 -1
  57. package/lib/components/CreateFullPage/CreateFullPage.js +8 -2
  58. package/lib/components/CreateTearsheet/CreateTearsheet.js +8 -2
  59. package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +4 -2
  60. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +1 -3
  61. package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +5 -4
  62. package/lib/components/Datagrid/Datagrid/DatagridContent.js +18 -6
  63. package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +9 -3
  64. package/lib/components/Datagrid/Datagrid/DatagridRow.js +2 -11
  65. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +27 -8
  66. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +7 -9
  67. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +6 -6
  68. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +26 -24
  69. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/{CustomizeColumnsModal.js → CustomizeColumnsTearsheet.js} +26 -25
  70. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/{ModalWrapper.js → TearsheetWrapper.js} +30 -33
  71. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +3 -3
  72. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +26 -36
  73. package/lib/components/Datagrid/Datagrid.stories/index.js +1 -1
  74. package/lib/components/Datagrid/useCustomizeColumns.js +7 -7
  75. package/lib/components/Datagrid/useFiltering.js +0 -2
  76. package/lib/components/Datagrid/useParentDimensions.js +3 -1
  77. package/lib/components/Datagrid/utils/getArgTypes.js +5 -0
  78. package/lib/components/Datagrid/utils/getInlineEditColumns.js +6 -1
  79. package/lib/components/ImportModal/ImportModal.js +42 -44
  80. package/lib/components/index.js +6 -0
  81. package/lib/global/js/hooks/useCreateComponentFocus.js +32 -10
  82. package/lib/global/js/hooks/useCreateComponentStepChange.js +73 -79
  83. package/lib/global/js/utils/test-helper.js +12 -14
  84. package/lib/global/js/utils/unwrap-if-fragment.js +1 -1
  85. package/package.json +10 -10
  86. package/scss/components/Datagrid/_storybook-styles.scss +7 -0
  87. package/scss/components/Datagrid/styles/_datagrid.scss +22 -0
  88. package/scss/components/Datagrid/styles/_draggableElement.scss +9 -8
  89. package/scss/components/Datagrid/styles/_index.scss +8 -8
  90. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +60 -0
  91. package/scss/components/FilterSummary/_filter-summary.scss +1 -0
  92. package/scss/components/Tearsheet/_tearsheet.scss +2 -0
  93. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +0 -56
  94. package/scss/components/Datagrid/styles/addons/_CustomizeColumnsModal.scss +0 -86
@@ -48,12 +48,9 @@ var FilterFlyout = function FilterFlyout(_ref) {
48
48
  onApply = _ref$onApply === void 0 ? function () {} : _ref$onApply,
49
49
  _ref$onCancel = _ref.onCancel,
50
50
  onCancel = _ref$onCancel === void 0 ? function () {} : _ref$onCancel,
51
- _ref$shouldClickOutsi = _ref.shouldClickOutsideToClose,
52
- shouldClickOutsideToClose = _ref$shouldClickOutsi === void 0 ? false : _ref$shouldClickOutsi,
53
51
  _ref$secondaryActionL = _ref.secondaryActionLabel,
54
52
  secondaryActionLabel = _ref$secondaryActionL === void 0 ? 'Cancel' : _ref$secondaryActionL,
55
- setAllFilters = _ref.setAllFilters,
56
- setFilter = _ref.setFilter;
53
+ setAllFilters = _ref.setAllFilters;
57
54
  /** Context state and methods */
58
55
  var _useContext = (0, _react.useContext)(_FilterProvider.FilterContext),
59
56
  EventEmitter = _useContext.EventEmitter;
@@ -100,8 +97,11 @@ var FilterFlyout = function FilterFlyout(_ref) {
100
97
  prevFiltersObjectArrayRef.current = JSON.stringify(filtersObjectArray);
101
98
  };
102
99
  var cancel = function cancel() {
103
- revertToPreviousFilters();
104
- onCancel();
100
+ // Reverting to previous filters only applies when using batch actions
101
+ if (updateMethod === _constants.BATCH) {
102
+ revertToPreviousFilters();
103
+ onCancel();
104
+ }
105
105
  closeFlyout();
106
106
  };
107
107
  var reset = function reset() {
@@ -133,34 +133,32 @@ var FilterFlyout = function FilterFlyout(_ref) {
133
133
  if (type === _constants.DATE && !value[1]) {
134
134
  return;
135
135
  }
136
- if (updateMethod === _constants.BATCH) {
137
- var filtersObjectArrayCopy = (0, _toConsumableArray2.default)(filtersObjectArray);
138
- // check if the filter already exists in the array
139
- var filter = filtersObjectArrayCopy.find(function (item) {
140
- return item.id === column;
136
+ var filtersObjectArrayCopy = (0, _toConsumableArray2.default)(filtersObjectArray);
137
+ // check if the filter already exists in the array
138
+ var filter = filtersObjectArrayCopy.find(function (item) {
139
+ return item.id === column;
140
+ });
141
+
142
+ // if filter exists in array then update the filter's new value
143
+ if (filter) {
144
+ filter.value = value;
145
+ } else {
146
+ filtersObjectArrayCopy.push({
147
+ id: column,
148
+ value: value,
149
+ type: type
141
150
  });
151
+ }
152
+ setFiltersObjectArray(filtersObjectArrayCopy);
142
153
 
143
- // if filter exists in array then update the filter's new value
144
- if (filter) {
145
- filter.value = value;
146
- } else {
147
- filtersObjectArrayCopy.push({
148
- id: column,
149
- value: value,
150
- type: type
151
- });
152
- }
153
- setFiltersObjectArray(filtersObjectArrayCopy);
154
- } else if (updateMethod === _constants.INSTANT) {
155
- setFilter(column, value);
154
+ // Automatically apply the filters if the updateMethod is instant
155
+ if (updateMethod === _constants.INSTANT) {
156
+ setAllFilters(filtersObjectArrayCopy);
156
157
  }
157
- }, [setFilter, updateMethod, filtersObjectArray]);
158
+ }, [setAllFilters, updateMethod, filtersObjectArray]);
158
159
 
159
160
  /** Effects */
160
161
  (0, _hooks.useClickOutside)(filterFlyoutRef, function (target) {
161
- if (shouldClickOutsideToClose === false) {
162
- return;
163
- }
164
162
  var hasClickedOnDatePicker = target.closest('.flatpickr-calendar');
165
163
  if (!open || hasClickedOnDatePicker) {
166
164
  return;
@@ -361,14 +359,6 @@ FilterFlyout.propTypes = {
361
359
  * Function that sets all the filters, this comes from the datagridState
362
360
  */
363
361
  setAllFilters: _propTypes.default.func.isRequired,
364
- /**
365
- * Function that sets an individual filter, this comes from the datagridState
366
- */
367
- setFilter: _propTypes.default.func.isRequired,
368
- /**
369
- * Boolean if you want the flyout to close when clicked outside of the parent
370
- */
371
- shouldClickOutsideToClose: _propTypes.default.bool,
372
362
  /**
373
363
  * Title of the filter flyout
374
364
  */
@@ -22,7 +22,7 @@ Object.defineProperty(exports, "RowSizeDropdownStory", {
22
22
  return _RowSizeDropdownStory.story;
23
23
  }
24
24
  });
25
- Object.defineProperty(exports, "SelectAllWitHToggle", {
25
+ Object.defineProperty(exports, "SelectAllWithToggle", {
26
26
  enumerable: true,
27
27
  get: function get() {
28
28
  return _SelectAllWithToggleStory.story;
@@ -18,25 +18,25 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
18
18
  var useCustomizeColumns = function useCustomizeColumns(hooks) {
19
19
  var _React$useState = React.useState(false),
20
20
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
21
- isModalOpen = _React$useState2[0],
22
- setIsModalOpen = _React$useState2[1];
21
+ isTearsheetOpen = _React$useState2[0],
22
+ setIsTearsheetOpen = _React$useState2[1];
23
23
  hooks.useInstance.push(function (instance) {
24
24
  var customizeColumnsProps = instance.customizeColumnsProps;
25
25
  var _ref = customizeColumnsProps || {},
26
26
  labels = _ref.labels;
27
27
  Object.assign(instance, {
28
28
  customizeColumnsProps: _objectSpread(_objectSpread({}, customizeColumnsProps), {}, {
29
- isModalOpen: isModalOpen,
30
- setIsModalOpen: setIsModalOpen
29
+ isTearsheetOpen: isTearsheetOpen,
30
+ setIsTearsheetOpen: setIsTearsheetOpen
31
31
  }),
32
32
  CustomizeColumnsButton: function CustomizeColumnsButton(props) {
33
33
  return /*#__PURE__*/React.createElement(_CustomizeColumns.ToggleButtonWrapper, (0, _extends2.default)({
34
34
  iconTooltipLabel: labels === null || labels === void 0 ? void 0 : labels.iconTooltipLabel,
35
- isModalOpen: isModalOpen,
36
- setIsModalOpen: setIsModalOpen
35
+ isTearsheetOpen: isTearsheetOpen,
36
+ setIsTearsheetOpen: setIsTearsheetOpen
37
37
  }, props));
38
38
  },
39
- CustomizeColumnsModal: _CustomizeColumns.CustomizeColumnsModalWrapper
39
+ CustomizeColumnsTearsheet: _CustomizeColumns.CustomizeColumnsTearsheetWrapper
40
40
  });
41
41
  });
42
42
  };
@@ -60,7 +60,6 @@ var useFiltering = function useFiltering(hooks) {
60
60
  hooks.useInstance.push(function (instance) {
61
61
  var filterProps = instance.filterProps,
62
62
  setAllFilters = instance.setAllFilters,
63
- setFilter = instance.setFilter,
64
63
  headers = instance.headers;
65
64
  var defaultProps = {
66
65
  variation: 'flyout'
@@ -68,7 +67,6 @@ var useFiltering = function useFiltering(hooks) {
68
67
  var getFilterFlyoutProps = function getFilterFlyoutProps() {
69
68
  return _objectSpread(_objectSpread(_objectSpread({}, defaultProps), filterProps), {}, {
70
69
  setAllFilters: setAllFilters,
71
- setFilter: setFilter,
72
70
  headers: headers
73
71
  });
74
72
  };
@@ -20,6 +20,7 @@ var useParentDimensions = function useParentDimensions(hooks) {
20
20
  var headRef = (0, _react.useRef)();
21
21
  var innerListRef = (0, _react.useRef)();
22
22
  var listRef = (0, _react.useRef)();
23
+ var gridRef = (0, _react.useRef)();
23
24
  var _useState = (0, _react.useState)(),
24
25
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
25
26
  tableHeight = _useState2[0],
@@ -55,7 +56,8 @@ var useParentDimensions = function useParentDimensions(hooks) {
55
56
  headRef: headRef,
56
57
  innerListRef: innerListRef,
57
58
  handleResize: handleResize,
58
- listRef: listRef
59
+ listRef: listRef,
60
+ gridRef: gridRef
59
61
  });
60
62
  };
61
63
  hooks.useInstance.push(useInstance);
@@ -96,6 +96,11 @@ var ARG_TYPES = {
96
96
  customizeColumnsProps: {
97
97
  control: 'object',
98
98
  description: 'This is an object containing all of the props used with the column customization extension. _This value is set/passed inside of the `datagridState` object._'
99
+ },
100
+ filterProps: {
101
+ name: 'Filter props',
102
+ control: 'object',
103
+ description: 'This is an object for all the props passed into the filter flyout and filter panel'
99
104
  }
100
105
  };
101
106
  exports.ARG_TYPES = ARG_TYPES;
@@ -81,8 +81,13 @@ var getInlineEditColumns = function getInlineEditColumns() {
81
81
  accessor: 'visits',
82
82
  width: 120,
83
83
  inlineEdit: {
84
+ validator: function validator(n) {
85
+ return n && n < 10;
86
+ },
84
87
  type: 'number',
85
- inputProps: {} // These props are passed to the Carbon component used for inline editing
88
+ inputProps: {
89
+ invalidText: 'Invalid number, must be 10 or greater'
90
+ } // These props are passed to the Carbon component used for inline editing
86
91
  }
87
92
  }, {
88
93
  Header: 'Active since',
@@ -114,51 +114,49 @@ var ImportModal = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
114
114
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(evt) {
115
115
  var fileName, pendingFile, response, blob, fetchedFile, failedFile;
116
116
  return _regenerator.default.wrap(function _callee$(_context) {
117
- while (1) {
118
- switch (_context.prev = _context.next) {
119
- case 0:
120
- evt.preventDefault();
121
- fileName = importUrl.substring(importUrl.lastIndexOf('/') + 1).split('?')[0];
122
- pendingFile = {
123
- name: fileName,
124
- status: 'uploading',
125
- uuid: (0, _uuidv.default)()
126
- };
127
- setFiles([pendingFile]);
128
- _context.prev = 4;
129
- _context.next = 7;
130
- return fetch(importUrl);
131
- case 7:
132
- response = _context.sent;
133
- if (!(!response.ok || response.status !== 200)) {
134
- _context.next = 10;
135
- break;
136
- }
137
- throw new Error(response.status);
138
- case 10:
139
- _context.next = 12;
140
- return response.blob();
141
- case 12:
142
- blob = _context.sent;
143
- fetchedFile = new File([blob], fileName, {
144
- type: blob.type
145
- });
146
- fetchedFile.invalidFileType = isInvalidFileType(fetchedFile);
147
- fetchedFile.uuid = pendingFile.uuid;
148
- updateFiles([fetchedFile]);
149
- _context.next = 23;
117
+ while (1) switch (_context.prev = _context.next) {
118
+ case 0:
119
+ evt.preventDefault();
120
+ fileName = importUrl.substring(importUrl.lastIndexOf('/') + 1).split('?')[0];
121
+ pendingFile = {
122
+ name: fileName,
123
+ status: 'uploading',
124
+ uuid: (0, _uuidv.default)()
125
+ };
126
+ setFiles([pendingFile]);
127
+ _context.prev = 4;
128
+ _context.next = 7;
129
+ return fetch(importUrl);
130
+ case 7:
131
+ response = _context.sent;
132
+ if (!(!response.ok || response.status !== 200)) {
133
+ _context.next = 10;
150
134
  break;
151
- case 19:
152
- _context.prev = 19;
153
- _context.t0 = _context["catch"](4);
154
- failedFile = _objectSpread(_objectSpread({}, pendingFile), {}, {
155
- fetchError: true
156
- });
157
- updateFiles([failedFile]);
158
- case 23:
159
- case "end":
160
- return _context.stop();
161
- }
135
+ }
136
+ throw new Error(response.status);
137
+ case 10:
138
+ _context.next = 12;
139
+ return response.blob();
140
+ case 12:
141
+ blob = _context.sent;
142
+ fetchedFile = new File([blob], fileName, {
143
+ type: blob.type
144
+ });
145
+ fetchedFile.invalidFileType = isInvalidFileType(fetchedFile);
146
+ fetchedFile.uuid = pendingFile.uuid;
147
+ updateFiles([fetchedFile]);
148
+ _context.next = 23;
149
+ break;
150
+ case 19:
151
+ _context.prev = 19;
152
+ _context.t0 = _context["catch"](4);
153
+ failedFile = _objectSpread(_objectSpread({}, pendingFile), {}, {
154
+ fetchError: true
155
+ });
156
+ updateFiles([failedFile]);
157
+ case 23:
158
+ case "end":
159
+ return _context.stop();
162
160
  }
163
161
  }, _callee, null, [[4, 19]]);
164
162
  }));
@@ -375,6 +375,12 @@ Object.defineProperty(exports, "useExpandedRow", {
375
375
  return _Datagrid.useExpandedRow;
376
376
  }
377
377
  });
378
+ Object.defineProperty(exports, "useFiltering", {
379
+ enumerable: true,
380
+ get: function get() {
381
+ return _Datagrid.useFiltering;
382
+ }
383
+ });
378
384
  Object.defineProperty(exports, "useInfiniteScroll", {
379
385
  enumerable: true,
380
386
  get: function get() {
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.useCreateComponentFocus = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
7
10
  var _react = require("react");
8
- var _getFocusableElements = require("../utils/getFocusableElements");
11
+ var _wait = _interopRequireDefault(require("../utils/wait"));
9
12
  /**
10
13
  * Copyright IBM Corp. 2021, 2021
11
14
  *
@@ -18,23 +21,42 @@ var useCreateComponentFocus = function useCreateComponentFocus(_ref) {
18
21
  var previousState = _ref.previousState,
19
22
  currentStep = _ref.currentStep,
20
23
  blockClass = _ref.blockClass,
21
- onMount = _ref.onMount;
24
+ onMount = _ref.onMount,
25
+ firstFocusElement = _ref.firstFocusElement;
22
26
  (0, _react.useEffect)(function () {
23
27
  if (typeof onMount === 'function') {
24
28
  onMount();
25
29
  }
26
30
  }, [onMount]);
27
31
  (0, _react.useEffect)(function () {
32
+ // because of how handleStackChange.claimFocus in TearsheetShell works a timeout is required to focus on specific elements
33
+ var awaitFocus = /*#__PURE__*/function () {
34
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(elm) {
35
+ return _regenerator.default.wrap(function _callee$(_context) {
36
+ while (1) switch (_context.prev = _context.next) {
37
+ case 0:
38
+ _context.next = 2;
39
+ return (0, _wait.default)(10);
40
+ case 2:
41
+ elm.focus();
42
+ case 3:
43
+ case "end":
44
+ return _context.stop();
45
+ }
46
+ }, _callee);
47
+ }));
48
+ return function awaitFocus(_x) {
49
+ return _ref2.apply(this, arguments);
50
+ };
51
+ }();
28
52
  if ((previousState === null || previousState === void 0 ? void 0 : previousState.currentStep) !== currentStep && currentStep > 0) {
29
- var visibleStepInnerContent = document.querySelector(".".concat(blockClass, "__step.").concat(blockClass, "__step__step--visible-step"));
30
- var focusableStepElements = visibleStepInnerContent ? (0, _getFocusableElements.getFocusableElements)(visibleStepInnerContent) : [];
31
- if (focusableStepElements && focusableStepElements.length) {
32
- focusableStepElements[0].focus();
33
- } else {
34
- var nextButton = document.querySelector(".".concat(blockClass, "__create-button"));
35
- nextButton === null || nextButton === void 0 ? void 0 : nextButton.focus();
53
+ if (firstFocusElement) {
54
+ var elm = document.querySelector(firstFocusElement);
55
+ if (elm) {
56
+ awaitFocus(elm);
57
+ }
36
58
  }
37
59
  }
38
- }, [currentStep, previousState, blockClass, onMount]);
60
+ }, [currentStep, previousState, blockClass, onMount, firstFocusElement]);
39
61
  };
40
62
  exports.useCreateComponentFocus = useCreateComponentFocus;
@@ -50,25 +50,23 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
50
50
  var handleOnRequestSubmit = /*#__PURE__*/function () {
51
51
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
52
52
  return _regenerator.default.wrap(function _callee$(_context) {
53
- while (1) {
54
- switch (_context.prev = _context.next) {
55
- case 0:
56
- _context.prev = 0;
57
- _context.next = 3;
58
- return onRequestSubmit();
59
- case 3:
60
- onUnmount();
61
- _context.next = 10;
62
- break;
63
- case 6:
64
- _context.prev = 6;
65
- _context.t0 = _context["catch"](0);
66
- setIsSubmitting(false);
67
- console.warn("".concat(componentName, " submit error: ").concat(_context.t0));
68
- case 10:
69
- case "end":
70
- return _context.stop();
71
- }
53
+ while (1) switch (_context.prev = _context.next) {
54
+ case 0:
55
+ _context.prev = 0;
56
+ _context.next = 3;
57
+ return onRequestSubmit();
58
+ case 3:
59
+ onUnmount();
60
+ _context.next = 10;
61
+ break;
62
+ case 6:
63
+ _context.prev = 6;
64
+ _context.t0 = _context["catch"](0);
65
+ setIsSubmitting(false);
66
+ console.warn("".concat(componentName, " submit error: ").concat(_context.t0));
67
+ case 10:
68
+ case "end":
69
+ return _context.stop();
72
70
  }
73
71
  }, _callee, null, [[0, 6]]);
74
72
  }));
@@ -79,35 +77,33 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
79
77
  var handleNext = /*#__PURE__*/function () {
80
78
  var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
81
79
  return _regenerator.default.wrap(function _callee2$(_context2) {
82
- while (1) {
83
- switch (_context2.prev = _context2.next) {
84
- case 0:
85
- setIsSubmitting(true);
86
- if (!(typeof onNext === 'function')) {
87
- _context2.next = 14;
88
- break;
89
- }
90
- _context2.prev = 2;
91
- _context2.next = 5;
92
- return onNext();
93
- case 5:
94
- continueToNextStep();
95
- _context2.next = 12;
96
- break;
97
- case 8:
98
- _context2.prev = 8;
99
- _context2.t0 = _context2["catch"](2);
100
- setIsSubmitting(false);
101
- console.warn("".concat(componentName, " onNext error: ").concat(_context2.t0));
102
- case 12:
103
- _context2.next = 15;
80
+ while (1) switch (_context2.prev = _context2.next) {
81
+ case 0:
82
+ setIsSubmitting(true);
83
+ if (!(typeof onNext === 'function')) {
84
+ _context2.next = 14;
104
85
  break;
105
- case 14:
106
- continueToNextStep();
107
- case 15:
108
- case "end":
109
- return _context2.stop();
110
- }
86
+ }
87
+ _context2.prev = 2;
88
+ _context2.next = 5;
89
+ return onNext();
90
+ case 5:
91
+ continueToNextStep();
92
+ _context2.next = 12;
93
+ break;
94
+ case 8:
95
+ _context2.prev = 8;
96
+ _context2.t0 = _context2["catch"](2);
97
+ setIsSubmitting(false);
98
+ console.warn("".concat(componentName, " onNext error: ").concat(_context2.t0));
99
+ case 12:
100
+ _context2.next = 15;
101
+ break;
102
+ case 14:
103
+ continueToNextStep();
104
+ case 15:
105
+ case "end":
106
+ return _context2.stop();
111
107
  }
112
108
  }, _callee2, null, [[2, 8]]);
113
109
  }));
@@ -118,39 +114,37 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
118
114
  var handleSubmit = /*#__PURE__*/function () {
119
115
  var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
120
116
  return _regenerator.default.wrap(function _callee3$(_context3) {
121
- while (1) {
122
- switch (_context3.prev = _context3.next) {
123
- case 0:
124
- setIsSubmitting(true);
125
- // last step should have onNext as well
126
- if (!(typeof onNext === 'function')) {
127
- _context3.next = 15;
128
- break;
129
- }
130
- _context3.prev = 2;
131
- _context3.next = 5;
132
- return onNext();
133
- case 5:
134
- _context3.next = 7;
135
- return handleOnRequestSubmit();
136
- case 7:
137
- _context3.next = 13;
138
- break;
139
- case 9:
140
- _context3.prev = 9;
141
- _context3.t0 = _context3["catch"](2);
142
- setIsSubmitting(false);
143
- console.warn("".concat(componentName, " onNext error: ").concat(_context3.t0));
144
- case 13:
145
- _context3.next = 17;
117
+ while (1) switch (_context3.prev = _context3.next) {
118
+ case 0:
119
+ setIsSubmitting(true);
120
+ // last step should have onNext as well
121
+ if (!(typeof onNext === 'function')) {
122
+ _context3.next = 15;
146
123
  break;
147
- case 15:
148
- _context3.next = 17;
149
- return handleOnRequestSubmit();
150
- case 17:
151
- case "end":
152
- return _context3.stop();
153
- }
124
+ }
125
+ _context3.prev = 2;
126
+ _context3.next = 5;
127
+ return onNext();
128
+ case 5:
129
+ _context3.next = 7;
130
+ return handleOnRequestSubmit();
131
+ case 7:
132
+ _context3.next = 13;
133
+ break;
134
+ case 9:
135
+ _context3.prev = 9;
136
+ _context3.t0 = _context3["catch"](2);
137
+ setIsSubmitting(false);
138
+ console.warn("".concat(componentName, " onNext error: ").concat(_context3.t0));
139
+ case 13:
140
+ _context3.next = 17;
141
+ break;
142
+ case 15:
143
+ _context3.next = 17;
144
+ return handleOnRequestSubmit();
145
+ case 17:
146
+ case "end":
147
+ return _context3.stop();
154
148
  }
155
149
  }, _callee3, null, [[2, 9]]);
156
150
  }));
@@ -148,20 +148,18 @@ var expectWarnAsync = /*#__PURE__*/function () {
148
148
  var _expect2;
149
149
  var warn;
150
150
  return _regenerator.default.wrap(function _callee$(_context) {
151
- while (1) {
152
- switch (_context.prev = _context.next) {
153
- case 0:
154
- warn = jest.spyOn(console, 'warn').mockImplementation(jest.fn());
155
- _context.next = 3;
156
- return test();
157
- case 3:
158
- expect(warn).toBeCalledTimes(1);
159
- (_expect2 = expect(warn)).toHaveBeenCalledWith.apply(_expect2, (0, _toConsumableArray2.default)(makeMatcherArray(message)));
160
- warn.mockRestore();
161
- case 6:
162
- case "end":
163
- return _context.stop();
164
- }
151
+ while (1) switch (_context.prev = _context.next) {
152
+ case 0:
153
+ warn = jest.spyOn(console, 'warn').mockImplementation(jest.fn());
154
+ _context.next = 3;
155
+ return test();
156
+ case 3:
157
+ expect(warn).toBeCalledTimes(1);
158
+ (_expect2 = expect(warn)).toHaveBeenCalledWith.apply(_expect2, (0, _toConsumableArray2.default)(makeMatcherArray(message)));
159
+ warn.mockRestore();
160
+ case 6:
161
+ case "end":
162
+ return _context.stop();
165
163
  }
166
164
  }, _callee);
167
165
  }));
@@ -8,7 +8,7 @@ exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
10
10
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
12
  /**
13
13
  * unwrapIfFragment - walks the passed children unwrapping fragments
14
14
  * to create a flat array of all children
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/ibm-products",
3
3
  "description": "Carbon for IBM Products",
4
- "version": "1.40.0",
4
+ "version": "1.41.1",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -51,27 +51,27 @@
51
51
  "upgrade-dependencies": "npm-check-updates -u --dep dev,peer,prod --color --reject '/(carbon|^react$|^react-dom$|^chalk$|^react-dnd|^namor)/'"
52
52
  },
53
53
  "devDependencies": {
54
- "@babel/cli": "^7.19.3",
55
- "@babel/core": "^7.20.2",
56
- "babel-preset-ibm-cloud-cognitive": "^0.14.24",
54
+ "@babel/cli": "^7.20.7",
55
+ "@babel/core": "^7.20.7",
56
+ "babel-preset-ibm-cloud-cognitive": "^0.14.25",
57
57
  "chalk": "^4.1.2",
58
58
  "change-case": "^4.1.2",
59
59
  "copyfiles": "^2.4.1",
60
60
  "cross-env": "^7.0.3",
61
- "fs-extra": "^10.1.0",
61
+ "fs-extra": "^11.1.0",
62
62
  "glob": "^8.0.3",
63
63
  "jest": "^29.3.1",
64
- "jest-config-ibm-cloud-cognitive": "^0.24.10",
64
+ "jest-config-ibm-cloud-cognitive": "^0.24.11",
65
65
  "jest-environment-jsdom": "^29.3.1",
66
66
  "namor": "^1.1.2",
67
- "npm-check-updates": "^16.4.1",
67
+ "npm-check-updates": "^16.6.2",
68
68
  "npm-run-all": "^4.1.5",
69
69
  "rimraf": "^3.0.2",
70
- "sass": "^1.56.1",
70
+ "sass": "^1.57.1",
71
71
  "yargs": "^17.6.2"
72
72
  },
73
73
  "dependencies": {
74
- "@babel/runtime": "^7.20.1",
74
+ "@babel/runtime": "^7.20.7",
75
75
  "@carbon/telemetry": "^0.1.0",
76
76
  "framer-motion": "^6.5.1",
77
77
  "immutability-helper": "^3.1.1",
@@ -95,5 +95,5 @@
95
95
  "react": "^16.8.6 || ^17.0.1",
96
96
  "react-dom": "^16.8.6 || ^17.0.1"
97
97
  },
98
- "gitHead": "05ee7cdcf736a836aafbb7b74e11211b4a5787c8"
98
+ "gitHead": "4e127c6006183ae079ce089691fb1ee45d85bf1a"
99
99
  }