@carbon/ibm-products 2.0.0-rc.20 → 2.0.0-rc.21

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 (32) hide show
  1. package/README.md +17 -0
  2. package/css/index-full-carbon.css +12 -6
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +4 -2
  5. package/css/index-full-carbon.min.css.map +1 -1
  6. package/css/index-without-carbon.css +12 -6
  7. package/css/index-without-carbon.css.map +1 -1
  8. package/css/index-without-carbon.min.css +4 -2
  9. package/css/index-without-carbon.min.css.map +1 -1
  10. package/css/index.css +12 -6
  11. package/css/index.css.map +1 -1
  12. package/css/index.min.css +4 -2
  13. package/css/index.min.css.map +1 -1
  14. package/es/components/Datagrid/Datagrid/DatagridContent.js +2 -2
  15. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +19 -247
  16. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +41 -285
  17. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +4 -4
  18. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +1 -0
  19. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +310 -0
  20. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +6 -6
  21. package/es/components/Datagrid/utils/DatagridActions.js +2 -2
  22. package/lib/components/Datagrid/Datagrid/DatagridContent.js +2 -2
  23. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +22 -243
  24. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +47 -284
  25. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +4 -4
  26. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +8 -0
  27. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +325 -0
  28. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +5 -5
  29. package/lib/components/Datagrid/utils/DatagridActions.js +2 -2
  30. package/package.json +2 -2
  31. package/scss/components/Datagrid/styles/_datagrid.scss +2 -4
  32. package/scss/components/OptionsTile/_options-tile.scss +10 -3
@@ -13,8 +13,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
13
 
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
15
 
16
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
-
18
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
17
 
20
18
  var _react = _interopRequireWildcard(require("react"));
@@ -39,20 +37,22 @@ var _icons = require("@carbon/react/icons");
39
37
 
40
38
  var _ActionSet = require("../../../../ActionSet");
41
39
 
42
- var _2 = require(".");
40
+ var _ = require(".");
43
41
 
44
42
  var _hooks = require("./hooks");
45
43
 
46
- var _utils = require("./utils");
47
-
48
44
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
49
45
 
50
46
  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; }
51
47
 
52
- 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; }
53
-
54
- 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; }
48
+ /**
49
+ * Copyright IBM Corp. 2022, 2023
50
+ *
51
+ * This source code is licensed under the Apache-2.0 license found in the
52
+ * LICENSE file in the root directory of this source tree.
53
+ */
55
54
 
55
+ /* eslint-disable react/jsx-key */
56
56
  var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
57
57
  var componentClass = "".concat(blockClass, "-filter-panel");
58
58
  var MotionActionSet = (0, _framerMotion.motion)(_ActionSet.ActionSet);
@@ -90,30 +90,31 @@ var FilterPanel = function FilterPanel(_ref) {
90
90
  searchPlaceholder = _ref$searchPlaceholde === void 0 ? 'Find filters' : _ref$searchPlaceholde;
91
91
 
92
92
  /** State */
93
- var _useInitialStateFromF = (0, _hooks.useInitialStateFromFilters)(filterSections, _constants.PANEL),
94
- _useInitialStateFromF2 = (0, _slicedToArray2.default)(_useInitialStateFromF, 2),
95
- filtersState = _useInitialStateFromF2[0],
96
- setFiltersState = _useInitialStateFromF2[1];
97
-
98
- var _useState = (0, _react.useState)([]),
93
+ var _useState = (0, _react.useState)(false),
99
94
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
100
- filtersObjectArray = _useState2[0],
101
- setFiltersObjectArray = _useState2[1];
102
-
103
- var _useState3 = (0, _react.useState)(false),
104
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
105
- showDividerLine = _useState4[0],
106
- setShowDividerLine = _useState4[1];
95
+ showDividerLine = _useState2[0],
96
+ setShowDividerLine = _useState2[1];
97
+
98
+ var _useFilters = (0, _hooks.useFilters)({
99
+ updateMethod: updateMethod,
100
+ filters: filterSections,
101
+ setAllFilters: setAllFilters,
102
+ variation: _constants.PANEL
103
+ }),
104
+ filtersState = _useFilters.filtersState,
105
+ prevFiltersObjectArrayRef = _useFilters.prevFiltersObjectArrayRef,
106
+ prevFiltersRef = _useFilters.prevFiltersRef,
107
+ revertToPreviousFilters = _useFilters.revertToPreviousFilters,
108
+ reset = _useFilters.reset,
109
+ renderFilter = _useFilters.renderFilter,
110
+ filtersObjectArray = _useFilters.filtersObjectArray;
107
111
  /** Refs */
108
112
 
109
113
 
110
114
  var filterPanelRef = (0, _react.useRef)();
111
115
  var filterHeadingRef = (0, _react.useRef)();
112
116
  var filterSearchRef = (0, _react.useRef)();
113
- var actionSetRef = (0, _react.useRef)(); // When using batch actions we have to store the filters to then apply them later
114
-
115
- var prevFiltersRef = (0, _react.useRef)(JSON.stringify(filtersState));
116
- var prevFiltersObjectArrayRef = (0, _react.useRef)(JSON.stringify(filtersObjectArray));
117
+ var actionSetRef = (0, _react.useRef)();
117
118
  /** State from hooks */
118
119
 
119
120
  var _useShouldDisableButt = (0, _hooks.useShouldDisableButtons)({
@@ -132,21 +133,14 @@ var FilterPanel = function FilterPanel(_ref) {
132
133
  }, [updateMethod]);
133
134
  /** Context */
134
135
 
135
- var _useContext = (0, _react.useContext)(_2.FilterContext),
136
- leftPanelOpen = _useContext.leftPanelOpen,
137
- setLeftPanelOpen = _useContext.setLeftPanelOpen;
136
+ var _useContext = (0, _react.useContext)(_.FilterContext),
137
+ panelOpen = _useContext.panelOpen,
138
+ setPanelOpen = _useContext.setPanelOpen;
138
139
  /** Methods */
139
140
 
140
141
 
141
142
  var closePanel = function closePanel() {
142
- return setLeftPanelOpen(false);
143
- }; // If the user decides to cancel or click outside the flyout, it reverts back to the filters that were
144
- // there when they opened the flyout
145
-
146
-
147
- var revertToPreviousFilters = function revertToPreviousFilters() {
148
- setFiltersState(JSON.parse(prevFiltersRef.current));
149
- setFiltersObjectArray(JSON.parse(prevFiltersObjectArrayRef.current));
143
+ return setPanelOpen(false);
150
144
  };
151
145
 
152
146
  var cancel = function cancel() {
@@ -157,19 +151,6 @@ var FilterPanel = function FilterPanel(_ref) {
157
151
  }
158
152
  };
159
153
 
160
- var reset = function reset() {
161
- // Get the initial values for the filters
162
- var initialFiltersState = (0, _utils.getInitialStateFromFilters)(filterSections, _constants.PANEL);
163
- var initialFiltersObjectArray = []; // Set the state to the initial values
164
-
165
- setFiltersState(initialFiltersState);
166
- setFiltersObjectArray(initialFiltersObjectArray);
167
- setAllFilters([]); // Update their respective refs so everything is in sync
168
-
169
- prevFiltersRef.current = JSON.stringify(initialFiltersState);
170
- prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
171
- };
172
-
173
154
  var apply = function apply() {
174
155
  setAllFilters(filtersObjectArray); // From the user
175
156
 
@@ -181,224 +162,6 @@ var FilterPanel = function FilterPanel(_ref) {
181
162
  prevFiltersObjectArrayRef.current = JSON.stringify(filtersObjectArray);
182
163
  };
183
164
 
184
- var applyFilters = function applyFilters(_ref2) {
185
- var column = _ref2.column,
186
- value = _ref2.value,
187
- type = _ref2.type;
188
-
189
- // If no end date is selected return because we need the end date to do computations
190
- if (type === _constants.DATE && value.length > 0 && !value[1]) {
191
- return;
192
- }
193
-
194
- var filtersObjectArrayCopy = (0, _toConsumableArray2.default)(filtersObjectArray); // // check if the filter already exists in the array
195
-
196
- var filter = filtersObjectArrayCopy.find(function (item) {
197
- return item.id === column;
198
- }); // // if filter exists in array then update the filter's new value
199
-
200
- if (filter) {
201
- filter.value = value;
202
- } else {
203
- filtersObjectArrayCopy.push({
204
- id: column,
205
- value: value,
206
- type: type
207
- });
208
- } // ATTENTION: this is where you would reset or remove individual filters from the filters array
209
-
210
-
211
- if (type === _constants.CHECKBOX) {
212
- /**
213
- When all checkboxes of a group are all unselected the value still exists in the filtersObjectArray
214
- This checks if all the checkboxes are selected = false and removes it from the array
215
- */
216
- var index = filtersObjectArrayCopy.findIndex(function (filter) {
217
- return filter.id === column;
218
- }); // If all the selected state is false remove from array
219
-
220
- var shouldRemoveFromArray = filtersObjectArrayCopy[index].value.every(function (val) {
221
- return val.selected === false;
222
- });
223
-
224
- if (shouldRemoveFromArray) {
225
- filtersObjectArrayCopy.splice(index, 1);
226
- }
227
- } else if (type === _constants.DATE) {
228
- if (value.length === 0) {
229
- /**
230
- Checks to see if the date value is an empty array, if it is that means the user wants
231
- to reset the date filter
232
- */
233
- var _index = filtersObjectArrayCopy.findIndex(function (filter) {
234
- return filter.id === column;
235
- }); // Remove it from the filters array since there is nothing to filter
236
-
237
-
238
- filtersObjectArrayCopy.splice(_index, 1);
239
- }
240
- } else if (type === _constants.DROPDOWN || type === _constants.RADIO) {
241
- if (value === 'Any') {
242
- /**
243
- Checks to see if the selected value is 'Any', that means the user wants
244
- to reset specific filter
245
- */
246
- var _index2 = filtersObjectArrayCopy.findIndex(function (filter) {
247
- return filter.id === column;
248
- }); // Remove it from the filters array
249
-
250
-
251
- filtersObjectArrayCopy.splice(_index2, 1);
252
- }
253
- }
254
-
255
- setFiltersObjectArray(filtersObjectArrayCopy); // // Automatically apply the filters if the updateMethod is instant
256
-
257
- if (updateMethod === _constants.INSTANT) {
258
- setAllFilters(filtersObjectArrayCopy);
259
- }
260
- };
261
- /** Render the individual filter component */
262
-
263
-
264
- var renderFilter = function renderFilter(_ref3) {
265
- var _filtersState$column, _filtersState$column2, _filtersState$column3, _filtersState$column4;
266
-
267
- var type = _ref3.type,
268
- column = _ref3.column,
269
- components = _ref3.props;
270
-
271
- switch (type) {
272
- case _constants.DATE:
273
- return /*#__PURE__*/_react.default.createElement(_react2.Layer, null, /*#__PURE__*/_react.default.createElement(_react2.DatePicker, (0, _extends2.default)({}, components.DatePicker, {
274
- onChange: function onChange(value) {
275
- var _components$DatePicke, _components$DatePicke2;
276
-
277
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
278
- value: value,
279
- type: type
280
- })));
281
- applyFilters({
282
- column: column,
283
- value: value,
284
- type: type
285
- });
286
- (_components$DatePicke = (_components$DatePicke2 = components.DatePicker).onChange) === null || _components$DatePicke === void 0 ? void 0 : _components$DatePicke.call(_components$DatePicke2, value);
287
- },
288
- value: filtersState[column].value,
289
- datePickerType: "range"
290
- }), /*#__PURE__*/_react.default.createElement(_react2.DatePickerInput, (0, _extends2.default)({
291
- placeholder: "mm/dd/yyyy",
292
- labelText: "Start date"
293
- }, components.DatePickerInput.start)), /*#__PURE__*/_react.default.createElement(_react2.DatePickerInput, (0, _extends2.default)({
294
- placeholder: "mm/dd/yyyy",
295
- labelText: "End date"
296
- }, components.DatePickerInput.end))));
297
-
298
- case _constants.NUMBER:
299
- return /*#__PURE__*/_react.default.createElement(_react2.Layer, null, /*#__PURE__*/_react.default.createElement(_react2.NumberInput, (0, _extends2.default)({
300
- step: 1,
301
- allowEmpty: true,
302
- hideSteppers: true
303
- }, components.NumberInput, {
304
- onChange: function onChange(event) {
305
- var _components$NumberInp, _components$NumberInp2;
306
-
307
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
308
- value: event.target.value,
309
- type: type
310
- })));
311
- applyFilters({
312
- column: column,
313
- value: event.target.value,
314
- type: type
315
- });
316
- (_components$NumberInp = (_components$NumberInp2 = components.NumberInput).onChange) === null || _components$NumberInp === void 0 ? void 0 : _components$NumberInp.call(_components$NumberInp2, event);
317
- },
318
- value: filtersState[column].value
319
- })));
320
-
321
- case _constants.CHECKBOX:
322
- return /*#__PURE__*/_react.default.createElement(_react2.FormGroup, components.FormGroup, filtersState[column].value.map(function (option) {
323
- return /*#__PURE__*/_react.default.createElement(_react2.Checkbox, (0, _extends2.default)({
324
- key: option.labelText
325
- }, option, {
326
- onChange: function onChange(_, _ref4) {
327
- var _option$onChange;
328
-
329
- var isSelected = _ref4.checked;
330
- var checkboxCopy = filtersState[column].value;
331
- var foundCheckbox = checkboxCopy.find(function (checkbox) {
332
- return checkbox.value === option.value;
333
- });
334
- foundCheckbox.selected = isSelected;
335
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
336
- value: checkboxCopy,
337
- type: type
338
- })));
339
- applyFilters({
340
- column: column,
341
- value: (0, _toConsumableArray2.default)(filtersState[column].value),
342
- type: type
343
- });
344
- (_option$onChange = option.onChange) === null || _option$onChange === void 0 ? void 0 : _option$onChange.call(option, isSelected);
345
- },
346
- checked: option.selected
347
- }));
348
- }));
349
-
350
- case _constants.RADIO:
351
- return /*#__PURE__*/_react.default.createElement(_react2.FormGroup, components.FormGroup, /*#__PURE__*/_react.default.createElement(_react2.RadioButtonGroup, (0, _extends2.default)({}, components.RadioButtonGroup, {
352
- valueSelected: ((_filtersState$column = filtersState[column]) === null || _filtersState$column === void 0 ? void 0 : _filtersState$column.value) === '' ? 'Any' : (_filtersState$column2 = filtersState[column]) === null || _filtersState$column2 === void 0 ? void 0 : _filtersState$column2.value,
353
- onChange: function onChange(selected) {
354
- var _components$RadioButt, _components$RadioButt2;
355
-
356
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
357
- value: selected,
358
- type: type
359
- })));
360
- applyFilters({
361
- column: column,
362
- value: selected,
363
- type: type
364
- });
365
- (_components$RadioButt = (_components$RadioButt2 = components.RadioButtonGroup).onChange) === null || _components$RadioButt === void 0 ? void 0 : _components$RadioButt.call(_components$RadioButt2, selected);
366
- }
367
- }), /*#__PURE__*/_react.default.createElement(_react2.RadioButton, {
368
- id: "any",
369
- labelText: "Any",
370
- value: "Any"
371
- }), components.RadioButton.map(function (radio) {
372
- var _ref5, _radio$id;
373
-
374
- return /*#__PURE__*/_react.default.createElement(_react2.RadioButton, (0, _extends2.default)({
375
- key: (_ref5 = (_radio$id = radio.id) !== null && _radio$id !== void 0 ? _radio$id : radio.labelText) !== null && _ref5 !== void 0 ? _ref5 : radio.value
376
- }, radio));
377
- })));
378
-
379
- case _constants.DROPDOWN:
380
- return /*#__PURE__*/_react.default.createElement(_react2.Layer, null, /*#__PURE__*/_react.default.createElement(_react2.Dropdown, (0, _extends2.default)({}, components.Dropdown, {
381
- selectedItem: ((_filtersState$column3 = filtersState[column]) === null || _filtersState$column3 === void 0 ? void 0 : _filtersState$column3.value) === '' ? 'Any' : (_filtersState$column4 = filtersState[column]) === null || _filtersState$column4 === void 0 ? void 0 : _filtersState$column4.value,
382
- items: ['Any'].concat((0, _toConsumableArray2.default)(components.Dropdown.items)),
383
- onChange: function onChange(_ref6) {
384
- var _components$Dropdown$, _components$Dropdown;
385
-
386
- var selectedItem = _ref6.selectedItem;
387
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
388
- value: selectedItem,
389
- type: type
390
- })));
391
- applyFilters({
392
- column: column,
393
- value: selectedItem,
394
- type: type
395
- });
396
- (_components$Dropdown$ = (_components$Dropdown = components.Dropdown).onChange) === null || _components$Dropdown$ === void 0 ? void 0 : _components$Dropdown$.call(_components$Dropdown, selectedItem);
397
- }
398
- })));
399
- }
400
- };
401
-
402
165
  var renderActionSet = function renderActionSet() {
403
166
  return showActionSet && /*#__PURE__*/_react.default.createElement(MotionActionSet, {
404
167
  actions: [{
@@ -431,12 +194,12 @@ var FilterPanel = function FilterPanel(_ref) {
431
194
 
432
195
 
433
196
  (0, _react.useEffect)(function liftOpenStateToParent() {
434
- if (leftPanelOpen) {
435
- onPanelOpen(leftPanelOpen);
197
+ if (panelOpen) {
198
+ onPanelOpen(panelOpen);
436
199
  } else {
437
- onPanelClose(leftPanelOpen);
200
+ onPanelClose(panelOpen);
438
201
  }
439
- }, [leftPanelOpen, onPanelClose, onPanelOpen]);
202
+ }, [panelOpen, onPanelClose, onPanelOpen]);
440
203
  (0, _react.useEffect)(function setPanelMinimumHeight() {
441
204
  var _filterPanelRef$curre;
442
205
 
@@ -456,9 +219,9 @@ var FilterPanel = function FilterPanel(_ref) {
456
219
 
457
220
  return /*#__PURE__*/_react.default.createElement(_framerMotion.motion.div, {
458
221
  ref: filterPanelRef,
459
- 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)),
222
+ 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)),
460
223
  initial: false,
461
- animate: leftPanelOpen ? 'visible' : 'hidden',
224
+ animate: panelOpen ? 'visible' : 'hidden',
462
225
  variants: _variants.panelVariants
463
226
  }, /*#__PURE__*/_react.default.createElement(_framerMotion.motion.div, {
464
227
  variants: _variants.innerContainerVariants
@@ -492,25 +255,25 @@ var FilterPanel = function FilterPanel(_ref) {
492
255
  height: getScrollableContainerHeight()
493
256
  },
494
257
  onScroll: onInnerContainerScroll
495
- }, filterSections.map(function (_ref7) {
496
- var _ref7$categoryTitle = _ref7.categoryTitle,
497
- categoryTitle = _ref7$categoryTitle === void 0 ? null : _ref7$categoryTitle,
498
- _ref7$filters = _ref7.filters,
499
- filters = _ref7$filters === void 0 ? [] : _ref7$filters,
500
- hasAccordion = _ref7.hasAccordion;
258
+ }, filterSections.map(function (_ref2) {
259
+ var _ref2$categoryTitle = _ref2.categoryTitle,
260
+ categoryTitle = _ref2$categoryTitle === void 0 ? null : _ref2$categoryTitle,
261
+ _ref2$filters = _ref2.filters,
262
+ filters = _ref2$filters === void 0 ? [] : _ref2$filters,
263
+ hasAccordion = _ref2.hasAccordion;
501
264
  return /*#__PURE__*/_react.default.createElement("div", {
502
265
  className: "".concat(componentClass, "__category")
503
266
  }, categoryTitle && /*#__PURE__*/_react.default.createElement("div", {
504
267
  className: "".concat(componentClass, "__category-title")
505
- }, categoryTitle), hasAccordion ? /*#__PURE__*/_react.default.createElement(_react2.Accordion, null, filters.map(function (_ref8) {
506
- var filterLabel = _ref8.filterLabel,
507
- filter = _ref8.filter;
268
+ }, categoryTitle), hasAccordion ? /*#__PURE__*/_react.default.createElement(_react2.Accordion, null, filters.map(function (_ref3) {
269
+ var filterLabel = _ref3.filterLabel,
270
+ filter = _ref3.filter;
508
271
  return /*#__PURE__*/_react.default.createElement(_react2.AccordionItem, {
509
272
  title: filterLabel,
510
273
  key: filterLabel
511
274
  }, renderFilter(filter));
512
- })) : filters.map(function (_ref9) {
513
- var filter = _ref9.filter;
275
+ })) : filters.map(function (_ref4) {
276
+ var filter = _ref4.filter;
514
277
  return renderFilter(filter);
515
278
  }));
516
279
  })), renderActionSet()));
@@ -91,14 +91,14 @@ var FilterProvider = function FilterProvider(_ref2) {
91
91
 
92
92
  var _useState = (0, _react.useState)(false),
93
93
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
94
- leftPanelOpen = _useState2[0],
95
- setLeftPanelOpen = _useState2[1];
94
+ panelOpen = _useState2[0],
95
+ setPanelOpen = _useState2[1];
96
96
 
97
97
  var value = {
98
98
  filterTags: filterTags,
99
99
  EventEmitter: EventEmitter,
100
- leftPanelOpen: leftPanelOpen,
101
- setLeftPanelOpen: setLeftPanelOpen
100
+ panelOpen: panelOpen,
101
+ setPanelOpen: setPanelOpen
102
102
  };
103
103
  return /*#__PURE__*/_react.default.createElement(FilterContext.Provider, {
104
104
  value: value
@@ -5,6 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ Object.defineProperty(exports, "useFilters", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _useFilters.default;
12
+ }
13
+ });
8
14
  Object.defineProperty(exports, "useInitialStateFromFilters", {
9
15
  enumerable: true,
10
16
  get: function get() {
@@ -28,4 +34,6 @@ var _useInitialStateFromFilters = _interopRequireDefault(require("./useInitialSt
28
34
 
29
35
  var _useSubscribeToEventEmitter = _interopRequireDefault(require("./useSubscribeToEventEmitter"));
30
36
 
37
+ var _useFilters = _interopRequireDefault(require("./useFilters"));
38
+
31
39
  var _useShouldDisableButtons = _interopRequireDefault(require("./useShouldDisableButtons"));