@carbon/ibm-products 2.9.0 → 2.10.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 +2 -1
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +2 -1
- 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 +2 -1
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +2 -1
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/CreateFullPage/CreateFullPage.js +25 -3
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +2 -2
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +24 -11
- package/es/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +4 -7
- package/es/global/js/hooks/useClickOutside.js +6 -6
- package/lib/components/CreateFullPage/CreateFullPage.js +24 -2
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +2 -2
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeDropdown.js +24 -11
- package/lib/components/Datagrid/Datagrid/addons/RowSize/RowSizeRadioGroup.js +4 -7
- package/lib/global/js/hooks/useClickOutside.js +6 -6
- package/package.json +2 -2
- package/scss/components/EmptyStates/_empty-state.scss +2 -1
@@ -19,7 +19,8 @@ var _CreateInfluencer = require("../CreateInfluencer");
|
|
19
19
|
var _ActionSet = require("../ActionSet");
|
20
20
|
var _hooks = require("../../global/js/hooks");
|
21
21
|
var _lastIndexInArray = require("../../global/js/utils/lastIndexInArray");
|
22
|
-
var
|
22
|
+
var _getNumberOfHiddenSteps = require("../../global/js/utils/getNumberOfHiddenSteps");
|
23
|
+
var _excluded = ["backButtonText", "cancelButtonText", "children", "className", "initialStep", "modalDangerButtonText", "modalDescription", "modalSecondaryButtonText", "modalTitle", "nextButtonText", "onClose", "onRequestSubmit", "firstFocusElement", "submitButtonText", "title"];
|
23
24
|
/**
|
24
25
|
* Copyright IBM Corp. 2021, 2023
|
25
26
|
*
|
@@ -62,6 +63,7 @@ var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
|
|
62
63
|
cancelButtonText = _ref.cancelButtonText,
|
63
64
|
children = _ref.children,
|
64
65
|
className = _ref.className,
|
66
|
+
initialStep = _ref.initialStep,
|
65
67
|
modalDangerButtonText = _ref.modalDangerButtonText,
|
66
68
|
modalDescription = _ref.modalDescription,
|
67
69
|
modalSecondaryButtonText = _ref.modalSecondaryButtonText,
|
@@ -132,7 +134,11 @@ var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
|
|
132
134
|
if (lastItem !== lastIncludedStep) {
|
133
135
|
setLastIncludedStep(lastItem);
|
134
136
|
}
|
135
|
-
|
137
|
+
if (open && initialStep) {
|
138
|
+
var numberOfHiddenSteps = (0, _getNumberOfHiddenSteps.getNumberOfHiddenSteps)(stepData, initialStep);
|
139
|
+
setCurrentStep(Number(initialStep + numberOfHiddenSteps));
|
140
|
+
}
|
141
|
+
}, [stepData, firstIncludedStep, lastIncludedStep, initialStep]);
|
136
142
|
(0, _hooks.useCreateComponentFocus)({
|
137
143
|
previousState: previousState,
|
138
144
|
currentStep: currentStep,
|
@@ -141,6 +147,16 @@ var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
|
|
141
147
|
firstFocusElement: firstFocusElement
|
142
148
|
});
|
143
149
|
(0, _hooks.useValidCreateStepCount)(stepData.length, componentName);
|
150
|
+
(0, _hooks.useResetCreateComponent)({
|
151
|
+
firstIncludedStep: firstIncludedStep,
|
152
|
+
previousState: previousState,
|
153
|
+
open: open,
|
154
|
+
setCurrentStep: setCurrentStep,
|
155
|
+
stepData: stepData,
|
156
|
+
initialStep: initialStep,
|
157
|
+
totalSteps: stepData === null || stepData === void 0 ? void 0 : stepData.length,
|
158
|
+
componentName: componentName
|
159
|
+
});
|
144
160
|
(0, _hooks.useCreateComponentStepChange)({
|
145
161
|
firstIncludedStep: firstIncludedStep,
|
146
162
|
lastIncludedStep: lastIncludedStep,
|
@@ -267,6 +283,12 @@ CreateFullPage.propTypes = {
|
|
267
283
|
* Specifies elements to focus on first on render.
|
268
284
|
*/
|
269
285
|
firstFocusElement: _propTypes.default.string,
|
286
|
+
/**
|
287
|
+
* This can be used to open the component to a step other than the first step.
|
288
|
+
* For example, a create flow was previously in progress, data was saved, and
|
289
|
+
* is now being completed.
|
290
|
+
*/
|
291
|
+
initialStep: _propTypes.default.number,
|
270
292
|
/**
|
271
293
|
* The primary 'danger' button text in the modal
|
272
294
|
*/
|
@@ -162,7 +162,8 @@ var FilterFlyout = function FilterFlyout(_ref) {
|
|
162
162
|
lastAppliedFilters.current = JSON.stringify(reactTableFiltersState);
|
163
163
|
}, [reactTableFiltersState, lastAppliedFilters]);
|
164
164
|
return /*#__PURE__*/_react2.default.createElement("div", {
|
165
|
-
className: "".concat(componentClass, "__container")
|
165
|
+
className: "".concat(componentClass, "__container"),
|
166
|
+
ref: filterFlyoutRef
|
166
167
|
}, /*#__PURE__*/_react2.default.createElement(_react.IconButton, {
|
167
168
|
label: flyoutIconDescription,
|
168
169
|
kind: "ghost",
|
@@ -171,7 +172,6 @@ var FilterFlyout = function FilterFlyout(_ref) {
|
|
171
172
|
className: (0, _classnames.default)("".concat(componentClass, "__trigger"), (0, _defineProperty2.default)({}, "".concat(componentClass, "__trigger--open"), open)),
|
172
173
|
disabled: data.length === 0
|
173
174
|
}, /*#__PURE__*/_react2.default.createElement(_icons.Filter, null)), /*#__PURE__*/_react2.default.createElement("div", {
|
174
|
-
ref: filterFlyoutRef,
|
175
175
|
className: (0, _classnames.default)(componentClass, (_cx2 = {}, (0, _defineProperty2.default)(_cx2, "".concat(componentClass, "--open"), open), (0, _defineProperty2.default)(_cx2, "".concat(componentClass, "--batch"), showActionSet), (0, _defineProperty2.default)(_cx2, "".concat(componentClass, "--instant"), !showActionSet), _cx2))
|
176
176
|
}, /*#__PURE__*/_react2.default.createElement("div", {
|
177
177
|
className: "".concat(componentClass, "__inner-container")
|
@@ -24,7 +24,7 @@ var _excluded = ["align", "legendText"];
|
|
24
24
|
*/
|
25
25
|
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); }
|
26
26
|
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; }
|
27
|
-
var blockClass = "".concat(_settings.pkg.prefix, "--
|
27
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid__row-size");
|
28
28
|
var RowSizeDropdown = function RowSizeDropdown(_ref) {
|
29
29
|
var _ref$align = _ref.align,
|
30
30
|
align = _ref$align === void 0 ? 'bottom-right' : _ref$align,
|
@@ -35,24 +35,37 @@ var RowSizeDropdown = function RowSizeDropdown(_ref) {
|
|
35
35
|
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
36
36
|
isOpen = _React$useState2[0],
|
37
37
|
setIsOpen = _React$useState2[1];
|
38
|
+
var onCloseHandler = function onCloseHandler() {
|
39
|
+
setIsOpen(false);
|
40
|
+
};
|
41
|
+
var onKeyHandler = function onKeyHandler(e) {
|
42
|
+
if (e.key === 'Escape') {
|
43
|
+
onCloseHandler();
|
44
|
+
}
|
45
|
+
};
|
46
|
+
var onBlurHandler = function onBlurHandler(e) {
|
47
|
+
if (!e.currentTarget.contains(e.relatedTarget)) {
|
48
|
+
onCloseHandler();
|
49
|
+
}
|
50
|
+
};
|
51
|
+
var onClickHandler = function onClickHandler() {
|
52
|
+
setIsOpen(!isOpen);
|
53
|
+
};
|
38
54
|
return /*#__PURE__*/React.createElement(_react2.Popover, {
|
55
|
+
tabIndex: -1,
|
39
56
|
isTabTip: true,
|
40
57
|
align: "bottom-right",
|
41
58
|
open: isOpen,
|
42
|
-
onRequestClose:
|
43
|
-
|
44
|
-
|
45
|
-
|
59
|
+
onRequestClose: onCloseHandler,
|
60
|
+
className: "".concat(blockClass, "-options-container"),
|
61
|
+
onKeyDown: onKeyHandler,
|
62
|
+
onBlur: onBlurHandler
|
46
63
|
}, /*#__PURE__*/React.createElement(_react2.IconButton, {
|
47
64
|
align: align,
|
48
65
|
kind: "ghost",
|
49
|
-
onClick:
|
50
|
-
return setIsOpen(function (prevOpen) {
|
51
|
-
return !prevOpen;
|
52
|
-
});
|
53
|
-
},
|
66
|
+
onClick: onClickHandler,
|
54
67
|
label: legendText,
|
55
|
-
className: "".concat(blockClass, "
|
68
|
+
className: "".concat(blockClass, "-button")
|
56
69
|
}, /*#__PURE__*/React.createElement(_icons.Settings, {
|
57
70
|
size: 16
|
58
71
|
})), /*#__PURE__*/React.createElement(_react2.PopoverContent, null, /*#__PURE__*/React.createElement(_react2.Layer, null, /*#__PURE__*/React.createElement(_RowSizeRadioGroup.default, (0, _extends2.default)({}, props, {
|
@@ -17,7 +17,7 @@ var _settings = require("../../../../../settings");
|
|
17
17
|
* LICENSE file in the root directory of this source tree.
|
18
18
|
*/
|
19
19
|
|
20
|
-
var blockClass = "".concat(_settings.pkg.prefix, "--
|
20
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid__row-size");
|
21
21
|
var RowSizeRadioGroup = function RowSizeRadioGroup(_ref) {
|
22
22
|
var rowSizes = _ref.rowSizes,
|
23
23
|
selectedOption = _ref.selectedOption,
|
@@ -33,11 +33,8 @@ var RowSizeRadioGroup = function RowSizeRadioGroup(_ref) {
|
|
33
33
|
xs: 'Extra small'
|
34
34
|
} : _ref$rowSizeLabels;
|
35
35
|
return /*#__PURE__*/_react.default.createElement("div", {
|
36
|
-
className: "".concat(blockClass, "
|
37
|
-
role: "presentation"
|
38
|
-
onClick: function onClick(e) {
|
39
|
-
e.stopPropagation();
|
40
|
-
}
|
36
|
+
className: "".concat(blockClass, "-dropdown"),
|
37
|
+
role: "presentation"
|
41
38
|
}, /*#__PURE__*/_react.default.createElement(_react2.RadioButtonGroup, {
|
42
39
|
legendText: legendText,
|
43
40
|
name: "row-height-group",
|
@@ -52,7 +49,7 @@ var RowSizeRadioGroup = function RowSizeRadioGroup(_ref) {
|
|
52
49
|
labelText = option.value;
|
53
50
|
}
|
54
51
|
return /*#__PURE__*/_react.default.createElement(_react2.RadioButton, {
|
55
|
-
className: "".concat(blockClass, "
|
52
|
+
className: "".concat(blockClass, "-radio-button"),
|
56
53
|
key: option.value,
|
57
54
|
labelText: labelText,
|
58
55
|
value: option.value,
|
@@ -13,16 +13,16 @@ var _react = require("react");
|
|
13
13
|
*/
|
14
14
|
|
15
15
|
var useClickOutside = function useClickOutside(ref, callback) {
|
16
|
-
var handleClick = function handleClick(event) {
|
17
|
-
if (ref.current && !ref.current.contains(event.target)) {
|
18
|
-
callback(event.target);
|
19
|
-
}
|
20
|
-
};
|
21
16
|
(0, _react.useEffect)(function () {
|
17
|
+
var handleClick = function handleClick(event) {
|
18
|
+
if (ref.current && !ref.current.contains(event.target)) {
|
19
|
+
callback(event.target);
|
20
|
+
}
|
21
|
+
};
|
22
22
|
document.addEventListener('click', handleClick);
|
23
23
|
return function () {
|
24
24
|
document.removeEventListener('click', handleClick);
|
25
25
|
};
|
26
|
-
});
|
26
|
+
}, [callback, ref]);
|
27
27
|
};
|
28
28
|
exports.useClickOutside = useClickOutside;
|
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.10.0",
|
5
5
|
"license": "Apache-2.0",
|
6
6
|
"main": "lib/index.js",
|
7
7
|
"module": "es/index.js",
|
@@ -92,5 +92,5 @@
|
|
92
92
|
"react": "^16.8.6 || ^17.0.1 || ^18.2.0",
|
93
93
|
"react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0"
|
94
94
|
},
|
95
|
-
"gitHead": "
|
95
|
+
"gitHead": "d8d9e9401b213cb4e0d9deb7e6c583343ce63f79"
|
96
96
|
}
|
@@ -28,6 +28,7 @@ $block-class: #{c4p-settings.$pkg-prefix}--empty-state;
|
|
28
28
|
@include type.type-style('body-01');
|
29
29
|
|
30
30
|
padding-bottom: $spacing-05;
|
31
|
+
color: $text-secondary;
|
31
32
|
}
|
32
33
|
|
33
34
|
.#{$block-class}__header--small {
|
@@ -78,5 +79,5 @@ $block-class: #{c4p-settings.$pkg-prefix}--empty-state;
|
|
78
79
|
}
|
79
80
|
|
80
81
|
.#{$block-class} .#{$block-class}__link {
|
81
|
-
display: block;
|
82
|
+
display: inline-block;
|
82
83
|
}
|