@bigbinary/neeto-filters-frontend 4.0.0 → 4.1.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 (47) hide show
  1. package/dist/Bar.js +667 -0
  2. package/dist/Bar.js.map +1 -0
  3. package/dist/Filters.js +368 -0
  4. package/dist/Filters.js.map +1 -0
  5. package/dist/Segments.js +529 -0
  6. package/dist/Segments.js.map +1 -0
  7. package/dist/cjs/Bar.js +681 -0
  8. package/dist/cjs/Bar.js.map +1 -0
  9. package/dist/cjs/Filters.js +379 -0
  10. package/dist/cjs/Filters.js.map +1 -0
  11. package/dist/cjs/Segments.js +543 -0
  12. package/dist/cjs/Segments.js.map +1 -0
  13. package/dist/cjs/hooks.js +17 -0
  14. package/dist/cjs/hooks.js.map +1 -0
  15. package/dist/cjs/index.js +72 -0
  16. package/dist/cjs/index.js.map +1 -0
  17. package/dist/cjs/utils.js +24 -0
  18. package/dist/cjs/utils.js.map +1 -0
  19. package/dist/constants-8f6e851e.js +125 -0
  20. package/dist/constants-8f6e851e.js.map +1 -0
  21. package/dist/constants-fb0f688a.js +135 -0
  22. package/dist/constants-fb0f688a.js.map +1 -0
  23. package/dist/hooks.js +7 -0
  24. package/dist/hooks.js.map +1 -0
  25. package/dist/index-03114015.js +336 -0
  26. package/dist/index-03114015.js.map +1 -0
  27. package/dist/index-2d1d9838.js +971 -0
  28. package/dist/index-2d1d9838.js.map +1 -0
  29. package/dist/index-31aaf3e4.js +302 -0
  30. package/dist/index-31aaf3e4.js.map +1 -0
  31. package/dist/index-95fe069e.js +958 -0
  32. package/dist/index-95fe069e.js.map +1 -0
  33. package/dist/index.js +53 -3716
  34. package/dist/index.js.map +1 -1
  35. package/dist/useSegmentsApi-003055eb.js +96 -0
  36. package/dist/useSegmentsApi-003055eb.js.map +1 -0
  37. package/dist/useSegmentsApi-c514647d.js +86 -0
  38. package/dist/useSegmentsApi-c514647d.js.map +1 -0
  39. package/dist/utils-61b4223d.js +861 -0
  40. package/dist/utils-61b4223d.js.map +1 -0
  41. package/dist/utils-9ea34335.js +809 -0
  42. package/dist/utils-9ea34335.js.map +1 -0
  43. package/dist/utils.js +12 -0
  44. package/dist/utils.js.map +1 -0
  45. package/package.json +27 -13
  46. package/dist/index.cjs.js +0 -3786
  47. package/dist/index.cjs.js.map +0 -1
@@ -0,0 +1,958 @@
1
+ import React, { useState, useEffect, useMemo } from 'react';
2
+ import { findBy, toLabelAndValue, hyphenate, isNotEmpty, isNotPresent, noop, removeBy, replaceBy } from '@bigbinary/neeto-cist';
3
+ import { last, omit, modify, concat, append, isEmpty, isNil, not, mergeDeepRight, equals, prop, pluck } from 'ramda';
4
+ import { T as TIME_OPTIONS, D as DATE_OPTIONS, _ as _defineProperty, c as SINGLE_DATE_OPTIONS, d as SINGLE_TIME_OPTIONS } from './constants-8f6e851e.js';
5
+ import Select from '@bigbinary/neetoui/Select';
6
+ import { useTranslation } from 'react-i18next';
7
+ import { m as isMulti, n as isTreeSelect, D as DEFAULT_HELP_ICON_PROPS, o as DEFAULT_BOOLEAN_OPTIONS, p as buildUpdatedFilter, _ as _slicedToArray, q as isCustomDateRange, M as MULTI_DROPDOWN_RULES, S as SINGLE_DROPDOWN_RULES, T as TIME_FORMAT, r as buildRuleOptions, s as isUndefinedOrEmpty, t as isCustomTimeRange, u as TREE_SELECT_RULES, v as isText, w as isDigit, x as isDate, y as isTime, z as isSingleDate, A as isSingleTime, B as isBoolean, C as isCheckbox } from './utils-9ea34335.js';
8
+ import dayjs from 'dayjs';
9
+ import { jsx, jsxs } from 'react/jsx-runtime';
10
+ import DatePicker from '@bigbinary/neetoui/DatePicker';
11
+ import TimePicker from '@bigbinary/neetoui/TimePicker';
12
+ import { useDebounce } from '@bigbinary/neeto-commons-frontend/react-utils';
13
+ import Input from '@bigbinary/neetoui/Input';
14
+ import NeetoUITreeSelect from '@bigbinary/neetoui/TreeSelect';
15
+
16
+ var buildDropdownValue = function buildDropdownValue(_ref) {
17
+ var defaultType = _ref.defaultType,
18
+ filter = _ref.filter,
19
+ options = _ref.options;
20
+ if (!filter) return null;
21
+ if (isMulti(defaultType) || isTreeSelect(defaultType)) {
22
+ return options.filter(function (_ref2) {
23
+ var value = _ref2.value;
24
+ return filter.value.includes(value);
25
+ });
26
+ }
27
+ return findBy({
28
+ value: filter.value
29
+ }, options);
30
+ };
31
+ var buildSingleTimeValue = function buildSingleTimeValue(filter) {
32
+ var _findBy2;
33
+ if (!filter) return null;
34
+ return (_findBy2 = findBy({
35
+ value: filter.value
36
+ }, TIME_OPTIONS)) !== null && _findBy2 !== void 0 ? _findBy2 : last(TIME_OPTIONS);
37
+ };
38
+ var getOtherProps = function getOtherProps(props) {
39
+ return omit(["key", "node", "label", "type", "values", "model", "showRuleSelector"], props);
40
+ };
41
+ var buildDropdownOptions = function buildDropdownOptions(_ref3) {
42
+ var defaultType = _ref3.defaultType,
43
+ filter = _ref3.filter,
44
+ options = _ref3.options;
45
+ options = options.map(modify("value", function (value) {
46
+ return value === null || value === void 0 ? void 0 : value.toString();
47
+ }));
48
+ if (!filter) return options;
49
+ if (isMulti(defaultType)) {
50
+ var selectedOptions = filter.value.map(function (value) {
51
+ return findBy({
52
+ value: value
53
+ }, options) || toLabelAndValue(value);
54
+ });
55
+ var nonSelectedOptions = options.filter(function (option) {
56
+ return !filter.value.includes(option.value);
57
+ });
58
+ return concat(selectedOptions, nonSelectedOptions);
59
+ }
60
+ if (!findBy({
61
+ value: filter.value
62
+ }, options)) {
63
+ return append(toLabelAndValue(filter.value), options);
64
+ }
65
+ return options;
66
+ };
67
+ var initializeDateRule = function initializeDateRule(filter) {
68
+ return filter ? findBy({
69
+ value: filter === null || filter === void 0 ? void 0 : filter.value
70
+ }, DATE_OPTIONS) || findDateOption(filter, DATE_OPTIONS) : {};
71
+ };
72
+ var getDateValue = function getDateValue(value, rule) {
73
+ if (isEmpty(value) || isNil(value)) {
74
+ return null;
75
+ }
76
+ if (rule.value === "custom-date-range") {
77
+ return value;
78
+ }
79
+ return rule.value === "before" ? dayjs(value[1]).add(1, "day") : dayjs(value[0]).subtract(1, "day");
80
+ };
81
+ var findDateOption = function findDateOption(filter, options) {
82
+ var value = filter.value;
83
+ var isBeforeOrAfter = dayjs(value[1]).diff(dayjs(value[0]), "year") >= 90;
84
+ if (not(isBeforeOrAfter)) {
85
+ return last(options);
86
+ }
87
+ var currentMoment = dayjs();
88
+ var diffWithStart = Math.abs(currentMoment.diff(dayjs(value[0]), "year"));
89
+ var diffWithEnd = Math.abs(currentMoment.diff(dayjs(value[1]), "year"));
90
+ return diffWithStart < diffWithEnd ? findBy({
91
+ value: "after"
92
+ }, options) : findBy({
93
+ value: "before"
94
+ }, options);
95
+ };
96
+ var buildDateValues = function buildDateValues(dates, selectedRule) {
97
+ if (selectedRule.value === "after") {
98
+ return [dates.add(1, "day"), dates.add(100, "year")];
99
+ } else if (selectedRule.value === "before") {
100
+ return [dates.subtract(100, "year"), dates.subtract(1, "day")];
101
+ }
102
+ return dates;
103
+ };
104
+ var buildHelpIconProps = function buildHelpIconProps(helpIconProps) {
105
+ return mergeDeepRight(DEFAULT_HELP_ICON_PROPS, helpIconProps);
106
+ };
107
+ var hasInvalidTimes = function hasInvalidTimes(times) {
108
+ if (Array.isArray(times)) {
109
+ return times.some(function (time) {
110
+ return time.isValid();
111
+ }) === false;
112
+ }
113
+ return !times.isValid();
114
+ };
115
+ var areCustomTimeRangeValuesNotValid = function areCustomTimeRangeValuesNotValid(times) {
116
+ return !times.every(function (time) {
117
+ return time.isValid();
118
+ });
119
+ };
120
+ var isRuleEmpty = function isRuleEmpty(rule) {
121
+ return equals(rule, "is_unknown");
122
+ };
123
+
124
+ function ownKeys$7(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
125
+ function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
126
+ var Boolean = function Boolean(_ref) {
127
+ var column = _ref.column,
128
+ filter = _ref.filter,
129
+ handleApplyFilter = _ref.handleApplyFilter,
130
+ autoFocus = _ref.autoFocus;
131
+ var key = column.key,
132
+ _column$defaultType = column.defaultType,
133
+ defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
134
+ label = column.label,
135
+ values = column.values,
136
+ _column$helpIconProps = column.helpIconProps,
137
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
138
+ var options = isNil(values) || isEmpty(values) ? DEFAULT_BOOLEAN_OPTIONS : values;
139
+ var otherProps = getOtherProps(column);
140
+ var value = buildDropdownValue({
141
+ defaultType: defaultType,
142
+ filter: filter,
143
+ options: options
144
+ });
145
+ var _useTranslation = useTranslation(),
146
+ t = _useTranslation.t;
147
+ var handleChange = function handleChange(option) {
148
+ if (isEmpty(option) || isNil(option)) {
149
+ handleApplyFilter({
150
+ _delete: true
151
+ });
152
+ return;
153
+ }
154
+ var updatedFilter = buildUpdatedFilter({
155
+ column: column,
156
+ defaultType: defaultType,
157
+ option: option
158
+ });
159
+ handleApplyFilter(updatedFilter);
160
+ };
161
+ return /*#__PURE__*/jsx("div", {
162
+ className: "neeto-filters-pane-filter__item-wrapper",
163
+ children: /*#__PURE__*/jsx(Select, _objectSpread$7(_objectSpread$7({
164
+ autoFocus: autoFocus,
165
+ label: label,
166
+ options: options,
167
+ value: value,
168
+ isClearable: true
169
+ }, isNotEmpty(helpIconProps) && {
170
+ labelProps: {
171
+ helpIconProps: buildHelpIconProps(helpIconProps)
172
+ }
173
+ }), {}, {
174
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
175
+ strategy: "fixed",
176
+ placeholder: t("neetoFilters.messages.selectOption", {
177
+ resource: label
178
+ }),
179
+ onChange: handleChange
180
+ }, otherProps))
181
+ });
182
+ };
183
+ var Boolean$1 = /*#__PURE__*/React.memo(Boolean);
184
+
185
+ function ownKeys$6(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
186
+ function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
187
+ var Datetime = function Datetime(_ref) {
188
+ var column = _ref.column,
189
+ filter = _ref.filter,
190
+ handleApplyFilter = _ref.handleApplyFilter,
191
+ autoFocus = _ref.autoFocus;
192
+ var _useState = useState(initializeDateRule(filter)),
193
+ _useState2 = _slicedToArray(_useState, 2),
194
+ selectedRule = _useState2[0],
195
+ setSelectedRule = _useState2[1];
196
+ var _useTranslation = useTranslation(),
197
+ t = _useTranslation.t;
198
+ var key = column.key,
199
+ _column$defaultType = column.defaultType,
200
+ defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
201
+ label = column.label,
202
+ _column$helpIconProps = column.helpIconProps,
203
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
204
+ var isDatePickerShown = filter && isCustomDateRange(filter.value);
205
+ var otherProps = getOtherProps(column);
206
+ var handleChange = function handleChange(option) {
207
+ if (isEmpty(option) || isNil(option)) {
208
+ handleApplyFilter({
209
+ _delete: true
210
+ });
211
+ setSelectedRule({});
212
+ return;
213
+ }
214
+ setSelectedRule(option);
215
+ var updatedFilter = buildUpdatedFilter({
216
+ column: column,
217
+ defaultType: defaultType,
218
+ option: option
219
+ });
220
+ handleApplyFilter(updatedFilter);
221
+ };
222
+ var handleDateRangeChange = function handleDateRangeChange(dates) {
223
+ if (isEmpty(dates) || isNil(dates)) {
224
+ handleApplyFilter({
225
+ _delete: true
226
+ });
227
+ setSelectedRule({});
228
+ return;
229
+ }
230
+ var updatedFilter = buildUpdatedFilter({
231
+ column: column,
232
+ defaultType: defaultType,
233
+ option: {
234
+ value: pluck("$d", buildDateValues(dates, selectedRule)).map(function (date) {
235
+ return date.toISOString();
236
+ })
237
+ }
238
+ });
239
+ handleApplyFilter(updatedFilter);
240
+ };
241
+ useEffect(function () {
242
+ isNil(filter) && setSelectedRule({});
243
+ }, [filter]);
244
+ return /*#__PURE__*/jsxs("div", {
245
+ className: "neeto-filters-pane-filter__item-wrapper",
246
+ children: [/*#__PURE__*/jsx(Select, _objectSpread$6(_objectSpread$6({
247
+ autoFocus: autoFocus,
248
+ label: label,
249
+ isClearable: true,
250
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
251
+ options: DATE_OPTIONS,
252
+ strategy: "fixed",
253
+ value: selectedRule,
254
+ placeholder: t("neetoFilters.messages.selectResource", {
255
+ resource: label
256
+ })
257
+ }, isNotEmpty(helpIconProps) && {
258
+ labelProps: {
259
+ helpIconProps: buildHelpIconProps(helpIconProps)
260
+ }
261
+ }), {}, {
262
+ onChange: handleChange
263
+ })), isDatePickerShown && /*#__PURE__*/jsx(DatePicker, _objectSpread$6({
264
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
265
+ getPopupContainer: prop("parentNode"),
266
+ type: (selectedRule === null || selectedRule === void 0 ? void 0 : selectedRule.value) === "custom-date-range" ? "range" : "date",
267
+ value: getDateValue(filter === null || filter === void 0 ? void 0 : filter.value, selectedRule),
268
+ onChange: handleDateRangeChange
269
+ }, otherProps))]
270
+ });
271
+ };
272
+ var Datetime$1 = /*#__PURE__*/React.memo(Datetime);
273
+
274
+ function ownKeys$5(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
275
+ function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
276
+ var Dropdown = function Dropdown(_ref) {
277
+ var column = _ref.column,
278
+ filter = _ref.filter,
279
+ handleApplyFilter = _ref.handleApplyFilter,
280
+ autoFocus = _ref.autoFocus,
281
+ filters = _ref.filters;
282
+ var key = column.key,
283
+ label = column.label,
284
+ values = column.values,
285
+ defaultValue = column.defaultValue,
286
+ _column$defaultType = column.defaultType,
287
+ defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
288
+ _column$showRuleSelec = column.showRuleSelector,
289
+ showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
290
+ _column$isClearable = column.isClearable,
291
+ isClearable = _column$isClearable === void 0 ? true : _column$isClearable,
292
+ _column$helpIconProps = column.helpIconProps,
293
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
294
+ var otherProps = getOtherProps(column);
295
+ var options = buildDropdownOptions({
296
+ defaultType: defaultType,
297
+ filter: filter,
298
+ options: values
299
+ });
300
+ var dropdownRules = isMulti(defaultType) ? MULTI_DROPDOWN_RULES : SINGLE_DROPDOWN_RULES;
301
+ var value = buildDropdownValue({
302
+ defaultType: defaultType,
303
+ filter: filter,
304
+ options: options
305
+ });
306
+ var _useState = useState(findBy({
307
+ value: filter === null || filter === void 0 ? void 0 : filter.rule
308
+ }, dropdownRules) || dropdownRules[0]),
309
+ _useState2 = _slicedToArray(_useState, 2),
310
+ selectedRule = _useState2[0],
311
+ setSelectedRule = _useState2[1];
312
+ var _useTranslation = useTranslation(),
313
+ t = _useTranslation.t;
314
+ var getOption = function getOption(isSelectedRuleEmpty, options, value) {
315
+ if (isSelectedRuleEmpty) {
316
+ return isMulti(defaultType) ? [options[0]] : options[0];
317
+ }
318
+ return value;
319
+ };
320
+ var handleRuleChange = function handleRuleChange(rule) {
321
+ var isPreviousRuleEmpty = isRuleEmpty(selectedRule.value);
322
+ var isNewRuleEmpty = isRuleEmpty(rule.value);
323
+ setSelectedRule(rule);
324
+ if (isPreviousRuleEmpty || !isNewRuleEmpty && isNotPresent(filter === null || filter === void 0 ? void 0 : filter.value)) {
325
+ handleApplyFilter({
326
+ _delete: true
327
+ });
328
+ return;
329
+ }
330
+ var updatedFilter = buildUpdatedFilter({
331
+ column: column,
332
+ defaultType: defaultType,
333
+ rule: rule.value,
334
+ option: getOption(isNewRuleEmpty, options, value)
335
+ });
336
+ handleApplyFilter(updatedFilter);
337
+ };
338
+ var handleChange = function handleChange(option) {
339
+ if (isEmpty(option) || isNil(option)) {
340
+ handleApplyFilter({
341
+ _delete: true
342
+ });
343
+ return;
344
+ }
345
+ var updatedFilter = buildUpdatedFilter({
346
+ column: column,
347
+ defaultType: defaultType,
348
+ option: option,
349
+ rule: selectedRule.value
350
+ });
351
+ handleApplyFilter(updatedFilter);
352
+ };
353
+ useEffect(function () {
354
+ if (!isEmpty(filters)) return;
355
+ isRuleEmpty(selectedRule.value) && setSelectedRule(dropdownRules[0]);
356
+ }, [filters]);
357
+ return /*#__PURE__*/jsxs("div", {
358
+ className: "neeto-filters-pane-filter__item-wrapper",
359
+ children: [showRuleSelector && /*#__PURE__*/jsx(Select, {
360
+ label: label,
361
+ defaultValue: dropdownRules[0],
362
+ options: dropdownRules,
363
+ value: selectedRule,
364
+ onChange: handleRuleChange
365
+ }), !isRuleEmpty(selectedRule.value) && /*#__PURE__*/jsx(Select, _objectSpread$5(_objectSpread$5({
366
+ autoFocus: autoFocus,
367
+ options: options,
368
+ value: value,
369
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
370
+ isClearable: !defaultValue && isClearable,
371
+ isMulti: isMulti(defaultType),
372
+ label: !showRuleSelector && label,
373
+ strategy: "fixed",
374
+ placeholder: t("neetoFilters.messages.selectResource", {
375
+ resource: label
376
+ })
377
+ }, isNotEmpty(helpIconProps) && {
378
+ labelProps: {
379
+ helpIconProps: buildHelpIconProps(helpIconProps)
380
+ }
381
+ }), {}, {
382
+ onChange: handleChange
383
+ }, otherProps))]
384
+ });
385
+ };
386
+ var Dropdown$1 = /*#__PURE__*/React.memo(Dropdown);
387
+
388
+ function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
389
+ function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
390
+ var SingleDatetime = function SingleDatetime(_ref) {
391
+ var column = _ref.column,
392
+ filter = _ref.filter,
393
+ filters = _ref.filters,
394
+ handleApplyFilter = _ref.handleApplyFilter,
395
+ autoFocus = _ref.autoFocus;
396
+ var _useState = useState(function () {
397
+ return findBy({
398
+ value: filter === null || filter === void 0 ? void 0 : filter.rule
399
+ }, SINGLE_DATE_OPTIONS) || SINGLE_DATE_OPTIONS[0];
400
+ }),
401
+ _useState2 = _slicedToArray(_useState, 2),
402
+ selectedRule = _useState2[0],
403
+ setSelectedRule = _useState2[1];
404
+ var key = column.key,
405
+ _column$defaultType = column.defaultType,
406
+ defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
407
+ label = column.label,
408
+ _column$helpIconProps = column.helpIconProps,
409
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
410
+ var otherProps = getOtherProps(column);
411
+ var datePickerType = selectedRule.value === "between" ? "range" : "date";
412
+ var value = filter === null || filter === void 0 ? void 0 : filter.value;
413
+
414
+ // Reset states when "Clear filters" button is clicked.
415
+ useEffect(function () {
416
+ if (!isEmpty(filters)) return;
417
+ setSelectedRule(SINGLE_DATE_OPTIONS[0]);
418
+ }, [filters]);
419
+ var handleRuleChange = function handleRuleChange(ruleOption) {
420
+ setSelectedRule(ruleOption);
421
+
422
+ // Clear value if switched between incompatable types
423
+ var updateValue = value;
424
+ if (datePickerType === "range" && ruleOption.value !== "between" || datePickerType === "date" && ruleOption.value === "between") {
425
+ updateValue = "";
426
+ }
427
+ var updatedFilter = buildUpdatedFilter({
428
+ column: column,
429
+ defaultType: defaultType,
430
+ option: {},
431
+ rule: ruleOption.value,
432
+ value: updateValue
433
+ });
434
+ handleApplyFilter(updatedFilter);
435
+ };
436
+ var handleChange = function handleChange(dates) {
437
+ if (isEmpty(dates) || isNil(dates)) {
438
+ handleApplyFilter({
439
+ _delete: true
440
+ });
441
+ return;
442
+ }
443
+ var value = datePickerType === "range" ? pluck("$d", dates).map(function (date) {
444
+ return date.toISOString();
445
+ }) : dates["$d"];
446
+ var updatedFilter = buildUpdatedFilter({
447
+ column: column,
448
+ defaultType: defaultType,
449
+ option: {},
450
+ rule: selectedRule.value,
451
+ value: value
452
+ });
453
+ handleApplyFilter(updatedFilter);
454
+ };
455
+ return /*#__PURE__*/jsxs("div", {
456
+ className: "neeto-filters-pane-filter__item-wrapper",
457
+ children: [/*#__PURE__*/jsx(Select, _objectSpread$4(_objectSpread$4({
458
+ label: label,
459
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter-rule"),
460
+ defaultValue: SINGLE_DATE_OPTIONS[0],
461
+ options: SINGLE_DATE_OPTIONS,
462
+ strategy: "fixed",
463
+ value: selectedRule
464
+ }, isNotEmpty(helpIconProps) && {
465
+ labelProps: {
466
+ helpIconProps: buildHelpIconProps(helpIconProps)
467
+ }
468
+ }), {}, {
469
+ onChange: handleRuleChange
470
+ })), /*#__PURE__*/jsx(DatePicker, _objectSpread$4({
471
+ autoFocus: autoFocus,
472
+ value: value,
473
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
474
+ getPopupContainer: prop("parentNode"),
475
+ type: datePickerType,
476
+ onChange: handleChange
477
+ }, otherProps))]
478
+ });
479
+ };
480
+
481
+ function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
482
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
483
+ var SingleTime = function SingleTime(_ref) {
484
+ var column = _ref.column,
485
+ filter = _ref.filter,
486
+ filters = _ref.filters,
487
+ handleApplyFilter = _ref.handleApplyFilter,
488
+ autoFocus = _ref.autoFocus;
489
+ var _useState = useState(function () {
490
+ return findBy({
491
+ value: filter === null || filter === void 0 ? void 0 : filter.rule
492
+ }, SINGLE_TIME_OPTIONS) || SINGLE_TIME_OPTIONS[0];
493
+ }),
494
+ _useState2 = _slicedToArray(_useState, 2),
495
+ selectedRule = _useState2[0],
496
+ setSelectedRule = _useState2[1];
497
+ var key = column.key,
498
+ _column$defaultType = column.defaultType,
499
+ defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
500
+ label = column.label,
501
+ _column$helpIconProps = column.helpIconProps,
502
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
503
+ var otherProps = getOtherProps(column);
504
+ var timePickerType = selectedRule.value === "between" ? "range" : "time";
505
+ var value = filter === null || filter === void 0 ? void 0 : filter.value;
506
+ useEffect(function () {
507
+ if (!isEmpty(filters)) return;
508
+ setSelectedRule(SINGLE_TIME_OPTIONS[0]);
509
+ }, [filters]);
510
+ var handleRuleChange = function handleRuleChange(ruleOption) {
511
+ setSelectedRule(ruleOption);
512
+
513
+ // Clear value if switched between incompatible types
514
+ var updateValue = value;
515
+ if (timePickerType === "range" && ruleOption.value !== "between" || timePickerType === "time" && ruleOption.value === "between") {
516
+ updateValue = "";
517
+ }
518
+ var updatedFilter = buildUpdatedFilter({
519
+ column: column,
520
+ defaultType: defaultType,
521
+ option: {},
522
+ rule: ruleOption.value,
523
+ value: updateValue
524
+ });
525
+ handleApplyFilter(updatedFilter);
526
+ };
527
+ var handleChange = function handleChange(times) {
528
+ if (hasInvalidTimes(times)) {
529
+ handleApplyFilter({
530
+ _delete: true
531
+ });
532
+ return;
533
+ }
534
+ if (timePickerType === "range" && areCustomTimeRangeValuesNotValid(times)) {
535
+ return;
536
+ }
537
+ var value = timePickerType === "range" ? pluck("$d", times).map(function (time) {
538
+ return time.toISOString();
539
+ }) : times["$d"].toISOString();
540
+ var updatedFilter = buildUpdatedFilter({
541
+ column: column,
542
+ defaultType: defaultType,
543
+ option: {},
544
+ rule: selectedRule.value,
545
+ value: value
546
+ });
547
+ handleApplyFilter(updatedFilter);
548
+ };
549
+ return /*#__PURE__*/jsxs("div", {
550
+ className: "neeto-filters-pane-filter__item-wrapper",
551
+ children: [/*#__PURE__*/jsx(Select, _objectSpread$3(_objectSpread$3({
552
+ label: label,
553
+ defaultValue: SINGLE_TIME_OPTIONS[0],
554
+ options: SINGLE_TIME_OPTIONS,
555
+ strategy: "fixed",
556
+ value: selectedRule
557
+ }, isNotEmpty(helpIconProps) && {
558
+ labelProps: {
559
+ helpIconProps: buildHelpIconProps(helpIconProps)
560
+ }
561
+ }), {}, {
562
+ onChange: handleRuleChange
563
+ })), /*#__PURE__*/jsx(TimePicker, _objectSpread$3({
564
+ autoFocus: autoFocus,
565
+ value: value,
566
+ className: "w-full",
567
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
568
+ format: TIME_FORMAT,
569
+ type: timePickerType,
570
+ onChange: handleChange
571
+ }, otherProps))]
572
+ });
573
+ };
574
+
575
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
576
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
577
+ var Text = function Text(_ref) {
578
+ var column = _ref.column,
579
+ filter = _ref.filter,
580
+ filters = _ref.filters,
581
+ handleApplyFilter = _ref.handleApplyFilter,
582
+ autoFocus = _ref.autoFocus,
583
+ onClose = _ref.onClose;
584
+ var key = column.key,
585
+ _column$defaultType = column.defaultType,
586
+ defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
587
+ label = column.label,
588
+ _column$showRuleSelec = column.showRuleSelector,
589
+ showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
590
+ _column$helpIconProps = column.helpIconProps,
591
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
592
+ var otherProps = getOtherProps(column);
593
+ var ruleOptions = buildRuleOptions({
594
+ defaultType: defaultType
595
+ });
596
+ var inputType = defaultType === "text" || defaultType === "custom.text" ? "text" : "number";
597
+ var _useState = useState(filter === null || filter === void 0 ? void 0 : filter.value),
598
+ _useState2 = _slicedToArray(_useState, 2),
599
+ inputValue = _useState2[0],
600
+ setInputValue = _useState2[1];
601
+ var _useState3 = useState(function () {
602
+ return findBy({
603
+ value: filter === null || filter === void 0 ? void 0 : filter.rule
604
+ }, ruleOptions) || ruleOptions[0];
605
+ }),
606
+ _useState4 = _slicedToArray(_useState3, 2),
607
+ selectedRule = _useState4[0],
608
+ setSelectedRule = _useState4[1];
609
+ var debouncedInputValue = useDebounce(inputValue);
610
+ var _useTranslation = useTranslation(),
611
+ t = _useTranslation.t;
612
+ var handleUpdateAndApplyFilter = function handleUpdateAndApplyFilter() {
613
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : debouncedInputValue;
614
+ var rule = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : selectedRule;
615
+ if (equals(filter === null || filter === void 0 ? void 0 : filter.value, value) && equals(selectedRule, rule)) return;
616
+ var updatedFilter = buildUpdatedFilter({
617
+ column: column,
618
+ defaultType: defaultType,
619
+ option: {},
620
+ rule: rule.value,
621
+ value: value.trim()
622
+ });
623
+ handleApplyFilter(updatedFilter);
624
+ };
625
+ var handleKeydown = function handleKeydown(e) {
626
+ if (!(e.key === "Enter")) return;
627
+ handleUpdateAndApplyFilter(inputValue);
628
+ onClose();
629
+ };
630
+ var handleRuleChange = function handleRuleChange(ruleOption) {
631
+ setSelectedRule(ruleOption);
632
+ if (!debouncedInputValue) return;
633
+ handleUpdateAndApplyFilter(debouncedInputValue, ruleOption);
634
+ };
635
+
636
+ // Reset states when "Clear filters" button is clicked.
637
+ useEffect(function () {
638
+ (isEmpty(filters) || isNil(filter)) && setInputValue("");
639
+ }, [filter]);
640
+ useEffect(function () {
641
+ if (!debouncedInputValue) {
642
+ !isUndefinedOrEmpty(filter) && handleApplyFilter({
643
+ _delete: true
644
+ });
645
+ return;
646
+ }
647
+ handleUpdateAndApplyFilter();
648
+ }, [debouncedInputValue]);
649
+ return /*#__PURE__*/jsxs("div", {
650
+ className: "neeto-filters-pane-filter__item-wrapper",
651
+ children: [showRuleSelector && /*#__PURE__*/jsx(Select, _objectSpread$2({
652
+ label: label,
653
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter-rule"),
654
+ defaultValue: ruleOptions[0],
655
+ options: ruleOptions,
656
+ strategy: "fixed",
657
+ value: selectedRule,
658
+ onChange: handleRuleChange
659
+ }, isNotEmpty(helpIconProps) && {
660
+ labelProps: {
661
+ helpIconProps: buildHelpIconProps(helpIconProps)
662
+ }
663
+ })), /*#__PURE__*/jsx(Input, _objectSpread$2(_objectSpread$2({
664
+ autoFocus: autoFocus,
665
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
666
+ label: !showRuleSelector && label,
667
+ type: inputType,
668
+ value: inputValue
669
+ }, isNotEmpty(helpIconProps) && {
670
+ labelProps: {
671
+ helpIconProps: buildHelpIconProps(helpIconProps)
672
+ }
673
+ }), {}, {
674
+ placeholder: t("neetoFilters.messages.enterResource", {
675
+ resource: label
676
+ }),
677
+ onChange: function onChange(event) {
678
+ return setInputValue(event.target.value);
679
+ },
680
+ onKeyDown: handleKeydown
681
+ }, otherProps))]
682
+ });
683
+ };
684
+
685
+ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
686
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
687
+ var Time = function Time(_ref) {
688
+ var column = _ref.column,
689
+ filter = _ref.filter,
690
+ handleApplyFilter = _ref.handleApplyFilter,
691
+ autoFocus = _ref.autoFocus;
692
+ var key = column.key,
693
+ _column$defaultType = column.defaultType,
694
+ defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
695
+ label = column.label,
696
+ _column$helpIconProps = column.helpIconProps,
697
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
698
+ var otherProps = getOtherProps(column);
699
+ var value = buildSingleTimeValue(filter);
700
+ var isCustomTimeRangeShown = filter && isCustomTimeRange(filter.value);
701
+ var _useTranslation = useTranslation(),
702
+ t = _useTranslation.t;
703
+ var handleChange = function handleChange(option) {
704
+ if (isEmpty(option) || isNil(option)) {
705
+ handleApplyFilter({
706
+ _delete: true
707
+ });
708
+ return;
709
+ }
710
+ var updatedFilter = buildUpdatedFilter({
711
+ column: column,
712
+ defaultType: defaultType,
713
+ option: option
714
+ });
715
+ handleApplyFilter(updatedFilter);
716
+ };
717
+ var handleTimeRangeChange = function handleTimeRangeChange(times) {
718
+ if (hasInvalidTimes(times)) {
719
+ handleApplyFilter({
720
+ _delete: true
721
+ });
722
+ return;
723
+ }
724
+ if (isCustomTimeRangeShown && areCustomTimeRangeValuesNotValid(times)) {
725
+ return;
726
+ }
727
+ var updatedFilter = buildUpdatedFilter({
728
+ column: column,
729
+ defaultType: defaultType,
730
+ option: {
731
+ value: pluck("$d", times).map(function (time) {
732
+ return time.toISOString();
733
+ })
734
+ }
735
+ });
736
+ handleApplyFilter(updatedFilter);
737
+ };
738
+ return /*#__PURE__*/jsxs("div", {
739
+ className: "neeto-filters-pane-filter__item-wrapper",
740
+ children: [/*#__PURE__*/jsx(Select, _objectSpread$1(_objectSpread$1({
741
+ autoFocus: autoFocus,
742
+ label: label,
743
+ value: value,
744
+ isClearable: true,
745
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
746
+ options: TIME_OPTIONS,
747
+ strategy: "fixed",
748
+ placeholder: t("neetoFilters.messages.selectResource", {
749
+ resource: label
750
+ })
751
+ }, isNotEmpty(helpIconProps) && {
752
+ labelProps: {
753
+ helpIconProps: buildHelpIconProps(helpIconProps)
754
+ }
755
+ }), {}, {
756
+ onChange: handleChange
757
+ })), isCustomTimeRangeShown && /*#__PURE__*/jsx(TimePicker, _objectSpread$1({
758
+ className: "w-full",
759
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-date-range"),
760
+ format: TIME_FORMAT,
761
+ type: "range",
762
+ value: filter.value,
763
+ onChange: handleTimeRangeChange
764
+ }, otherProps))]
765
+ });
766
+ };
767
+ var Time$1 = /*#__PURE__*/React.memo(Time);
768
+
769
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
770
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
771
+ var TreeSelect = function TreeSelect(_ref) {
772
+ var _findBy;
773
+ var autoFocus = _ref.autoFocus,
774
+ column = _ref.column,
775
+ filter = _ref.filter,
776
+ handleApplyFilter = _ref.handleApplyFilter;
777
+ var key = column.key,
778
+ label = column.label,
779
+ _column$defaultType = column.defaultType,
780
+ defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType,
781
+ defaultValue = column.defaultValue,
782
+ _column$helpIconProps = column.helpIconProps,
783
+ helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps,
784
+ _column$isClearable = column.isClearable,
785
+ isClearable = _column$isClearable === void 0 ? true : _column$isClearable,
786
+ _column$showRuleSelec = column.showRuleSelector,
787
+ showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
788
+ options = column.values;
789
+ var initialRule = (_findBy = findBy({
790
+ value: filter === null || filter === void 0 ? void 0 : filter.rule
791
+ }, TREE_SELECT_RULES)) !== null && _findBy !== void 0 ? _findBy : TREE_SELECT_RULES[0];
792
+ var _useState = useState(initialRule),
793
+ _useState2 = _slicedToArray(_useState, 2),
794
+ selectedRule = _useState2[0],
795
+ setSelectedRule = _useState2[1];
796
+ var _useTranslation = useTranslation(),
797
+ t = _useTranslation.t;
798
+ var selectedOption = buildDropdownValue({
799
+ defaultType: defaultType,
800
+ filter: filter,
801
+ options: options
802
+ });
803
+ var handleChange = function handleChange(option) {
804
+ if (isNotPresent(option)) return handleApplyFilter({
805
+ _delete: true
806
+ });
807
+ var updatedFilter = buildUpdatedFilter({
808
+ column: column,
809
+ defaultType: defaultType,
810
+ option: option,
811
+ rule: selectedRule.value
812
+ });
813
+ return handleApplyFilter(updatedFilter);
814
+ };
815
+ var handleRuleChange = function handleRuleChange(rule) {
816
+ var isPreviousRuleEmpty = isRuleEmpty(selectedRule.value);
817
+ var isNewRuleEmpty = isRuleEmpty(rule.value);
818
+ setSelectedRule(rule);
819
+ if (isPreviousRuleEmpty || !isNewRuleEmpty && isNotPresent(filter === null || filter === void 0 ? void 0 : filter.value)) {
820
+ return handleApplyFilter({
821
+ _delete: true
822
+ });
823
+ }
824
+ var updatedFilter = buildUpdatedFilter({
825
+ column: column,
826
+ defaultType: defaultType,
827
+ option: isNewRuleEmpty ? [options[0]] : selectedOption,
828
+ rule: rule.value
829
+ });
830
+ return handleApplyFilter(updatedFilter);
831
+ };
832
+ return /*#__PURE__*/jsxs("div", {
833
+ className: "neeto-filters-pane-filter__item-wrapper",
834
+ children: [showRuleSelector && /*#__PURE__*/jsx(Select, {
835
+ label: label,
836
+ defaultValue: TREE_SELECT_RULES[0],
837
+ options: TREE_SELECT_RULES,
838
+ value: selectedRule,
839
+ onChange: handleRuleChange
840
+ }), !isRuleEmpty(selectedRule.value) &&
841
+ /*#__PURE__*/
842
+ // eslint-disable-next-line @bigbinary/neeto/merge-spread-attributes
843
+ jsx(NeetoUITreeSelect, _objectSpread(_objectSpread({
844
+ autoFocus: autoFocus,
845
+ multiple: true,
846
+ showSearch: true,
847
+ treeDataSimpleMode: true,
848
+ allowClear: !defaultValue && isClearable,
849
+ "data-cy": "neeto-filters-".concat(hyphenate(key), "-filter"),
850
+ label: !showRuleSelector && label,
851
+ treeData: options,
852
+ value: selectedOption,
853
+ placeholder: t("neetoFilters.messages.selectResource", {
854
+ resource: label
855
+ }),
856
+ onChange: handleChange
857
+ }, isNotEmpty(helpIconProps) && {
858
+ labelProps: {
859
+ helpIconProps: buildHelpIconProps(helpIconProps)
860
+ }
861
+ }), getOtherProps(column)))]
862
+ });
863
+ };
864
+ var TreeSelect$1 = /*#__PURE__*/React.memo(TreeSelect);
865
+
866
+ var Item = function Item(_ref) {
867
+ var column = _ref.column,
868
+ filters = _ref.filters,
869
+ onChange = _ref.onChange,
870
+ autoFocus = _ref.autoFocus,
871
+ _ref$onClose = _ref.onClose,
872
+ onClose = _ref$onClose === void 0 ? noop : _ref$onClose;
873
+ var key = column.key,
874
+ _column$defaultType = column.defaultType,
875
+ defaultType = _column$defaultType === void 0 ? column.type : _column$defaultType;
876
+ var filter = useMemo(function () {
877
+ return findBy({
878
+ key: key
879
+ }, filters);
880
+ }, [filters, key]);
881
+ var handleApplyFilter = function handleApplyFilter(updatedFilter) {
882
+ if (updatedFilter._delete) onChange(removeBy({
883
+ key: key
884
+ }, filters));else if (!filter) onChange(append(updatedFilter, filters));else onChange(replaceBy({
885
+ key: key
886
+ }, updatedFilter, filters));
887
+ };
888
+ if (isText(defaultType) || isDigit(defaultType)) {
889
+ return /*#__PURE__*/jsx(Text, {
890
+ autoFocus: autoFocus,
891
+ column: column,
892
+ filter: filter,
893
+ filters: filters,
894
+ handleApplyFilter: handleApplyFilter,
895
+ onClose: onClose
896
+ });
897
+ }
898
+ if (isDate(defaultType)) {
899
+ return /*#__PURE__*/jsx(Datetime$1, {
900
+ autoFocus: autoFocus,
901
+ column: column,
902
+ filter: filter,
903
+ handleApplyFilter: handleApplyFilter
904
+ });
905
+ }
906
+ if (isTime(defaultType)) {
907
+ return /*#__PURE__*/jsx(Time$1, {
908
+ autoFocus: autoFocus,
909
+ column: column,
910
+ filter: filter,
911
+ handleApplyFilter: handleApplyFilter
912
+ });
913
+ }
914
+ if (isSingleDate(defaultType)) {
915
+ return /*#__PURE__*/jsx(SingleDatetime, {
916
+ autoFocus: autoFocus,
917
+ column: column,
918
+ filter: filter,
919
+ filters: filters,
920
+ handleApplyFilter: handleApplyFilter
921
+ });
922
+ }
923
+ if (isSingleTime(defaultType)) {
924
+ return /*#__PURE__*/jsx(SingleTime, {
925
+ autoFocus: autoFocus,
926
+ column: column,
927
+ filter: filter,
928
+ filters: filters,
929
+ handleApplyFilter: handleApplyFilter
930
+ });
931
+ }
932
+ if (isBoolean(defaultType) || isCheckbox(defaultType)) {
933
+ return /*#__PURE__*/jsx(Boolean$1, {
934
+ autoFocus: autoFocus,
935
+ column: column,
936
+ filter: filter,
937
+ handleApplyFilter: handleApplyFilter
938
+ });
939
+ }
940
+ if (isTreeSelect(defaultType)) {
941
+ return /*#__PURE__*/jsx(TreeSelect$1, {
942
+ autoFocus: autoFocus,
943
+ column: column,
944
+ filter: filter,
945
+ handleApplyFilter: handleApplyFilter
946
+ });
947
+ }
948
+ return /*#__PURE__*/jsx(Dropdown$1, {
949
+ autoFocus: autoFocus,
950
+ column: column,
951
+ filter: filter,
952
+ filters: filters,
953
+ handleApplyFilter: handleApplyFilter
954
+ });
955
+ };
956
+
957
+ export { Item as I, isRuleEmpty as i };
958
+ //# sourceMappingURL=index-95fe069e.js.map