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