@carbon/ibm-products 1.45.0 → 1.46.1
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.
- package/README.md +17 -0
- package/css/index-full-carbon.css +38 -21
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +4 -2
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon.css +38 -21
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +4 -2
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +38 -21
- package/css/index.css.map +1 -1
- package/css/index.min.css +4 -2
- package/css/index.min.css.map +1 -1
- package/es/components/Datagrid/Datagrid/DatagridContent.js +2 -2
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +18 -228
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +39 -268
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +4 -4
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +2 -1
- package/es/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +276 -0
- package/es/components/Datagrid/Datagrid/addons/Filtering/utils.js +6 -6
- package/es/components/Datagrid/useSortableColumns.js +16 -10
- package/es/components/Datagrid/utils/DatagridActions.js +2 -2
- package/lib/components/Datagrid/Datagrid/DatagridContent.js +2 -2
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterFlyout.js +22 -224
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +44 -265
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterProvider.js +4 -4
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/index.js +8 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/hooks/useFilters.js +280 -0
- package/lib/components/Datagrid/Datagrid/addons/Filtering/utils.js +5 -5
- package/lib/components/Datagrid/useSortableColumns.js +9 -3
- package/lib/components/Datagrid/utils/DatagridActions.js +2 -2
- package/package.json +8 -8
- package/scss/components/Datagrid/styles/_datagrid.scss +2 -4
- package/scss/components/Datagrid/styles/_useSortableColumns.scss +33 -17
- package/scss/components/OptionsTile/_options-tile.scss +8 -1
@@ -6,9 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
7
7
|
});
|
8
8
|
exports.default = void 0;
|
9
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
10
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
12
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
13
11
|
var _react = _interopRequireWildcard(require("react"));
|
14
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
@@ -23,11 +21,16 @@ var _iconsReact = require("@carbon/icons-react");
|
|
23
21
|
var _ActionSet = require("../../../../ActionSet");
|
24
22
|
var _ = require(".");
|
25
23
|
var _hooks = require("./hooks");
|
26
|
-
var _utils = require("./utils");
|
27
24
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
28
25
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
29
|
-
|
30
|
-
|
26
|
+
/* eslint-disable react/jsx-key */
|
27
|
+
/**
|
28
|
+
* Copyright IBM Corp. 2022, 2023
|
29
|
+
*
|
30
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
31
|
+
* LICENSE file in the root directory of this source tree.
|
32
|
+
*/
|
33
|
+
|
31
34
|
var blockClass = "".concat(_settings.pkg.prefix, "--datagrid");
|
32
35
|
var componentClass = "".concat(blockClass, "-filter-panel");
|
33
36
|
var MotionActionSet = (0, _framerMotion.motion)(_ActionSet.ActionSet);
|
@@ -54,27 +57,29 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
54
57
|
_ref$filterPanelMinHe = _ref.filterPanelMinHeight,
|
55
58
|
filterPanelMinHeight = _ref$filterPanelMinHe === void 0 ? 600 : _ref$filterPanelMinHe;
|
56
59
|
/** State */
|
57
|
-
var
|
58
|
-
_useInitialStateFromF2 = (0, _slicedToArray2.default)(_useInitialStateFromF, 2),
|
59
|
-
filtersState = _useInitialStateFromF2[0],
|
60
|
-
setFiltersState = _useInitialStateFromF2[1];
|
61
|
-
var _useState = (0, _react.useState)([]),
|
60
|
+
var _useState = (0, _react.useState)(false),
|
62
61
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
63
|
-
|
64
|
-
|
65
|
-
var
|
66
|
-
|
67
|
-
|
68
|
-
|
62
|
+
showDividerLine = _useState2[0],
|
63
|
+
setShowDividerLine = _useState2[1];
|
64
|
+
var _useFilters = (0, _hooks.useFilters)({
|
65
|
+
updateMethod: updateMethod,
|
66
|
+
filters: filterSections,
|
67
|
+
setAllFilters: setAllFilters,
|
68
|
+
variation: _constants.PANEL
|
69
|
+
}),
|
70
|
+
filtersState = _useFilters.filtersState,
|
71
|
+
prevFiltersObjectArrayRef = _useFilters.prevFiltersObjectArrayRef,
|
72
|
+
prevFiltersRef = _useFilters.prevFiltersRef,
|
73
|
+
revertToPreviousFilters = _useFilters.revertToPreviousFilters,
|
74
|
+
reset = _useFilters.reset,
|
75
|
+
renderFilter = _useFilters.renderFilter,
|
76
|
+
filtersObjectArray = _useFilters.filtersObjectArray;
|
69
77
|
|
70
78
|
/** Refs */
|
71
79
|
var filterPanelRef = (0, _react.useRef)();
|
72
80
|
var filterHeadingRef = (0, _react.useRef)();
|
73
81
|
var filterSearchRef = (0, _react.useRef)();
|
74
82
|
var actionSetRef = (0, _react.useRef)();
|
75
|
-
// When using batch actions we have to store the filters to then apply them later
|
76
|
-
var prevFiltersRef = (0, _react.useRef)(JSON.stringify(filtersState));
|
77
|
-
var prevFiltersObjectArrayRef = (0, _react.useRef)(JSON.stringify(filtersObjectArray));
|
78
83
|
|
79
84
|
/** State from hooks */
|
80
85
|
var _useShouldDisableButt = (0, _hooks.useShouldDisableButtons)({
|
@@ -93,19 +98,12 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
93
98
|
|
94
99
|
/** Context */
|
95
100
|
var _useContext = (0, _react.useContext)(_.FilterContext),
|
96
|
-
|
97
|
-
|
101
|
+
panelOpen = _useContext.panelOpen,
|
102
|
+
setPanelOpen = _useContext.setPanelOpen;
|
98
103
|
|
99
104
|
/** Methods */
|
100
105
|
var closePanel = function closePanel() {
|
101
|
-
return
|
102
|
-
};
|
103
|
-
|
104
|
-
// If the user decides to cancel or click outside the flyout, it reverts back to the filters that were
|
105
|
-
// there when they opened the flyout
|
106
|
-
var revertToPreviousFilters = function revertToPreviousFilters() {
|
107
|
-
setFiltersState(JSON.parse(prevFiltersRef.current));
|
108
|
-
setFiltersObjectArray(JSON.parse(prevFiltersObjectArrayRef.current));
|
106
|
+
return setPanelOpen(false);
|
109
107
|
};
|
110
108
|
var cancel = function cancel() {
|
111
109
|
// Reverting to previous filters only applies when using batch actions
|
@@ -114,20 +112,6 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
114
112
|
onCancel();
|
115
113
|
}
|
116
114
|
};
|
117
|
-
var reset = function reset() {
|
118
|
-
// Get the initial values for the filters
|
119
|
-
var initialFiltersState = (0, _utils.getInitialStateFromFilters)(filterSections, _constants.PANEL);
|
120
|
-
var initialFiltersObjectArray = [];
|
121
|
-
|
122
|
-
// Set the state to the initial values
|
123
|
-
setFiltersState(initialFiltersState);
|
124
|
-
setFiltersObjectArray(initialFiltersObjectArray);
|
125
|
-
setAllFilters([]);
|
126
|
-
|
127
|
-
// Update their respective refs so everything is in sync
|
128
|
-
prevFiltersRef.current = JSON.stringify(initialFiltersState);
|
129
|
-
prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
|
130
|
-
};
|
131
115
|
var apply = function apply() {
|
132
116
|
setAllFilters(filtersObjectArray);
|
133
117
|
|
@@ -141,211 +125,6 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
141
125
|
prevFiltersRef.current = JSON.stringify(filtersState);
|
142
126
|
prevFiltersObjectArrayRef.current = JSON.stringify(filtersObjectArray);
|
143
127
|
};
|
144
|
-
var applyFilters = function applyFilters(_ref2) {
|
145
|
-
var column = _ref2.column,
|
146
|
-
value = _ref2.value,
|
147
|
-
type = _ref2.type;
|
148
|
-
// If no end date is selected return because we need the end date to do computations
|
149
|
-
if (type === _constants.DATE && value.length > 0 && !value[1]) {
|
150
|
-
return;
|
151
|
-
}
|
152
|
-
var filtersObjectArrayCopy = (0, _toConsumableArray2.default)(filtersObjectArray);
|
153
|
-
// // check if the filter already exists in the array
|
154
|
-
var filter = filtersObjectArrayCopy.find(function (item) {
|
155
|
-
return item.id === column;
|
156
|
-
});
|
157
|
-
|
158
|
-
// // if filter exists in array then update the filter's new value
|
159
|
-
if (filter) {
|
160
|
-
filter.value = value;
|
161
|
-
} else {
|
162
|
-
filtersObjectArrayCopy.push({
|
163
|
-
id: column,
|
164
|
-
value: value,
|
165
|
-
type: type
|
166
|
-
});
|
167
|
-
}
|
168
|
-
|
169
|
-
// ATTENTION: this is where you would reset or remove individual filters from the filters array
|
170
|
-
if (type === _constants.CHECKBOX) {
|
171
|
-
/**
|
172
|
-
When all checkboxes of a group are all unselected the value still exists in the filtersObjectArray
|
173
|
-
This checks if all the checkboxes are selected = false and removes it from the array
|
174
|
-
*/
|
175
|
-
var index = filtersObjectArrayCopy.findIndex(function (filter) {
|
176
|
-
return filter.id === column;
|
177
|
-
});
|
178
|
-
|
179
|
-
// If all the selected state is false remove from array
|
180
|
-
var shouldRemoveFromArray = filtersObjectArrayCopy[index].value.every(function (val) {
|
181
|
-
return val.selected === false;
|
182
|
-
});
|
183
|
-
if (shouldRemoveFromArray) {
|
184
|
-
filtersObjectArrayCopy.splice(index, 1);
|
185
|
-
}
|
186
|
-
} else if (type === _constants.DATE) {
|
187
|
-
if (value.length === 0) {
|
188
|
-
/**
|
189
|
-
Checks to see if the date value is an empty array, if it is that means the user wants
|
190
|
-
to reset the date filter
|
191
|
-
*/
|
192
|
-
var _index = filtersObjectArrayCopy.findIndex(function (filter) {
|
193
|
-
return filter.id === column;
|
194
|
-
});
|
195
|
-
|
196
|
-
// Remove it from the filters array since there is nothing to filter
|
197
|
-
filtersObjectArrayCopy.splice(_index, 1);
|
198
|
-
}
|
199
|
-
} else if (type === _constants.DROPDOWN || type === _constants.RADIO) {
|
200
|
-
if (value === 'Any') {
|
201
|
-
/**
|
202
|
-
Checks to see if the selected value is 'Any', that means the user wants
|
203
|
-
to reset specific filter
|
204
|
-
*/
|
205
|
-
var _index2 = filtersObjectArrayCopy.findIndex(function (filter) {
|
206
|
-
return filter.id === column;
|
207
|
-
});
|
208
|
-
|
209
|
-
// Remove it from the filters array
|
210
|
-
filtersObjectArrayCopy.splice(_index2, 1);
|
211
|
-
}
|
212
|
-
}
|
213
|
-
setFiltersObjectArray(filtersObjectArrayCopy);
|
214
|
-
|
215
|
-
// // Automatically apply the filters if the updateMethod is instant
|
216
|
-
if (updateMethod === _constants.INSTANT) {
|
217
|
-
setAllFilters(filtersObjectArrayCopy);
|
218
|
-
}
|
219
|
-
};
|
220
|
-
|
221
|
-
/** Render the individual filter component */
|
222
|
-
var renderFilter = function renderFilter(_ref3) {
|
223
|
-
var _filtersState$column, _filtersState$column2;
|
224
|
-
var type = _ref3.type,
|
225
|
-
column = _ref3.column,
|
226
|
-
components = _ref3.props;
|
227
|
-
switch (type) {
|
228
|
-
case _constants.DATE:
|
229
|
-
return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.DatePicker, (0, _extends2.default)({}, components.DatePicker, {
|
230
|
-
onChange: function onChange(value) {
|
231
|
-
var _components$DatePicke, _components$DatePicke2;
|
232
|
-
setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
|
233
|
-
value: value,
|
234
|
-
type: type
|
235
|
-
})));
|
236
|
-
applyFilters({
|
237
|
-
column: column,
|
238
|
-
value: value,
|
239
|
-
type: type
|
240
|
-
});
|
241
|
-
(_components$DatePicke = (_components$DatePicke2 = components.DatePicker).onChange) === null || _components$DatePicke === void 0 ? void 0 : _components$DatePicke.call(_components$DatePicke2, value);
|
242
|
-
},
|
243
|
-
value: filtersState[column].value,
|
244
|
-
datePickerType: "range",
|
245
|
-
light: true
|
246
|
-
}), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.DatePickerInput, (0, _extends2.default)({
|
247
|
-
placeholder: "mm/dd/yyyy",
|
248
|
-
labelText: "Start date"
|
249
|
-
}, components.DatePickerInput.start)), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.DatePickerInput, (0, _extends2.default)({
|
250
|
-
placeholder: "mm/dd/yyyy",
|
251
|
-
labelText: "End date"
|
252
|
-
}, components.DatePickerInput.end)));
|
253
|
-
case _constants.NUMBER:
|
254
|
-
return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.NumberInput, (0, _extends2.default)({
|
255
|
-
step: 1,
|
256
|
-
allowEmpty: true,
|
257
|
-
hideSteppers: true
|
258
|
-
}, components.NumberInput, {
|
259
|
-
onChange: function onChange(event) {
|
260
|
-
var _components$NumberInp, _components$NumberInp2;
|
261
|
-
setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
|
262
|
-
value: event.target.value,
|
263
|
-
type: type
|
264
|
-
})));
|
265
|
-
applyFilters({
|
266
|
-
column: column,
|
267
|
-
value: event.target.value,
|
268
|
-
type: type
|
269
|
-
});
|
270
|
-
(_components$NumberInp = (_components$NumberInp2 = components.NumberInput).onChange) === null || _components$NumberInp === void 0 ? void 0 : _components$NumberInp.call(_components$NumberInp2, event);
|
271
|
-
},
|
272
|
-
value: filtersState[column].value,
|
273
|
-
light: true
|
274
|
-
}));
|
275
|
-
case _constants.CHECKBOX:
|
276
|
-
return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.FormGroup, components.FormGroup, filtersState[column].value.map(function (option) {
|
277
|
-
return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Checkbox, (0, _extends2.default)({
|
278
|
-
key: option.labelText
|
279
|
-
}, option, {
|
280
|
-
onChange: function onChange(isSelected) {
|
281
|
-
var _option$onChange;
|
282
|
-
var checkboxCopy = filtersState[column].value;
|
283
|
-
var foundCheckbox = checkboxCopy.find(function (checkbox) {
|
284
|
-
return checkbox.value === option.value;
|
285
|
-
});
|
286
|
-
foundCheckbox.selected = isSelected;
|
287
|
-
setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
|
288
|
-
value: checkboxCopy,
|
289
|
-
type: type
|
290
|
-
})));
|
291
|
-
applyFilters({
|
292
|
-
column: column,
|
293
|
-
value: (0, _toConsumableArray2.default)(filtersState[column].value),
|
294
|
-
type: type
|
295
|
-
});
|
296
|
-
(_option$onChange = option.onChange) === null || _option$onChange === void 0 ? void 0 : _option$onChange.call(option, isSelected);
|
297
|
-
},
|
298
|
-
checked: option.selected
|
299
|
-
}));
|
300
|
-
}));
|
301
|
-
case _constants.RADIO:
|
302
|
-
return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.FormGroup, components.FormGroup, /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.RadioButtonGroup, (0, _extends2.default)({}, components.RadioButtonGroup, {
|
303
|
-
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,
|
304
|
-
onChange: function onChange(selected) {
|
305
|
-
var _components$RadioButt, _components$RadioButt2;
|
306
|
-
setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
|
307
|
-
value: selected,
|
308
|
-
type: type
|
309
|
-
})));
|
310
|
-
applyFilters({
|
311
|
-
column: column,
|
312
|
-
value: selected,
|
313
|
-
type: type
|
314
|
-
});
|
315
|
-
(_components$RadioButt = (_components$RadioButt2 = components.RadioButtonGroup).onChange) === null || _components$RadioButt === void 0 ? void 0 : _components$RadioButt.call(_components$RadioButt2, selected);
|
316
|
-
}
|
317
|
-
}), /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.RadioButton, {
|
318
|
-
id: "any",
|
319
|
-
labelText: "Any",
|
320
|
-
value: "Any"
|
321
|
-
}), components.RadioButton.map(function (radio) {
|
322
|
-
var _ref4, _radio$id;
|
323
|
-
return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.RadioButton, (0, _extends2.default)({
|
324
|
-
key: (_ref4 = (_radio$id = radio.id) !== null && _radio$id !== void 0 ? _radio$id : radio.labelText) !== null && _ref4 !== void 0 ? _ref4 : radio.value
|
325
|
-
}, radio));
|
326
|
-
})));
|
327
|
-
case _constants.DROPDOWN:
|
328
|
-
return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Dropdown, (0, _extends2.default)({}, components.Dropdown, {
|
329
|
-
items: ['Any'].concat((0, _toConsumableArray2.default)(components.Dropdown.items)),
|
330
|
-
selectedItem: filtersState[column].value === '' ? 'Any' : filtersState[column].value,
|
331
|
-
onChange: function onChange(_ref5) {
|
332
|
-
var _components$Dropdown$, _components$Dropdown;
|
333
|
-
var selectedItem = _ref5.selectedItem;
|
334
|
-
setFiltersState(_objectSpread(_objectSpread({}, filtersState), {}, (0, _defineProperty2.default)({}, column, {
|
335
|
-
value: selectedItem,
|
336
|
-
type: type
|
337
|
-
})));
|
338
|
-
applyFilters({
|
339
|
-
column: column,
|
340
|
-
value: selectedItem,
|
341
|
-
type: type
|
342
|
-
});
|
343
|
-
(_components$Dropdown$ = (_components$Dropdown = components.Dropdown).onChange) === null || _components$Dropdown$ === void 0 ? void 0 : _components$Dropdown$.call(_components$Dropdown, selectedItem);
|
344
|
-
},
|
345
|
-
light: true
|
346
|
-
}));
|
347
|
-
}
|
348
|
-
};
|
349
128
|
var renderActionSet = function renderActionSet() {
|
350
129
|
return showActionSet && /*#__PURE__*/_react.default.createElement(MotionActionSet, {
|
351
130
|
actions: [{
|
@@ -376,12 +155,12 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
376
155
|
|
377
156
|
/** Effects */
|
378
157
|
(0, _react.useEffect)(function liftOpenStateToParent() {
|
379
|
-
if (
|
380
|
-
onPanelOpen(
|
158
|
+
if (panelOpen) {
|
159
|
+
onPanelOpen(panelOpen);
|
381
160
|
} else {
|
382
|
-
onPanelClose(
|
161
|
+
onPanelClose(panelOpen);
|
383
162
|
}
|
384
|
-
}, [
|
163
|
+
}, [panelOpen, onPanelClose, onPanelOpen]);
|
385
164
|
(0, _react.useEffect)(function setPanelMinimumHeight() {
|
386
165
|
var _filterPanelRef$curre;
|
387
166
|
(_filterPanelRef$curre = filterPanelRef.current) === null || _filterPanelRef$curre === void 0 ? void 0 : _filterPanelRef$curre.style.setProperty('--filter-panel-min-height', (0, _layout.rem)(filterPanelMinHeight));
|
@@ -397,9 +176,9 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
397
176
|
};
|
398
177
|
return /*#__PURE__*/_react.default.createElement(_framerMotion.motion.div, {
|
399
178
|
ref: filterPanelRef,
|
400
|
-
className: (0, _classnames.default)(componentClass, "".concat(componentClass, "__container"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(componentClass, "--open"),
|
179
|
+
className: (0, _classnames.default)(componentClass, "".concat(componentClass, "__container"), (_cx = {}, (0, _defineProperty2.default)(_cx, "".concat(componentClass, "--open"), panelOpen), (0, _defineProperty2.default)(_cx, "".concat(componentClass, "--batch"), showActionSet), (0, _defineProperty2.default)(_cx, "".concat(componentClass, "--instant"), !showActionSet), _cx)),
|
401
180
|
initial: false,
|
402
|
-
animate:
|
181
|
+
animate: panelOpen ? 'visible' : 'hidden',
|
403
182
|
variants: _variants.panelVariants
|
404
183
|
}, /*#__PURE__*/_react.default.createElement(_framerMotion.motion.div, {
|
405
184
|
variants: _variants.innerContainerVariants
|
@@ -430,25 +209,25 @@ var FilterPanel = function FilterPanel(_ref) {
|
|
430
209
|
height: getScrollableContainerHeight()
|
431
210
|
},
|
432
211
|
onScroll: onInnerContainerScroll
|
433
|
-
}, filterSections.map(function (
|
434
|
-
var
|
435
|
-
categoryTitle =
|
436
|
-
|
437
|
-
filters =
|
438
|
-
hasAccordion =
|
212
|
+
}, filterSections.map(function (_ref2) {
|
213
|
+
var _ref2$categoryTitle = _ref2.categoryTitle,
|
214
|
+
categoryTitle = _ref2$categoryTitle === void 0 ? null : _ref2$categoryTitle,
|
215
|
+
_ref2$filters = _ref2.filters,
|
216
|
+
filters = _ref2$filters === void 0 ? [] : _ref2$filters,
|
217
|
+
hasAccordion = _ref2.hasAccordion;
|
439
218
|
return /*#__PURE__*/_react.default.createElement("div", {
|
440
219
|
className: "".concat(componentClass, "__category")
|
441
220
|
}, categoryTitle && /*#__PURE__*/_react.default.createElement("div", {
|
442
221
|
className: "".concat(componentClass, "__category-title")
|
443
|
-
}, categoryTitle), hasAccordion ? /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Accordion, null, filters.map(function (
|
444
|
-
var filterLabel =
|
445
|
-
filter =
|
222
|
+
}, categoryTitle), hasAccordion ? /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.Accordion, null, filters.map(function (_ref3) {
|
223
|
+
var filterLabel = _ref3.filterLabel,
|
224
|
+
filter = _ref3.filter;
|
446
225
|
return /*#__PURE__*/_react.default.createElement(_carbonComponentsReact.AccordionItem, {
|
447
226
|
title: filterLabel,
|
448
227
|
key: filterLabel
|
449
228
|
}, renderFilter(filter));
|
450
|
-
})) : filters.map(function (
|
451
|
-
var filter =
|
229
|
+
})) : filters.map(function (_ref4) {
|
230
|
+
var filter = _ref4.filter;
|
452
231
|
return renderFilter(filter);
|
453
232
|
}));
|
454
233
|
})), renderActionSet()));
|
@@ -77,13 +77,13 @@ var FilterProvider = function FilterProvider(_ref2) {
|
|
77
77
|
var filterTags = prepareFiltersForTags(filters);
|
78
78
|
var _useState = (0, _react.useState)(false),
|
79
79
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
80
|
-
|
81
|
-
|
80
|
+
panelOpen = _useState2[0],
|
81
|
+
setPanelOpen = _useState2[1];
|
82
82
|
var value = {
|
83
83
|
filterTags: filterTags,
|
84
84
|
EventEmitter: EventEmitter,
|
85
|
-
|
86
|
-
|
85
|
+
panelOpen: panelOpen,
|
86
|
+
setPanelOpen: setPanelOpen
|
87
87
|
};
|
88
88
|
return /*#__PURE__*/_react.default.createElement(FilterContext.Provider, {
|
89
89
|
value: value
|
@@ -4,6 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
5
5
|
value: true
|
6
6
|
});
|
7
|
+
Object.defineProperty(exports, "useFilters", {
|
8
|
+
enumerable: true,
|
9
|
+
get: function get() {
|
10
|
+
return _useFilters.default;
|
11
|
+
}
|
12
|
+
});
|
7
13
|
Object.defineProperty(exports, "useInitialStateFromFilters", {
|
8
14
|
enumerable: true,
|
9
15
|
get: function get() {
|
@@ -24,4 +30,5 @@ Object.defineProperty(exports, "useSubscribeToEventEmitter", {
|
|
24
30
|
});
|
25
31
|
var _useInitialStateFromFilters = _interopRequireDefault(require("./useInitialStateFromFilters"));
|
26
32
|
var _useSubscribeToEventEmitter = _interopRequireDefault(require("./useSubscribeToEventEmitter"));
|
27
|
-
var _useShouldDisableButtons = _interopRequireDefault(require("./useShouldDisableButtons"));
|
33
|
+
var _useShouldDisableButtons = _interopRequireDefault(require("./useShouldDisableButtons"));
|
34
|
+
var _useFilters = _interopRequireDefault(require("./useFilters"));
|