@carbon/ibm-products 1.10.0 → 1.11.2
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 +249 -218
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +5 -5
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon-released-only.css +21 -4
- 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 +102 -212
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +4 -4
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +219 -212
- package/css/index.css.map +1 -1
- package/css/index.min.css +5 -5
- package/css/index.min.css.map +1 -1
- package/es/components/AddSelect/AddSelect.js +88 -87
- package/es/components/AddSelect/AddSelectColumn.js +193 -19
- package/es/components/AddSelect/AddSelectList.js +5 -5
- package/es/components/AddSelect/AddSelectSidebar.js +3 -15
- package/es/components/AddSelect/add-select-utils.js +64 -0
- package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +2 -1
- package/es/components/ButtonMenu/ButtonMenu.js +11 -3
- package/es/components/CreateFullPage/CreateFullPageStep.js +4 -4
- package/es/components/CreateTearsheet/CreateTearsheetStep.js +4 -4
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +255 -140
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +37 -38
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +55 -6
- package/es/components/DataSpreadsheet/hooks/useMoveActiveCell.js +27 -0
- package/es/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +28 -0
- package/es/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +41 -0
- package/es/components/DataSpreadsheet/{checkActiveHeaderCell.js → utils/checkActiveHeaderCell.js} +1 -1
- package/es/components/DataSpreadsheet/{createActiveCellFn.js → utils/createActiveCellFn.js} +20 -9
- package/es/components/DataSpreadsheet/{createCellSelectionArea.js → utils/createCellSelectionArea.js} +8 -4
- package/es/components/DataSpreadsheet/{generateData.js → utils/generateData.js} +6 -0
- package/es/components/DataSpreadsheet/{getCellSize.js → utils/getCellSize.js} +0 -0
- package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +46 -0
- package/es/components/DataSpreadsheet/utils/handleMultipleKeys.js +82 -0
- package/es/components/DataSpreadsheet/utils/removeCellSelections.js +30 -0
- package/es/components/InlineEdit/InlineEdit.js +49 -8
- package/es/components/OptionsTile/OptionsTile.js +20 -20
- package/es/components/OptionsTile/index.js +1 -1
- package/es/components/PageHeader/PageHeader.js +35 -32
- package/es/components/PageHeader/PageHeaderTitle.js +2 -1
- package/es/components/PageHeader/PageHeaderUtils.js +21 -22
- package/es/components/index.js +0 -1
- package/es/global/js/package-settings.js +1 -2
- package/lib/components/AddSelect/AddSelect.js +91 -87
- package/lib/components/AddSelect/AddSelectColumn.js +193 -16
- package/lib/components/AddSelect/AddSelectList.js +5 -5
- package/lib/components/AddSelect/AddSelectSidebar.js +9 -15
- package/lib/components/AddSelect/add-select-utils.js +78 -0
- package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +2 -1
- package/lib/components/ButtonMenu/ButtonMenu.js +11 -3
- package/lib/components/CreateFullPage/CreateFullPageStep.js +4 -4
- package/lib/components/CreateTearsheet/CreateTearsheetStep.js +4 -4
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +263 -142
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +39 -36
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +62 -8
- package/lib/components/DataSpreadsheet/hooks/useMoveActiveCell.js +37 -0
- package/lib/components/DataSpreadsheet/hooks/useResetSpreadsheetFocus.js +39 -0
- package/lib/components/DataSpreadsheet/hooks/useSpreadsheetOutsideClick.js +52 -0
- package/lib/components/DataSpreadsheet/{checkActiveHeaderCell.js → utils/checkActiveHeaderCell.js} +1 -1
- package/lib/components/DataSpreadsheet/{createActiveCellFn.js → utils/createActiveCellFn.js} +20 -9
- package/lib/components/DataSpreadsheet/{createCellSelectionArea.js → utils/createCellSelectionArea.js} +8 -4
- package/lib/components/DataSpreadsheet/{generateData.js → utils/generateData.js} +6 -0
- package/lib/components/DataSpreadsheet/{getCellSize.js → utils/getCellSize.js} +0 -0
- package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +59 -0
- package/lib/components/DataSpreadsheet/utils/handleMultipleKeys.js +92 -0
- package/lib/components/DataSpreadsheet/utils/removeCellSelections.js +41 -0
- package/lib/components/InlineEdit/InlineEdit.js +52 -10
- package/lib/components/OptionsTile/OptionsTile.js +19 -19
- package/lib/components/PageHeader/PageHeader.js +35 -32
- package/lib/components/PageHeader/PageHeaderTitle.js +2 -1
- package/lib/components/PageHeader/PageHeaderUtils.js +21 -22
- package/lib/components/index.js +0 -8
- package/lib/global/js/package-settings.js +1 -2
- package/package.json +13 -13
- package/scss/components/AddSelect/_add-select.scss +20 -0
- package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +7 -3
- package/scss/components/CreateSidePanel/_create-side-panel.scss +1 -1
- package/scss/components/CreateSidePanel/_storybook-styles.scss +1 -1
- package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +14 -1
- package/scss/components/EditSidePanel/_edit-side-panel.scss +9 -0
- package/scss/components/EditSidePanel/_storybook-styles.scss +1 -1
- package/scss/components/InlineEdit/_inline-edit.scss +35 -37
- package/scss/components/ModifiedTabs/_modified-tabs.scss +5 -0
- package/scss/components/NotificationsPanel/_notifications-panel.scss +7 -3
- package/scss/components/OptionsTile/_index.scss +1 -1
- package/scss/components/OptionsTile/_options-tile.scss +17 -17
- package/scss/components/OptionsTile/_storybook-styles.scss +4 -4
- package/scss/components/PageHeader/_page-header.scss +3 -2
- package/scss/components/SidePanel/_side-panel.scss +8 -8
- package/scss/components/Tearsheet/_tearsheet.scss +4 -0
- package/scss/components/_index.scss +0 -1
- package/es/components/LoadingBar/LoadingBar.js +0 -156
- package/es/components/LoadingBar/index.js +0 -7
- package/lib/components/LoadingBar/LoadingBar.js +0 -170
- package/lib/components/LoadingBar/index.js +0 -13
- package/scss/components/LoadingBar/_index.scss +0 -8
- package/scss/components/LoadingBar/_loading-bar.scss +0 -224
- package/scss/components/LoadingBar/_storybook-styles.scss +0 -14
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.normalize = exports.flatten = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
|
|
14
|
+
var _excluded = ["children"],
|
|
15
|
+
_excluded2 = ["children"];
|
|
16
|
+
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
|
+
|
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* used to normalize nested data into a single object
|
|
23
|
+
* @param {Array} items - list of entries
|
|
24
|
+
* @returns an object of normalized item data
|
|
25
|
+
*/
|
|
26
|
+
var normalize = function normalize(items) {
|
|
27
|
+
var entries = items.entries,
|
|
28
|
+
parentId = items.parentId,
|
|
29
|
+
sortBy = items.sortBy,
|
|
30
|
+
filterBy = items.filterBy;
|
|
31
|
+
return entries.reduce(function (acc, cur) {
|
|
32
|
+
var children = cur.children,
|
|
33
|
+
entry = (0, _objectWithoutProperties2.default)(cur, _excluded);
|
|
34
|
+
acc[cur.id] = _objectSpread({}, entry);
|
|
35
|
+
|
|
36
|
+
if (parentId) {
|
|
37
|
+
acc[cur.id].parent = parentId;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (sortBy !== null && sortBy !== void 0 && sortBy.length) {
|
|
41
|
+
acc[cur.id].sortBy = sortBy;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (filterBy) {
|
|
45
|
+
acc[cur.id].filterBy = filterBy;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (children) {
|
|
49
|
+
acc[cur.id].children = children.entries.map(function (child) {
|
|
50
|
+
return child.id;
|
|
51
|
+
});
|
|
52
|
+
var child = normalize(_objectSpread(_objectSpread({}, children), {}, {
|
|
53
|
+
parentId: cur.id
|
|
54
|
+
}));
|
|
55
|
+
return _objectSpread(_objectSpread({}, acc), child);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return acc;
|
|
59
|
+
}, {});
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* used to create a single searchable array of nested items
|
|
63
|
+
* @param {Array} entries - list of entries
|
|
64
|
+
* @returns an array of items
|
|
65
|
+
*/
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
exports.normalize = normalize;
|
|
69
|
+
|
|
70
|
+
var flatten = function flatten(entries) {
|
|
71
|
+
return entries.reduce(function (prev, cur) {
|
|
72
|
+
var children = cur.children,
|
|
73
|
+
item = (0, _objectWithoutProperties2.default)(cur, _excluded2);
|
|
74
|
+
return prev.concat(item).concat(children ? flatten(children.entries) : []);
|
|
75
|
+
}, []);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
exports.flatten = flatten;
|
|
@@ -94,7 +94,8 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
|
|
|
94
94
|
}, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenu, {
|
|
95
95
|
ariaLabel: overflowAriaLabel,
|
|
96
96
|
renderIcon: _iconsReact.OverflowMenuHorizontal32,
|
|
97
|
-
className: "".concat(blockClass, "__overflow-menu")
|
|
97
|
+
className: "".concat(blockClass, "__overflow-menu"),
|
|
98
|
+
menuOptionsClass: "".concat(blockClass, "__overflow-menu-options")
|
|
98
99
|
}, // eslint-disable-next-line react/prop-types
|
|
99
100
|
overflowItems.map(function (item, index) {
|
|
100
101
|
return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.OverflowMenuItem, {
|
|
@@ -21,14 +21,15 @@ var _settings = require("../../settings");
|
|
|
21
21
|
|
|
22
22
|
var _carbonComponentsReact = require("carbon-components-react");
|
|
23
23
|
|
|
24
|
-
var _excluded = ["children", "className", "iconDescription", "label", "menuOptionsClass", "renderIcon", "size"];
|
|
24
|
+
var _excluded = ["children", "className", "iconDescription", "kind", "label", "menuOptionsClass", "renderIcon", "size"];
|
|
25
25
|
// The block part of our conventional BEM class names (blockClass__E--M).
|
|
26
26
|
var blockClass = "".concat(_settings.pkg.prefix, "--button-menu");
|
|
27
27
|
var componentName = 'ButtonMenu'; // NOTE: the component SCSS is not imported here: it is rolled up separately.
|
|
28
28
|
// Default values for props
|
|
29
29
|
|
|
30
30
|
var defaults = {
|
|
31
|
-
size: 'default'
|
|
31
|
+
size: 'default',
|
|
32
|
+
kind: 'primary'
|
|
32
33
|
};
|
|
33
34
|
/**
|
|
34
35
|
* Combining a standard button with an overflow menu, this component appears
|
|
@@ -42,6 +43,8 @@ var ButtonMenu = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
42
43
|
var children = _ref.children,
|
|
43
44
|
className = _ref.className,
|
|
44
45
|
iconDescription = _ref.iconDescription,
|
|
46
|
+
_ref$kind = _ref.kind,
|
|
47
|
+
kind = _ref$kind === void 0 ? defaults.kind : _ref$kind,
|
|
45
48
|
label = _ref.label,
|
|
46
49
|
menuOptionsClass = _ref.menuOptionsClass,
|
|
47
50
|
Icon = _ref.renderIcon,
|
|
@@ -55,7 +58,7 @@ var ButtonMenu = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
55
58
|
menuOptionsClass: (0, _classnames.default)("".concat(blockClass, "__options"), menuOptionsClass),
|
|
56
59
|
renderIcon: function renderIcon() {
|
|
57
60
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
58
|
-
className: (0, _classnames.default)(["".concat(blockClass, "__trigger"), "".concat(_settings.carbon.prefix, "--btn"), "".concat(_settings.carbon.prefix, "--btn--
|
|
61
|
+
className: (0, _classnames.default)(["".concat(blockClass, "__trigger"), "".concat(_settings.carbon.prefix, "--btn"), "".concat(_settings.carbon.prefix, "--btn--").concat(kind), "".concat(_settings.carbon.prefix, "--btn--").concat(size)])
|
|
59
62
|
}, label, Icon && /*#__PURE__*/_react.default.createElement(Icon, {
|
|
60
63
|
"aria-hidden": "true",
|
|
61
64
|
"aria-label": iconDescription,
|
|
@@ -93,6 +96,11 @@ ButtonMenu.propTypes = {
|
|
|
93
96
|
*/
|
|
94
97
|
iconDescription: _carbonComponentsReact.Button.propTypes.iconDescription,
|
|
95
98
|
|
|
99
|
+
/**
|
|
100
|
+
* The three types the menu button supports: primary, tertiary and ghost.
|
|
101
|
+
*/
|
|
102
|
+
kind: _propTypes.default.oneOf(['primary', 'tertiary', 'ghost']),
|
|
103
|
+
|
|
96
104
|
/**
|
|
97
105
|
* The button label for the menu trigger.
|
|
98
106
|
*/
|
|
@@ -81,23 +81,23 @@ var CreateFullPageStep = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref
|
|
|
81
81
|
shouldIncludeStep: shouldIncludeStep,
|
|
82
82
|
secondaryLabel: secondaryLabel,
|
|
83
83
|
title: title
|
|
84
|
-
}); // This useEffect reports back the
|
|
84
|
+
}); // This useEffect reports back the onMount value so that they can be used
|
|
85
85
|
// in the appropriate custom hooks.
|
|
86
86
|
|
|
87
87
|
(0, _react.useEffect)(function () {
|
|
88
88
|
if (stepNumber === (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep) && (previousState === null || previousState === void 0 ? void 0 : previousState.currentStep) !== (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep)) {
|
|
89
|
-
stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnNext(onNext);
|
|
90
89
|
stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnMount(onMount);
|
|
91
90
|
}
|
|
92
|
-
}, [onMount,
|
|
91
|
+
}, [onMount, stepsContext, stepNumber, previousState === null || previousState === void 0 ? void 0 : previousState.currentStep]);
|
|
93
92
|
(0, _react.useEffect)(function () {
|
|
94
93
|
setShouldIncludeStep(includeStep);
|
|
95
|
-
}, [includeStep, stepsContext, title]); // Whenever we are the current step, supply our disableSubmit
|
|
94
|
+
}, [includeStep, stepsContext, title]); // Whenever we are the current step, supply our disableSubmit and onNext values to the
|
|
96
95
|
// steps container context so that it can manage the 'Next' button appropriately.
|
|
97
96
|
|
|
98
97
|
(0, _react.useEffect)(function () {
|
|
99
98
|
if (stepNumber === (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep)) {
|
|
100
99
|
stepsContext.setIsDisabled(disableSubmit);
|
|
100
|
+
stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnNext(onNext); // needs to be updated here otherwise there could be stale state values from only initially setting onNext
|
|
101
101
|
}
|
|
102
102
|
}, [stepsContext, stepNumber, disableSubmit, onNext]);
|
|
103
103
|
return stepsContext ? /*#__PURE__*/_react.default.createElement("section", (0, _extends2.default)({}, rest, {
|
|
@@ -83,24 +83,24 @@ var CreateTearsheetStep = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, re
|
|
|
83
83
|
shouldIncludeStep: shouldIncludeStep,
|
|
84
84
|
secondaryLabel: secondaryLabel,
|
|
85
85
|
title: title
|
|
86
|
-
}); // This useEffect reports back the
|
|
86
|
+
}); // This useEffect reports back the onMount value so that they can be used
|
|
87
87
|
// in the appropriate custom hooks.
|
|
88
88
|
|
|
89
89
|
(0, _react.useEffect)(function () {
|
|
90
90
|
if (stepNumber === (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep) && (previousState === null || previousState === void 0 ? void 0 : previousState.currentStep) !== (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep)) {
|
|
91
|
-
stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnNext(onNext);
|
|
92
91
|
stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnMount(onMount);
|
|
93
92
|
}
|
|
94
|
-
}, [onMount,
|
|
93
|
+
}, [onMount, stepsContext, stepNumber, previousState === null || previousState === void 0 ? void 0 : previousState.currentStep]); // Used to take the `includeStep` prop and use it as a local state value
|
|
95
94
|
|
|
96
95
|
(0, _react.useEffect)(function () {
|
|
97
96
|
setShouldIncludeStep(includeStep);
|
|
98
|
-
}, [includeStep, stepsContext, title]); // Whenever we are the current step, supply our disableSubmit
|
|
97
|
+
}, [includeStep, stepsContext, title]); // Whenever we are the current step, supply our disableSubmit and onNext values to the
|
|
99
98
|
// steps container context so that it can manage the 'Next' button appropriately.
|
|
100
99
|
|
|
101
100
|
(0, _react.useEffect)(function () {
|
|
102
101
|
if (stepNumber === (stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.currentStep)) {
|
|
103
102
|
stepsContext.setIsDisabled(disableSubmit);
|
|
103
|
+
stepsContext === null || stepsContext === void 0 ? void 0 : stepsContext.setOnNext(onNext); // needs to be updated here otherwise there could be stale state values from only initially setting onNext
|
|
104
104
|
}
|
|
105
105
|
}, [stepsContext, stepNumber, disableSubmit, onNext]);
|
|
106
106
|
return stepsContext ? /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
|