@carbon/ibm-products 1.40.0 → 1.41.1

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 (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
  }