@sparrowengg/integrations-templates-frontend 5.0.12 → 5.0.13

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.
@@ -0,0 +1,154 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __defProps = Object.defineProperties;
8
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
9
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ var __objRest = (source, exclude) => {
26
+ var target = {};
27
+ for (var prop in source)
28
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
+ target[prop] = source[prop];
30
+ if (source != null && __getOwnPropSymbols)
31
+ for (var prop of __getOwnPropSymbols(source)) {
32
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
+ target[prop] = source[prop];
34
+ }
35
+ return target;
36
+ };
37
+ const RefreshIcon = /* #__PURE__ */ React.forwardRef(
38
+ (_a, ref) => {
39
+ var _b = _a, {
40
+ color = "currentColor",
41
+ size = 32,
42
+ strokeWidth = 1.5
43
+ } = _b, rest = __objRest(_b, [
44
+ "color",
45
+ "size",
46
+ "strokeWidth"
47
+ ]);
48
+ return /* @__PURE__ */ jsxRuntime.jsxs(
49
+ "svg",
50
+ __spreadProps(__spreadValues({
51
+ viewBox: "0 0 32 32",
52
+ fill: "none",
53
+ xmlns: "http://www.w3.org/2000/svg"
54
+ }, rest), {
55
+ width: size,
56
+ height: size,
57
+ ref,
58
+ children: [
59
+ /* @__PURE__ */ jsxRuntime.jsx(
60
+ "path",
61
+ {
62
+ d: "M16 5.33128C19.9069 5.33096 23.5013 7.46656 25.3693 10.8979",
63
+ stroke: color,
64
+ strokeWidth,
65
+ strokeLinecap: "round",
66
+ strokeLinejoin: "round",
67
+ vectorEffect: "non-scaling-stroke"
68
+ }
69
+ ),
70
+ /* @__PURE__ */ jsxRuntime.jsx(
71
+ "path",
72
+ {
73
+ d: "M26.6667 15.9979C26.6667 21.889 21.891 26.6646 16 26.6646",
74
+ stroke: color,
75
+ strokeWidth,
76
+ strokeLinecap: "round",
77
+ strokeLinejoin: "round",
78
+ vectorEffect: "non-scaling-stroke"
79
+ }
80
+ ),
81
+ /* @__PURE__ */ jsxRuntime.jsx(
82
+ "path",
83
+ {
84
+ d: "M16 26.6646C12.0931 26.6649 8.49866 24.5293 6.63068 21.0979",
85
+ stroke: color,
86
+ strokeWidth,
87
+ strokeLinecap: "round",
88
+ strokeLinejoin: "round",
89
+ vectorEffect: "non-scaling-stroke"
90
+ }
91
+ ),
92
+ /* @__PURE__ */ jsxRuntime.jsx(
93
+ "path",
94
+ {
95
+ d: "M5.33334 15.9979C5.33334 10.1069 10.109 5.33126 16 5.33126",
96
+ stroke: color,
97
+ strokeWidth,
98
+ strokeLinecap: "round",
99
+ strokeLinejoin: "round",
100
+ vectorEffect: "non-scaling-stroke"
101
+ }
102
+ ),
103
+ /* @__PURE__ */ jsxRuntime.jsx(
104
+ "path",
105
+ {
106
+ d: "M6.63068 21.098C9.44642 26.2725 15.9238 28.1847 21.0984 25.3689C24.5309 23.5011 26.6673 19.9058 26.6667 15.998",
107
+ stroke: color,
108
+ strokeWidth,
109
+ strokeLinecap: "round",
110
+ strokeLinejoin: "round",
111
+ vectorEffect: "non-scaling-stroke"
112
+ }
113
+ ),
114
+ /* @__PURE__ */ jsxRuntime.jsx(
115
+ "path",
116
+ {
117
+ d: "M5.33334 15.9979V15.9963C5.33334 10.1053 10.109 5.32963 16 5.32963C19.9078 5.32963 23.5028 7.46653 25.3701 10.8994",
118
+ stroke: color,
119
+ strokeWidth,
120
+ strokeLinecap: "round",
121
+ strokeLinejoin: "round",
122
+ vectorEffect: "non-scaling-stroke"
123
+ }
124
+ ),
125
+ /* @__PURE__ */ jsxRuntime.jsx(
126
+ "path",
127
+ {
128
+ d: "M10.7294 21.098H6.01602V25.8126",
129
+ stroke: color,
130
+ strokeWidth,
131
+ strokeLinecap: "round",
132
+ strokeLinejoin: "round",
133
+ vectorEffect: "non-scaling-stroke"
134
+ }
135
+ ),
136
+ /* @__PURE__ */ jsxRuntime.jsx(
137
+ "path",
138
+ {
139
+ d: "M21.2707 10.8979H25.984V6.18328",
140
+ stroke: color,
141
+ strokeWidth,
142
+ strokeLinecap: "round",
143
+ strokeLinejoin: "round",
144
+ vectorEffect: "non-scaling-stroke"
145
+ }
146
+ )
147
+ ]
148
+ })
149
+ );
150
+ }
151
+ );
152
+
153
+ exports.RefreshIcon = RefreshIcon;
154
+ //# sourceMappingURL=refresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh.js","sources":["../../../../../../../../../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/refresh.js"],"sourcesContent":["import { jsxs, jsx } from 'react/jsx-runtime';\nimport React from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst RefreshIcon = /* #__PURE__ */ React.forwardRef(\n (_a, ref) => {\n var _b = _a, {\n color = \"currentColor\",\n size = 32,\n strokeWidth = 1.5\n } = _b, rest = __objRest(_b, [\n \"color\",\n \"size\",\n \"strokeWidth\"\n ]);\n return /* @__PURE__ */ jsxs(\n \"svg\",\n __spreadProps(__spreadValues({\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), {\n width: size,\n height: size,\n ref,\n children: [\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M16 5.33128C19.9069 5.33096 23.5013 7.46656 25.3693 10.8979\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M26.6667 15.9979C26.6667 21.889 21.891 26.6646 16 26.6646\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M16 26.6646C12.0931 26.6649 8.49866 24.5293 6.63068 21.0979\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M5.33334 15.9979C5.33334 10.1069 10.109 5.33126 16 5.33126\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M6.63068 21.098C9.44642 26.2725 15.9238 28.1847 21.0984 25.3689C24.5309 23.5011 26.6673 19.9058 26.6667 15.998\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M5.33334 15.9979V15.9963C5.33334 10.1053 10.109 5.32963 16 5.32963C19.9078 5.32963 23.5028 7.46653 25.3701 10.8994\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M10.7294 21.098H6.01602V25.8126\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M21.2707 10.8979H25.984V6.18328\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n )\n ]\n })\n );\n }\n);\n\nexport { RefreshIcon };\n//# sourceMappingURL=refresh.js.map\n"],"names":["jsxs","jsx"],"mappings":"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","x_google_ignoreList":[0]}
@@ -7,11 +7,12 @@ var useFieldValuePopover = require('../../hooks/use-field-value-popover.js');
7
7
  var box = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js');
8
8
  var text = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js');
9
9
  var calendar = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/calendar/calendar.js');
10
+ var flex = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js');
10
11
  var input = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/input/input.js');
11
12
  var search = require('../../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/search.js');
12
- var flex = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js');
13
- var checkbox = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/checkbox/checkbox.js');
14
13
  var button = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/button/button.js');
14
+ var refresh = require('../../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/refresh.js');
15
+ var checkbox = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/checkbox/checkbox.js');
15
16
  var formInput = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/input/form-input.js');
16
17
  var formLabel = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/form-label/form-label.js');
17
18
 
@@ -42,6 +43,9 @@ const RenderFieldValuePopover = ({
42
43
  resetEditing,
43
44
  setShowPopover
44
45
  }) => {
46
+ var _a;
47
+ console.log("currentFilter", currentFilter);
48
+ console.log("fieldOptions", fieldOptions);
45
49
  const {
46
50
  date,
47
51
  setDate,
@@ -51,13 +55,31 @@ const RenderFieldValuePopover = ({
51
55
  handleToggleField,
52
56
  handleInputChange
53
57
  } = useFieldValuePopover.useFieldValuePopover({ currentFilter });
54
- const field = React.useMemo(
55
- () => {
56
- var _a, _b;
57
- return ((_a = fieldOptions.find((option) => option.value === currentFilter.field)) == null ? void 0 : _a.options) || ((_b = currentFilter == null ? void 0 : currentFilter.field) == null ? void 0 : _b.options) || [];
58
- },
59
- [fieldOptions, currentFilter.field]
60
- );
58
+ const [asyncOptions, setAsyncOptions] = React.useState([]);
59
+ const [isLoadingAsync, setIsLoadingAsync] = React.useState(false);
60
+ const matchedFieldOption = React.useMemo(() => {
61
+ var _a2;
62
+ const fieldValue = typeof currentFilter.field === "object" ? (_a2 = currentFilter.field) == null ? void 0 : _a2.value : currentFilter.field;
63
+ return fieldOptions.find((option) => option.value === fieldValue);
64
+ }, [fieldOptions, currentFilter.field]);
65
+ React.useEffect(() => {
66
+ if (!(matchedFieldOption == null ? void 0 : matchedFieldOption.isAsync) || !(matchedFieldOption == null ? void 0 : matchedFieldOption.asyncHandler))
67
+ return;
68
+ setIsLoadingAsync(true);
69
+ matchedFieldOption.asyncHandler().then((options) => setAsyncOptions(options)).catch(() => setAsyncOptions([])).finally(() => setIsLoadingAsync(false));
70
+ }, [matchedFieldOption == null ? void 0 : matchedFieldOption.value]);
71
+ const field = React.useMemo(() => {
72
+ var _a2;
73
+ const staticOptions = (matchedFieldOption == null ? void 0 : matchedFieldOption.options) || (typeof (currentFilter == null ? void 0 : currentFilter.field) === "object" ? (_a2 = currentFilter.field) == null ? void 0 : _a2.options : void 0) || [];
74
+ if (matchedFieldOption == null ? void 0 : matchedFieldOption.isAsync) {
75
+ const asyncValues = new Set(asyncOptions.map((o) => o.value));
76
+ const dedupedStatic = staticOptions.filter(
77
+ (o) => !asyncValues.has(o.value)
78
+ );
79
+ return [...dedupedStatic, ...asyncOptions];
80
+ }
81
+ return staticOptions;
82
+ }, [matchedFieldOption, (_a = currentFilter == null ? void 0 : currentFilter.field) == null ? void 0 : _a.options, asyncOptions]);
61
83
  const filteredOptions = React.useMemo(
62
84
  () => field.filter(
63
85
  (option) => option.label.toLowerCase().includes(inputValue.toLowerCase())
@@ -70,7 +92,13 @@ const RenderFieldValuePopover = ({
70
92
  setShowPopover(false);
71
93
  resetEditing();
72
94
  },
73
- [setCurrentField, currentFilter == null ? void 0 : currentFilter.id, filters == null ? void 0 : filters.id, setShowPopover, resetEditing]
95
+ [
96
+ setCurrentField,
97
+ currentFilter == null ? void 0 : currentFilter.id,
98
+ filters == null ? void 0 : filters.id,
99
+ setShowPopover,
100
+ resetEditing
101
+ ]
74
102
  );
75
103
  const handleDateApply = React.useCallback(() => {
76
104
  handleApplyValue(dayjs_min.default(date).format("MMM D YYYY . hh:mm A"));
@@ -124,6 +152,17 @@ const RenderFieldValuePopover = ({
124
152
  }
125
153
  ));
126
154
  }
155
+ if (isLoadingAsync && (currentFilter.dataType === "SELECT" || currentFilter.dataType === "MULTI_SELECT")) {
156
+ return /* @__PURE__ */ React.createElement(
157
+ flex.Flex,
158
+ {
159
+ alignItems: "center",
160
+ justifyContent: "center",
161
+ css: { padding: "$6", minHeight: 80 }
162
+ },
163
+ /* @__PURE__ */ React.createElement(text.Text, { size: "sm", css: { color: "$neutral800" } }, "Loading options...")
164
+ );
165
+ }
127
166
  if (field == null ? void 0 : field.length) {
128
167
  if (currentFilter.dataType === "SELECT") {
129
168
  return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(box.Box, { css: { padding: "$4" } }, /* @__PURE__ */ React.createElement(
@@ -141,7 +180,6 @@ const RenderFieldValuePopover = ({
141
180
  {
142
181
  flexDirection: "column",
143
182
  css: {
144
- paddingBottom: "$4",
145
183
  maxHeight: 240,
146
184
  height: "100%",
147
185
  overflow: "auto"
@@ -173,6 +211,51 @@ const RenderFieldValuePopover = ({
173
211
  }
174
212
  },
175
213
  "No options"
214
+ ),
215
+ (matchedFieldOption == null ? void 0 : matchedFieldOption.hasLoadMore) && /* @__PURE__ */ React.createElement(
216
+ flex.Flex,
217
+ {
218
+ css: {
219
+ position: "sticky",
220
+ bottom: 0,
221
+ background: "$white900",
222
+ paddingBlock: "$4 !important",
223
+ borderRadius: "0 !important",
224
+ borderBottomLeftRadius: "12px !important",
225
+ borderBottomRightRadius: "12px !important"
226
+ }
227
+ },
228
+ /* @__PURE__ */ React.createElement(
229
+ button.Button,
230
+ {
231
+ leftIcon: /* @__PURE__ */ React.createElement(refresh.RefreshIcon, null),
232
+ onClick: async (e) => {
233
+ var _a2;
234
+ setIsLoadingAsync(true);
235
+ const options = await ((_a2 = matchedFieldOption == null ? void 0 : matchedFieldOption.asyncHandler) == null ? void 0 : _a2.call(
236
+ matchedFieldOption,
237
+ "loadMore"
238
+ ));
239
+ setAsyncOptions(options);
240
+ setIsLoadingAsync(false);
241
+ e.stopPropagation();
242
+ e.preventDefault();
243
+ },
244
+ css: {
245
+ borderRadius: "0 !important",
246
+ width: "100%",
247
+ "&:hover": {
248
+ borderBottomLeftRadius: "12px !important",
249
+ borderBottomRightRadius: "12px !important"
250
+ },
251
+ overflow: "hidden"
252
+ },
253
+ size: "lg",
254
+ variant: "ghost",
255
+ color: "secondary"
256
+ },
257
+ "Load More"
258
+ )
176
259
  )
177
260
  ));
178
261
  }
@@ -191,8 +274,8 @@ const RenderFieldValuePopover = ({
191
274
  {
192
275
  flexDirection: "column",
193
276
  css: {
194
- paddingBottom: "$4",
195
- maxHeight: 240,
277
+ // paddingBottom: '$4',
278
+ maxHeight: 280,
196
279
  height: "100%",
197
280
  overflow: "auto"
198
281
  }
@@ -245,21 +328,66 @@ const RenderFieldValuePopover = ({
245
328
  field2.label
246
329
  )
247
330
  ))
248
- )), /* @__PURE__ */ React.createElement(
331
+ )), (matchedFieldOption == null ? void 0 : matchedFieldOption.hasLoadMore) && /* @__PURE__ */ React.createElement(
249
332
  flex.Flex,
250
333
  {
251
- justifyContent: "flex-end",
252
334
  css: {
253
335
  position: "sticky",
254
- bottom: 0,
336
+ bottom: 29,
337
+ background: "$white900",
255
338
  paddingBlock: "$4 !important",
256
- marginInlineEnd: "$6 !important"
339
+ borderRadius: "0 !important"
257
340
  }
258
341
  },
259
342
  /* @__PURE__ */ React.createElement(
260
343
  button.Button,
261
344
  {
262
- size: "sm",
345
+ leftIcon: /* @__PURE__ */ React.createElement(refresh.RefreshIcon, null),
346
+ onClick: async (e) => {
347
+ var _a2;
348
+ setIsLoadingAsync(true);
349
+ const options = await ((_a2 = matchedFieldOption == null ? void 0 : matchedFieldOption.asyncHandler) == null ? void 0 : _a2.call(
350
+ matchedFieldOption,
351
+ "loadMore"
352
+ ));
353
+ setAsyncOptions(options);
354
+ setIsLoadingAsync(false);
355
+ e.stopPropagation();
356
+ e.preventDefault();
357
+ },
358
+ css: {
359
+ borderRadius: "0 !important",
360
+ width: "100%",
361
+ overflow: "hidden"
362
+ },
363
+ size: "md",
364
+ variant: "ghost",
365
+ color: "secondary"
366
+ },
367
+ "Load More"
368
+ )
369
+ ), /* @__PURE__ */ React.createElement(
370
+ flex.Flex,
371
+ {
372
+ css: {
373
+ position: "sticky",
374
+ bottom: 0,
375
+ background: "$white900",
376
+ borderBottomLeftRadius: "12px !important",
377
+ borderBottomRightRadius: "12px !important"
378
+ }
379
+ },
380
+ /* @__PURE__ */ React.createElement(
381
+ button.Button,
382
+ {
383
+ css: {
384
+ width: "100%",
385
+ overflow: "hidden",
386
+ borderRadius: "0 !important",
387
+ borderBottomLeftRadius: "12px !important",
388
+ borderBottomRightRadius: "12px !important"
389
+ },
390
+ size: "md",
263
391
  variant: "ghost",
264
392
  color: "primary",
265
393
  onClick: handleApplySelected
@@ -1 +1 @@
1
- {"version":3,"file":"render-field-value-popover.js","sources":["../../../../../src/triggers/components/filter/render-field-value-popover.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback, useMemo } from 'react';\nimport {\n Flex,\n Box,\n Button,\n Input,\n Calendar,\n Text,\n FormInput,\n FormLabel,\n Checkbox,\n} from '@sparrowengg/twigs-react';\nimport dayjs from 'dayjs';\nimport { SearchIcon } from '@sparrowengg/twigs-react-icons';\nimport { booleanOptions } from '../../../commons/constants';\nimport { useFieldValuePopover } from '../../hooks';\n\n/* ----- Types / Interfaces ----- */\n\ntype RenderFieldValuePopoverProps = {\n fieldOptions: any;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n currentFilter: any;\n filters: any;\n resetEditing: () => void;\n setShowPopover: (show: boolean) => void;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Render field value popover content based on data type\n *\n * @param {RenderFieldValuePopoverProps} props - Component props\n * @returns {JSX.Element} Rendered popover content\n */\nexport const RenderFieldValuePopover: React.FC<\n RenderFieldValuePopoverProps\n> = ({\n fieldOptions,\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n setShowPopover,\n}) => {\n /* ----- Hooks ----- */\n\n const {\n date,\n setDate,\n inputValue,\n setInputValue,\n selectedField,\n handleSelectAll,\n handleToggleField,\n handleInputChange,\n } = useFieldValuePopover({ currentFilter });\n\n /* ----- Constants ----- */\n\n const field = useMemo(\n () =>\n fieldOptions.find((option: any) => option.value === currentFilter.field)\n ?.options ||\n currentFilter?.field?.options ||\n [],\n [fieldOptions, currentFilter.field]\n );\n\n const filteredOptions = useMemo(\n () =>\n field.filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n ),\n [field, inputValue]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleApplyValue = useCallback(\n (value: any) => {\n setCurrentField(value, currentFilter?.id, filters?.id, 'value');\n setShowPopover(false);\n resetEditing();\n },\n [setCurrentField, currentFilter?.id, filters?.id, setShowPopover, resetEditing]\n );\n\n const handleDateApply = useCallback(() => {\n handleApplyValue(dayjs(date).format('MMM D YYYY . hh:mm A'));\n }, [date, handleApplyValue]);\n\n const handleInputKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' && inputValue?.length) {\n handleApplyValue(inputValue);\n }\n },\n [inputValue, handleApplyValue]\n );\n\n const handleSaveClick = useCallback(() => {\n handleApplyValue(inputValue);\n }, [inputValue, handleApplyValue]);\n\n const handleApplySelected = useCallback(() => {\n handleApplyValue(selectedField);\n }, [selectedField, handleApplyValue]);\n\n /* ----- Render Functions ----- */\n\n // Handle NO_VALUE and ANY_VALUE comparators\n if (\n currentFilter.comparator === 'NO_VALUE' ||\n currentFilter.comparator === 'ANY_VALUE'\n ) {\n handleApplyValue(' ');\n return <></>;\n }\n\n // Boolean type\n if (currentFilter.dataType === 'BOOLEAN') {\n return (\n <Box css={{ paddingBlock: '$5' }}>\n {booleanOptions.map((option) => (\n <Text\n key={String(option.value)}\n size=\"sm\"\n onClick={() => handleApplyValue(option.value)}\n css={{\n padding: '$3 $6',\n cursor: 'pointer',\n '&:hover': {\n background: '$neutral100',\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </Box>\n );\n }\n\n // Date/Time type\n if (currentFilter.dataType === 'DATE_TIME') {\n return (\n <Box>\n <Calendar\n size=\"md\"\n footerActionText=\"Apply\"\n value={date}\n showTimePicker\n onChange={setDate}\n footerAction={handleDateApply}\n />\n </Box>\n );\n }\n\n // Select with options\n if (field?.length) {\n // Single select\n if (currentFilter.dataType === 'SELECT') {\n return (\n <>\n <Box css={{ padding: '$4' }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n paddingBottom: '$4',\n maxHeight: 240,\n height: '100%',\n overflow: 'auto',\n }}\n >\n {!!filteredOptions.length ? (\n <>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\n onClick={() => handleApplyValue(field.value)}\n css={{\n padding: '$3 $6',\n transition: 'all .3s ease',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: 'rgba(100, 116, 139, 0.06)',\n },\n }}\n >\n <Text size=\"sm\">{field.label}</Text>\n </Box>\n ))}\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: '$3 $6',\n color: '$neutral800',\n textAlign: 'center',\n }}\n >\n No options\n </Text>\n )}\n </Flex>\n </>\n );\n }\n\n // Multi-select\n return (\n <>\n <Box css={{ padding: '$4' }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n paddingBottom: '$4',\n maxHeight: 240,\n height: '100%',\n overflow: 'auto',\n }}\n >\n {!!field.length ? (\n <>\n <Box css={{ padding: '$3 $6' }}>\n <Checkbox\n size=\"sm\"\n checked={selectedField.length === field.length}\n onChange={(checked) => handleSelectAll(field, !!checked)}\n >\n <Text\n css={{\n cursor: 'pointer',\n }}\n size=\"sm\"\n >\n Select All\n </Text>\n </Checkbox>\n </Box>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\n css={{\n padding: '$3 $6',\n transition: 'all .3s ease',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: 'rgba(100, 116, 139, 0.06)',\n },\n }}\n >\n <Flex gap=\"$2\">\n <Checkbox\n size=\"sm\"\n checked={selectedField.includes(field.value)}\n onChange={(checked) =>\n handleToggleField(field.value, !!checked)\n }\n >\n <Text\n css={{\n cursor: 'pointer',\n }}\n size=\"sm\"\n >\n {field.label}\n </Text>\n </Checkbox>\n </Flex>\n </Box>\n ))}\n <Flex\n justifyContent=\"flex-end\"\n css={{\n position: 'sticky',\n bottom: 0,\n paddingBlock: '$4 !important',\n marginInlineEnd: '$6 !important',\n }}\n >\n <Button\n size=\"sm\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={handleApplySelected}\n >\n Apply\n </Button>\n </Flex>\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: '$3 $6',\n color: '$neutral800',\n textAlign: 'center',\n }}\n >\n No options\n </Text>\n )}\n </Flex>\n </>\n );\n }\n\n // Text/Number input\n return (\n <>\n <Box css={{ padding: '$4' }}>\n <FormInput\n placeholder={\n currentFilter.dataType === 'NUMBER'\n ? 'Enter a number'\n : 'Enter a value'\n }\n type=\"text\"\n variant=\"filled\"\n size=\"lg\"\n {...((currentFilter.dataType === 'NUMBER' ||\n currentFilter.dataType === 'PHONE_NUMBER') && {\n maxLength: 10,\n })}\n value={inputValue}\n onChange={(e) =>\n handleInputChange(\n (e.target as HTMLInputElement).value,\n currentFilter.dataType\n )\n }\n onKeyDown={handleInputKeyDown}\n />\n {currentFilter.dataType === 'PHONE_NUMBER' && (\n <FormLabel\n size=\"xs\"\n css={{ fontWeight: '$5', marginTop: '$2', marginLeft: '$1' }}\n >\n Enter a valid number without the country code\n </FormLabel>\n )}\n </Box>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderTop: '$borderWidths$xs solid $neutral100',\n padding: '$4 $6',\n marginTop: '$4',\n }}\n >\n <Button\n size=\"md\"\n color=\"secondary\"\n variant=\"ghost\"\n onClick={() => setShowPopover(false)}\n >\n Cancel\n </Button>\n <Button\n size=\"md\"\n variant=\"ghost\"\n disabled={!inputValue?.length}\n onClick={handleSaveClick}\n >\n Save\n </Button>\n </Flex>\n </>\n );\n};\n"],"names":["useFieldValuePopover","useMemo","useCallback","dayjs","Box","booleanOptions","Text","Calendar","Input","SearchIcon","Flex","field","Checkbox","Button","FormInput","FormLabel"],"mappings":"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"}
1
+ {"version":3,"file":"render-field-value-popover.js","sources":["../../../../../src/triggers/components/filter/render-field-value-popover.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n Flex,\n Box,\n Button,\n Input,\n Calendar,\n Text,\n FormInput,\n FormLabel,\n Checkbox,\n} from \"@sparrowengg/twigs-react\";\nimport dayjs from \"dayjs\";\nimport { SearchIcon, RefreshIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { booleanOptions } from \"../../../commons/constants\";\nimport { useFieldValuePopover } from \"../../hooks\";\n\n/* ----- Types / Interfaces ----- */\n\ntype RenderFieldValuePopoverProps = {\n fieldOptions: any;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n currentFilter: any;\n filters: any;\n resetEditing: () => void;\n setShowPopover: (show: boolean) => void;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Render field value popover content based on data type\n *\n * @param {RenderFieldValuePopoverProps} props - Component props\n * @returns {JSX.Element} Rendered popover content\n */\nexport const RenderFieldValuePopover: React.FC<\n RenderFieldValuePopoverProps\n> = ({\n fieldOptions,\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n setShowPopover,\n}) => {\n console.log(\"currentFilter\", currentFilter);\n console.log(\"fieldOptions\", fieldOptions);\n /* ----- Hooks ----- */\n\n const {\n date,\n setDate,\n inputValue,\n setInputValue,\n selectedField,\n handleSelectAll,\n handleToggleField,\n handleInputChange,\n } = useFieldValuePopover({ currentFilter });\n\n const [asyncOptions, setAsyncOptions] = useState<any[]>([]);\n const [isLoadingAsync, setIsLoadingAsync] = useState(false);\n\n /* ----- Constants ----- */\n\n const matchedFieldOption = useMemo(() => {\n const fieldValue =\n typeof currentFilter.field === \"object\"\n ? currentFilter.field?.value\n : currentFilter.field;\n return fieldOptions.find((option: any) => option.value === fieldValue);\n }, [fieldOptions, currentFilter.field]);\n\n useEffect(() => {\n if (!matchedFieldOption?.isAsync || !matchedFieldOption?.asyncHandler)\n return;\n setIsLoadingAsync(true);\n matchedFieldOption\n .asyncHandler()\n .then((options: any[]) => setAsyncOptions(options))\n .catch(() => setAsyncOptions([]))\n .finally(() => setIsLoadingAsync(false));\n }, [matchedFieldOption?.value]);\n\n const field = useMemo(() => {\n const staticOptions =\n matchedFieldOption?.options ||\n (typeof currentFilter?.field === \"object\"\n ? currentFilter.field?.options\n : undefined) ||\n [];\n if (matchedFieldOption?.isAsync) {\n const asyncValues = new Set(asyncOptions.map((o: any) => o.value));\n const dedupedStatic = staticOptions.filter(\n (o: any) => !asyncValues.has(o.value)\n );\n return [...dedupedStatic, ...asyncOptions];\n }\n return staticOptions;\n }, [matchedFieldOption, currentFilter?.field?.options, asyncOptions]);\n\n const filteredOptions = useMemo(\n () =>\n field.filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n ),\n [field, inputValue]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleApplyValue = useCallback(\n (value: any) => {\n setCurrentField(value, currentFilter?.id, filters?.id, \"value\");\n setShowPopover(false);\n resetEditing();\n },\n [\n setCurrentField,\n currentFilter?.id,\n filters?.id,\n setShowPopover,\n resetEditing,\n ]\n );\n\n const handleDateApply = useCallback(() => {\n handleApplyValue(dayjs(date).format(\"MMM D YYYY . hh:mm A\"));\n }, [date, handleApplyValue]);\n\n const handleInputKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" && inputValue?.length) {\n handleApplyValue(inputValue);\n }\n },\n [inputValue, handleApplyValue]\n );\n\n const handleSaveClick = useCallback(() => {\n handleApplyValue(inputValue);\n }, [inputValue, handleApplyValue]);\n\n const handleApplySelected = useCallback(() => {\n handleApplyValue(selectedField);\n }, [selectedField, handleApplyValue]);\n\n /* ----- Render Functions ----- */\n\n // Handle NO_VALUE and ANY_VALUE comparators\n if (\n currentFilter.comparator === \"NO_VALUE\" ||\n currentFilter.comparator === \"ANY_VALUE\"\n ) {\n handleApplyValue(\" \");\n return <></>;\n }\n\n // Boolean type\n if (currentFilter.dataType === \"BOOLEAN\") {\n return (\n <Box css={{ paddingBlock: \"$5\" }}>\n {booleanOptions.map((option) => (\n <Text\n key={String(option.value)}\n size=\"sm\"\n onClick={() => handleApplyValue(option.value)}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"$neutral100\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </Box>\n );\n }\n\n // Date/Time type\n if (currentFilter.dataType === \"DATE_TIME\") {\n return (\n <Box>\n <Calendar\n size=\"md\"\n footerActionText=\"Apply\"\n value={date}\n showTimePicker\n onChange={setDate}\n footerAction={handleDateApply}\n />\n </Box>\n );\n }\n\n // Loading state for async SELECT/MULTI_SELECT fields\n if (\n isLoadingAsync &&\n (currentFilter.dataType === \"SELECT\" ||\n currentFilter.dataType === \"MULTI_SELECT\")\n ) {\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ padding: \"$6\", minHeight: 80 }}\n >\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n Loading options...\n </Text>\n </Flex>\n );\n }\n\n // Select with options\n if (field?.length) {\n // Single select\n if (currentFilter.dataType === \"SELECT\") {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n maxHeight: 240,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!filteredOptions.length ? (\n <>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\n onClick={() => handleApplyValue(field.value)}\n css={{\n padding: \"$3 $6\",\n transition: \"all .3s ease\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n },\n }}\n >\n <Text size=\"sm\">{field.label}</Text>\n </Box>\n ))}\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: \"$3 $6\",\n color: \"$neutral800\",\n textAlign: \"center\",\n }}\n >\n No options\n </Text>\n )}\n {matchedFieldOption?.hasLoadMore && (\n <Flex\n css={{\n position: \"sticky\",\n bottom: 0,\n background: \"$white900\",\n paddingBlock: \"$4 !important\",\n borderRadius: \"0 !important\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n >\n <Button\n leftIcon={<RefreshIcon />}\n onClick={async (e) => {\n setIsLoadingAsync(true);\n const options = await matchedFieldOption?.asyncHandler?.(\n \"loadMore\"\n );\n setAsyncOptions(options);\n setIsLoadingAsync(false);\n e.stopPropagation();\n e.preventDefault();\n }}\n css={{\n borderRadius: \"0 !important\",\n width: \"100%\",\n \"&:hover\": {\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n },\n overflow: \"hidden\",\n }}\n size=\"lg\"\n variant=\"ghost\"\n color=\"secondary\"\n >\n Load More\n </Button>\n </Flex>\n )}\n </Flex>\n </>\n );\n }\n\n // Multi-select\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n // paddingBottom: '$4',\n maxHeight: 280,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!field.length ? (\n <>\n <Box css={{ padding: \"$3 $6\" }}>\n <Checkbox\n size=\"sm\"\n checked={selectedField.length === field.length}\n onChange={(checked) => handleSelectAll(field, !!checked)}\n >\n <Text\n css={{\n cursor: \"pointer\",\n }}\n size=\"sm\"\n >\n Select All\n </Text>\n </Checkbox>\n </Box>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\n css={{\n padding: \"$3 $6\",\n transition: \"all .3s ease\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n },\n }}\n >\n <Flex gap=\"$2\">\n <Checkbox\n size=\"sm\"\n checked={selectedField.includes(field.value)}\n onChange={(checked) =>\n handleToggleField(field.value, !!checked)\n }\n >\n <Text\n css={{\n cursor: \"pointer\",\n }}\n size=\"sm\"\n >\n {field.label}\n </Text>\n </Checkbox>\n </Flex>\n </Box>\n ))}\n {matchedFieldOption?.hasLoadMore && (\n <Flex\n css={{\n position: \"sticky\",\n bottom: 29,\n background: \"$white900\",\n paddingBlock: \"$4 !important\",\n borderRadius: \"0 !important\",\n }}\n >\n <Button\n leftIcon={<RefreshIcon />}\n onClick={async (e) => {\n setIsLoadingAsync(true);\n const options = await matchedFieldOption?.asyncHandler?.(\n \"loadMore\"\n );\n setAsyncOptions(options);\n setIsLoadingAsync(false);\n e.stopPropagation();\n e.preventDefault();\n }}\n css={{\n borderRadius: \"0 !important\",\n width: \"100%\",\n overflow: \"hidden\",\n }}\n size=\"md\"\n variant=\"ghost\"\n color=\"secondary\"\n >\n Load More\n </Button>\n </Flex>\n )}\n <Flex\n css={{\n position: \"sticky\",\n bottom: 0,\n background: \"$white900\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n >\n <Button\n css={{\n width: \"100%\",\n overflow: \"hidden\",\n borderRadius: \"0 !important\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n size=\"md\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={handleApplySelected}\n >\n Apply\n </Button>\n </Flex>\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: \"$3 $6\",\n color: \"$neutral800\",\n textAlign: \"center\",\n }}\n >\n No options\n </Text>\n )}\n </Flex>\n </>\n );\n }\n\n // Text/Number input\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <FormInput\n placeholder={\n currentFilter.dataType === \"NUMBER\"\n ? \"Enter a number\"\n : \"Enter a value\"\n }\n type=\"text\"\n variant=\"filled\"\n size=\"lg\"\n {...((currentFilter.dataType === \"NUMBER\" ||\n currentFilter.dataType === \"PHONE_NUMBER\") && {\n maxLength: 10,\n })}\n value={inputValue}\n onChange={(e) =>\n handleInputChange(\n (e.target as HTMLInputElement).value,\n currentFilter.dataType\n )\n }\n onKeyDown={handleInputKeyDown}\n />\n {currentFilter.dataType === \"PHONE_NUMBER\" && (\n <FormLabel\n size=\"xs\"\n css={{ fontWeight: \"$5\", marginTop: \"$2\", marginLeft: \"$1\" }}\n >\n Enter a valid number without the country code\n </FormLabel>\n )}\n </Box>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderTop: \"$borderWidths$xs solid $neutral100\",\n padding: \"$4 $6\",\n marginTop: \"$4\",\n }}\n >\n <Button\n size=\"md\"\n color=\"secondary\"\n variant=\"ghost\"\n onClick={() => setShowPopover(false)}\n >\n Cancel\n </Button>\n <Button\n size=\"md\"\n variant=\"ghost\"\n disabled={!inputValue?.length}\n onClick={handleSaveClick}\n >\n Save\n </Button>\n </Flex>\n </>\n );\n};\n"],"names":["useFieldValuePopover","useState","useMemo","_a","useEffect","useCallback","dayjs","Box","booleanOptions","Text","Calendar","Flex","Input","SearchIcon","field","Button","RefreshIcon","Checkbox","FormInput","FormLabel"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/triggers/constants/index.ts"],"sourcesContent":["// Export UI strings\nexport * from './ui-strings';\n\nexport const comparatorConstants = {\n IS: \"IS\",\n IS_NOT: \"IS_NOT\",\n CONTAINS: \"CONTAINS\",\n CONTAINS_NOT: \"CONTAINS_NOT\",\n NO_VALUE: \"NO_VALUE\",\n ANY_VALUE: \"ANY_VALUE\",\n TRUE: \"TRUE\",\n FALSE: \"FALSE\",\n AFTER: \"AFTER\",\n BEFORE: \"BEFORE\",\n STARTS_WITH: \"STARTS_WITH\",\n ENDS_WITH: \"ENDS_WITH\",\n ON: \"ON\",\n LESS_THAN: \"LESS_THAN\",\n GREATER_THAN: \"GREATER_THAN\",\n LESS_THAN_OR_EQUAL: \"LESS_THAN_OR_EQUAL\",\n GREATER_THAN_OR_EQUAL: \"GREATER_THAN_OR_EQUAL\"\n} as const;\ntype ComparatorConstants = typeof comparatorConstants[keyof typeof comparatorConstants];\ntype Condition = {\n label: string;\n value: \"AND\" | \"OR\";\n};\nexport const topLevelCondition: Condition[] = [\n {\n label: \"all\",\n value: \"AND\"\n },\n {\n label: \"any\",\n value: \"OR\"\n }\n];\ntype FieldOption = {\n id: number;\n label: string;\n value: string;\n type?: string;\n options?: Array<{\n label: string;\n value: string;\n id: number;\n }>;\n};\nexport const fieldOptions: FieldOption[] = [\n {\n id: 1,\n label: \"Date of Birth\",\n value: \"DOB\",\n type: \"DATE_TIME\"\n },\n {\n id: 2,\n label: \"Degree\",\n value: \"DEGREE\",\n type: \"BOOLEAN\",\n },\n {\n label: \"Web service access only\",\n value: \"web_service_access_only\",\n type: \"BOOLEAN\"\n },\n {\n id: 3,\n label: \"Company Size\",\n value: \"COMPANY_SIZE\",\n type: \"SELECT\",\n options: [\n {\n label: \"Some Value\",\n value: \"value\",\n id: 1\n },\n {\n label: \"Some Text\",\n value: \"Text\",\n id: 2\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 3\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 4\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 5\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 6\n }\n ]\n },\n {\n id: 3,\n label: \"Sample multiselect field\",\n value: \"SAMPLE_MULTISELECT_FIELD\",\n type: \"MULTI_SELECT\",\n options: [\n {\n label: \"Some Value\",\n value: \"value\",\n id: 1\n },\n {\n label: \"Some Text\",\n value: \"Text\",\n id: 2\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 3\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 4\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 5\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 6\n }\n ]\n },\n {\n id: 4,\n type: \"NUMBER\",\n label: \"Field of study\",\n value: \"STUDY\"\n },\n {\n id: 5,\n label: \"Gender\",\n value: \"GENDER\"\n },\n {\n id: 6,\n label: \"Buying role\",\n value: \"ROLE\"\n },\n {\n id: 7,\n label: \"Sample test\",\n value: \"SAMPLE\",\n type: \"PHONE_NUMBER\"\n }\n];\n"],"names":[],"mappings":";;AAGO,MAAM,mBAAA,GAAsB;AAAA,EACjC,EAAA,EAAI,IAAA;AAAA,EACJ,MAAA,EAAQ,QAAA;AAAA,EACR,QAAA,EAAU,UAAA;AAAA,EACV,YAAA,EAAc,cAAA;AAAA,EACd,QAAA,EAAU,UAAA;AAAA,EACV,SAAA,EAAW,WAAA;AAAA,EACX,IAAA,EAAM,MAAA;AAAA,EACN,KAAA,EAAO,OAAA;AAAA,EACP,KAAA,EAAO,OAAA;AAAA,EACP,MAAA,EAAQ,QAAA;AAAA,EACR,WAAA,EAAa,aAAA;AAAA,EACb,SAAA,EAAW,WAAA;AAAA,EACX,EAAA,EAAI,IAAA;AAAA,EACJ,SAAA,EAAW,WAAA;AAAA,EACX,YAAA,EAAc,cAAA;AAAA,EACd,kBAAA,EAAoB,oBAAA;AAAA,EACpB,qBAAA,EAAuB;AACzB;AAMO,MAAM,iBAAA,GAAiC;AAAA,EAC5C;AAAA,IACE,KAAA,EAAO,KAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA;AAAA,IACE,KAAA,EAAO,KAAA;AAAA,IACP,KAAA,EAAO;AAAA;AAEX;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/triggers/constants/index.ts"],"sourcesContent":["// Export UI strings\nexport * from './ui-strings';\n\nexport const comparatorConstants = {\n IS: \"IS\",\n IS_NOT: \"IS_NOT\",\n CONTAINS: \"CONTAINS\",\n CONTAINS_NOT: \"CONTAINS_NOT\",\n NO_VALUE: \"NO_VALUE\",\n ANY_VALUE: \"ANY_VALUE\",\n TRUE: \"TRUE\",\n FALSE: \"FALSE\",\n AFTER: \"AFTER\",\n BEFORE: \"BEFORE\",\n STARTS_WITH: \"STARTS_WITH\",\n ENDS_WITH: \"ENDS_WITH\",\n ON: \"ON\",\n LESS_THAN: \"LESS_THAN\",\n GREATER_THAN: \"GREATER_THAN\",\n LESS_THAN_OR_EQUAL: \"LESS_THAN_OR_EQUAL\",\n GREATER_THAN_OR_EQUAL: \"GREATER_THAN_OR_EQUAL\"\n} as const;\ntype ComparatorConstants = typeof comparatorConstants[keyof typeof comparatorConstants];\ntype Condition = {\n label: string;\n value: \"AND\" | \"OR\";\n};\nexport const topLevelCondition: Condition[] = [\n {\n label: \"all\",\n value: \"AND\"\n },\n {\n label: \"any\",\n value: \"OR\"\n }\n];\ntype FieldOption = {\n id: number;\n label: string;\n value: string;\n type?: string;\n options?: Array<{\n label: string;\n value: string;\n id: number;\n }>;\n hasLoadMore?: boolean;\n isAsync?: boolean;\n asyncHandler?: () => Promise<Array<{ label: string; value: string; id: number }>>;\n};\nexport const fieldOptions: FieldOption[] = [\n {\n id: 1,\n label: \"Date of Birth\",\n value: \"DOB\",\n type: \"DATE_TIME\"\n },\n {\n id: 2,\n label: \"Degree\",\n value: \"DEGREE\",\n type: \"BOOLEAN\",\n },\n {\n label: \"Web service access only\",\n value: \"web_service_access_only\",\n type: \"BOOLEAN\"\n },\n {\n id: 3,\n label: \"Company Size\",\n value: \"COMPANY_SIZE\",\n type: \"SELECT\",\n hasLoadMore: true,\n isAsync: true,\n asyncHandler: () =>\n new Promise((resolve) =>\n setTimeout(\n () =>\n resolve(\n Array.from({ length: 50 }, (_, i) => ({\n label: `Company Size Option ${i + 1}`,\n value: `company_size_${i + 1}`,\n id: i + 1,\n }))\n ),\n 3000\n )\n ),\n options: [\n {\n label: \"Some Value\",\n value: \"value\",\n id: 1\n },\n {\n label: \"Some Text\",\n value: \"Text\",\n id: 2\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 3\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 4\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 5\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 6\n }\n ]\n },\n {\n id: 3,\n label: \"Sample multiselect field\",\n value: \"SAMPLE_MULTISELECT_FIELD\",\n type: \"MULTI_SELECT\",\n isAsync: true,\n hasLoadMore: true,\n asyncHandler: () =>\n new Promise((resolve) =>\n setTimeout(\n () =>\n resolve(\n Array.from({ length: 50 }, (_, i) => ({\n label: `Company Size Option ${i + 1}`,\n value: `company_size_${i + 1}`,\n id: i + 1,\n }))\n ),\n 3000\n )\n ),\n options: [\n {\n label: \"Some Value\",\n value: \"value\",\n id: 1\n },\n {\n label: \"Some Text\",\n value: \"Text\",\n id: 2\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 3\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 4\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 5\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 6\n }\n ]\n },\n {\n id: 4,\n type: \"NUMBER\",\n label: \"Field of study\",\n value: \"STUDY\"\n },\n {\n id: 5,\n label: \"Gender\",\n value: \"GENDER\"\n },\n {\n id: 6,\n label: \"Buying role\",\n value: \"ROLE\"\n },\n {\n id: 7,\n label: \"Sample test\",\n value: \"SAMPLE\",\n type: \"PHONE_NUMBER\"\n }\n];\n"],"names":[],"mappings":";;AAGO,MAAM,mBAAA,GAAsB;AAAA,EACjC,EAAA,EAAI,IAAA;AAAA,EACJ,MAAA,EAAQ,QAAA;AAAA,EACR,QAAA,EAAU,UAAA;AAAA,EACV,YAAA,EAAc,cAAA;AAAA,EACd,QAAA,EAAU,UAAA;AAAA,EACV,SAAA,EAAW,WAAA;AAAA,EACX,IAAA,EAAM,MAAA;AAAA,EACN,KAAA,EAAO,OAAA;AAAA,EACP,KAAA,EAAO,OAAA;AAAA,EACP,MAAA,EAAQ,QAAA;AAAA,EACR,WAAA,EAAa,aAAA;AAAA,EACb,SAAA,EAAW,WAAA;AAAA,EACX,EAAA,EAAI,IAAA;AAAA,EACJ,SAAA,EAAW,WAAA;AAAA,EACX,YAAA,EAAc,cAAA;AAAA,EACd,kBAAA,EAAoB,oBAAA;AAAA,EACpB,qBAAA,EAAuB;AACzB;AAMO,MAAM,iBAAA,GAAiC;AAAA,EAC5C;AAAA,IACE,KAAA,EAAO,KAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA;AAAA,IACE,KAAA,EAAO,KAAA;AAAA,IACP,KAAA,EAAO;AAAA;AAEX;;;;;"}
@@ -0,0 +1,152 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __defProps = Object.defineProperties;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __spreadValues = (a, b) => {
12
+ for (var prop in b || (b = {}))
13
+ if (__hasOwnProp.call(b, prop))
14
+ __defNormalProp(a, prop, b[prop]);
15
+ if (__getOwnPropSymbols)
16
+ for (var prop of __getOwnPropSymbols(b)) {
17
+ if (__propIsEnum.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ }
20
+ return a;
21
+ };
22
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
23
+ var __objRest = (source, exclude) => {
24
+ var target = {};
25
+ for (var prop in source)
26
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
27
+ target[prop] = source[prop];
28
+ if (source != null && __getOwnPropSymbols)
29
+ for (var prop of __getOwnPropSymbols(source)) {
30
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
31
+ target[prop] = source[prop];
32
+ }
33
+ return target;
34
+ };
35
+ const RefreshIcon = /* #__PURE__ */ React__default.forwardRef(
36
+ (_a, ref) => {
37
+ var _b = _a, {
38
+ color = "currentColor",
39
+ size = 32,
40
+ strokeWidth = 1.5
41
+ } = _b, rest = __objRest(_b, [
42
+ "color",
43
+ "size",
44
+ "strokeWidth"
45
+ ]);
46
+ return /* @__PURE__ */ jsxs(
47
+ "svg",
48
+ __spreadProps(__spreadValues({
49
+ viewBox: "0 0 32 32",
50
+ fill: "none",
51
+ xmlns: "http://www.w3.org/2000/svg"
52
+ }, rest), {
53
+ width: size,
54
+ height: size,
55
+ ref,
56
+ children: [
57
+ /* @__PURE__ */ jsx(
58
+ "path",
59
+ {
60
+ d: "M16 5.33128C19.9069 5.33096 23.5013 7.46656 25.3693 10.8979",
61
+ stroke: color,
62
+ strokeWidth,
63
+ strokeLinecap: "round",
64
+ strokeLinejoin: "round",
65
+ vectorEffect: "non-scaling-stroke"
66
+ }
67
+ ),
68
+ /* @__PURE__ */ jsx(
69
+ "path",
70
+ {
71
+ d: "M26.6667 15.9979C26.6667 21.889 21.891 26.6646 16 26.6646",
72
+ stroke: color,
73
+ strokeWidth,
74
+ strokeLinecap: "round",
75
+ strokeLinejoin: "round",
76
+ vectorEffect: "non-scaling-stroke"
77
+ }
78
+ ),
79
+ /* @__PURE__ */ jsx(
80
+ "path",
81
+ {
82
+ d: "M16 26.6646C12.0931 26.6649 8.49866 24.5293 6.63068 21.0979",
83
+ stroke: color,
84
+ strokeWidth,
85
+ strokeLinecap: "round",
86
+ strokeLinejoin: "round",
87
+ vectorEffect: "non-scaling-stroke"
88
+ }
89
+ ),
90
+ /* @__PURE__ */ jsx(
91
+ "path",
92
+ {
93
+ d: "M5.33334 15.9979C5.33334 10.1069 10.109 5.33126 16 5.33126",
94
+ stroke: color,
95
+ strokeWidth,
96
+ strokeLinecap: "round",
97
+ strokeLinejoin: "round",
98
+ vectorEffect: "non-scaling-stroke"
99
+ }
100
+ ),
101
+ /* @__PURE__ */ jsx(
102
+ "path",
103
+ {
104
+ d: "M6.63068 21.098C9.44642 26.2725 15.9238 28.1847 21.0984 25.3689C24.5309 23.5011 26.6673 19.9058 26.6667 15.998",
105
+ stroke: color,
106
+ strokeWidth,
107
+ strokeLinecap: "round",
108
+ strokeLinejoin: "round",
109
+ vectorEffect: "non-scaling-stroke"
110
+ }
111
+ ),
112
+ /* @__PURE__ */ jsx(
113
+ "path",
114
+ {
115
+ d: "M5.33334 15.9979V15.9963C5.33334 10.1053 10.109 5.32963 16 5.32963C19.9078 5.32963 23.5028 7.46653 25.3701 10.8994",
116
+ stroke: color,
117
+ strokeWidth,
118
+ strokeLinecap: "round",
119
+ strokeLinejoin: "round",
120
+ vectorEffect: "non-scaling-stroke"
121
+ }
122
+ ),
123
+ /* @__PURE__ */ jsx(
124
+ "path",
125
+ {
126
+ d: "M10.7294 21.098H6.01602V25.8126",
127
+ stroke: color,
128
+ strokeWidth,
129
+ strokeLinecap: "round",
130
+ strokeLinejoin: "round",
131
+ vectorEffect: "non-scaling-stroke"
132
+ }
133
+ ),
134
+ /* @__PURE__ */ jsx(
135
+ "path",
136
+ {
137
+ d: "M21.2707 10.8979H25.984V6.18328",
138
+ stroke: color,
139
+ strokeWidth,
140
+ strokeLinecap: "round",
141
+ strokeLinejoin: "round",
142
+ vectorEffect: "non-scaling-stroke"
143
+ }
144
+ )
145
+ ]
146
+ })
147
+ );
148
+ }
149
+ );
150
+
151
+ export { RefreshIcon };
152
+ //# sourceMappingURL=refresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh.js","sources":["../../../../../../../../../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/refresh.js"],"sourcesContent":["import { jsxs, jsx } from 'react/jsx-runtime';\nimport React from 'react';\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst RefreshIcon = /* #__PURE__ */ React.forwardRef(\n (_a, ref) => {\n var _b = _a, {\n color = \"currentColor\",\n size = 32,\n strokeWidth = 1.5\n } = _b, rest = __objRest(_b, [\n \"color\",\n \"size\",\n \"strokeWidth\"\n ]);\n return /* @__PURE__ */ jsxs(\n \"svg\",\n __spreadProps(__spreadValues({\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, rest), {\n width: size,\n height: size,\n ref,\n children: [\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M16 5.33128C19.9069 5.33096 23.5013 7.46656 25.3693 10.8979\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M26.6667 15.9979C26.6667 21.889 21.891 26.6646 16 26.6646\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M16 26.6646C12.0931 26.6649 8.49866 24.5293 6.63068 21.0979\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M5.33334 15.9979C5.33334 10.1069 10.109 5.33126 16 5.33126\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M6.63068 21.098C9.44642 26.2725 15.9238 28.1847 21.0984 25.3689C24.5309 23.5011 26.6673 19.9058 26.6667 15.998\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M5.33334 15.9979V15.9963C5.33334 10.1053 10.109 5.32963 16 5.32963C19.9078 5.32963 23.5028 7.46653 25.3701 10.8994\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M10.7294 21.098H6.01602V25.8126\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n ),\n /* @__PURE__ */ jsx(\n \"path\",\n {\n d: \"M21.2707 10.8979H25.984V6.18328\",\n stroke: color,\n strokeWidth,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n vectorEffect: \"non-scaling-stroke\"\n }\n )\n ]\n })\n );\n }\n);\n\nexport { RefreshIcon };\n//# sourceMappingURL=refresh.js.map\n"],"names":["React"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,15 +1,16 @@
1
- import React__default, { useMemo, useCallback } from 'react';
1
+ import React__default, { useState, useMemo, useEffect, useCallback } from 'react';
2
2
  import dayjs from '../../../node_modules/dayjs/dayjs.min.js';
3
3
  import { booleanOptions } from '../../../commons/constants/index.js';
4
4
  import { useFieldValuePopover } from '../../hooks/use-field-value-popover.js';
5
5
  import { Box } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js';
6
6
  import { Text } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js';
7
7
  import { Calendar } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/calendar/calendar.js';
8
+ import { Flex } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js';
8
9
  import { Input } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/input/input.js';
9
10
  import { SearchIcon } from '../../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/search.js';
10
- import { Flex } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js';
11
- import { Checkbox } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/checkbox/checkbox.js';
12
11
  import { Button } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/button/button.js';
12
+ import { RefreshIcon } from '../../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/refresh.js';
13
+ import { Checkbox } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/checkbox/checkbox.js';
13
14
  import { FormInput } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/input/form-input.js';
14
15
  import { FormLabel } from '../../../node_modules/@sparrowengg/twigs-react/dist/es/form-label/form-label.js';
15
16
 
@@ -40,6 +41,9 @@ const RenderFieldValuePopover = ({
40
41
  resetEditing,
41
42
  setShowPopover
42
43
  }) => {
44
+ var _a;
45
+ console.log("currentFilter", currentFilter);
46
+ console.log("fieldOptions", fieldOptions);
43
47
  const {
44
48
  date,
45
49
  setDate,
@@ -49,13 +53,31 @@ const RenderFieldValuePopover = ({
49
53
  handleToggleField,
50
54
  handleInputChange
51
55
  } = useFieldValuePopover({ currentFilter });
52
- const field = useMemo(
53
- () => {
54
- var _a, _b;
55
- return ((_a = fieldOptions.find((option) => option.value === currentFilter.field)) == null ? void 0 : _a.options) || ((_b = currentFilter == null ? void 0 : currentFilter.field) == null ? void 0 : _b.options) || [];
56
- },
57
- [fieldOptions, currentFilter.field]
58
- );
56
+ const [asyncOptions, setAsyncOptions] = useState([]);
57
+ const [isLoadingAsync, setIsLoadingAsync] = useState(false);
58
+ const matchedFieldOption = useMemo(() => {
59
+ var _a2;
60
+ const fieldValue = typeof currentFilter.field === "object" ? (_a2 = currentFilter.field) == null ? void 0 : _a2.value : currentFilter.field;
61
+ return fieldOptions.find((option) => option.value === fieldValue);
62
+ }, [fieldOptions, currentFilter.field]);
63
+ useEffect(() => {
64
+ if (!(matchedFieldOption == null ? void 0 : matchedFieldOption.isAsync) || !(matchedFieldOption == null ? void 0 : matchedFieldOption.asyncHandler))
65
+ return;
66
+ setIsLoadingAsync(true);
67
+ matchedFieldOption.asyncHandler().then((options) => setAsyncOptions(options)).catch(() => setAsyncOptions([])).finally(() => setIsLoadingAsync(false));
68
+ }, [matchedFieldOption == null ? void 0 : matchedFieldOption.value]);
69
+ const field = useMemo(() => {
70
+ var _a2;
71
+ const staticOptions = (matchedFieldOption == null ? void 0 : matchedFieldOption.options) || (typeof (currentFilter == null ? void 0 : currentFilter.field) === "object" ? (_a2 = currentFilter.field) == null ? void 0 : _a2.options : void 0) || [];
72
+ if (matchedFieldOption == null ? void 0 : matchedFieldOption.isAsync) {
73
+ const asyncValues = new Set(asyncOptions.map((o) => o.value));
74
+ const dedupedStatic = staticOptions.filter(
75
+ (o) => !asyncValues.has(o.value)
76
+ );
77
+ return [...dedupedStatic, ...asyncOptions];
78
+ }
79
+ return staticOptions;
80
+ }, [matchedFieldOption, (_a = currentFilter == null ? void 0 : currentFilter.field) == null ? void 0 : _a.options, asyncOptions]);
59
81
  const filteredOptions = useMemo(
60
82
  () => field.filter(
61
83
  (option) => option.label.toLowerCase().includes(inputValue.toLowerCase())
@@ -68,7 +90,13 @@ const RenderFieldValuePopover = ({
68
90
  setShowPopover(false);
69
91
  resetEditing();
70
92
  },
71
- [setCurrentField, currentFilter == null ? void 0 : currentFilter.id, filters == null ? void 0 : filters.id, setShowPopover, resetEditing]
93
+ [
94
+ setCurrentField,
95
+ currentFilter == null ? void 0 : currentFilter.id,
96
+ filters == null ? void 0 : filters.id,
97
+ setShowPopover,
98
+ resetEditing
99
+ ]
72
100
  );
73
101
  const handleDateApply = useCallback(() => {
74
102
  handleApplyValue(dayjs(date).format("MMM D YYYY . hh:mm A"));
@@ -122,6 +150,17 @@ const RenderFieldValuePopover = ({
122
150
  }
123
151
  ));
124
152
  }
153
+ if (isLoadingAsync && (currentFilter.dataType === "SELECT" || currentFilter.dataType === "MULTI_SELECT")) {
154
+ return /* @__PURE__ */ React__default.createElement(
155
+ Flex,
156
+ {
157
+ alignItems: "center",
158
+ justifyContent: "center",
159
+ css: { padding: "$6", minHeight: 80 }
160
+ },
161
+ /* @__PURE__ */ React__default.createElement(Text, { size: "sm", css: { color: "$neutral800" } }, "Loading options...")
162
+ );
163
+ }
125
164
  if (field == null ? void 0 : field.length) {
126
165
  if (currentFilter.dataType === "SELECT") {
127
166
  return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(Box, { css: { padding: "$4" } }, /* @__PURE__ */ React__default.createElement(
@@ -139,7 +178,6 @@ const RenderFieldValuePopover = ({
139
178
  {
140
179
  flexDirection: "column",
141
180
  css: {
142
- paddingBottom: "$4",
143
181
  maxHeight: 240,
144
182
  height: "100%",
145
183
  overflow: "auto"
@@ -171,6 +209,51 @@ const RenderFieldValuePopover = ({
171
209
  }
172
210
  },
173
211
  "No options"
212
+ ),
213
+ (matchedFieldOption == null ? void 0 : matchedFieldOption.hasLoadMore) && /* @__PURE__ */ React__default.createElement(
214
+ Flex,
215
+ {
216
+ css: {
217
+ position: "sticky",
218
+ bottom: 0,
219
+ background: "$white900",
220
+ paddingBlock: "$4 !important",
221
+ borderRadius: "0 !important",
222
+ borderBottomLeftRadius: "12px !important",
223
+ borderBottomRightRadius: "12px !important"
224
+ }
225
+ },
226
+ /* @__PURE__ */ React__default.createElement(
227
+ Button,
228
+ {
229
+ leftIcon: /* @__PURE__ */ React__default.createElement(RefreshIcon, null),
230
+ onClick: async (e) => {
231
+ var _a2;
232
+ setIsLoadingAsync(true);
233
+ const options = await ((_a2 = matchedFieldOption == null ? void 0 : matchedFieldOption.asyncHandler) == null ? void 0 : _a2.call(
234
+ matchedFieldOption,
235
+ "loadMore"
236
+ ));
237
+ setAsyncOptions(options);
238
+ setIsLoadingAsync(false);
239
+ e.stopPropagation();
240
+ e.preventDefault();
241
+ },
242
+ css: {
243
+ borderRadius: "0 !important",
244
+ width: "100%",
245
+ "&:hover": {
246
+ borderBottomLeftRadius: "12px !important",
247
+ borderBottomRightRadius: "12px !important"
248
+ },
249
+ overflow: "hidden"
250
+ },
251
+ size: "lg",
252
+ variant: "ghost",
253
+ color: "secondary"
254
+ },
255
+ "Load More"
256
+ )
174
257
  )
175
258
  ));
176
259
  }
@@ -189,8 +272,8 @@ const RenderFieldValuePopover = ({
189
272
  {
190
273
  flexDirection: "column",
191
274
  css: {
192
- paddingBottom: "$4",
193
- maxHeight: 240,
275
+ // paddingBottom: '$4',
276
+ maxHeight: 280,
194
277
  height: "100%",
195
278
  overflow: "auto"
196
279
  }
@@ -243,21 +326,66 @@ const RenderFieldValuePopover = ({
243
326
  field2.label
244
327
  )
245
328
  ))
246
- )), /* @__PURE__ */ React__default.createElement(
329
+ )), (matchedFieldOption == null ? void 0 : matchedFieldOption.hasLoadMore) && /* @__PURE__ */ React__default.createElement(
247
330
  Flex,
248
331
  {
249
- justifyContent: "flex-end",
250
332
  css: {
251
333
  position: "sticky",
252
- bottom: 0,
334
+ bottom: 29,
335
+ background: "$white900",
253
336
  paddingBlock: "$4 !important",
254
- marginInlineEnd: "$6 !important"
337
+ borderRadius: "0 !important"
255
338
  }
256
339
  },
257
340
  /* @__PURE__ */ React__default.createElement(
258
341
  Button,
259
342
  {
260
- size: "sm",
343
+ leftIcon: /* @__PURE__ */ React__default.createElement(RefreshIcon, null),
344
+ onClick: async (e) => {
345
+ var _a2;
346
+ setIsLoadingAsync(true);
347
+ const options = await ((_a2 = matchedFieldOption == null ? void 0 : matchedFieldOption.asyncHandler) == null ? void 0 : _a2.call(
348
+ matchedFieldOption,
349
+ "loadMore"
350
+ ));
351
+ setAsyncOptions(options);
352
+ setIsLoadingAsync(false);
353
+ e.stopPropagation();
354
+ e.preventDefault();
355
+ },
356
+ css: {
357
+ borderRadius: "0 !important",
358
+ width: "100%",
359
+ overflow: "hidden"
360
+ },
361
+ size: "md",
362
+ variant: "ghost",
363
+ color: "secondary"
364
+ },
365
+ "Load More"
366
+ )
367
+ ), /* @__PURE__ */ React__default.createElement(
368
+ Flex,
369
+ {
370
+ css: {
371
+ position: "sticky",
372
+ bottom: 0,
373
+ background: "$white900",
374
+ borderBottomLeftRadius: "12px !important",
375
+ borderBottomRightRadius: "12px !important"
376
+ }
377
+ },
378
+ /* @__PURE__ */ React__default.createElement(
379
+ Button,
380
+ {
381
+ css: {
382
+ width: "100%",
383
+ overflow: "hidden",
384
+ borderRadius: "0 !important",
385
+ borderBottomLeftRadius: "12px !important",
386
+ borderBottomRightRadius: "12px !important"
387
+ },
388
+ size: "md",
261
389
  variant: "ghost",
262
390
  color: "primary",
263
391
  onClick: handleApplySelected
@@ -1 +1 @@
1
- {"version":3,"file":"render-field-value-popover.js","sources":["../../../../../src/triggers/components/filter/render-field-value-popover.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback, useMemo } from 'react';\nimport {\n Flex,\n Box,\n Button,\n Input,\n Calendar,\n Text,\n FormInput,\n FormLabel,\n Checkbox,\n} from '@sparrowengg/twigs-react';\nimport dayjs from 'dayjs';\nimport { SearchIcon } from '@sparrowengg/twigs-react-icons';\nimport { booleanOptions } from '../../../commons/constants';\nimport { useFieldValuePopover } from '../../hooks';\n\n/* ----- Types / Interfaces ----- */\n\ntype RenderFieldValuePopoverProps = {\n fieldOptions: any;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n currentFilter: any;\n filters: any;\n resetEditing: () => void;\n setShowPopover: (show: boolean) => void;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Render field value popover content based on data type\n *\n * @param {RenderFieldValuePopoverProps} props - Component props\n * @returns {JSX.Element} Rendered popover content\n */\nexport const RenderFieldValuePopover: React.FC<\n RenderFieldValuePopoverProps\n> = ({\n fieldOptions,\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n setShowPopover,\n}) => {\n /* ----- Hooks ----- */\n\n const {\n date,\n setDate,\n inputValue,\n setInputValue,\n selectedField,\n handleSelectAll,\n handleToggleField,\n handleInputChange,\n } = useFieldValuePopover({ currentFilter });\n\n /* ----- Constants ----- */\n\n const field = useMemo(\n () =>\n fieldOptions.find((option: any) => option.value === currentFilter.field)\n ?.options ||\n currentFilter?.field?.options ||\n [],\n [fieldOptions, currentFilter.field]\n );\n\n const filteredOptions = useMemo(\n () =>\n field.filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n ),\n [field, inputValue]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleApplyValue = useCallback(\n (value: any) => {\n setCurrentField(value, currentFilter?.id, filters?.id, 'value');\n setShowPopover(false);\n resetEditing();\n },\n [setCurrentField, currentFilter?.id, filters?.id, setShowPopover, resetEditing]\n );\n\n const handleDateApply = useCallback(() => {\n handleApplyValue(dayjs(date).format('MMM D YYYY . hh:mm A'));\n }, [date, handleApplyValue]);\n\n const handleInputKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' && inputValue?.length) {\n handleApplyValue(inputValue);\n }\n },\n [inputValue, handleApplyValue]\n );\n\n const handleSaveClick = useCallback(() => {\n handleApplyValue(inputValue);\n }, [inputValue, handleApplyValue]);\n\n const handleApplySelected = useCallback(() => {\n handleApplyValue(selectedField);\n }, [selectedField, handleApplyValue]);\n\n /* ----- Render Functions ----- */\n\n // Handle NO_VALUE and ANY_VALUE comparators\n if (\n currentFilter.comparator === 'NO_VALUE' ||\n currentFilter.comparator === 'ANY_VALUE'\n ) {\n handleApplyValue(' ');\n return <></>;\n }\n\n // Boolean type\n if (currentFilter.dataType === 'BOOLEAN') {\n return (\n <Box css={{ paddingBlock: '$5' }}>\n {booleanOptions.map((option) => (\n <Text\n key={String(option.value)}\n size=\"sm\"\n onClick={() => handleApplyValue(option.value)}\n css={{\n padding: '$3 $6',\n cursor: 'pointer',\n '&:hover': {\n background: '$neutral100',\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </Box>\n );\n }\n\n // Date/Time type\n if (currentFilter.dataType === 'DATE_TIME') {\n return (\n <Box>\n <Calendar\n size=\"md\"\n footerActionText=\"Apply\"\n value={date}\n showTimePicker\n onChange={setDate}\n footerAction={handleDateApply}\n />\n </Box>\n );\n }\n\n // Select with options\n if (field?.length) {\n // Single select\n if (currentFilter.dataType === 'SELECT') {\n return (\n <>\n <Box css={{ padding: '$4' }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n paddingBottom: '$4',\n maxHeight: 240,\n height: '100%',\n overflow: 'auto',\n }}\n >\n {!!filteredOptions.length ? (\n <>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\n onClick={() => handleApplyValue(field.value)}\n css={{\n padding: '$3 $6',\n transition: 'all .3s ease',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: 'rgba(100, 116, 139, 0.06)',\n },\n }}\n >\n <Text size=\"sm\">{field.label}</Text>\n </Box>\n ))}\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: '$3 $6',\n color: '$neutral800',\n textAlign: 'center',\n }}\n >\n No options\n </Text>\n )}\n </Flex>\n </>\n );\n }\n\n // Multi-select\n return (\n <>\n <Box css={{ padding: '$4' }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n paddingBottom: '$4',\n maxHeight: 240,\n height: '100%',\n overflow: 'auto',\n }}\n >\n {!!field.length ? (\n <>\n <Box css={{ padding: '$3 $6' }}>\n <Checkbox\n size=\"sm\"\n checked={selectedField.length === field.length}\n onChange={(checked) => handleSelectAll(field, !!checked)}\n >\n <Text\n css={{\n cursor: 'pointer',\n }}\n size=\"sm\"\n >\n Select All\n </Text>\n </Checkbox>\n </Box>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\n css={{\n padding: '$3 $6',\n transition: 'all .3s ease',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: 'rgba(100, 116, 139, 0.06)',\n },\n }}\n >\n <Flex gap=\"$2\">\n <Checkbox\n size=\"sm\"\n checked={selectedField.includes(field.value)}\n onChange={(checked) =>\n handleToggleField(field.value, !!checked)\n }\n >\n <Text\n css={{\n cursor: 'pointer',\n }}\n size=\"sm\"\n >\n {field.label}\n </Text>\n </Checkbox>\n </Flex>\n </Box>\n ))}\n <Flex\n justifyContent=\"flex-end\"\n css={{\n position: 'sticky',\n bottom: 0,\n paddingBlock: '$4 !important',\n marginInlineEnd: '$6 !important',\n }}\n >\n <Button\n size=\"sm\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={handleApplySelected}\n >\n Apply\n </Button>\n </Flex>\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: '$3 $6',\n color: '$neutral800',\n textAlign: 'center',\n }}\n >\n No options\n </Text>\n )}\n </Flex>\n </>\n );\n }\n\n // Text/Number input\n return (\n <>\n <Box css={{ padding: '$4' }}>\n <FormInput\n placeholder={\n currentFilter.dataType === 'NUMBER'\n ? 'Enter a number'\n : 'Enter a value'\n }\n type=\"text\"\n variant=\"filled\"\n size=\"lg\"\n {...((currentFilter.dataType === 'NUMBER' ||\n currentFilter.dataType === 'PHONE_NUMBER') && {\n maxLength: 10,\n })}\n value={inputValue}\n onChange={(e) =>\n handleInputChange(\n (e.target as HTMLInputElement).value,\n currentFilter.dataType\n )\n }\n onKeyDown={handleInputKeyDown}\n />\n {currentFilter.dataType === 'PHONE_NUMBER' && (\n <FormLabel\n size=\"xs\"\n css={{ fontWeight: '$5', marginTop: '$2', marginLeft: '$1' }}\n >\n Enter a valid number without the country code\n </FormLabel>\n )}\n </Box>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderTop: '$borderWidths$xs solid $neutral100',\n padding: '$4 $6',\n marginTop: '$4',\n }}\n >\n <Button\n size=\"md\"\n color=\"secondary\"\n variant=\"ghost\"\n onClick={() => setShowPopover(false)}\n >\n Cancel\n </Button>\n <Button\n size=\"md\"\n variant=\"ghost\"\n disabled={!inputValue?.length}\n onClick={handleSaveClick}\n >\n Save\n </Button>\n </Flex>\n </>\n );\n};\n"],"names":["React","field"],"mappings":"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"}
1
+ {"version":3,"file":"render-field-value-popover.js","sources":["../../../../../src/triggers/components/filter/render-field-value-popover.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n Flex,\n Box,\n Button,\n Input,\n Calendar,\n Text,\n FormInput,\n FormLabel,\n Checkbox,\n} from \"@sparrowengg/twigs-react\";\nimport dayjs from \"dayjs\";\nimport { SearchIcon, RefreshIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { booleanOptions } from \"../../../commons/constants\";\nimport { useFieldValuePopover } from \"../../hooks\";\n\n/* ----- Types / Interfaces ----- */\n\ntype RenderFieldValuePopoverProps = {\n fieldOptions: any;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n currentFilter: any;\n filters: any;\n resetEditing: () => void;\n setShowPopover: (show: boolean) => void;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Render field value popover content based on data type\n *\n * @param {RenderFieldValuePopoverProps} props - Component props\n * @returns {JSX.Element} Rendered popover content\n */\nexport const RenderFieldValuePopover: React.FC<\n RenderFieldValuePopoverProps\n> = ({\n fieldOptions,\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n setShowPopover,\n}) => {\n console.log(\"currentFilter\", currentFilter);\n console.log(\"fieldOptions\", fieldOptions);\n /* ----- Hooks ----- */\n\n const {\n date,\n setDate,\n inputValue,\n setInputValue,\n selectedField,\n handleSelectAll,\n handleToggleField,\n handleInputChange,\n } = useFieldValuePopover({ currentFilter });\n\n const [asyncOptions, setAsyncOptions] = useState<any[]>([]);\n const [isLoadingAsync, setIsLoadingAsync] = useState(false);\n\n /* ----- Constants ----- */\n\n const matchedFieldOption = useMemo(() => {\n const fieldValue =\n typeof currentFilter.field === \"object\"\n ? currentFilter.field?.value\n : currentFilter.field;\n return fieldOptions.find((option: any) => option.value === fieldValue);\n }, [fieldOptions, currentFilter.field]);\n\n useEffect(() => {\n if (!matchedFieldOption?.isAsync || !matchedFieldOption?.asyncHandler)\n return;\n setIsLoadingAsync(true);\n matchedFieldOption\n .asyncHandler()\n .then((options: any[]) => setAsyncOptions(options))\n .catch(() => setAsyncOptions([]))\n .finally(() => setIsLoadingAsync(false));\n }, [matchedFieldOption?.value]);\n\n const field = useMemo(() => {\n const staticOptions =\n matchedFieldOption?.options ||\n (typeof currentFilter?.field === \"object\"\n ? currentFilter.field?.options\n : undefined) ||\n [];\n if (matchedFieldOption?.isAsync) {\n const asyncValues = new Set(asyncOptions.map((o: any) => o.value));\n const dedupedStatic = staticOptions.filter(\n (o: any) => !asyncValues.has(o.value)\n );\n return [...dedupedStatic, ...asyncOptions];\n }\n return staticOptions;\n }, [matchedFieldOption, currentFilter?.field?.options, asyncOptions]);\n\n const filteredOptions = useMemo(\n () =>\n field.filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n ),\n [field, inputValue]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleApplyValue = useCallback(\n (value: any) => {\n setCurrentField(value, currentFilter?.id, filters?.id, \"value\");\n setShowPopover(false);\n resetEditing();\n },\n [\n setCurrentField,\n currentFilter?.id,\n filters?.id,\n setShowPopover,\n resetEditing,\n ]\n );\n\n const handleDateApply = useCallback(() => {\n handleApplyValue(dayjs(date).format(\"MMM D YYYY . hh:mm A\"));\n }, [date, handleApplyValue]);\n\n const handleInputKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" && inputValue?.length) {\n handleApplyValue(inputValue);\n }\n },\n [inputValue, handleApplyValue]\n );\n\n const handleSaveClick = useCallback(() => {\n handleApplyValue(inputValue);\n }, [inputValue, handleApplyValue]);\n\n const handleApplySelected = useCallback(() => {\n handleApplyValue(selectedField);\n }, [selectedField, handleApplyValue]);\n\n /* ----- Render Functions ----- */\n\n // Handle NO_VALUE and ANY_VALUE comparators\n if (\n currentFilter.comparator === \"NO_VALUE\" ||\n currentFilter.comparator === \"ANY_VALUE\"\n ) {\n handleApplyValue(\" \");\n return <></>;\n }\n\n // Boolean type\n if (currentFilter.dataType === \"BOOLEAN\") {\n return (\n <Box css={{ paddingBlock: \"$5\" }}>\n {booleanOptions.map((option) => (\n <Text\n key={String(option.value)}\n size=\"sm\"\n onClick={() => handleApplyValue(option.value)}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"$neutral100\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </Box>\n );\n }\n\n // Date/Time type\n if (currentFilter.dataType === \"DATE_TIME\") {\n return (\n <Box>\n <Calendar\n size=\"md\"\n footerActionText=\"Apply\"\n value={date}\n showTimePicker\n onChange={setDate}\n footerAction={handleDateApply}\n />\n </Box>\n );\n }\n\n // Loading state for async SELECT/MULTI_SELECT fields\n if (\n isLoadingAsync &&\n (currentFilter.dataType === \"SELECT\" ||\n currentFilter.dataType === \"MULTI_SELECT\")\n ) {\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ padding: \"$6\", minHeight: 80 }}\n >\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n Loading options...\n </Text>\n </Flex>\n );\n }\n\n // Select with options\n if (field?.length) {\n // Single select\n if (currentFilter.dataType === \"SELECT\") {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n maxHeight: 240,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!filteredOptions.length ? (\n <>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\n onClick={() => handleApplyValue(field.value)}\n css={{\n padding: \"$3 $6\",\n transition: \"all .3s ease\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n },\n }}\n >\n <Text size=\"sm\">{field.label}</Text>\n </Box>\n ))}\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: \"$3 $6\",\n color: \"$neutral800\",\n textAlign: \"center\",\n }}\n >\n No options\n </Text>\n )}\n {matchedFieldOption?.hasLoadMore && (\n <Flex\n css={{\n position: \"sticky\",\n bottom: 0,\n background: \"$white900\",\n paddingBlock: \"$4 !important\",\n borderRadius: \"0 !important\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n >\n <Button\n leftIcon={<RefreshIcon />}\n onClick={async (e) => {\n setIsLoadingAsync(true);\n const options = await matchedFieldOption?.asyncHandler?.(\n \"loadMore\"\n );\n setAsyncOptions(options);\n setIsLoadingAsync(false);\n e.stopPropagation();\n e.preventDefault();\n }}\n css={{\n borderRadius: \"0 !important\",\n width: \"100%\",\n \"&:hover\": {\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n },\n overflow: \"hidden\",\n }}\n size=\"lg\"\n variant=\"ghost\"\n color=\"secondary\"\n >\n Load More\n </Button>\n </Flex>\n )}\n </Flex>\n </>\n );\n }\n\n // Multi-select\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputValue}\n onChange={(e) => handleInputChange(e.currentTarget.value)}\n />\n </Box>\n <Flex\n flexDirection=\"column\"\n css={{\n // paddingBottom: '$4',\n maxHeight: 280,\n height: \"100%\",\n overflow: \"auto\",\n }}\n >\n {!!field.length ? (\n <>\n <Box css={{ padding: \"$3 $6\" }}>\n <Checkbox\n size=\"sm\"\n checked={selectedField.length === field.length}\n onChange={(checked) => handleSelectAll(field, !!checked)}\n >\n <Text\n css={{\n cursor: \"pointer\",\n }}\n size=\"sm\"\n >\n Select All\n </Text>\n </Checkbox>\n </Box>\n {filteredOptions.map((field: any) => (\n <Box\n key={field?.id}\n css={{\n padding: \"$3 $6\",\n transition: \"all .3s ease\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n },\n }}\n >\n <Flex gap=\"$2\">\n <Checkbox\n size=\"sm\"\n checked={selectedField.includes(field.value)}\n onChange={(checked) =>\n handleToggleField(field.value, !!checked)\n }\n >\n <Text\n css={{\n cursor: \"pointer\",\n }}\n size=\"sm\"\n >\n {field.label}\n </Text>\n </Checkbox>\n </Flex>\n </Box>\n ))}\n {matchedFieldOption?.hasLoadMore && (\n <Flex\n css={{\n position: \"sticky\",\n bottom: 29,\n background: \"$white900\",\n paddingBlock: \"$4 !important\",\n borderRadius: \"0 !important\",\n }}\n >\n <Button\n leftIcon={<RefreshIcon />}\n onClick={async (e) => {\n setIsLoadingAsync(true);\n const options = await matchedFieldOption?.asyncHandler?.(\n \"loadMore\"\n );\n setAsyncOptions(options);\n setIsLoadingAsync(false);\n e.stopPropagation();\n e.preventDefault();\n }}\n css={{\n borderRadius: \"0 !important\",\n width: \"100%\",\n overflow: \"hidden\",\n }}\n size=\"md\"\n variant=\"ghost\"\n color=\"secondary\"\n >\n Load More\n </Button>\n </Flex>\n )}\n <Flex\n css={{\n position: \"sticky\",\n bottom: 0,\n background: \"$white900\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n >\n <Button\n css={{\n width: \"100%\",\n overflow: \"hidden\",\n borderRadius: \"0 !important\",\n borderBottomLeftRadius: \"12px !important\",\n borderBottomRightRadius: \"12px !important\",\n }}\n size=\"md\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={handleApplySelected}\n >\n Apply\n </Button>\n </Flex>\n </>\n ) : (\n <Text\n size=\"sm\"\n css={{\n padding: \"$3 $6\",\n color: \"$neutral800\",\n textAlign: \"center\",\n }}\n >\n No options\n </Text>\n )}\n </Flex>\n </>\n );\n }\n\n // Text/Number input\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <FormInput\n placeholder={\n currentFilter.dataType === \"NUMBER\"\n ? \"Enter a number\"\n : \"Enter a value\"\n }\n type=\"text\"\n variant=\"filled\"\n size=\"lg\"\n {...((currentFilter.dataType === \"NUMBER\" ||\n currentFilter.dataType === \"PHONE_NUMBER\") && {\n maxLength: 10,\n })}\n value={inputValue}\n onChange={(e) =>\n handleInputChange(\n (e.target as HTMLInputElement).value,\n currentFilter.dataType\n )\n }\n onKeyDown={handleInputKeyDown}\n />\n {currentFilter.dataType === \"PHONE_NUMBER\" && (\n <FormLabel\n size=\"xs\"\n css={{ fontWeight: \"$5\", marginTop: \"$2\", marginLeft: \"$1\" }}\n >\n Enter a valid number without the country code\n </FormLabel>\n )}\n </Box>\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderTop: \"$borderWidths$xs solid $neutral100\",\n padding: \"$4 $6\",\n marginTop: \"$4\",\n }}\n >\n <Button\n size=\"md\"\n color=\"secondary\"\n variant=\"ghost\"\n onClick={() => setShowPopover(false)}\n >\n Cancel\n </Button>\n <Button\n size=\"md\"\n variant=\"ghost\"\n disabled={!inputValue?.length}\n onClick={handleSaveClick}\n >\n Save\n </Button>\n </Flex>\n </>\n );\n};\n"],"names":["_a","React","field"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/triggers/constants/index.ts"],"sourcesContent":["// Export UI strings\nexport * from './ui-strings';\n\nexport const comparatorConstants = {\n IS: \"IS\",\n IS_NOT: \"IS_NOT\",\n CONTAINS: \"CONTAINS\",\n CONTAINS_NOT: \"CONTAINS_NOT\",\n NO_VALUE: \"NO_VALUE\",\n ANY_VALUE: \"ANY_VALUE\",\n TRUE: \"TRUE\",\n FALSE: \"FALSE\",\n AFTER: \"AFTER\",\n BEFORE: \"BEFORE\",\n STARTS_WITH: \"STARTS_WITH\",\n ENDS_WITH: \"ENDS_WITH\",\n ON: \"ON\",\n LESS_THAN: \"LESS_THAN\",\n GREATER_THAN: \"GREATER_THAN\",\n LESS_THAN_OR_EQUAL: \"LESS_THAN_OR_EQUAL\",\n GREATER_THAN_OR_EQUAL: \"GREATER_THAN_OR_EQUAL\"\n} as const;\ntype ComparatorConstants = typeof comparatorConstants[keyof typeof comparatorConstants];\ntype Condition = {\n label: string;\n value: \"AND\" | \"OR\";\n};\nexport const topLevelCondition: Condition[] = [\n {\n label: \"all\",\n value: \"AND\"\n },\n {\n label: \"any\",\n value: \"OR\"\n }\n];\ntype FieldOption = {\n id: number;\n label: string;\n value: string;\n type?: string;\n options?: Array<{\n label: string;\n value: string;\n id: number;\n }>;\n};\nexport const fieldOptions: FieldOption[] = [\n {\n id: 1,\n label: \"Date of Birth\",\n value: \"DOB\",\n type: \"DATE_TIME\"\n },\n {\n id: 2,\n label: \"Degree\",\n value: \"DEGREE\",\n type: \"BOOLEAN\",\n },\n {\n label: \"Web service access only\",\n value: \"web_service_access_only\",\n type: \"BOOLEAN\"\n },\n {\n id: 3,\n label: \"Company Size\",\n value: \"COMPANY_SIZE\",\n type: \"SELECT\",\n options: [\n {\n label: \"Some Value\",\n value: \"value\",\n id: 1\n },\n {\n label: \"Some Text\",\n value: \"Text\",\n id: 2\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 3\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 4\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 5\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 6\n }\n ]\n },\n {\n id: 3,\n label: \"Sample multiselect field\",\n value: \"SAMPLE_MULTISELECT_FIELD\",\n type: \"MULTI_SELECT\",\n options: [\n {\n label: \"Some Value\",\n value: \"value\",\n id: 1\n },\n {\n label: \"Some Text\",\n value: \"Text\",\n id: 2\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 3\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 4\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 5\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 6\n }\n ]\n },\n {\n id: 4,\n type: \"NUMBER\",\n label: \"Field of study\",\n value: \"STUDY\"\n },\n {\n id: 5,\n label: \"Gender\",\n value: \"GENDER\"\n },\n {\n id: 6,\n label: \"Buying role\",\n value: \"ROLE\"\n },\n {\n id: 7,\n label: \"Sample test\",\n value: \"SAMPLE\",\n type: \"PHONE_NUMBER\"\n }\n];\n"],"names":[],"mappings":"AAGO,MAAM,mBAAA,GAAsB;AAAA,EACjC,EAAA,EAAI,IAAA;AAAA,EACJ,MAAA,EAAQ,QAAA;AAAA,EACR,QAAA,EAAU,UAAA;AAAA,EACV,YAAA,EAAc,cAAA;AAAA,EACd,QAAA,EAAU,UAAA;AAAA,EACV,SAAA,EAAW,WAAA;AAAA,EACX,IAAA,EAAM,MAAA;AAAA,EACN,KAAA,EAAO,OAAA;AAAA,EACP,KAAA,EAAO,OAAA;AAAA,EACP,MAAA,EAAQ,QAAA;AAAA,EACR,WAAA,EAAa,aAAA;AAAA,EACb,SAAA,EAAW,WAAA;AAAA,EACX,EAAA,EAAI,IAAA;AAAA,EACJ,SAAA,EAAW,WAAA;AAAA,EACX,YAAA,EAAc,cAAA;AAAA,EACd,kBAAA,EAAoB,oBAAA;AAAA,EACpB,qBAAA,EAAuB;AACzB;AAMO,MAAM,iBAAA,GAAiC;AAAA,EAC5C;AAAA,IACE,KAAA,EAAO,KAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA;AAAA,IACE,KAAA,EAAO,KAAA;AAAA,IACP,KAAA,EAAO;AAAA;AAEX;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/triggers/constants/index.ts"],"sourcesContent":["// Export UI strings\nexport * from './ui-strings';\n\nexport const comparatorConstants = {\n IS: \"IS\",\n IS_NOT: \"IS_NOT\",\n CONTAINS: \"CONTAINS\",\n CONTAINS_NOT: \"CONTAINS_NOT\",\n NO_VALUE: \"NO_VALUE\",\n ANY_VALUE: \"ANY_VALUE\",\n TRUE: \"TRUE\",\n FALSE: \"FALSE\",\n AFTER: \"AFTER\",\n BEFORE: \"BEFORE\",\n STARTS_WITH: \"STARTS_WITH\",\n ENDS_WITH: \"ENDS_WITH\",\n ON: \"ON\",\n LESS_THAN: \"LESS_THAN\",\n GREATER_THAN: \"GREATER_THAN\",\n LESS_THAN_OR_EQUAL: \"LESS_THAN_OR_EQUAL\",\n GREATER_THAN_OR_EQUAL: \"GREATER_THAN_OR_EQUAL\"\n} as const;\ntype ComparatorConstants = typeof comparatorConstants[keyof typeof comparatorConstants];\ntype Condition = {\n label: string;\n value: \"AND\" | \"OR\";\n};\nexport const topLevelCondition: Condition[] = [\n {\n label: \"all\",\n value: \"AND\"\n },\n {\n label: \"any\",\n value: \"OR\"\n }\n];\ntype FieldOption = {\n id: number;\n label: string;\n value: string;\n type?: string;\n options?: Array<{\n label: string;\n value: string;\n id: number;\n }>;\n hasLoadMore?: boolean;\n isAsync?: boolean;\n asyncHandler?: () => Promise<Array<{ label: string; value: string; id: number }>>;\n};\nexport const fieldOptions: FieldOption[] = [\n {\n id: 1,\n label: \"Date of Birth\",\n value: \"DOB\",\n type: \"DATE_TIME\"\n },\n {\n id: 2,\n label: \"Degree\",\n value: \"DEGREE\",\n type: \"BOOLEAN\",\n },\n {\n label: \"Web service access only\",\n value: \"web_service_access_only\",\n type: \"BOOLEAN\"\n },\n {\n id: 3,\n label: \"Company Size\",\n value: \"COMPANY_SIZE\",\n type: \"SELECT\",\n hasLoadMore: true,\n isAsync: true,\n asyncHandler: () =>\n new Promise((resolve) =>\n setTimeout(\n () =>\n resolve(\n Array.from({ length: 50 }, (_, i) => ({\n label: `Company Size Option ${i + 1}`,\n value: `company_size_${i + 1}`,\n id: i + 1,\n }))\n ),\n 3000\n )\n ),\n options: [\n {\n label: \"Some Value\",\n value: \"value\",\n id: 1\n },\n {\n label: \"Some Text\",\n value: \"Text\",\n id: 2\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 3\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 4\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 5\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 6\n }\n ]\n },\n {\n id: 3,\n label: \"Sample multiselect field\",\n value: \"SAMPLE_MULTISELECT_FIELD\",\n type: \"MULTI_SELECT\",\n isAsync: true,\n hasLoadMore: true,\n asyncHandler: () =>\n new Promise((resolve) =>\n setTimeout(\n () =>\n resolve(\n Array.from({ length: 50 }, (_, i) => ({\n label: `Company Size Option ${i + 1}`,\n value: `company_size_${i + 1}`,\n id: i + 1,\n }))\n ),\n 3000\n )\n ),\n options: [\n {\n label: \"Some Value\",\n value: \"value\",\n id: 1\n },\n {\n label: \"Some Text\",\n value: \"Text\",\n id: 2\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 3\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 4\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 5\n },\n {\n label: \"Some Description\",\n value: \"Description\",\n id: 6\n }\n ]\n },\n {\n id: 4,\n type: \"NUMBER\",\n label: \"Field of study\",\n value: \"STUDY\"\n },\n {\n id: 5,\n label: \"Gender\",\n value: \"GENDER\"\n },\n {\n id: 6,\n label: \"Buying role\",\n value: \"ROLE\"\n },\n {\n id: 7,\n label: \"Sample test\",\n value: \"SAMPLE\",\n type: \"PHONE_NUMBER\"\n }\n];\n"],"names":[],"mappings":"AAGO,MAAM,mBAAA,GAAsB;AAAA,EACjC,EAAA,EAAI,IAAA;AAAA,EACJ,MAAA,EAAQ,QAAA;AAAA,EACR,QAAA,EAAU,UAAA;AAAA,EACV,YAAA,EAAc,cAAA;AAAA,EACd,QAAA,EAAU,UAAA;AAAA,EACV,SAAA,EAAW,WAAA;AAAA,EACX,IAAA,EAAM,MAAA;AAAA,EACN,KAAA,EAAO,OAAA;AAAA,EACP,KAAA,EAAO,OAAA;AAAA,EACP,MAAA,EAAQ,QAAA;AAAA,EACR,WAAA,EAAa,aAAA;AAAA,EACb,SAAA,EAAW,WAAA;AAAA,EACX,EAAA,EAAI,IAAA;AAAA,EACJ,SAAA,EAAW,WAAA;AAAA,EACX,YAAA,EAAc,cAAA;AAAA,EACd,kBAAA,EAAoB,oBAAA;AAAA,EACpB,qBAAA,EAAuB;AACzB;AAMO,MAAM,iBAAA,GAAiC;AAAA,EAC5C;AAAA,IACE,KAAA,EAAO,KAAA;AAAA,IACP,KAAA,EAAO;AAAA,GACT;AAAA,EACA;AAAA,IACE,KAAA,EAAO,KAAA;AAAA,IACP,KAAA,EAAO;AAAA;AAEX;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sparrowengg/integrations-templates-frontend",
3
- "version": "5.0.12",
3
+ "version": "5.0.13",
4
4
  "license": "MIT",
5
5
  "module": "dist/es/index.js",
6
6
  "main": "dist/cjs/index.js",