@carbon/ibm-products 2.1.2 → 2.2.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.
Files changed (109) hide show
  1. package/css/index-full-carbon.css +58 -216
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +3 -3
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon-released-only.css +11 -59
  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 +30 -92
  10. package/css/index-without-carbon.css.map +1 -1
  11. package/css/index-without-carbon.min.css +3 -3
  12. package/css/index-without-carbon.min.css.map +1 -1
  13. package/css/index.css +28 -114
  14. package/css/index.css.map +1 -1
  15. package/css/index.min.css +3 -3
  16. package/css/index.min.css.map +1 -1
  17. package/es/components/AboutModal/AboutModal.js +3 -1
  18. package/es/components/ActionBar/ActionBar.js +6 -2
  19. package/es/components/AddSelect/AddSelectFormControl.js +6 -6
  20. package/es/components/AddSelect/AddSelectRow.js +5 -15
  21. package/es/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +6 -5
  22. package/es/components/ButtonMenu/ButtonMenu.js +4 -4
  23. package/es/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +9 -3
  24. package/es/components/DataSpreadsheet/DataSpreadsheet.js +3 -3
  25. package/es/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  26. package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -1
  27. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +1 -1
  28. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +47 -39
  29. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +24 -20
  30. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +1 -0
  31. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +15 -44
  32. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +21 -0
  33. package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +17 -17
  34. package/es/components/Datagrid/useActionsColumn.js +7 -10
  35. package/es/components/Datagrid/useCustomizeColumns.js +7 -9
  36. package/es/components/Datagrid/useExpandedRow.js +7 -11
  37. package/es/components/Datagrid/useFiltering.js +8 -12
  38. package/es/components/Datagrid/useInlineEdit.js +0 -3
  39. package/es/components/Datagrid/useNestedRows.js +6 -10
  40. package/es/components/Datagrid/useStickyColumn.js +3 -10
  41. package/es/components/Datagrid/utils/DatagridActions.js +14 -6
  42. package/es/components/ImportModal/ImportModal.js +6 -13
  43. package/es/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +17 -2
  44. package/es/components/PageHeader/PageHeader.js +6 -2
  45. package/es/components/PageHeader/PageHeaderUtils.js +2 -2
  46. package/es/components/SidePanel/SidePanel.js +3 -1
  47. package/es/components/TagSet/TagSet.js +7 -4
  48. package/es/components/Tearsheet/TearsheetShell.js +5 -4
  49. package/es/components/UserProfileImage/UserProfileImage.js +2 -13
  50. package/es/global/js/hooks/useCreateComponentStepChange.js +15 -16
  51. package/es/global/js/hooks/useResizeObserver.js +28 -14
  52. package/es/global/js/package-settings.js +1 -14
  53. package/es/global/js/utils/story-helper.js +1 -1
  54. package/lib/components/AboutModal/AboutModal.js +3 -1
  55. package/lib/components/ActionBar/ActionBar.js +6 -2
  56. package/lib/components/AddSelect/AddSelectFormControl.js +6 -6
  57. package/lib/components/AddSelect/AddSelectRow.js +5 -15
  58. package/lib/components/BreadcrumbWithOverflow/BreadcrumbWithOverflow.js +6 -5
  59. package/lib/components/ButtonMenu/ButtonMenu.js +4 -4
  60. package/lib/components/ButtonSetWithOverflow/ButtonSetWithOverflow.js +9 -3
  61. package/lib/components/DataSpreadsheet/DataSpreadsheet.js +3 -3
  62. package/lib/components/Datagrid/Datagrid/DatagridContent.js +1 -1
  63. package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +3 -1
  64. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/TearsheetWrapper.js +1 -1
  65. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +45 -37
  66. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +24 -20
  67. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +7 -0
  68. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +13 -42
  69. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useInitialStateFromFilters.js +30 -0
  70. package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +17 -17
  71. package/lib/components/Datagrid/useActionsColumn.js +7 -12
  72. package/lib/components/Datagrid/useCustomizeColumns.js +8 -10
  73. package/lib/components/Datagrid/useExpandedRow.js +6 -9
  74. package/lib/components/Datagrid/useFiltering.js +7 -10
  75. package/lib/components/Datagrid/useInlineEdit.js +0 -3
  76. package/lib/components/Datagrid/useNestedRows.js +6 -9
  77. package/lib/components/Datagrid/useStickyColumn.js +3 -10
  78. package/lib/components/Datagrid/utils/DatagridActions.js +13 -5
  79. package/lib/components/ImportModal/ImportModal.js +6 -13
  80. package/lib/components/NotificationsPanel/preview-components/UnreadNotificationBell.js +17 -2
  81. package/lib/components/PageHeader/PageHeader.js +6 -2
  82. package/lib/components/PageHeader/PageHeaderUtils.js +2 -2
  83. package/lib/components/SidePanel/SidePanel.js +3 -1
  84. package/lib/components/TagSet/TagSet.js +7 -4
  85. package/lib/components/Tearsheet/TearsheetShell.js +5 -4
  86. package/lib/components/UserProfileImage/UserProfileImage.js +2 -13
  87. package/lib/global/js/hooks/useCreateComponentStepChange.js +15 -16
  88. package/lib/global/js/hooks/useResizeObserver.js +27 -13
  89. package/lib/global/js/package-settings.js +1 -14
  90. package/lib/global/js/utils/story-helper.js +1 -1
  91. package/package.json +10 -10
  92. package/scss/components/AddSelect/_add-select.scss +0 -4
  93. package/scss/components/BreadcrumbWithOverflow/_breadcrumb-with-overflow.scss +1 -0
  94. package/scss/components/ButtonMenu/_button-menu.scss +1 -32
  95. package/scss/components/DataSpreadsheet/_storybook-styles.scss +0 -6
  96. package/scss/components/Datagrid/_datagrid.scss +2 -4
  97. package/scss/components/Datagrid/_storybook-styles.scss +1 -15
  98. package/scss/components/Datagrid/styles/_datagrid.scss +13 -12
  99. package/scss/components/Datagrid/styles/addons/_FilterFlyout.scss +0 -7
  100. package/scss/components/Datagrid/styles/addons/_FilterPanel.scss +0 -4
  101. package/scss/components/HTTPErrors/_storybook-styles.scss +2 -16
  102. package/scss/components/NotificationsPanel/_notifications-panel.scss +1 -1
  103. package/scss/components/NotificationsPanel/_storybook-styles.scss +4 -0
  104. package/scss/components/PageHeader/_page-header.scss +1 -0
  105. package/scss/components/PageHeader/_storybook-styles.scss +14 -42
  106. package/scss/components/SidePanel/_side-panel.scss +2 -0
  107. package/scss/components/Tearsheet/_tearsheet.scss +6 -7
  108. package/scss/components/WebTerminal/_storybook-styles.scss +1 -16
  109. package/scss/global/styles/_display-box.scss +0 -1
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.ButtonMenu = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
10
  var _react = _interopRequireDefault(require("react"));
12
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -59,14 +58,15 @@ var ButtonMenu = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
59
58
  return /*#__PURE__*/_react.default.createElement(_react2.OverflowMenu, (0, _extends2.default)({}, rest, {
60
59
  className: (0, _classnames.default)(blockClass,
61
60
  // Apply the block class to the main HTML element
62
- className, // Apply any supplied class names to the main HTML element.
63
- "".concat(carbonPrefix, "--btn--").concat(size), (0, _defineProperty2.default)({}, "".concat(blockClass, "__wrapper--").concat(kind), kind)),
61
+ className // Apply any supplied class names to the main HTML element.
62
+ ),
63
+
64
64
  "aria-label": menuAriaLabel,
65
65
  menuOptionsClass: (0, _classnames.default)("".concat(blockClass, "__options"), menuOptionsClass),
66
66
  size: size,
67
67
  renderIcon: function renderIcon() {
68
68
  return /*#__PURE__*/_react.default.createElement("div", {
69
- className: (0, _classnames.default)("".concat(blockClass, "__trigger"))
69
+ className: (0, _classnames.default)(["".concat(blockClass, "__trigger"), "".concat(carbonPrefix, "--btn"), "".concat(carbonPrefix, "--btn--").concat(kind), "".concat(carbonPrefix, "--btn--").concat(size)])
70
70
  }, label, Icon && /*#__PURE__*/_react.default.createElement(Icon, {
71
71
  "aria-hidden": "true",
72
72
  "aria-label": iconDescription,
@@ -145,9 +145,15 @@ var ButtonSetWithOverflow = function ButtonSetWithOverflow(_ref) {
145
145
  }, (0, _propsHelper.prepareProps)(other, ['iconDescription', 'renderIcon'])));
146
146
  }).reverse());
147
147
  });
148
- (0, _useResizeObserver.useResizeObserver)(sizingContainerRefSet, checkFullyVisibleItems);
149
- (0, _useResizeObserver.useResizeObserver)(sizingContainerRefCombo, checkFullyVisibleItems);
150
- (0, _useResizeObserver.useResizeObserver)(spaceAvailableRef, checkFullyVisibleItems);
148
+ (0, _useResizeObserver.useResizeObserver)(sizingContainerRefSet, {
149
+ callback: checkFullyVisibleItems
150
+ });
151
+ (0, _useResizeObserver.useResizeObserver)(sizingContainerRefCombo, {
152
+ callback: checkFullyVisibleItems
153
+ });
154
+ (0, _useResizeObserver.useResizeObserver)(spaceAvailableRef, {
155
+ callback: checkFullyVisibleItems
156
+ });
151
157
  return /*#__PURE__*/_react.default.createElement("div", {
152
158
  className: (0, _classnames.default)([blockClass, className, (0, _defineProperty2.default)({}, "".concat(blockClass, "--right"), rightAlign)]),
153
159
  ref: spaceAvailableRef
@@ -674,6 +674,9 @@ var DataSpreadsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
674
674
  defaultColumn: defaultColumn,
675
675
  cellEditorValue: cellEditorValue
676
676
  });
677
+ var handleActiveCellMouseEnter = (0, _react.useCallback)(function () {
678
+ handleActiveCellMouseEnterCallback(selectionAreas, clickAndHoldActive);
679
+ }, [clickAndHoldActive, selectionAreas, handleActiveCellMouseEnterCallback]);
677
680
 
678
681
  // Only update if there are cell selection areas
679
682
  // Find point object that matches currentMatcher and remove the second point
@@ -706,9 +709,6 @@ var DataSpreadsheet = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
706
709
  });
707
710
  }
708
711
  }, [spreadsheetRef, currentMatcher]);
709
- var handleActiveCellMouseEnter = (0, _react.useCallback)(function () {
710
- handleActiveCellMouseEnterCallback(selectionAreas, clickAndHoldActive);
711
- }, [clickAndHoldActive, selectionAreas, handleActiveCellMouseEnterCallback]);
712
712
  return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, rest, getTableProps(), (0, _devtools.getDevtoolsProps)(componentName), {
713
713
  className: (0, _classnames.default)(blockClass, className, "".concat(blockClass, "--interactive-cell-element"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__container-has-focus"), containerHasFocus), (0, _defineProperty2.default)(_cx, "".concat(blockClass, "__").concat(theme), theme === 'dark'), _cx)),
714
714
  ref: spreadsheetRef,
@@ -92,7 +92,7 @@ var DatagridContent = function DatagridContent(_ref) {
92
92
  return /*#__PURE__*/_react.default.createElement(_react2.Table, (0, _extends2.default)({}, getTableProps(), {
93
93
  className: (0, _classnames.default)(withVirtualScroll ? '' : "".concat(blockClass, "__table-simple"), "".concat(blockClass, "__vertical-align-").concat(verticalAlign), (0, _defineProperty2.default)({}, "".concat(blockClass, "__variable-row-height"), variableRowHeight), (0, _defineProperty2.default)({}, "".concat(blockClass, "__table-with-inline-edit"), withInlineEdit), (0, _defineProperty2.default)({}, "".concat(blockClass, "__table-grid-active"), gridActive), (_getTableProps = getTableProps()) === null || _getTableProps === void 0 ? void 0 : _getTableProps.className),
94
94
  role: withInlineEdit && 'grid',
95
- tabIndex: withInlineEdit ? 0 : -1,
95
+ tabIndex: withInlineEdit && 0,
96
96
  onKeyDown: withInlineEdit ? function (event) {
97
97
  return (0, _handleGridKeyPress.handleGridKeyPress)({
98
98
  event: event,
@@ -59,7 +59,9 @@ var DatagridVirtualBody = function DatagridVirtualBody(datagridState) {
59
59
  var gridRefElement = gridRef === null || gridRef === void 0 ? void 0 : gridRef.current;
60
60
  gridRefElement.style.width = gridRefElement === null || gridRefElement === void 0 ? void 0 : gridRefElement.clientWidth;
61
61
  };
62
- (0, _useResizeObserver.useResizeObserver)(gridRef, handleVirtualGridResize);
62
+ (0, _useResizeObserver.useResizeObserver)(gridRef, {
63
+ callback: handleVirtualGridResize
64
+ });
63
65
  var syncScroll = function syncScroll(e) {
64
66
  var virtualBody = e.target;
65
67
  document.querySelector(".".concat(blockClass, "__head-wrap")).scrollLeft = virtualBody.scrollLeft;
@@ -29,7 +29,7 @@ var TearsheetWrapper = function TearsheetWrapper(_ref) {
29
29
  rest = (0, _objectWithoutProperties2.default)(_instance$customizeCo, _excluded);
30
30
  return /*#__PURE__*/React.createElement(_CustomizeColumnsTearsheet.default, (0, _extends2.default)({}, rest, labels, {
31
31
  isOpen: isTearsheetOpen,
32
- isTableSortable: (instance === null || instance === void 0 ? void 0 : instance.isTableSortable) || false,
32
+ isTableSortable: instance === null || instance === void 0 ? void 0 : instance.isTableSortable,
33
33
  setIsTearsheetOpen: setIsTearsheetOpen,
34
34
  columnDefinitions: instance.allColumns,
35
35
  originalColumnDefinitions: instance.columns,
@@ -55,8 +55,11 @@ var FilterFlyout = function FilterFlyout(_ref) {
55
55
  setAllFilters = _ref.setAllFilters,
56
56
  _ref$data = _ref.data,
57
57
  data = _ref$data === void 0 ? [] : _ref$data,
58
- _ref$reactTableFilter = _ref.reactTableFiltersState,
59
- reactTableFiltersState = _ref$reactTableFilter === void 0 ? [] : _ref$reactTableFilter;
58
+ _ref$initialFilters = _ref.initialFilters,
59
+ initialFilters = _ref$initialFilters === void 0 ? [] : _ref$initialFilters;
60
+ // Save the initial filters we only need the filters once when it loads
61
+ var initialFiltersRef = (0, _react2.useRef)(initialFilters);
62
+
60
63
  /** State */
61
64
  var _useState = (0, _react2.useState)(false),
62
65
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -67,17 +70,15 @@ var FilterFlyout = function FilterFlyout(_ref) {
67
70
  filters: filters,
68
71
  setAllFilters: setAllFilters,
69
72
  variation: _constants.FLYOUT,
70
- reactTableFiltersState: reactTableFiltersState,
71
- onCancel: onCancel
73
+ initialFilters: initialFiltersRef.current
72
74
  }),
73
75
  filtersState = _useFilters.filtersState,
74
76
  prevFiltersObjectArrayRef = _useFilters.prevFiltersObjectArrayRef,
75
77
  prevFiltersRef = _useFilters.prevFiltersRef,
76
- cancel = _useFilters.cancel,
78
+ revertToPreviousFilters = _useFilters.revertToPreviousFilters,
77
79
  reset = _useFilters.reset,
78
80
  renderFilter = _useFilters.renderFilter,
79
- filtersObjectArray = _useFilters.filtersObjectArray,
80
- lastAppliedFilters = _useFilters.lastAppliedFilters;
81
+ filtersObjectArray = _useFilters.filtersObjectArray;
81
82
 
82
83
  /** Refs */
83
84
  var filterFlyoutRef = (0, _react2.useRef)(null);
@@ -116,10 +117,26 @@ var FilterFlyout = function FilterFlyout(_ref) {
116
117
  // updates the ref so next time the flyout opens we have records of the previous filters
117
118
  prevFiltersRef.current = JSON.stringify(filtersState);
118
119
  prevFiltersObjectArrayRef.current = JSON.stringify(filtersObjectArray);
119
-
120
- // Update the last applied filters
121
- lastAppliedFilters.current = JSON.stringify(filtersObjectArray);
122
120
  };
121
+ var cancel = function cancel() {
122
+ // Reverting to previous filters only applies when using batch actions
123
+ if (updateMethod === _constants.BATCH) {
124
+ revertToPreviousFilters();
125
+ onCancel();
126
+ }
127
+ closeFlyout();
128
+ };
129
+
130
+ /** Effects */
131
+ (0, _hooks.useClickOutside)(filterFlyoutRef, function (target) {
132
+ var hasClickedOnDatePicker = target.closest('.flatpickr-calendar');
133
+ var hasClickedOnDropdown = target.className === "".concat(carbonPrefix, "--list-box__menu-item__option");
134
+ if (!open || hasClickedOnDatePicker || hasClickedOnDropdown) {
135
+ return;
136
+ }
137
+ cancel();
138
+ });
139
+ (0, _hooks2.useSubscribeToEventEmitter)(_constants.CLEAR_FILTERS, reset);
123
140
 
124
141
  /** Renders all filters */
125
142
  var renderFilters = function renderFilters() {
@@ -146,31 +163,22 @@ var FilterFlyout = function FilterFlyout(_ref) {
146
163
  buttonSize: "md"
147
164
  });
148
165
  };
149
-
150
- /** Effects */
151
- (0, _hooks.useClickOutside)(filterFlyoutRef, function (target) {
152
- var hasClickedOnDatePicker = target.closest('.flatpickr-calendar');
153
- var hasClickedOnDropdown = target.className === "".concat(carbonPrefix, "--list-box__menu-item__option");
154
- if (!open || hasClickedOnDatePicker || hasClickedOnDropdown) {
155
- return;
156
- }
157
- closeFlyout();
158
- cancel();
159
- });
160
- (0, _hooks2.useSubscribeToEventEmitter)(_constants.CLEAR_FILTERS, reset);
161
- (0, _react2.useEffect)(function reflectLastAppliedFiltersWhenReactTableUpdates() {
162
- lastAppliedFilters.current = JSON.stringify(reactTableFiltersState);
163
- }, [reactTableFiltersState, lastAppliedFilters]);
164
166
  return /*#__PURE__*/_react2.default.createElement("div", {
165
167
  className: "".concat(componentClass, "__container")
166
- }, /*#__PURE__*/_react2.default.createElement(_react.IconButton, {
167
- label: flyoutIconDescription,
168
+ }, /*#__PURE__*/_react2.default.createElement(_react.Button, {
168
169
  kind: "ghost",
169
- align: "bottom",
170
+ hasIconOnly: true,
171
+ tooltipPosition: "bottom",
172
+ renderIcon: function renderIcon() {
173
+ return /*#__PURE__*/_react2.default.createElement(_icons.Filter, {
174
+ size: 16
175
+ });
176
+ },
177
+ iconDescription: flyoutIconDescription,
170
178
  onClick: open ? closeFlyout : openFlyout,
171
179
  className: (0, _classnames.default)("".concat(componentClass, "__trigger"), (0, _defineProperty2.default)({}, "".concat(componentClass, "__trigger--open"), open)),
172
180
  disabled: data.length === 0
173
- }, /*#__PURE__*/_react2.default.createElement(_icons.Filter, null)), /*#__PURE__*/_react2.default.createElement("div", {
181
+ }), /*#__PURE__*/_react2.default.createElement("div", {
174
182
  ref: filterFlyoutRef,
175
183
  className: (0, _classnames.default)(componentClass, (_cx2 = {}, (0, _defineProperty2.default)(_cx2, "".concat(componentClass, "--open"), open), (0, _defineProperty2.default)(_cx2, "".concat(componentClass, "--batch"), showActionSet), (0, _defineProperty2.default)(_cx2, "".concat(componentClass, "--instant"), !showActionSet), _cx2))
176
184
  }, /*#__PURE__*/_react2.default.createElement("div", {
@@ -198,6 +206,14 @@ FilterFlyout.propTypes = {
198
206
  * Icon description for the filter flyout button
199
207
  */
200
208
  flyoutIconDescription: _propTypes.default.string,
209
+ /**
210
+ * Filters that should be applied on load
211
+ */
212
+ initialFilters: _propTypes.default.arrayOf(_propTypes.default.shape({
213
+ id: _propTypes.default.string.isRequired,
214
+ type: _propTypes.default.string.isRequired,
215
+ value: _propTypes.default.any.isRequired
216
+ })),
201
217
  /**
202
218
  * Callback when the apply button is clicked
203
219
  */
@@ -218,14 +234,6 @@ FilterFlyout.propTypes = {
218
234
  * Label text of the primary action in the flyout
219
235
  */
220
236
  primaryActionLabel: _propTypes.default.string,
221
- /**
222
- * Filters from react table's state
223
- */
224
- reactTableFiltersState: _propTypes.default.arrayOf(_propTypes.default.shape({
225
- id: _propTypes.default.string.isRequired,
226
- type: _propTypes.default.string.isRequired,
227
- value: _propTypes.default.any.isRequired
228
- })),
229
237
  /**
230
238
  * Label text of the secondary action in the flyout
231
239
  */
@@ -66,8 +66,11 @@ var FilterPanel = function FilterPanel(_ref) {
66
66
  searchLabelText = _ref$searchLabelText === void 0 ? 'Filter search' : _ref$searchLabelText,
67
67
  _ref$searchPlaceholde = _ref.searchPlaceholder,
68
68
  searchPlaceholder = _ref$searchPlaceholde === void 0 ? 'Find filters' : _ref$searchPlaceholde,
69
- _ref$reactTableFilter = _ref.reactTableFiltersState,
70
- reactTableFiltersState = _ref$reactTableFilter === void 0 ? [] : _ref$reactTableFilter;
69
+ _ref$initialFilters = _ref.initialFilters,
70
+ initialFilters = _ref$initialFilters === void 0 ? [] : _ref$initialFilters;
71
+ // Save the initial filters we only need the filters once
72
+ var initialFiltersRef = (0, _react.useRef)(initialFilters);
73
+
71
74
  /** State */
72
75
  var _useState = (0, _react.useState)(false),
73
76
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -78,17 +81,15 @@ var FilterPanel = function FilterPanel(_ref) {
78
81
  filters: filterSections,
79
82
  setAllFilters: setAllFilters,
80
83
  variation: _constants.PANEL,
81
- reactTableFiltersState: reactTableFiltersState,
82
- onCancel: onCancel
84
+ initialFilters: initialFiltersRef.current
83
85
  }),
84
86
  filtersState = _useFilters.filtersState,
85
87
  prevFiltersObjectArrayRef = _useFilters.prevFiltersObjectArrayRef,
86
88
  prevFiltersRef = _useFilters.prevFiltersRef,
87
- cancel = _useFilters.cancel,
89
+ revertToPreviousFilters = _useFilters.revertToPreviousFilters,
88
90
  reset = _useFilters.reset,
89
91
  renderFilter = _useFilters.renderFilter,
90
- filtersObjectArray = _useFilters.filtersObjectArray,
91
- lastAppliedFilters = _useFilters.lastAppliedFilters;
92
+ filtersObjectArray = _useFilters.filtersObjectArray;
92
93
 
93
94
  /** Refs */
94
95
  var filterPanelRef = (0, _react.useRef)();
@@ -118,8 +119,14 @@ var FilterPanel = function FilterPanel(_ref) {
118
119
 
119
120
  /** Methods */
120
121
  var closePanel = function closePanel() {
121
- cancel();
122
- setPanelOpen(false);
122
+ return setPanelOpen(false);
123
+ };
124
+ var cancel = function cancel() {
125
+ // Reverting to previous filters only applies when using batch actions
126
+ if (updateMethod === _constants.BATCH) {
127
+ revertToPreviousFilters();
128
+ onCancel();
129
+ }
123
130
  };
124
131
  var apply = function apply() {
125
132
  setAllFilters(filtersObjectArray);
@@ -131,9 +138,6 @@ var FilterPanel = function FilterPanel(_ref) {
131
138
  // updates the ref so next time the flyout opens we have records of the previous filters
132
139
  prevFiltersRef.current = JSON.stringify(filtersState);
133
140
  prevFiltersObjectArrayRef.current = JSON.stringify(filtersObjectArray);
134
-
135
- // Update the last applied filters
136
- lastAppliedFilters.current = JSON.stringify(filtersObjectArray);
137
141
  };
138
142
  var renderActionSet = function renderActionSet() {
139
143
  return showActionSet && /*#__PURE__*/_react.default.createElement(MotionActionSet, {
@@ -250,20 +254,20 @@ FilterPanel.propTypes = {
250
254
  closeIconDescription: _propTypes.default.string,
251
255
  filterPanelMinHeight: _propTypes.default.number,
252
256
  filterSections: _propTypes.default.array,
253
- onApply: _propTypes.default.func,
254
- onCancel: _propTypes.default.func,
255
- onPanelClose: _propTypes.default.func,
256
- onPanelOpen: _propTypes.default.func,
257
- open: _propTypes.default.bool,
258
- primaryActionLabel: _propTypes.default.string,
259
257
  /**
260
- * Filters from react table's state
258
+ * Filters that should be applied on load
261
259
  */
262
- reactTableFiltersState: _propTypes.default.arrayOf(_propTypes.default.shape({
260
+ initialFilters: _propTypes.default.arrayOf(_propTypes.default.shape({
263
261
  id: _propTypes.default.string.isRequired,
264
262
  type: _propTypes.default.string.isRequired,
265
263
  value: _propTypes.default.any.isRequired
266
264
  })),
265
+ onApply: _propTypes.default.func,
266
+ onCancel: _propTypes.default.func,
267
+ onPanelClose: _propTypes.default.func,
268
+ onPanelOpen: _propTypes.default.func,
269
+ open: _propTypes.default.bool,
270
+ primaryActionLabel: _propTypes.default.string,
267
271
  searchLabelText: _propTypes.default.string,
268
272
  searchPlaceholder: _propTypes.default.string,
269
273
  secondaryActionLabel: _propTypes.default.string,
@@ -10,6 +10,12 @@ Object.defineProperty(exports, "useFilters", {
10
10
  return _useFilters.default;
11
11
  }
12
12
  });
13
+ Object.defineProperty(exports, "useInitialStateFromFilters", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _useInitialStateFromFilters.default;
17
+ }
18
+ });
13
19
  Object.defineProperty(exports, "useShouldDisableButtons", {
14
20
  enumerable: true,
15
21
  get: function get() {
@@ -22,6 +28,7 @@ Object.defineProperty(exports, "useSubscribeToEventEmitter", {
22
28
  return _useSubscribeToEventEmitter.default;
23
29
  }
24
30
  });
31
+ var _useInitialStateFromFilters = _interopRequireDefault(require("./useInitialStateFromFilters"));
25
32
  var _useSubscribeToEventEmitter = _interopRequireDefault(require("./useSubscribeToEventEmitter"));
26
33
  var _useFilters = _interopRequireDefault(require("./useFilters"));
27
34
  var _useShouldDisableButtons = _interopRequireDefault(require("./useShouldDisableButtons"));
@@ -13,6 +13,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
13
13
  var _react = _interopRequireWildcard(require("react"));
14
14
  var _react2 = require("@carbon/react");
15
15
  var _constants = require("../constants");
16
+ var _useInitialStateFromFilters = _interopRequireDefault(require("./useInitialStateFromFilters"));
16
17
  var _utils = require("../utils");
17
18
  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); }
18
19
  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; }
@@ -30,22 +31,19 @@ var useFilters = function useFilters(_ref) {
30
31
  filters = _ref$filters === void 0 ? [] : _ref$filters,
31
32
  setAllFilters = _ref.setAllFilters,
32
33
  variation = _ref.variation,
33
- reactTableFiltersState = _ref.reactTableFiltersState,
34
- _ref$onCancel = _ref.onCancel,
35
- onCancel = _ref$onCancel === void 0 ? function () {} : _ref$onCancel;
34
+ initialFilters = _ref.initialFilters;
36
35
  /** State */
37
- var _useState = (0, _react.useState)((0, _utils.getInitialStateFromFilters)(filters, variation, reactTableFiltersState)),
36
+ var _useInitialStateFromF = (0, _useInitialStateFromFilters.default)(filters, variation, initialFilters),
37
+ _useInitialStateFromF2 = (0, _slicedToArray2.default)(_useInitialStateFromF, 2),
38
+ filtersState = _useInitialStateFromF2[0],
39
+ setFiltersState = _useInitialStateFromF2[1];
40
+ var _useState = (0, _react.useState)(initialFilters),
38
41
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
39
- filtersState = _useState2[0],
40
- setFiltersState = _useState2[1];
41
- var _useState3 = (0, _react.useState)(reactTableFiltersState),
42
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
43
- filtersObjectArray = _useState4[0],
44
- setFiltersObjectArray = _useState4[1];
42
+ filtersObjectArray = _useState2[0],
43
+ setFiltersObjectArray = _useState2[1];
45
44
 
46
45
  // When using batch actions we have to store the filters to then apply them later
47
46
  var prevFiltersRef = (0, _react.useRef)(JSON.stringify(filtersState));
48
- var lastAppliedFilters = (0, _react.useRef)(JSON.stringify(reactTableFiltersState));
49
47
  var prevFiltersObjectArrayRef = (0, _react.useRef)(JSON.stringify(filtersObjectArray));
50
48
 
51
49
  /** Methods */
@@ -54,7 +52,6 @@ var useFilters = function useFilters(_ref) {
54
52
  var revertToPreviousFilters = function revertToPreviousFilters() {
55
53
  setFiltersState(JSON.parse(prevFiltersRef.current));
56
54
  setFiltersObjectArray(JSON.parse(prevFiltersObjectArrayRef.current));
57
- setAllFilters(JSON.parse(lastAppliedFilters.current));
58
55
  };
59
56
  var reset = function reset() {
60
57
  // When we reset we want the "initialFilters" to be an empty array
@@ -166,11 +163,8 @@ var useFilters = function useFilters(_ref) {
166
163
  var type = _ref3.type,
167
164
  column = _ref3.column,
168
165
  components = _ref3.props;
169
- var filter;
170
166
  var isPanel = variation === _constants.PANEL;
171
- if (!type) {
172
- return console.error("type: ".concat(type, "; does not exist as a type of filter."));
173
- }
167
+ var filter;
174
168
  switch (type) {
175
169
  case _constants.DATE:
176
170
  filter = /*#__PURE__*/_react.default.createElement(_react2.DatePicker, (0, _extends2.default)({}, components.DatePicker, {
@@ -296,31 +290,10 @@ var useFilters = function useFilters(_ref) {
296
290
  break;
297
291
  }
298
292
  if (isPanel) {
299
- return /*#__PURE__*/_react.default.createElement(_react2.Layer, {
300
- key: column
301
- }, filter);
293
+ return /*#__PURE__*/_react.default.createElement(_react2.Layer, null, filter);
302
294
  }
303
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
304
- key: column
305
- }, filter);
295
+ return filter;
306
296
  };
307
- var cancel = function cancel() {
308
- // Reverting to previous filters only applies when using batch actions
309
- if (updateMethod === _constants.BATCH) {
310
- revertToPreviousFilters();
311
- onCancel();
312
- }
313
- };
314
-
315
- /** The purpose of this function is to sync any changes in react-tables state.filters array and reflect
316
- those new filter changes in the panel/flyout state. The external change is triggered if setAllFilters is called outside of the Datagrid */
317
- (0, _react.useEffect)(function updateStateAndFiltersToReflectExternalFilterChanges() {
318
- var newFiltersState = (0, _utils.getInitialStateFromFilters)(filters, variation, reactTableFiltersState);
319
- setFiltersState(newFiltersState);
320
- prevFiltersRef.current = JSON.stringify(newFiltersState);
321
- prevFiltersObjectArrayRef.current = JSON.stringify(reactTableFiltersState);
322
- setFiltersObjectArray(reactTableFiltersState);
323
- }, [filters, reactTableFiltersState, variation]);
324
297
  return {
325
298
  filtersState: filtersState,
326
299
  setFiltersState: setFiltersState,
@@ -329,9 +302,7 @@ var useFilters = function useFilters(_ref) {
329
302
  revertToPreviousFilters: revertToPreviousFilters,
330
303
  reset: reset,
331
304
  renderFilter: renderFilter,
332
- filtersObjectArray: filtersObjectArray,
333
- lastAppliedFilters: lastAppliedFilters,
334
- cancel: cancel
305
+ filtersObjectArray: filtersObjectArray
335
306
  };
336
307
  };
337
308
  var _default = useFilters;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var _constants = require("../constants");
11
+ var _utils = require("../utils");
12
+ /*
13
+ * Licensed Materials - Property of IBM
14
+ * 5724-Q36
15
+ * (c) Copyright IBM Corp. 2022
16
+ * US Government Users Restricted Rights - Use, duplication or disclosure
17
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
18
+ */
19
+
20
+ var useInitialStateFromFilters = function useInitialStateFromFilters(filters) {
21
+ var variation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.FLYOUT;
22
+ var initialFilters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
23
+ var _useState = (0, _react.useState)((0, _utils.getInitialStateFromFilters)(filters, variation, initialFilters)),
24
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
25
+ state = _useState2[0],
26
+ setState = _useState2[1];
27
+ return [state, setState];
28
+ };
29
+ var _default = useInitialStateFromFilters;
30
+ exports.default = _default;
@@ -80,23 +80,6 @@ var InlineEditCell = function InlineEditCell(_ref) {
80
80
  var dropdownRef = (0, _react.useRef)();
81
81
  var datePickerRef = (0, _react.useRef)();
82
82
  var outerButtonElement = (0, _react.useRef)();
83
- var rowSize = instance.rowSize,
84
- onDataUpdate = instance.onDataUpdate;
85
-
86
- // Saves the new cell data, onDataUpdate is a required function to be
87
- // passed to useDatagrid when using useInlineEdit
88
- var saveCellData = (0, _react.useCallback)(function (newValue) {
89
- var columnId = cell.column.id;
90
- var rowIndex = cell.row.index;
91
- onDataUpdate(function (prev) {
92
- return prev.map(function (row, index) {
93
- if (index === rowIndex) {
94
- return _objectSpread(_objectSpread({}, prev[rowIndex]), {}, (0, _defineProperty2.default)({}, columnId, newValue));
95
- }
96
- return row;
97
- });
98
- });
99
- }, [cell, onDataUpdate]);
100
83
  (0, _react.useEffect)(function () {
101
84
  setInitialValue(value);
102
85
  var columnId = cell.column.id;
@@ -170,6 +153,8 @@ var InlineEditCell = function InlineEditCell(_ref) {
170
153
  }, 1);
171
154
  }
172
155
  };
156
+ var rowSize = instance.rowSize,
157
+ onDataUpdate = instance.onDataUpdate;
173
158
 
174
159
  // Auto focus text input when entering edit mode
175
160
  (0, _react.useEffect)(function () {
@@ -187,6 +172,21 @@ var InlineEditCell = function InlineEditCell(_ref) {
187
172
  (0, _react.useEffect)(function () {
188
173
  setCellValue(value);
189
174
  }, [value]);
175
+
176
+ // Saves the new cell data, onDataUpdate is a required function to be
177
+ // passed to useDatagrid when using useInlineEdit
178
+ var saveCellData = (0, _react.useCallback)(function (newValue) {
179
+ var columnId = cell.column.id;
180
+ var rowIndex = cell.row.index;
181
+ onDataUpdate(function (prev) {
182
+ return prev.map(function (row, index) {
183
+ if (index === rowIndex) {
184
+ return _objectSpread(_objectSpread({}, prev[rowIndex]), {}, (0, _defineProperty2.default)({}, columnId, newValue));
185
+ }
186
+ return row;
187
+ });
188
+ });
189
+ }, [cell, onDataUpdate]);
190
190
  var sendFocusBackToGrid = function sendFocusBackToGrid() {
191
191
  // Allows the onKeyDown listener to go back to the entire grid area
192
192
  var inlineEditArea = document.querySelector("#".concat(instance.tableId, " .").concat(blockClass, "__table-with-inline-edit"));
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -9,27 +8,23 @@ exports.default = void 0;
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
- var _react = _interopRequireWildcard(require("react"));
11
+ var _react = _interopRequireDefault(require("react"));
13
12
  var _classnames = _interopRequireDefault(require("classnames"));
14
13
  var _react2 = require("@carbon/react");
15
14
  var _settings = require("../../settings");
16
15
  var _excluded = ["id", "itemText", "onClick", "icon", "shouldHideMenuItem"],
17
16
  _excluded2 = ["id", "onClick", "shouldHideMenuItem", "shouldDisableMenuItem", "disabled"];
18
- /**
19
- * Copyright IBM Corp. 2021, 2023
20
- *
21
- * This source code is licensed under the Apache-2.0 license found in the
22
- * LICENSE file in the root directory of this source tree.
17
+ /*
18
+ * Licensed Materials - Property of IBM
19
+ * 5724-Q36
20
+ * (c) Copyright IBM Corp. 2021
21
+ * US Government Users Restricted Rights - Use, duplication or disclosure
22
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
23
23
  */
24
- 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); }
25
- 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; }
26
24
  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; }
27
25
  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; }
28
26
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
29
27
  var useActionsColumn = function useActionsColumn(hooks) {
30
- (0, _react.useEffect)(function () {
31
- _settings.pkg.checkReportFeatureEnabled('Datagrid.useActionsColumn');
32
- }, []);
33
28
  var useAttachActionsOnInstance = function useAttachActionsOnInstance(instance) {
34
29
  var rowActions = instance.rowActions,
35
30
  isFetching = instance.isFetching,
@@ -10,21 +10,19 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
12
  var React = _interopRequireWildcard(require("react"));
13
- var _settings = require("../../settings");
14
13
  var _CustomizeColumns = require("./Datagrid/addons/CustomizeColumns");
15
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); }
16
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; }
17
16
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
- 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; } /**
19
- * Copyright IBM Corp. 2021, 2023
20
- *
21
- * This source code is licensed under the Apache-2.0 license found in the
22
- * LICENSE file in the root directory of this source tree.
23
- */
17
+ 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; } // @flow
18
+ /*
19
+ * Licensed Materials - Property of IBM
20
+ * 5724-Q36
21
+ * (c) Copyright IBM Corp. 2021
22
+ * US Government Users Restricted Rights - Use, duplication or disclosure
23
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
24
+ */
24
25
  var useCustomizeColumns = function useCustomizeColumns(hooks) {
25
- React.useEffect(function () {
26
- _settings.pkg.checkReportFeatureEnabled('Datagrid.useCustomizeColumns');
27
- }, []);
28
26
  var _React$useState = React.useState(false),
29
27
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
30
28
  isTearsheetOpen = _React$useState2[0],