@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
@@ -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';