@carbon/ibm-products 2.6.1 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/index-full-carbon.css +6288 -5847
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +3 -3
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +21 -21
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +2 -2
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +1256 -184
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +3 -3
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +3666 -3609
- 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/CreateTearsheet/CreateTearsheet.js +30 -14
- package/es/components/CreateTearsheet/CreateTearsheetStep.js +10 -4
- package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +3 -0
- package/es/components/Datagrid/Datagrid/Datagrid.js +12 -7
- package/es/components/Datagrid/Datagrid/DatagridContent.js +18 -14
- package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +12 -1
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +1 -23
- package/es/components/Datagrid/utils/getColTitle.js +25 -0
- package/es/components/NotificationsPanel/NotificationsPanel.js +5 -5
- package/es/components/OptionsTile/OptionsTile.js +2 -4
- package/es/global/js/hooks/useCreateComponentStepChange.js +98 -49
- package/es/global/js/hooks/useResizeObserver.js +15 -1
- package/es/global/js/hooks/useRetrieveStepData.js +1 -1
- package/es/global/js/utils/StoryDocsPage.js +0 -1
- package/lib/components/CreateTearsheet/CreateTearsheet.js +30 -14
- package/lib/components/CreateTearsheet/CreateTearsheetStep.js +10 -4
- package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +3 -0
- package/lib/components/Datagrid/Datagrid/Datagrid.js +12 -7
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +17 -13
- package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +12 -1
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +4 -26
- package/lib/components/Datagrid/utils/getColTitle.js +32 -0
- package/lib/components/NotificationsPanel/NotificationsPanel.js +5 -5
- package/lib/components/OptionsTile/OptionsTile.js +2 -4
- package/lib/global/js/hooks/useCreateComponentStepChange.js +98 -49
- package/lib/global/js/hooks/useResizeObserver.js +15 -1
- package/lib/global/js/hooks/useRetrieveStepData.js +1 -1
- package/lib/global/js/utils/StoryDocsPage.js +0 -1
- package/package.json +8 -8
@@ -16,7 +16,7 @@ var _pconsole = _interopRequireDefault(require("../../../global/js/utils/pconsol
|
|
16
16
|
var _InlineEditContext = require("./addons/InlineEdit/InlineEditContext");
|
17
17
|
var _DatagridContent = require("./DatagridContent");
|
18
18
|
var _FilterProvider = require("./addons/Filtering/FilterProvider");
|
19
|
-
var _excluded = ["datagridState"];
|
19
|
+
var _excluded = ["datagridState", "title"];
|
20
20
|
/**
|
21
21
|
* Copyright IBM Corp. 2020, 2023
|
22
22
|
*
|
@@ -31,6 +31,7 @@ var componentName = 'Datagrid';
|
|
31
31
|
*/
|
32
32
|
var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
33
33
|
var datagridState = _ref.datagridState,
|
34
|
+
title = _ref.title,
|
34
35
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
35
36
|
if (!datagridState) {
|
36
37
|
_pconsole.default.warn('Datagrid was not passed datagridState which is required to render this component.');
|
@@ -44,6 +45,10 @@ var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
44
45
|
className = datagridState.className,
|
45
46
|
filters = datagridState.state.filters;
|
46
47
|
var rows = DatagridPagination && datagridState.page || datagridState.rows;
|
48
|
+
var props = {
|
49
|
+
title: title,
|
50
|
+
datagridState: datagridState
|
51
|
+
};
|
47
52
|
return /*#__PURE__*/_react.default.createElement(_FilterProvider.FilterProvider, {
|
48
53
|
filters: filters
|
49
54
|
}, /*#__PURE__*/_react.default.createElement(_InlineEditContext.InlineEditProvider, null, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
|
@@ -52,11 +57,7 @@ var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
52
57
|
className: (0, _classnames.default)(className, blockClass, withVirtualScroll ? "".concat(blockClass, "__datagridWrap") : "".concat(blockClass, "__datagridWrap-simple"), !isFetching && rows.length === 0 ? "".concat(blockClass, "__empty-state") : '')
|
53
58
|
}, (0, _devtools.getDevtoolsProps)(componentName)), (filterProps === null || filterProps === void 0 ? void 0 : filterProps.variation) === 'panel' ? /*#__PURE__*/_react.default.createElement("div", {
|
54
59
|
className: "".concat(blockClass, "__datagridWithPanel ").concat(blockClass, "__displayFlex")
|
55
|
-
}, /*#__PURE__*/_react.default.createElement(_DatagridContent.DatagridContent,
|
56
|
-
datagridState: datagridState
|
57
|
-
})) : /*#__PURE__*/_react.default.createElement(_DatagridContent.DatagridContent, {
|
58
|
-
datagridState: datagridState
|
59
|
-
}))));
|
60
|
+
}, /*#__PURE__*/_react.default.createElement(_DatagridContent.DatagridContent, props)) : /*#__PURE__*/_react.default.createElement(_DatagridContent.DatagridContent, props))));
|
60
61
|
});
|
61
62
|
|
62
63
|
// Return a placeholder if not released and not enabled by feature flag
|
@@ -70,5 +71,9 @@ Datagrid.propTypes = {
|
|
70
71
|
/**
|
71
72
|
* The data grid state, much of it being supplied by the useDatagrid hook
|
72
73
|
*/
|
73
|
-
datagridState: _propTypes.default.object.isRequired
|
74
|
+
datagridState: _propTypes.default.object.isRequired,
|
75
|
+
/**
|
76
|
+
* Table title
|
77
|
+
*/
|
78
|
+
title: _propTypes.default.string
|
74
79
|
};
|
@@ -8,23 +8,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
exports.DatagridContent = void 0;
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
+
var _Filtering = require("./addons/Filtering");
|
11
12
|
var _react = _interopRequireWildcard(require("react"));
|
12
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
13
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
14
13
|
var _react2 = require("@carbon/react");
|
15
|
-
var
|
16
|
-
var
|
14
|
+
var _settings = require("../../../settings");
|
15
|
+
var _constants = require("./addons/Filtering/constants");
|
17
16
|
var _DatagridBody = _interopRequireDefault(require("./DatagridBody"));
|
17
|
+
var _DatagridHead = _interopRequireDefault(require("./DatagridHead"));
|
18
18
|
var _DatagridToolbar = _interopRequireDefault(require("./DatagridToolbar"));
|
19
|
-
var
|
20
|
-
var _settings = require("../../../settings");
|
19
|
+
var _FilterSummary = require("../../FilterSummary");
|
21
20
|
var _InlineEditContext = require("./addons/InlineEdit/InlineEditContext");
|
22
|
-
var
|
21
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
22
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
23
23
|
var _handleGridFocus = require("./addons/InlineEdit/handleGridFocus");
|
24
|
+
var _handleGridKeyPress = require("./addons/InlineEdit/handleGridKeyPress");
|
25
|
+
var _layout = require("@carbon/layout");
|
24
26
|
var _hooks = require("../../../global/js/hooks");
|
25
27
|
var _hooks2 = require("../../DataSpreadsheet/hooks");
|
26
|
-
var _FilterSummary = require("../../FilterSummary");
|
27
|
-
var _constants = require("./addons/Filtering/constants");
|
28
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
29
29
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
30
30
|
/**
|
@@ -37,7 +37,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
37
37
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
38
38
|
var DatagridContent = function DatagridContent(_ref) {
|
39
39
|
var _cx4;
|
40
|
-
var datagridState = _ref.datagridState
|
40
|
+
var datagridState = _ref.datagridState,
|
41
|
+
title = _ref.title;
|
41
42
|
var _useContext = (0, _react.useContext)(_InlineEditContext.InlineEditContext),
|
42
43
|
inlineEditState = _useContext.state,
|
43
44
|
dispatch = _useContext.dispatch;
|
@@ -105,7 +106,8 @@ var DatagridContent = function DatagridContent(_ref) {
|
|
105
106
|
} : null,
|
106
107
|
onFocus: withInlineEdit ? function () {
|
107
108
|
return (0, _handleGridFocus.handleGridFocus)(inlineEditState, dispatch);
|
108
|
-
} : null
|
109
|
+
} : null,
|
110
|
+
title: title
|
109
111
|
}), !withVirtualScroll ? /*#__PURE__*/_react.default.createElement(_DatagridHead.default, datagridState) : null, /*#__PURE__*/_react.default.createElement(_DatagridBody.default, (0, _extends2.default)({}, datagridState, {
|
110
112
|
rows: rows
|
111
113
|
})));
|
@@ -136,7 +138,8 @@ var DatagridContent = function DatagridContent(_ref) {
|
|
136
138
|
filters: filterTags,
|
137
139
|
clearFilters: function clearFilters() {
|
138
140
|
return EventEmitter.dispatch(_constants.CLEAR_FILTERS);
|
139
|
-
}
|
141
|
+
},
|
142
|
+
renderLabel: filterProps.renderLabel
|
140
143
|
});
|
141
144
|
};
|
142
145
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_react2.TableContainer, {
|
@@ -188,5 +191,6 @@ DatagridContent.propTypes = {
|
|
188
191
|
setAllFilters: _propTypes.default.func,
|
189
192
|
getFilterProps: _propTypes.default.func,
|
190
193
|
state: _propTypes.default.object
|
191
|
-
})
|
194
|
+
}),
|
195
|
+
title: _propTypes.default.string
|
192
196
|
};
|
@@ -12,6 +12,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
12
|
var _react2 = require("@carbon/react");
|
13
13
|
var _commonColumnIds = require("../common-column-ids");
|
14
14
|
var _settings = require("../../../settings");
|
15
|
+
var _getColTitle = _interopRequireDefault(require("../utils/getColTitle"));
|
15
16
|
/**
|
16
17
|
* Copyright IBM Corp. 2020, 2022
|
17
18
|
*
|
@@ -22,6 +23,16 @@ var _settings = require("../../../settings");
|
|
22
23
|
// @flow
|
23
24
|
|
24
25
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
26
|
+
var getAccessibilityProps = function getAccessibilityProps(header) {
|
27
|
+
var props = {};
|
28
|
+
var title = (0, _getColTitle.default)(header);
|
29
|
+
if (title) {
|
30
|
+
props.title = title;
|
31
|
+
} else {
|
32
|
+
props['aria-hidden'] = true;
|
33
|
+
}
|
34
|
+
return props;
|
35
|
+
};
|
25
36
|
var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
26
37
|
return /*#__PURE__*/_react.default.createElement(_react2.TableRow, (0, _extends2.default)({}, headerGroup.getHeaderGroupProps({
|
27
38
|
role: false
|
@@ -44,7 +55,7 @@ var HeaderRow = function HeaderRow(datagridState, headRef, headerGroup) {
|
|
44
55
|
}), {
|
45
56
|
className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__resizableColumn"), header.getResizerProps), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isResizing"), header.isResizing), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__sortableColumn"), datagridState.isTableSortable), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__isSorted"), header.isSorted), _cx), header.getHeaderProps().className),
|
46
57
|
key: header.id
|
47
|
-
}), header.render('Header'), header.getResizerProps && /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, header.getResizerProps(), {
|
58
|
+
}, getAccessibilityProps(header)), header.render('Header'), header.getResizerProps && /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, header.getResizerProps(), {
|
48
59
|
className: "".concat(blockClass, "__resizer")
|
49
60
|
})));
|
50
61
|
}));
|
@@ -11,6 +11,7 @@ var _react2 = require("@carbon/react");
|
|
11
11
|
var _common = require("./common");
|
12
12
|
var _DraggableElement = _interopRequireDefault(require("../../DraggableElement"));
|
13
13
|
var _settings = require("../../../../../settings");
|
14
|
+
var _getColTitle2 = _interopRequireDefault(require("../../../utils/getColTitle"));
|
14
15
|
/**
|
15
16
|
* Copyright IBM Corp. 2023, 2023
|
16
17
|
*
|
@@ -29,40 +30,17 @@ var DraggableItemsList = function DraggableItemsList(_ref) {
|
|
29
30
|
setAriaRegionText = _ref.setAriaRegionText,
|
30
31
|
setColumnsObject = _ref.setColumnsObject,
|
31
32
|
setFocusIndex = _ref.setFocusIndex;
|
32
|
-
// This function recursively looks for the nested header element until we can find the key which contains the title.
|
33
|
-
// This can happen if multiple hooks are used together that manipulate the rendering of the column
|
34
|
-
// header, such as `useColumnCenterAlign` and `useSortableColumns`.
|
35
|
-
var getNestedTitle = function getNestedTitle(component) {
|
36
|
-
if (component && !component.key) {
|
37
|
-
return getNestedTitle(component.children);
|
38
|
-
}
|
39
|
-
if (component && component.key && typeof component.key === 'string') {
|
40
|
-
return component.key;
|
41
|
-
}
|
42
|
-
};
|
43
|
-
var getColTitle = function getColTitle(col) {
|
44
|
-
if (!col) {
|
45
|
-
return;
|
46
|
-
}
|
47
|
-
var checkTitle = function checkTitle() {
|
48
|
-
if (col.Header().props.children.props && col.Header().props.children.props.title) {
|
49
|
-
return col.Header().props.children.props.title;
|
50
|
-
}
|
51
|
-
return getNestedTitle(col.Header().props.children.props);
|
52
|
-
};
|
53
|
-
return typeof (col === null || col === void 0 ? void 0 : col.Header) === 'function' ? checkTitle() : col.Header.props.title;
|
54
|
-
};
|
55
33
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, columns
|
56
34
|
// hide the columns without Header, e.g the sticky actions, spacer
|
57
35
|
.filter(function (colDef) {
|
58
|
-
return !!
|
36
|
+
return !!(0, _getColTitle2.default)(colDef);
|
59
37
|
}).filter(Boolean).filter(function (colDef) {
|
60
38
|
return !colDef.isAction;
|
61
39
|
}).filter(function (colDef) {
|
62
40
|
var _getColTitle;
|
63
|
-
return filterString.length === 0 || ((_getColTitle =
|
41
|
+
return filterString.length === 0 || ((_getColTitle = (0, _getColTitle2.default)(colDef)) === null || _getColTitle === void 0 ? void 0 : _getColTitle.toLowerCase().includes(filterString)) && colDef.id !== 'spacer';
|
64
42
|
}).map(function (colDef, i) {
|
65
|
-
var colHeaderTitle =
|
43
|
+
var colHeaderTitle = (0, _getColTitle2.default)(colDef);
|
66
44
|
var searchString = new RegExp('(' + filterString + ')');
|
67
45
|
var res = filterString.length ? colHeaderTitle.toLowerCase().split(searchString) : null;
|
68
46
|
var firstWord = res !== null ? res[0] === '' ? res[1].charAt(0).toUpperCase() + res[1].substring(1) : res[0].charAt(0).toUpperCase() + res[0].substring(1) : null;
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
// This function recursively looks for the nested header element until we can find the key which contains the title.
|
8
|
+
// This can happen if multiple hooks are used together that manipulate the rendering of the column
|
9
|
+
// header, such as `useColumnCenterAlign` and `useSortableColumns`.
|
10
|
+
var getNestedTitle = function getNestedTitle(component) {
|
11
|
+
if (component && !component.key) {
|
12
|
+
return getNestedTitle(component.children);
|
13
|
+
}
|
14
|
+
if (component && component.key && typeof component.key === 'string') {
|
15
|
+
return component.key;
|
16
|
+
}
|
17
|
+
};
|
18
|
+
var getColTitle = function getColTitle(col) {
|
19
|
+
var _col$Header;
|
20
|
+
if (!col) {
|
21
|
+
return;
|
22
|
+
}
|
23
|
+
var checkTitle = function checkTitle() {
|
24
|
+
if (col.Header().props.children.props && col.Header().props.children.props.title) {
|
25
|
+
return col.Header().props.children.props.title;
|
26
|
+
}
|
27
|
+
return getNestedTitle(col.Header().props.children.props);
|
28
|
+
};
|
29
|
+
return typeof (col === null || col === void 0 ? void 0 : col.Header) === 'function' ? checkTitle() : col === null || col === void 0 || (_col$Header = col.Header) === null || _col$Header === void 0 || (_col$Header = _col$Header.props) === null || _col$Header === void 0 ? void 0 : _col$Header.title;
|
30
|
+
};
|
31
|
+
var _default = getColTitle;
|
32
|
+
exports.default = _default;
|
@@ -336,7 +336,7 @@ var NotificationsPanel = /*#__PURE__*/_react.default.forwardRef(function (_ref,
|
|
336
336
|
className: "".concat(blockClass, "__header-container")
|
337
337
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
338
338
|
className: "".concat(blockClass, "__header-flex")
|
339
|
-
}, /*#__PURE__*/_react.default.createElement("
|
339
|
+
}, /*#__PURE__*/_react.default.createElement("h2", {
|
340
340
|
className: "".concat(blockClass, "__header")
|
341
341
|
}, title), /*#__PURE__*/_react.default.createElement(_react2.Button, {
|
342
342
|
size: "sm",
|
@@ -345,7 +345,7 @@ var NotificationsPanel = /*#__PURE__*/_react.default.forwardRef(function (_ref,
|
|
345
345
|
onClick: function onClick() {
|
346
346
|
return onDismissAllNotifications();
|
347
347
|
}
|
348
|
-
}, dismissAllLabel)), /*#__PURE__*/_react.default.createElement(_react2.Toggle, {
|
348
|
+
}, dismissAllLabel)), onDoNotDisturbChange && /*#__PURE__*/_react.default.createElement(_react2.Toggle, {
|
349
349
|
size: "sm",
|
350
350
|
className: "".concat(blockClass, "__do-not-disturb-toggle"),
|
351
351
|
id: "".concat(blockClass, "__do-not-disturb-toggle-component"),
|
@@ -447,11 +447,11 @@ NotificationsPanel.propTypes = {
|
|
447
447
|
*/
|
448
448
|
dismissSingleNotificationIconDescription: _propTypes.default.string,
|
449
449
|
/**
|
450
|
-
* Determines if the `Do not disturb` toggle is on or off when the component is rendered
|
450
|
+
* Optional: Determines if the `Do not disturb` toggle is on or off when the component is rendered
|
451
451
|
*/
|
452
452
|
doNotDisturbDefaultToggled: _propTypes.default.bool,
|
453
453
|
/**
|
454
|
-
* Label for Do not disturb toggle
|
454
|
+
* Optional: Label for Do not disturb toggle
|
455
455
|
*/
|
456
456
|
doNotDisturbLabel: _propTypes.default.string,
|
457
457
|
/**
|
@@ -499,7 +499,7 @@ NotificationsPanel.propTypes = {
|
|
499
499
|
*/
|
500
500
|
onDismissSingleNotification: _propTypes.default.func,
|
501
501
|
/**
|
502
|
-
*
|
502
|
+
* Optional: function that returns the current selected value of the disable notification toggle
|
503
503
|
*/
|
504
504
|
onDoNotDisturbChange: _propTypes.default.func,
|
505
505
|
/**
|
@@ -223,13 +223,11 @@ var OptionsTile = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
223
223
|
id: "".concat(id, "-toggle"),
|
224
224
|
className: "".concat(blockClass, "__toggle"),
|
225
225
|
toggled: enabled,
|
226
|
-
labelA: "",
|
227
|
-
labelB: "",
|
228
226
|
"aria-labelledby": titleId,
|
227
|
+
hideLabel: true,
|
229
228
|
onToggle: onToggle,
|
230
229
|
size: "sm",
|
231
|
-
disabled: isLocked
|
232
|
-
labelText: title
|
230
|
+
disabled: isLocked
|
233
231
|
})), isExpandable ? /*#__PURE__*/_react.default.createElement("details", {
|
234
232
|
open: isOpen,
|
235
233
|
ref: detailsRef
|
@@ -9,7 +9,7 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
10
10
|
var _react = require("react");
|
11
11
|
/**
|
12
|
-
* Copyright IBM Corp. 2021,
|
12
|
+
* Copyright IBM Corp. 2021, 2023
|
13
13
|
*
|
14
14
|
* This source code is licensed under the Apache-2.0 license found in the
|
15
15
|
* LICENSE file in the root directory of this source tree.
|
@@ -19,16 +19,19 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
|
|
19
19
|
var firstIncludedStep = _ref.firstIncludedStep,
|
20
20
|
lastIncludedStep = _ref.lastIncludedStep,
|
21
21
|
stepData = _ref.stepData,
|
22
|
+
onPrevious = _ref.onPrevious,
|
22
23
|
onNext = _ref.onNext,
|
23
24
|
isSubmitDisabled = _ref.isSubmitDisabled,
|
24
25
|
setCurrentStep = _ref.setCurrentStep,
|
25
26
|
setIsSubmitting = _ref.setIsSubmitting,
|
26
|
-
|
27
|
+
_ref$setLoadingPrevio = _ref.setLoadingPrevious,
|
28
|
+
setLoadingPrevious = _ref$setLoadingPrevio === void 0 ? null : _ref$setLoadingPrevio,
|
29
|
+
_ref$loadingPrevious = _ref.loadingPrevious,
|
30
|
+
loadingPrevious = _ref$loadingPrevious === void 0 ? false : _ref$loadingPrevious,
|
27
31
|
onClose = _ref.onClose,
|
28
32
|
onRequestSubmit = _ref.onRequestSubmit,
|
29
33
|
componentName = _ref.componentName,
|
30
34
|
currentStep = _ref.currentStep,
|
31
|
-
shouldViewAll = _ref.shouldViewAll,
|
32
35
|
backButtonText = _ref.backButtonText,
|
33
36
|
cancelButtonText = _ref.cancelButtonText,
|
34
37
|
submitButtonText = _ref.submitButtonText,
|
@@ -50,6 +53,21 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
|
|
50
53
|
return prev;
|
51
54
|
});
|
52
55
|
}, [setCurrentStep, setIsSubmitting, stepData]);
|
56
|
+
var moveToPreviousStep = (0, _react.useCallback)(function () {
|
57
|
+
if (componentName !== 'CreateFullPage') {
|
58
|
+
setLoadingPrevious(false);
|
59
|
+
}
|
60
|
+
setCurrentStep(function (prev) {
|
61
|
+
// Find previous included step to render
|
62
|
+
// There will always be a previous step otherwise we will
|
63
|
+
// have disabled the back button since we have reached the first visible step
|
64
|
+
do {
|
65
|
+
var _stepData2;
|
66
|
+
prev--;
|
67
|
+
} while (!((_stepData2 = stepData[prev - 1]) !== null && _stepData2 !== void 0 && _stepData2.shouldIncludeStep));
|
68
|
+
return prev;
|
69
|
+
});
|
70
|
+
}, [setCurrentStep, stepData, setLoadingPrevious, componentName]);
|
53
71
|
|
54
72
|
// useEffect to handle multi step logic
|
55
73
|
(0, _react.useEffect)(function () {
|
@@ -58,7 +76,6 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
|
|
58
76
|
setCurrentStep(0);
|
59
77
|
}
|
60
78
|
setIsSubmitting(false);
|
61
|
-
setShouldViewAll(false);
|
62
79
|
onClose();
|
63
80
|
};
|
64
81
|
var handleOnRequestSubmit = /*#__PURE__*/function () {
|
@@ -88,104 +105,136 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
|
|
88
105
|
return _ref2.apply(this, arguments);
|
89
106
|
};
|
90
107
|
}();
|
91
|
-
var
|
108
|
+
var handlePrevious = /*#__PURE__*/function () {
|
92
109
|
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
93
110
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
94
111
|
while (1) switch (_context2.prev = _context2.next) {
|
112
|
+
case 0:
|
113
|
+
if (!(componentName === 'CreateFullPage')) {
|
114
|
+
_context2.next = 2;
|
115
|
+
break;
|
116
|
+
}
|
117
|
+
return _context2.abrupt("return");
|
118
|
+
case 2:
|
119
|
+
setLoadingPrevious(true);
|
120
|
+
if (!(typeof onPrevious === 'function')) {
|
121
|
+
_context2.next = 15;
|
122
|
+
break;
|
123
|
+
}
|
124
|
+
_context2.prev = 4;
|
125
|
+
_context2.next = 7;
|
126
|
+
return onPrevious();
|
127
|
+
case 7:
|
128
|
+
moveToPreviousStep();
|
129
|
+
_context2.next = 13;
|
130
|
+
break;
|
131
|
+
case 10:
|
132
|
+
_context2.prev = 10;
|
133
|
+
_context2.t0 = _context2["catch"](4);
|
134
|
+
console.warn("".concat(componentName, " onBack error: ").concat(_context2.t0));
|
135
|
+
case 13:
|
136
|
+
_context2.next = 16;
|
137
|
+
break;
|
138
|
+
case 15:
|
139
|
+
moveToPreviousStep();
|
140
|
+
case 16:
|
141
|
+
case "end":
|
142
|
+
return _context2.stop();
|
143
|
+
}
|
144
|
+
}, _callee2, null, [[4, 10]]);
|
145
|
+
}));
|
146
|
+
return function handlePrevious() {
|
147
|
+
return _ref3.apply(this, arguments);
|
148
|
+
};
|
149
|
+
}();
|
150
|
+
var handleNext = /*#__PURE__*/function () {
|
151
|
+
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
152
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
153
|
+
while (1) switch (_context3.prev = _context3.next) {
|
95
154
|
case 0:
|
96
155
|
setIsSubmitting(true);
|
97
156
|
if (!(typeof onNext === 'function')) {
|
98
|
-
|
157
|
+
_context3.next = 14;
|
99
158
|
break;
|
100
159
|
}
|
101
|
-
|
102
|
-
|
160
|
+
_context3.prev = 2;
|
161
|
+
_context3.next = 5;
|
103
162
|
return onNext();
|
104
163
|
case 5:
|
105
164
|
continueToNextStep();
|
106
|
-
|
165
|
+
_context3.next = 12;
|
107
166
|
break;
|
108
167
|
case 8:
|
109
|
-
|
110
|
-
|
168
|
+
_context3.prev = 8;
|
169
|
+
_context3.t0 = _context3["catch"](2);
|
111
170
|
setIsSubmitting(false);
|
112
|
-
console.warn("".concat(componentName, " onNext error: ").concat(
|
171
|
+
console.warn("".concat(componentName, " onNext error: ").concat(_context3.t0));
|
113
172
|
case 12:
|
114
|
-
|
173
|
+
_context3.next = 15;
|
115
174
|
break;
|
116
175
|
case 14:
|
117
176
|
continueToNextStep();
|
118
177
|
case 15:
|
119
178
|
case "end":
|
120
|
-
return
|
179
|
+
return _context3.stop();
|
121
180
|
}
|
122
|
-
},
|
181
|
+
}, _callee3, null, [[2, 8]]);
|
123
182
|
}));
|
124
183
|
return function handleNext() {
|
125
|
-
return
|
184
|
+
return _ref4.apply(this, arguments);
|
126
185
|
};
|
127
186
|
}();
|
128
187
|
var handleSubmit = /*#__PURE__*/function () {
|
129
|
-
var
|
130
|
-
return _regenerator.default.wrap(function
|
131
|
-
while (1) switch (
|
188
|
+
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
189
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
190
|
+
while (1) switch (_context4.prev = _context4.next) {
|
132
191
|
case 0:
|
133
192
|
setIsSubmitting(true);
|
134
193
|
// last step should have onNext as well
|
135
194
|
if (!(typeof onNext === 'function')) {
|
136
|
-
|
195
|
+
_context4.next = 15;
|
137
196
|
break;
|
138
197
|
}
|
139
|
-
|
140
|
-
|
198
|
+
_context4.prev = 2;
|
199
|
+
_context4.next = 5;
|
141
200
|
return onNext();
|
142
201
|
case 5:
|
143
|
-
|
202
|
+
_context4.next = 7;
|
144
203
|
return handleOnRequestSubmit();
|
145
204
|
case 7:
|
146
|
-
|
205
|
+
_context4.next = 13;
|
147
206
|
break;
|
148
207
|
case 9:
|
149
|
-
|
150
|
-
|
208
|
+
_context4.prev = 9;
|
209
|
+
_context4.t0 = _context4["catch"](2);
|
151
210
|
setIsSubmitting(false);
|
152
|
-
console.warn("".concat(componentName, " onNext error: ").concat(
|
211
|
+
console.warn("".concat(componentName, " onNext error: ").concat(_context4.t0));
|
153
212
|
case 13:
|
154
|
-
|
213
|
+
_context4.next = 17;
|
155
214
|
break;
|
156
215
|
case 15:
|
157
|
-
|
216
|
+
_context4.next = 17;
|
158
217
|
return handleOnRequestSubmit();
|
159
218
|
case 17:
|
160
219
|
case "end":
|
161
|
-
return
|
220
|
+
return _context4.stop();
|
162
221
|
}
|
163
|
-
},
|
222
|
+
}, _callee4, null, [[2, 9]]);
|
164
223
|
}));
|
165
224
|
return function handleSubmit() {
|
166
|
-
return
|
225
|
+
return _ref5.apply(this, arguments);
|
167
226
|
};
|
168
227
|
}();
|
169
228
|
if ((stepData === null || stepData === void 0 ? void 0 : stepData.length) > 0) {
|
170
229
|
var buttons = [];
|
171
|
-
if ((stepData === null || stepData === void 0 ? void 0 : stepData.length) > 1
|
230
|
+
if ((stepData === null || stepData === void 0 ? void 0 : stepData.length) > 1) {
|
172
231
|
buttons.push({
|
173
232
|
key: 'create-action-button-back',
|
174
233
|
label: backButtonText,
|
175
|
-
onClick:
|
176
|
-
return setCurrentStep(function (prev) {
|
177
|
-
// Find previous included step to render
|
178
|
-
// There will always be a previous step otherwise we will
|
179
|
-
// have disabled the back button since we have reached the first visible step
|
180
|
-
do {
|
181
|
-
var _stepData2;
|
182
|
-
prev--;
|
183
|
-
} while (!((_stepData2 = stepData[prev - 1]) !== null && _stepData2 !== void 0 && _stepData2.shouldIncludeStep));
|
184
|
-
return prev;
|
185
|
-
});
|
186
|
-
},
|
234
|
+
onClick: handlePrevious,
|
187
235
|
kind: 'secondary',
|
188
|
-
disabled: currentStep === firstIncludedStep
|
236
|
+
disabled: currentStep === firstIncludedStep,
|
237
|
+
loading: loadingPrevious
|
189
238
|
});
|
190
239
|
}
|
191
240
|
buttons.push({
|
@@ -198,8 +247,8 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
|
|
198
247
|
});
|
199
248
|
buttons.push({
|
200
249
|
key: 'create-action-button-submit',
|
201
|
-
label:
|
202
|
-
onClick:
|
250
|
+
label: currentStep < lastIncludedStep ? nextButtonText : submitButtonText,
|
251
|
+
onClick: currentStep < lastIncludedStep ? handleNext : handleSubmit,
|
203
252
|
disabled: isSubmitDisabled,
|
204
253
|
kind: 'primary',
|
205
254
|
loading: isSubmitting,
|
@@ -207,6 +256,6 @@ var useCreateComponentStepChange = function useCreateComponentStepChange(_ref) {
|
|
207
256
|
});
|
208
257
|
setCreateComponentActions(buttons);
|
209
258
|
}
|
210
|
-
}, [firstIncludedStep, lastIncludedStep, stepData, onNext, isSubmitDisabled, backButtonText, cancelButtonText, currentStep, onClose, nextButtonText, submitButtonText, onRequestSubmit, isSubmitting,
|
259
|
+
}, [firstIncludedStep, lastIncludedStep, stepData, onNext, isSubmitDisabled, backButtonText, cancelButtonText, currentStep, onClose, nextButtonText, submitButtonText, onRequestSubmit, isSubmitting, componentBlockClass, componentName, continueToNextStep, setCurrentStep, setCreateComponentActions, setIsSubmitting, setModalIsOpen, moveToPreviousStep, onPrevious, setLoadingPrevious, loadingPrevious]);
|
211
260
|
};
|
212
261
|
exports.useCreateComponentStepChange = useCreateComponentStepChange;
|
@@ -26,11 +26,25 @@ var useResizeObserver = function useResizeObserver(ref, callback) {
|
|
26
26
|
var entriesToHandle = (0, _react.useRef)(null);
|
27
27
|
var cb = (0, _react.useRef)(callback);
|
28
28
|
(0, _react.useEffect)(function () {
|
29
|
-
// ref for callback removes it as dependency
|
29
|
+
// ref for callback removes it as dependency from useLayoutEffect
|
30
30
|
// This significantly reduces repeated calls if a function is redefined on every
|
31
31
|
// render
|
32
32
|
cb.current = callback;
|
33
33
|
}, [callback]);
|
34
|
+
(0, _react.useEffect)(function () {
|
35
|
+
var getInitialSize = function getInitialSize() {
|
36
|
+
if (ref.current) {
|
37
|
+
var _ref$current;
|
38
|
+
var refComputedStyle = window.getComputedStyle(ref.current);
|
39
|
+
var initialWidth = (((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.offsetWidth) || 0) - (parseFloat((refComputedStyle === null || refComputedStyle === void 0 ? void 0 : refComputedStyle.paddingLeft) || 0), parseFloat((refComputedStyle === null || refComputedStyle === void 0 ? void 0 : refComputedStyle.paddingRight) || 0));
|
40
|
+
setWidth(initialWidth);
|
41
|
+
}
|
42
|
+
};
|
43
|
+
if (!(ref !== null && ref !== void 0 && ref.current) && width !== 0) {
|
44
|
+
return;
|
45
|
+
}
|
46
|
+
getInitialSize();
|
47
|
+
}, [width, ref]);
|
34
48
|
(0, _react.useLayoutEffect)(function () {
|
35
49
|
if (!(ref !== null && ref !== void 0 && ref.current)) {
|
36
50
|
return;
|
@@ -8,7 +8,7 @@ exports.useRetrieveStepData = void 0;
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
9
9
|
var _react = require("react");
|
10
10
|
/**
|
11
|
-
* Copyright IBM Corp. 2022,
|
11
|
+
* Copyright IBM Corp. 2022, 2023
|
12
12
|
*
|
13
13
|
* This source code is licensed under the Apache-2.0 license found in the
|
14
14
|
* LICENSE file in the root directory of this source tree.
|
@@ -89,7 +89,6 @@ var StoryDocsPage = function StoryDocsPage(_ref2) {
|
|
89
89
|
var isFullScreen = (csfFile === null || csfFile === void 0 || (_csfFile$meta = csfFile.meta) === null || _csfFile$meta === void 0 || (_csfFile$meta = _csfFile$meta.parameters) === null || _csfFile$meta === void 0 ? void 0 : _csfFile$meta.layout) === 'fullscreen' || false;
|
90
90
|
var storyHelperClass = isFullScreen ? 'c4p--story-docs-page--fullscreen' : '';
|
91
91
|
var processedBlocks = processBlocks(blocks, csfFile.stories, omitUnreferencedStories);
|
92
|
-
console.log(processBlocks);
|
93
92
|
var storyCount = (_processedBlocks$filt = processedBlocks === null || processedBlocks === void 0 ? void 0 : processedBlocks.filter(function (block) {
|
94
93
|
return !!block.story;
|
95
94
|
}).length) !== null && _processedBlocks$filt !== void 0 ? _processedBlocks$filt : 0;
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@carbon/ibm-products",
|
3
3
|
"description": "Carbon for IBM Products",
|
4
|
-
"version": "2.
|
4
|
+
"version": "2.7.0",
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"main": "lib/index.js",
|
7
7
|
"module": "es/index.js",
|
@@ -85,14 +85,14 @@
|
|
85
85
|
"react-window": "^1.8.9"
|
86
86
|
},
|
87
87
|
"peerDependencies": {
|
88
|
-
"@carbon/grid": "^11.
|
89
|
-
"@carbon/layout": "^11.
|
90
|
-
"@carbon/motion": "^11.
|
91
|
-
"@carbon/react": "^1.
|
92
|
-
"@carbon/themes": "^11.
|
93
|
-
"@carbon/type": "^11.
|
88
|
+
"@carbon/grid": "^11.18.0",
|
89
|
+
"@carbon/layout": "^11.18.0",
|
90
|
+
"@carbon/motion": "^11.15.0",
|
91
|
+
"@carbon/react": "^1.35.0",
|
92
|
+
"@carbon/themes": "^11.23.0",
|
93
|
+
"@carbon/type": "^11.22.0",
|
94
94
|
"react": "^16.8.6 || ^17.0.1",
|
95
95
|
"react-dom": "^16.8.6 || ^17.0.1"
|
96
96
|
},
|
97
|
-
"gitHead": "
|
97
|
+
"gitHead": "0aebc8b879fd99f6bd45745dd51e90d382a24182"
|
98
98
|
}
|