@sparrowengg/integrations-templates-frontend 1.9.1 → 1.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/commons/components/draftModal.js +40 -0
- package/dist/cjs/commons/components/draftModal.js.map +1 -0
- package/dist/cjs/integration-template/components/dashboard.js +230 -133
- package/dist/cjs/integration-template/components/dashboard.js.map +1 -1
- package/dist/cjs/integration-template/index.js +28 -1
- package/dist/cjs/integration-template/index.js.map +1 -1
- package/dist/cjs/mapping/index.js +7 -1
- package/dist/cjs/mapping/index.js.map +1 -1
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/alert-dialog/alert-dialog.js +114 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/alert-dialog/alert-dialog.js.map +1 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js +8 -2
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js.map +1 -1
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-alert.js +119 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-alert.js.map +1 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-confirm.js +133 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-confirm.js.map +1 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-modal.js +117 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-modal.js.map +1 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/index.js +110 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/index.js.map +1 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/store.js +49 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/store.js.map +1 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/grid/grid.js +83 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/grid/grid.js.map +1 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-alert-dialog/dist/index.js +184 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-alert-dialog/dist/index.js.map +1 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-dialog/dist/index.js +4 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/packages/react-icons/dist/es/icons/close.js +86 -0
- package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/packages/react-icons/dist/es/icons/close.js.map +1 -0
- package/dist/cjs/triggers/components/subcomponents.js +160 -25
- package/dist/cjs/triggers/components/subcomponents.js.map +1 -1
- package/dist/cjs/triggers/components/trigger.js +1 -0
- package/dist/cjs/triggers/components/trigger.js.map +1 -1
- package/dist/cjs/triggers/constants/index.js.map +1 -1
- package/dist/cjs/triggers/index.js +7 -12
- package/dist/cjs/triggers/index.js.map +1 -1
- package/dist/es/commons/components/draftModal.js +36 -0
- package/dist/es/commons/components/draftModal.js.map +1 -0
- package/dist/es/integration-template/components/dashboard.js +230 -133
- package/dist/es/integration-template/components/dashboard.js.map +1 -1
- package/dist/es/integration-template/index.js +28 -1
- package/dist/es/integration-template/index.js.map +1 -1
- package/dist/es/mapping/index.js +7 -1
- package/dist/es/mapping/index.js.map +1 -1
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/alert-dialog/alert-dialog.js +106 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/alert-dialog/alert-dialog.js.map +1 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js +7 -4
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js.map +1 -1
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-alert.js +117 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-alert.js.map +1 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-confirm.js +131 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-confirm.js.map +1 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-modal.js +115 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/default-modal.js.map +1 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/index.js +107 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/index.js.map +1 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/store.js +46 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialogs-manager/store.js.map +1 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/grid/grid.js +81 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/grid/grid.js.map +1 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-alert-dialog/dist/index.js +146 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-alert-dialog/dist/index.js.map +1 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-dialog/dist/index.js +3 -1
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -1
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/packages/react-icons/dist/es/icons/close.js +84 -0
- package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/packages/react-icons/dist/es/icons/close.js.map +1 -0
- package/dist/es/triggers/components/subcomponents.js +160 -25
- package/dist/es/triggers/components/subcomponents.js.map +1 -1
- package/dist/es/triggers/components/trigger.js +1 -0
- package/dist/es/triggers/components/trigger.js.map +1 -1
- package/dist/es/triggers/constants/index.js.map +1 -1
- package/dist/es/triggers/index.js +8 -13
- package/dist/es/triggers/index.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/package.json +1 -1
|
@@ -20,9 +20,10 @@ var input = require('../../node_modules/@sparrowengg/twigs-react/dist/es/input/i
|
|
|
20
20
|
var search = require('../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/search.js');
|
|
21
21
|
var chip = require('../../node_modules/@sparrowengg/twigs-react/dist/es/chip/chip.js');
|
|
22
22
|
var calendar = require('../../node_modules/@sparrowengg/twigs-react/dist/es/calendar/calendar.js');
|
|
23
|
+
var checkbox = require('../../node_modules/@sparrowengg/twigs-react/dist/es/checkbox/checkbox.js');
|
|
24
|
+
var button = require('../../node_modules/@sparrowengg/twigs-react/dist/es/button/button.js');
|
|
23
25
|
var formInput = require('../../node_modules/@sparrowengg/twigs-react/dist/es/input/form-input.js');
|
|
24
26
|
var formLabel = require('../../node_modules/@sparrowengg/twigs-react/dist/es/form-label/form-label.js');
|
|
25
|
-
var button = require('../../node_modules/@sparrowengg/twigs-react/dist/es/button/button.js');
|
|
26
27
|
|
|
27
28
|
var __defProp = Object.defineProperty;
|
|
28
29
|
var __defProps = Object.defineProperties;
|
|
@@ -84,6 +85,7 @@ const getCurrentConditionText = (text, dataType) => {
|
|
|
84
85
|
return currentText;
|
|
85
86
|
};
|
|
86
87
|
const Filter = ({
|
|
88
|
+
setIsEditing,
|
|
87
89
|
filters,
|
|
88
90
|
fields,
|
|
89
91
|
index,
|
|
@@ -212,19 +214,40 @@ const Filter = ({
|
|
|
212
214
|
filters,
|
|
213
215
|
fieldOptions
|
|
214
216
|
}
|
|
215
|
-
) : /* @__PURE__ */ React.createElement(
|
|
216
|
-
|
|
217
|
-
|
|
217
|
+
) : /* @__PURE__ */ React.createElement(
|
|
218
|
+
CustomFieldChip,
|
|
219
|
+
{
|
|
220
|
+
setCurrentField,
|
|
221
|
+
setIsEditing,
|
|
222
|
+
currentFilter,
|
|
223
|
+
filters,
|
|
224
|
+
fieldType: "field"
|
|
225
|
+
},
|
|
226
|
+
(_b = (_a = fieldOptions == null ? void 0 : fieldOptions.find(
|
|
227
|
+
(option) => option.value === currentFilter.field
|
|
228
|
+
)) == null ? void 0 : _a.label) != null ? _b : currentFilter.field,
|
|
229
|
+
" "
|
|
230
|
+
), isEditing && !currentFilter.comparator && !!currentFilter.field ? /* @__PURE__ */ React.createElement(
|
|
218
231
|
DataTypePopover,
|
|
219
232
|
{
|
|
220
233
|
setCurrentField,
|
|
221
234
|
currentFilter,
|
|
222
235
|
filters
|
|
223
236
|
}
|
|
224
|
-
) : /* @__PURE__ */ React.createElement(
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
237
|
+
) : /* @__PURE__ */ React.createElement(
|
|
238
|
+
CustomFieldChip,
|
|
239
|
+
{
|
|
240
|
+
setCurrentField,
|
|
241
|
+
setIsEditing,
|
|
242
|
+
currentFilter,
|
|
243
|
+
filters,
|
|
244
|
+
fieldType: "comparator"
|
|
245
|
+
},
|
|
246
|
+
getCurrentConditionText(
|
|
247
|
+
currentFilter.comparator,
|
|
248
|
+
currentFilter.dataType
|
|
249
|
+
)
|
|
250
|
+
), isEditing && !!currentFilter.comparator && !!currentFilter.dataType && !currentFilter.value ? /* @__PURE__ */ React.createElement(
|
|
228
251
|
FieldValuePopover,
|
|
229
252
|
{
|
|
230
253
|
fieldOptions,
|
|
@@ -233,7 +256,17 @@ const Filter = ({
|
|
|
233
256
|
filters,
|
|
234
257
|
resetEditing
|
|
235
258
|
}
|
|
236
|
-
) : /* @__PURE__ */ React.createElement(
|
|
259
|
+
) : /* @__PURE__ */ React.createElement(
|
|
260
|
+
CustomFieldChip,
|
|
261
|
+
{
|
|
262
|
+
setCurrentField,
|
|
263
|
+
setIsEditing,
|
|
264
|
+
currentFilter,
|
|
265
|
+
filters,
|
|
266
|
+
fieldType: "value"
|
|
267
|
+
},
|
|
268
|
+
Array.isArray(currentFilter.value) ? currentFilter.value.join(", ") : currentFilter.value
|
|
269
|
+
)),
|
|
237
270
|
!isEditing && /* @__PURE__ */ React.createElement(
|
|
238
271
|
iconButton.IconButton,
|
|
239
272
|
{
|
|
@@ -261,6 +294,7 @@ const RenderFieldValuePopover = ({
|
|
|
261
294
|
string.parseDate(dayjs_min.default().format("YYYY-MM-DD"))
|
|
262
295
|
);
|
|
263
296
|
const [inputValue, setInputValue] = React.useState("");
|
|
297
|
+
const [selectedField, setSelectedField] = React.useState([]);
|
|
264
298
|
const field = (_a = fieldOptions.find(
|
|
265
299
|
(option) => option.value === currentFilter.field
|
|
266
300
|
)) == null ? void 0 : _a.options;
|
|
@@ -337,21 +371,36 @@ const RenderFieldValuePopover = ({
|
|
|
337
371
|
overflow: "auto"
|
|
338
372
|
}
|
|
339
373
|
},
|
|
340
|
-
!!field.length ? /* @__PURE__ */ React.createElement(React.Fragment, null,
|
|
374
|
+
!!field.length ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(box.Box, { css: {
|
|
375
|
+
padding: "$3 $6"
|
|
376
|
+
} }, /* @__PURE__ */ React.createElement(
|
|
377
|
+
checkbox.Checkbox,
|
|
378
|
+
{
|
|
379
|
+
size: "sm",
|
|
380
|
+
checked: selectedField.length === field.length,
|
|
381
|
+
onChange: (checked) => {
|
|
382
|
+
if (checked) {
|
|
383
|
+
setSelectedField(field.map((item) => item.value));
|
|
384
|
+
} else {
|
|
385
|
+
setSelectedField([]);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
},
|
|
389
|
+
/* @__PURE__ */ React.createElement(
|
|
390
|
+
text.Text,
|
|
391
|
+
{
|
|
392
|
+
css: {
|
|
393
|
+
cursor: "pointer"
|
|
394
|
+
},
|
|
395
|
+
size: "sm"
|
|
396
|
+
},
|
|
397
|
+
"Select All"
|
|
398
|
+
)
|
|
399
|
+
)), field.filter(
|
|
341
400
|
(option) => option.label.toLowerCase().includes(inputValue.toLowerCase())
|
|
342
401
|
).map((field2) => /* @__PURE__ */ React.createElement(
|
|
343
402
|
box.Box,
|
|
344
403
|
{
|
|
345
|
-
onClick: () => {
|
|
346
|
-
setCurrentField(
|
|
347
|
-
field2.value,
|
|
348
|
-
currentFilter == null ? void 0 : currentFilter.id,
|
|
349
|
-
filters == null ? void 0 : filters.id,
|
|
350
|
-
"value"
|
|
351
|
-
);
|
|
352
|
-
setShowPopover(false);
|
|
353
|
-
resetEditing();
|
|
354
|
-
},
|
|
355
404
|
css: {
|
|
356
405
|
padding: "$3 $6",
|
|
357
406
|
transition: "all .3s ease",
|
|
@@ -362,8 +411,65 @@ const RenderFieldValuePopover = ({
|
|
|
362
411
|
},
|
|
363
412
|
key: field2 == null ? void 0 : field2.id
|
|
364
413
|
},
|
|
365
|
-
/* @__PURE__ */ React.createElement(
|
|
366
|
-
|
|
414
|
+
/* @__PURE__ */ React.createElement(flex.Flex, { gap: "$2" }, /* @__PURE__ */ React.createElement(
|
|
415
|
+
checkbox.Checkbox,
|
|
416
|
+
{
|
|
417
|
+
size: "sm",
|
|
418
|
+
checked: selectedField.includes(field2.value),
|
|
419
|
+
onChange: (checked) => {
|
|
420
|
+
if (checked) {
|
|
421
|
+
setSelectedField([...selectedField, field2.value]);
|
|
422
|
+
} else {
|
|
423
|
+
setSelectedField(
|
|
424
|
+
selectedField.filter(
|
|
425
|
+
(item) => item !== field2.value
|
|
426
|
+
)
|
|
427
|
+
);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
},
|
|
431
|
+
/* @__PURE__ */ React.createElement(
|
|
432
|
+
text.Text,
|
|
433
|
+
{
|
|
434
|
+
css: {
|
|
435
|
+
cursor: "pointer"
|
|
436
|
+
},
|
|
437
|
+
size: "sm"
|
|
438
|
+
},
|
|
439
|
+
field2.label
|
|
440
|
+
)
|
|
441
|
+
))
|
|
442
|
+
)), /* @__PURE__ */ React.createElement(
|
|
443
|
+
flex.Flex,
|
|
444
|
+
{
|
|
445
|
+
justifyContent: "flex-end",
|
|
446
|
+
css: {
|
|
447
|
+
position: "sticky",
|
|
448
|
+
bottom: 0,
|
|
449
|
+
paddingBlock: "$4 !important",
|
|
450
|
+
marginInlineEnd: "$6 !important"
|
|
451
|
+
}
|
|
452
|
+
},
|
|
453
|
+
/* @__PURE__ */ React.createElement(
|
|
454
|
+
button.Button,
|
|
455
|
+
{
|
|
456
|
+
size: "sm",
|
|
457
|
+
variant: "ghost",
|
|
458
|
+
color: "primary",
|
|
459
|
+
onClick: () => {
|
|
460
|
+
setCurrentField(
|
|
461
|
+
selectedField,
|
|
462
|
+
currentFilter == null ? void 0 : currentFilter.id,
|
|
463
|
+
filters == null ? void 0 : filters.id,
|
|
464
|
+
"value"
|
|
465
|
+
);
|
|
466
|
+
setShowPopover(false);
|
|
467
|
+
resetEditing();
|
|
468
|
+
}
|
|
469
|
+
},
|
|
470
|
+
"Apply"
|
|
471
|
+
)
|
|
472
|
+
)) : /* @__PURE__ */ React.createElement(
|
|
367
473
|
text.Text,
|
|
368
474
|
{
|
|
369
475
|
size: "sm",
|
|
@@ -393,7 +499,12 @@ const RenderFieldValuePopover = ({
|
|
|
393
499
|
),
|
|
394
500
|
onKeyDown: (e) => {
|
|
395
501
|
if (e.key === "Enter" && (inputValue == null ? void 0 : inputValue.length)) {
|
|
396
|
-
setCurrentField(
|
|
502
|
+
setCurrentField(
|
|
503
|
+
inputValue,
|
|
504
|
+
currentFilter == null ? void 0 : currentFilter.id,
|
|
505
|
+
filters == null ? void 0 : filters.id,
|
|
506
|
+
"value"
|
|
507
|
+
);
|
|
397
508
|
setShowPopover(false);
|
|
398
509
|
resetEditing();
|
|
399
510
|
}
|
|
@@ -877,7 +988,14 @@ const CustomConditonChip = ({
|
|
|
877
988
|
children
|
|
878
989
|
);
|
|
879
990
|
};
|
|
880
|
-
const CustomFieldChip = ({
|
|
991
|
+
const CustomFieldChip = ({
|
|
992
|
+
children,
|
|
993
|
+
setCurrentField,
|
|
994
|
+
currentFilter,
|
|
995
|
+
filters,
|
|
996
|
+
setIsEditing,
|
|
997
|
+
fieldType
|
|
998
|
+
}) => {
|
|
881
999
|
return /* @__PURE__ */ React.createElement(
|
|
882
1000
|
chip.Chip,
|
|
883
1001
|
{
|
|
@@ -887,7 +1005,24 @@ const CustomFieldChip = ({ children }) => {
|
|
|
887
1005
|
color: "$neutral800",
|
|
888
1006
|
padding: "$3 $1",
|
|
889
1007
|
fontWeight: "$7",
|
|
890
|
-
lineHeight: "$sm"
|
|
1008
|
+
lineHeight: "$sm",
|
|
1009
|
+
cursor: "pointer"
|
|
1010
|
+
},
|
|
1011
|
+
onClick: () => {
|
|
1012
|
+
const fieldsToResetMap = {
|
|
1013
|
+
field: ["field", "comparator", "dataType", "value"],
|
|
1014
|
+
comparator: ["comparator", "dataType", "value"],
|
|
1015
|
+
value: ["value"]
|
|
1016
|
+
};
|
|
1017
|
+
const fieldsToReset = fieldsToResetMap[fieldType] || [
|
|
1018
|
+
"comparator",
|
|
1019
|
+
"dataType",
|
|
1020
|
+
"value"
|
|
1021
|
+
];
|
|
1022
|
+
fieldsToReset.forEach((field) => {
|
|
1023
|
+
setCurrentField("", currentFilter == null ? void 0 : currentFilter.id, filters == null ? void 0 : filters.id, field);
|
|
1024
|
+
});
|
|
1025
|
+
setIsEditing(true);
|
|
891
1026
|
}
|
|
892
1027
|
},
|
|
893
1028
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subcomponents.js","sources":["../../../../src/triggers/components/subcomponents.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Flex,\n Box,\n IconButton,\n Button,\n Popover,\n TooltipProvider,\n Tooltip,\n PopoverTrigger,\n PopoverContent,\n Input,\n Calendar,\n Chip,\n Text,\n FormInput,\n FormLabel,\n} from \"@sparrowengg/twigs-react\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport dayjs from \"dayjs\";\nimport {\n CloseIcon,\n SearchIcon,\n ChevronRightIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport { useState, ReactNode } from \"react\";\nimport {\n subMenuOptions,\n operatorOptions,\n booleanOptions,\n} from \"../../commons/constants\";\nimport NestedAddIcon from \"../../commons/icons/nested-add\";\nimport Trash from \"../../commons/icons/trash\";\nimport { comparatorConstants } from \"../constants\";\nimport CustomPill from \"../../commons/components/custom-pill\";\n\nconst getCurrentConditionText = (text: string, dataType: string) => {\n let currentText = \"\";\n switch (text) {\n case comparatorConstants.IS:\n currentText = dataType.includes(\"BOOLEAN\")\n ? \"is\"\n : \"is equal to\";\n break;\n case comparatorConstants.IS_NOT:\n currentText = \"is not equal to\";\n break;\n case comparatorConstants.CONTAINS:\n currentText = \"contains\";\n break;\n case comparatorConstants.CONTAINS_NOT:\n currentText = \"not contains\";\n break;\n case comparatorConstants.NO_VALUE:\n currentText = \"has no value\";\n break;\n case comparatorConstants.ANY_VALUE:\n currentText = \"has any value\";\n break;\n case comparatorConstants.ON:\n currentText = \"on\";\n break;\n case comparatorConstants.AFTER:\n currentText = \"after\";\n break;\n case comparatorConstants.BEFORE:\n currentText = \"before\";\n break;\n case comparatorConstants.TRUE:\n case comparatorConstants.FALSE:\n currentText = \"Boolean\";\n break;\n default:\n currentText = \"\";\n break;\n }\n return currentText;\n};\n\nexport const Filter = ({\n filters,\n fields,\n index,\n isEditing,\n setCurrentField,\n resetEditing,\n addNestedFilterCondition,\n setNestedFieldCondition,\n removeCurrentFilter,\n removeNestedField,\n fieldOptions,\n}: any) => {\n return (\n <Flex flexDirection=\"column\" gap=\"$1\">\n <Flex\n alignItems=\"center\"\n gap=\"5px\"\n css={{\n marginBottom: \"$4\",\n \"&:hover\": {\n \"#action-btn\": {\n opacity: 1,\n },\n },\n }}\n >\n <Text\n weight=\"bold\"\n css={{\n whiteSpace: \"nowrap\",\n }}\n >\n {index > 0 && fields.condition.toLowerCase()} When\n </Text>\n <Box\n css={{\n borderBottom: \"$borderWidths$xs solid $black200\",\n width: \"100%\",\n marginLeft: \"$3\",\n position: \"relative\",\n }}\n >\n {!isEditing && (\n <Flex\n css={{\n position: \"absolute\",\n right: 0,\n top: \"-$6\",\n background: \"$white900\",\n paddingLeft: \"$2\",\n opacity: 0,\n transition: \"all .3s ease\",\n }}\n id=\"action-btn\"\n alignItems=\"center\"\n gap=\"$4\"\n >\n <IconButton\n icon={<NestedAddIcon />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={() => addNestedFilterCondition(filters.id)}\n />\n <IconButton\n icon={<Trash />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={() => removeCurrentFilter(filters.id)}\n />\n </Flex>\n )}\n </Box>\n </Flex>\n\n {filters.filter.map((currentFilter: any, currentFilterIndex: number) => (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n \"&:hover\": {\n \"& button\": {\n opacity: 1,\n },\n },\n }}\n >\n <Flex gap=\"$1\" alignItems=\"center\">\n {currentFilterIndex > 0 && (\n <Box\n css={{ cursor: \"pointer\" }}\n onClick={() => {\n setNestedFieldCondition(\n filters.id,\n filters.condition.toLowerCase() === \"or\" ? \"AND\" : \"OR\"\n );\n }}\n >\n <CustomPill\n variant=\"default\"\n radius=\"sm\"\n isClosable={false}\n label={filters.condition.toLowerCase()}\n />\n </Box>\n )}\n {isEditing && !currentFilter.field ? (\n <FieldPopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n fieldOptions={fieldOptions}\n />\n ) : (\n <CustomFieldChip>\n {fieldOptions?.find(\n (option: any) => option.value === currentFilter.field\n )?.label ?? currentFilter.field}{\" \"}\n </CustomFieldChip>\n )}\n {isEditing && !currentFilter.comparator && !!currentFilter.field ? (\n <DataTypePopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n />\n ) : (\n <CustomFieldChip>\n {getCurrentConditionText(\n currentFilter.comparator,\n currentFilter.dataType\n )}\n </CustomFieldChip>\n )}\n {isEditing &&\n !!currentFilter.comparator &&\n !!currentFilter.dataType &&\n !currentFilter.value ? (\n <FieldValuePopover\n fieldOptions={fieldOptions}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetEditing={resetEditing}\n />\n ) : (\n <CustomFieldChip>{currentFilter.value}</CustomFieldChip>\n )}\n </Flex>\n {!isEditing && (\n <IconButton\n css={{ opacity: 0 }}\n icon={<CloseIcon />}\n size=\"sm\"\n color=\"default\"\n variant=\"ghost\"\n onClick={() => removeNestedField(filters.id, currentFilter.id)}\n />\n )}\n </Flex>\n ))}\n </Flex>\n );\n};\nconst RenderFieldValuePopover = ({\n fieldOptions,\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n setShowPopover,\n}: any) => {\n const [date, setDate] = useState<any>(\n parseDate(dayjs().format(\"YYYY-MM-DD\"))\n );\n const [inputValue, setInputValue] = useState(\"\");\n const field = fieldOptions.find(\n (option: any) => option.value === currentFilter.field\n )?.options;\n if (currentFilter.dataType === \"BOOLEAN\") {\n return (\n <Box css={{ paddingBlock: \"$5\" }}>\n {booleanOptions.map((option) => (\n <Text\n size=\"sm\"\n onClick={() => {\n setCurrentField(\n option.label,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\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 } else if (currentFilter.comparator === \"NO_VALUE\" || currentFilter.comparator === \"ANY_VALUE\") {\n setCurrentField(\" \", currentFilter?.id, filters?.id, \"value\");\n setShowPopover(false);\n resetEditing();\n return <></>;\n } else 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={() => {\n setCurrentField(\n dayjs(date).format(\"MMM D YYYY . hh:mm A\"),\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n />\n </Box>\n );\n } else if (field?.length) {\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) => setInputValue(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 {field\n .filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n )\n .map((field: any) => (\n <Box\n onClick={() => {\n setCurrentField(\n field.value,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\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 key={field?.id}\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 } else {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <FormInput\n placeholder=\"Enter a value\"\n type=\"text\"\n variant=\"filled\"\n size=\"lg\"\n {...(currentFilter.dataType === \"NUMBER\" && {\n maxLength: 10,\n })}\n value={inputValue}\n onChange={(e) =>\n setInputValue(\n currentFilter.dataType === \"NUMBER\"\n ? e.target.value.replace(/\\D/g, \"\")\n : e.target.value\n )\n }\n onKeyDown={(e) => {\n if (e.key === \"Enter\" && inputValue?.length) {\n setCurrentField(inputValue, currentFilter?.id, filters?.id, \"value\");\n setShowPopover(false);\n resetEditing();\n }\n }}\n />\n {currentFilter.dataType === \"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={() => {\n setCurrentField(\n inputValue,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n >\n Save\n </Button>\n </Flex>\n </>\n );\n }\n};\n\nconst FieldValuePopover = ({\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n fieldOptions,\n}: any) => {\n const [showPopover, setShowPopover] = useState(true);\n\n const hasError = !currentFilter.value && !showPopover;\n return (\n <Popover defaultOpen open={showPopover}>\n <TooltipProvider delayDuration={0}>\n <Tooltip\n side=\"right\"\n content={hasError ? \"Enter Value to complete the condition\" : \"\"}\n >\n <PopoverTrigger asChild onClick={() => setShowPopover(!showPopover)}>\n <Box>\n <CustomConditonChip hasError={hasError}>\n Type Value\n </CustomConditonChip>\n </Box>\n </PopoverTrigger>\n </Tooltip>\n </TooltipProvider>\n <PopoverContent\n onPointerDownOutside={() => setShowPopover(false)}\n sideOffset={4}\n align=\"start\"\n side= {currentFilter.dataType === \"DATE_TIME\" ? \"right\": \"bottom\"}\n css={{\n minWidth: 220,\n borderRadius: \"$xl\",\n border: \"0.7px solid $black300\",\n padding: 0,\n }}\n >\n <RenderFieldValuePopover\n fieldOptions={fieldOptions}\n setShowPopover={setShowPopover}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetEditing={resetEditing}\n />\n </PopoverContent>\n </Popover>\n );\n};\n\nconst DataTypePopover = ({ setCurrentField, currentFilter, filters }: any) => {\n const [subMenuContent, setSubMenuContent] = useState({\n show: false,\n type: \"\",\n });\n\n return (\n <Popover defaultOpen>\n <PopoverTrigger asChild>\n <Box>\n <CustomConditonChip>Choose Data Type</CustomConditonChip>\n </Box>\n </PopoverTrigger>\n <PopoverContent\n sideOffset={4}\n align=\"start\"\n css={{\n width: 260,\n borderRadius: \"$xl\",\n border: \"0.7px solid $black300\",\n padding: 0,\n }}\n >\n {!subMenuContent.show && !currentFilter.dataType.length ? (\n <Box css={{ paddingTop: \"$6\" }}>\n <Text\n size=\"sm\"\n onClick={() => {\n setCurrentField(\n \"NO_PREFERENCE\",\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n setCurrentField(\n \"NO_PREFERENCE\",\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n setSubMenuContent({\n show: false,\n type: \"\",\n });\n }}\n css={{\n padding: \"$3 $6\",\n marginBottom: \"$4\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"$neutral100\",\n },\n }}\n >\n No Preference\n </Text>\n <Box\n css={{\n paddingTop: \"$4\",\n borderTop: \"$borderWidths$xs solid $neutral100\",\n }}\n >\n <Text\n css={{\n textTransform: \"uppercase\",\n color: \"$neutral600\",\n padding: \"$4 $6\",\n }}\n size=\"xs\"\n weight=\"bold\"\n >\n Select data type\n </Text>\n {subMenuOptions.map((option) => (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n onClick={() => {\n if (option.value === \"BOOLEAN\") {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n setCurrentField(\n comparatorConstants.IS,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n } else {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n setSubMenuContent({\n show: true,\n type: option.value,\n });\n }\n }}\n css={{\n cursor: \"pointer\",\n padding: \"$3 $6\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n \"#subLabelIcon\": {\n opacity: 1,\n },\n },\n }}\n >\n <Box>\n <Text\n size=\"sm\"\n css={{ lineHeight: \"$md\", color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n {!!option.subLabel && (\n <Text\n size=\"xs\"\n css={{ lineHeight: \"$xs\", color: \"$neutral700\" }}\n >\n {option.subLabel}\n </Text>\n )}\n </Box>\n <Box css={{ opacity: 0 }} id=\"subLabelIcon\">\n <ChevronRightIcon size={20} />\n </Box>\n </Flex>\n ))}\n </Box>\n <Flex\n css={{\n background: \"rgba(100, 116, 139, 0.06)\",\n padding: \"$6 $8\",\n }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Text size=\"xs\" css={{ color: \"$neutral600\", lineHeight: \"$xs\" }}>\n Select the right data type for the mapping to prevent errors\n when sharing value.\n </Text>\n </Flex>\n </Box>\n ) : (\n <Box>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n display: !subMenuOptions.find(\n (option) => option.value === subMenuContent.type\n )?.label ? \"none\" : \"flex\",\n padding: \"$5 $4\",\n borderRadius: \"$xl $xl 0 0\",\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n borderBottom:\n \"$borderWidths$xs solid rgba(100, 116, 139, 0.08)\",\n }}\n >\n <Box\n onClick={() =>\n setSubMenuContent({\n show: false,\n type: \"\",\n })\n }\n css={{\n borderRight: \"$borderWidths$xs solid $secondary100\",\n paddingRight: \"$2\",\n cursor: \"pointer\",\n }}\n >\n <ChevronRightIcon\n style={{ transform: \"scaleX(-1)\", color: \"#76859A\" }}\n size={20}\n />\n </Box>\n <Flex alignItems=\"center\">\n <Text size=\"sm\" css={{ color: \"$secondary400\" }}>\n {\n subMenuOptions.find(\n (option) => option.value === subMenuContent.type\n )?.label\n }\n </Text>\n <ChevronRightIcon style={{ color: \"#76859A\" }} size={16} />\n <Text\n size=\"sm\"\n weight=\"medium\"\n css={{ color: \"$secondary600\" }}\n >\n {subMenuContent.type === \"DATE_TIME\" ? \"Select\" : \"Choose\"}\n </Text>\n </Flex>\n </Flex>\n <Box\n css={{\n paddingBlock: subMenuContent.type === \"DATE_TIME\" ? 0 : \"$4\",\n }}\n >\n <PopoverFields\n type={subMenuContent.type}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetPopover={() => {\n setSubMenuContent({\n show: false,\n type: \"\",\n });\n }}\n />\n </Box>\n </Box>\n )}\n </PopoverContent>\n </Popover>\n );\n};\n\nconst PopoverFields = ({\n type,\n setCurrentField,\n filters,\n currentFilter,\n resetPopover,\n}: {\n type: string;\n setCurrentField: any;\n filters: any;\n currentFilter: any;\n resetPopover: any;\n}) => {\n const [date, setDate] = useState();\n switch (type) {\n case \"DATE_TIME\":\n return (\n <>\n {operatorOptions\n ?.filter((operator) => operator.isDateOnly)\n .map((option) => (\n <Text\n size=\"sm\"\n key={option.id}\n onClick={() => {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n resetPopover();\n }}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </>\n );\n default:\n return (\n <>\n {operatorOptions\n ?.filter((operator) => !operator.isDateOnly)\n .map((option) => (\n <Text\n size=\"sm\"\n key={option.id}\n onClick={() => {\n // if( option.value === 'NO_VALUE') {\n // setCurrentField(\n // null,\n // currentFilter?.id,\n // filters?.id,\n // \"value\"\n // );\n // setSubMenuContent({\n // show: false,\n // type: \"\",\n // });\n // } else {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n // }\n resetPopover();\n }}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </>\n );\n }\n};\n\nconst FieldPopover = ({\n setCurrentField,\n currentFilter,\n filters,\n fieldOptions,\n}: any) => {\n const [inputSearch, setInputSearch] = useState(\"\");\n const currentOptions = fieldOptions?.filter((option: any) =>\n option.label.includes(inputSearch)\n );\n return (\n <Popover defaultOpen>\n <PopoverTrigger asChild>\n <Box>\n <CustomConditonChip>Choose Field</CustomConditonChip>\n </Box>\n </PopoverTrigger>\n <PopoverContent\n sideOffset={4}\n align=\"start\"\n css={{\n paddingBottom: \"12px !important\",\n width: 220,\n borderRadius: \"$xl\",\n border: \"0.7px solid $black300\",\n padding: \"0\",\n }}\n >\n <Box css={{ padding: \"$4\" }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputSearch}\n onChange={(e) => setInputSearch(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 {!!currentOptions.length ? (\n <>\n {currentOptions.map((field: any) => (\n <Box\n onClick={() => {\n setCurrentField(\n field.value,\n currentFilter?.id,\n filters?.id,\n \"field\"\n );\n if (field?.type) {\n setCurrentField(\n field?.type,\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n }\n }}\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 key={field?.id}\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 </PopoverContent>\n </Popover>\n );\n};\n\nconst CustomConditonChip = ({\n children,\n hasError,\n}: {\n children: ReactNode;\n hasError?: boolean;\n}) => {\n return (\n <Chip\n size=\"lg\"\n css={{\n backgroundColorOpacity: hasError\n ? [\"#FDEDE8\", 1]\n : [\"$primary400\", 0.2],\n color: hasError ? \"#E75030\" : \"$primary700\",\n padding: \"$3 $1\",\n fontWeight: \"$5\",\n lineHeight: \"$sm\",\n }}\n >\n {children}\n </Chip>\n );\n};\n\nconst CustomFieldChip = ({ children }: { children: ReactNode }) => {\n return (\n <Chip\n size=\"lg\"\n css={{\n background: \"transparent\",\n color: \"$neutral800\",\n padding: \"$3 $1\",\n fontWeight: \"$7\",\n lineHeight: \"$sm\",\n }}\n >\n {children}\n </Chip>\n );\n};\n"],"names":["comparatorConstants","Flex","Text","Box","IconButton","NestedAddIcon","Trash","CustomPill","CloseIcon","useState","parseDate","dayjs","booleanOptions","Calendar","Input","SearchIcon","field","FormInput","FormLabel","Button","Popover","TooltipProvider","Tooltip","PopoverTrigger","PopoverContent","subMenuOptions","ChevronRightIcon","operatorOptions","Chip"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subcomponents.js","sources":["../../../../src/triggers/components/subcomponents.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n Flex,\n Box,\n IconButton,\n Button,\n Popover,\n TooltipProvider,\n Tooltip,\n PopoverTrigger,\n PopoverContent,\n Input,\n Calendar,\n Chip,\n Text,\n FormInput,\n FormLabel,\n Checkbox,\n} from \"@sparrowengg/twigs-react\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport dayjs from \"dayjs\";\nimport {\n CloseIcon,\n SearchIcon,\n ChevronRightIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport { useState, ReactNode } from \"react\";\nimport {\n subMenuOptions,\n operatorOptions,\n booleanOptions,\n} from \"../../commons/constants\";\nimport NestedAddIcon from \"../../commons/icons/nested-add\";\nimport Trash from \"../../commons/icons/trash\";\nimport { comparatorConstants } from \"../constants\";\nimport CustomPill from \"../../commons/components/custom-pill\";\n\nconst getCurrentConditionText = (text: string, dataType: string) => {\n let currentText = \"\";\n switch (text) {\n case comparatorConstants.IS:\n currentText = dataType.includes(\"BOOLEAN\") ? \"is\" : \"is equal to\";\n break;\n case comparatorConstants.IS_NOT:\n currentText = \"is not equal to\";\n break;\n case comparatorConstants.CONTAINS:\n currentText = \"contains\";\n break;\n case comparatorConstants.CONTAINS_NOT:\n currentText = \"not contains\";\n break;\n case comparatorConstants.NO_VALUE:\n currentText = \"has no value\";\n break;\n case comparatorConstants.ANY_VALUE:\n currentText = \"has any value\";\n break;\n case comparatorConstants.ON:\n currentText = \"on\";\n break;\n case comparatorConstants.AFTER:\n currentText = \"after\";\n break;\n case comparatorConstants.BEFORE:\n currentText = \"before\";\n break;\n case comparatorConstants.TRUE:\n case comparatorConstants.FALSE:\n currentText = \"Boolean\";\n break;\n default:\n currentText = \"\";\n break;\n }\n return currentText;\n};\n\nexport const Filter = ({\n setIsEditing,\n filters,\n fields,\n index,\n isEditing,\n setCurrentField,\n resetEditing,\n addNestedFilterCondition,\n setNestedFieldCondition,\n removeCurrentFilter,\n removeNestedField,\n fieldOptions,\n}: any) => {\n return (\n <Flex flexDirection=\"column\" gap=\"$1\">\n <Flex\n alignItems=\"center\"\n gap=\"5px\"\n css={{\n marginBottom: \"$4\",\n \"&:hover\": {\n \"#action-btn\": {\n opacity: 1,\n },\n },\n }}\n >\n <Text\n weight=\"bold\"\n css={{\n whiteSpace: \"nowrap\",\n }}\n >\n {index > 0 && fields.condition.toLowerCase()} When\n </Text>\n <Box\n css={{\n borderBottom: \"$borderWidths$xs solid $black200\",\n width: \"100%\",\n marginLeft: \"$3\",\n position: \"relative\",\n }}\n >\n {!isEditing && (\n <Flex\n css={{\n position: \"absolute\",\n right: 0,\n top: \"-$6\",\n background: \"$white900\",\n paddingLeft: \"$2\",\n opacity: 0,\n transition: \"all .3s ease\",\n }}\n id=\"action-btn\"\n alignItems=\"center\"\n gap=\"$4\"\n >\n <IconButton\n icon={<NestedAddIcon />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={() => addNestedFilterCondition(filters.id)}\n />\n <IconButton\n icon={<Trash />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={() => removeCurrentFilter(filters.id)}\n />\n </Flex>\n )}\n </Box>\n </Flex>\n\n {filters.filter.map((currentFilter: any, currentFilterIndex: number) => (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n \"&:hover\": {\n \"& button\": {\n opacity: 1,\n },\n },\n }}\n >\n <Flex gap=\"$1\" alignItems=\"center\">\n {currentFilterIndex > 0 && (\n <Box\n css={{ cursor: \"pointer\" }}\n onClick={() => {\n setNestedFieldCondition(\n filters.id,\n filters.condition.toLowerCase() === \"or\" ? \"AND\" : \"OR\"\n );\n }}\n >\n <CustomPill\n variant=\"default\"\n radius=\"sm\"\n isClosable={false}\n label={filters.condition.toLowerCase()}\n />\n </Box>\n )}\n {isEditing && !currentFilter.field ? (\n <FieldPopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n fieldOptions={fieldOptions}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"field\"\n >\n {fieldOptions?.find(\n (option: any) => option.value === currentFilter.field\n )?.label ?? currentFilter.field}{\" \"}\n </CustomFieldChip>\n )}\n {isEditing && !currentFilter.comparator && !!currentFilter.field ? (\n <DataTypePopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"comparator\"\n >\n {getCurrentConditionText(\n currentFilter.comparator,\n currentFilter.dataType\n )}\n </CustomFieldChip>\n )}\n {isEditing &&\n !!currentFilter.comparator &&\n !!currentFilter.dataType &&\n !currentFilter.value ? (\n <FieldValuePopover\n fieldOptions={fieldOptions}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetEditing={resetEditing}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"value\"\n >\n {Array.isArray(currentFilter.value)\n ? currentFilter.value.join(\", \")\n : currentFilter.value}\n </CustomFieldChip>\n )}\n </Flex>\n {!isEditing && (\n <IconButton\n css={{ opacity: 0 }}\n icon={<CloseIcon />}\n size=\"sm\"\n color=\"default\"\n variant=\"ghost\"\n onClick={() => removeNestedField(filters.id, currentFilter.id)}\n />\n )}\n </Flex>\n ))}\n </Flex>\n );\n};\nconst RenderFieldValuePopover = ({\n fieldOptions,\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n setShowPopover,\n}: any) => {\n const [date, setDate] = useState<any>(\n parseDate(dayjs().format(\"YYYY-MM-DD\"))\n );\n const [inputValue, setInputValue] = useState(\"\");\n const [selectedField, setSelectedField] = useState([]);\n const field = fieldOptions.find(\n (option: any) => option.value === currentFilter.field\n )?.options;\n if (currentFilter.dataType === \"BOOLEAN\") {\n return (\n <Box css={{ paddingBlock: \"$5\" }}>\n {booleanOptions.map((option) => (\n <Text\n size=\"sm\"\n onClick={() => {\n setCurrentField(\n option.label,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\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 } else if (\n currentFilter.comparator === \"NO_VALUE\" ||\n currentFilter.comparator === \"ANY_VALUE\"\n ) {\n setCurrentField(\" \", currentFilter?.id, filters?.id, \"value\");\n setShowPopover(false);\n resetEditing();\n return <></>;\n } else 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={() => {\n setCurrentField(\n dayjs(date).format(\"MMM D YYYY . hh:mm A\"),\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n />\n </Box>\n );\n } else if (field?.length) {\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) => setInputValue(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={{\n padding: \"$3 $6\",\n }}>\n <Checkbox\n size=\"sm\"\n checked={selectedField.length === field.length}\n onChange={(checked) => {\n if (checked) {\n setSelectedField(field.map((item: any) => item.value));\n } else {\n setSelectedField([]);\n }\n }}\n >\n <Text\n css={{\n cursor: \"pointer\",\n }}\n size=\"sm\"\n >\n Select All\n </Text>\n </Checkbox>\n </Box>\n {field\n .filter((option: any) =>\n option.label.toLowerCase().includes(inputValue.toLowerCase())\n )\n .map((field: any) => (\n <Box\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 key={field?.id}\n >\n <Flex gap=\"$2\">\n <Checkbox\n size=\"sm\"\n checked={selectedField.includes(field.value)}\n onChange={(checked) => {\n if (checked) {\n setSelectedField([...selectedField, field.value]);\n } else {\n setSelectedField(\n selectedField.filter(\n (item: any) => item !== field.value\n )\n );\n }\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={() => {\n setCurrentField(\n selectedField,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\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 } else {\n return (\n <>\n <Box css={{ padding: \"$4\" }}>\n <FormInput\n placeholder=\"Enter a value\"\n type=\"text\"\n variant=\"filled\"\n size=\"lg\"\n {...(currentFilter.dataType === \"NUMBER\" && {\n maxLength: 10,\n })}\n value={inputValue}\n onChange={(e) =>\n setInputValue(\n currentFilter.dataType === \"NUMBER\"\n ? e.target.value.replace(/\\D/g, \"\")\n : e.target.value\n )\n }\n onKeyDown={(e) => {\n if (e.key === \"Enter\" && inputValue?.length) {\n setCurrentField(\n inputValue,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }\n }}\n />\n {currentFilter.dataType === \"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={() => {\n setCurrentField(\n inputValue,\n currentFilter?.id,\n filters?.id,\n \"value\"\n );\n setShowPopover(false);\n resetEditing();\n }}\n >\n Save\n </Button>\n </Flex>\n </>\n );\n }\n};\n\nconst FieldValuePopover = ({\n setCurrentField,\n currentFilter,\n filters,\n resetEditing,\n fieldOptions,\n}: any) => {\n const [showPopover, setShowPopover] = useState(true);\n\n const hasError = !currentFilter.value && !showPopover;\n return (\n <Popover defaultOpen open={showPopover}>\n <TooltipProvider delayDuration={0}>\n <Tooltip\n side=\"right\"\n content={hasError ? \"Enter Value to complete the condition\" : \"\"}\n >\n <PopoverTrigger asChild onClick={() => setShowPopover(!showPopover)}>\n <Box>\n <CustomConditonChip hasError={hasError}>\n Type Value\n </CustomConditonChip>\n </Box>\n </PopoverTrigger>\n </Tooltip>\n </TooltipProvider>\n <PopoverContent\n onPointerDownOutside={() => setShowPopover(false)}\n sideOffset={4}\n align=\"start\"\n side={currentFilter.dataType === \"DATE_TIME\" ? \"right\" : \"bottom\"}\n css={{\n minWidth: 220,\n borderRadius: \"$xl\",\n border: \"0.7px solid $black300\",\n padding: 0,\n }}\n >\n <RenderFieldValuePopover\n fieldOptions={fieldOptions}\n setShowPopover={setShowPopover}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetEditing={resetEditing}\n />\n </PopoverContent>\n </Popover>\n );\n};\n\nconst DataTypePopover = ({ setCurrentField, currentFilter, filters }: any) => {\n const [subMenuContent, setSubMenuContent] = useState({\n show: false,\n type: \"\",\n });\n\n return (\n <Popover defaultOpen>\n <PopoverTrigger asChild>\n <Box>\n <CustomConditonChip>Choose Data Type</CustomConditonChip>\n </Box>\n </PopoverTrigger>\n <PopoverContent\n sideOffset={4}\n align=\"start\"\n css={{\n width: 260,\n borderRadius: \"$xl\",\n border: \"0.7px solid $black300\",\n padding: 0,\n }}\n >\n {!subMenuContent.show && !currentFilter.dataType.length ? (\n <Box css={{ paddingTop: \"$6\" }}>\n <Text\n size=\"sm\"\n onClick={() => {\n setCurrentField(\n \"NO_PREFERENCE\",\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n setCurrentField(\n \"NO_PREFERENCE\",\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n setSubMenuContent({\n show: false,\n type: \"\",\n });\n }}\n css={{\n padding: \"$3 $6\",\n marginBottom: \"$4\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"$neutral100\",\n },\n }}\n >\n No Preference\n </Text>\n <Box\n css={{\n paddingTop: \"$4\",\n borderTop: \"$borderWidths$xs solid $neutral100\",\n }}\n >\n <Text\n css={{\n textTransform: \"uppercase\",\n color: \"$neutral600\",\n padding: \"$4 $6\",\n }}\n size=\"xs\"\n weight=\"bold\"\n >\n Select data type\n </Text>\n {subMenuOptions.map((option) => (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n onClick={() => {\n if (option.value === \"BOOLEAN\") {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n setCurrentField(\n comparatorConstants.IS,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n } else {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n setSubMenuContent({\n show: true,\n type: option.value,\n });\n }\n }}\n css={{\n cursor: \"pointer\",\n padding: \"$3 $6\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n \"#subLabelIcon\": {\n opacity: 1,\n },\n },\n }}\n >\n <Box>\n <Text\n size=\"sm\"\n css={{ lineHeight: \"$md\", color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n {!!option.subLabel && (\n <Text\n size=\"xs\"\n css={{ lineHeight: \"$xs\", color: \"$neutral700\" }}\n >\n {option.subLabel}\n </Text>\n )}\n </Box>\n <Box css={{ opacity: 0 }} id=\"subLabelIcon\">\n <ChevronRightIcon size={20} />\n </Box>\n </Flex>\n ))}\n </Box>\n <Flex\n css={{\n background: \"rgba(100, 116, 139, 0.06)\",\n padding: \"$6 $8\",\n }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Text size=\"xs\" css={{ color: \"$neutral600\", lineHeight: \"$xs\" }}>\n Select the right data type for the mapping to prevent errors\n when sharing value.\n </Text>\n </Flex>\n </Box>\n ) : (\n <Box>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n display: !subMenuOptions.find(\n (option) => option.value === subMenuContent.type\n )?.label\n ? \"none\"\n : \"flex\",\n padding: \"$5 $4\",\n borderRadius: \"$xl $xl 0 0\",\n backgroundColor: \"rgba(100, 116, 139, 0.06)\",\n borderBottom:\n \"$borderWidths$xs solid rgba(100, 116, 139, 0.08)\",\n }}\n >\n <Box\n onClick={() =>\n setSubMenuContent({\n show: false,\n type: \"\",\n })\n }\n css={{\n borderRight: \"$borderWidths$xs solid $secondary100\",\n paddingRight: \"$2\",\n cursor: \"pointer\",\n }}\n >\n <ChevronRightIcon\n style={{ transform: \"scaleX(-1)\", color: \"#76859A\" }}\n size={20}\n />\n </Box>\n <Flex alignItems=\"center\">\n <Text size=\"sm\" css={{ color: \"$secondary400\" }}>\n {\n subMenuOptions.find(\n (option) => option.value === subMenuContent.type\n )?.label\n }\n </Text>\n <ChevronRightIcon style={{ color: \"#76859A\" }} size={16} />\n <Text\n size=\"sm\"\n weight=\"medium\"\n css={{ color: \"$secondary600\" }}\n >\n {subMenuContent.type === \"DATE_TIME\" ? \"Select\" : \"Choose\"}\n </Text>\n </Flex>\n </Flex>\n <Box\n css={{\n paddingBlock: subMenuContent.type === \"DATE_TIME\" ? 0 : \"$4\",\n }}\n >\n <PopoverFields\n type={subMenuContent.type}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetPopover={() => {\n setSubMenuContent({\n show: false,\n type: \"\",\n });\n }}\n />\n </Box>\n </Box>\n )}\n </PopoverContent>\n </Popover>\n );\n};\n\nconst PopoverFields = ({\n type,\n setCurrentField,\n filters,\n currentFilter,\n resetPopover,\n}: {\n type: string;\n setCurrentField: any;\n filters: any;\n currentFilter: any;\n resetPopover: any;\n}) => {\n const [date, setDate] = useState();\n switch (type) {\n case \"DATE_TIME\":\n return (\n <>\n {operatorOptions\n ?.filter((operator) => operator.isDateOnly)\n .map((option) => (\n <Text\n size=\"sm\"\n key={option.id}\n onClick={() => {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n resetPopover();\n }}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </>\n );\n default:\n return (\n <>\n {operatorOptions\n ?.filter((operator) => !operator.isDateOnly)\n .map((option) => (\n <Text\n size=\"sm\"\n key={option.id}\n onClick={() => {\n // if( option.value === 'NO_VALUE') {\n // setCurrentField(\n // null,\n // currentFilter?.id,\n // filters?.id,\n // \"value\"\n // );\n // setSubMenuContent({\n // show: false,\n // type: \"\",\n // });\n // } else {\n setCurrentField(\n option.value,\n currentFilter?.id,\n filters?.id,\n \"comparator\"\n );\n // }\n resetPopover();\n }}\n css={{\n padding: \"$3 $6\",\n cursor: \"pointer\",\n \"&:hover\": {\n background: \"rgba(100, 116, 139, 0.08)\",\n },\n }}\n >\n {option.label}\n </Text>\n ))}\n </>\n );\n }\n};\n\nconst FieldPopover = ({\n setCurrentField,\n currentFilter,\n filters,\n fieldOptions,\n}: any) => {\n const [inputSearch, setInputSearch] = useState(\"\");\n const currentOptions = fieldOptions?.filter((option: any) =>\n option.label.includes(inputSearch)\n );\n return (\n <Popover defaultOpen>\n <PopoverTrigger asChild>\n <Box>\n <CustomConditonChip>Choose Field</CustomConditonChip>\n </Box>\n </PopoverTrigger>\n <PopoverContent\n sideOffset={4}\n align=\"start\"\n css={{\n paddingBottom: \"12px !important\",\n width: 220,\n borderRadius: \"$xl\",\n border: \"0.7px solid $black300\",\n padding: \"0\",\n }}\n >\n <Box css={{ padding: \"$4\" }}>\n <Input\n placeholder=\"Search\"\n leftIcon={<SearchIcon />}\n variant=\"filled\"\n size=\"lg\"\n value={inputSearch}\n onChange={(e) => setInputSearch(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 {!!currentOptions.length ? (\n <>\n {currentOptions.map((field: any) => (\n <Box\n onClick={() => {\n setCurrentField(\n field.value,\n currentFilter?.id,\n filters?.id,\n \"field\"\n );\n if (field?.type) {\n setCurrentField(\n field?.type,\n currentFilter?.id,\n filters?.id,\n \"dataType\"\n );\n }\n }}\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 key={field?.id}\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 </PopoverContent>\n </Popover>\n );\n};\n\nconst CustomConditonChip = ({\n children,\n hasError,\n}: {\n children: ReactNode;\n hasError?: boolean;\n}) => {\n return (\n <Chip\n size=\"lg\"\n css={{\n backgroundColorOpacity: hasError\n ? [\"#FDEDE8\", 1]\n : [\"$primary400\", 0.2],\n color: hasError ? \"#E75030\" : \"$primary700\",\n padding: \"$3 $1\",\n fontWeight: \"$5\",\n lineHeight: \"$sm\",\n }}\n >\n {children}\n </Chip>\n );\n};\n\nconst CustomFieldChip = ({\n children,\n setCurrentField,\n currentFilter,\n filters,\n setIsEditing,\n fieldType,\n}: {\n children: ReactNode;\n setCurrentField: any;\n currentFilter: any;\n filters: any;\n setIsEditing: any;\n fieldType: string;\n}) => {\n return (\n <Chip\n size=\"lg\"\n css={{\n background: \"transparent\",\n color: \"$neutral800\",\n padding: \"$3 $1\",\n fontWeight: \"$7\",\n lineHeight: \"$sm\",\n cursor: \"pointer\",\n }}\n onClick={() => {\n const fieldsToResetMap: { [key: string]: string[] } = {\n field: [\"field\", \"comparator\", \"dataType\", \"value\"],\n comparator: [\"comparator\", \"dataType\", \"value\"],\n value: [\"value\"],\n };\n const fieldsToReset = fieldsToResetMap[fieldType] || [\n \"comparator\",\n \"dataType\",\n \"value\",\n ];\n fieldsToReset.forEach((field) => {\n setCurrentField(\"\", currentFilter?.id, filters?.id, field);\n });\n setIsEditing(true);\n }}\n >\n {children}\n </Chip>\n );\n};\n"],"names":["comparatorConstants","Flex","Text","Box","IconButton","NestedAddIcon","Trash","CustomPill","CloseIcon","useState","parseDate","dayjs","booleanOptions","Calendar","Input","SearchIcon","Checkbox","field","Button","FormInput","FormLabel","Popover","TooltipProvider","Tooltip","PopoverTrigger","PopoverContent","subMenuOptions","ChevronRightIcon","operatorOptions","Chip"],"mappings":"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"}
|