@sparrowengg/integrations-templates-frontend 2.1.0-beta.1 → 2.1.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/dist/cjs/cascader-dropdown/cascader-dropdown-content.js +1 -1
  2. package/dist/cjs/cascader-dropdown/cascader-dropdown-content.js.map +1 -1
  3. package/dist/cjs/commons/components/NamingModal.js +34 -62
  4. package/dist/cjs/commons/components/NamingModal.js.map +1 -1
  5. package/dist/cjs/commons/components/confirmation-modal.js +12 -24
  6. package/dist/cjs/commons/components/confirmation-modal.js.map +1 -1
  7. package/dist/cjs/commons/components/custom-pill.js +12 -30
  8. package/dist/cjs/commons/components/custom-pill.js.map +1 -1
  9. package/dist/cjs/commons/components/draftModal.js +31 -45
  10. package/dist/cjs/commons/components/draftModal.js.map +1 -1
  11. package/dist/cjs/commons/components/edit-confirmation.js +17 -34
  12. package/dist/cjs/commons/components/edit-confirmation.js.map +1 -1
  13. package/dist/cjs/commons/components/import-modal.js +18 -49
  14. package/dist/cjs/commons/components/import-modal.js.map +1 -1
  15. package/dist/cjs/commons/components/spinner.js +2 -16
  16. package/dist/cjs/commons/components/spinner.js.map +1 -1
  17. package/dist/cjs/commons/components/theme-wrapper.js +12 -9
  18. package/dist/cjs/commons/components/theme-wrapper.js.map +1 -1
  19. package/dist/cjs/commons/constants/enhanced.js.map +1 -1
  20. package/dist/cjs/commons/helpers/index.js +52 -93
  21. package/dist/cjs/commons/helpers/index.js.map +1 -1
  22. package/dist/cjs/commons/icons/arrow.js +3 -38
  23. package/dist/cjs/commons/icons/arrow.js.map +1 -1
  24. package/dist/cjs/commons/icons/cursor.js +8 -21
  25. package/dist/cjs/commons/icons/cursor.js.map +1 -1
  26. package/dist/cjs/commons/icons/email-letter.js +12 -30
  27. package/dist/cjs/commons/icons/email-letter.js.map +1 -1
  28. package/dist/cjs/commons/icons/mapping.js +10 -23
  29. package/dist/cjs/commons/icons/mapping.js.map +1 -1
  30. package/dist/cjs/commons/icons/nested-add.js +14 -32
  31. package/dist/cjs/commons/icons/nested-add.js.map +1 -1
  32. package/dist/cjs/commons/icons/sms.js +18 -36
  33. package/dist/cjs/commons/icons/sms.js.map +1 -1
  34. package/dist/cjs/commons/icons/sync.js +3 -110
  35. package/dist/cjs/commons/icons/sync.js.map +1 -1
  36. package/dist/cjs/commons/icons/trash.js +15 -33
  37. package/dist/cjs/commons/icons/trash.js.map +1 -1
  38. package/dist/cjs/commons/icons/whatsapp.js +31 -49
  39. package/dist/cjs/commons/icons/whatsapp.js.map +1 -1
  40. package/dist/cjs/contact-import/components/ManageImport/Completed.js +41 -27
  41. package/dist/cjs/contact-import/components/ManageImport/Completed.js.map +1 -1
  42. package/dist/cjs/contact-import/components/ManageImport/Dashboard.js +43 -23
  43. package/dist/cjs/contact-import/components/ManageImport/Dashboard.js.map +1 -1
  44. package/dist/cjs/contact-import/components/ManageImport/NoDataState.js +6 -7
  45. package/dist/cjs/contact-import/components/ManageImport/NoDataState.js.map +1 -1
  46. package/dist/cjs/contact-import/components/ManageImport/Scheduled.js +46 -30
  47. package/dist/cjs/contact-import/components/ManageImport/Scheduled.js.map +1 -1
  48. package/dist/cjs/contact-import/components/ManageImport/icon.js +85 -0
  49. package/dist/cjs/contact-import/components/ManageImport/icon.js.map +1 -0
  50. package/dist/cjs/contact-import/components/Scheduling.js +27 -39
  51. package/dist/cjs/contact-import/components/Scheduling.js.map +1 -1
  52. package/dist/cjs/contact-import/components/TimePicker.js +102 -129
  53. package/dist/cjs/contact-import/components/TimePicker.js.map +1 -1
  54. package/dist/cjs/contact-import/components/conact-import-schedule.js +64 -0
  55. package/dist/cjs/contact-import/components/conact-import-schedule.js.map +1 -0
  56. package/dist/cjs/contact-import/components/contact-import-configure.js +75 -0
  57. package/dist/cjs/contact-import/components/contact-import-configure.js.map +1 -0
  58. package/dist/cjs/contact-import/components/contact-import-mapping.js +224 -0
  59. package/dist/cjs/contact-import/components/contact-import-mapping.js.map +1 -0
  60. package/dist/cjs/contact-import/constants.js +21 -0
  61. package/dist/cjs/contact-import/constants.js.map +1 -0
  62. package/dist/cjs/contact-import/index.js +242 -32
  63. package/dist/cjs/contact-import/index.js.map +1 -1
  64. package/dist/cjs/dynamic-mapping/components/Mapping.js +321 -203
  65. package/dist/cjs/dynamic-mapping/components/Mapping.js.map +1 -1
  66. package/dist/cjs/dynamic-mapping/index.js +972 -34
  67. package/dist/cjs/dynamic-mapping/index.js.map +1 -1
  68. package/dist/cjs/filter/filter-pill-value-selector.js +1 -1
  69. package/dist/cjs/filter/filter-pill-value-selector.js.map +1 -1
  70. package/dist/cjs/index.js +12 -159
  71. package/dist/cjs/index.js.map +1 -1
  72. package/dist/cjs/integration-template/components/dashboard.js +137 -130
  73. package/dist/cjs/integration-template/components/dashboard.js.map +1 -1
  74. package/dist/cjs/integration-template/index.js +343 -0
  75. package/dist/cjs/integration-template/index.js.map +1 -0
  76. package/dist/cjs/mapping/components/custom-menu.js +3 -4
  77. package/dist/cjs/mapping/components/custom-menu.js.map +1 -1
  78. package/dist/cjs/mapping/components/field.js +103 -121
  79. package/dist/cjs/mapping/components/field.js.map +1 -1
  80. package/dist/cjs/mapping/components/mapping.js +195 -106
  81. package/dist/cjs/mapping/components/mapping.js.map +1 -1
  82. package/dist/cjs/mapping/constants/index.js +2 -259
  83. package/dist/cjs/mapping/constants/index.js.map +1 -1
  84. package/dist/cjs/mapping/index.js +618 -38
  85. package/dist/cjs/mapping/index.js.map +1 -1
  86. package/dist/cjs/mapping/services/index.js +58 -96
  87. package/dist/cjs/mapping/services/index.js.map +1 -1
  88. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-menu/dist/index.js +7 -7
  89. package/dist/cjs/single-mapping/components/mapping.js +490 -0
  90. package/dist/cjs/single-mapping/components/mapping.js.map +1 -0
  91. package/dist/cjs/single-mapping/index.js +986 -58
  92. package/dist/cjs/single-mapping/index.js.map +1 -1
  93. package/dist/cjs/triggers/components/subcomponents.js +1140 -0
  94. package/dist/cjs/triggers/components/subcomponents.js.map +1 -0
  95. package/dist/cjs/triggers/components/trigger.js +491 -0
  96. package/dist/cjs/triggers/components/trigger.js.map +1 -0
  97. package/dist/cjs/triggers/constants/index.js +0 -253
  98. package/dist/cjs/triggers/constants/index.js.map +1 -1
  99. package/dist/cjs/triggers/index.js +333 -0
  100. package/dist/cjs/triggers/index.js.map +1 -0
  101. package/dist/cjs/triggers/services/index.js +30 -0
  102. package/dist/cjs/triggers/services/index.js.map +1 -0
  103. package/dist/es/cascader-dropdown/cascader-dropdown-content.js +1 -1
  104. package/dist/es/cascader-dropdown/cascader-dropdown-content.js.map +1 -1
  105. package/dist/es/commons/components/NamingModal.js +35 -63
  106. package/dist/es/commons/components/NamingModal.js.map +1 -1
  107. package/dist/es/commons/components/confirmation-modal.js +13 -25
  108. package/dist/es/commons/components/confirmation-modal.js.map +1 -1
  109. package/dist/es/commons/components/custom-pill.js +13 -31
  110. package/dist/es/commons/components/custom-pill.js.map +1 -1
  111. package/dist/es/commons/components/draftModal.js +32 -46
  112. package/dist/es/commons/components/draftModal.js.map +1 -1
  113. package/dist/es/commons/components/edit-confirmation.js +18 -35
  114. package/dist/es/commons/components/edit-confirmation.js.map +1 -1
  115. package/dist/es/commons/components/import-modal.js +19 -50
  116. package/dist/es/commons/components/import-modal.js.map +1 -1
  117. package/dist/es/commons/components/spinner.js +2 -16
  118. package/dist/es/commons/components/spinner.js.map +1 -1
  119. package/dist/es/commons/components/theme-wrapper.js +12 -9
  120. package/dist/es/commons/components/theme-wrapper.js.map +1 -1
  121. package/dist/es/commons/constants/enhanced.js.map +1 -1
  122. package/dist/es/commons/helpers/index.js +52 -93
  123. package/dist/es/commons/helpers/index.js.map +1 -1
  124. package/dist/es/commons/icons/arrow.js +3 -38
  125. package/dist/es/commons/icons/arrow.js.map +1 -1
  126. package/dist/es/commons/icons/cursor.js +8 -21
  127. package/dist/es/commons/icons/cursor.js.map +1 -1
  128. package/dist/es/commons/icons/email-letter.js +12 -30
  129. package/dist/es/commons/icons/email-letter.js.map +1 -1
  130. package/dist/es/commons/icons/mapping.js +10 -23
  131. package/dist/es/commons/icons/mapping.js.map +1 -1
  132. package/dist/es/commons/icons/nested-add.js +14 -32
  133. package/dist/es/commons/icons/nested-add.js.map +1 -1
  134. package/dist/es/commons/icons/sms.js +18 -36
  135. package/dist/es/commons/icons/sms.js.map +1 -1
  136. package/dist/es/commons/icons/sync.js +3 -110
  137. package/dist/es/commons/icons/sync.js.map +1 -1
  138. package/dist/es/commons/icons/trash.js +15 -33
  139. package/dist/es/commons/icons/trash.js.map +1 -1
  140. package/dist/es/commons/icons/whatsapp.js +31 -49
  141. package/dist/es/commons/icons/whatsapp.js.map +1 -1
  142. package/dist/es/contact-import/components/ManageImport/Completed.js +41 -27
  143. package/dist/es/contact-import/components/ManageImport/Completed.js.map +1 -1
  144. package/dist/es/contact-import/components/ManageImport/Dashboard.js +45 -25
  145. package/dist/es/contact-import/components/ManageImport/Dashboard.js.map +1 -1
  146. package/dist/es/contact-import/components/ManageImport/NoDataState.js +4 -5
  147. package/dist/es/contact-import/components/ManageImport/NoDataState.js.map +1 -1
  148. package/dist/es/contact-import/components/ManageImport/Scheduled.js +46 -30
  149. package/dist/es/contact-import/components/ManageImport/Scheduled.js.map +1 -1
  150. package/dist/es/contact-import/components/ManageImport/icon.js +82 -0
  151. package/dist/es/contact-import/components/ManageImport/icon.js.map +1 -0
  152. package/dist/es/contact-import/components/Scheduling.js +27 -39
  153. package/dist/es/contact-import/components/Scheduling.js.map +1 -1
  154. package/dist/es/contact-import/components/TimePicker.js +103 -130
  155. package/dist/es/contact-import/components/TimePicker.js.map +1 -1
  156. package/dist/es/contact-import/components/conact-import-schedule.js +60 -0
  157. package/dist/es/contact-import/components/conact-import-schedule.js.map +1 -0
  158. package/dist/es/contact-import/components/contact-import-configure.js +71 -0
  159. package/dist/es/contact-import/components/contact-import-configure.js.map +1 -0
  160. package/dist/es/contact-import/components/contact-import-mapping.js +220 -0
  161. package/dist/es/contact-import/components/contact-import-mapping.js.map +1 -0
  162. package/dist/es/contact-import/constants.js +18 -0
  163. package/dist/es/contact-import/constants.js.map +1 -0
  164. package/dist/es/contact-import/index.js +240 -27
  165. package/dist/es/contact-import/index.js.map +1 -1
  166. package/dist/es/dynamic-mapping/components/Mapping.js +321 -203
  167. package/dist/es/dynamic-mapping/components/Mapping.js.map +1 -1
  168. package/dist/es/dynamic-mapping/index.js +972 -34
  169. package/dist/es/dynamic-mapping/index.js.map +1 -1
  170. package/dist/es/filter/filter-pill-value-selector.js +1 -1
  171. package/dist/es/filter/filter-pill-value-selector.js.map +1 -1
  172. package/dist/es/index.js +2 -23
  173. package/dist/es/index.js.map +1 -1
  174. package/dist/es/integration-template/components/dashboard.js +139 -132
  175. package/dist/es/integration-template/components/dashboard.js.map +1 -1
  176. package/dist/es/integration-template/index.js +341 -0
  177. package/dist/es/integration-template/index.js.map +1 -0
  178. package/dist/es/mapping/components/custom-menu.js +3 -4
  179. package/dist/es/mapping/components/custom-menu.js.map +1 -1
  180. package/dist/es/mapping/components/field.js +100 -118
  181. package/dist/es/mapping/components/field.js.map +1 -1
  182. package/dist/es/mapping/components/mapping.js +194 -105
  183. package/dist/es/mapping/components/mapping.js.map +1 -1
  184. package/dist/es/mapping/constants/index.js +3 -239
  185. package/dist/es/mapping/constants/index.js.map +1 -1
  186. package/dist/es/mapping/index.js +617 -12
  187. package/dist/es/mapping/index.js.map +1 -1
  188. package/dist/es/mapping/services/index.js +59 -96
  189. package/dist/es/mapping/services/index.js.map +1 -1
  190. package/dist/es/node_modules/@internationalized/date/dist/CalendarDate.js +3 -3
  191. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js +1 -1
  192. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dropdown/dropdown.js +2 -2
  193. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +1 -1
  194. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@react-aria/calendar/dist/import.js +2 -2
  195. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@react-aria/utils/dist/import.js +1 -1
  196. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@react-stately/calendar/dist/import.js +1 -1
  197. package/dist/es/single-mapping/components/mapping.js +486 -0
  198. package/dist/es/single-mapping/components/mapping.js.map +1 -0
  199. package/dist/es/single-mapping/index.js +987 -59
  200. package/dist/es/single-mapping/index.js.map +1 -1
  201. package/dist/es/triggers/components/subcomponents.js +1134 -0
  202. package/dist/es/triggers/components/subcomponents.js.map +1 -0
  203. package/dist/es/triggers/components/trigger.js +487 -0
  204. package/dist/es/triggers/components/trigger.js.map +1 -0
  205. package/dist/es/triggers/constants/index.js +1 -228
  206. package/dist/es/triggers/constants/index.js.map +1 -1
  207. package/dist/es/triggers/index.js +331 -0
  208. package/dist/es/triggers/index.js.map +1 -0
  209. package/dist/es/triggers/services/index.js +28 -0
  210. package/dist/es/triggers/services/index.js.map +1 -0
  211. package/dist/index.d.ts +448 -2161
  212. package/package.json +1 -1
@@ -0,0 +1,1134 @@
1
+ import React__default, { useState } from 'react';
2
+ import { parseDate as $fae977aafc393c5c$export$6b862160d295c8e } from '../../node_modules/@internationalized/date/dist/string.js';
3
+ import dayjs from '../../node_modules/dayjs/dayjs.min.js';
4
+ import { subMenuOptions, operatorOptions, booleanOptions } from '../../commons/constants/index.js';
5
+ import NestedAddIcon from '../../commons/icons/nested-add.js';
6
+ import Trash from '../../commons/icons/trash.js';
7
+ import { comparatorConstants } from '../constants/index.js';
8
+ import CustomPill from '../../commons/components/custom-pill.js';
9
+ import { Flex } from '../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js';
10
+ import { Text } from '../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js';
11
+ import { Box } from '../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js';
12
+ import { IconButton } from '../../node_modules/@sparrowengg/twigs-react/dist/es/button/icon-button.js';
13
+ import { CloseIcon } from '../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/close.js';
14
+ import { Popover, PopoverTrigger, PopoverContent } from '../../node_modules/@sparrowengg/twigs-react/dist/es/popover/popover.js';
15
+ import { TooltipProvider, Tooltip } from '../../node_modules/@sparrowengg/twigs-react/dist/es/tooltip/tooltip.js';
16
+ import { ChevronRightIcon } from '../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/chevron-right.js';
17
+ import { Input } from '../../node_modules/@sparrowengg/twigs-react/dist/es/input/input.js';
18
+ import { SearchIcon } from '../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/search.js';
19
+ import { Chip } from '../../node_modules/@sparrowengg/twigs-react/dist/es/chip/chip.js';
20
+ import { Calendar } from '../../node_modules/@sparrowengg/twigs-react/dist/es/calendar/calendar.js';
21
+ import { Checkbox } from '../../node_modules/@sparrowengg/twigs-react/dist/es/checkbox/checkbox.js';
22
+ import { Button } from '../../node_modules/@sparrowengg/twigs-react/dist/es/button/button.js';
23
+ import { FormInput } from '../../node_modules/@sparrowengg/twigs-react/dist/es/input/form-input.js';
24
+ import { FormLabel } from '../../node_modules/@sparrowengg/twigs-react/dist/es/form-label/form-label.js';
25
+
26
+ var __defProp = Object.defineProperty;
27
+ var __defProps = Object.defineProperties;
28
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
29
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
30
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
31
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
32
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
33
+ var __spreadValues = (a, b) => {
34
+ for (var prop in b || (b = {}))
35
+ if (__hasOwnProp.call(b, prop))
36
+ __defNormalProp(a, prop, b[prop]);
37
+ if (__getOwnPropSymbols)
38
+ for (var prop of __getOwnPropSymbols(b)) {
39
+ if (__propIsEnum.call(b, prop))
40
+ __defNormalProp(a, prop, b[prop]);
41
+ }
42
+ return a;
43
+ };
44
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
45
+ const getCurrentConditionText = (text, dataType) => {
46
+ let currentText = "";
47
+ switch (text) {
48
+ case comparatorConstants.IS:
49
+ currentText = dataType.includes("BOOLEAN") ? "is" : "is equal to";
50
+ break;
51
+ case comparatorConstants.IS_NOT:
52
+ currentText = "is not equal to";
53
+ break;
54
+ case comparatorConstants.CONTAINS:
55
+ currentText = "contains";
56
+ break;
57
+ case comparatorConstants.CONTAINS_NOT:
58
+ currentText = "not contains";
59
+ break;
60
+ case comparatorConstants.NO_VALUE:
61
+ currentText = "has no value";
62
+ break;
63
+ case comparatorConstants.ANY_VALUE:
64
+ currentText = "has any value";
65
+ break;
66
+ case comparatorConstants.ON:
67
+ currentText = "on";
68
+ break;
69
+ case comparatorConstants.AFTER:
70
+ currentText = "after";
71
+ break;
72
+ case comparatorConstants.BEFORE:
73
+ currentText = "before";
74
+ break;
75
+ case comparatorConstants.TRUE:
76
+ case comparatorConstants.FALSE:
77
+ currentText = "Boolean";
78
+ break;
79
+ default:
80
+ currentText = "";
81
+ break;
82
+ }
83
+ return currentText;
84
+ };
85
+ const Filter = ({
86
+ setIsEditing,
87
+ filters,
88
+ fields,
89
+ index,
90
+ isEditing,
91
+ setCurrentField,
92
+ resetEditing,
93
+ hasNestedCondition,
94
+ addNestedFilterCondition,
95
+ setNestedFieldCondition,
96
+ removeCurrentFilter,
97
+ removeNestedField,
98
+ fieldOptions
99
+ }) => {
100
+ var _a;
101
+ return /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$1" }, /* @__PURE__ */ React__default.createElement(
102
+ Flex,
103
+ {
104
+ alignItems: "center",
105
+ gap: "5px",
106
+ css: {
107
+ marginBottom: "$4",
108
+ "&:hover": {
109
+ "#action-btn": {
110
+ opacity: 1
111
+ }
112
+ }
113
+ }
114
+ },
115
+ /* @__PURE__ */ React__default.createElement(
116
+ Text,
117
+ {
118
+ weight: "bold",
119
+ css: {
120
+ whiteSpace: "nowrap"
121
+ }
122
+ },
123
+ index > 0 && fields.condition.toLowerCase(),
124
+ " When"
125
+ ),
126
+ /* @__PURE__ */ React__default.createElement(
127
+ Box,
128
+ {
129
+ css: {
130
+ borderBottom: "$borderWidths$xs solid $black200",
131
+ width: "100%",
132
+ marginLeft: "$3",
133
+ position: "relative"
134
+ }
135
+ },
136
+ /* @__PURE__ */ React__default.createElement(
137
+ Flex,
138
+ {
139
+ css: {
140
+ position: "absolute",
141
+ right: 0,
142
+ top: "-$6",
143
+ background: "$white900",
144
+ paddingLeft: "$2",
145
+ opacity: 0,
146
+ transition: "all .3s ease"
147
+ },
148
+ id: "action-btn",
149
+ alignItems: "center",
150
+ gap: "$4"
151
+ },
152
+ hasNestedCondition && /* @__PURE__ */ React__default.createElement(
153
+ IconButton,
154
+ {
155
+ icon: /* @__PURE__ */ React__default.createElement(NestedAddIcon, null),
156
+ size: "sm",
157
+ variant: "ghost",
158
+ color: "default",
159
+ onClick: () => addNestedFilterCondition(filters.id)
160
+ }
161
+ ),
162
+ /* @__PURE__ */ React__default.createElement(
163
+ IconButton,
164
+ {
165
+ icon: /* @__PURE__ */ React__default.createElement(Trash, null),
166
+ size: "sm",
167
+ variant: "ghost",
168
+ color: "default",
169
+ onClick: () => removeCurrentFilter(filters.id)
170
+ }
171
+ )
172
+ )
173
+ )
174
+ ), (_a = filters == null ? void 0 : filters.filter) == null ? void 0 : _a.map((currentFilter, currentFilterIndex) => {
175
+ var _a2, _b;
176
+ return /* @__PURE__ */ React__default.createElement(
177
+ Flex,
178
+ {
179
+ alignItems: "center",
180
+ justifyContent: "space-between",
181
+ css: {
182
+ "&:hover": {
183
+ "& button": {
184
+ opacity: 1
185
+ }
186
+ }
187
+ }
188
+ },
189
+ /* @__PURE__ */ React__default.createElement(Flex, { gap: "$1", alignItems: "center" }, currentFilterIndex > 0 && /* @__PURE__ */ React__default.createElement(
190
+ Box,
191
+ {
192
+ css: { cursor: "pointer" },
193
+ onClick: () => {
194
+ setNestedFieldCondition(
195
+ filters.id,
196
+ filters.condition.toLowerCase() === "or" ? "AND" : "OR"
197
+ );
198
+ }
199
+ },
200
+ /* @__PURE__ */ React__default.createElement(
201
+ CustomPill,
202
+ {
203
+ variant: "default",
204
+ radius: "sm",
205
+ isClosable: false,
206
+ label: filters.condition.toLowerCase()
207
+ }
208
+ )
209
+ ), isEditing && !currentFilter.field ? /* @__PURE__ */ React__default.createElement(
210
+ FieldPopover,
211
+ {
212
+ setCurrentField,
213
+ currentFilter,
214
+ filters,
215
+ fieldOptions
216
+ }
217
+ ) : /* @__PURE__ */ React__default.createElement(
218
+ CustomFieldChip,
219
+ {
220
+ setCurrentField,
221
+ setIsEditing,
222
+ currentFilter,
223
+ filters,
224
+ fieldType: "field"
225
+ },
226
+ (_b = (_a2 = fieldOptions == null ? void 0 : fieldOptions.find(
227
+ (option) => option.value === currentFilter.field
228
+ )) == null ? void 0 : _a2.label) != null ? _b : currentFilter.field,
229
+ " "
230
+ ), isEditing && !currentFilter.comparator && !!currentFilter.field ? /* @__PURE__ */ React__default.createElement(
231
+ DataTypePopover,
232
+ {
233
+ setCurrentField,
234
+ currentFilter,
235
+ filters
236
+ }
237
+ ) : /* @__PURE__ */ React__default.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__default.createElement(
251
+ FieldValuePopover,
252
+ {
253
+ fieldOptions,
254
+ setCurrentField,
255
+ currentFilter,
256
+ filters,
257
+ resetEditing
258
+ }
259
+ ) : /* @__PURE__ */ React__default.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
+ )),
270
+ /* @__PURE__ */ React__default.createElement(
271
+ IconButton,
272
+ {
273
+ css: { opacity: 0 },
274
+ icon: /* @__PURE__ */ React__default.createElement(CloseIcon, null),
275
+ size: "sm",
276
+ color: "default",
277
+ variant: "ghost",
278
+ onClick: () => removeNestedField(filters.id, currentFilter.id)
279
+ }
280
+ )
281
+ );
282
+ }));
283
+ };
284
+ const RenderFieldValuePopover = ({
285
+ fieldOptions,
286
+ setCurrentField,
287
+ currentFilter,
288
+ filters,
289
+ resetEditing,
290
+ setShowPopover
291
+ }) => {
292
+ var _a, _b, _c, _d;
293
+ const [date, setDate] = useState(
294
+ $fae977aafc393c5c$export$6b862160d295c8e(dayjs().format("YYYY-MM-DD"))
295
+ );
296
+ const [inputValue, setInputValue] = useState("");
297
+ const [selectedField, setSelectedField] = useState([]);
298
+ const field = (_a = fieldOptions.find(
299
+ (option) => option.value === currentFilter.field
300
+ )) == null ? void 0 : _a.options;
301
+ if (currentFilter.dataType === "BOOLEAN") {
302
+ return /* @__PURE__ */ React__default.createElement(Box, { css: { paddingBlock: "$5" } }, (_b = booleanOptions) == null ? void 0 : _b.map((option) => /* @__PURE__ */ React__default.createElement(
303
+ Text,
304
+ {
305
+ size: "sm",
306
+ onClick: () => {
307
+ setCurrentField(
308
+ option.value,
309
+ currentFilter == null ? void 0 : currentFilter.id,
310
+ filters == null ? void 0 : filters.id,
311
+ "value"
312
+ );
313
+ setShowPopover(false);
314
+ resetEditing();
315
+ },
316
+ css: {
317
+ padding: "$3 $6",
318
+ cursor: "pointer",
319
+ "&:hover": {
320
+ background: "$neutral100"
321
+ }
322
+ }
323
+ },
324
+ option.label
325
+ )));
326
+ } else if (currentFilter.comparator === "NO_VALUE" || currentFilter.comparator === "ANY_VALUE") {
327
+ setCurrentField(" ", currentFilter == null ? void 0 : currentFilter.id, filters == null ? void 0 : filters.id, "value");
328
+ setShowPopover(false);
329
+ resetEditing();
330
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null);
331
+ } else if (currentFilter.dataType === "DATE_TIME") {
332
+ return /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(
333
+ Calendar,
334
+ {
335
+ size: "md",
336
+ footerActionText: "Apply",
337
+ value: date,
338
+ showTimePicker: true,
339
+ onChange: setDate,
340
+ footerAction: () => {
341
+ setCurrentField(
342
+ dayjs(date).format("MMM D YYYY . hh:mm A"),
343
+ currentFilter == null ? void 0 : currentFilter.id,
344
+ filters == null ? void 0 : filters.id,
345
+ "value"
346
+ );
347
+ setShowPopover(false);
348
+ resetEditing();
349
+ }
350
+ }
351
+ ));
352
+ } else if (field == null ? void 0 : field.length) {
353
+ if (currentFilter.dataType === "SELECT") {
354
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(Box, { css: { padding: "$4" } }, /* @__PURE__ */ React__default.createElement(
355
+ Input,
356
+ {
357
+ placeholder: "Search",
358
+ leftIcon: /* @__PURE__ */ React__default.createElement(SearchIcon, null),
359
+ variant: "filled",
360
+ size: "lg",
361
+ value: inputValue,
362
+ onChange: (e) => setInputValue(e.currentTarget.value)
363
+ }
364
+ )), /* @__PURE__ */ React__default.createElement(
365
+ Flex,
366
+ {
367
+ flexDirection: "column",
368
+ css: {
369
+ paddingBottom: "$4",
370
+ maxHeight: 240,
371
+ height: "100%",
372
+ overflow: "auto"
373
+ }
374
+ },
375
+ !!field.length ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, (_c = field.filter(
376
+ (option) => option.label.toLowerCase().includes(inputValue.toLowerCase())
377
+ )) == null ? void 0 : _c.map((field2) => /* @__PURE__ */ React__default.createElement(
378
+ Box,
379
+ {
380
+ onClick: () => {
381
+ setCurrentField(
382
+ field2.value,
383
+ currentFilter == null ? void 0 : currentFilter.id,
384
+ filters == null ? void 0 : filters.id,
385
+ "value"
386
+ );
387
+ setShowPopover(false);
388
+ resetEditing();
389
+ },
390
+ css: {
391
+ padding: "$3 $6",
392
+ transition: "all .3s ease",
393
+ cursor: "pointer",
394
+ "&:hover": {
395
+ backgroundColor: "rgba(100, 116, 139, 0.06)"
396
+ }
397
+ },
398
+ key: field2 == null ? void 0 : field2.id
399
+ },
400
+ /* @__PURE__ */ React__default.createElement(Text, { size: "sm" }, field2.label)
401
+ ))) : /* @__PURE__ */ React__default.createElement(
402
+ Text,
403
+ {
404
+ size: "sm",
405
+ css: {
406
+ padding: "$3 $6",
407
+ color: "$neutral800",
408
+ textAlign: "center"
409
+ }
410
+ },
411
+ "No options"
412
+ )
413
+ ));
414
+ } else {
415
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(Box, { css: { padding: "$4" } }, /* @__PURE__ */ React__default.createElement(
416
+ Input,
417
+ {
418
+ placeholder: "Search",
419
+ leftIcon: /* @__PURE__ */ React__default.createElement(SearchIcon, null),
420
+ variant: "filled",
421
+ size: "lg",
422
+ value: inputValue,
423
+ onChange: (e) => setInputValue(e.currentTarget.value)
424
+ }
425
+ )), /* @__PURE__ */ React__default.createElement(
426
+ Flex,
427
+ {
428
+ flexDirection: "column",
429
+ css: {
430
+ paddingBottom: "$4",
431
+ maxHeight: 240,
432
+ height: "100%",
433
+ overflow: "auto"
434
+ }
435
+ },
436
+ !!field.length ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(Box, { css: { padding: "$3 $6" } }, /* @__PURE__ */ React__default.createElement(
437
+ Checkbox,
438
+ {
439
+ size: "sm",
440
+ checked: selectedField.length === field.length,
441
+ onChange: (checked) => {
442
+ if (checked) {
443
+ setSelectedField(field == null ? void 0 : field.map((item) => item.value));
444
+ } else {
445
+ setSelectedField([]);
446
+ }
447
+ }
448
+ },
449
+ /* @__PURE__ */ React__default.createElement(
450
+ Text,
451
+ {
452
+ css: {
453
+ cursor: "pointer"
454
+ },
455
+ size: "sm"
456
+ },
457
+ "Select All"
458
+ )
459
+ )), (_d = field.filter(
460
+ (option) => option.label.toLowerCase().includes(inputValue.toLowerCase())
461
+ )) == null ? void 0 : _d.map((field2) => /* @__PURE__ */ React__default.createElement(
462
+ Box,
463
+ {
464
+ css: {
465
+ padding: "$3 $6",
466
+ transition: "all .3s ease",
467
+ cursor: "pointer",
468
+ "&:hover": {
469
+ backgroundColor: "rgba(100, 116, 139, 0.06)"
470
+ }
471
+ },
472
+ key: field2 == null ? void 0 : field2.id
473
+ },
474
+ /* @__PURE__ */ React__default.createElement(Flex, { gap: "$2" }, /* @__PURE__ */ React__default.createElement(
475
+ Checkbox,
476
+ {
477
+ size: "sm",
478
+ checked: selectedField.includes(field2.value),
479
+ onChange: (checked) => {
480
+ if (checked) {
481
+ setSelectedField([...selectedField, field2.value]);
482
+ } else {
483
+ setSelectedField(
484
+ selectedField.filter(
485
+ (item) => item !== field2.value
486
+ )
487
+ );
488
+ }
489
+ }
490
+ },
491
+ /* @__PURE__ */ React__default.createElement(
492
+ Text,
493
+ {
494
+ css: {
495
+ cursor: "pointer"
496
+ },
497
+ size: "sm"
498
+ },
499
+ field2.label
500
+ )
501
+ ))
502
+ )), /* @__PURE__ */ React__default.createElement(
503
+ Flex,
504
+ {
505
+ justifyContent: "flex-end",
506
+ css: {
507
+ position: "sticky",
508
+ bottom: 0,
509
+ paddingBlock: "$4 !important",
510
+ marginInlineEnd: "$6 !important"
511
+ }
512
+ },
513
+ /* @__PURE__ */ React__default.createElement(
514
+ Button,
515
+ {
516
+ size: "sm",
517
+ variant: "ghost",
518
+ color: "primary",
519
+ onClick: () => {
520
+ setCurrentField(
521
+ selectedField,
522
+ currentFilter == null ? void 0 : currentFilter.id,
523
+ filters == null ? void 0 : filters.id,
524
+ "value"
525
+ );
526
+ setShowPopover(false);
527
+ resetEditing();
528
+ }
529
+ },
530
+ "Apply"
531
+ )
532
+ )) : /* @__PURE__ */ React__default.createElement(
533
+ Text,
534
+ {
535
+ size: "sm",
536
+ css: {
537
+ padding: "$3 $6",
538
+ color: "$neutral800",
539
+ textAlign: "center"
540
+ }
541
+ },
542
+ "No options"
543
+ )
544
+ ));
545
+ }
546
+ } else {
547
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(Box, { css: { padding: "$4" } }, /* @__PURE__ */ React__default.createElement(
548
+ FormInput,
549
+ __spreadProps(__spreadValues({
550
+ placeholder: currentFilter.dataType === "NUMBER" ? "Enter a number" : "Enter a value",
551
+ type: "text",
552
+ variant: "filled",
553
+ size: "lg"
554
+ }, (currentFilter.dataType === "NUMBER" || currentFilter.dataType === "PHONE_NUMBER") && {
555
+ maxLength: 10
556
+ }), {
557
+ value: inputValue,
558
+ onChange: (e) => setInputValue(
559
+ currentFilter.dataType === "NUMBER" || currentFilter.dataType === "PHONE_NUMBER" ? e.target.value.replace(/\D/g, "") : e.target.value
560
+ ),
561
+ onKeyDown: (e) => {
562
+ if (e.key === "Enter" && (inputValue == null ? void 0 : inputValue.length)) {
563
+ setCurrentField(
564
+ inputValue,
565
+ currentFilter == null ? void 0 : currentFilter.id,
566
+ filters == null ? void 0 : filters.id,
567
+ "value"
568
+ );
569
+ setShowPopover(false);
570
+ resetEditing();
571
+ }
572
+ }
573
+ })
574
+ ), currentFilter.dataType === "PHONE_NUMBER" && /* @__PURE__ */ React__default.createElement(
575
+ FormLabel,
576
+ {
577
+ size: "xs",
578
+ css: { fontWeight: "$5", marginTop: "$2", marginLeft: "$1" }
579
+ },
580
+ "Enter a valid number without the country code"
581
+ )), /* @__PURE__ */ React__default.createElement(
582
+ Flex,
583
+ {
584
+ alignItems: "center",
585
+ justifyContent: "space-between",
586
+ css: {
587
+ borderTop: "$borderWidths$xs solid $neutral100",
588
+ padding: "$4 $6",
589
+ marginTop: "$4"
590
+ }
591
+ },
592
+ /* @__PURE__ */ React__default.createElement(
593
+ Button,
594
+ {
595
+ size: "md",
596
+ color: "secondary",
597
+ variant: "ghost",
598
+ onClick: () => setShowPopover(false)
599
+ },
600
+ "Cancel"
601
+ ),
602
+ /* @__PURE__ */ React__default.createElement(
603
+ Button,
604
+ {
605
+ size: "md",
606
+ variant: "ghost",
607
+ disabled: !(inputValue == null ? void 0 : inputValue.length),
608
+ onClick: () => {
609
+ setCurrentField(
610
+ inputValue,
611
+ currentFilter == null ? void 0 : currentFilter.id,
612
+ filters == null ? void 0 : filters.id,
613
+ "value"
614
+ );
615
+ setShowPopover(false);
616
+ resetEditing();
617
+ }
618
+ },
619
+ "Save"
620
+ )
621
+ ));
622
+ }
623
+ };
624
+ const FieldValuePopover = ({
625
+ setCurrentField,
626
+ currentFilter,
627
+ filters,
628
+ resetEditing,
629
+ fieldOptions
630
+ }) => {
631
+ const [showPopover, setShowPopover] = useState(true);
632
+ const hasError = !currentFilter.value && !showPopover;
633
+ return /* @__PURE__ */ React__default.createElement(Popover, { defaultOpen: true, open: showPopover }, /* @__PURE__ */ React__default.createElement(TooltipProvider, { delayDuration: 0 }, /* @__PURE__ */ React__default.createElement(
634
+ Tooltip,
635
+ {
636
+ side: "right",
637
+ content: hasError ? "Enter Value to complete the condition" : ""
638
+ },
639
+ /* @__PURE__ */ React__default.createElement(PopoverTrigger, { asChild: true, onClick: () => setShowPopover(!showPopover) }, /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(CustomConditonChip, { hasError }, "Type Value")))
640
+ )), /* @__PURE__ */ React__default.createElement(
641
+ PopoverContent,
642
+ {
643
+ onPointerDownOutside: () => setShowPopover(false),
644
+ sideOffset: 4,
645
+ align: "start",
646
+ side: currentFilter.dataType === "DATE_TIME" ? "right" : "bottom",
647
+ css: {
648
+ minWidth: 220,
649
+ borderRadius: "$xl",
650
+ border: "0.7px solid $black300",
651
+ padding: 0
652
+ }
653
+ },
654
+ /* @__PURE__ */ React__default.createElement(
655
+ RenderFieldValuePopover,
656
+ {
657
+ fieldOptions,
658
+ setShowPopover,
659
+ setCurrentField,
660
+ currentFilter,
661
+ filters,
662
+ resetEditing
663
+ }
664
+ )
665
+ ));
666
+ };
667
+ const DataTypePopover = ({
668
+ setCurrentField,
669
+ currentFilter,
670
+ filters
671
+ }) => {
672
+ var _a, _b, _c;
673
+ const [subMenuContent, setSubMenuContent] = useState({
674
+ show: false,
675
+ type: ""
676
+ });
677
+ return /* @__PURE__ */ React__default.createElement(Popover, { defaultOpen: true }, /* @__PURE__ */ React__default.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(CustomConditonChip, null, "Choose Data Type"))), /* @__PURE__ */ React__default.createElement(
678
+ PopoverContent,
679
+ {
680
+ sideOffset: 4,
681
+ align: "start",
682
+ css: {
683
+ width: 260,
684
+ borderRadius: "$xl",
685
+ border: "0.7px solid $black300",
686
+ padding: 0
687
+ }
688
+ },
689
+ !subMenuContent.show && !currentFilter.dataType.length ? /* @__PURE__ */ React__default.createElement(Box, { css: { paddingTop: "$6" } }, /* @__PURE__ */ React__default.createElement(
690
+ Text,
691
+ {
692
+ size: "sm",
693
+ onClick: () => {
694
+ setCurrentField(
695
+ "NO_PREFERENCE",
696
+ currentFilter == null ? void 0 : currentFilter.id,
697
+ filters == null ? void 0 : filters.id,
698
+ "dataType"
699
+ );
700
+ setCurrentField(
701
+ "NO_PREFERENCE",
702
+ currentFilter == null ? void 0 : currentFilter.id,
703
+ filters == null ? void 0 : filters.id,
704
+ "comparator"
705
+ );
706
+ setSubMenuContent({
707
+ show: false,
708
+ type: ""
709
+ });
710
+ },
711
+ css: {
712
+ padding: "$3 $6",
713
+ marginBottom: "$4",
714
+ cursor: "pointer",
715
+ "&:hover": {
716
+ background: "$neutral100"
717
+ }
718
+ }
719
+ },
720
+ "No Preference"
721
+ ), /* @__PURE__ */ React__default.createElement(
722
+ Box,
723
+ {
724
+ css: {
725
+ paddingTop: "$4",
726
+ borderTop: "$borderWidths$xs solid $neutral100"
727
+ }
728
+ },
729
+ /* @__PURE__ */ React__default.createElement(
730
+ Text,
731
+ {
732
+ css: {
733
+ textTransform: "uppercase",
734
+ color: "$neutral600",
735
+ padding: "$4 $6"
736
+ },
737
+ size: "xs",
738
+ weight: "bold"
739
+ },
740
+ "Select data type"
741
+ ),
742
+ (_a = subMenuOptions) == null ? void 0 : _a.map((option) => /* @__PURE__ */ React__default.createElement(
743
+ Flex,
744
+ {
745
+ alignItems: "center",
746
+ justifyContent: "space-between",
747
+ onClick: () => {
748
+ if (option.value === "BOOLEAN") {
749
+ setCurrentField(
750
+ option.value,
751
+ currentFilter == null ? void 0 : currentFilter.id,
752
+ filters == null ? void 0 : filters.id,
753
+ "dataType"
754
+ );
755
+ setCurrentField(
756
+ comparatorConstants.IS,
757
+ currentFilter == null ? void 0 : currentFilter.id,
758
+ filters == null ? void 0 : filters.id,
759
+ "comparator"
760
+ );
761
+ } else {
762
+ setCurrentField(
763
+ option.value,
764
+ currentFilter == null ? void 0 : currentFilter.id,
765
+ filters == null ? void 0 : filters.id,
766
+ "dataType"
767
+ );
768
+ setSubMenuContent({
769
+ show: true,
770
+ type: option.value
771
+ });
772
+ }
773
+ },
774
+ css: {
775
+ cursor: "pointer",
776
+ padding: "$3 $6",
777
+ "&:hover": {
778
+ background: "rgba(100, 116, 139, 0.08)",
779
+ "#subLabelIcon": {
780
+ opacity: 1
781
+ }
782
+ }
783
+ }
784
+ },
785
+ /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(
786
+ Text,
787
+ {
788
+ size: "sm",
789
+ css: { lineHeight: "$md", color: "$neutral900" }
790
+ },
791
+ option.label
792
+ ), !!option.subLabel && /* @__PURE__ */ React__default.createElement(
793
+ Text,
794
+ {
795
+ size: "xs",
796
+ css: { lineHeight: "$xs", color: "$neutral700" }
797
+ },
798
+ option.subLabel
799
+ )),
800
+ /* @__PURE__ */ React__default.createElement(Box, { css: { opacity: 0 }, id: "subLabelIcon" }, /* @__PURE__ */ React__default.createElement(ChevronRightIcon, { size: 20 }))
801
+ ))
802
+ ), /* @__PURE__ */ React__default.createElement(
803
+ Flex,
804
+ {
805
+ css: {
806
+ background: "rgba(100, 116, 139, 0.06)",
807
+ padding: "$6 $8"
808
+ },
809
+ alignItems: "center",
810
+ justifyContent: "center"
811
+ },
812
+ /* @__PURE__ */ React__default.createElement(Text, { size: "xs", css: { color: "$neutral600", lineHeight: "$xs" } }, "Select the right data type for the mapping to prevent errors when sharing value.")
813
+ )) : /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(
814
+ Flex,
815
+ {
816
+ alignItems: "center",
817
+ gap: "$4",
818
+ css: {
819
+ display: !((_b = subMenuOptions.find(
820
+ (option) => option.value === subMenuContent.type
821
+ )) == null ? void 0 : _b.label) ? "none" : "flex",
822
+ padding: "$5 $4",
823
+ borderRadius: "$xl $xl 0 0",
824
+ backgroundColor: "rgba(100, 116, 139, 0.06)",
825
+ borderBottom: "$borderWidths$xs solid rgba(100, 116, 139, 0.08)"
826
+ }
827
+ },
828
+ /* @__PURE__ */ React__default.createElement(
829
+ Box,
830
+ {
831
+ onClick: () => setSubMenuContent({
832
+ show: false,
833
+ type: ""
834
+ }),
835
+ css: {
836
+ borderRight: "$borderWidths$xs solid $secondary100",
837
+ paddingRight: "$2",
838
+ cursor: "pointer"
839
+ }
840
+ },
841
+ /* @__PURE__ */ React__default.createElement(
842
+ ChevronRightIcon,
843
+ {
844
+ style: { transform: "scaleX(-1)", color: "#76859A" },
845
+ size: 20
846
+ }
847
+ )
848
+ ),
849
+ /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center" }, /* @__PURE__ */ React__default.createElement(Text, { size: "sm", css: { color: "$secondary400" } }, (_c = subMenuOptions.find(
850
+ (option) => option.value === subMenuContent.type
851
+ )) == null ? void 0 : _c.label), /* @__PURE__ */ React__default.createElement(ChevronRightIcon, { style: { color: "#76859A" }, size: 16 }), /* @__PURE__ */ React__default.createElement(
852
+ Text,
853
+ {
854
+ size: "sm",
855
+ weight: "medium",
856
+ css: { color: "$secondary600" }
857
+ },
858
+ subMenuContent.type === "DATE_TIME" ? "Select" : "Choose"
859
+ ))
860
+ ), /* @__PURE__ */ React__default.createElement(
861
+ Box,
862
+ {
863
+ css: {
864
+ paddingBlock: subMenuContent.type === "DATE_TIME" ? 0 : "$4"
865
+ }
866
+ },
867
+ /* @__PURE__ */ React__default.createElement(
868
+ PopoverFields,
869
+ {
870
+ type: currentFilter.dataType,
871
+ setCurrentField,
872
+ currentFilter,
873
+ filters,
874
+ resetPopover: () => {
875
+ setSubMenuContent({
876
+ show: false,
877
+ type: ""
878
+ });
879
+ }
880
+ }
881
+ )
882
+ ))
883
+ ));
884
+ };
885
+ const PopoverFields = ({
886
+ type,
887
+ setCurrentField,
888
+ filters,
889
+ currentFilter,
890
+ resetPopover
891
+ }) => {
892
+ var _a, _b, _c, _d, _e, _f;
893
+ useState(
894
+ $fae977aafc393c5c$export$6b862160d295c8e(dayjs().format("YYYY-MM-DD"))
895
+ );
896
+ switch (type) {
897
+ case "DATE_TIME":
898
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, (_b = (_a = operatorOptions) == null ? void 0 : _a.filter((operator) => operator.isDateOnly)) == null ? void 0 : _b.map((option) => /* @__PURE__ */ React__default.createElement(
899
+ Text,
900
+ {
901
+ size: "sm",
902
+ key: option.id,
903
+ onClick: () => {
904
+ setCurrentField(
905
+ option.value,
906
+ currentFilter == null ? void 0 : currentFilter.id,
907
+ filters == null ? void 0 : filters.id,
908
+ "comparator"
909
+ );
910
+ resetPopover();
911
+ },
912
+ css: {
913
+ padding: "$3 $6",
914
+ cursor: "pointer",
915
+ "&:hover": {
916
+ background: "rgba(100, 116, 139, 0.08)"
917
+ }
918
+ }
919
+ },
920
+ option.label
921
+ )));
922
+ case "BOOLEAN":
923
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, (_d = (_c = operatorOptions) == null ? void 0 : _c.filter((operator) => (operator == null ? void 0 : operator.type) === "BOOLEAN")) == null ? void 0 : _d.map((option) => /* @__PURE__ */ React__default.createElement(
924
+ Text,
925
+ {
926
+ size: "sm",
927
+ key: option.id,
928
+ onClick: () => {
929
+ setCurrentField(
930
+ option.value,
931
+ currentFilter == null ? void 0 : currentFilter.id,
932
+ filters == null ? void 0 : filters.id,
933
+ "comparator"
934
+ );
935
+ resetPopover();
936
+ },
937
+ css: {
938
+ padding: "$3 $6",
939
+ cursor: "pointer",
940
+ "&:hover": {
941
+ background: "rgba(100, 116, 139, 0.08)"
942
+ }
943
+ }
944
+ },
945
+ option.label
946
+ )));
947
+ default:
948
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, (_f = (_e = operatorOptions) == null ? void 0 : _e.filter((operator) => !operator.isDateOnly)) == null ? void 0 : _f.map((option) => /* @__PURE__ */ React__default.createElement(
949
+ Text,
950
+ {
951
+ size: "sm",
952
+ key: option.id,
953
+ onClick: () => {
954
+ setCurrentField(
955
+ option.value,
956
+ currentFilter == null ? void 0 : currentFilter.id,
957
+ filters == null ? void 0 : filters.id,
958
+ "comparator"
959
+ );
960
+ resetPopover();
961
+ },
962
+ css: {
963
+ padding: "$3 $6",
964
+ cursor: "pointer",
965
+ "&:hover": {
966
+ background: "rgba(100, 116, 139, 0.08)"
967
+ }
968
+ }
969
+ },
970
+ option.label
971
+ )));
972
+ }
973
+ };
974
+ const FieldPopover = ({
975
+ setCurrentField,
976
+ currentFilter,
977
+ filters,
978
+ fieldOptions
979
+ }) => {
980
+ const [inputSearch, setInputSearch] = useState("");
981
+ const currentOptions = fieldOptions == null ? void 0 : fieldOptions.filter(
982
+ (option) => option.label.toLowerCase().includes(inputSearch.toLowerCase())
983
+ );
984
+ return /* @__PURE__ */ React__default.createElement(Popover, { defaultOpen: true }, /* @__PURE__ */ React__default.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React__default.createElement(Box, null, /* @__PURE__ */ React__default.createElement(CustomConditonChip, null, "Choose Field"))), /* @__PURE__ */ React__default.createElement(
985
+ PopoverContent,
986
+ {
987
+ sideOffset: 4,
988
+ align: "start",
989
+ css: {
990
+ paddingBottom: "12px !important",
991
+ width: 220,
992
+ borderRadius: "$xl",
993
+ border: "0.7px solid $black300",
994
+ padding: "0"
995
+ }
996
+ },
997
+ /* @__PURE__ */ React__default.createElement(Box, { css: { padding: "$4" } }, /* @__PURE__ */ React__default.createElement(
998
+ Input,
999
+ {
1000
+ placeholder: "Search",
1001
+ leftIcon: /* @__PURE__ */ React__default.createElement(SearchIcon, null),
1002
+ variant: "filled",
1003
+ size: "lg",
1004
+ value: inputSearch,
1005
+ onChange: (e) => setInputSearch(e.currentTarget.value)
1006
+ }
1007
+ )),
1008
+ /* @__PURE__ */ React__default.createElement(
1009
+ Flex,
1010
+ {
1011
+ flexDirection: "column",
1012
+ css: {
1013
+ paddingBottom: "$4",
1014
+ maxHeight: 240,
1015
+ height: "100%",
1016
+ overflow: "auto"
1017
+ }
1018
+ },
1019
+ !!currentOptions.length ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, currentOptions.map((field) => /* @__PURE__ */ React__default.createElement(
1020
+ Box,
1021
+ {
1022
+ onClick: () => {
1023
+ setCurrentField(
1024
+ field.value,
1025
+ currentFilter == null ? void 0 : currentFilter.id,
1026
+ filters == null ? void 0 : filters.id,
1027
+ "field"
1028
+ );
1029
+ if (field == null ? void 0 : field.type) {
1030
+ setCurrentField(
1031
+ field == null ? void 0 : field.type,
1032
+ currentFilter == null ? void 0 : currentFilter.id,
1033
+ filters == null ? void 0 : filters.id,
1034
+ "dataType"
1035
+ );
1036
+ }
1037
+ },
1038
+ css: {
1039
+ padding: "$3 $6",
1040
+ transition: "all .3s ease",
1041
+ cursor: "pointer",
1042
+ "&:hover": {
1043
+ backgroundColor: "rgba(100, 116, 139, 0.06)"
1044
+ }
1045
+ },
1046
+ key: field == null ? void 0 : field.id
1047
+ },
1048
+ /* @__PURE__ */ React__default.createElement(Text, { size: "sm" }, field.label)
1049
+ ))) : /* @__PURE__ */ React__default.createElement(
1050
+ Text,
1051
+ {
1052
+ size: "sm",
1053
+ css: {
1054
+ padding: "$3 $6",
1055
+ color: "$neutral800",
1056
+ textAlign: "center"
1057
+ }
1058
+ },
1059
+ "No options"
1060
+ )
1061
+ )
1062
+ ));
1063
+ };
1064
+ const CustomConditonChip = ({
1065
+ children,
1066
+ hasError
1067
+ }) => {
1068
+ return /* @__PURE__ */ React__default.createElement(
1069
+ Chip,
1070
+ {
1071
+ size: "lg",
1072
+ css: {
1073
+ backgroundColorOpacity: hasError ? ["#FDEDE8", 1] : ["$primary400", 0.2],
1074
+ color: hasError ? "#E75030" : "$primary700",
1075
+ padding: "$3 $1",
1076
+ fontWeight: "$5",
1077
+ lineHeight: "$sm"
1078
+ }
1079
+ },
1080
+ children
1081
+ );
1082
+ };
1083
+ const CustomFieldChip = ({
1084
+ children,
1085
+ setCurrentField,
1086
+ currentFilter,
1087
+ filters,
1088
+ setIsEditing,
1089
+ fieldType
1090
+ }) => {
1091
+ const renderValue = (children2) => {
1092
+ if (children2 === true) {
1093
+ return "True";
1094
+ }
1095
+ if (children2 === false) {
1096
+ return "False";
1097
+ }
1098
+ return children2;
1099
+ };
1100
+ return /* @__PURE__ */ React__default.createElement(
1101
+ Chip,
1102
+ {
1103
+ size: "lg",
1104
+ css: {
1105
+ background: "transparent",
1106
+ color: "$neutral800",
1107
+ padding: "$3 $1",
1108
+ fontWeight: "$7",
1109
+ lineHeight: "$sm",
1110
+ cursor: "pointer"
1111
+ },
1112
+ onClick: () => {
1113
+ const fieldsToResetMap = {
1114
+ field: ["field", "comparator", "dataType", "value"],
1115
+ comparator: ["comparator", "dataType", "value"],
1116
+ value: ["value"]
1117
+ };
1118
+ const fieldsToReset = fieldsToResetMap[fieldType] || [
1119
+ "comparator",
1120
+ "dataType",
1121
+ "value"
1122
+ ];
1123
+ fieldsToReset.forEach((field) => {
1124
+ setCurrentField("", currentFilter == null ? void 0 : currentFilter.id, filters == null ? void 0 : filters.id, field);
1125
+ });
1126
+ setIsEditing(true);
1127
+ }
1128
+ },
1129
+ renderValue(children)
1130
+ );
1131
+ };
1132
+
1133
+ export { Filter, RenderFieldValuePopover, getCurrentConditionText as default };
1134
+ //# sourceMappingURL=subcomponents.js.map