@carbon/ibm-products 1.22.0 → 1.23.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/components/Datagrid/styles/datagrid.css +4 -0
- package/css/components/Datagrid/styles/datagrid.css.map +1 -1
- package/css/components/Datagrid/styles/index.css +15 -0
- package/css/components/Datagrid/styles/index.css.map +1 -1
- package/css/components/Datagrid/styles/useExpandedRow.css +12 -0
- package/css/components/Datagrid/styles/useExpandedRow.css.map +1 -0
- package/css/index-full-carbon.css +46 -143
- 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 +25 -16
- 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 +41 -16
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +2 -2
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +44 -139
- package/css/index.css.map +1 -1
- package/css/index.min.css +3 -3
- package/css/index.min.css.map +1 -1
- package/es/components/AddSelect/AddSelect.js +57 -422
- package/es/components/AddSelect/AddSelectBody.js +349 -0
- package/es/components/AddSelect/AddSelectBreadcrumbs.js +11 -31
- package/es/components/AddSelect/AddSelectColumn.js +91 -41
- package/es/components/AddSelect/AddSelectFilter.js +1 -2
- package/es/components/AddSelect/AddSelectList.js +10 -61
- package/es/components/AddSelect/AddSelectMetaPanel.js +1 -1
- package/es/components/AddSelect/AddSelectSidebar.js +20 -13
- package/es/components/AddSelect/AddSelectSort.js +2 -2
- package/es/components/AddSelect/add-select-utils.js +85 -59
- package/es/components/AddSelect/hooks/useParentSelect.js +16 -0
- package/es/components/AddSelect/hooks/usePath.js +66 -0
- package/es/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +1 -5
- package/es/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +1 -5
- package/es/components/Datagrid/Datagrid/Datagrid.js +1 -1
- package/es/components/Datagrid/useExpandedRow.js +12 -4
- package/es/components/PageHeader/PageHeaderUtils.js +5 -0
- package/es/components/TagSet/TagSet.js +15 -5
- package/lib/components/AddSelect/AddSelect.js +54 -430
- package/lib/components/AddSelect/AddSelectBody.js +384 -0
- package/lib/components/AddSelect/AddSelectBreadcrumbs.js +11 -30
- package/lib/components/AddSelect/AddSelectColumn.js +90 -39
- package/lib/components/AddSelect/AddSelectFilter.js +1 -2
- package/lib/components/AddSelect/AddSelectList.js +11 -60
- package/lib/components/AddSelect/AddSelectMetaPanel.js +1 -1
- package/lib/components/AddSelect/AddSelectSidebar.js +20 -13
- package/lib/components/AddSelect/AddSelectSort.js +2 -2
- package/lib/components/AddSelect/add-select-utils.js +88 -64
- package/lib/components/AddSelect/hooks/useParentSelect.js +27 -0
- package/lib/components/AddSelect/hooks/usePath.js +75 -0
- package/lib/components/CreateTearsheet/preview-components/MultiStepTearsheet.js +1 -5
- package/lib/components/CreateTearsheet/preview-components/MultiStepWithIntro.js +1 -5
- package/lib/components/Datagrid/Datagrid/Datagrid.js +1 -1
- package/lib/components/Datagrid/useExpandedRow.js +20 -4
- package/lib/components/PageHeader/PageHeaderUtils.js +5 -0
- package/lib/components/TagSet/TagSet.js +15 -5
- package/package.json +16 -16
- package/scss/components/Cascade/_cascade.scss +2 -1
- package/scss/components/CreateInfluencer/_create-influencer.scss +0 -2
- package/scss/components/CreateTearsheet/_create-tearsheet.scss +1 -1
- package/scss/components/Datagrid/_storybook-styles.scss +4 -0
- package/scss/components/Datagrid/styles/datagrid.scss +4 -0
- package/scss/components/Datagrid/styles/index.scss +1 -0
- package/scss/components/Datagrid/styles/useExpandedRow.scss +13 -0
- package/scss/components/InlineEdit/_inline-edit.scss +2 -1
- package/scss/components/OptionsTile/_options-tile.scss +1 -0
- package/scss/components/PageHeader/_page-header.scss +9 -4
- package/scss/components/SidePanel/_side-panel.scss +1 -2
- package/scss/components/TagSet/_tag-set.scss +4 -0
|
@@ -13,447 +13,59 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
13
13
|
|
|
14
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
15
|
|
|
16
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
16
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
19
17
|
|
|
20
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
19
|
|
|
22
20
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
23
21
|
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
var _carbonComponentsReact = require("carbon-components-react");
|
|
27
|
-
|
|
28
|
-
var _Tearsheet = require("../../components/Tearsheet");
|
|
29
|
-
|
|
30
|
-
var _NoDataEmptyState = require("../../components/EmptyStates/NoDataEmptyState");
|
|
22
|
+
var _AddSelectBody = require("./AddSelectBody");
|
|
31
23
|
|
|
32
24
|
var _settings = require("../../settings");
|
|
33
25
|
|
|
34
|
-
var _AddSelectSidebar = require("./AddSelectSidebar");
|
|
35
|
-
|
|
36
|
-
var _AddSelectBreadcrumbs = require("./AddSelectBreadcrumbs");
|
|
37
|
-
|
|
38
|
-
var _AddSelectList = require("./AddSelectList");
|
|
39
|
-
|
|
40
|
-
var _AddSelectColumn = require("./AddSelectColumn");
|
|
41
|
-
|
|
42
26
|
var _addSelectUtils = require("./add-select-utils");
|
|
43
27
|
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
var _AddSelectSort = require("./AddSelectSort");
|
|
47
|
-
|
|
48
|
-
var _useItemSort2 = require("./hooks/useItemSort");
|
|
49
|
-
|
|
50
|
-
var _excluded = ["className", "clearFiltersText", "closeIconDescription", "columnInputPlaceholder", "description", "globalFilters", "globalFiltersIconDescription", "globalFiltersPlaceholderText", "globalFiltersPrimaryButtonText", "globalFiltersSecondaryButtonText", "globalSearchLabel", "globalSearchPlaceholder", "globalSortBy", "influencerTitle", "items", "itemsLabel", "metaIconDescription", "metaPanelTitle", "multi", "navIconDescription", "noResultsDescription", "noResultsTitle", "noSelectionDescription", "noSelectionTitle", "onClose", "onCloseButtonText", "onSubmit", "onSubmitButtonText", "open", "portalTarget", "removeIconDescription", "searchResultsLabel", "title"];
|
|
28
|
+
var _excluded = ["items"];
|
|
51
29
|
|
|
52
30
|
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); }
|
|
53
31
|
|
|
54
32
|
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; }
|
|
55
33
|
|
|
34
|
+
var blockClass = "".concat(_settings.pkg.prefix, "--add-select");
|
|
56
35
|
var componentName = 'AddSelect';
|
|
57
36
|
var AddSelect = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
58
|
-
var
|
|
59
|
-
|
|
60
|
-
var
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
noSelectionDescription = _ref.noSelectionDescription,
|
|
83
|
-
noSelectionTitle = _ref.noSelectionTitle,
|
|
84
|
-
onClose = _ref.onClose,
|
|
85
|
-
onCloseButtonText = _ref.onCloseButtonText,
|
|
86
|
-
onSubmit = _ref.onSubmit,
|
|
87
|
-
onSubmitButtonText = _ref.onSubmitButtonText,
|
|
88
|
-
open = _ref.open,
|
|
89
|
-
portalTarget = _ref.portalTarget,
|
|
90
|
-
removeIconDescription = _ref.removeIconDescription,
|
|
91
|
-
searchResultsLabel = _ref.searchResultsLabel,
|
|
92
|
-
title = _ref.title,
|
|
93
|
-
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
94
|
-
var blockClass = "".concat(_settings.pkg.prefix, "--add-select"); // hooks
|
|
95
|
-
|
|
96
|
-
var _useState = (0, _react.useState)([]),
|
|
97
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
98
|
-
path = _useState2[0],
|
|
99
|
-
setPath = _useState2[1];
|
|
100
|
-
|
|
101
|
-
var _useState3 = (0, _react.useState)(''),
|
|
102
|
-
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
103
|
-
singleSelection = _useState4[0],
|
|
104
|
-
setSingleSelection = _useState4[1];
|
|
105
|
-
|
|
106
|
-
var _useState5 = (0, _react.useState)([]),
|
|
107
|
-
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
108
|
-
multiSelection = _useState6[0],
|
|
109
|
-
setMultiSelection = _useState6[1];
|
|
110
|
-
|
|
111
|
-
var _useState7 = (0, _react.useState)(''),
|
|
112
|
-
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
113
|
-
searchTerm = _useState8[0],
|
|
114
|
-
setSearchTerm = _useState8[1];
|
|
115
|
-
|
|
116
|
-
var _useState9 = (0, _react.useState)({}),
|
|
117
|
-
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
118
|
-
normalizedItems = _useState10[0],
|
|
119
|
-
setNormalizedItems = _useState10[1];
|
|
120
|
-
|
|
121
|
-
var _useState11 = (0, _react.useState)(false),
|
|
122
|
-
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
123
|
-
useNormalizedItems = _useState12[0],
|
|
124
|
-
setUsedNormalizedItems = _useState12[1];
|
|
125
|
-
|
|
126
|
-
var _useState13 = (0, _react.useState)([]),
|
|
127
|
-
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
128
|
-
flatItems = _useState14[0],
|
|
129
|
-
setFlatItems = _useState14[1];
|
|
130
|
-
|
|
131
|
-
var _useState15 = (0, _react.useState)([]),
|
|
132
|
-
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
133
|
-
globalFilterOpts = _useState16[0],
|
|
134
|
-
setGlobalFilterOpts = _useState16[1];
|
|
135
|
-
|
|
136
|
-
var _useState17 = (0, _react.useState)({}),
|
|
137
|
-
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
138
|
-
appliedGlobalFilters = _useState18[0],
|
|
139
|
-
setAppliedGlobalFilters = _useState18[1];
|
|
140
|
-
|
|
141
|
-
var _useState19 = (0, _react.useState)({}),
|
|
142
|
-
_useState20 = (0, _slicedToArray2.default)(_useState19, 2),
|
|
143
|
-
displayMetalPanel = _useState20[0],
|
|
144
|
-
setDisplayMetaPanel = _useState20[1];
|
|
145
|
-
|
|
146
|
-
var _useItemSort = (0, _useItemSort2.useItemSort)(),
|
|
147
|
-
sortDirection = _useItemSort.sortDirection,
|
|
148
|
-
setSortDirection = _useItemSort.setSortDirection,
|
|
149
|
-
sortAttribute = _useItemSort.sortAttribute,
|
|
150
|
-
setSortAttribute = _useItemSort.setSortAttribute;
|
|
151
|
-
|
|
152
|
-
var _useState21 = (0, _react.useState)([]),
|
|
153
|
-
_useState22 = (0, _slicedToArray2.default)(_useState21, 2),
|
|
154
|
-
appliedModifiers = _useState22[0],
|
|
155
|
-
setAppliedModifiers = _useState22[1];
|
|
156
|
-
|
|
157
|
-
(0, _react.useEffect)(function () {
|
|
158
|
-
var entries = items.entries; // flatItems is just a single array of all entries including children
|
|
159
|
-
|
|
160
|
-
var flattenedItems = (0, _addSelectUtils.flatten)(entries);
|
|
161
|
-
|
|
162
|
-
if (multi) {
|
|
163
|
-
if (globalFilters !== null && globalFilters !== void 0 && globalFilters.length) {
|
|
164
|
-
var globalFilterValues = (0, _addSelectUtils.getGlobalFilterValues)(globalFilters, flattenedItems);
|
|
165
|
-
setGlobalFilterOpts(globalFilterValues);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
if (items.modifiers) {
|
|
169
|
-
var modifiersToApply = flattenedItems.map(function (item) {
|
|
170
|
-
var modifierAttribute = items.modifiers.id;
|
|
171
|
-
return (0, _defineProperty2.default)({
|
|
172
|
-
id: item.id
|
|
173
|
-
}, modifierAttribute, item[modifierAttribute]);
|
|
174
|
-
});
|
|
175
|
-
setAppliedModifiers(modifiersToApply);
|
|
176
|
-
} // multi select with nested data needs to be normalized
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
if (entries.find(function (entry) {
|
|
180
|
-
return entry.children;
|
|
181
|
-
})) {
|
|
182
|
-
var newItems = (0, _addSelectUtils.normalize)(items);
|
|
183
|
-
setNormalizedItems(newItems);
|
|
184
|
-
setUsedNormalizedItems(true);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
setFlatItems(flattenedItems);
|
|
189
|
-
}, [items, multi, globalFilters]); // used to generate columns of results for multi select with hierarchy
|
|
190
|
-
|
|
191
|
-
var getPages = function getPages() {
|
|
192
|
-
var pages = [];
|
|
193
|
-
var itemIds = Object.keys(normalizedItems); // top level items are just items with no parents so they're the top results
|
|
194
|
-
|
|
195
|
-
var topLevelItems = [];
|
|
196
|
-
itemIds.forEach(function (itemId) {
|
|
197
|
-
if (!normalizedItems[itemId].parent) {
|
|
198
|
-
topLevelItems.push(normalizedItems[itemId]);
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
pages.push(topLevelItems);
|
|
202
|
-
|
|
203
|
-
if (path.length) {
|
|
204
|
-
/**
|
|
205
|
-
* the path is set when you initially traverse the child entries
|
|
206
|
-
* path is an array of item id's
|
|
207
|
-
* when a path is present the normalized items are searched
|
|
208
|
-
* any item who's has a matching parent id is added to the results
|
|
209
|
-
* in the end you have an array of arrays for each column of the hierarchy
|
|
210
|
-
*/
|
|
211
|
-
var pathIds = path.map(function (p) {
|
|
212
|
-
return p.id;
|
|
213
|
-
});
|
|
214
|
-
pathIds.forEach(function (pathId) {
|
|
215
|
-
var entries = [];
|
|
216
|
-
itemIds.forEach(function (itemId) {
|
|
217
|
-
if (normalizedItems[itemId].parent === pathId) {
|
|
218
|
-
entries.push(normalizedItems[itemId]);
|
|
219
|
-
}
|
|
220
|
-
});
|
|
221
|
-
pages.push(entries);
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
return pages;
|
|
226
|
-
}; // item filtering
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
var getFilteredItems = function getFilteredItems() {
|
|
230
|
-
var entries = items.entries;
|
|
231
|
-
var hasPath = path.length > 0;
|
|
232
|
-
/**
|
|
233
|
-
* how to traverse the levels of items-
|
|
234
|
-
* the path represents the ids of each level / item / breadcrumb
|
|
235
|
-
* using this path we can drill down into the items until we get to the last one the user selected
|
|
236
|
-
*/
|
|
237
|
-
|
|
238
|
-
var itemsToFilter = hasPath ? path.reduce(function (prev, cur) {
|
|
239
|
-
var _prev$find, _prev$find$children;
|
|
240
|
-
|
|
241
|
-
return (_prev$find = prev.find(function (item) {
|
|
242
|
-
return item.id === cur.id;
|
|
243
|
-
})) === null || _prev$find === void 0 ? void 0 : (_prev$find$children = _prev$find.children) === null || _prev$find$children === void 0 ? void 0 : _prev$find$children.entries;
|
|
244
|
-
}, entries) : entries;
|
|
245
|
-
var results = itemsToFilter.filter(function (item) {
|
|
246
|
-
if (!searchTerm) {
|
|
247
|
-
return item;
|
|
248
|
-
} // otherwise use the default label filter
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
return item.title.toLowerCase().includes(searchTerm);
|
|
252
|
-
});
|
|
253
|
-
return results;
|
|
254
|
-
};
|
|
255
|
-
|
|
256
|
-
var sortFn = (0, _addSelectUtils.sortItems)(sortAttribute, sortDirection);
|
|
257
|
-
|
|
258
|
-
var getDisplayItems = function getDisplayItems() {
|
|
259
|
-
if (useNormalizedItems) {
|
|
260
|
-
// when global search or filter is in use the results are not in column format
|
|
261
|
-
var filters = Object.keys(appliedGlobalFilters);
|
|
262
|
-
|
|
263
|
-
if (searchTerm || filters.length) {
|
|
264
|
-
var results = flatItems.filter(function (item) {
|
|
265
|
-
return item.title.toLowerCase().includes(searchTerm);
|
|
266
|
-
}).filter(function (item) {
|
|
267
|
-
return filters.every(function (filter) {
|
|
268
|
-
return item[filter] === appliedGlobalFilters[filter];
|
|
269
|
-
});
|
|
270
|
-
}).sort(sortFn);
|
|
271
|
-
return results;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
return getPages();
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
return getFilteredItems();
|
|
278
|
-
}; // only multi select with hierarchy requires the the normalized items
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
var itemsToDisplay = getDisplayItems();
|
|
282
|
-
var commonListProps = {
|
|
283
|
-
metaIconDescription: metaIconDescription,
|
|
284
|
-
multi: multi,
|
|
285
|
-
multiSelection: multiSelection,
|
|
286
|
-
navIconDescription: navIconDescription,
|
|
287
|
-
path: path,
|
|
288
|
-
setMultiSelection: setMultiSelection,
|
|
289
|
-
setPath: setPath,
|
|
290
|
-
setSingleSelection: setSingleSelection,
|
|
291
|
-
singleSelection: singleSelection,
|
|
292
|
-
setDisplayMetaPanel: setDisplayMetaPanel
|
|
293
|
-
}; // handlers
|
|
294
|
-
|
|
295
|
-
var handleSearch = function handleSearch(term) {
|
|
296
|
-
setSearchTerm(term);
|
|
297
|
-
};
|
|
298
|
-
|
|
299
|
-
var handleFilter = function handleFilter(filters) {
|
|
300
|
-
setAppliedGlobalFilters(filters);
|
|
301
|
-
};
|
|
302
|
-
|
|
303
|
-
var submitHandler = function submitHandler() {
|
|
304
|
-
if (multi && appliedModifiers.length > 0) {
|
|
305
|
-
var selections = multiSelection.map(function (item) {
|
|
306
|
-
return appliedModifiers.find(function (mod) {
|
|
307
|
-
return mod.id === item;
|
|
308
|
-
});
|
|
309
|
-
});
|
|
310
|
-
onSubmit(selections);
|
|
311
|
-
} else if (multi && appliedModifiers.length === 0) {
|
|
312
|
-
onSubmit(multiSelection);
|
|
313
|
-
} else {
|
|
314
|
-
onSubmit(singleSelection);
|
|
315
|
-
}
|
|
316
|
-
};
|
|
317
|
-
|
|
318
|
-
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));
|
|
319
|
-
var commonTearsheetProps = {
|
|
320
|
-
className: classNames,
|
|
321
|
-
open: open,
|
|
322
|
-
title: title,
|
|
323
|
-
description: description,
|
|
324
|
-
closeIconDescription: 'temp description',
|
|
325
|
-
actions: [{
|
|
326
|
-
label: onCloseButtonText,
|
|
327
|
-
kind: 'secondary',
|
|
328
|
-
onClick: onClose
|
|
329
|
-
}, {
|
|
330
|
-
label: onSubmitButtonText,
|
|
331
|
-
kind: 'primary',
|
|
332
|
-
onClick: submitHandler,
|
|
333
|
-
disabled: multi ? multiSelection.length === 0 : !singleSelection
|
|
334
|
-
}],
|
|
335
|
-
portalTarget: portalTarget
|
|
336
|
-
};
|
|
337
|
-
var sidebarProps = {
|
|
338
|
-
closeIconDescription: closeIconDescription,
|
|
339
|
-
influencerTitle: influencerTitle,
|
|
340
|
-
items: flatItems,
|
|
341
|
-
metaPanelTitle: metaPanelTitle,
|
|
342
|
-
multiSelection: multiSelection,
|
|
343
|
-
noSelectionDescription: noSelectionDescription,
|
|
344
|
-
noSelectionTitle: noSelectionTitle,
|
|
345
|
-
removeIconDescription: removeIconDescription,
|
|
346
|
-
setMultiSelection: setMultiSelection,
|
|
347
|
-
displayMetalPanel: displayMetalPanel,
|
|
348
|
-
setDisplayMetaPanel: setDisplayMetaPanel,
|
|
349
|
-
modifiers: items.modifiers,
|
|
350
|
-
appliedModifiers: appliedModifiers
|
|
351
|
-
};
|
|
352
|
-
|
|
353
|
-
var setShowBreadsCrumbs = function setShowBreadsCrumbs() {
|
|
354
|
-
if (searchTerm) {
|
|
355
|
-
return false;
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
if (path.length) {
|
|
359
|
-
return true;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
return false;
|
|
363
|
-
};
|
|
364
|
-
|
|
365
|
-
var setShowTags = function setShowTags() {
|
|
366
|
-
if (searchTerm) {
|
|
367
|
-
return true;
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
if (useNormalizedItems) {
|
|
371
|
-
return false;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
return true;
|
|
375
|
-
};
|
|
376
|
-
|
|
377
|
-
var hasResults = itemsToDisplay.length > 0;
|
|
378
|
-
var globalFiltersApplied = Object.keys(appliedGlobalFilters).length > 0;
|
|
379
|
-
var showBreadsCrumbs = setShowBreadsCrumbs();
|
|
380
|
-
var showSort = (searchTerm || globalFiltersApplied) && hasResults;
|
|
381
|
-
var showTags = setShowTags(); // main content
|
|
382
|
-
|
|
383
|
-
var body = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
384
|
-
className: "".concat(blockClass, "__header")
|
|
385
|
-
}, /*#__PURE__*/_react.default.createElement(_AddSelectFilter.AddSelectFilter, {
|
|
386
|
-
inputLabel: globalSearchLabel,
|
|
387
|
-
inputPlaceholder: globalSearchPlaceholder,
|
|
388
|
-
searchTerm: searchTerm,
|
|
389
|
-
handleSearch: handleSearch,
|
|
390
|
-
multi: multi,
|
|
391
|
-
filterOpts: globalFilterOpts,
|
|
392
|
-
handleFilter: handleFilter,
|
|
393
|
-
primaryButtonText: globalFiltersPrimaryButtonText,
|
|
394
|
-
secondaryButtonText: globalFiltersSecondaryButtonText,
|
|
395
|
-
placeholder: globalFiltersPlaceholderText,
|
|
396
|
-
iconDescription: globalFiltersIconDescription,
|
|
397
|
-
appliedFilters: appliedGlobalFilters,
|
|
398
|
-
hasFiltersApplied: globalFiltersApplied,
|
|
399
|
-
clearFiltersText: clearFiltersText
|
|
400
|
-
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
401
|
-
className: "".concat(blockClass, "__sub-header")
|
|
402
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
403
|
-
className: "".concat(blockClass, "__tag-container")
|
|
404
|
-
}, showBreadsCrumbs ? /*#__PURE__*/_react.default.createElement(_AddSelectBreadcrumbs.AddSelectBreadcrumbs, {
|
|
405
|
-
itemsLabel: itemsLabel,
|
|
406
|
-
path: path,
|
|
407
|
-
setPath: setPath
|
|
408
|
-
}) : /*#__PURE__*/_react.default.createElement("p", {
|
|
409
|
-
className: "".concat(blockClass, "__tag-container-label")
|
|
410
|
-
}, searchTerm ? searchResultsLabel : itemsLabel), showTags && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Tag, {
|
|
411
|
-
type: "gray",
|
|
412
|
-
size: "sm"
|
|
413
|
-
}, itemsToDisplay.length)), showSort && /*#__PURE__*/_react.default.createElement(_AddSelectSort.AddSelectSort, {
|
|
414
|
-
items: itemsToDisplay,
|
|
415
|
-
setSortAttribute: setSortAttribute,
|
|
416
|
-
setSortDirection: setSortDirection,
|
|
417
|
-
sortAttribute: sortAttribute,
|
|
418
|
-
sortDirection: sortDirection,
|
|
419
|
-
sortBy: globalSortBy
|
|
420
|
-
}))), useNormalizedItems && !searchTerm && !globalFiltersApplied ? /*#__PURE__*/_react.default.createElement("div", {
|
|
421
|
-
className: "".concat(blockClass, "__columns")
|
|
422
|
-
}, itemsToDisplay.map(function (page, idx) {
|
|
423
|
-
var _path;
|
|
424
|
-
|
|
425
|
-
return /*#__PURE__*/_react.default.createElement(_AddSelectColumn.AddSelectColumn, (0, _extends2.default)({}, commonListProps, {
|
|
426
|
-
key: idx,
|
|
427
|
-
filteredItems: page,
|
|
428
|
-
header: idx === 0 ? itemsLabel : (_path = path[idx - 1]) === null || _path === void 0 ? void 0 : _path.title,
|
|
429
|
-
columnInputPlaceholder: columnInputPlaceholder
|
|
430
|
-
}));
|
|
431
|
-
})) : /*#__PURE__*/_react.default.createElement("div", null, hasResults ? /*#__PURE__*/_react.default.createElement(_AddSelectList.AddSelectList, (0, _extends2.default)({}, commonListProps, {
|
|
432
|
-
filteredItems: itemsToDisplay,
|
|
433
|
-
modifiers: items.modifiers,
|
|
434
|
-
appliedModifiers: appliedModifiers,
|
|
435
|
-
setAppliedModifiers: setAppliedModifiers
|
|
436
|
-
})) : /*#__PURE__*/_react.default.createElement("div", {
|
|
437
|
-
className: "".concat(blockClass, "__body")
|
|
438
|
-
}, /*#__PURE__*/_react.default.createElement(_NoDataEmptyState.NoDataEmptyState, {
|
|
439
|
-
subtitle: noResultsDescription,
|
|
440
|
-
title: noResultsTitle
|
|
441
|
-
}))));
|
|
442
|
-
|
|
443
|
-
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
444
|
-
ref: ref
|
|
445
|
-
}, rest), multi ? /*#__PURE__*/_react.default.createElement(_Tearsheet.Tearsheet, (0, _extends2.default)({}, commonTearsheetProps, {
|
|
446
|
-
influencer: multi && /*#__PURE__*/_react.default.createElement(_AddSelectSidebar.AddSelectSidebar, sidebarProps),
|
|
447
|
-
influencerPosition: "right"
|
|
448
|
-
}), body) : /*#__PURE__*/_react.default.createElement(_Tearsheet.TearsheetNarrow, commonTearsheetProps, body));
|
|
37
|
+
var _props$globalFilters;
|
|
38
|
+
|
|
39
|
+
var items = _ref.items,
|
|
40
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
41
|
+
var useNormalizedItems = !!items.entries.find(function (item) {
|
|
42
|
+
return item.children;
|
|
43
|
+
});
|
|
44
|
+
var normalizedItems = useNormalizedItems ? (0, _addSelectUtils.normalize)(items) : null;
|
|
45
|
+
var globalFilterOpts = props.multi && (_props$globalFilters = props.globalFilters) !== null && _props$globalFilters !== void 0 && _props$globalFilters.length ? (0, _addSelectUtils.getGlobalFilterValues)(props.globalFilters, normalizedItems) : null;
|
|
46
|
+
var defaultModifiers = props.multi && items.modifiers ? items.entries.map(function (item) {
|
|
47
|
+
var modifierAttribute = items.modifiers.id;
|
|
48
|
+
return (0, _defineProperty2.default)({
|
|
49
|
+
id: item.id
|
|
50
|
+
}, modifierAttribute, item[modifierAttribute]);
|
|
51
|
+
}) : null;
|
|
52
|
+
return /*#__PURE__*/_react.default.createElement(_AddSelectBody.AddSelectBody, (0, _extends2.default)({}, props, {
|
|
53
|
+
className: blockClass,
|
|
54
|
+
ref: ref,
|
|
55
|
+
items: items,
|
|
56
|
+
normalizedItems: normalizedItems,
|
|
57
|
+
useNormalizedItems: useNormalizedItems,
|
|
58
|
+
globalFilterOpts: globalFilterOpts,
|
|
59
|
+
defaultModifiers: defaultModifiers
|
|
60
|
+
}));
|
|
449
61
|
});
|
|
450
62
|
exports.AddSelect = AddSelect;
|
|
451
63
|
AddSelect.propTypes = {
|
|
452
64
|
className: _propTypes.default.string,
|
|
453
65
|
clearFiltersText: _propTypes.default.string,
|
|
454
|
-
closeIconDescription: _propTypes.default.string,
|
|
66
|
+
closeIconDescription: _propTypes.default.string.isRequired,
|
|
455
67
|
columnInputPlaceholder: _propTypes.default.string,
|
|
456
|
-
description: _propTypes.default.string,
|
|
68
|
+
description: _propTypes.default.string.isRequired,
|
|
457
69
|
globalFilters: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
458
70
|
id: _propTypes.default.string,
|
|
459
71
|
label: _propTypes.default.string
|
|
@@ -491,22 +103,22 @@ AddSelect.propTypes = {
|
|
|
491
103
|
subtitle: _propTypes.default.string,
|
|
492
104
|
title: _propTypes.default.string.isRequired,
|
|
493
105
|
value: _propTypes.default.string.isRequired
|
|
494
|
-
}))
|
|
495
|
-
}),
|
|
496
|
-
itemsLabel: _propTypes.default.string,
|
|
106
|
+
})).isRequired
|
|
107
|
+
}).isRequired,
|
|
108
|
+
itemsLabel: _propTypes.default.string.isRequired,
|
|
497
109
|
metaIconDescription: _propTypes.default.string,
|
|
498
110
|
metaPanelTitle: _propTypes.default.string,
|
|
499
|
-
multi: _propTypes.default.bool,
|
|
111
|
+
multi: _propTypes.default.bool.isRequired,
|
|
500
112
|
navIconDescription: _propTypes.default.string,
|
|
501
|
-
noResultsDescription: _propTypes.default.string,
|
|
502
|
-
noResultsTitle: _propTypes.default.string,
|
|
113
|
+
noResultsDescription: _propTypes.default.string.isRequired,
|
|
114
|
+
noResultsTitle: _propTypes.default.string.isRequired,
|
|
503
115
|
noSelectionDescription: _propTypes.default.string,
|
|
504
116
|
noSelectionTitle: _propTypes.default.string,
|
|
505
|
-
onClose: _propTypes.default.func,
|
|
506
|
-
onCloseButtonText: _propTypes.default.string,
|
|
507
|
-
onSubmit: _propTypes.default.func,
|
|
508
|
-
onSubmitButtonText: _propTypes.default.string,
|
|
509
|
-
open: _propTypes.default.bool,
|
|
117
|
+
onClose: _propTypes.default.func.isRequired,
|
|
118
|
+
onCloseButtonText: _propTypes.default.string.isRequired,
|
|
119
|
+
onSubmit: _propTypes.default.func.isRequired,
|
|
120
|
+
onSubmitButtonText: _propTypes.default.string.isRequired,
|
|
121
|
+
open: _propTypes.default.bool.isRequired,
|
|
510
122
|
|
|
511
123
|
/**
|
|
512
124
|
* portal target for the all tags modal
|
|
@@ -514,11 +126,23 @@ AddSelect.propTypes = {
|
|
|
514
126
|
portalTarget: _propTypes.default.node,
|
|
515
127
|
removeIconDescription: _propTypes.default.string,
|
|
516
128
|
searchResultsLabel: _propTypes.default.string,
|
|
517
|
-
title: _propTypes.default.string
|
|
129
|
+
title: _propTypes.default.string.isRequired
|
|
518
130
|
};
|
|
519
131
|
AddSelect.defaultProps = {
|
|
132
|
+
closeIconDescription: '',
|
|
133
|
+
description: '',
|
|
134
|
+
itemsLabel: '',
|
|
520
135
|
items: {
|
|
521
136
|
entries: []
|
|
522
|
-
}
|
|
137
|
+
},
|
|
138
|
+
multi: false,
|
|
139
|
+
noResultsDescription: '',
|
|
140
|
+
noResultsTitle: '',
|
|
141
|
+
onClose: function onClose() {},
|
|
142
|
+
onCloseButtonText: '',
|
|
143
|
+
onSubmit: function onSubmit() {},
|
|
144
|
+
onSubmitButtonText: '',
|
|
145
|
+
open: false,
|
|
146
|
+
title: ''
|
|
523
147
|
};
|
|
524
148
|
AddSelect.displayName = componentName;
|