@bigbinary/neeto-filters-frontend 4.3.32 → 4.3.34

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 (101) hide show
  1. package/README.md +0 -2
  2. package/dist/.ready +1 -0
  3. package/dist/Bar.js +15 -26
  4. package/dist/Bar.js.map +1 -1
  5. package/dist/Filters.js +8 -7
  6. package/dist/Filters.js.map +1 -1
  7. package/dist/Segments.js +12 -9
  8. package/dist/Segments.js.map +1 -1
  9. package/dist/cjs/Bar.js +19 -30
  10. package/dist/cjs/Bar.js.map +1 -1
  11. package/dist/cjs/Filters.js +8 -7
  12. package/dist/cjs/Filters.js.map +1 -1
  13. package/dist/cjs/Segments.js +8 -5
  14. package/dist/cjs/Segments.js.map +1 -1
  15. package/dist/cjs/hooks.js +1 -1
  16. package/dist/cjs/index.js +9 -4
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/utils.js +2 -1
  19. package/dist/cjs/utils.js.map +1 -1
  20. package/dist/cjs/v2/Bar.js +661 -0
  21. package/dist/cjs/v2/Bar.js.map +1 -0
  22. package/dist/cjs/v2/Filters.js +336 -0
  23. package/dist/cjs/v2/Filters.js.map +1 -0
  24. package/dist/cjs/v2/Segments.js +520 -0
  25. package/dist/cjs/v2/Segments.js.map +1 -0
  26. package/dist/cjs/v2/index.js +58 -0
  27. package/dist/cjs/v2/index.js.map +1 -0
  28. package/dist/cjs/v2/utils.js +70 -0
  29. package/dist/cjs/v2/utils.js.map +1 -0
  30. package/dist/{constants-8DtAPJaA.js → constants-BaYBNRZa.js} +2 -2
  31. package/dist/{constants-8DtAPJaA.js.map → constants-BaYBNRZa.js.map} +1 -1
  32. package/dist/dayjs-9rsrbiYS.js +6 -0
  33. package/dist/dayjs-9rsrbiYS.js.map +1 -0
  34. package/dist/dayjs-DNGB9yJD.js +4 -0
  35. package/dist/dayjs-DNGB9yJD.js.map +1 -0
  36. package/dist/hooks.js +2 -2
  37. package/dist/{index-Bq32eLIG.js → index-BCnobjnZ.js} +5 -18
  38. package/dist/index-BCnobjnZ.js.map +1 -0
  39. package/dist/index-BD5y7_BW.js +969 -0
  40. package/dist/index-BD5y7_BW.js.map +1 -0
  41. package/dist/index-BxEtpFbP.js +301 -0
  42. package/dist/index-BxEtpFbP.js.map +1 -0
  43. package/dist/{index-CzUm_HaL.js → index-Bzw5oKqg.js} +48 -166
  44. package/dist/index-Bzw5oKqg.js.map +1 -0
  45. package/dist/index-C4AC0OfA.js +967 -0
  46. package/dist/index-C4AC0OfA.js.map +1 -0
  47. package/dist/{index-Rn6zFKPg.js → index-Cdvbpy-b.js} +30 -147
  48. package/dist/index-Cdvbpy-b.js.map +1 -0
  49. package/dist/index-CpgjbwJP.js +299 -0
  50. package/dist/index-CpgjbwJP.js.map +1 -0
  51. package/dist/{index-BYRIatjo.js → index-aOxl-IeV.js} +6 -38
  52. package/dist/index-aOxl-IeV.js.map +1 -0
  53. package/dist/index.js +10 -5
  54. package/dist/index.js.map +1 -1
  55. package/dist/inject-css-B6qYtOJe.js +6 -0
  56. package/dist/inject-css-B6qYtOJe.js.map +1 -0
  57. package/dist/inject-css-C2dztUxs.js +4 -0
  58. package/dist/inject-css-C2dztUxs.js.map +1 -0
  59. package/dist/keyboardShortcuts-DcgoM1dR.js +20 -0
  60. package/dist/keyboardShortcuts-DcgoM1dR.js.map +1 -0
  61. package/dist/keyboardShortcuts-oiJyIaFr.js +18 -0
  62. package/dist/keyboardShortcuts-oiJyIaFr.js.map +1 -0
  63. package/dist/{useSegmentsApi-wYy0UPCH.js → useSegmentsApi-C6mffm-a.js} +4 -4
  64. package/dist/{useSegmentsApi-wYy0UPCH.js.map → useSegmentsApi-C6mffm-a.js.map} +1 -1
  65. package/dist/{useSegmentsApi-CDE1HWEv.js → useSegmentsApi-DlvMy4A9.js} +2 -2
  66. package/dist/{useSegmentsApi-CDE1HWEv.js.map → useSegmentsApi-DlvMy4A9.js.map} +1 -1
  67. package/dist/utils-B3464cET.js +126 -0
  68. package/dist/utils-B3464cET.js.map +1 -0
  69. package/dist/utils-BUFBOQlR.js +802 -0
  70. package/dist/utils-BUFBOQlR.js.map +1 -0
  71. package/dist/utils-Cj2MY2tu.js +38 -0
  72. package/dist/utils-Cj2MY2tu.js.map +1 -0
  73. package/dist/utils-ClTYBS1C.js +865 -0
  74. package/dist/utils-ClTYBS1C.js.map +1 -0
  75. package/dist/utils-CwKBnC3c.js +17 -0
  76. package/dist/utils-CwKBnC3c.js.map +1 -0
  77. package/dist/{utils-BuCOQsNv.js → utils-CzRCzZ3I.js} +3 -4
  78. package/dist/utils-CzRCzZ3I.js.map +1 -0
  79. package/dist/utils-Dh5ByFPA.js +138 -0
  80. package/dist/utils-Dh5ByFPA.js.map +1 -0
  81. package/dist/{utils-CxVWpPGf.js → utils-Q-OTPVjq.js} +8 -9
  82. package/dist/utils-Q-OTPVjq.js.map +1 -0
  83. package/dist/utils.js +3 -2
  84. package/dist/utils.js.map +1 -1
  85. package/dist/v2/Bar.js +659 -0
  86. package/dist/v2/Bar.js.map +1 -0
  87. package/dist/v2/Filters.js +334 -0
  88. package/dist/v2/Filters.js.map +1 -0
  89. package/dist/v2/Segments.js +518 -0
  90. package/dist/v2/Segments.js.map +1 -0
  91. package/dist/v2/index.js +42 -0
  92. package/dist/v2/index.js.map +1 -0
  93. package/dist/v2/utils.js +12 -0
  94. package/dist/v2/utils.js.map +1 -0
  95. package/package.json +41 -28
  96. package/dist/index-BYRIatjo.js.map +0 -1
  97. package/dist/index-Bq32eLIG.js.map +0 -1
  98. package/dist/index-CzUm_HaL.js.map +0 -1
  99. package/dist/index-Rn6zFKPg.js.map +0 -1
  100. package/dist/utils-BuCOQsNv.js.map +0 -1
  101. package/dist/utils-CxVWpPGf.js.map +0 -1
@@ -6,136 +6,19 @@ var ramda = require('ramda');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
7
  var Select = require('@bigbinary/neetoui/Select');
8
8
  var reactI18next = require('react-i18next');
9
- var utils = require('./utils-BuCOQsNv.js');
10
- var constants = require('./constants-DoHD7obf.js');
11
- var utils$1 = require('@bigbinary/neeto-commons-frontend/utils');
9
+ var utils = require('./utils-CzRCzZ3I.js');
10
+ var utils$1 = require('./utils-Dh5ByFPA.js');
12
11
  var jsxRuntime = require('react/jsx-runtime');
13
12
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
14
13
  var DatePicker = require('@bigbinary/neetoui/DatePicker');
14
+ var constants = require('./constants-DoHD7obf.js');
15
15
  var TimePicker = require('@bigbinary/neetoui/TimePicker');
16
16
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
17
17
  var Input = require('@bigbinary/neetoui/Input');
18
18
  var NeetoUITreeSelect = require('@bigbinary/neetoui/TreeSelect');
19
19
 
20
- var buildDropdownValue = function buildDropdownValue(_ref) {
21
- var defaultType = _ref.defaultType,
22
- filter = _ref.filter,
23
- options = _ref.options;
24
- if (!filter) return null;
25
- if (utils.isMulti(defaultType) || utils.isTreeSelect(defaultType)) {
26
- return options.filter(function (_ref2) {
27
- var value = _ref2.value;
28
- return filter.value.includes(value);
29
- });
30
- }
31
- return neetoCist.findBy({
32
- value: filter.value
33
- }, options);
34
- };
35
- var buildSingleTimeValue = function buildSingleTimeValue(filter) {
36
- var _findBy2;
37
- if (!filter) return null;
38
- return (_findBy2 = neetoCist.findBy({
39
- value: filter.value
40
- }, constants.TIME_OPTIONS)) !== null && _findBy2 !== void 0 ? _findBy2 : ramda.last(constants.TIME_OPTIONS);
41
- };
42
- var getOtherProps = function getOtherProps(props) {
43
- return ramda.omit(["key", "node", "label", "type", "values", "model", "showRuleSelector"], props);
44
- };
45
- var buildDropdownOptions = function buildDropdownOptions(_ref3) {
46
- var defaultType = _ref3.defaultType,
47
- filter = _ref3.filter,
48
- _ref3$options = _ref3.options,
49
- options = _ref3$options === void 0 ? [] : _ref3$options;
50
- if (ramda.isEmpty(options)) {
51
- if (utils.isDateRange(defaultType)) {
52
- options = constants.DATE_RANGE_OPTIONS;
53
- } else if (utils.isTimeRange(defaultType)) {
54
- options = constants.TIME_RANGE_OPTIONS;
55
- }
56
- }
57
- options = options.map(ramda.modify("value", function (value) {
58
- return value === null || value === void 0 ? void 0 : value.toString();
59
- }));
60
- if (!filter) return options;
61
- if (utils.isMulti(defaultType)) {
62
- var selectedOptions = filter.value.map(function (value) {
63
- return neetoCist.findBy({
64
- value: value
65
- }, options) || neetoCist.toLabelAndValue(value);
66
- });
67
- var nonSelectedOptions = options.filter(function (option) {
68
- return !filter.value.includes(option.value);
69
- });
70
- return ramda.concat(selectedOptions, nonSelectedOptions);
71
- }
72
- if (!neetoCist.findBy({
73
- value: filter.value
74
- }, options)) {
75
- return ramda.append(neetoCist.toLabelAndValue(filter.value), options);
76
- }
77
- return options;
78
- };
79
- var initializeDateRule = function initializeDateRule(filter) {
80
- return filter ? neetoCist.findBy({
81
- value: filter === null || filter === void 0 ? void 0 : filter.value
82
- }, constants.DATE_OPTIONS) || findDateOption(filter, constants.DATE_OPTIONS) : {};
83
- };
84
- var getDateValue = function getDateValue(value, rule) {
85
- if (ramda.isEmpty(value) || ramda.isNil(value)) {
86
- return null;
87
- }
88
- if (rule.value === "custom-date-range") {
89
- return value;
90
- }
91
- return rule.value === "before" ? utils$1.dayjs(value[1]).add(1, "day") : utils$1.dayjs(value[0]).subtract(1, "day");
92
- };
93
- var findDateOption = function findDateOption(filter, options) {
94
- var value = filter.value;
95
- var isBeforeOrAfter = utils$1.dayjs(value[1]).diff(utils$1.dayjs(value[0]), "year") >= 90;
96
- if (ramda.not(isBeforeOrAfter)) {
97
- return ramda.last(options);
98
- }
99
- var currentMoment = utils$1.dayjs();
100
- var diffWithStart = Math.abs(currentMoment.diff(utils$1.dayjs(value[0]), "year"));
101
- var diffWithEnd = Math.abs(currentMoment.diff(utils$1.dayjs(value[1]), "year"));
102
- return diffWithStart < diffWithEnd ? neetoCist.findBy({
103
- value: "after"
104
- }, options) : neetoCist.findBy({
105
- value: "before"
106
- }, options);
107
- };
108
- var buildDateValues = function buildDateValues(dates, selectedRule) {
109
- if (selectedRule.value === "after") {
110
- return [dates.add(1, "day"), dates.add(100, "year")];
111
- } else if (selectedRule.value === "before") {
112
- return [dates.subtract(100, "year"), dates.subtract(1, "day")];
113
- }
114
- return dates;
115
- };
116
- var buildHelpIconProps = function buildHelpIconProps(helpIconProps) {
117
- return ramda.mergeDeepRight(utils.DEFAULT_HELP_ICON_PROPS, helpIconProps);
118
- };
119
- var hasInvalidTimes = function hasInvalidTimes(times) {
120
- if (neetoCist.isNotPresent(times)) return false;
121
- if (Array.isArray(times)) {
122
- return times.some(function (time) {
123
- return time.isValid();
124
- }) === false;
125
- }
126
- return !times.isValid();
127
- };
128
- var areCustomTimeRangeValuesNotValid = function areCustomTimeRangeValuesNotValid(times) {
129
- return !times.every(function (time) {
130
- return time.isValid();
131
- });
132
- };
133
- var isRuleEmpty = function isRuleEmpty(rule) {
134
- return ramda.equals(rule, "is_unknown");
135
- };
136
-
137
20
  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; }
138
- 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; }
21
+ 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), true).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; }
139
22
  var Boolean = function Boolean(_ref) {
140
23
  var column = _ref.column,
141
24
  filter = _ref.filter,
@@ -149,8 +32,8 @@ var Boolean = function Boolean(_ref) {
149
32
  _column$helpIconProps = column.helpIconProps,
150
33
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
151
34
  var options = neetoCist.isNotPresent(values) ? utils.isCheckbox(defaultType) ? utils.CHECKBOX_OPTIONS : utils.DEFAULT_BOOLEAN_OPTIONS : values;
152
- var otherProps = getOtherProps(column);
153
- var value = buildDropdownValue({
35
+ var otherProps = utils$1.getOtherProps(column);
36
+ var value = utils$1.buildDropdownValue({
154
37
  defaultType: defaultType,
155
38
  filter: filter,
156
39
  options: options
@@ -181,7 +64,7 @@ var Boolean = function Boolean(_ref) {
181
64
  isClearable: true
182
65
  }, neetoCist.isNotEmpty(helpIconProps) && {
183
66
  labelProps: {
184
- helpIconProps: buildHelpIconProps(helpIconProps)
67
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
185
68
  }
186
69
  }), {}, {
187
70
  "data-testid": "neeto-filters-".concat(neetoCist.hyphenate(key), "-filter"),
@@ -196,13 +79,13 @@ var Boolean = function Boolean(_ref) {
196
79
  var Boolean$1 = /*#__PURE__*/react.memo(Boolean);
197
80
 
198
81
  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; }
199
- 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; }
82
+ 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), true).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; }
200
83
  var Datetime = function Datetime(_ref) {
201
84
  var column = _ref.column,
202
85
  filter = _ref.filter,
203
86
  handleApplyFilter = _ref.handleApplyFilter,
204
87
  autoFocus = _ref.autoFocus;
205
- var _useState = react.useState(initializeDateRule(filter)),
88
+ var _useState = react.useState(utils$1.initializeDateRule(filter)),
206
89
  _useState2 = _slicedToArray(_useState, 2),
207
90
  selectedRule = _useState2[0],
208
91
  setSelectedRule = _useState2[1];
@@ -215,7 +98,7 @@ var Datetime = function Datetime(_ref) {
215
98
  _column$helpIconProps = column.helpIconProps,
216
99
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
217
100
  var isDatePickerShown = filter && utils.isCustomDateRange(filter.value);
218
- var otherProps = getOtherProps(column);
101
+ var otherProps = utils$1.getOtherProps(column);
219
102
  var handleChange = function handleChange(option) {
220
103
  if (ramda.isEmpty(option) || ramda.isNil(option)) {
221
104
  handleApplyFilter({
@@ -244,7 +127,7 @@ var Datetime = function Datetime(_ref) {
244
127
  column: column,
245
128
  defaultType: defaultType,
246
129
  option: {
247
- value: buildDateValues(dates, selectedRule).map(function (date) {
130
+ value: utils$1.buildDateValues(dates, selectedRule).map(function (date) {
248
131
  return date.toISOString();
249
132
  })
250
133
  }
@@ -269,7 +152,7 @@ var Datetime = function Datetime(_ref) {
269
152
  })
270
153
  }, neetoCist.isNotEmpty(helpIconProps) && {
271
154
  labelProps: {
272
- helpIconProps: buildHelpIconProps(helpIconProps)
155
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
273
156
  }
274
157
  }), {}, {
275
158
  onChange: handleChange
@@ -277,7 +160,7 @@ var Datetime = function Datetime(_ref) {
277
160
  "data-testid": "neeto-filters-".concat(neetoCist.hyphenate(key), "-date-range"),
278
161
  getPopupContainer: ramda.prop("parentNode"),
279
162
  type: (selectedRule === null || selectedRule === void 0 ? void 0 : selectedRule.value) === "custom-date-range" ? "range" : "date",
280
- value: getDateValue(filter === null || filter === void 0 ? void 0 : filter.value, selectedRule),
163
+ value: utils$1.getDateValue(filter === null || filter === void 0 ? void 0 : filter.value, selectedRule),
281
164
  onChange: handleDateRangeChange
282
165
  }, otherProps))]
283
166
  });
@@ -285,7 +168,7 @@ var Datetime = function Datetime(_ref) {
285
168
  var Datetime$1 = /*#__PURE__*/react.memo(Datetime);
286
169
 
287
170
  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; }
288
- 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; }
171
+ 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), true).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; }
289
172
  var Dropdown = function Dropdown(_ref) {
290
173
  var column = _ref.column,
291
174
  filter = _ref.filter,
@@ -304,14 +187,14 @@ var Dropdown = function Dropdown(_ref) {
304
187
  isClearable = _column$isClearable === void 0 ? true : _column$isClearable,
305
188
  _column$helpIconProps = column.helpIconProps,
306
189
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
307
- var otherProps = getOtherProps(column);
308
- var options = buildDropdownOptions({
190
+ var otherProps = utils$1.getOtherProps(column);
191
+ var options = utils$1.buildDropdownOptions({
309
192
  defaultType: defaultType,
310
193
  filter: filter,
311
194
  options: values
312
195
  });
313
196
  var dropdownRules = utils.isMulti(defaultType) ? utils.MULTI_DROPDOWN_RULES : utils.SINGLE_DROPDOWN_RULES;
314
- var value = buildDropdownValue({
197
+ var value = utils$1.buildDropdownValue({
315
198
  defaultType: defaultType,
316
199
  filter: filter,
317
200
  options: options
@@ -331,8 +214,8 @@ var Dropdown = function Dropdown(_ref) {
331
214
  return value;
332
215
  };
333
216
  var handleRuleChange = function handleRuleChange(rule) {
334
- var isPreviousRuleEmpty = isRuleEmpty(selectedRule.value);
335
- var isNewRuleEmpty = isRuleEmpty(rule.value);
217
+ var isPreviousRuleEmpty = utils$1.isRuleEmpty(selectedRule.value);
218
+ var isNewRuleEmpty = utils$1.isRuleEmpty(rule.value);
336
219
  setSelectedRule(rule);
337
220
  if (isPreviousRuleEmpty || !isNewRuleEmpty && neetoCist.isNotPresent(filter === null || filter === void 0 ? void 0 : filter.value)) {
338
221
  handleApplyFilter({
@@ -365,7 +248,7 @@ var Dropdown = function Dropdown(_ref) {
365
248
  };
366
249
  react.useEffect(function () {
367
250
  if (!ramda.isEmpty(filters)) return;
368
- isRuleEmpty(selectedRule.value) && setSelectedRule(dropdownRules[0]);
251
+ utils$1.isRuleEmpty(selectedRule.value) && setSelectedRule(dropdownRules[0]);
369
252
  }, [filters]);
370
253
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
371
254
  className: "neeto-filters-pane-filter__item-wrapper",
@@ -375,7 +258,7 @@ var Dropdown = function Dropdown(_ref) {
375
258
  options: dropdownRules,
376
259
  value: selectedRule,
377
260
  onChange: handleRuleChange
378
- }), !isRuleEmpty(selectedRule.value) && /*#__PURE__*/jsxRuntime.jsx(Select, _objectSpread$5(_objectSpread$5({
261
+ }), !utils$1.isRuleEmpty(selectedRule.value) && /*#__PURE__*/jsxRuntime.jsx(Select, _objectSpread$5(_objectSpread$5({
379
262
  autoFocus: autoFocus,
380
263
  options: options,
381
264
  value: value,
@@ -389,7 +272,7 @@ var Dropdown = function Dropdown(_ref) {
389
272
  })
390
273
  }, neetoCist.isNotEmpty(helpIconProps) && {
391
274
  labelProps: {
392
- helpIconProps: buildHelpIconProps(helpIconProps)
275
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
393
276
  }
394
277
  }), {}, {
395
278
  onChange: handleChange
@@ -399,7 +282,7 @@ var Dropdown = function Dropdown(_ref) {
399
282
  var Dropdown$1 = /*#__PURE__*/react.memo(Dropdown);
400
283
 
401
284
  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; }
402
- 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; }
285
+ 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), true).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; }
403
286
  var SingleDatetime = function SingleDatetime(_ref) {
404
287
  var column = _ref.column,
405
288
  filter = _ref.filter,
@@ -420,7 +303,7 @@ var SingleDatetime = function SingleDatetime(_ref) {
420
303
  label = column.label,
421
304
  _column$helpIconProps = column.helpIconProps,
422
305
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
423
- var otherProps = getOtherProps(column);
306
+ var otherProps = utils$1.getOtherProps(column);
424
307
  var datePickerType = selectedRule.value === "between" ? "range" : "date";
425
308
  var value = filter === null || filter === void 0 ? void 0 : filter.value;
426
309
 
@@ -476,7 +359,7 @@ var SingleDatetime = function SingleDatetime(_ref) {
476
359
  value: selectedRule
477
360
  }, neetoCist.isNotEmpty(helpIconProps) && {
478
361
  labelProps: {
479
- helpIconProps: buildHelpIconProps(helpIconProps)
362
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
480
363
  }
481
364
  }), {}, {
482
365
  onChange: handleRuleChange
@@ -492,7 +375,7 @@ var SingleDatetime = function SingleDatetime(_ref) {
492
375
  };
493
376
 
494
377
  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; }
495
- 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; }
378
+ 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), true).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; }
496
379
  var SingleTime = function SingleTime(_ref) {
497
380
  var column = _ref.column,
498
381
  filter = _ref.filter,
@@ -513,7 +396,7 @@ var SingleTime = function SingleTime(_ref) {
513
396
  label = column.label,
514
397
  _column$helpIconProps = column.helpIconProps,
515
398
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
516
- var otherProps = getOtherProps(column);
399
+ var otherProps = utils$1.getOtherProps(column);
517
400
  var timePickerType = selectedRule.value === "between" ? "range" : "time";
518
401
  var value = filter === null || filter === void 0 ? void 0 : filter.value;
519
402
  react.useEffect(function () {
@@ -538,13 +421,13 @@ var SingleTime = function SingleTime(_ref) {
538
421
  handleApplyFilter(updatedFilter);
539
422
  };
540
423
  var handleChange = function handleChange(times) {
541
- if (hasInvalidTimes(times)) {
424
+ if (utils$1.hasInvalidTimes(times)) {
542
425
  handleApplyFilter({
543
426
  _delete: true
544
427
  });
545
428
  return;
546
429
  }
547
- if (timePickerType === "range" && areCustomTimeRangeValuesNotValid(times)) {
430
+ if (timePickerType === "range" && utils$1.areCustomTimeRangeValuesNotValid(times)) {
548
431
  return;
549
432
  }
550
433
  var value = timePickerType === "range" ? times === null || times === void 0 ? void 0 : times.map(function (time) {
@@ -569,7 +452,7 @@ var SingleTime = function SingleTime(_ref) {
569
452
  value: selectedRule
570
453
  }, neetoCist.isNotEmpty(helpIconProps) && {
571
454
  labelProps: {
572
- helpIconProps: buildHelpIconProps(helpIconProps)
455
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
573
456
  }
574
457
  }), {}, {
575
458
  onChange: handleRuleChange
@@ -586,7 +469,7 @@ var SingleTime = function SingleTime(_ref) {
586
469
  };
587
470
 
588
471
  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; }
589
- 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; }
472
+ 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), true).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; }
590
473
  var Text = function Text(_ref) {
591
474
  var column = _ref.column,
592
475
  filter = _ref.filter,
@@ -602,7 +485,7 @@ var Text = function Text(_ref) {
602
485
  showRuleSelector = _column$showRuleSelec === void 0 ? false : _column$showRuleSelec,
603
486
  _column$helpIconProps = column.helpIconProps,
604
487
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
605
- var otherProps = getOtherProps(column);
488
+ var otherProps = utils$1.getOtherProps(column);
606
489
  var ruleOptions = utils.buildRuleOptions({
607
490
  defaultType: defaultType
608
491
  });
@@ -671,7 +554,7 @@ var Text = function Text(_ref) {
671
554
  onChange: handleRuleChange
672
555
  }, neetoCist.isNotEmpty(helpIconProps) && {
673
556
  labelProps: {
674
- helpIconProps: buildHelpIconProps(helpIconProps)
557
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
675
558
  }
676
559
  })), /*#__PURE__*/jsxRuntime.jsx(Input, _objectSpread$2(_objectSpread$2({
677
560
  autoFocus: autoFocus,
@@ -681,7 +564,7 @@ var Text = function Text(_ref) {
681
564
  value: inputValue
682
565
  }, neetoCist.isNotEmpty(helpIconProps) && {
683
566
  labelProps: {
684
- helpIconProps: buildHelpIconProps(helpIconProps)
567
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
685
568
  }
686
569
  }), {}, {
687
570
  placeholder: t("neetoFilters.messages.enterResource", {
@@ -696,7 +579,7 @@ var Text = function Text(_ref) {
696
579
  };
697
580
 
698
581
  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; }
699
- 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; }
582
+ 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), true).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; }
700
583
  var Time = function Time(_ref) {
701
584
  var column = _ref.column,
702
585
  filter = _ref.filter,
@@ -708,8 +591,8 @@ var Time = function Time(_ref) {
708
591
  label = column.label,
709
592
  _column$helpIconProps = column.helpIconProps,
710
593
  helpIconProps = _column$helpIconProps === void 0 ? {} : _column$helpIconProps;
711
- var otherProps = getOtherProps(column);
712
- var value = buildSingleTimeValue(filter);
594
+ var otherProps = utils$1.getOtherProps(column);
595
+ var value = utils$1.buildSingleTimeValue(filter);
713
596
  var isCustomTimeRangeShown = filter && utils.isCustomTimeRange(filter.value);
714
597
  var _useTranslation = reactI18next.useTranslation(),
715
598
  t = _useTranslation.t;
@@ -728,13 +611,13 @@ var Time = function Time(_ref) {
728
611
  handleApplyFilter(updatedFilter);
729
612
  };
730
613
  var handleTimeRangeChange = function handleTimeRangeChange(times) {
731
- if (hasInvalidTimes(times)) {
614
+ if (utils$1.hasInvalidTimes(times)) {
732
615
  handleApplyFilter({
733
616
  _delete: true
734
617
  });
735
618
  return;
736
619
  }
737
- if (isCustomTimeRangeShown && areCustomTimeRangeValuesNotValid(times)) {
620
+ if (isCustomTimeRangeShown && utils$1.areCustomTimeRangeValuesNotValid(times)) {
738
621
  return;
739
622
  }
740
623
  var updatedFilter = utils.buildUpdatedFilter({
@@ -763,7 +646,7 @@ var Time = function Time(_ref) {
763
646
  })
764
647
  }, neetoCist.isNotEmpty(helpIconProps) && {
765
648
  labelProps: {
766
- helpIconProps: buildHelpIconProps(helpIconProps)
649
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
767
650
  }
768
651
  }), {}, {
769
652
  onChange: handleChange
@@ -780,7 +663,7 @@ var Time = function Time(_ref) {
780
663
  var Time$1 = /*#__PURE__*/react.memo(Time);
781
664
 
782
665
  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; }
783
- 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; }
666
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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; }
784
667
  var TreeSelect = function TreeSelect(_ref) {
785
668
  var _findBy;
786
669
  var autoFocus = _ref.autoFocus,
@@ -808,7 +691,7 @@ var TreeSelect = function TreeSelect(_ref) {
808
691
  setSelectedRule = _useState2[1];
809
692
  var _useTranslation = reactI18next.useTranslation(),
810
693
  t = _useTranslation.t;
811
- var selectedOption = buildDropdownValue({
694
+ var selectedOption = utils$1.buildDropdownValue({
812
695
  defaultType: defaultType,
813
696
  filter: filter,
814
697
  options: options
@@ -826,8 +709,8 @@ var TreeSelect = function TreeSelect(_ref) {
826
709
  return handleApplyFilter(updatedFilter);
827
710
  };
828
711
  var handleRuleChange = function handleRuleChange(rule) {
829
- var isPreviousRuleEmpty = isRuleEmpty(selectedRule.value);
830
- var isNewRuleEmpty = isRuleEmpty(rule.value);
712
+ var isPreviousRuleEmpty = utils$1.isRuleEmpty(selectedRule.value);
713
+ var isNewRuleEmpty = utils$1.isRuleEmpty(rule.value);
831
714
  setSelectedRule(rule);
832
715
  if (isPreviousRuleEmpty || !isNewRuleEmpty && neetoCist.isNotPresent(filter === null || filter === void 0 ? void 0 : filter.value)) {
833
716
  return handleApplyFilter({
@@ -850,7 +733,7 @@ var TreeSelect = function TreeSelect(_ref) {
850
733
  options: utils.TREE_SELECT_RULES,
851
734
  value: selectedRule,
852
735
  onChange: handleRuleChange
853
- }), !isRuleEmpty(selectedRule.value) &&
736
+ }), !utils$1.isRuleEmpty(selectedRule.value) &&
854
737
  /*#__PURE__*/
855
738
  // eslint-disable-next-line @bigbinary/neeto/merge-spread-attributes
856
739
  jsxRuntime.jsx(NeetoUITreeSelect, _objectSpread(_objectSpread({
@@ -869,9 +752,9 @@ var TreeSelect = function TreeSelect(_ref) {
869
752
  onChange: handleChange
870
753
  }, neetoCist.isNotEmpty(helpIconProps) && {
871
754
  labelProps: {
872
- helpIconProps: buildHelpIconProps(helpIconProps)
755
+ helpIconProps: utils$1.buildHelpIconProps(helpIconProps)
873
756
  }
874
- }), getOtherProps(column)))]
757
+ }), utils$1.getOtherProps(column)))]
875
758
  });
876
759
  };
877
760
  var TreeSelect$1 = /*#__PURE__*/react.memo(TreeSelect);
@@ -969,5 +852,4 @@ var Item = function Item(_ref) {
969
852
  };
970
853
 
971
854
  exports.Item = Item;
972
- exports.isRuleEmpty = isRuleEmpty;
973
- //# sourceMappingURL=index-CzUm_HaL.js.map
855
+ //# sourceMappingURL=index-Bzw5oKqg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Bzw5oKqg.js","sources":["../app/javascript/src/components/Pane/Item/Boolean.jsx","../app/javascript/src/components/Pane/Item/Datetime.jsx","../app/javascript/src/components/Pane/Item/Dropdown.jsx","../app/javascript/src/components/Pane/Item/SingleDatetime.jsx","../app/javascript/src/components/Pane/Item/SingleTime.jsx","../app/javascript/src/components/Pane/Item/Text.jsx","../app/javascript/src/components/Pane/Item/Time.jsx","../app/javascript/src/components/Pane/Item/TreeSelect.jsx","../app/javascript/src/components/Pane/Item/index.jsx"],"sourcesContent":["// type: boolean\n\nimport { memo } from \"react\";\n\nimport { hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Select } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { buildUpdatedFilter, isCheckbox } from \"components/utils\";\n\nimport { DEFAULT_BOOLEAN_OPTIONS, CHECKBOX_OPTIONS } from \"./constants\";\nimport { buildDropdownValue, buildHelpIconProps, getOtherProps } from \"./utils\";\n\nconst Boolean = ({ column, filter, handleApplyFilter, autoFocus }) => {\n const {\n key,\n defaultType = column.type,\n label,\n values,\n helpIconProps = {},\n } = column;\n\n const options = isNotPresent(values)\n ? isCheckbox(defaultType)\n ? CHECKBOX_OPTIONS\n : DEFAULT_BOOLEAN_OPTIONS\n : values;\n const otherProps = getOtherProps(column);\n const value = buildDropdownValue({ defaultType, filter, options });\n const { t } = useTranslation();\n\n const handleChange = option => {\n if (isEmpty(option) || isNil(option)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({ column, defaultType, option });\n handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ autoFocus, label, options, value }}\n isClearable\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n strategy=\"fixed\"\n placeholder={t(\"neetoFilters.messages.selectOption\", {\n resource: label,\n })}\n onChange={handleChange}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default memo(Boolean);\n","// type: date\n\nimport { memo, useState, useEffect } from \"react\";\n\nimport { hyphenate, isNotEmpty } from \"neetocist\";\nimport { DatePicker, Select } from \"neetoui\";\nimport { isEmpty, isNil, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_OPTIONS } from \"common/constants\";\nimport { buildUpdatedFilter, isCustomDateRange } from \"components/utils\";\n\nimport {\n buildDateValues,\n buildHelpIconProps,\n getDateValue,\n getOtherProps,\n initializeDateRule,\n} from \"./utils\";\n\nconst Datetime = ({ column, filter, handleApplyFilter, autoFocus }) => {\n const [selectedRule, setSelectedRule] = useState(initializeDateRule(filter));\n\n const { t } = useTranslation();\n\n const { key, defaultType = column.type, label, helpIconProps = {} } = column;\n const isDatePickerShown = filter && isCustomDateRange(filter.value);\n const otherProps = getOtherProps(column);\n\n const handleChange = option => {\n if (isEmpty(option) || isNil(option)) {\n handleApplyFilter({ _delete: true });\n setSelectedRule({});\n\n return;\n }\n setSelectedRule(option);\n\n const updatedFilter = buildUpdatedFilter({ column, defaultType, option });\n handleApplyFilter(updatedFilter);\n };\n\n const handleDateRangeChange = dates => {\n if (isEmpty(dates) || isNil(dates)) {\n handleApplyFilter({ _delete: true });\n setSelectedRule({});\n\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {\n value: buildDateValues(dates, selectedRule).map(date =>\n date.toISOString()\n ),\n },\n });\n handleApplyFilter(updatedFilter);\n };\n\n useEffect(() => {\n isNil(filter) && setSelectedRule({});\n }, [filter]);\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ autoFocus, label }}\n isClearable\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n options={DATE_OPTIONS}\n strategy=\"fixed\"\n value={selectedRule}\n placeholder={t(\"neetoFilters.messages.selectResource\", {\n resource: label,\n })}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleChange}\n />\n {isDatePickerShown && (\n <DatePicker\n data-testid={`neeto-filters-${hyphenate(key)}-date-range`}\n getPopupContainer={prop(\"parentNode\")}\n type={selectedRule?.value === \"custom-date-range\" ? \"range\" : \"date\"}\n value={getDateValue(filter?.value, selectedRule)}\n onChange={handleDateRangeChange}\n {...otherProps}\n />\n )}\n </div>\n );\n};\n\nexport default memo(Datetime);\n","// type: single_option, multi_option\n\nimport { memo, useEffect, useState } from \"react\";\n\nimport { findBy, hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Select } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MULTI_DROPDOWN_RULES, SINGLE_DROPDOWN_RULES } from \"./constants\";\nimport {\n buildDropdownValue,\n buildDropdownOptions,\n getOtherProps,\n buildHelpIconProps,\n isRuleEmpty,\n} from \"./utils\";\n\nimport { buildUpdatedFilter, isMulti } from \"../../utils\";\n\nconst Dropdown = ({\n column,\n filter,\n handleApplyFilter,\n autoFocus,\n filters,\n}) => {\n const {\n key,\n label,\n values,\n defaultValue,\n defaultType = column.type,\n showRuleSelector = false,\n isClearable = true,\n helpIconProps = {},\n } = column;\n const otherProps = getOtherProps(column);\n const options = buildDropdownOptions({\n defaultType,\n filter,\n options: values,\n });\n\n const dropdownRules = isMulti(defaultType)\n ? MULTI_DROPDOWN_RULES\n : SINGLE_DROPDOWN_RULES;\n const value = buildDropdownValue({ defaultType, filter, options });\n const [selectedRule, setSelectedRule] = useState(\n findBy({ value: filter?.rule }, dropdownRules) || dropdownRules[0]\n );\n const { t } = useTranslation();\n\n const getOption = (isSelectedRuleEmpty, options, value) => {\n if (isSelectedRuleEmpty) {\n return isMulti(defaultType) ? [options[0]] : options[0];\n }\n\n return value;\n };\n\n const handleRuleChange = rule => {\n const isPreviousRuleEmpty = isRuleEmpty(selectedRule.value);\n const isNewRuleEmpty = isRuleEmpty(rule.value);\n setSelectedRule(rule);\n\n if (\n isPreviousRuleEmpty ||\n (!isNewRuleEmpty && isNotPresent(filter?.value))\n ) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n rule: rule.value,\n option: getOption(isNewRuleEmpty, options, value),\n });\n\n handleApplyFilter(updatedFilter);\n };\n\n const handleChange = option => {\n if (isEmpty(option) || isNil(option)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option,\n rule: selectedRule.value,\n });\n\n handleApplyFilter(updatedFilter);\n };\n\n useEffect(() => {\n if (!isEmpty(filters)) return;\n isRuleEmpty(selectedRule.value) && setSelectedRule(dropdownRules[0]);\n }, [filters]);\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n {showRuleSelector && (\n <Select\n {...{ label }}\n defaultValue={dropdownRules[0]}\n options={dropdownRules}\n value={selectedRule}\n onChange={handleRuleChange}\n />\n )}\n {!isRuleEmpty(selectedRule.value) && (\n <Select\n {...{ autoFocus, options, value }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n isClearable={!defaultValue && isClearable}\n isMulti={isMulti(defaultType)}\n label={!showRuleSelector && label}\n strategy=\"fixed\"\n placeholder={t(\"neetoFilters.messages.selectResource\", {\n resource: label,\n })}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleChange}\n {...otherProps}\n />\n )}\n </div>\n );\n};\n\nexport default memo(Dropdown);\n","// type: single_date\n\nimport { useEffect, useState } from \"react\";\n\nimport { findBy, hyphenate, isNotEmpty } from \"neetocist\";\nimport { DatePicker, Select } from \"neetoui\";\nimport { isEmpty, isNil, prop } from \"ramda\";\n\nimport { SINGLE_DATE_OPTIONS } from \"common/constants\";\nimport { buildUpdatedFilter } from \"components/utils\";\n\nimport { buildHelpIconProps, getOtherProps } from \"./utils\";\n\nconst SingleDatetime = ({\n column,\n filter,\n filters,\n handleApplyFilter,\n autoFocus,\n}) => {\n const [selectedRule, setSelectedRule] = useState(\n () =>\n findBy({ value: filter?.rule }, SINGLE_DATE_OPTIONS) ||\n SINGLE_DATE_OPTIONS[0]\n );\n const { key, defaultType = column.type, label, helpIconProps = {} } = column;\n const otherProps = getOtherProps(column);\n const datePickerType = selectedRule.value === \"between\" ? \"range\" : \"date\";\n const value = filter?.value;\n\n // Reset states when \"Clear filters\" button is clicked.\n useEffect(() => {\n if (!isEmpty(filters)) return;\n setSelectedRule(SINGLE_DATE_OPTIONS[0]);\n }, [filters]);\n\n const handleRuleChange = ruleOption => {\n setSelectedRule(ruleOption);\n\n // Clear value if switched between incompatable types\n let updateValue = value;\n if (\n (datePickerType === \"range\" && ruleOption.value !== \"between\") ||\n (datePickerType === \"date\" && ruleOption.value === \"between\")\n ) {\n updateValue = \"\";\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: ruleOption.value,\n value: updateValue,\n });\n handleApplyFilter(updatedFilter);\n };\n\n const handleChange = dates => {\n if (isEmpty(dates) || isNil(dates)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const value =\n datePickerType === \"range\"\n ? dates.map(date => date.toISOString())\n : dates;\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: selectedRule.value,\n value,\n });\n handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ label }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter-rule`}\n defaultValue={SINGLE_DATE_OPTIONS[0]}\n options={SINGLE_DATE_OPTIONS}\n strategy=\"fixed\"\n value={selectedRule}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleRuleChange}\n />\n <DatePicker\n {...{ autoFocus, value }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n getPopupContainer={prop(\"parentNode\")}\n type={datePickerType}\n onChange={handleChange}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default SingleDatetime;\n","import { useEffect, useState } from \"react\";\n\nimport { findBy, hyphenate, isNotEmpty } from \"neetocist\";\nimport { Select, TimePicker } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\n\nimport { SINGLE_TIME_OPTIONS } from \"common/constants\";\nimport { buildUpdatedFilter } from \"components/utils\";\n\nimport { TIME_FORMAT } from \"./constants\";\nimport {\n areCustomTimeRangeValuesNotValid,\n buildHelpIconProps,\n getOtherProps,\n hasInvalidTimes,\n} from \"./utils\";\n\nconst SingleTime = ({\n column,\n filter,\n filters,\n handleApplyFilter,\n autoFocus,\n}) => {\n const [selectedRule, setSelectedRule] = useState(\n () =>\n findBy({ value: filter?.rule }, SINGLE_TIME_OPTIONS) ||\n SINGLE_TIME_OPTIONS[0]\n );\n const { key, defaultType = column.type, label, helpIconProps = {} } = column;\n const otherProps = getOtherProps(column);\n const timePickerType = selectedRule.value === \"between\" ? \"range\" : \"time\";\n const value = filter?.value;\n\n useEffect(() => {\n if (!isEmpty(filters)) return;\n setSelectedRule(SINGLE_TIME_OPTIONS[0]);\n }, [filters]);\n\n const handleRuleChange = ruleOption => {\n setSelectedRule(ruleOption);\n\n // Clear value if switched between incompatible types\n let updateValue = value;\n if (\n (timePickerType === \"range\" && ruleOption.value !== \"between\") ||\n (timePickerType === \"time\" && ruleOption.value === \"between\")\n ) {\n updateValue = \"\";\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: ruleOption.value,\n value: updateValue,\n });\n handleApplyFilter(updatedFilter);\n };\n\n const handleChange = times => {\n if (hasInvalidTimes(times)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n if (timePickerType === \"range\" && areCustomTimeRangeValuesNotValid(times)) {\n return;\n }\n\n const value =\n timePickerType === \"range\"\n ? times?.map(time => time.toISOString())\n : times?.toISOString();\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: selectedRule.value,\n value,\n });\n handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ label }}\n defaultValue={SINGLE_TIME_OPTIONS[0]}\n options={SINGLE_TIME_OPTIONS}\n strategy=\"fixed\"\n value={selectedRule}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleRuleChange}\n />\n <TimePicker\n {...{ autoFocus, value }}\n className=\"w-full\"\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n format={TIME_FORMAT}\n type={timePickerType}\n onChange={handleChange}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default SingleTime;\n","// type: text, number, decimal\nimport { useEffect, useState } from \"react\";\n\nimport { findBy, hyphenate, isNotEmpty } from \"neetocist\";\nimport { useDebounce } from \"neetocommons/react-utils\";\nimport { Input, Select } from \"neetoui\";\nimport { equals, isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n buildRuleOptions,\n buildUpdatedFilter,\n isUndefinedOrEmpty,\n} from \"components/utils\";\n\nimport { buildHelpIconProps, getOtherProps } from \"./utils\";\n\nconst Text = ({\n column,\n filter,\n filters,\n handleApplyFilter,\n autoFocus,\n onClose,\n}) => {\n const {\n key,\n defaultType = column.type,\n label,\n showRuleSelector = false,\n helpIconProps = {},\n } = column;\n const otherProps = getOtherProps(column);\n const ruleOptions = buildRuleOptions({ defaultType });\n const inputType =\n defaultType === \"text\" || defaultType === \"custom.text\" ? \"text\" : \"number\";\n\n const [inputValue, setInputValue] = useState(filter?.value);\n const [selectedRule, setSelectedRule] = useState(\n () => findBy({ value: filter?.rule }, ruleOptions) || ruleOptions[0]\n );\n const debouncedInputValue = useDebounce(inputValue);\n const { t } = useTranslation();\n\n const handleUpdateAndApplyFilter = (\n value = debouncedInputValue,\n rule = selectedRule\n ) => {\n if (equals(filter?.value, value) && equals(selectedRule, rule)) return;\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: {},\n rule: rule.value,\n value: value.trim(),\n });\n handleApplyFilter(updatedFilter);\n };\n\n const handleKeydown = e => {\n if (!(e.key === \"Enter\")) return;\n handleUpdateAndApplyFilter(inputValue);\n onClose();\n };\n\n const handleRuleChange = ruleOption => {\n setSelectedRule(ruleOption);\n if (!debouncedInputValue) return;\n handleUpdateAndApplyFilter(debouncedInputValue, ruleOption);\n };\n\n // Reset states when \"Clear filters\" button is clicked.\n useEffect(() => {\n (isEmpty(filters) || isNil(filter)) && setInputValue(\"\");\n }, [filter]);\n\n useEffect(() => {\n if (!debouncedInputValue) {\n !isUndefinedOrEmpty(filter) && handleApplyFilter({ _delete: true });\n\n return;\n }\n\n handleUpdateAndApplyFilter();\n }, [debouncedInputValue]);\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n {showRuleSelector && (\n <Select\n {...{ label }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter-rule`}\n defaultValue={ruleOptions[0]}\n options={ruleOptions}\n strategy=\"fixed\"\n value={selectedRule}\n onChange={handleRuleChange}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n />\n )}\n <Input\n {...{ autoFocus }}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n label={!showRuleSelector && label}\n type={inputType}\n value={inputValue}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n placeholder={t(\"neetoFilters.messages.enterResource\", {\n resource: label,\n })}\n onChange={event => setInputValue(event.target.value)}\n onKeyDown={handleKeydown}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default Text;\n","// type: time\n\nimport { memo } from \"react\";\n\nimport { hyphenate, isNotEmpty } from \"neetocist\";\nimport { Select, TimePicker } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TIME_OPTIONS } from \"common/constants\";\nimport { buildUpdatedFilter, isCustomTimeRange } from \"components/utils\";\n\nimport { TIME_FORMAT } from \"./constants\";\nimport {\n areCustomTimeRangeValuesNotValid,\n buildHelpIconProps,\n buildSingleTimeValue,\n getOtherProps,\n hasInvalidTimes,\n} from \"./utils\";\n\nconst Time = ({ column, filter, handleApplyFilter, autoFocus }) => {\n const { key, defaultType = column.type, label, helpIconProps = {} } = column;\n const otherProps = getOtherProps(column);\n const value = buildSingleTimeValue(filter);\n const isCustomTimeRangeShown = filter && isCustomTimeRange(filter.value);\n\n const { t } = useTranslation();\n\n const handleChange = option => {\n if (isEmpty(option) || isNil(option)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({ column, defaultType, option });\n handleApplyFilter(updatedFilter);\n };\n\n const handleTimeRangeChange = times => {\n if (hasInvalidTimes(times)) {\n handleApplyFilter({ _delete: true });\n\n return;\n }\n\n if (isCustomTimeRangeShown && areCustomTimeRangeValuesNotValid(times)) {\n return;\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: { value: times.map(time => time.toISOString()) },\n });\n handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n <Select\n {...{ autoFocus, label, value }}\n isClearable\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n options={TIME_OPTIONS}\n strategy=\"fixed\"\n placeholder={t(\"neetoFilters.messages.selectResource\", {\n resource: label,\n })}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n onChange={handleChange}\n />\n {isCustomTimeRangeShown && (\n <TimePicker\n className=\"w-full\"\n data-testid={`neeto-filters-${hyphenate(key)}-date-range`}\n format={TIME_FORMAT}\n type=\"range\"\n value={filter.value}\n onChange={handleTimeRangeChange}\n {...otherProps}\n />\n )}\n </div>\n );\n};\n\nexport default memo(Time);\n","// type: tree_select\n\nimport { memo, useState } from \"react\";\n\nimport { findBy, hyphenate, isNotEmpty, isNotPresent } from \"neetocist\";\nimport { Select, TreeSelect as NeetoUITreeSelect } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { buildUpdatedFilter } from \"components/utils\";\n\nimport { TREE_SELECT_RULES } from \"./constants\";\nimport {\n buildDropdownValue,\n buildHelpIconProps,\n getOtherProps,\n isRuleEmpty,\n} from \"./utils\";\n\nconst TreeSelect = ({ autoFocus, column, filter, handleApplyFilter }) => {\n const {\n key,\n label,\n defaultType = column.type,\n defaultValue,\n helpIconProps = {},\n isClearable = true,\n showRuleSelector = false,\n values: options,\n } = column;\n\n const initialRule =\n findBy({ value: filter?.rule }, TREE_SELECT_RULES) ?? TREE_SELECT_RULES[0];\n const [selectedRule, setSelectedRule] = useState(initialRule);\n\n const { t } = useTranslation();\n\n const selectedOption = buildDropdownValue({ defaultType, filter, options });\n\n const handleChange = option => {\n if (isNotPresent(option)) return handleApplyFilter({ _delete: true });\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option,\n rule: selectedRule.value,\n });\n\n return handleApplyFilter(updatedFilter);\n };\n\n const handleRuleChange = rule => {\n const isPreviousRuleEmpty = isRuleEmpty(selectedRule.value);\n const isNewRuleEmpty = isRuleEmpty(rule.value);\n setSelectedRule(rule);\n\n if (\n isPreviousRuleEmpty ||\n (!isNewRuleEmpty && isNotPresent(filter?.value))\n ) {\n return handleApplyFilter({ _delete: true });\n }\n\n const updatedFilter = buildUpdatedFilter({\n column,\n defaultType,\n option: isNewRuleEmpty ? [options[0]] : selectedOption,\n rule: rule.value,\n });\n\n return handleApplyFilter(updatedFilter);\n };\n\n return (\n <div className=\"neeto-filters-pane-filter__item-wrapper\">\n {showRuleSelector && (\n <Select\n {...{ label }}\n defaultValue={TREE_SELECT_RULES[0]}\n options={TREE_SELECT_RULES}\n value={selectedRule}\n onChange={handleRuleChange}\n />\n )}\n {!isRuleEmpty(selectedRule.value) && (\n // eslint-disable-next-line @bigbinary/neeto/merge-spread-attributes\n <NeetoUITreeSelect\n {...{ autoFocus }}\n multiple\n showSearch\n treeDataSimpleMode\n allowClear={!defaultValue && isClearable}\n data-testid={`neeto-filters-${hyphenate(key)}-filter`}\n label={!showRuleSelector && label}\n treeData={options}\n value={selectedOption}\n placeholder={t(\"neetoFilters.messages.selectResource\", {\n resource: label,\n })}\n onChange={handleChange}\n {...(isNotEmpty(helpIconProps) && {\n labelProps: { helpIconProps: buildHelpIconProps(helpIconProps) },\n })}\n {...getOtherProps(column)}\n />\n )}\n </div>\n );\n};\n\nexport default memo(TreeSelect);\n","import { useMemo } from \"react\";\n\nimport { findBy, removeBy, replaceBy, noop } from \"neetocist\";\nimport { append } from \"ramda\";\n\nimport Boolean from \"./Boolean\";\nimport Datetime from \"./Datetime\";\nimport Dropdown from \"./Dropdown\";\nimport SingleDatetime from \"./SingleDatetime\";\nimport SingleTime from \"./SingleTime\";\nimport Text from \"./Text\";\nimport Time from \"./Time\";\nimport TreeSelect from \"./TreeSelect\";\n\nimport {\n isBoolean,\n isCheckbox,\n isDate,\n isDigit,\n isSingleDate,\n isSingleTime,\n isText,\n isTime,\n isTreeSelect,\n} from \"../../utils\";\n\nconst Item = ({ column, filters, onChange, autoFocus, onClose = noop }) => {\n const { key, defaultType = column.type } = column;\n\n const filter = useMemo(() => findBy({ key }, filters), [filters, key]);\n\n const handleApplyFilter = updatedFilter => {\n if (updatedFilter._delete) onChange(removeBy({ key }, filters));\n else if (!filter) onChange(append(updatedFilter, filters));\n else onChange(replaceBy({ key }, updatedFilter, filters));\n };\n\n if (isText(defaultType) || isDigit(defaultType)) {\n return (\n <Text\n {...{ autoFocus, column, filter, filters, handleApplyFilter, onClose }}\n />\n );\n }\n\n if (isDate(defaultType)) {\n return <Datetime {...{ autoFocus, column, filter, handleApplyFilter }} />;\n }\n\n if (isTime(defaultType)) {\n return <Time {...{ autoFocus, column, filter, handleApplyFilter }} />;\n }\n\n if (isSingleDate(defaultType)) {\n return (\n <SingleDatetime\n {...{ autoFocus, column, filter, filters, handleApplyFilter }}\n />\n );\n }\n\n if (isSingleTime(defaultType)) {\n return (\n <SingleTime\n {...{ autoFocus, column, filter, filters, handleApplyFilter }}\n />\n );\n }\n\n if (isBoolean(defaultType) || isCheckbox(defaultType)) {\n return (\n <Boolean\n {...{ autoFocus, column, defaultType, filter, handleApplyFilter }}\n />\n );\n }\n\n if (isTreeSelect(defaultType)) {\n return <TreeSelect {...{ autoFocus, column, filter, handleApplyFilter }} />;\n }\n\n return (\n <Dropdown {...{ autoFocus, column, filter, filters, handleApplyFilter }} />\n );\n};\n\nexport default Item;\n"],"names":["Boolean","_ref","column","filter","handleApplyFilter","autoFocus","key","_column$defaultType","defaultType","type","label","values","_column$helpIconProps","helpIconProps","options","isNotPresent","isCheckbox","CHECKBOX_OPTIONS","DEFAULT_BOOLEAN_OPTIONS","otherProps","getOtherProps","value","buildDropdownValue","_useTranslation","useTranslation","t","handleChange","option","isEmpty","isNil","_delete","updatedFilter","buildUpdatedFilter","_jsx","className","children","Select","_objectSpread","isClearable","isNotEmpty","labelProps","buildHelpIconProps","concat","hyphenate","strategy","placeholder","resource","onChange","memo","Datetime","_useState","useState","initializeDateRule","_useState2","_slicedToArray","selectedRule","setSelectedRule","isDatePickerShown","isCustomDateRange","handleDateRangeChange","dates","buildDateValues","map","date","toISOString","useEffect","_jsxs","DATE_OPTIONS","DatePicker","getPopupContainer","prop","getDateValue","Dropdown","filters","defaultValue","_column$showRuleSelec","showRuleSelector","_column$isClearable","buildDropdownOptions","dropdownRules","isMulti","MULTI_DROPDOWN_RULES","SINGLE_DROPDOWN_RULES","findBy","rule","getOption","isSelectedRuleEmpty","handleRuleChange","isPreviousRuleEmpty","isRuleEmpty","isNewRuleEmpty","SingleDatetime","SINGLE_DATE_OPTIONS","datePickerType","ruleOption","updateValue","SingleTime","SINGLE_TIME_OPTIONS","timePickerType","times","hasInvalidTimes","areCustomTimeRangeValuesNotValid","time","TimePicker","format","TIME_FORMAT","Text","onClose","ruleOptions","buildRuleOptions","inputType","inputValue","setInputValue","_useState3","_useState4","debouncedInputValue","useDebounce","handleUpdateAndApplyFilter","arguments","length","undefined","equals","trim","handleKeydown","e","isUndefinedOrEmpty","Input","event","target","onKeyDown","Time","buildSingleTimeValue","isCustomTimeRangeShown","isCustomTimeRange","handleTimeRangeChange","TIME_OPTIONS","TreeSelect","_findBy","initialRule","TREE_SELECT_RULES","selectedOption","NeetoUITreeSelect","multiple","showSearch","treeDataSimpleMode","allowClear","treeData","Item","_ref$onClose","noop","useMemo","removeBy","append","replaceBy","isText","isDigit","isDate","isTime","isSingleDate","isSingleTime","isBoolean","isTreeSelect"],"mappings":"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"}