@carbon/ibm-products 1.44.1 → 1.46.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 (36) hide show
  1. package/css/index-full-carbon.css +30 -19
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +1 -1
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon.css +30 -19
  6. package/css/index-without-carbon.css.map +1 -1
  7. package/css/index-without-carbon.min.css +1 -1
  8. package/css/index-without-carbon.min.css.map +1 -1
  9. package/css/index.css +30 -19
  10. package/css/index.css.map +1 -1
  11. package/css/index.min.css +1 -1
  12. package/css/index.min.css.map +1 -1
  13. package/es/components/Datagrid/Datagrid/DatagridContent.js +2 -2
  14. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +39 -217
  15. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +61 -258
  16. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +4 -4
  17. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +10 -1
  18. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +276 -0
  19. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +34 -0
  20. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +6 -6
  21. package/es/components/Datagrid/useSortableColumns.js +16 -10
  22. package/es/components/Datagrid/utils/DatagridActions.js +6 -38
  23. package/lib/components/Datagrid/Datagrid/DatagridContent.js +2 -2
  24. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +37 -207
  25. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +60 -255
  26. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +4 -4
  27. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +15 -1
  28. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +280 -0
  29. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useShouldDisableButtons.js +41 -0
  30. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +5 -5
  31. package/lib/components/Datagrid/useSortableColumns.js +9 -3
  32. package/lib/components/Datagrid/utils/DatagridActions.js +6 -38
  33. package/package.json +8 -8
  34. package/scss/components/Datagrid/styles/_datagrid.scss +1 -1
  35. package/scss/components/Datagrid/styles/_useSortableColumns.scss +33 -17
  36. package/scss/components/Datagrid/styles/addons/_RowSizeDropdown.scss +1 -1
@@ -6,9 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
11
  var _react = _interopRequireWildcard(require("react"));
14
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -23,18 +21,23 @@ var _iconsReact = require("@carbon/icons-react");
23
21
  var _ActionSet = require("../../../../ActionSet");
24
22
  var _ = require(".");
25
23
  var _hooks = require("./hooks");
26
- var _utils = require("./utils");
27
- var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
28
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); }
29
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; }
30
- 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; }
31
- 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; }
26
+ /* eslint-disable react/jsx-key */
27
+ /**
28
+ * Copyright IBM Corp. 2022, 2023
29
+ *
30
+ * This source code is licensed under the Apache-2.0 license found in the
31
+ * LICENSE file in the root directory of this source tree.
32
+ */
33
+
32
34
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
33
35
  var componentClass = "".concat(blockClass, "-filter-panel");
34
36
  var MotionActionSet = (0, _framerMotion.motion)(_ActionSet.ActionSet);
35
37
  var FilterPanel = function FilterPanel(_ref) {
36
38
  var _cx;
37
- var title = _ref.title,
39
+ var _ref$title = _ref.title,
40
+ title = _ref$title === void 0 ? 'Filter' : _ref$title,
38
41
  _ref$closeIconDescrip = _ref.closeIconDescription,
39
42
  closeIconDescription = _ref$closeIconDescrip === void 0 ? 'Close filter panel' : _ref$closeIconDescrip,
40
43
  _ref$updateMethod = _ref.updateMethod,
@@ -54,31 +57,39 @@ var FilterPanel = function FilterPanel(_ref) {
54
57
  _ref$filterPanelMinHe = _ref.filterPanelMinHeight,
55
58
  filterPanelMinHeight = _ref$filterPanelMinHe === void 0 ? 600 : _ref$filterPanelMinHe;
56
59
  /** State */
57
- var _useInitialStateFromF = (0, _hooks.useInitialStateFromFilters)(filterSections, _constants.PANEL),
58
- _useInitialStateFromF2 = (0, _slicedToArray2.default)(_useInitialStateFromF, 2),
59
- filtersState = _useInitialStateFromF2[0],
60
- setFiltersState = _useInitialStateFromF2[1];
61
- var _useState = (0, _react.useState)([]),
60
+ var _useState = (0, _react.useState)(false),
62
61
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
63
- filtersObjectArray = _useState2[0],
64
- setFiltersObjectArray = _useState2[1];
65
- var _useState3 = (0, _react.useState)(true),
66
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
67
- shouldDisableButtons = _useState4[0],
68
- setShouldDisableButtons = _useState4[1];
69
- var _useState5 = (0, _react.useState)(false),
70
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
71
- showDividerLine = _useState6[0],
72
- setShowDividerLine = _useState6[1];
62
+ showDividerLine = _useState2[0],
63
+ setShowDividerLine = _useState2[1];
64
+ var _useFilters = (0, _hooks.useFilters)({
65
+ updateMethod: updateMethod,
66
+ filters: filterSections,
67
+ setAllFilters: setAllFilters,
68
+ variation: _constants.PANEL
69
+ }),
70
+ filtersState = _useFilters.filtersState,
71
+ prevFiltersObjectArrayRef = _useFilters.prevFiltersObjectArrayRef,
72
+ prevFiltersRef = _useFilters.prevFiltersRef,
73
+ revertToPreviousFilters = _useFilters.revertToPreviousFilters,
74
+ reset = _useFilters.reset,
75
+ renderFilter = _useFilters.renderFilter,
76
+ filtersObjectArray = _useFilters.filtersObjectArray;
73
77
 
74
78
  /** Refs */
75
79
  var filterPanelRef = (0, _react.useRef)();
76
80
  var filterHeadingRef = (0, _react.useRef)();
77
81
  var filterSearchRef = (0, _react.useRef)();
78
82
  var actionSetRef = (0, _react.useRef)();
79
- // When using batch actions we have to store the filters to then apply them later
80
- var prevFiltersRef = (0, _react.useRef)(JSON.stringify(filtersState));
81
- var prevFiltersObjectArrayRef = (0, _react.useRef)(JSON.stringify(filtersObjectArray));
83
+
84
+ /** State from hooks */
85
+ var _useShouldDisableButt = (0, _hooks.useShouldDisableButtons)({
86
+ initialValue: true,
87
+ filtersState: filtersState,
88
+ prevFiltersRef: prevFiltersRef
89
+ }),
90
+ _useShouldDisableButt2 = (0, _slicedToArray2.default)(_useShouldDisableButt, 2),
91
+ shouldDisableButtons = _useShouldDisableButt2[0],
92
+ setShouldDisableButtons = _useShouldDisableButt2[1];
82
93
 
83
94
  /** Memos */
84
95
  var showActionSet = (0, _react.useMemo)(function () {
@@ -87,19 +98,12 @@ var FilterPanel = function FilterPanel(_ref) {
87
98
 
88
99
  /** Context */
89
100
  var _useContext = (0, _react.useContext)(_.FilterContext),
90
- leftPanelOpen = _useContext.leftPanelOpen,
91
- setLeftPanelOpen = _useContext.setLeftPanelOpen;
101
+ panelOpen = _useContext.panelOpen,
102
+ setPanelOpen = _useContext.setPanelOpen;
92
103
 
93
104
  /** Methods */
94
105
  var closePanel = function closePanel() {
95
- return setLeftPanelOpen(false);
96
- };
97
-
98
- // If the user decides to cancel or click outside the flyout, it reverts back to the filters that were
99
- // there when they opened the flyout
100
- var revertToPreviousFilters = function revertToPreviousFilters() {
101
- setFiltersState(JSON.parse(prevFiltersRef.current));
102
- setFiltersObjectArray(JSON.parse(prevFiltersObjectArrayRef.current));
106
+ return setPanelOpen(false);
103
107
  };
104
108
  var cancel = function cancel() {
105
109
  // Reverting to previous filters only applies when using batch actions
@@ -108,215 +112,19 @@ var FilterPanel = function FilterPanel(_ref) {
108
112
  onCancel();
109
113
  }
110
114
  };
111
- var reset = function reset() {
112
- // Get the initial values for the filters
113
- var initialFiltersState = (0, _utils.getInitialStateFromFilters)(filterSections, _constants.PANEL);
114
- var initialFiltersObjectArray = [];
115
-
116
- // Set the state to the initial values
117
- setFiltersState(initialFiltersState);
118
- setFiltersObjectArray(initialFiltersObjectArray);
119
- setAllFilters([]);
120
-
121
- // Update their respective refs so everything is in sync
122
- prevFiltersRef.current = JSON.stringify(initialFiltersState);
123
- prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
124
- };
125
115
  var apply = function apply() {
126
116
  setAllFilters(filtersObjectArray);
117
+
118
+ // From the user
127
119
  onApply();
120
+
121
+ // When the user clicks apply, the action set buttons should be disabled again
128
122
  setShouldDisableButtons(true);
129
123
 
130
124
  // updates the ref so next time the flyout opens we have records of the previous filters
131
125
  prevFiltersRef.current = JSON.stringify(filtersState);
132
126
  prevFiltersObjectArrayRef.current = JSON.stringify(filtersObjectArray);
133
127
  };
134
- var applyFilters = function applyFilters(_ref2) {
135
- var column = _ref2.column,
136
- value = _ref2.value,
137
- type = _ref2.type;
138
- // If no end date is selected return because we need the end date to do computations
139
- if (type === _constants.DATE && value.length > 0 && !value[1]) {
140
- return;
141
- }
142
- var filtersObjectArrayCopy = (0, _toConsumableArray2.default)(filtersObjectArray);
143
- // // check if the filter already exists in the array
144
- var filter = filtersObjectArrayCopy.find(function (item) {
145
- return item.id === column;
146
- });
147
-
148
- // // if filter exists in array then update the filter's new value
149
- if (filter) {
150
- filter.value = value;
151
- } else {
152
- filtersObjectArrayCopy.push({
153
- id: column,
154
- value: value,
155
- type: type
156
- });
157
- }
158
-
159
- // ATTENTION: this is where you would reset or remove individual filters from the filters array
160
- if (type === _constants.CHECKBOX) {
161
- /**
162
- When all checkboxes of a group are all unselected the value still exists in the filtersObjectArray
163
- This checks if all the checkboxes are selected = false and removes it from the array
164
- */
165
- var index = filtersObjectArrayCopy.findIndex(function (filter) {
166
- return filter.id === column;
167
- });
168
-
169
- // If all the selected state is false remove from array
170
- var shouldRemoveFromArray = filtersObjectArrayCopy[index].value.every(function (val) {
171
- return val.selected === false;
172
- });
173
- if (shouldRemoveFromArray) {
174
- filtersObjectArrayCopy.splice(index, 1);
175
- }
176
- } else if (type === _constants.DATE) {
177
- if (value.length === 0) {
178
- /**
179
- Checks to see if the date value is an empty array, if it is that means the user wants
180
- to reset the date filter
181
- */
182
- var _index = filtersObjectArrayCopy.findIndex(function (filter) {
183
- return filter.id === column;
184
- });
185
-
186
- // Remove it from the filters array since there is nothing to filter
187
- filtersObjectArrayCopy.splice(_index, 1);
188
- }
189
- }
190
- setFiltersObjectArray(filtersObjectArrayCopy);
191
-
192
- // // Automatically apply the filters if the updateMethod is instant
193
- if (updateMethod === _constants.INSTANT) {
194
- setAllFilters(filtersObjectArrayCopy);
195
- }
196
- };
197
-
198
- /** Render the individual filter component */
199
- var renderFilter = function renderFilter(_ref3) {
200
- var type = _ref3.type,
201
- column = _ref3.column,
202
- components = _ref3.props;
203
- switch (type) {
204
- case _constants.DATE:
205
- return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.DatePicker, (0, _extends2.default)({}, components.DatePicker, {
206
- onChange: function onChange(value) {
207
- var _components$DatePicke, _components$DatePicke2;
208
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
209
- value: value,
210
- type: type
211
- })));
212
- applyFilters({
213
- column: column,
214
- value: value,
215
- type: type
216
- });
217
- (_components$DatePicke = (_components$DatePicke2 = components.DatePicker).onChange) === null || _components$DatePicke === void 0 ? void 0 : _components$DatePicke.call(_components$DatePicke2, value);
218
- },
219
- value: filtersState[column].value,
220
- datePickerType: "range",
221
- light: true
222
- }), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.DatePickerInput, (0, _extends2.default)({
223
- placeholder: "mm/dd/yyyy",
224
- labelText: "Start date"
225
- }, components.DatePickerInput.start)), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.DatePickerInput, (0, _extends2.default)({
226
- placeholder: "mm/dd/yyyy",
227
- labelText: "End date"
228
- }, components.DatePickerInput.end)));
229
- case _constants.NUMBER:
230
- return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.NumberInput, (0, _extends2.default)({
231
- step: 1,
232
- allowEmpty: true,
233
- hideSteppers: true
234
- }, components.NumberInput, {
235
- onChange: function onChange(event) {
236
- var _components$NumberInp, _components$NumberInp2;
237
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
238
- value: event.target.value,
239
- type: type
240
- })));
241
- applyFilters({
242
- column: column,
243
- value: event.target.value,
244
- type: type
245
- });
246
- (_components$NumberInp = (_components$NumberInp2 = components.NumberInput).onChange) === null || _components$NumberInp === void 0 ? void 0 : _components$NumberInp.call(_components$NumberInp2, event);
247
- },
248
- value: filtersState[column].value,
249
- light: true
250
- }));
251
- case _constants.CHECKBOX:
252
- return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.FormGroup, components.FormGroup, filtersState[column].value.map(function (option) {
253
- return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Checkbox, (0, _extends2.default)({
254
- key: option.labelText
255
- }, option, {
256
- onChange: function onChange(isSelected) {
257
- var _option$onChange;
258
- var checkboxCopy = filtersState[column].value;
259
- var foundCheckbox = checkboxCopy.find(function (checkbox) {
260
- return checkbox.value === option.value;
261
- });
262
- foundCheckbox.selected = isSelected;
263
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
264
- value: checkboxCopy,
265
- type: type
266
- })));
267
- applyFilters({
268
- column: column,
269
- value: (0, _toConsumableArray2.default)(filtersState[column].value),
270
- type: type
271
- });
272
- (_option$onChange = option.onChange) === null || _option$onChange === void 0 ? void 0 : _option$onChange.call(option, isSelected);
273
- },
274
- checked: option.selected
275
- }));
276
- }));
277
- case _constants.RADIO:
278
- return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.FormGroup, components.FormGroup, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.RadioButtonGroup, (0, _extends2.default)({}, components.RadioButtonGroup, {
279
- valueSelected: filtersState[column].value,
280
- onChange: function onChange(selected) {
281
- var _components$RadioButt, _components$RadioButt2;
282
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
283
- value: selected,
284
- type: type
285
- })));
286
- applyFilters({
287
- column: column,
288
- value: selected,
289
- type: type
290
- });
291
- (_components$RadioButt = (_components$RadioButt2 = components.RadioButtonGroup).onChange) === null || _components$RadioButt === void 0 ? void 0 : _components$RadioButt.call(_components$RadioButt2, selected);
292
- }
293
- }), components.RadioButton.map(function (radio) {
294
- var _ref4, _radio$id;
295
- return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.RadioButton, (0, _extends2.default)({
296
- key: (_ref4 = (_radio$id = radio.id) !== null && _radio$id !== void 0 ? _radio$id : radio.labelText) !== null && _ref4 !== void 0 ? _ref4 : radio.value
297
- }, radio));
298
- })));
299
- case _constants.DROPDOWN:
300
- return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Dropdown, (0, _extends2.default)({}, components.Dropdown, {
301
- selectedItem: filtersState[column].value,
302
- onChange: function onChange(_ref5) {
303
- var _components$Dropdown$, _components$Dropdown;
304
- var selectedItem = _ref5.selectedItem;
305
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
306
- value: selectedItem,
307
- type: type
308
- })));
309
- applyFilters({
310
- column: column,
311
- value: selectedItem,
312
- type: type
313
- });
314
- (_components$Dropdown$ = (_components$Dropdown = components.Dropdown).onChange) === null || _components$Dropdown$ === void 0 ? void 0 : _components$Dropdown$.call(_components$Dropdown, selectedItem);
315
- },
316
- light: true
317
- }));
318
- }
319
- };
320
128
  var renderActionSet = function renderActionSet() {
321
129
  return showActionSet && /*#__PURE__*/_react.default.createElement(MotionActionSet, {
322
130
  actions: [{
@@ -347,19 +155,16 @@ var FilterPanel = function FilterPanel(_ref) {
347
155
 
348
156
  /** Effects */
349
157
  (0, _react.useEffect)(function liftOpenStateToParent() {
350
- if (leftPanelOpen) {
351
- onPanelOpen(leftPanelOpen);
158
+ if (panelOpen) {
159
+ onPanelOpen(panelOpen);
352
160
  } else {
353
- onPanelClose(leftPanelOpen);
161
+ onPanelClose(panelOpen);
354
162
  }
355
- }, [leftPanelOpen, onPanelClose, onPanelOpen]);
163
+ }, [panelOpen, onPanelClose, onPanelOpen]);
356
164
  (0, _react.useEffect)(function setPanelMinimumHeight() {
357
165
  var _filterPanelRef$curre;
358
166
  (_filterPanelRef$curre = filterPanelRef.current) === null || _filterPanelRef$curre === void 0 ? void 0 : _filterPanelRef$curre.style.setProperty('--filter-panel-min-height', (0, _layout.rem)(filterPanelMinHeight));
359
167
  }, [filterPanelMinHeight]);
360
- (0, _react.useEffect)(function updateDisabledButtonsState() {
361
- setShouldDisableButtons((0, _isEqual.default)(filtersState, JSON.parse(prevFiltersRef.current)));
362
- }, [filtersState]);
363
168
  (0, _hooks.useSubscribeToEventEmitter)(_constants.CLEAR_FILTERS, reset);
364
169
  var getScrollableContainerHeight = function getScrollableContainerHeight() {
365
170
  var _filterHeadingRef$cur, _filterSearchRef$curr, _actionSetRef$current;
@@ -371,9 +176,9 @@ var FilterPanel = function FilterPanel(_ref) {
371
176
  };
372
177
  return /*#__PURE__*/_react.default.createElement(_framerMotion.motion.div, {
373
178
  ref: filterPanelRef,
374
- className: (0, _classnames.default)(componentClass, "".concat(componentClass, "__container"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(componentClass, "--open"), leftPanelOpen), (0, _defineProperty2.default)(_cx, "".concat(componentClass, "--batch"), showActionSet), (0, _defineProperty2.default)(_cx, "".concat(componentClass, "--instant"), !showActionSet), _cx)),
179
+ className: (0, _classnames.default)(componentClass, "".concat(componentClass, "__container"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(componentClass, "--open"), panelOpen), (0, _defineProperty2.default)(_cx, "".concat(componentClass, "--batch"), showActionSet), (0, _defineProperty2.default)(_cx, "".concat(componentClass, "--instant"), !showActionSet), _cx)),
375
180
  initial: false,
376
- animate: leftPanelOpen ? 'visible' : 'hidden',
181
+ animate: panelOpen ? 'visible' : 'hidden',
377
182
  variants: _variants.panelVariants
378
183
  }, /*#__PURE__*/_react.default.createElement(_framerMotion.motion.div, {
379
184
  variants: _variants.innerContainerVariants
@@ -404,25 +209,25 @@ var FilterPanel = function FilterPanel(_ref) {
404
209
  height: getScrollableContainerHeight()
405
210
  },
406
211
  onScroll: onInnerContainerScroll
407
- }, filterSections.map(function (_ref6) {
408
- var _ref6$categoryTitle = _ref6.categoryTitle,
409
- categoryTitle = _ref6$categoryTitle === void 0 ? null : _ref6$categoryTitle,
410
- _ref6$filters = _ref6.filters,
411
- filters = _ref6$filters === void 0 ? [] : _ref6$filters,
412
- hasAccordion = _ref6.hasAccordion;
212
+ }, filterSections.map(function (_ref2) {
213
+ var _ref2$categoryTitle = _ref2.categoryTitle,
214
+ categoryTitle = _ref2$categoryTitle === void 0 ? null : _ref2$categoryTitle,
215
+ _ref2$filters = _ref2.filters,
216
+ filters = _ref2$filters === void 0 ? [] : _ref2$filters,
217
+ hasAccordion = _ref2.hasAccordion;
413
218
  return /*#__PURE__*/_react.default.createElement("div", {
414
219
  className: "".concat(componentClass, "__category")
415
220
  }, categoryTitle && /*#__PURE__*/_react.default.createElement("div", {
416
221
  className: "".concat(componentClass, "__category-title")
417
- }, categoryTitle), hasAccordion ? /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Accordion, null, filters.map(function (_ref7) {
418
- var filterLabel = _ref7.filterLabel,
419
- filter = _ref7.filter;
222
+ }, categoryTitle), hasAccordion ? /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Accordion, null, filters.map(function (_ref3) {
223
+ var filterLabel = _ref3.filterLabel,
224
+ filter = _ref3.filter;
420
225
  return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.AccordionItem, {
421
226
  title: filterLabel,
422
227
  key: filterLabel
423
228
  }, renderFilter(filter));
424
- })) : filters.map(function (_ref8) {
425
- var filter = _ref8.filter;
229
+ })) : filters.map(function (_ref4) {
230
+ var filter = _ref4.filter;
426
231
  return renderFilter(filter);
427
232
  }));
428
233
  })), renderActionSet()));
@@ -77,13 +77,13 @@ var FilterProvider = function FilterProvider(_ref2) {
77
77
  var filterTags = prepareFiltersForTags(filters);
78
78
  var _useState = (0, _react.useState)(false),
79
79
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
80
- leftPanelOpen = _useState2[0],
81
- setLeftPanelOpen = _useState2[1];
80
+ panelOpen = _useState2[0],
81
+ setPanelOpen = _useState2[1];
82
82
  var value = {
83
83
  filterTags: filterTags,
84
84
  EventEmitter: EventEmitter,
85
- leftPanelOpen: leftPanelOpen,
86
- setLeftPanelOpen: setLeftPanelOpen
85
+ panelOpen: panelOpen,
86
+ setPanelOpen: setPanelOpen
87
87
  };
88
88
  return /*#__PURE__*/_react.default.createElement(FilterContext.Provider, {
89
89
  value: value
@@ -4,12 +4,24 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ Object.defineProperty(exports, "useFilters", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _useFilters.default;
11
+ }
12
+ });
7
13
  Object.defineProperty(exports, "useInitialStateFromFilters", {
8
14
  enumerable: true,
9
15
  get: function get() {
10
16
  return _useInitialStateFromFilters.default;
11
17
  }
12
18
  });
19
+ Object.defineProperty(exports, "useShouldDisableButtons", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _useShouldDisableButtons.default;
23
+ }
24
+ });
13
25
  Object.defineProperty(exports, "useSubscribeToEventEmitter", {
14
26
  enumerable: true,
15
27
  get: function get() {
@@ -17,4 +29,6 @@ Object.defineProperty(exports, "useSubscribeToEventEmitter", {
17
29
  }
18
30
  });
19
31
  var _useInitialStateFromFilters = _interopRequireDefault(require("./useInitialStateFromFilters"));
20
- var _useSubscribeToEventEmitter = _interopRequireDefault(require("./useSubscribeToEventEmitter"));
32
+ var _useSubscribeToEventEmitter = _interopRequireDefault(require("./useSubscribeToEventEmitter"));
33
+ var _useShouldDisableButtons = _interopRequireDefault(require("./useShouldDisableButtons"));
34
+ var _useFilters = _interopRequireDefault(require("./useFilters"));