@carbon/ibm-products 1.11.0 → 1.12.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/README.md +0 -3
- package/css/index-full-carbon.css +1543 -529
- 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 +12 -0
- 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 +77 -187
- 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 +194 -187
- 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 +63 -12
- package/es/components/AddSelect/AddSelectColumn.js +58 -22
- package/es/components/AddSelect/AddSelectList.js +38 -18
- package/es/components/AddSelect/AddSelectSidebar.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 +107 -89
- package/es/components/DataSpreadsheet/DataSpreadsheetBody.js +93 -20
- package/es/components/DataSpreadsheet/DataSpreadsheetHeader.js +50 -2
- package/es/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +3 -1
- package/es/components/ImportModal/ImportModal.js +2 -2
- package/es/components/UserProfileImage/UserProfileImage.js +1 -1
- package/es/components/index.js +0 -1
- package/es/global/js/package-settings.js +1 -2
- package/lib/components/AddSelect/AddSelect.js +63 -12
- package/lib/components/AddSelect/AddSelectColumn.js +57 -21
- package/lib/components/AddSelect/AddSelectList.js +39 -17
- package/lib/components/AddSelect/AddSelectSidebar.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 +108 -91
- package/lib/components/DataSpreadsheet/DataSpreadsheetBody.js +94 -20
- package/lib/components/DataSpreadsheet/DataSpreadsheetHeader.js +52 -7
- package/lib/components/DataSpreadsheet/utils/handleHeaderCellSelection.js +3 -1
- package/lib/components/ImportModal/ImportModal.js +1 -1
- package/lib/components/UserProfileImage/UserProfileImage.js +1 -1
- package/lib/components/index.js +0 -8
- package/lib/global/js/package-settings.js +1 -2
- package/package.json +16 -16
- package/scss/components/AboutModal/_about-modal.scss +2 -2
- package/scss/components/ActionSet/_action-set.scss +3 -1
- package/scss/components/AddSelect/_add-select.scss +41 -2
- package/scss/components/CreateModal/_create-modal.scss +7 -5
- package/scss/components/CreateModal/_storybook-styles.scss +8 -7
- package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +21 -3
- package/scss/components/ExportModal/_export-modal.scss +3 -3
- package/scss/components/InlineEdit/_inline-edit.scss +3 -0
- package/scss/components/ModifiedTabs/_modified-tabs.scss +4 -9
- package/scss/components/NotificationsPanel/_notifications-panel.scss +9 -5
- package/scss/components/OptionsTile/_options-tile.scss +0 -1
- package/scss/components/RemoveModal/_remove-modal.scss +3 -3
- package/scss/components/TagSet/_tag-set.scss +2 -1
- package/scss/components/Tearsheet/_tearsheet.scss +4 -1
- 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
package/es/components/index.js
CHANGED
@@ -18,7 +18,6 @@ export { ExportModal } from './ExportModal';
|
|
18
18
|
export { ExpressiveCard } from './ExpressiveCard';
|
19
19
|
export { HTTPError403, HTTPError404, HTTPErrorOther } from './HTTPErrors';
|
20
20
|
export { ImportModal } from './ImportModal';
|
21
|
-
export { LoadingBar } from './LoadingBar';
|
22
21
|
export { ModifiedTabs } from './ModifiedTabs';
|
23
22
|
export { MultiAddSelect } from './MultiAddSelect';
|
24
23
|
export { NotificationsPanel } from './NotificationsPanel';
|
@@ -40,6 +40,7 @@ var defaults = {
|
|
40
40
|
NoTagsEmptyState: true,
|
41
41
|
NotFoundEmptyState: true,
|
42
42
|
NotificationsEmptyState: true,
|
43
|
+
OptionsTile: true,
|
43
44
|
PageHeader: true,
|
44
45
|
ProductiveCard: true,
|
45
46
|
RemoveModal: true,
|
@@ -54,14 +55,12 @@ var defaults = {
|
|
54
55
|
// other public components not yet reviewed and released:
|
55
56
|
MultiAddSelect: false,
|
56
57
|
SingleAddSelect: false,
|
57
|
-
LoadingBar: false,
|
58
58
|
ModifiedTabs: false,
|
59
59
|
Toolbar: false,
|
60
60
|
ToolbarButton: false,
|
61
61
|
ToolbarGroup: false,
|
62
62
|
WebTerminal: false,
|
63
63
|
EditSidePanel: false,
|
64
|
-
OptionsTile: false,
|
65
64
|
CancelableTextEdit: false,
|
66
65
|
InlineEdit: false,
|
67
66
|
DataSpreadsheet: false
|
@@ -41,7 +41,7 @@ var _AddSelectColumn = require("./AddSelectColumn");
|
|
41
41
|
|
42
42
|
var _addSelectUtils = require("./add-select-utils");
|
43
43
|
|
44
|
-
var _excluded = ["className", "columnInputPlaceholder", "description", "influencerTitle", "inputPlaceholder", "items", "itemsLabel", "multi", "noResultsDescription", "noResultsTitle", "noSelectionDescription", "noSelectionTitle", "onClose", "onCloseButtonText", "onSearchFilter", "onSubmit", "onSubmitButtonText", "open", "removeIconDescription", "textInputLabel", "title"];
|
44
|
+
var _excluded = ["className", "columnInputPlaceholder", "description", "influencerTitle", "inputPlaceholder", "items", "itemsLabel", "multi", "noResultsDescription", "noResultsTitle", "noSelectionDescription", "noSelectionTitle", "onClose", "onCloseButtonText", "onSearchFilter", "onSubmit", "onSubmitButtonText", "open", "removeIconDescription", "searchResultsLabel", "textInputLabel", "title"];
|
45
45
|
|
46
46
|
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); }
|
47
47
|
|
@@ -70,6 +70,7 @@ var AddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
70
70
|
onSubmitButtonText = _ref.onSubmitButtonText,
|
71
71
|
open = _ref.open,
|
72
72
|
removeIconDescription = _ref.removeIconDescription,
|
73
|
+
searchResultsLabel = _ref.searchResultsLabel,
|
73
74
|
textInputLabel = _ref.textInputLabel,
|
74
75
|
title = _ref.title,
|
75
76
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
@@ -107,12 +108,13 @@ var AddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
107
108
|
|
108
109
|
var _useState13 = (0, _react.useState)([]),
|
109
110
|
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
110
|
-
|
111
|
-
|
111
|
+
flatItems = _useState14[0],
|
112
|
+
setFlatItems = _useState14[1];
|
112
113
|
|
113
114
|
(0, _react.useEffect)(function () {
|
114
|
-
var entries = items.entries;
|
115
|
-
|
115
|
+
var entries = items.entries; // flatItems is just a single array of all entries including children
|
116
|
+
|
117
|
+
setFlatItems((0, _addSelectUtils.flatten)(entries)); // multi select with nested data needs to be normalized
|
116
118
|
|
117
119
|
if (multi && entries.find(function (entry) {
|
118
120
|
return entry.children;
|
@@ -191,10 +193,25 @@ var AddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
191
193
|
return item.title.toLowerCase().includes(searchTerm);
|
192
194
|
});
|
193
195
|
return results;
|
196
|
+
};
|
197
|
+
|
198
|
+
var getDisplayItems = function getDisplayItems() {
|
199
|
+
if (useNormalizedItems) {
|
200
|
+
// when global search is in use the results are not in column format
|
201
|
+
if (searchTerm) {
|
202
|
+
return flatItems.filter(function (item) {
|
203
|
+
return item.title.toLowerCase().includes(searchTerm);
|
204
|
+
});
|
205
|
+
}
|
206
|
+
|
207
|
+
return getPages();
|
208
|
+
}
|
209
|
+
|
210
|
+
return getFilteredItems();
|
194
211
|
}; // only multi select with hierarchy requires the the normalized items
|
195
212
|
|
196
213
|
|
197
|
-
var itemsToDisplay =
|
214
|
+
var itemsToDisplay = getDisplayItems();
|
198
215
|
var commonListProps = {
|
199
216
|
multi: multi,
|
200
217
|
multiSelection: multiSelection,
|
@@ -231,14 +248,41 @@ var AddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
231
248
|
};
|
232
249
|
var sidebarProps = {
|
233
250
|
influencerTitle: influencerTitle,
|
234
|
-
items:
|
251
|
+
items: flatItems,
|
235
252
|
multiSelection: multiSelection,
|
236
253
|
noSelectionDescription: noSelectionDescription,
|
237
254
|
noSelectionTitle: noSelectionTitle,
|
238
255
|
removeIconDescription: removeIconDescription,
|
239
256
|
setMultiSelection: setMultiSelection
|
240
257
|
};
|
241
|
-
var classNames = (0, _classnames.default)(className, blockClass, (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__single"), !multi), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__multi"), multi), _cx));
|
258
|
+
var classNames = (0, _classnames.default)(className, blockClass, (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__single"), !multi), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__multi"), multi), _cx));
|
259
|
+
|
260
|
+
var setShowBreadsCrumbs = function setShowBreadsCrumbs() {
|
261
|
+
if (searchTerm) {
|
262
|
+
return false;
|
263
|
+
}
|
264
|
+
|
265
|
+
if (path.length) {
|
266
|
+
return true;
|
267
|
+
}
|
268
|
+
|
269
|
+
return false;
|
270
|
+
};
|
271
|
+
|
272
|
+
var setShowTags = function setShowTags() {
|
273
|
+
if (searchTerm) {
|
274
|
+
return true;
|
275
|
+
}
|
276
|
+
|
277
|
+
if (useNormalizedItems) {
|
278
|
+
return false;
|
279
|
+
}
|
280
|
+
|
281
|
+
return true;
|
282
|
+
};
|
283
|
+
|
284
|
+
var showBreadsCrumbs = setShowBreadsCrumbs();
|
285
|
+
var showTags = setShowTags(); // main content
|
242
286
|
|
243
287
|
var body = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
244
288
|
className: "".concat(blockClass, "__header")
|
@@ -250,16 +294,16 @@ var AddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
250
294
|
onChange: handleSearch
|
251
295
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
252
296
|
className: "".concat(blockClass, "__tag-container")
|
253
|
-
},
|
297
|
+
}, showBreadsCrumbs ? /*#__PURE__*/_react.default.createElement(_AddSelectBreadcrumbs.AddSelectBreadcrumbs, {
|
254
298
|
itemsLabel: itemsLabel,
|
255
299
|
path: path,
|
256
300
|
setPath: setPath
|
257
301
|
}) : /*#__PURE__*/_react.default.createElement("p", {
|
258
302
|
className: "".concat(blockClass, "__tag-container-label")
|
259
|
-
}, itemsLabel),
|
303
|
+
}, searchTerm ? searchResultsLabel : itemsLabel), showTags && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Tag, {
|
260
304
|
type: "gray",
|
261
305
|
size: "sm"
|
262
|
-
}, itemsToDisplay.length))), useNormalizedItems ? /*#__PURE__*/_react.default.createElement("div", {
|
306
|
+
}, itemsToDisplay.length))), useNormalizedItems && !searchTerm ? /*#__PURE__*/_react.default.createElement("div", {
|
263
307
|
className: "".concat(blockClass, "__columns")
|
264
308
|
}, itemsToDisplay.map(function (page, idx) {
|
265
309
|
var _path;
|
@@ -271,7 +315,8 @@ var AddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
271
315
|
columnInputPlaceholder: columnInputPlaceholder
|
272
316
|
}));
|
273
317
|
})) : /*#__PURE__*/_react.default.createElement("div", null, itemsToDisplay.length > 0 ? /*#__PURE__*/_react.default.createElement(_AddSelectList.AddSelectList, (0, _extends2.default)({}, commonListProps, {
|
274
|
-
filteredItems: itemsToDisplay
|
318
|
+
filteredItems: itemsToDisplay,
|
319
|
+
modifiers: items === null || items === void 0 ? void 0 : items.modifiers
|
275
320
|
})) : /*#__PURE__*/_react.default.createElement("div", {
|
276
321
|
className: "".concat(blockClass, "__body")
|
277
322
|
}, /*#__PURE__*/_react.default.createElement(_NoDataEmptyState.NoDataEmptyState, {
|
@@ -295,6 +340,11 @@ AddSelect.propTypes = {
|
|
295
340
|
influencerTitle: _propTypes.default.string,
|
296
341
|
inputPlaceholder: _propTypes.default.string,
|
297
342
|
items: _propTypes.default.shape({
|
343
|
+
modifiers: _propTypes.default.shape({
|
344
|
+
label: _propTypes.default.string,
|
345
|
+
options: _propTypes.default.array,
|
346
|
+
property: _propTypes.default.string
|
347
|
+
}),
|
298
348
|
sortBy: _propTypes.default.array,
|
299
349
|
filterBy: _propTypes.default.array,
|
300
350
|
entries: _propTypes.default.arrayOf(_propTypes.default.shape({
|
@@ -317,6 +367,7 @@ AddSelect.propTypes = {
|
|
317
367
|
onSubmitButtonText: _propTypes.default.string,
|
318
368
|
open: _propTypes.default.bool,
|
319
369
|
removeIconDescription: _propTypes.default.string,
|
370
|
+
searchResultsLabel: _propTypes.default.string,
|
320
371
|
textInputLabel: _propTypes.default.string,
|
321
372
|
title: _propTypes.default.string
|
322
373
|
};
|
@@ -31,7 +31,7 @@ var _AddSelectList = require("./AddSelectList");
|
|
31
31
|
|
32
32
|
var _uuidv = _interopRequireDefault(require("../../global/js/utils/uuidv4"));
|
33
33
|
|
34
|
-
var _excluded = ["columnInputPlaceholder", "filteredItems", "header"];
|
34
|
+
var _excluded = ["columnInputPlaceholder", "filteredItems", "header", "multiSelection", "setMultiSelection"];
|
35
35
|
|
36
36
|
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); }
|
37
37
|
|
@@ -45,30 +45,43 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
|
|
45
45
|
var columnInputPlaceholder = _ref.columnInputPlaceholder,
|
46
46
|
filteredItems = _ref.filteredItems,
|
47
47
|
header = _ref.header,
|
48
|
+
multiSelection = _ref.multiSelection,
|
49
|
+
setMultiSelection = _ref.setMultiSelection,
|
48
50
|
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
49
51
|
|
50
|
-
var _useState = (0, _react.useState)(
|
52
|
+
var _useState = (0, _react.useState)(false),
|
51
53
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
52
|
-
|
53
|
-
|
54
|
+
allSelected = _useState2[0],
|
55
|
+
setAllSelected = _useState2[1];
|
54
56
|
|
55
57
|
var _useState3 = (0, _react.useState)(''),
|
56
58
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
57
|
-
|
58
|
-
|
59
|
+
searchTerm = _useState4[0],
|
60
|
+
setSearchTerm = _useState4[1];
|
59
61
|
|
60
62
|
var _useState5 = (0, _react.useState)(''),
|
61
63
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
62
|
-
|
63
|
-
|
64
|
+
sortDirection = _useState6[0],
|
65
|
+
setSortDirection = _useState6[1];
|
64
66
|
|
65
|
-
var _useState7 = (0, _react.useState)(
|
67
|
+
var _useState7 = (0, _react.useState)(''),
|
66
68
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
67
|
-
|
68
|
-
|
69
|
+
sortAttribute = _useState8[0],
|
70
|
+
setSortAttribute = _useState8[1];
|
71
|
+
|
72
|
+
var _useState9 = (0, _react.useState)([]),
|
73
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
74
|
+
filters = _useState10[0],
|
75
|
+
setFilters = _useState10[1];
|
69
76
|
|
70
77
|
var blockClass = "".concat(_settings.pkg.prefix, "--add-select");
|
71
|
-
var colClass = "".concat(blockClass, "__column");
|
78
|
+
var colClass = "".concat(blockClass, "__column");
|
79
|
+
(0, _react.useEffect)(function () {
|
80
|
+
var isAllSelected = filteredItems.every(function (item) {
|
81
|
+
return multiSelection.includes(item.id);
|
82
|
+
});
|
83
|
+
setAllSelected(isAllSelected);
|
84
|
+
}, [filteredItems, multiSelection]); // sorting
|
72
85
|
|
73
86
|
var colSortBy = (_filteredItems$find = filteredItems.find(function (item) {
|
74
87
|
return item.sortBy;
|
@@ -102,6 +115,21 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
|
|
102
115
|
setSortDirection(direction);
|
103
116
|
};
|
104
117
|
|
118
|
+
var selectAllHandler = function selectAllHandler(checked) {
|
119
|
+
var itemIds = filteredItems.map(function (item) {
|
120
|
+
return item.id;
|
121
|
+
});
|
122
|
+
|
123
|
+
if (checked) {
|
124
|
+
setMultiSelection([].concat((0, _toConsumableArray2.default)(multiSelection), (0, _toConsumableArray2.default)(itemIds)));
|
125
|
+
} else {
|
126
|
+
var newItems = multiSelection.filter(function (i) {
|
127
|
+
return !itemIds.includes(i);
|
128
|
+
});
|
129
|
+
setMultiSelection(newItems);
|
130
|
+
}
|
131
|
+
};
|
132
|
+
|
105
133
|
var filterHandler = function filterHandler(checked, opt) {
|
106
134
|
if (checked) {
|
107
135
|
var newFilters = [].concat((0, _toConsumableArray2.default)(filters), [opt]);
|
@@ -199,14 +227,20 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
|
|
199
227
|
})));
|
200
228
|
})))), /*#__PURE__*/_react.default.createElement("div", {
|
201
229
|
className: "".concat(blockClass, "__tag-container")
|
202
|
-
}, /*#__PURE__*/_react.default.createElement(
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
230
|
+
}, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Checkbox, {
|
231
|
+
id: "".concat((0, _uuidv.default)(), "-select-all"),
|
232
|
+
checked: allSelected,
|
233
|
+
onChange: selectAllHandler,
|
234
|
+
labelText: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
|
235
|
+
className: "".concat(blockClass, "__tag-container-label")
|
236
|
+
}, header), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Tag, {
|
237
|
+
type: "gray",
|
238
|
+
size: "sm"
|
239
|
+
}, colItems.length))
|
240
|
+
})), /*#__PURE__*/_react.default.createElement(_AddSelectList.AddSelectList, (0, _extends2.default)({}, props, {
|
241
|
+
filteredItems: colItems,
|
242
|
+
setMultiSelection: setMultiSelection,
|
243
|
+
multiSelection: multiSelection
|
210
244
|
})));
|
211
245
|
};
|
212
246
|
|
@@ -214,6 +248,8 @@ exports.AddSelectColumn = AddSelectColumn;
|
|
214
248
|
AddSelectColumn.propTypes = {
|
215
249
|
columnInputPlaceholder: _propTypes.default.string,
|
216
250
|
filteredItems: _propTypes.default.array,
|
217
|
-
header: _propTypes.default.string
|
251
|
+
header: _propTypes.default.string,
|
252
|
+
multiSelection: _propTypes.default.array,
|
253
|
+
setMultiSelection: _propTypes.default.func
|
218
254
|
};
|
219
255
|
AddSelectColumn.displayName = componentName;
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
});
|
8
8
|
exports.AddSelectList = void 0;
|
9
9
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
+
|
10
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
11
13
|
|
12
14
|
var _react = _interopRequireDefault(require("react"));
|
@@ -17,6 +19,8 @@ var _iconsReact = require("@carbon/icons-react");
|
|
17
19
|
|
18
20
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
19
21
|
|
22
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
23
|
+
|
20
24
|
var _settings = require("../../settings");
|
21
25
|
|
22
26
|
//
|
@@ -29,7 +33,7 @@ var componentName = 'AddSelectList';
|
|
29
33
|
|
30
34
|
var AddSelectList = function AddSelectList(_ref) {
|
31
35
|
var filteredItems = _ref.filteredItems,
|
32
|
-
|
36
|
+
modifiers = _ref.modifiers,
|
33
37
|
multi = _ref.multi,
|
34
38
|
multiSelection = _ref.multiSelection,
|
35
39
|
path = _ref.path,
|
@@ -43,13 +47,13 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
43
47
|
setSingleSelection(value);
|
44
48
|
};
|
45
49
|
|
46
|
-
var handleMultiSelection = function handleMultiSelection(
|
50
|
+
var handleMultiSelection = function handleMultiSelection(id, checked) {
|
47
51
|
if (checked) {
|
48
|
-
var newValues = [].concat((0, _toConsumableArray2.default)(multiSelection), [
|
52
|
+
var newValues = [].concat((0, _toConsumableArray2.default)(multiSelection), [id]);
|
49
53
|
setMultiSelection(newValues);
|
50
54
|
} else {
|
51
55
|
var _newValues = multiSelection.filter(function (v) {
|
52
|
-
return v !==
|
56
|
+
return v !== id;
|
53
57
|
});
|
54
58
|
|
55
59
|
setMultiSelection(_newValues);
|
@@ -113,32 +117,50 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
113
117
|
}
|
114
118
|
};
|
115
119
|
|
120
|
+
var isSelected = function isSelected(id) {
|
121
|
+
return multiSelection.includes(id);
|
122
|
+
};
|
123
|
+
|
116
124
|
return /*#__PURE__*/_react.default.createElement("div", {
|
117
125
|
className: "".concat(blockClass, "-wrapper")
|
118
126
|
}, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.StructuredListWrapper, {
|
119
127
|
selection: true,
|
120
128
|
className: "".concat(blockClass)
|
121
129
|
}, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.StructuredListBody, null, filteredItems.map(function (item) {
|
130
|
+
var _modifiers$options;
|
131
|
+
|
122
132
|
return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.StructuredListRow, {
|
123
133
|
key: item.id,
|
124
|
-
className: "".concat(blockClass, "-row")
|
134
|
+
className: (0, _classnames.default)("".concat(blockClass, "-row"), (0, _defineProperty2.default)({}, "".concat(blockClass, "-row-selected"), isSelected(item.id)))
|
125
135
|
}, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.StructuredListCell, {
|
126
136
|
className: "".concat(blockClass, "-cell")
|
127
137
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
128
138
|
className: "".concat(blockClass, "-cell-wrapper")
|
129
|
-
}, multi ? /*#__PURE__*/_react.default.createElement(
|
130
|
-
className: "".concat(blockClass, "-checkbox")
|
131
|
-
|
132
|
-
|
139
|
+
}, multi ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
140
|
+
className: "".concat(blockClass, "-checkbox")
|
141
|
+
}, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Checkbox, {
|
142
|
+
onChange: function onChange(checked) {
|
143
|
+
return handleMultiSelection(item.id, checked);
|
133
144
|
},
|
134
|
-
labelText:
|
135
|
-
className: "".concat(blockClass, "-cell-title")
|
136
|
-
}, item.title), /*#__PURE__*/_react.default.createElement("span", {
|
137
|
-
className: "".concat(blockClass, "-cell-subtitle")
|
138
|
-
}, item.subtitle)) : item.title,
|
145
|
+
labelText: item.title,
|
139
146
|
id: item.id,
|
140
|
-
checked:
|
141
|
-
|
147
|
+
checked: isSelected(item.id),
|
148
|
+
className: "".concat(blockClass, "-checkbox-wrapper")
|
149
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
150
|
+
className: "".concat(blockClass, "-checkbox-label-text")
|
151
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
152
|
+
className: "".concat(blockClass, "-cell-title")
|
153
|
+
}, item.title), item.subtitle && /*#__PURE__*/_react.default.createElement("span", {
|
154
|
+
className: "".concat(blockClass, "-cell-subtitle")
|
155
|
+
}, item.subtitle))), (modifiers === null || modifiers === void 0 ? void 0 : (_modifiers$options = modifiers.options) === null || _modifiers$options === void 0 ? void 0 : _modifiers$options.length) && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Dropdown, {
|
156
|
+
id: "".concat(item.id, "-modifier"),
|
157
|
+
type: "inline",
|
158
|
+
items: modifiers === null || modifiers === void 0 ? void 0 : modifiers.options,
|
159
|
+
light: true,
|
160
|
+
label: modifiers === null || modifiers === void 0 ? void 0 : modifiers.label,
|
161
|
+
disabled: !isSelected(item.id),
|
162
|
+
className: "".concat(blockClass, "-dropdown")
|
163
|
+
})) : /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.RadioButton, {
|
142
164
|
className: "".concat(blockClass, "-radio"),
|
143
165
|
name: "add-select-selections",
|
144
166
|
id: item.id,
|
@@ -157,7 +179,7 @@ var AddSelectList = function AddSelectList(_ref) {
|
|
157
179
|
exports.AddSelectList = AddSelectList;
|
158
180
|
AddSelectList.propTypes = {
|
159
181
|
filteredItems: _propTypes.default.array,
|
160
|
-
|
182
|
+
modifiers: _propTypes.default.object,
|
161
183
|
multi: _propTypes.default.bool,
|
162
184
|
multiSelection: _propTypes.default.array,
|
163
185
|
path: _propTypes.default.array,
|
@@ -70,7 +70,8 @@ var AddSelectSidebar = function AddSelectSidebar(_ref) {
|
|
70
70
|
return handleItemRemove(id);
|
71
71
|
},
|
72
72
|
kind: "ghost",
|
73
|
-
className: "".concat(blockClass, "-item-remove-button")
|
73
|
+
className: "".concat(blockClass, "-item-remove-button"),
|
74
|
+
size: "sm"
|
74
75
|
}));
|
75
76
|
};
|
76
77
|
|
@@ -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, {
|