@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.
- package/css/index-full-carbon.css +39 -65
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +2 -2
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +1 -0
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +39 -65
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +2 -2
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +39 -65
- package/css/index.css.map +1 -1
- package/css/index.min.css +2 -2
- package/css/index.min.css.map +1 -1
- package/es/components/APIKeyModal/APIKeyDownloader.js +21 -23
- package/es/components/APIKeyModal/APIKeyModal.js +43 -45
- package/es/components/AddSelect/AddSelectBody.js +1 -1
- package/es/components/AddSelect/hooks/usePath.js +7 -1
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +1 -1
- package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +1 -1
- package/es/components/CreateFullPage/CreateFullPage.js +8 -2
- package/es/components/CreateTearsheet/CreateTearsheet.js +8 -2
- package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +4 -2
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +1 -3
- package/es/components/DataSpreadsheet/utils/handleCellDeletion.js +5 -4
- package/es/components/Datagrid/Datagrid/DatagridContent.js +18 -6
- package/es/components/Datagrid/Datagrid/DatagridEmptyBody.js +9 -3
- package/es/components/Datagrid/Datagrid/DatagridRow.js +2 -8
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +27 -8
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +7 -9
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +11 -13
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +26 -24
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/{CustomizeColumnsModal.js → CustomizeColumnsTearsheet.js} +32 -32
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +51 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +6 -7
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +26 -36
- package/es/components/Datagrid/Datagrid.stories/index.js +1 -1
- package/es/components/Datagrid/useCustomizeColumns.js +13 -15
- package/es/components/Datagrid/useFiltering.js +0 -2
- package/es/components/Datagrid/useParentDimensions.js +3 -1
- package/es/components/Datagrid/utils/getArgTypes.js +5 -0
- package/es/components/Datagrid/utils/getInlineEditColumns.js +6 -1
- package/es/components/ImportModal/ImportModal.js +42 -44
- package/es/components/index.js +1 -1
- package/es/global/js/hooks/useCreateComponentFocus.js +31 -10
- package/es/global/js/hooks/useCreateComponentStepChange.js +73 -79
- package/es/global/js/utils/test-helper.js +12 -14
- package/es/global/js/utils/unwrap-if-fragment.js +1 -1
- package/lib/components/APIKeyModal/APIKeyDownloader.js +21 -23
- package/lib/components/APIKeyModal/APIKeyModal.js +43 -45
- package/lib/components/AddSelect/AddSelectBody.js +1 -1
- package/lib/components/AddSelect/hooks/usePath.js +6 -0
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +1 -1
- package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +1 -1
- package/lib/components/CreateFullPage/CreateFullPage.js +8 -2
- package/lib/components/CreateTearsheet/CreateTearsheet.js +8 -2
- package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +4 -2
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +1 -3
- package/lib/components/DataSpreadsheet/utils/handleCellDeletion.js +5 -4
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +18 -6
- package/lib/components/Datagrid/Datagrid/DatagridEmptyBody.js +9 -3
- package/lib/components/Datagrid/Datagrid/DatagridRow.js +2 -11
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +27 -8
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Actions.js +7 -9
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/ButtonWrapper.js +6 -6
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/Columns.js +26 -24
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/{CustomizeColumnsModal.js → CustomizeColumnsTearsheet.js} +26 -25
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/{ModalWrapper.js → TearsheetWrapper.js} +30 -33
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/index.js +3 -3
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +26 -36
- package/lib/components/Datagrid/Datagrid.stories/index.js +1 -1
- package/lib/components/Datagrid/useCustomizeColumns.js +7 -7
- package/lib/components/Datagrid/useFiltering.js +0 -2
- package/lib/components/Datagrid/useParentDimensions.js +3 -1
- package/lib/components/Datagrid/utils/getArgTypes.js +5 -0
- package/lib/components/Datagrid/utils/getInlineEditColumns.js +6 -1
- package/lib/components/ImportModal/ImportModal.js +42 -44
- package/lib/components/index.js +6 -0
- package/lib/global/js/hooks/useCreateComponentFocus.js +32 -10
- package/lib/global/js/hooks/useCreateComponentStepChange.js +73 -79
- package/lib/global/js/utils/test-helper.js +12 -14
- package/lib/global/js/utils/unwrap-if-fragment.js +1 -1
- package/package.json +10 -10
- package/scss/components/Datagrid/_storybook-styles.scss +7 -0
- package/scss/components/Datagrid/styles/_datagrid.scss +22 -0
- package/scss/components/Datagrid/styles/_draggableElement.scss +9 -8
- package/scss/components/Datagrid/styles/_index.scss +8 -8
- package/scss/components/Datagrid/styles/addons/_CustomizeColumnsTearsheet.scss +60 -0
- package/scss/components/FilterSummary/_filter-summary.scss +1 -0
- package/scss/components/Tearsheet/_tearsheet.scss +2 -0
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/ModalWrapper.js +0 -56
- 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
|
-
|
|
104
|
-
|
|
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
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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
|
-
}, [
|
|
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, "
|
|
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
|
-
|
|
22
|
-
|
|
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
|
-
|
|
30
|
-
|
|
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
|
-
|
|
36
|
-
|
|
35
|
+
isTearsheetOpen: isTearsheetOpen,
|
|
36
|
+
setIsTearsheetOpen: setIsTearsheetOpen
|
|
37
37
|
}, props));
|
|
38
38
|
},
|
|
39
|
-
|
|
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: {
|
|
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
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
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
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
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
|
}));
|
package/lib/components/index.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
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
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
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
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
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++)
|
|
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.
|
|
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.
|
|
55
|
-
"@babel/core": "^7.20.
|
|
56
|
-
"babel-preset-ibm-cloud-cognitive": "^0.14.
|
|
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": "^
|
|
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.
|
|
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.
|
|
67
|
+
"npm-check-updates": "^16.6.2",
|
|
68
68
|
"npm-run-all": "^4.1.5",
|
|
69
69
|
"rimraf": "^3.0.2",
|
|
70
|
-
"sass": "^1.
|
|
70
|
+
"sass": "^1.57.1",
|
|
71
71
|
"yargs": "^17.6.2"
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@babel/runtime": "^7.20.
|
|
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": "
|
|
98
|
+
"gitHead": "4e127c6006183ae079ce089691fb1ee45d85bf1a"
|
|
99
99
|
}
|