@carbon/ibm-products 1.37.0 → 1.39.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. package/css/index-full-carbon.css +11138 -10785
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +4 -2
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +59 -0
  6. package/css/index-without-carbon-released-only.css.map +1 -1
  7. package/css/index-without-carbon-released-only.min.css +1 -1
  8. package/css/index-without-carbon-released-only.min.css.map +1 -1
  9. package/css/index-without-carbon.css +271 -26
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +3 -1
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +3780 -1833
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +3 -1
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/ActionBar/ActionBarOverflowItems.js +1 -0
  18. package/es/components/AddSelect/AddSelect.js +5 -2
  19. package/es/components/AddSelect/AddSelectBody.js +41 -22
  20. package/es/components/AddSelect/AddSelectColumn.js +2 -2
  21. package/es/components/AddSelect/AddSelectFilter.js +4 -2
  22. package/es/components/AddSelect/AddSelectList.js +7 -5
  23. package/es/components/AddSelect/AddSelectMetaPanel.js +7 -0
  24. package/es/components/AddSelect/AddSelectSidebar.js +4 -1
  25. package/es/components/AddSelect/add-select-utils.js +7 -0
  26. package/es/components/AddSelect/hooks/useItemSort.js +7 -0
  27. package/es/components/AddSelect/hooks/useParentSelect.js +7 -0
  28. package/es/components/AddSelect/hooks/usePath.js +15 -1
  29. package/es/components/AddSelect/index.js +1 -1
  30. package/es/components/CreateFullPage/CreateFullPage.js +4 -1
  31. package/es/components/Datagrid/Datagrid/Datagrid.js +7 -3
  32. package/es/components/Datagrid/Datagrid/DatagridRow.js +35 -2
  33. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +19 -3
  34. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +384 -0
  35. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +35 -46
  36. package/es/components/Datagrid/Datagrid/addons/Filtering/constants.js +19 -0
  37. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +18 -0
  38. package/es/components/Datagrid/Datagrid/addons/Filtering/index.js +7 -0
  39. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +38 -0
  40. package/es/components/Datagrid/index.js +2 -1
  41. package/es/components/Datagrid/useFiltering.js +83 -0
  42. package/es/components/Datagrid/useNestedRows.js +11 -2
  43. package/es/components/Datagrid/utils/DatagridActions.js +134 -33
  44. package/es/components/Datagrid/utils/makeData.js +23 -16
  45. package/es/components/InlineEditV1/InlineEditV1.js +0 -3
  46. package/es/components/InlineEditV2/InlineEditV2.js +0 -1
  47. package/es/components/MultiAddSelect/MultiAddSelect.js +14 -6
  48. package/es/components/MultiAddSelect/index.js +7 -0
  49. package/es/components/SingleAddSelect/SingleAddSelect.js +13 -2
  50. package/es/components/SingleAddSelect/index.js +7 -0
  51. package/es/components/index.js +1 -2
  52. package/es/global/js/package-settings.js +1 -3
  53. package/lib/components/ActionBar/ActionBarOverflowItems.js +1 -0
  54. package/lib/components/AddSelect/AddSelect.js +5 -2
  55. package/lib/components/AddSelect/AddSelectBody.js +40 -21
  56. package/lib/components/AddSelect/AddSelectColumn.js +2 -2
  57. package/lib/components/AddSelect/AddSelectFilter.js +4 -2
  58. package/lib/components/AddSelect/AddSelectList.js +6 -4
  59. package/lib/components/AddSelect/AddSelectMetaPanel.js +7 -0
  60. package/lib/components/AddSelect/AddSelectSidebar.js +4 -1
  61. package/lib/components/AddSelect/add-select-utils.js +7 -0
  62. package/lib/components/AddSelect/hooks/useItemSort.js +7 -0
  63. package/lib/components/AddSelect/hooks/useParentSelect.js +7 -0
  64. package/lib/components/AddSelect/hooks/usePath.js +8 -1
  65. package/lib/components/CreateFullPage/CreateFullPage.js +4 -1
  66. package/lib/components/Datagrid/Datagrid/Datagrid.js +7 -3
  67. package/lib/components/Datagrid/Datagrid/DatagridRow.js +35 -2
  68. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +18 -3
  69. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +385 -0
  70. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +35 -46
  71. package/lib/components/Datagrid/Datagrid/addons/Filtering/constants.js +33 -0
  72. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +27 -0
  73. package/lib/components/Datagrid/Datagrid/addons/Filtering/index.js +13 -0
  74. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +45 -0
  75. package/lib/components/Datagrid/index.js +8 -1
  76. package/lib/components/Datagrid/useFiltering.js +83 -0
  77. package/lib/components/Datagrid/useNestedRows.js +11 -2
  78. package/lib/components/Datagrid/utils/DatagridActions.js +135 -31
  79. package/lib/components/Datagrid/utils/makeData.js +24 -17
  80. package/lib/components/InlineEditV1/InlineEditV1.js +1 -4
  81. package/lib/components/InlineEditV2/InlineEditV2.js +0 -1
  82. package/lib/components/MultiAddSelect/MultiAddSelect.js +14 -6
  83. package/lib/components/SingleAddSelect/SingleAddSelect.js +13 -2
  84. package/lib/components/index.js +1 -8
  85. package/lib/global/js/package-settings.js +1 -3
  86. package/package.json +2 -2
  87. package/scss/components/ActionSet/_action-set.scss +3 -1
  88. package/scss/components/AddSelect/_add-select.scss +39 -29
  89. package/scss/components/AddSelect/_index.scss +1 -1
  90. package/scss/components/AddSelect/_storybook-styles.scss +1 -1
  91. package/scss/components/Datagrid/_datagrid.scss +0 -1
  92. package/scss/components/Datagrid/_storybook-styles.scss +4 -0
  93. package/scss/components/Datagrid/styles/_datagrid.scss +47 -4
  94. package/scss/components/Datagrid/styles/_index.scss +1 -0
  95. package/scss/components/Datagrid/styles/_useInlineEdit.scss +9 -3
  96. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +80 -0
  97. package/scss/components/InlineEditV1/_inline-edit-v1.scss +3 -1
  98. package/scss/components/MultiAddSelect/_index.scss +7 -0
  99. package/scss/components/MultiAddSelect/_multi-add-select.scss +7 -0
  100. package/scss/components/MultiAddSelect/_storybook-styles.scss +1 -1
  101. package/scss/components/PageHeader/_page-header.scss +6 -2
  102. package/scss/components/SingleAddSelect/_index.scss +7 -0
  103. package/scss/components/SingleAddSelect/_single-add-select.scss +7 -0
  104. package/scss/components/SingleAddSelect/_storybook-styles.scss +1 -1
  105. package/scss/components/_index-released-only.scss +1 -0
@@ -27,12 +27,14 @@ var _useItemSort2 = require("./hooks/useItemSort");
27
27
  var _useParentSelect2 = _interopRequireDefault(require("./hooks/useParentSelect"));
28
28
  var _usePath2 = _interopRequireDefault(require("./hooks/usePath"));
29
29
  var _settings = require("../../settings");
30
- var _excluded = ["className", "clearFiltersText", "closeIconDescription", "columnInputPlaceholder", "defaultModifiers", "description", "globalFilterOpts", "globalFiltersIconDescription", "globalFiltersPlaceholderText", "globalFiltersPrimaryButtonText", "globalFiltersSecondaryButtonText", "globalSearchLabel", "globalSearchPlaceholder", "globalSortBy", "influencerTitle", "items", "itemsLabel", "metaIconDescription", "metaPanelTitle", "multi", "navIconDescription", "noResultsDescription", "noResultsTitle", "noSelectionDescription", "noSelectionTitle", "normalizedItems", "onClose", "onCloseButtonText", "onSubmit", "onSubmitButtonText", "open", "portalTarget", "searchResultsLabel", "title", "useNormalizedItems"];
30
+ var _excluded = ["className", "clearFiltersText", "closeIconDescription", "columnInputPlaceholder", "defaultModifiers", "description", "globalFilterOpts", "globalFiltersLabel", "globalFiltersIconDescription", "globalFiltersPlaceholderText", "globalFiltersPrimaryButtonText", "globalFiltersSecondaryButtonText", "globalSearchLabel", "globalSearchPlaceholder", "globalSortBy", "illustrationTheme", "influencerTitle", "items", "itemsLabel", "metaIconDescription", "metaPanelTitle", "multi", "navIconDescription", "noResultsDescription", "noResultsTitle", "noSelectionDescription", "noSelectionTitle", "normalizedItems", "onClose", "onCloseButtonText", "onSubmit", "onSubmitButtonText", "open", "portalTarget", "searchResultsTitle", "title", "useNormalizedItems"];
31
31
  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); }
32
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; }
33
+ 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; }
34
+ 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; }
33
35
  var blockClass = "".concat(_settings.pkg.prefix, "--add-select");
34
36
  var componentName = 'AddSelectBody';
35
- var AddSelectBody = function AddSelectBody(_ref) {
37
+ var AddSelectBody = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
36
38
  var _cx, _path$;
37
39
  var className = _ref.className,
38
40
  clearFiltersText = _ref.clearFiltersText,
@@ -41,6 +43,7 @@ var AddSelectBody = function AddSelectBody(_ref) {
41
43
  defaultModifiers = _ref.defaultModifiers,
42
44
  description = _ref.description,
43
45
  globalFilterOpts = _ref.globalFilterOpts,
46
+ globalFiltersLabel = _ref.globalFiltersLabel,
44
47
  globalFiltersIconDescription = _ref.globalFiltersIconDescription,
45
48
  globalFiltersPlaceholderText = _ref.globalFiltersPlaceholderText,
46
49
  globalFiltersPrimaryButtonText = _ref.globalFiltersPrimaryButtonText,
@@ -48,6 +51,7 @@ var AddSelectBody = function AddSelectBody(_ref) {
48
51
  globalSearchLabel = _ref.globalSearchLabel,
49
52
  globalSearchPlaceholder = _ref.globalSearchPlaceholder,
50
53
  globalSortBy = _ref.globalSortBy,
54
+ illustrationTheme = _ref.illustrationTheme,
51
55
  influencerTitle = _ref.influencerTitle,
52
56
  items = _ref.items,
53
57
  itemsLabel = _ref.itemsLabel,
@@ -66,7 +70,7 @@ var AddSelectBody = function AddSelectBody(_ref) {
66
70
  onSubmitButtonText = _ref.onSubmitButtonText,
67
71
  open = _ref.open,
68
72
  portalTarget = _ref.portalTarget,
69
- searchResultsLabel = _ref.searchResultsLabel,
73
+ searchResultsTitle = _ref.searchResultsTitle,
70
74
  title = _ref.title,
71
75
  useNormalizedItems = _ref.useNormalizedItems,
72
76
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
@@ -106,19 +110,25 @@ var AddSelectBody = function AddSelectBody(_ref) {
106
110
  var _usePath = (0, _usePath2.default)(itemsLabel),
107
111
  path = _usePath.path,
108
112
  setPath = _usePath.setPath,
109
- pathOnclick = _usePath.pathOnclick;
113
+ pathOnclick = _usePath.pathOnclick,
114
+ resetPath = _usePath.resetPath;
110
115
  var resetState = function resetState() {
111
116
  setSingleSelection('');
112
117
  setMultiSelection([]);
113
118
  setSearchTerm('');
114
119
  setAppliedGlobalFilters({});
115
120
  setDisplayMetaPanel({});
121
+ setAppliedModifiers(defaultModifiers);
122
+ setSortAttribute('');
123
+ setSortDirection('');
124
+ setParentSelected(null);
125
+ resetPath();
116
126
  };
117
127
  var onCloseHandler = function onCloseHandler() {
118
128
  resetState();
119
129
  onClose();
120
130
  };
121
- 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));
131
+ var tearsheetClassnames = (0, _classnames.default)(className, blockClass, (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__single"), !multi), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__multi"), multi), _cx));
122
132
  var globalFilterKeys = Object.keys(appliedGlobalFilters);
123
133
  var globalFiltersApplied = globalFilterKeys.length > 0;
124
134
 
@@ -183,12 +193,11 @@ var AddSelectBody = function AddSelectBody(_ref) {
183
193
  setDisplayMetaPanel: setDisplayMetaPanel,
184
194
  parentId: path[0].id
185
195
  };
186
- var commonTearsheetProps = {
187
- className: classNames,
196
+ var commonTearsheetProps = _objectSpread(_objectSpread({}, rest), {}, {
197
+ className: tearsheetClassnames,
188
198
  open: open,
189
199
  title: title,
190
200
  description: description,
191
- closeIconDescription: 'temp description',
192
201
  actions: [{
193
202
  label: onCloseButtonText,
194
203
  kind: 'secondary',
@@ -199,12 +208,14 @@ var AddSelectBody = function AddSelectBody(_ref) {
199
208
  onClick: submitHandler,
200
209
  disabled: multi ? multiSelection.length === 0 : !singleSelection
201
210
  }],
202
- portalTarget: portalTarget
203
- };
211
+ portalTarget: portalTarget,
212
+ ref: ref
213
+ });
204
214
  var sidebarProps = {
205
215
  appliedModifiers: appliedModifiers,
206
216
  closeIconDescription: closeIconDescription,
207
217
  displayMetalPanel: displayMetalPanel,
218
+ illustrationTheme: illustrationTheme,
208
219
  influencerTitle: influencerTitle,
209
220
  items: useNormalizedItems ? normalizedItems : items.entries,
210
221
  metaPanelTitle: metaPanelTitle,
@@ -226,6 +237,7 @@ var AddSelectBody = function AddSelectBody(_ref) {
226
237
  handleSearch: handleSearch,
227
238
  multi: multi,
228
239
  filterOpts: globalFilterOpts,
240
+ filtersLabel: globalFiltersLabel,
229
241
  handleFilter: handleFilter,
230
242
  primaryButtonText: globalFiltersPrimaryButtonText,
231
243
  secondaryButtonText: globalFiltersSecondaryButtonText,
@@ -237,14 +249,14 @@ var AddSelectBody = function AddSelectBody(_ref) {
237
249
  }), /*#__PURE__*/_react.default.createElement("div", {
238
250
  className: (0, _classnames.default)("".concat(blockClass, "__sub-header"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__sub-header-multi"), multi))
239
251
  }, /*#__PURE__*/_react.default.createElement("div", {
240
- className: "".concat(blockClass, "__tag-container")
252
+ className: "".concat(blockClass, "__tags")
241
253
  }, showBreadsCrumbs ? /*#__PURE__*/_react.default.createElement(_AddSelectBreadcrumbs.AddSelectBreadcrumbs, {
242
254
  path: path,
243
255
  onClick: pathOnclick,
244
256
  multi: multi
245
257
  }) : /*#__PURE__*/_react.default.createElement("p", {
246
- className: "".concat(blockClass, "__tag-container-label")
247
- }, searchTerm ? searchResultsLabel : itemsLabel), showTags && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Tag, {
258
+ className: "".concat(blockClass, "__tags-label")
259
+ }, searchTerm ? searchResultsTitle : itemsLabel), showTags && /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Tag, {
248
260
  type: "gray",
249
261
  size: "sm"
250
262
  }, itemsToDisplay.length)), showSort && /*#__PURE__*/_react.default.createElement(_AddSelectSort.AddSelectSort, {
@@ -272,13 +284,17 @@ var AddSelectBody = function AddSelectBody(_ref) {
272
284
  className: "".concat(blockClass, "__body")
273
285
  }, /*#__PURE__*/_react.default.createElement(_NoDataEmptyState.NoDataEmptyState, {
274
286
  subtitle: noResultsDescription,
275
- title: noResultsTitle
287
+ title: noResultsTitle,
288
+ illustrationTheme: illustrationTheme
276
289
  }))));
277
- return /*#__PURE__*/_react.default.createElement("div", rest, multi ? /*#__PURE__*/_react.default.createElement(_Tearsheet.Tearsheet, (0, _extends2.default)({}, commonTearsheetProps, {
278
- influencer: multi && /*#__PURE__*/_react.default.createElement(_AddSelectSidebar.AddSelectSidebar, sidebarProps),
279
- influencerPosition: "right"
280
- }), body) : /*#__PURE__*/_react.default.createElement(_Tearsheet.TearsheetNarrow, commonTearsheetProps, body));
281
- };
290
+ if (multi) {
291
+ return /*#__PURE__*/_react.default.createElement(_Tearsheet.Tearsheet, (0, _extends2.default)({}, commonTearsheetProps, {
292
+ influencer: multi && /*#__PURE__*/_react.default.createElement(_AddSelectSidebar.AddSelectSidebar, sidebarProps),
293
+ influencerPosition: "right"
294
+ }), body);
295
+ }
296
+ return /*#__PURE__*/_react.default.createElement(_Tearsheet.TearsheetNarrow, commonTearsheetProps, body);
297
+ });
282
298
  exports.AddSelectBody = AddSelectBody;
283
299
  AddSelectBody.propTypes = {
284
300
  className: _propTypes.default.string,
@@ -289,12 +305,14 @@ AddSelectBody.propTypes = {
289
305
  description: _propTypes.default.string,
290
306
  globalFilterOpts: _propTypes.default.array,
291
307
  globalFiltersIconDescription: _propTypes.default.string,
308
+ globalFiltersLabel: _propTypes.default.string,
292
309
  globalFiltersPlaceholderText: _propTypes.default.string,
293
310
  globalFiltersPrimaryButtonText: _propTypes.default.string,
294
311
  globalFiltersSecondaryButtonText: _propTypes.default.string,
295
312
  globalSearchLabel: _propTypes.default.string.isRequired,
296
313
  globalSearchPlaceholder: _propTypes.default.string,
297
314
  globalSortBy: _propTypes.default.array,
315
+ illustrationTheme: _propTypes.default.oneOf(['light', 'dark']),
298
316
  influencerTitle: _propTypes.default.string,
299
317
  items: _propTypes.default.shape({
300
318
  modifiers: _propTypes.default.shape({
@@ -308,7 +326,8 @@ AddSelectBody.propTypes = {
308
326
  avatar: _propTypes.default.shape({
309
327
  alt: _propTypes.default.string,
310
328
  icon: _propTypes.default.object,
311
- src: _propTypes.default.string
329
+ src: _propTypes.default.string,
330
+ theme: _propTypes.default.oneOf(['light', 'dark'])
312
331
  }),
313
332
  children: _propTypes.default.object,
314
333
  icon: _propTypes.default.object,
@@ -339,7 +358,7 @@ AddSelectBody.propTypes = {
339
358
  onSubmitButtonText: _propTypes.default.string,
340
359
  open: _propTypes.default.bool,
341
360
  portalTarget: _propTypes.default.node,
342
- searchResultsLabel: _propTypes.default.string,
361
+ searchResultsTitle: _propTypes.default.string,
343
362
  title: _propTypes.default.string,
344
363
  useNormalizedItems: _propTypes.default.bool
345
364
  };
@@ -187,14 +187,14 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
187
187
  }) ? true : false
188
188
  })));
189
189
  })))), /*#__PURE__*/_react.default.createElement("div", {
190
- className: "".concat(blockClass, "__tag-container")
190
+ className: "".concat(blockClass, "__tags")
191
191
  }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Checkbox, {
192
192
  id: "".concat((0, _uuidv.default)(), "-select-all"),
193
193
  className: "".concat(colClass, "__select-all"),
194
194
  checked: allSelected,
195
195
  onChange: selectAllHandler,
196
196
  labelText: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
197
- className: "".concat(blockClass, "__tag-container-label")
197
+ className: "".concat(blockClass, "__tags-label")
198
198
  }, header), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Tag, {
199
199
  type: "gray",
200
200
  size: "sm"
@@ -24,6 +24,7 @@ var AddSelectFilter = function AddSelectFilter(_ref) {
24
24
  var appliedFilters = _ref.appliedFilters,
25
25
  clearFiltersText = _ref.clearFiltersText,
26
26
  filterOpts = _ref.filterOpts,
27
+ filtersLabel = _ref.filtersLabel,
27
28
  handleFilter = _ref.handleFilter,
28
29
  handleSearch = _ref.handleSearch,
29
30
  hasFiltersApplied = _ref.hasFiltersApplied,
@@ -84,7 +85,7 @@ var AddSelectFilter = function AddSelectFilter(_ref) {
84
85
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
85
86
  className: "".concat(blockClass, "-search")
86
87
  }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Search, {
87
- id: "temp-id",
88
+ id: "add-select-global-search-filter",
88
89
  labelText: inputLabel,
89
90
  placeholder: inputPlaceholder,
90
91
  value: searchTerm,
@@ -104,7 +105,7 @@ var AddSelectFilter = function AddSelectFilter(_ref) {
104
105
  className: blockClass
105
106
  }, /*#__PURE__*/_react.default.createElement("div", {
106
107
  className: "".concat(blockClass, "-content")
107
- }, /*#__PURE__*/_react.default.createElement("p", null, "Filters"), /*#__PURE__*/_react.default.createElement("div", {
108
+ }, /*#__PURE__*/_react.default.createElement("p", null, filtersLabel), /*#__PURE__*/_react.default.createElement("div", {
108
109
  className: "".concat(blockClass, "-opts")
109
110
  }, filterOpts.map(function (filterOpts) {
110
111
  return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Dropdown, {
@@ -154,6 +155,7 @@ AddSelectFilter.propTypes = {
154
155
  appliedFilters: _propTypes.default.object,
155
156
  clearFiltersText: _propTypes.default.string,
156
157
  filterOpts: _propTypes.default.array,
158
+ filtersLabel: _propTypes.default.string,
157
159
  handleFilter: _propTypes.default.func,
158
160
  handleSearch: _propTypes.default.func,
159
161
  hasFiltersApplied: _propTypes.default.bool,
@@ -70,11 +70,12 @@ var AddSelectList = function AddSelectList(_ref) {
70
70
  var src = _ref3.src,
71
71
  alt = _ref3.alt,
72
72
  icon = _ref3.icon,
73
- backgroundColor = _ref3.backgroundColor;
73
+ backgroundColor = _ref3.backgroundColor,
74
+ theme = _ref3.theme;
74
75
  return {
75
76
  className: "".concat(blockClass, "-cell-avatar"),
76
77
  size: 'lg',
77
- theme: 'light',
78
+ theme: theme,
78
79
  image: src,
79
80
  imageDescription: alt,
80
81
  icon: icon,
@@ -112,10 +113,11 @@ var AddSelectList = function AddSelectList(_ref) {
112
113
  var _cx2;
113
114
  return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.StructuredListRow, {
114
115
  key: item.id,
115
- className: (0, _classnames.default)("".concat(blockClass, "-row"), (_cx2 = {}, (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "-row-selected"), isSelected(item.id)), (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "-row-meta-selected"), isInMetaPanel(item.id)), _cx2)),
116
+ className: (0, _classnames.default)("".concat(blockClass, "-row"), (_cx2 = {}, (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "-row--selected"), isSelected(item.id)), (0, _defineProperty2.default)(_cx2, "".concat(blockClass, "-row-meta--selected"), isInMetaPanel(item.id)), _cx2)),
116
117
  onClick: function onClick(evt) {
117
118
  return metaPanelHandler(item, evt);
118
- }
119
+ },
120
+ label: true
119
121
  }, /*#__PURE__*/_react.default.createElement("div", {
120
122
  className: "".concat(blockClass, "-cell")
121
123
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -13,6 +13,13 @@ var _carbonComponentsReact = require("carbon-components-react");
13
13
  var _settings = require("../../settings");
14
14
  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); }
15
15
  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; }
16
+ //
17
+ // Copyright IBM Corp. 2022
18
+ //
19
+ // This source code is licensed under the Apache-2.0 license found in the
20
+ // LICENSE file in the root directory of this source tree.
21
+ //
22
+
16
23
  var blockClass = "".concat(_settings.pkg.prefix, "--add-select__meta-panel");
17
24
  var componentName = 'AddSelectMetaPanel';
18
25
  var AddSelectMetaPanel = function AddSelectMetaPanel(_ref) {
@@ -20,6 +20,7 @@ var AddSelectSidebar = function AddSelectSidebar(_ref) {
20
20
  var appliedModifiers = _ref.appliedModifiers,
21
21
  closeIconDescription = _ref.closeIconDescription,
22
22
  displayMetalPanel = _ref.displayMetalPanel,
23
+ illustrationTheme = _ref.illustrationTheme,
23
24
  influencerTitle = _ref.influencerTitle,
24
25
  items = _ref.items,
25
26
  metaPanelTitle = _ref.metaPanelTitle,
@@ -99,7 +100,8 @@ var AddSelectSidebar = function AddSelectSidebar(_ref) {
99
100
  }, /*#__PURE__*/_react.default.createElement(_NoDataEmptyState.NoDataEmptyState, {
100
101
  subtitle: noSelectionDescription,
101
102
  title: noSelectionTitle,
102
- size: "sm"
103
+ size: "sm",
104
+ illustrationTheme: illustrationTheme
103
105
  })));
104
106
  };
105
107
  exports.AddSelectSidebar = AddSelectSidebar;
@@ -107,6 +109,7 @@ AddSelectSidebar.propTypes = {
107
109
  appliedModifiers: _propTypes.default.array,
108
110
  closeIconDescription: _propTypes.default.string,
109
111
  displayMetalPanel: _propTypes.default.object,
112
+ illustrationTheme: _propTypes.default.oneOf(['light', 'dark']),
110
113
  influencerTitle: _propTypes.default.string,
111
114
  items: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
112
115
  metaPanelTitle: _propTypes.default.string,
@@ -10,6 +10,13 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
10
10
  var _excluded = ["children"];
11
11
  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; }
12
12
  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; }
13
+ //
14
+ // Copyright IBM Corp. 2022
15
+ //
16
+ // This source code is licensed under the Apache-2.0 license found in the
17
+ // LICENSE file in the root directory of this source tree.
18
+ //
19
+
13
20
  /**
14
21
  * to be able to more easily and efficiently the child entries the data needs to be
15
22
  * normalized. this function recursively goes through the data array to build a single
@@ -7,6 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.useItemSort = void 0;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _react = require("react");
10
+ //
11
+ // Copyright IBM Corp. 2022
12
+ //
13
+ // This source code is licensed under the Apache-2.0 license found in the
14
+ // LICENSE file in the root directory of this source tree.
15
+ //
16
+
10
17
  var useItemSort = function useItemSort() {
11
18
  var _useState = (0, _react.useState)(''),
12
19
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -7,6 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _react = require("react");
10
+ //
11
+ // Copyright IBM Corp. 2022
12
+ //
13
+ // This source code is licensed under the Apache-2.0 license found in the
14
+ // LICENSE file in the root directory of this source tree.
15
+ //
16
+
10
17
  var useParentSelect = function useParentSelect() {
11
18
  var _useState = (0, _react.useState)(null),
12
19
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -50,10 +50,17 @@ var usePath = function usePath() {
50
50
  pathCopy.length = idx + 1;
51
51
  setPath((0, _toConsumableArray2.default)(pathCopy));
52
52
  };
53
+ var resetPath = function resetPath() {
54
+ setPath([{
55
+ id: 'base_of_path',
56
+ title: itemsLabel
57
+ }]);
58
+ };
53
59
  return {
54
60
  path: path,
55
61
  setPath: handler,
56
- pathOnclick: pathClickHandler
62
+ pathOnclick: pathClickHandler,
63
+ resetPath: resetPath
57
64
  };
58
65
  };
59
66
  var _default = usePath;
@@ -187,7 +187,10 @@ var CreateFullPage = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
187
187
  className: "".concat(blockClass, "__modal"),
188
188
  size: "sm",
189
189
  open: modalIsOpen,
190
- "aria-label": modalTitle
190
+ "aria-label": modalTitle,
191
+ onClose: function onClose() {
192
+ setModalIsOpen(false);
193
+ }
191
194
  }, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.ModalHeader, {
192
195
  title: modalTitle
193
196
  }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.ModalBody, null, /*#__PURE__*/_react.default.createElement("p", null, modalDescription)), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.ModalFooter, null, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Button, {
@@ -15,6 +15,7 @@ var _settings = require("../../../settings");
15
15
  var _pconsole = _interopRequireDefault(require("../../../global/js/utils/pconsole"));
16
16
  var _InlineEditContext = require("./addons/InlineEdit/InlineEditContext");
17
17
  var _DatagridContent = require("./DatagridContent");
18
+ var _FilterProvider = require("./addons/Filtering/FilterProvider");
18
19
  var _excluded = ["datagridState"];
19
20
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
20
21
  var componentName = 'Datagrid';
@@ -30,9 +31,12 @@ var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
30
31
  isFetching = datagridState.isFetching,
31
32
  tableId = datagridState.tableId,
32
33
  leftPanel = datagridState.leftPanel,
33
- className = datagridState.className;
34
+ className = datagridState.className,
35
+ filters = datagridState.state.filters;
34
36
  var rows = DatagridPagination && datagridState.page || datagridState.rows;
35
- return /*#__PURE__*/_react.default.createElement(_InlineEditContext.InlineEditProvider, null, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
37
+ return /*#__PURE__*/_react.default.createElement(_FilterProvider.FilterProvider, {
38
+ filters: filters
39
+ }, /*#__PURE__*/_react.default.createElement(_InlineEditContext.InlineEditProvider, null, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
36
40
  id: tableId,
37
41
  ref: ref,
38
42
  className: (0, _classnames.default)(className, blockClass, withVirtualScroll ? "".concat(blockClass, "__datagridWrap") : "".concat(blockClass, "__datagridWrap-simple"), !isFetching && rows.length === 0 ? "".concat(blockClass, "__empty-state") : '')
@@ -42,7 +46,7 @@ var Datagrid = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
42
46
  datagridState: datagridState
43
47
  })), leftPanel === undefined && /*#__PURE__*/_react.default.createElement(_DatagridContent.DatagridContent, {
44
48
  datagridState: datagridState
45
- })));
49
+ }))));
46
50
  });
47
51
 
48
52
  // Return a placeholder if not released and not enabled by feature flag
@@ -11,8 +11,9 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
11
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _carbonComponentsReact = require("carbon-components-react");
14
- var _commonColumnIds = require("../common-column-ids");
14
+ var _layout = require("@carbon/layout");
15
15
  var _classnames = _interopRequireDefault(require("classnames"));
16
+ var _commonColumnIds = require("../common-column-ids");
16
17
  var _settings = require("../../../settings");
17
18
  var _InlineEditContext = require("./addons/InlineEdit/InlineEditContext/InlineEditContext");
18
19
  var _getCellIdAsObject = require("./addons/InlineEdit/InlineEditContext/getCellIdAsObject");
@@ -22,22 +23,54 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
22
23
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
23
24
  var TableRow = _carbonComponentsReact.DataTable.TableRow,
24
25
  TableCell = _carbonComponentsReact.DataTable.TableCell;
26
+ var rowHeights = {
27
+ xs: 24,
28
+ sm: 32,
29
+ md: 40,
30
+ lg: 48,
31
+ xl: 64
32
+ };
25
33
 
26
34
  // eslint-disable-next-line react/prop-types
27
35
  var DatagridRow = function DatagridRow(datagridState) {
28
36
  var _cx;
29
- var row = datagridState.row;
37
+ var row = datagridState.row,
38
+ rowSize = datagridState.rowSize,
39
+ withNestedRows = datagridState.withNestedRows;
30
40
  var _useContext = (0, _react.useContext)(_InlineEditContext.InlineEditContext),
31
41
  state = _useContext.state;
32
42
  var activeCellId = state.activeCellId;
33
43
  var activeCellObject = activeCellId && (0, _getCellIdAsObject.getCellIdAsObject)(activeCellId);
44
+ var getVisibleNestedRowCount = function getVisibleNestedRowCount(_ref) {
45
+ var isExpanded = _ref.isExpanded,
46
+ subRows = _ref.subRows;
47
+ var size = 0;
48
+ if (isExpanded && subRows) {
49
+ size += subRows.length;
50
+ subRows.forEach(function (child) {
51
+ size += getVisibleNestedRowCount(child);
52
+ });
53
+ }
54
+ return size;
55
+ };
34
56
  return /*#__PURE__*/_react.default.createElement(TableRow, (0, _extends2.default)({
35
57
  className: (0, _classnames.default)("".concat(blockClass, "__carbon-row"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expanded"), row.isExpanded), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-expandable"), row.canExpand), (0, _defineProperty2.default)(_cx, "".concat(_settings.carbon.prefix, "--data-table--selected"), row.isSelected), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__carbon-row-hover-active"), activeCellObject && row.index === activeCellObject.row), _cx))
36
58
  }, row.getRowProps(), {
37
59
  key: row.id,
38
60
  onMouseEnter: function onMouseEnter(event) {
61
+ var _hoverRow$style, _hoverRow$style2, _hoverRow$style3;
62
+ if (!withNestedRows) {
63
+ return;
64
+ }
65
+ var subRowCount = getVisibleNestedRowCount(row);
66
+ var totalNestedRowIndicatorHeight = (0, _layout.px)(subRowCount * rowHeights[rowSize]);
39
67
  var hoverRow = event.target.closest(".".concat(blockClass, "__carbon-row-expanded"));
40
68
  hoverRow === null || hoverRow === void 0 ? void 0 : hoverRow.classList.add("".concat(blockClass, "__carbon-row-expanded-hover-active"));
69
+ var rowExpanderButton = hoverRow === null || hoverRow === void 0 ? void 0 : hoverRow.querySelector(".".concat(blockClass, "__row-expander"));
70
+ var rowSizeValue = rowSize || 'lg';
71
+ hoverRow === null || hoverRow === void 0 ? void 0 : (_hoverRow$style = hoverRow.style) === null || _hoverRow$style === void 0 ? void 0 : _hoverRow$style.setProperty("--".concat(blockClass, "--indicator-height"), totalNestedRowIndicatorHeight);
72
+ hoverRow === null || hoverRow === void 0 ? void 0 : (_hoverRow$style2 = hoverRow.style) === null || _hoverRow$style2 === void 0 ? void 0 : _hoverRow$style2.setProperty("--".concat(blockClass, "--row-height"), (0, _layout.px)(rowHeights[rowSizeValue]));
73
+ hoverRow === null || hoverRow === void 0 ? void 0 : (_hoverRow$style3 = hoverRow.style) === null || _hoverRow$style3 === void 0 ? void 0 : _hoverRow$style3.setProperty("--".concat(blockClass, "--indicator-offset-amount"), (0, _layout.px)((rowExpanderButton === null || rowExpanderButton === void 0 ? void 0 : rowExpanderButton.offsetLeft) || 0));
41
74
  },
42
75
  onMouseLeave: function onMouseLeave(event) {
43
76
  var hoverRow = event.target.closest(".".concat(blockClass, "__carbon-row-expanded"));
@@ -15,6 +15,9 @@ var _reactResizeDetector = require("react-resize-detector");
15
15
  var _ButtonMenu = require("../../ButtonMenu");
16
16
  var _settings = require("../../../settings");
17
17
  var _classnames = _interopRequireDefault(require("classnames"));
18
+ var _FilterSummary = require("../../FilterSummary");
19
+ var _FilterProvider = require("./addons/Filtering/FilterProvider");
20
+ var _constants = require("./addons/Filtering/constants");
18
21
  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); }
19
22
  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; }
20
23
  /**
@@ -139,13 +142,25 @@ var DatagridToolbar = function DatagridToolbar(datagridState) {
139
142
  ref = _useResizeDetector.ref;
140
143
  var DatagridActions = datagridState.DatagridActions,
141
144
  DatagridBatchActions = datagridState.DatagridBatchActions,
142
- batchActions = datagridState.batchActions;
145
+ batchActions = datagridState.batchActions,
146
+ state = datagridState.state;
147
+ var _useContext = (0, _react.useContext)(_FilterProvider.FilterContext),
148
+ filterTags = _useContext.filterTags,
149
+ EventEmitter = _useContext.EventEmitter;
150
+ var renderFilterSummary = function renderFilterSummary() {
151
+ return state.filters.length > 0 && /*#__PURE__*/_react.default.createElement(_FilterSummary.FilterSummary, {
152
+ filters: filterTags,
153
+ clearFilters: function clearFilters() {
154
+ return EventEmitter.dispatch(_constants.CLEAR_FILTERS);
155
+ }
156
+ });
157
+ };
143
158
  return batchActions && DatagridActions ? /*#__PURE__*/_react.default.createElement("div", {
144
159
  ref: ref,
145
160
  className: "".concat(blockClass, "__table-toolbar")
146
- }, /*#__PURE__*/_react.default.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActionsToolbar && DatagridBatchActionsToolbar(datagridState, width, ref))) : DatagridActions ? /*#__PURE__*/_react.default.createElement("div", {
161
+ }, /*#__PURE__*/_react.default.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActionsToolbar && DatagridBatchActionsToolbar(datagridState, width, ref)), renderFilterSummary()) : DatagridActions ? /*#__PURE__*/_react.default.createElement("div", {
147
162
  className: "".concat(blockClass, "__table-toolbar")
148
- }, /*#__PURE__*/_react.default.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActions && DatagridBatchActions(datagridState))) : null;
163
+ }, /*#__PURE__*/_react.default.createElement(TableToolbar, null, DatagridActions && DatagridActions(datagridState), DatagridBatchActions && DatagridBatchActions(datagridState)), renderFilterSummary()) : null;
149
164
  };
150
165
  var _default = DatagridToolbar;
151
166
  exports.default = _default;