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