@carbon/ibm-products 1.44.1 → 1.46.0

Sign up to get free protection for your applications and to get access to all the features.
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"));