@carbon/ibm-products 2.0.0-rc.27 → 2.0.0-rc.29

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. package/css/config.css +3 -0
  2. package/css/config.css.map +1 -0
  3. package/css/index-full-carbon.css +126 -355
  4. package/css/index-full-carbon.css.map +1 -1
  5. package/css/index-full-carbon.min.css +6 -6
  6. package/css/index-full-carbon.min.css.map +1 -1
  7. package/css/index-without-carbon-released-only.css +196 -252
  8. package/css/index-without-carbon-released-only.css.map +1 -1
  9. package/css/index-without-carbon-released-only.min.css +4 -4
  10. package/css/index-without-carbon-released-only.min.css.map +1 -1
  11. package/css/index-without-carbon.css +126 -355
  12. package/css/index-without-carbon.css.map +1 -1
  13. package/css/index-without-carbon.min.css +6 -6
  14. package/css/index-without-carbon.min.css.map +1 -1
  15. package/css/index.css +126 -355
  16. package/css/index.css.map +1 -1
  17. package/css/index.min.css +6 -6
  18. package/css/index.min.css.map +1 -1
  19. package/es/components/AboutModal/AboutModal.js +44 -66
  20. package/es/components/ActionBar/ActionBar.js +13 -29
  21. package/es/components/AddSelect/AddSelectBody.js +4 -2
  22. package/es/components/AddSelect/AddSelectColumn.js +11 -5
  23. package/es/components/AddSelect/AddSelectFilter.js +5 -4
  24. package/es/components/AddSelect/AddSelectRow.js +3 -3
  25. package/es/components/AddSelect/AddSelectSort.js +2 -1
  26. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +15 -21
  27. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +7 -11
  28. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +7 -8
  29. package/es/components/Datagrid/Datagrid/DatagridToolbar.js +6 -5
  30. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -4
  31. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +17 -3
  32. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +19 -4
  33. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +8 -5
  34. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +2 -1
  35. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +19 -1
  36. package/es/components/Datagrid/index.js +1 -0
  37. package/es/components/Datagrid/useEditableCell.js +13 -0
  38. package/es/components/Datagrid/useFiltering.js +4 -2
  39. package/es/components/Datagrid/useInlineEdit.js +16 -11
  40. package/es/components/Datagrid/useOnRowClick.js +11 -1
  41. package/es/components/Datagrid/useSelectRows.js +2 -0
  42. package/es/components/{InlineEditV2/InlineEditV2.js → EditInPlace/EditInPlace.js} +92 -30
  43. package/es/components/{InlineEdit → EditInPlace}/index.js +1 -1
  44. package/es/components/ExampleComponent/ExampleDeprecatedComponent.js +24 -0
  45. package/es/components/PageHeader/PageHeader.js +36 -35
  46. package/es/components/PageHeader/PageHeaderTitle.js +18 -18
  47. package/es/components/SidePanel/SidePanel.js +25 -26
  48. package/es/components/TagSet/TagSet.js +5 -7
  49. package/es/components/Tearsheet/Tearsheet.js +5 -0
  50. package/es/components/Tearsheet/TearsheetShell.js +4 -6
  51. package/es/components/index.js +1 -2
  52. package/es/global/js/hooks/useResizeObserver.js +79 -0
  53. package/es/global/js/hooks/useWindowResize.js +6 -0
  54. package/es/global/js/hooks/useWindowScroll.js +7 -0
  55. package/es/global/js/package-settings.js +4 -6
  56. package/es/settings.js +40 -20
  57. package/lib/components/AboutModal/AboutModal.js +43 -66
  58. package/lib/components/ActionBar/ActionBar.js +13 -29
  59. package/lib/components/AddSelect/AddSelectBody.js +4 -2
  60. package/lib/components/AddSelect/AddSelectColumn.js +11 -5
  61. package/lib/components/AddSelect/AddSelectFilter.js +4 -3
  62. package/lib/components/AddSelect/AddSelectRow.js +2 -2
  63. package/lib/components/AddSelect/AddSelectSort.js +2 -1
  64. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +13 -19
  65. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +7 -11
  66. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +2 -1
  67. package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +5 -4
  68. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -4
  69. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +17 -3
  70. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +19 -4
  71. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +8 -5
  72. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +2 -1
  73. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +18 -1
  74. package/lib/components/Datagrid/index.js +8 -0
  75. package/lib/components/Datagrid/useEditableCell.js +23 -0
  76. package/lib/components/Datagrid/useFiltering.js +4 -2
  77. package/lib/components/Datagrid/useInlineEdit.js +22 -11
  78. package/lib/components/Datagrid/useOnRowClick.js +11 -1
  79. package/lib/components/Datagrid/useSelectRows.js +2 -0
  80. package/lib/components/{InlineEditV2/InlineEditV2.js → EditInPlace/EditInPlace.js} +100 -34
  81. package/lib/components/{InlineEdit → EditInPlace}/index.js +3 -3
  82. package/lib/components/ExampleComponent/ExampleDeprecatedComponent.js +38 -0
  83. package/lib/components/PageHeader/PageHeader.js +36 -35
  84. package/lib/components/PageHeader/PageHeaderTitle.js +19 -19
  85. package/lib/components/SidePanel/SidePanel.js +25 -26
  86. package/lib/components/TagSet/TagSet.js +5 -7
  87. package/lib/components/Tearsheet/Tearsheet.js +5 -0
  88. package/lib/components/Tearsheet/TearsheetShell.js +4 -6
  89. package/lib/components/index.js +7 -15
  90. package/lib/global/js/hooks/useResizeObserver.js +91 -0
  91. package/lib/global/js/hooks/useWindowScroll.js +6 -0
  92. package/lib/global/js/package-settings.js +4 -6
  93. package/lib/settings.js +43 -21
  94. package/package.json +3 -4
  95. package/scss/components/AboutModal/_about-modal.scss +34 -53
  96. package/scss/components/AboutModal/_storybook-styles.scss +10 -4
  97. package/scss/components/AddSelect/_add-select.scss +7 -3
  98. package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +10 -1
  99. package/scss/components/DataSpreadsheet/_data-spreadsheet.scss +1 -1
  100. package/scss/components/Datagrid/styles/_useSelectAllToggle.scss +11 -7
  101. package/scss/components/{InlineEditV2/_inline-edit-v2.scss → EditInPlace/_edit-in-place.scss} +56 -14
  102. package/scss/components/{InlineEditV1 → EditInPlace}/_index-with-carbon.scss +1 -1
  103. package/scss/components/{InlineEditV2 → EditInPlace}/_index.scss +1 -1
  104. package/scss/components/{InlineEditV1 → EditInPlace}/_storybook-styles.scss +3 -15
  105. package/scss/components/PageHeader/_page-header.scss +1 -7
  106. package/scss/components/_index-released-only-with-carbon.scss +1 -1
  107. package/scss/components/_index-released-only.scss +1 -1
  108. package/scss/components/_index-with-carbon.scss +1 -3
  109. package/scss/components/_index.scss +1 -3
  110. package/scss/config.scss +1 -0
  111. package/es/components/InlineEdit/InlineEdit.js +0 -47
  112. package/es/components/InlineEditV1/InlineEditV1.js +0 -442
  113. package/es/components/InlineEditV1/index.js +0 -7
  114. package/es/components/InlineEditV2/index.js +0 -7
  115. package/es/components/ModifiedTabs/ModifiedTabLabelNew.js +0 -34
  116. package/es/components/ModifiedTabs/ModifiedTabLabelWithClose.js +0 -47
  117. package/es/components/ModifiedTabs/ModifiedTabs.js +0 -141
  118. package/es/components/ModifiedTabs/index.js +0 -1
  119. package/lib/components/InlineEdit/InlineEdit.js +0 -63
  120. package/lib/components/InlineEditV1/InlineEditV1.js +0 -459
  121. package/lib/components/InlineEditV1/index.js +0 -13
  122. package/lib/components/InlineEditV2/index.js +0 -13
  123. package/lib/components/ModifiedTabs/ModifiedTabLabelNew.js +0 -50
  124. package/lib/components/ModifiedTabs/ModifiedTabLabelWithClose.js +0 -63
  125. package/lib/components/ModifiedTabs/ModifiedTabs.js +0 -164
  126. package/lib/components/ModifiedTabs/index.js +0 -13
  127. package/scss/components/InlineEditV1/_carbon-imports.scss +0 -6
  128. package/scss/components/InlineEditV1/_index.scss +0 -8
  129. package/scss/components/InlineEditV1/_inline-edit-v1.scss +0 -269
  130. package/scss/components/InlineEditV2/_index-with-carbon.scss +0 -9
  131. package/scss/components/InlineEditV2/_storybook-styles.scss +0 -9
  132. package/scss/components/ModifiedTabs/_carbon-imports.scss +0 -10
  133. package/scss/components/ModifiedTabs/_index-with-carbon.scss +0 -9
  134. package/scss/components/ModifiedTabs/_index.scss +0 -8
  135. package/scss/components/ModifiedTabs/_modified-tabs.scss +0 -89
  136. package/scss/components/ModifiedTabs/_storybook-styles.scss +0 -6
  137. /package/scss/components/{InlineEditV2 → EditInPlace}/_carbon-imports.scss +0 -0
@@ -25,7 +25,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
25
25
 
26
26
  var _settings = require("../../settings");
27
27
 
28
- var _reactResizeDetector = require("react-resize-detector");
28
+ var _useResizeObserver = require("../../global/js/hooks/useResizeObserver");
29
29
 
30
30
  var _react2 = require("@carbon/react");
31
31
 
@@ -85,7 +85,9 @@ var ActionBar = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
85
85
  var internalId = (0, _react.useRef)((0, _uuidv.default)());
86
86
  var refDisplayedItems = (0, _react.useRef)(null);
87
87
  var sizingRef = (0, _react.useRef)(null);
88
- var sizes = (0, _react.useRef)({}); // create hidden sizing items
88
+ var sizes = (0, _react.useRef)({});
89
+ var backupRef = (0, _react.useRef)();
90
+ var localRef = ref || backupRef; // create hidden sizing items
89
91
 
90
92
  (0, _react.useEffect)(function () {
91
93
  // Hidden action bar and items used to calculate sizes
@@ -190,44 +192,26 @@ var ActionBar = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
190
192
 
191
193
  (0, _react.useEffect)(function () {
192
194
  checkFullyVisibleItems(); // eslint-disable-next-line react-hooks/exhaustive-deps
193
- }, [maxVisible, hiddenSizingItems]);
194
- /* istanbul ignore next */
195
- // not sure how to fake window resize
195
+ }, [maxVisible, hiddenSizingItems]); // /* istanbul ignore next */ // not sure how to fake window resize
196
196
 
197
197
  var handleResize = function handleResize() {
198
- // width is the space available for all action bar items horizontally
199
- // the action bar items are squares so the height should be one item wide
200
-
201
- /* istanbul ignore next */
202
- // not sure how to fake window resize
203
- checkFullyVisibleItems();
204
- };
205
- /* istanbul ignore next */
206
- // not sure how to fake window resize
207
-
208
-
209
- var handleActionBarItemsResize = function handleActionBarItemsResize() {
210
198
  // when the hidden sizing items change size
211
199
 
212
200
  /* istanbul ignore next */
213
201
  // not sure how to fake window resize
214
202
  checkFullyVisibleItems();
215
- };
216
-
217
- (0, _reactResizeDetector.useResizeDetector)({
218
- onResize: handleActionBarItemsResize,
219
- targetRef: sizingRef
220
- });
203
+ }; // // resize of the items
221
204
 
222
- var _useResizeDetector = (0, _reactResizeDetector.useResizeDetector)({
223
- onResize: handleResize,
224
- targetRef: ref
225
- }),
226
- outerRef = _useResizeDetector.ref;
227
205
 
206
+ (0, _useResizeObserver.useResizeObserver)(sizingRef, {
207
+ callback: handleResize
208
+ });
209
+ (0, _useResizeObserver.useResizeObserver)(localRef, {
210
+ callback: handleResize
211
+ });
228
212
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, {
229
213
  className: (0, _classnames.default)([blockClass, className]),
230
- ref: outerRef
214
+ ref: localRef
231
215
  }), hiddenSizingItems, /*#__PURE__*/_react.default.createElement("div", {
232
216
  ref: refDisplayedItems,
233
217
  className: (0, _classnames.default)(["".concat(blockClass, "__displayed-items"), (0, _defineProperty2.default)({}, "".concat(blockClass, "__displayed-items--right"), rightAlign)])
@@ -51,7 +51,7 @@ var _usePath2 = _interopRequireDefault(require("./hooks/usePath"));
51
51
 
52
52
  var _settings = require("../../settings");
53
53
 
54
- var _excluded = ["className", "clearFiltersText", "closeIconDescription", "columnInputPlaceholder", "defaultModifiers", "description", "filterByLabel", "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"];
54
+ var _excluded = ["className", "clearFiltersText", "closeIconDescription", "columnInputPlaceholder", "defaultModifiers", "description", "filterByLabel", "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", "sortByLabel", "title", "useNormalizedItems"];
55
55
 
56
56
  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); }
57
57
 
@@ -102,6 +102,7 @@ var AddSelectBody = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
102
102
  open = _ref.open,
103
103
  portalTarget = _ref.portalTarget,
104
104
  searchResultsTitle = _ref.searchResultsTitle,
105
+ sortByLabel = _ref.sortByLabel,
105
106
  title = _ref.title,
106
107
  useNormalizedItems = _ref.useNormalizedItems,
107
108
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
@@ -326,7 +327,8 @@ var AddSelectBody = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
326
327
  items: itemsToDisplay,
327
328
  columnInputPlaceholder: columnInputPlaceholder,
328
329
  header: (_path$ = path[0]) === null || _path$ === void 0 ? void 0 : _path$.title,
329
- filterByLabel: filterByLabel
330
+ filterByLabel: filterByLabel,
331
+ sortByLabel: sortByLabel
330
332
  }))) : /*#__PURE__*/_react.default.createElement("div", null, hasResults ? /*#__PURE__*/_react.default.createElement(_AddSelectList.AddSelectList, (0, _extends2.default)({}, commonListProps, {
331
333
  filteredItems: itemsToDisplay,
332
334
  modifiers: items.modifiers,
@@ -39,7 +39,7 @@ var _uuidv = _interopRequireDefault(require("../../global/js/utils/uuidv4"));
39
39
 
40
40
  var _useParentSelect2 = _interopRequireDefault(require("./hooks/useParentSelect"));
41
41
 
42
- var _excluded = ["columnInputPlaceholder", "filterByLabel", "header", "items", "multiSelection", "parentId", "path", "setMultiSelection", "setPath"];
42
+ var _excluded = ["columnInputPlaceholder", "filterByLabel", "header", "items", "multiSelection", "parentId", "path", "setMultiSelection", "setPath", "sortByLabel"];
43
43
 
44
44
  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); }
45
45
 
@@ -59,6 +59,7 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
59
59
  path = _ref.path,
60
60
  setMultiSelection = _ref.setMultiSelection,
61
61
  setPath = _ref.setPath,
62
+ sortByLabel = _ref.sortByLabel,
62
63
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
63
64
  var carbonPrefix = (0, _react2.usePrefix)();
64
65
 
@@ -207,7 +208,8 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
207
208
  setSortDirection: setSortDirection,
208
209
  sortAttribute: sortAttribute,
209
210
  sortDirection: sortDirection,
210
- sortBy: sortBy
211
+ sortBy: sortBy,
212
+ sortByLabel: sortByLabel
211
213
  }), filterByOpts.length > 0 && /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, {
212
214
  renderIcon: function renderIcon(props) {
213
215
  return /*#__PURE__*/_react.default.createElement(_icons.Filter, (0, _extends2.default)({
@@ -216,7 +218,8 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
216
218
  },
217
219
  className: "".concat(colClass, "-overflow"),
218
220
  flipped: true,
219
- ariaLabel: filterByLabel
221
+ ariaLabel: filterByLabel,
222
+ iconDescription: filterByLabel
220
223
  }, filterByOpts.map(function (opt) {
221
224
  return /*#__PURE__*/_react.default.createElement("div", {
222
225
  key: opt,
@@ -260,7 +263,9 @@ var AddSelectColumn = function AddSelectColumn(_ref) {
260
263
  setMultiSelection: setMultiSelection,
261
264
  parentId: selectedItem.id,
262
265
  setPath: setPath,
263
- path: path
266
+ path: path,
267
+ sortByLabel: sortByLabel,
268
+ filterByLabel: filterByLabel
264
269
  }, props)));
265
270
  };
266
271
 
@@ -274,6 +279,7 @@ AddSelectColumn.propTypes = {
274
279
  parentId: _propTypes.default.string,
275
280
  path: _propTypes.default.array,
276
281
  setMultiSelection: _propTypes.default.func,
277
- setPath: _propTypes.default.func
282
+ setPath: _propTypes.default.func,
283
+ sortByLabel: _propTypes.default.string
278
284
  };
279
285
  AddSelectColumn.displayName = componentName;
@@ -134,16 +134,17 @@ var AddSelectFilter = function AddSelectFilter(_ref) {
134
134
  className: filterBtnClassnames,
135
135
  size: "md",
136
136
  tooltipPosition: "left"
137
- }), open && /*#__PURE__*/_react.default.createElement("div", {
138
- className: blockClass
137
+ }), open && /*#__PURE__*/_react.default.createElement(_react2.Layer, {
138
+ className: blockClass,
139
+ level: 1
139
140
  }, /*#__PURE__*/_react.default.createElement("div", {
140
141
  className: "".concat(blockClass, "-content")
141
142
  }, /*#__PURE__*/_react.default.createElement("p", null, filtersLabel), /*#__PURE__*/_react.default.createElement("div", {
142
143
  className: "".concat(blockClass, "-opts")
143
144
  }, filterOpts.map(function (filterOpts) {
144
145
  return /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
145
- id: filterOpts.id,
146
146
  key: filterOpts.id,
147
+ id: filterOpts.id,
147
148
  titleText: filterOpts.label,
148
149
  items: filterOpts.opts,
149
150
  onChange: function onChange(value) {
@@ -174,7 +174,7 @@ var AddSelectRow = function AddSelectRow(_ref) {
174
174
  item: item,
175
175
  selected: selected,
176
176
  onClick: handleMultiSelection
177
- }), hasModifiers && /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
177
+ }), hasModifiers && /*#__PURE__*/_react.default.createElement(_react2.Layer, null, /*#__PURE__*/_react.default.createElement(_react2.Dropdown, {
178
178
  id: "add-select-modifier-".concat(item.id),
179
179
  type: "inline",
180
180
  items: modifiers.options,
@@ -186,7 +186,7 @@ var AddSelectRow = function AddSelectRow(_ref) {
186
186
  var selectedItem = _ref3.selectedItem;
187
187
  return modifierHandler(item.id, selectedItem);
188
188
  }
189
- })) : /*#__PURE__*/_react.default.createElement(_AddSelectFormControl.AddSelectFormControl, {
189
+ }))) : /*#__PURE__*/_react.default.createElement(_AddSelectFormControl.AddSelectFormControl, {
190
190
  type: "radio",
191
191
  item: item,
192
192
  selected: selected,
@@ -71,7 +71,8 @@ var AddSelectSort = function AddSelectSort(_ref) {
71
71
  },
72
72
  className: "".concat(blockClass, "_overflow"),
73
73
  flipped: true,
74
- ariaLabel: sortByLabel
74
+ ariaLabel: sortByLabel,
75
+ iconDescription: sortByLabel
75
76
  }, sortByOpts.map(function (opt) {
76
77
  return /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
77
78
  className: "".concat(blockClass, "_overflow-item"),
@@ -23,7 +23,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
23
23
 
24
24
  var _classnames = _interopRequireDefault(require("classnames"));
25
25
 
26
- var _reactResizeDetector = require("react-resize-detector");
26
+ var _useResizeObserver = require("../../global/js/hooks/useResizeObserver");
27
27
 
28
28
  var _react2 = require("@carbon/react");
29
29
 
@@ -274,15 +274,6 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
274
274
  // not sure how to test resize
275
275
  checkFullyVisibleBreadcrumbItems();
276
276
  };
277
- /* istanbul ignore next */
278
- // not sure how to test resize
279
-
280
-
281
- var handleBreadcrumbItemsResize = function handleBreadcrumbItemsResize() {
282
- /* istanbul ignore next */
283
- // not sure how to test resize
284
- checkFullyVisibleBreadcrumbItems();
285
- };
286
277
 
287
278
  var backItem = breadcrumbs[breadcrumbs.length - 1];
288
279
  /* istanbul ignore if */
@@ -290,15 +281,15 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
290
281
 
291
282
  if (backItem.isCurrentPage) {
292
283
  backItem = breadcrumbs[breadcrumbs.length - 2];
293
- }
284
+ } // container resize
294
285
 
295
- (0, _reactResizeDetector.useResizeDetector)({
296
- onResize: handleBreadcrumbItemsResize,
297
- targetRef: sizingContainerRef
298
- });
299
- (0, _reactResizeDetector.useResizeDetector)({
300
- onResize: handleResize,
301
- targetRef: breadcrumbItemWithOverflow
286
+
287
+ (0, _useResizeObserver.useResizeObserver)(sizingContainerRef, {
288
+ callback: handleResize
289
+ }); // item resize
290
+
291
+ (0, _useResizeObserver.useResizeObserver)(breadcrumbItemWithOverflow, {
292
+ callback: handleResize
302
293
  });
303
294
  return /*#__PURE__*/_react.default.createElement("div", {
304
295
  className: (0, _classnames.default)(blockClass, className, (0, _defineProperty2.default)({}, "".concat(blockClass, "__with-items"), displayedBreadcrumbItems.length > 1)),
@@ -314,8 +305,11 @@ var BreadcrumbWithOverflow = function BreadcrumbWithOverflow(_ref) {
314
305
  href: backItem.href,
315
306
  renderIcon: function renderIcon() {
316
307
  return /*#__PURE__*/_react.default.createElement(_react2.IconButton, {
308
+ className: "".concat(blockClass, "__back__button"),
309
+ align: "right",
310
+ kind: "ghost",
317
311
  label: backItem.title || backItem.label,
318
- align: "right"
312
+ size: "sm"
319
313
  }, /*#__PURE__*/_react.default.createElement(_icons.ArrowLeft, {
320
314
  size: 16
321
315
  }));
@@ -23,7 +23,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
23
23
 
24
24
  var _classnames = _interopRequireDefault(require("classnames"));
25
25
 
26
- var _reactResizeDetector = require("react-resize-detector");
26
+ var _useResizeObserver = require("../../global/js/hooks/useResizeObserver");
27
27
 
28
28
  var _react2 = require("@carbon/react");
29
29
 
@@ -172,18 +172,14 @@ var ButtonSetWithOverflow = function ButtonSetWithOverflow(_ref) {
172
172
  }).reverse());
173
173
  });
174
174
 
175
- (0, _reactResizeDetector.useResizeDetector)({
176
- onResize: checkFullyVisibleItems,
177
- targetRef: sizingContainerRefSet
175
+ (0, _useResizeObserver.useResizeObserver)(sizingContainerRefSet, {
176
+ callback: checkFullyVisibleItems
178
177
  });
179
- (0, _reactResizeDetector.useResizeDetector)({
180
- onResize: checkFullyVisibleItems,
181
- targetRef: sizingContainerRefCombo
178
+ (0, _useResizeObserver.useResizeObserver)(sizingContainerRefCombo, {
179
+ callback: checkFullyVisibleItems
182
180
  });
183
- (0, _reactResizeDetector.useResizeDetector)({
184
- onResize: checkFullyVisibleItems,
185
- targetRef: spaceAvailableRef,
186
- handleWidth: true
181
+ (0, _useResizeObserver.useResizeObserver)(spaceAvailableRef, {
182
+ callback: checkFullyVisibleItems
187
183
  });
188
184
  return /*#__PURE__*/_react.default.createElement("div", {
189
185
  className: (0, _classnames.default)([blockClass, className, (0, _defineProperty2.default)({}, "".concat(blockClass, "--right"), rightAlign)]),
@@ -120,7 +120,8 @@ var SelectAllWithToggle = function SelectAllWithToggle(_ref) {
120
120
  }, props));
121
121
  },
122
122
  size: "sm",
123
- ariaLabel: allRowsLabel
123
+ ariaLabel: allRowsLabel,
124
+ menuOptionsClass: "".concat(blockClass, "__select-all-toggle-overflow")
124
125
  }, /*#__PURE__*/_react.default.createElement(_react2.OverflowMenuItem, {
125
126
  itemText: allPageRowsLabel,
126
127
  requireTitle: true,
@@ -19,7 +19,7 @@ var _icons = require("@carbon/react/icons");
19
19
 
20
20
  var _react2 = require("@carbon/react");
21
21
 
22
- var _reactResizeDetector = require("react-resize-detector");
22
+ var _useResizeObserver2 = require("../../../global/js/hooks/useResizeObserver");
23
23
 
24
24
  var _ButtonMenu = require("../../ButtonMenu");
25
25
 
@@ -157,9 +157,10 @@ var DatagridBatchActionsToolbar = function DatagridBatchActionsToolbar(datagridS
157
157
  };
158
158
 
159
159
  var DatagridToolbar = function DatagridToolbar(datagridState) {
160
- var _useResizeDetector = (0, _reactResizeDetector.useResizeDetector)(),
161
- width = _useResizeDetector.width,
162
- ref = _useResizeDetector.ref;
160
+ var ref = (0, _react.useRef)(null);
161
+
162
+ var _useResizeObserver = (0, _useResizeObserver2.useResizeObserver)(ref),
163
+ width = _useResizeObserver.width;
163
164
 
164
165
  var DatagridActions = datagridState.DatagridActions,
165
166
  DatagridBatchActions = datagridState.DatagridBatchActions,
@@ -25,7 +25,7 @@ var _DatagridHead = _interopRequireDefault(require("./DatagridHead"));
25
25
 
26
26
  var _layout = require("@carbon/layout");
27
27
 
28
- var _reactResizeDetector = require("react-resize-detector");
28
+ var _useResizeObserver = require("../../../global/js/hooks/useResizeObserver");
29
29
 
30
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); }
31
31
 
@@ -73,9 +73,8 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
73
73
  gridRefElement.style.width = gridRefElement === null || gridRefElement === void 0 ? void 0 : gridRefElement.clientWidth;
74
74
  };
75
75
 
76
- (0, _reactResizeDetector.useResizeDetector)({
77
- onResize: handleVirtualGridResize,
78
- targetRef: gridRef
76
+ (0, _useResizeObserver.useResizeObserver)(gridRef, {
77
+ callback: handleVirtualGridResize
79
78
  });
80
79
 
81
80
  var syncScroll = function syncScroll(e) {
@@ -73,9 +73,13 @@ var FilterFlyout = function FilterFlyout(_ref) {
73
73
  secondaryActionLabel = _ref$secondaryActionL === void 0 ? 'Cancel' : _ref$secondaryActionL,
74
74
  setAllFilters = _ref.setAllFilters,
75
75
  _ref$data = _ref.data,
76
- data = _ref$data === void 0 ? [] : _ref$data;
77
-
76
+ data = _ref$data === void 0 ? [] : _ref$data,
77
+ _ref$initialFilters = _ref.initialFilters,
78
+ initialFilters = _ref$initialFilters === void 0 ? [] : _ref$initialFilters;
79
+ // Save the initial filters we only need the filters once when it loads
80
+ var initialFiltersRef = (0, _react2.useRef)(initialFilters);
78
81
  /** State */
82
+
79
83
  var _useState = (0, _react2.useState)(false),
80
84
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
81
85
  open = _useState2[0],
@@ -85,7 +89,8 @@ var FilterFlyout = function FilterFlyout(_ref) {
85
89
  updateMethod: updateMethod,
86
90
  filters: filters,
87
91
  setAllFilters: setAllFilters,
88
- variation: _constants.FLYOUT
92
+ variation: _constants.FLYOUT,
93
+ initialFilters: initialFiltersRef.current
89
94
  }),
90
95
  filtersState = _useFilters.filtersState,
91
96
  prevFiltersObjectArrayRef = _useFilters.prevFiltersObjectArrayRef,
@@ -235,6 +240,15 @@ FilterFlyout.propTypes = {
235
240
  */
236
241
  flyoutIconDescription: _propTypes.default.string,
237
242
 
243
+ /**
244
+ * Filters that should be applied on load
245
+ */
246
+ initialFilters: _propTypes.default.arrayOf(_propTypes.default.shape({
247
+ id: _propTypes.default.string.isRequired,
248
+ type: _propTypes.default.string.isRequired,
249
+ value: _propTypes.default.any.isRequired
250
+ })),
251
+
238
252
  /**
239
253
  * Callback when the apply button is clicked
240
254
  */
@@ -87,9 +87,13 @@ var FilterPanel = function FilterPanel(_ref) {
87
87
  _ref$searchLabelText = _ref.searchLabelText,
88
88
  searchLabelText = _ref$searchLabelText === void 0 ? 'Filter search' : _ref$searchLabelText,
89
89
  _ref$searchPlaceholde = _ref.searchPlaceholder,
90
- searchPlaceholder = _ref$searchPlaceholde === void 0 ? 'Find filters' : _ref$searchPlaceholde;
91
-
90
+ searchPlaceholder = _ref$searchPlaceholde === void 0 ? 'Find filters' : _ref$searchPlaceholde,
91
+ _ref$initialFilters = _ref.initialFilters,
92
+ initialFilters = _ref$initialFilters === void 0 ? [] : _ref$initialFilters;
93
+ // Save the initial filters we only need the filters once
94
+ var initialFiltersRef = (0, _react.useRef)(initialFilters);
92
95
  /** State */
96
+
93
97
  var _useState = (0, _react.useState)(false),
94
98
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
95
99
  showDividerLine = _useState2[0],
@@ -99,7 +103,8 @@ var FilterPanel = function FilterPanel(_ref) {
99
103
  updateMethod: updateMethod,
100
104
  filters: filterSections,
101
105
  setAllFilters: setAllFilters,
102
- variation: _constants.PANEL
106
+ variation: _constants.PANEL,
107
+ initialFilters: initialFiltersRef.current
103
108
  }),
104
109
  filtersState = _useFilters.filtersState,
105
110
  prevFiltersObjectArrayRef = _useFilters.prevFiltersObjectArrayRef,
@@ -255,13 +260,14 @@ var FilterPanel = function FilterPanel(_ref) {
255
260
  height: getScrollableContainerHeight()
256
261
  },
257
262
  onScroll: onInnerContainerScroll
258
- }, filterSections.map(function (_ref2) {
263
+ }, filterSections.map(function (_ref2, index) {
259
264
  var _ref2$categoryTitle = _ref2.categoryTitle,
260
265
  categoryTitle = _ref2$categoryTitle === void 0 ? null : _ref2$categoryTitle,
261
266
  _ref2$filters = _ref2.filters,
262
267
  filters = _ref2$filters === void 0 ? [] : _ref2$filters,
263
268
  hasAccordion = _ref2.hasAccordion;
264
269
  return /*#__PURE__*/_react.default.createElement("div", {
270
+ key: index,
265
271
  className: "".concat(componentClass, "__category")
266
272
  }, categoryTitle && /*#__PURE__*/_react.default.createElement("div", {
267
273
  className: "".concat(componentClass, "__category-title")
@@ -283,6 +289,15 @@ FilterPanel.propTypes = {
283
289
  closeIconDescription: _propTypes.default.string,
284
290
  filterPanelMinHeight: _propTypes.default.number,
285
291
  filterSections: _propTypes.default.array,
292
+
293
+ /**
294
+ * Filters that should be applied on load
295
+ */
296
+ initialFilters: _propTypes.default.arrayOf(_propTypes.default.shape({
297
+ id: _propTypes.default.string.isRequired,
298
+ type: _propTypes.default.string.isRequired,
299
+ value: _propTypes.default.any.isRequired
300
+ })),
286
301
  onApply: _propTypes.default.func,
287
302
  onCancel: _propTypes.default.func,
288
303
  onPanelClose: _propTypes.default.func,
@@ -40,15 +40,16 @@ var useFilters = function useFilters(_ref) {
40
40
  _ref$filters = _ref.filters,
41
41
  filters = _ref$filters === void 0 ? [] : _ref$filters,
42
42
  setAllFilters = _ref.setAllFilters,
43
- variation = _ref.variation;
43
+ variation = _ref.variation,
44
+ initialFilters = _ref.initialFilters;
44
45
 
45
46
  /** State */
46
- var _useInitialStateFromF = (0, _useInitialStateFromFilters.default)(filters, variation),
47
+ var _useInitialStateFromF = (0, _useInitialStateFromFilters.default)(filters, variation, initialFilters),
47
48
  _useInitialStateFromF2 = (0, _slicedToArray2.default)(_useInitialStateFromF, 2),
48
49
  filtersState = _useInitialStateFromF2[0],
49
50
  setFiltersState = _useInitialStateFromF2[1];
50
51
 
51
- var _useState = (0, _react.useState)([]),
52
+ var _useState = (0, _react.useState)(initialFilters),
52
53
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
53
54
  filtersObjectArray = _useState2[0],
54
55
  setFiltersObjectArray = _useState2[1]; // When using batch actions we have to store the filters to then apply them later
@@ -66,8 +67,10 @@ var useFilters = function useFilters(_ref) {
66
67
  };
67
68
 
68
69
  var reset = function reset() {
69
- // Get the initial values for the filters
70
- var initialFiltersState = (0, _utils.getInitialStateFromFilters)(filters, variation);
70
+ // When we reset we want the "initialFilters" to be an empty array
71
+ var resetFiltersArray = []; // Get the initial values for the filters
72
+
73
+ var initialFiltersState = (0, _utils.getInitialStateFromFilters)(filters, variation, resetFiltersArray);
71
74
  var initialFiltersObjectArray = []; // Set the state to the initial values
72
75
 
73
76
  setFiltersState(initialFiltersState);
@@ -24,8 +24,9 @@ var _utils = require("../utils");
24
24
  */
25
25
  var useInitialStateFromFilters = function useInitialStateFromFilters(filters) {
26
26
  var variation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.FLYOUT;
27
+ var initialFilters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
27
28
 
28
- var _useState = (0, _react.useState)((0, _utils.getInitialStateFromFilters)(filters, variation)),
29
+ var _useState = (0, _react.useState)((0, _utils.getInitialStateFromFilters)(filters, variation, initialFilters)),
29
30
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
30
31
  state = _useState2[0],
31
32
  setState = _useState2[1];
@@ -13,9 +13,22 @@ var _constants = require("./constants");
13
13
  * This source code is licensed under the Apache-2.0 license found in the
14
14
  * LICENSE file in the root directory of this source tree.
15
15
  */
16
- // This functions takes the filters passed in and makes an object to track it's state
16
+ var applyInitialFilters = function applyInitialFilters(filterState, initialFilters) {
17
+ Object.keys(filterState).forEach(function (key) {
18
+ var hasInitialFilter = initialFilters.find(function (filter) {
19
+ return filter.id === key;
20
+ });
21
+
22
+ if (hasInitialFilter) {
23
+ filterState[key].value = hasInitialFilter.value;
24
+ }
25
+ });
26
+ }; // This functions takes the filters passed in and makes an object to track it's state
27
+
28
+
17
29
  var getInitialStateFromFilters = function getInitialStateFromFilters(filters) {
18
30
  var variation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.FLYOUT;
31
+ var initialFilters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
19
32
  var initialFilterState = {};
20
33
 
21
34
  var setInitialState = function setInitialState(_ref) {
@@ -76,6 +89,10 @@ var getInitialStateFromFilters = function getInitialStateFromFilters(filters) {
76
89
  console.error('No variation passed into useInitialStateFromFilters');
77
90
  }
78
91
 
92
+ if (initialFilters.length > 0) {
93
+ applyInitialFilters(initialFilterState, initialFilters);
94
+ }
95
+
79
96
  return initialFilterState;
80
97
  };
81
98
 
@@ -59,6 +59,12 @@ Object.defineProperty(exports, "useDisableSelectRows", {
59
59
  return _useDisableSelectRows.default;
60
60
  }
61
61
  });
62
+ Object.defineProperty(exports, "useEditableCell", {
63
+ enumerable: true,
64
+ get: function get() {
65
+ return _useEditableCell.default;
66
+ }
67
+ });
62
68
  Object.defineProperty(exports, "useExpandedRow", {
63
69
  enumerable: true,
64
70
  get: function get() {
@@ -162,6 +168,8 @@ var _useColumnOrder = _interopRequireDefault(require("./useColumnOrder"));
162
168
 
163
169
  var _useInlineEdit = _interopRequireDefault(require("./useInlineEdit"));
164
170
 
171
+ var _useEditableCell = _interopRequireDefault(require("./useEditableCell"));
172
+
165
173
  var _useFiltering = _interopRequireDefault(require("./useFiltering"));
166
174
 
167
175
  var _getAutoSizedColumnWidth = require("./utils/getAutoSizedColumnWidth");
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _useInlineEdit = _interopRequireDefault(require("./useInlineEdit"));
11
+
12
+ /**
13
+ * Copyright IBM Corp. 2023, 2023
14
+ *
15
+ * This source code is licensed under the Apache-2.0 license found in the
16
+ * LICENSE file in the root directory of this source tree.
17
+ */
18
+ var useEditableCell = function useEditableCell(hooks) {
19
+ (0, _useInlineEdit.default)(hooks, 'usingEditableCell');
20
+ };
21
+
22
+ var _default = useEditableCell;
23
+ exports.default = _default;
@@ -76,11 +76,13 @@ var useFiltering = function useFiltering(hooks) {
76
76
  setAllFilters = instance.setAllFilters,
77
77
  setFilter = instance.setFilter,
78
78
  headers = instance.headers,
79
- data = instance.data;
79
+ data = instance.data,
80
+ state = instance.state;
80
81
  var defaultProps = {
81
82
  variation: 'flyout',
82
83
  updateMethod: _constants.BATCH,
83
- panelIconDescription: 'Open filter panel'
84
+ panelIconDescription: 'Open filter panel',
85
+ initialFilters: state.filters
84
86
  };
85
87
 
86
88
  var getFilterFlyoutProps = function getFilterFlyoutProps() {