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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. package/README.md +17 -0
  2. package/css/index-full-carbon.css +4933 -3007
  3. package/css/index-full-carbon.css.map +1 -1
  4. package/css/index-full-carbon.min.css +6 -4
  5. package/css/index-full-carbon.min.css.map +1 -1
  6. package/css/index-without-carbon-released-only.css +59 -32
  7. package/css/index-without-carbon-released-only.css.map +1 -1
  8. package/css/index-without-carbon-released-only.min.css +3 -3
  9. package/css/index-without-carbon-released-only.min.css.map +1 -1
  10. package/css/index-without-carbon.css +121 -63
  11. package/css/index-without-carbon.css.map +1 -1
  12. package/css/index-without-carbon.min.css +6 -4
  13. package/css/index-without-carbon.min.css.map +1 -1
  14. package/css/index.css +280 -101
  15. package/css/index.css.map +1 -1
  16. package/css/index.min.css +6 -4
  17. package/css/index.min.css.map +1 -1
  18. package/es/components/Card/CardFooter.js +2 -2
  19. package/es/components/Datagrid/Datagrid/DatagridContent.js +2 -2
  20. package/es/components/Datagrid/Datagrid/DatagridRow.js +42 -11
  21. package/es/components/Datagrid/Datagrid/DatagridSelectAll.js +20 -4
  22. package/es/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +18 -2
  23. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +19 -247
  24. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +41 -285
  25. package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +4 -4
  26. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +1 -0
  27. package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +310 -0
  28. package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +6 -6
  29. package/es/components/Datagrid/useActionsColumn.js +29 -1
  30. package/es/components/Datagrid/useDefaultStringRenderer.js +1 -1
  31. package/es/components/Datagrid/useNestedRows.js +2 -4
  32. package/es/components/Datagrid/useSelectAllToggle.js +18 -2
  33. package/es/components/Datagrid/useSelectRows.js +19 -2
  34. package/es/components/Datagrid/useStickyColumn.js +22 -5
  35. package/es/components/Datagrid/utils/DatagridActions.js +2 -2
  36. package/lib/components/Card/CardFooter.js +2 -2
  37. package/lib/components/Datagrid/Datagrid/DatagridContent.js +2 -2
  38. package/lib/components/Datagrid/Datagrid/DatagridRow.js +42 -11
  39. package/lib/components/Datagrid/Datagrid/DatagridSelectAll.js +27 -3
  40. package/lib/components/Datagrid/Datagrid/DatagridSelectAllWithToggle.js +17 -1
  41. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +22 -243
  42. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +47 -284
  43. package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +4 -4
  44. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +8 -0
  45. package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +325 -0
  46. package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +5 -5
  47. package/lib/components/Datagrid/useActionsColumn.js +30 -1
  48. package/lib/components/Datagrid/useDefaultStringRenderer.js +1 -1
  49. package/lib/components/Datagrid/useNestedRows.js +2 -4
  50. package/lib/components/Datagrid/useSelectAllToggle.js +25 -2
  51. package/lib/components/Datagrid/useSelectRows.js +26 -2
  52. package/lib/components/Datagrid/useStickyColumn.js +22 -4
  53. package/lib/components/Datagrid/utils/DatagridActions.js +2 -2
  54. package/package.json +8 -8
  55. package/scss/components/Datagrid/styles/_datagrid.scss +27 -7
  56. package/scss/components/Datagrid/styles/_useNestedRows.scss +19 -0
  57. package/scss/components/Datagrid/styles/_useSelectAllToggle.scss +12 -8
  58. package/scss/components/Datagrid/styles/_useStickyColumn.scss +3 -3
  59. package/scss/components/OptionsTile/_options-tile.scss +10 -3
@@ -1,12 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
4
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
4
 
6
- 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; }
7
-
8
- 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) { _defineProperty(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; }
9
-
10
5
  /**
11
6
  * Copyright IBM Corp. 2022, 2023
12
7
  *
@@ -17,18 +12,17 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
17
12
  /* eslint-disable react/jsx-key */
18
13
  import React, { useRef, useMemo, useContext, useState, useEffect } from 'react';
19
14
  import PropTypes from 'prop-types';
20
- import { Accordion, AccordionItem, Button, Search, Checkbox, DatePicker, DatePickerInput, Dropdown, FormGroup, NumberInput, RadioButton, RadioButtonGroup, Layer } from '@carbon/react';
15
+ import { Accordion, AccordionItem, Button, Search, Layer } from '@carbon/react';
21
16
  import { rem } from '@carbon/layout';
22
17
  import { pkg } from '../../../../../settings';
23
- import { BATCH, CHECKBOX, CLEAR_FILTERS, DATE, DROPDOWN, INSTANT, NUMBER, PANEL, RADIO } from './constants';
18
+ import { BATCH, CLEAR_FILTERS, INSTANT, PANEL } from './constants';
24
19
  import cx from 'classnames';
25
20
  import { motion } from 'framer-motion';
26
21
  import { panelVariants, innerContainerVariants, actionSetVariants } from './motion/variants';
27
22
  import { Close } from '@carbon/react/icons';
28
23
  import { ActionSet } from '../../../../ActionSet';
29
24
  import { FilterContext } from '.';
30
- import { useInitialStateFromFilters, useSubscribeToEventEmitter, useShouldDisableButtons } from './hooks';
31
- import { getInitialStateFromFilters } from './utils';
25
+ import { useFilters, useSubscribeToEventEmitter, useShouldDisableButtons } from './hooks';
32
26
  var blockClass = "".concat(pkg.prefix, "--datagrid");
33
27
  var componentClass = "".concat(blockClass, "-filter-panel");
34
28
  var MotionActionSet = motion(ActionSet);
@@ -66,30 +60,31 @@ var FilterPanel = function FilterPanel(_ref) {
66
60
  searchPlaceholder = _ref$searchPlaceholde === void 0 ? 'Find filters' : _ref$searchPlaceholde;
67
61
 
68
62
  /** State */
69
- var _useInitialStateFromF = useInitialStateFromFilters(filterSections, PANEL),
70
- _useInitialStateFromF2 = _slicedToArray(_useInitialStateFromF, 2),
71
- filtersState = _useInitialStateFromF2[0],
72
- setFiltersState = _useInitialStateFromF2[1];
73
-
74
- var _useState = useState([]),
63
+ var _useState = useState(false),
75
64
  _useState2 = _slicedToArray(_useState, 2),
76
- filtersObjectArray = _useState2[0],
77
- setFiltersObjectArray = _useState2[1];
78
-
79
- var _useState3 = useState(false),
80
- _useState4 = _slicedToArray(_useState3, 2),
81
- showDividerLine = _useState4[0],
82
- setShowDividerLine = _useState4[1];
65
+ showDividerLine = _useState2[0],
66
+ setShowDividerLine = _useState2[1];
67
+
68
+ var _useFilters = useFilters({
69
+ updateMethod: updateMethod,
70
+ filters: filterSections,
71
+ setAllFilters: setAllFilters,
72
+ variation: PANEL
73
+ }),
74
+ filtersState = _useFilters.filtersState,
75
+ prevFiltersObjectArrayRef = _useFilters.prevFiltersObjectArrayRef,
76
+ prevFiltersRef = _useFilters.prevFiltersRef,
77
+ revertToPreviousFilters = _useFilters.revertToPreviousFilters,
78
+ reset = _useFilters.reset,
79
+ renderFilter = _useFilters.renderFilter,
80
+ filtersObjectArray = _useFilters.filtersObjectArray;
83
81
  /** Refs */
84
82
 
85
83
 
86
84
  var filterPanelRef = useRef();
87
85
  var filterHeadingRef = useRef();
88
86
  var filterSearchRef = useRef();
89
- var actionSetRef = useRef(); // When using batch actions we have to store the filters to then apply them later
90
-
91
- var prevFiltersRef = useRef(JSON.stringify(filtersState));
92
- var prevFiltersObjectArrayRef = useRef(JSON.stringify(filtersObjectArray));
87
+ var actionSetRef = useRef();
93
88
  /** State from hooks */
94
89
 
95
90
  var _useShouldDisableButt = useShouldDisableButtons({
@@ -109,20 +104,13 @@ var FilterPanel = function FilterPanel(_ref) {
109
104
  /** Context */
110
105
 
111
106
  var _useContext = useContext(FilterContext),
112
- leftPanelOpen = _useContext.leftPanelOpen,
113
- setLeftPanelOpen = _useContext.setLeftPanelOpen;
107
+ panelOpen = _useContext.panelOpen,
108
+ setPanelOpen = _useContext.setPanelOpen;
114
109
  /** Methods */
115
110
 
116
111
 
117
112
  var closePanel = function closePanel() {
118
- return setLeftPanelOpen(false);
119
- }; // If the user decides to cancel or click outside the flyout, it reverts back to the filters that were
120
- // there when they opened the flyout
121
-
122
-
123
- var revertToPreviousFilters = function revertToPreviousFilters() {
124
- setFiltersState(JSON.parse(prevFiltersRef.current));
125
- setFiltersObjectArray(JSON.parse(prevFiltersObjectArrayRef.current));
113
+ return setPanelOpen(false);
126
114
  };
127
115
 
128
116
  var cancel = function cancel() {
@@ -133,19 +121,6 @@ var FilterPanel = function FilterPanel(_ref) {
133
121
  }
134
122
  };
135
123
 
136
- var reset = function reset() {
137
- // Get the initial values for the filters
138
- var initialFiltersState = getInitialStateFromFilters(filterSections, PANEL);
139
- var initialFiltersObjectArray = []; // Set the state to the initial values
140
-
141
- setFiltersState(initialFiltersState);
142
- setFiltersObjectArray(initialFiltersObjectArray);
143
- setAllFilters([]); // Update their respective refs so everything is in sync
144
-
145
- prevFiltersRef.current = JSON.stringify(initialFiltersState);
146
- prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
147
- };
148
-
149
124
  var apply = function apply() {
150
125
  setAllFilters(filtersObjectArray); // From the user
151
126
 
@@ -157,225 +132,6 @@ var FilterPanel = function FilterPanel(_ref) {
157
132
  prevFiltersObjectArrayRef.current = JSON.stringify(filtersObjectArray);
158
133
  };
159
134
 
160
- var applyFilters = function applyFilters(_ref2) {
161
- var column = _ref2.column,
162
- value = _ref2.value,
163
- type = _ref2.type;
164
-
165
- // If no end date is selected return because we need the end date to do computations
166
- if (type === DATE && value.length > 0 && !value[1]) {
167
- return;
168
- }
169
-
170
- var filtersObjectArrayCopy = _toConsumableArray(filtersObjectArray); // // check if the filter already exists in the array
171
-
172
-
173
- var filter = filtersObjectArrayCopy.find(function (item) {
174
- return item.id === column;
175
- }); // // if filter exists in array then update the filter's new value
176
-
177
- if (filter) {
178
- filter.value = value;
179
- } else {
180
- filtersObjectArrayCopy.push({
181
- id: column,
182
- value: value,
183
- type: type
184
- });
185
- } // ATTENTION: this is where you would reset or remove individual filters from the filters array
186
-
187
-
188
- if (type === CHECKBOX) {
189
- /**
190
- When all checkboxes of a group are all unselected the value still exists in the filtersObjectArray
191
- This checks if all the checkboxes are selected = false and removes it from the array
192
- */
193
- var index = filtersObjectArrayCopy.findIndex(function (filter) {
194
- return filter.id === column;
195
- }); // If all the selected state is false remove from array
196
-
197
- var shouldRemoveFromArray = filtersObjectArrayCopy[index].value.every(function (val) {
198
- return val.selected === false;
199
- });
200
-
201
- if (shouldRemoveFromArray) {
202
- filtersObjectArrayCopy.splice(index, 1);
203
- }
204
- } else if (type === DATE) {
205
- if (value.length === 0) {
206
- /**
207
- Checks to see if the date value is an empty array, if it is that means the user wants
208
- to reset the date filter
209
- */
210
- var _index = filtersObjectArrayCopy.findIndex(function (filter) {
211
- return filter.id === column;
212
- }); // Remove it from the filters array since there is nothing to filter
213
-
214
-
215
- filtersObjectArrayCopy.splice(_index, 1);
216
- }
217
- } else if (type === DROPDOWN || type === RADIO) {
218
- if (value === 'Any') {
219
- /**
220
- Checks to see if the selected value is 'Any', that means the user wants
221
- to reset specific filter
222
- */
223
- var _index2 = filtersObjectArrayCopy.findIndex(function (filter) {
224
- return filter.id === column;
225
- }); // Remove it from the filters array
226
-
227
-
228
- filtersObjectArrayCopy.splice(_index2, 1);
229
- }
230
- }
231
-
232
- setFiltersObjectArray(filtersObjectArrayCopy); // // Automatically apply the filters if the updateMethod is instant
233
-
234
- if (updateMethod === INSTANT) {
235
- setAllFilters(filtersObjectArrayCopy);
236
- }
237
- };
238
- /** Render the individual filter component */
239
-
240
-
241
- var renderFilter = function renderFilter(_ref3) {
242
- var _filtersState$column, _filtersState$column2, _filtersState$column3, _filtersState$column4;
243
-
244
- var type = _ref3.type,
245
- column = _ref3.column,
246
- components = _ref3.props;
247
-
248
- switch (type) {
249
- case DATE:
250
- return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(DatePicker, _extends({}, components.DatePicker, {
251
- onChange: function onChange(value) {
252
- var _components$DatePicke, _components$DatePicke2;
253
-
254
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, _defineProperty({}, column, {
255
- value: value,
256
- type: type
257
- })));
258
- applyFilters({
259
- column: column,
260
- value: value,
261
- type: type
262
- });
263
- (_components$DatePicke = (_components$DatePicke2 = components.DatePicker).onChange) === null || _components$DatePicke === void 0 ? void 0 : _components$DatePicke.call(_components$DatePicke2, value);
264
- },
265
- value: filtersState[column].value,
266
- datePickerType: "range"
267
- }), /*#__PURE__*/React.createElement(DatePickerInput, _extends({
268
- placeholder: "mm/dd/yyyy",
269
- labelText: "Start date"
270
- }, components.DatePickerInput.start)), /*#__PURE__*/React.createElement(DatePickerInput, _extends({
271
- placeholder: "mm/dd/yyyy",
272
- labelText: "End date"
273
- }, components.DatePickerInput.end))));
274
-
275
- case NUMBER:
276
- return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(NumberInput, _extends({
277
- step: 1,
278
- allowEmpty: true,
279
- hideSteppers: true
280
- }, components.NumberInput, {
281
- onChange: function onChange(event) {
282
- var _components$NumberInp, _components$NumberInp2;
283
-
284
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, _defineProperty({}, column, {
285
- value: event.target.value,
286
- type: type
287
- })));
288
- applyFilters({
289
- column: column,
290
- value: event.target.value,
291
- type: type
292
- });
293
- (_components$NumberInp = (_components$NumberInp2 = components.NumberInput).onChange) === null || _components$NumberInp === void 0 ? void 0 : _components$NumberInp.call(_components$NumberInp2, event);
294
- },
295
- value: filtersState[column].value
296
- })));
297
-
298
- case CHECKBOX:
299
- return /*#__PURE__*/React.createElement(FormGroup, components.FormGroup, filtersState[column].value.map(function (option) {
300
- return /*#__PURE__*/React.createElement(Checkbox, _extends({
301
- key: option.labelText
302
- }, option, {
303
- onChange: function onChange(_, _ref4) {
304
- var _option$onChange;
305
-
306
- var isSelected = _ref4.checked;
307
- var checkboxCopy = filtersState[column].value;
308
- var foundCheckbox = checkboxCopy.find(function (checkbox) {
309
- return checkbox.value === option.value;
310
- });
311
- foundCheckbox.selected = isSelected;
312
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, _defineProperty({}, column, {
313
- value: checkboxCopy,
314
- type: type
315
- })));
316
- applyFilters({
317
- column: column,
318
- value: _toConsumableArray(filtersState[column].value),
319
- type: type
320
- });
321
- (_option$onChange = option.onChange) === null || _option$onChange === void 0 ? void 0 : _option$onChange.call(option, isSelected);
322
- },
323
- checked: option.selected
324
- }));
325
- }));
326
-
327
- case RADIO:
328
- return /*#__PURE__*/React.createElement(FormGroup, components.FormGroup, /*#__PURE__*/React.createElement(RadioButtonGroup, _extends({}, components.RadioButtonGroup, {
329
- 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,
330
- onChange: function onChange(selected) {
331
- var _components$RadioButt, _components$RadioButt2;
332
-
333
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, _defineProperty({}, column, {
334
- value: selected,
335
- type: type
336
- })));
337
- applyFilters({
338
- column: column,
339
- value: selected,
340
- type: type
341
- });
342
- (_components$RadioButt = (_components$RadioButt2 = components.RadioButtonGroup).onChange) === null || _components$RadioButt === void 0 ? void 0 : _components$RadioButt.call(_components$RadioButt2, selected);
343
- }
344
- }), /*#__PURE__*/React.createElement(RadioButton, {
345
- id: "any",
346
- labelText: "Any",
347
- value: "Any"
348
- }), components.RadioButton.map(function (radio) {
349
- var _ref5, _radio$id;
350
-
351
- return /*#__PURE__*/React.createElement(RadioButton, _extends({
352
- key: (_ref5 = (_radio$id = radio.id) !== null && _radio$id !== void 0 ? _radio$id : radio.labelText) !== null && _ref5 !== void 0 ? _ref5 : radio.value
353
- }, radio));
354
- })));
355
-
356
- case DROPDOWN:
357
- return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(Dropdown, _extends({}, components.Dropdown, {
358
- 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,
359
- items: ['Any'].concat(_toConsumableArray(components.Dropdown.items)),
360
- onChange: function onChange(_ref6) {
361
- var _components$Dropdown$, _components$Dropdown;
362
-
363
- var selectedItem = _ref6.selectedItem;
364
- setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, _defineProperty({}, column, {
365
- value: selectedItem,
366
- type: type
367
- })));
368
- applyFilters({
369
- column: column,
370
- value: selectedItem,
371
- type: type
372
- });
373
- (_components$Dropdown$ = (_components$Dropdown = components.Dropdown).onChange) === null || _components$Dropdown$ === void 0 ? void 0 : _components$Dropdown$.call(_components$Dropdown, selectedItem);
374
- }
375
- })));
376
- }
377
- };
378
-
379
135
  var renderActionSet = function renderActionSet() {
380
136
  return showActionSet && /*#__PURE__*/React.createElement(MotionActionSet, {
381
137
  actions: [{
@@ -408,12 +164,12 @@ var FilterPanel = function FilterPanel(_ref) {
408
164
 
409
165
 
410
166
  useEffect(function liftOpenStateToParent() {
411
- if (leftPanelOpen) {
412
- onPanelOpen(leftPanelOpen);
167
+ if (panelOpen) {
168
+ onPanelOpen(panelOpen);
413
169
  } else {
414
- onPanelClose(leftPanelOpen);
170
+ onPanelClose(panelOpen);
415
171
  }
416
- }, [leftPanelOpen, onPanelClose, onPanelOpen]);
172
+ }, [panelOpen, onPanelClose, onPanelOpen]);
417
173
  useEffect(function setPanelMinimumHeight() {
418
174
  var _filterPanelRef$curre;
419
175
 
@@ -433,9 +189,9 @@ var FilterPanel = function FilterPanel(_ref) {
433
189
 
434
190
  return /*#__PURE__*/React.createElement(motion.div, {
435
191
  ref: filterPanelRef,
436
- className: cx(componentClass, "".concat(componentClass, "__container"), (_cx = {}, _defineProperty(_cx, "".concat(componentClass, "--open"), leftPanelOpen), _defineProperty(_cx, "".concat(componentClass, "--batch"), showActionSet), _defineProperty(_cx, "".concat(componentClass, "--instant"), !showActionSet), _cx)),
192
+ className: cx(componentClass, "".concat(componentClass, "__container"), (_cx = {}, _defineProperty(_cx, "".concat(componentClass, "--open"), panelOpen), _defineProperty(_cx, "".concat(componentClass, "--batch"), showActionSet), _defineProperty(_cx, "".concat(componentClass, "--instant"), !showActionSet), _cx)),
437
193
  initial: false,
438
- animate: leftPanelOpen ? 'visible' : 'hidden',
194
+ animate: panelOpen ? 'visible' : 'hidden',
439
195
  variants: panelVariants
440
196
  }, /*#__PURE__*/React.createElement(motion.div, {
441
197
  variants: innerContainerVariants
@@ -469,25 +225,25 @@ var FilterPanel = function FilterPanel(_ref) {
469
225
  height: getScrollableContainerHeight()
470
226
  },
471
227
  onScroll: onInnerContainerScroll
472
- }, filterSections.map(function (_ref7) {
473
- var _ref7$categoryTitle = _ref7.categoryTitle,
474
- categoryTitle = _ref7$categoryTitle === void 0 ? null : _ref7$categoryTitle,
475
- _ref7$filters = _ref7.filters,
476
- filters = _ref7$filters === void 0 ? [] : _ref7$filters,
477
- hasAccordion = _ref7.hasAccordion;
228
+ }, filterSections.map(function (_ref2) {
229
+ var _ref2$categoryTitle = _ref2.categoryTitle,
230
+ categoryTitle = _ref2$categoryTitle === void 0 ? null : _ref2$categoryTitle,
231
+ _ref2$filters = _ref2.filters,
232
+ filters = _ref2$filters === void 0 ? [] : _ref2$filters,
233
+ hasAccordion = _ref2.hasAccordion;
478
234
  return /*#__PURE__*/React.createElement("div", {
479
235
  className: "".concat(componentClass, "__category")
480
236
  }, categoryTitle && /*#__PURE__*/React.createElement("div", {
481
237
  className: "".concat(componentClass, "__category-title")
482
- }, categoryTitle), hasAccordion ? /*#__PURE__*/React.createElement(Accordion, null, filters.map(function (_ref8) {
483
- var filterLabel = _ref8.filterLabel,
484
- filter = _ref8.filter;
238
+ }, categoryTitle), hasAccordion ? /*#__PURE__*/React.createElement(Accordion, null, filters.map(function (_ref3) {
239
+ var filterLabel = _ref3.filterLabel,
240
+ filter = _ref3.filter;
485
241
  return /*#__PURE__*/React.createElement(AccordionItem, {
486
242
  title: filterLabel,
487
243
  key: filterLabel
488
244
  }, renderFilter(filter));
489
- })) : filters.map(function (_ref9) {
490
- var filter = _ref9.filter;
245
+ })) : filters.map(function (_ref4) {
246
+ var filter = _ref4.filter;
491
247
  return renderFilter(filter);
492
248
  }));
493
249
  })), renderActionSet()));
@@ -72,14 +72,14 @@ export var FilterProvider = function FilterProvider(_ref2) {
72
72
 
73
73
  var _useState = useState(false),
74
74
  _useState2 = _slicedToArray(_useState, 2),
75
- leftPanelOpen = _useState2[0],
76
- setLeftPanelOpen = _useState2[1];
75
+ panelOpen = _useState2[0],
76
+ setPanelOpen = _useState2[1];
77
77
 
78
78
  var value = {
79
79
  filterTags: filterTags,
80
80
  EventEmitter: EventEmitter,
81
- leftPanelOpen: leftPanelOpen,
82
- setLeftPanelOpen: setLeftPanelOpen
81
+ panelOpen: panelOpen,
82
+ setPanelOpen: setPanelOpen
83
83
  };
84
84
  return /*#__PURE__*/React.createElement(FilterContext.Provider, {
85
85
  value: value
@@ -6,4 +6,5 @@
6
6
  */
7
7
  export { default as useInitialStateFromFilters } from './useInitialStateFromFilters';
8
8
  export { default as useSubscribeToEventEmitter } from './useSubscribeToEventEmitter';
9
+ export { default as useFilters } from './useFilters';
9
10
  export { default as useShouldDisableButtons } from './useShouldDisableButtons';