@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,486 @@
1
+ import React__default, { useState, useEffect } from 'react';
2
+ import { mappingTabValues, surveySparrowURL, mappingPropertyValues } from '../../commons/constants/index.js';
3
+ import Spinner from '../../commons/components/spinner.js';
4
+ import { fetchSurveyQuestions, fetchSurveyVariables, fetchContactProperties, fetchSurveyExpression } from '../../mapping/services/index.js';
5
+ import { Flex } from '../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js';
6
+ import { Box } from '../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js';
7
+ import { Heading } from '../../node_modules/@sparrowengg/twigs-react/dist/es/heading/heading.js';
8
+ import { RadioGroup, Radio } from '../../node_modules/@sparrowengg/twigs-react/dist/es/radio/radio.js';
9
+ import { Tabs, TabsList, TabsTrigger, TabsContent } from '../../node_modules/@sparrowengg/twigs-react/dist/es/tabs/tabs.js';
10
+ import { Text } from '../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js';
11
+ import { Chip } from '../../node_modules/@sparrowengg/twigs-react/dist/es/chip/chip.js';
12
+ import { Input } from '../../node_modules/@sparrowengg/twigs-react/dist/es/input/input.js';
13
+ import { SearchIcon } from '../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/search.js';
14
+ import { Checkbox } from '../../node_modules/@sparrowengg/twigs-react/dist/es/checkbox/checkbox.js';
15
+
16
+ var __defProp = Object.defineProperty;
17
+ var __defProps = Object.defineProperties;
18
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
19
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
20
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
21
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
22
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
23
+ var __spreadValues = (a, b) => {
24
+ for (var prop in b || (b = {}))
25
+ if (__hasOwnProp.call(b, prop))
26
+ __defNormalProp(a, prop, b[prop]);
27
+ if (__getOwnPropSymbols)
28
+ for (var prop of __getOwnPropSymbols(b)) {
29
+ if (__propIsEnum.call(b, prop))
30
+ __defNormalProp(a, prop, b[prop]);
31
+ }
32
+ return a;
33
+ };
34
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
35
+ const Mapping = ({
36
+ surveyId,
37
+ apiURL = surveySparrowURL,
38
+ token,
39
+ surveyProperties,
40
+ importResponse,
41
+ ssMappingData,
42
+ setSSMappingData,
43
+ editField,
44
+ setIsInitialLoad,
45
+ setOriginalMappingData
46
+ }) => {
47
+ var _a, _b, _c;
48
+ const [loader, setLoader] = useState(true);
49
+ const [searchInput, setSearchInput] = useState("");
50
+ const [SSMappedFields, setSSMappedFields] = useState([]);
51
+ const modifiedMappingData = (mappingData, commonLabel, isEnabled = false) => {
52
+ const fields = mappingData.map((data) => {
53
+ var _a2, _b2, _c2;
54
+ return __spreadProps(__spreadValues({}, data), {
55
+ id: (_a2 = data == null ? void 0 : data.id) != null ? _a2 : data == null ? void 0 : data.name,
56
+ name: (_b2 = data == null ? void 0 : data.rtxt) != null ? _b2 : data == null ? void 0 : data.name,
57
+ isEnabled: (_c2 = data == null ? void 0 : data.isEnabled) != null ? _c2 : false
58
+ });
59
+ });
60
+ fields.unshift({ id: "ALL", name: commonLabel, isEnabled });
61
+ return fields;
62
+ };
63
+ const fetchInitalMappingData = async () => {
64
+ var _a2;
65
+ setLoader(true);
66
+ try {
67
+ if (surveyProperties) {
68
+ const { questions, variables, contactProperties, expressions, property, derivedQuestions } = surveyProperties;
69
+ setSSMappingData({
70
+ questions: (questions == null ? void 0 : questions.length) ? modifiedMappingData(questions, "Select all Questions") : [],
71
+ contactProperties: (contactProperties == null ? void 0 : contactProperties.length) ? modifiedMappingData(
72
+ contactProperties,
73
+ "Select all Contact Properties"
74
+ ) : [],
75
+ variables: (variables == null ? void 0 : variables.length) ? modifiedMappingData(variables, "Select all Variables") : [],
76
+ expressions: (expressions == null ? void 0 : expressions.length) ? modifiedMappingData(expressions, "Select all Expressions") : [],
77
+ property: (property == null ? void 0 : property.length) ? modifiedMappingData(property, "Select all Properties") : [],
78
+ derivedQuestions: (derivedQuestions == null ? void 0 : derivedQuestions.length) ? modifiedMappingData(derivedQuestions, "Select all Derived Questions") : []
79
+ });
80
+ } else {
81
+ const [questions, variables, contactProperties, expressions] = await Promise.all([
82
+ fetchSurveyQuestions(apiURL, surveyId, token),
83
+ fetchSurveyVariables(apiURL, surveyId, token),
84
+ fetchContactProperties(apiURL, token),
85
+ fetchSurveyExpression(apiURL, surveyId, token)
86
+ ]);
87
+ setSSMappingData({
88
+ questions: (questions == null ? void 0 : questions.length) ? modifiedMappingData(questions, "Select all Questions") : [],
89
+ contactProperties: (contactProperties == null ? void 0 : contactProperties.length) ? modifiedMappingData(
90
+ contactProperties,
91
+ "Select all Contact Properties"
92
+ ) : [],
93
+ variables: (variables == null ? void 0 : variables.length) ? modifiedMappingData(variables, "Select all Variables") : [],
94
+ expressions: (expressions == null ? void 0 : expressions.length) ? modifiedMappingData(expressions, "Select all Expressions") : [],
95
+ property: ((_a2 = mappingPropertyValues) == null ? void 0 : _a2.length) ? modifiedMappingData(mappingPropertyValues, "Select all Properties") : []
96
+ });
97
+ }
98
+ } catch (error) {
99
+ console.error(error);
100
+ } finally {
101
+ setLoader(false);
102
+ }
103
+ };
104
+ const handleFieldValues = (type, id, value) => {
105
+ var _a2;
106
+ if (id === "ALL") {
107
+ setSSMappingData((prev) => {
108
+ var _a3;
109
+ return __spreadProps(__spreadValues({}, prev), {
110
+ [type]: (_a3 = prev[type]) == null ? void 0 : _a3.map((mapping) => {
111
+ return __spreadProps(__spreadValues({}, mapping), { isEnabled: value });
112
+ })
113
+ });
114
+ });
115
+ } else {
116
+ let modifiedMappedField = (_a2 = ssMappingData[type]) == null ? void 0 : _a2.map((mapping) => {
117
+ if ((mapping == null ? void 0 : mapping.id) === id) {
118
+ return __spreadProps(__spreadValues({}, mapping), { isEnabled: value });
119
+ }
120
+ return __spreadValues({}, mapping);
121
+ });
122
+ if (modifiedMappedField.filter((field) => (field == null ? void 0 : field.id) !== "ALL").every((field) => field.isEnabled)) {
123
+ modifiedMappedField = modifiedMappedField.map((field) => __spreadProps(__spreadValues({}, field), {
124
+ isEnabled: true
125
+ }));
126
+ } else {
127
+ modifiedMappedField = modifiedMappedField.map((field) => {
128
+ if ((field == null ? void 0 : field.id) === "ALL") {
129
+ return __spreadProps(__spreadValues({}, field), { isEnabled: false });
130
+ }
131
+ return field;
132
+ });
133
+ }
134
+ const mappedFields = __spreadProps(__spreadValues({}, ssMappingData), {
135
+ [type]: modifiedMappedField
136
+ });
137
+ setSSMappingData(mappedFields);
138
+ importResponse.onChangeHandler({
139
+ id: "mappedFields",
140
+ value: mappedFields
141
+ });
142
+ }
143
+ };
144
+ const getMappingCount = (mappingField) => {
145
+ let count = 0;
146
+ const mappedField = ssMappingData[mappingField];
147
+ mappedField == null ? void 0 : mappedField.forEach((field) => {
148
+ if ((field == null ? void 0 : field.id) !== "ALL" && field.isEnabled)
149
+ count += 1;
150
+ });
151
+ return count;
152
+ };
153
+ const getAllMappingCount = (mappingField) => {
154
+ const mappedField = ssMappingData[mappingField];
155
+ return mappedField == null ? void 0 : mappedField.length;
156
+ };
157
+ useEffect(() => {
158
+ var _a2;
159
+ if (!(editField == null ? void 0 : editField.id)) {
160
+ fetchInitalMappingData();
161
+ } else if (!!(editField == null ? void 0 : editField.id)) {
162
+ const { fieldValues: {
163
+ mappedFields
164
+ } } = editField;
165
+ if (((_a2 = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a2.ImportMethod) === "SELECTED_DATA") {
166
+ const processField = (field, label) => {
167
+ if (!field.length)
168
+ return [];
169
+ if (field.some((item) => item.id === "ALL"))
170
+ return field;
171
+ return modifiedMappingData(field, label, field.every((item) => item.isEnabled));
172
+ };
173
+ const updatedSSMappingData = {
174
+ questions: processField(mappedFields.questions, "Select all Questions"),
175
+ variables: processField(mappedFields.variables, "Select all Variables"),
176
+ contactProperties: processField(mappedFields.contactProperties, "Select all Contact Properties"),
177
+ expressions: processField(mappedFields.expressions, "Select all Expressions"),
178
+ property: processField(mappedFields.property, "Select all Properties"),
179
+ derivedQuestions: processField(mappedFields.derivedQuestions, "Select all Enrich")
180
+ };
181
+ setSSMappingData(updatedSSMappingData);
182
+ setOriginalMappingData(updatedSSMappingData);
183
+ } else {
184
+ const { questions, variables, contactProperties, expressions, property, derivedQuestions } = surveyProperties;
185
+ const updatedSSMappingData = {
186
+ questions: (questions == null ? void 0 : questions.length) ? questions : [],
187
+ contactProperties: (contactProperties == null ? void 0 : contactProperties.length) ? contactProperties : [],
188
+ variables: (variables == null ? void 0 : variables.length) ? variables : [],
189
+ expressions: (expressions == null ? void 0 : expressions.length) ? expressions : [],
190
+ property: (property == null ? void 0 : property.length) ? property : [],
191
+ derivedQuestions: (derivedQuestions == null ? void 0 : derivedQuestions.length) ? derivedQuestions : []
192
+ };
193
+ setSSMappingData(updatedSSMappingData);
194
+ setOriginalMappingData(updatedSSMappingData);
195
+ }
196
+ setLoader(false);
197
+ } else {
198
+ setLoader(false);
199
+ }
200
+ setIsInitialLoad(false);
201
+ }, [token, surveyId]);
202
+ useEffect(() => {
203
+ var _a2;
204
+ if (((_a2 = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a2.ImportMethod) === "SELECTED_DATA") {
205
+ if (!!(editField == null ? void 0 : editField.id)) {
206
+ const processField = (field, label) => {
207
+ if (!field.length)
208
+ return [];
209
+ if (field.some((item) => item.id === "ALL"))
210
+ return field;
211
+ return modifiedMappingData(field, label, field.every((item) => item.isEnabled));
212
+ };
213
+ setSSMappingData({
214
+ questions: processField(editField.fieldValues.mappedFields.questions, "Select all Questions"),
215
+ variables: processField(editField.fieldValues.mappedFields.variables, "Select all Variables"),
216
+ contactProperties: processField(editField.fieldValues.mappedFields.contactProperties, "Select all Contact Properties"),
217
+ expressions: processField(editField.fieldValues.mappedFields.expressions, "Select all Expressions"),
218
+ property: processField(editField.fieldValues.mappedFields.property, "Select all Properties"),
219
+ derivedQuestions: processField(editField.fieldValues.mappedFields.derivedQuestions, "Select all Enrich")
220
+ });
221
+ } else {
222
+ setSSMappingData({
223
+ questions: ssMappingData.questions.some((question) => question.id === "ALL") ? ssMappingData.questions : ssMappingData.questions.length ? modifiedMappingData(ssMappingData.questions, "Select all Questions") : [],
224
+ variables: ssMappingData.variables.some((variable) => variable.id === "ALL") ? ssMappingData.variables : ssMappingData.variables.length ? modifiedMappingData(ssMappingData.variables, "Select all Variables") : [],
225
+ contactProperties: ssMappingData.contactProperties.some((contactProperty) => contactProperty.id === "ALL") ? ssMappingData.contactProperties : ssMappingData.contactProperties.length ? modifiedMappingData(ssMappingData.contactProperties, "Select all Contact Properties") : [],
226
+ expressions: ssMappingData.expressions.some((expression) => expression.id === "ALL") ? ssMappingData.expressions : ssMappingData.expressions.length ? modifiedMappingData(ssMappingData.expressions, "Select all Expressions") : [],
227
+ property: ssMappingData.property.some((property) => property.id === "ALL") ? ssMappingData.property : ssMappingData.property.length ? modifiedMappingData(ssMappingData.property, "Select all Properties") : [],
228
+ derivedQuestions: ssMappingData.derivedQuestions.some((derivedQuestion) => derivedQuestion.id === "ALL") ? ssMappingData.derivedQuestions : ssMappingData.derivedQuestions.length ? modifiedMappingData(ssMappingData.derivedQuestions, "Select all Derived Questions") : []
229
+ });
230
+ }
231
+ }
232
+ }, [(_a = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a.ImportMethod]);
233
+ useEffect(() => {
234
+ var _a2, _b2, _c2, _d, _e, _f;
235
+ if (((_a2 = ssMappingData == null ? void 0 : ssMappingData.questions) == null ? void 0 : _a2.length) || ((_b2 = ssMappingData == null ? void 0 : ssMappingData.variables) == null ? void 0 : _b2.length) || ((_c2 = ssMappingData == null ? void 0 : ssMappingData.contactProperties) == null ? void 0 : _c2.length) || ((_d = ssMappingData == null ? void 0 : ssMappingData.expressions) == null ? void 0 : _d.length) || ((_e = ssMappingData == null ? void 0 : ssMappingData.property) == null ? void 0 : _e.length)) {
236
+ const updatedFieldValues = Object.keys(ssMappingData).reduce((acc, key) => {
237
+ acc[key] = ssMappingData[key].map((field) => {
238
+ var _a3;
239
+ if (((_a3 = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _a3.ImportMethod) === "SELECTED_DATA") {
240
+ return __spreadProps(__spreadValues({}, field), { isEnabled: field == null ? void 0 : field.isEnabled });
241
+ } else {
242
+ if ((field == null ? void 0 : field.id) !== "ALL") {
243
+ return __spreadProps(__spreadValues({}, field), { isEnabled: true });
244
+ }
245
+ return field;
246
+ }
247
+ });
248
+ return acc;
249
+ }, {});
250
+ setSSMappedFields(updatedFieldValues);
251
+ if (((_f = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _f.ImportMethod) === "SEND_ALL_DATA") {
252
+ importResponse.onChangeHandler({
253
+ id: "mappedFields",
254
+ value: updatedFieldValues
255
+ });
256
+ } else {
257
+ importResponse.onChangeHandler({
258
+ id: "mappedFields",
259
+ value: ssMappingData
260
+ });
261
+ }
262
+ }
263
+ }, [ssMappingData]);
264
+ return /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", justifyContent: "center" }, loader ? /* @__PURE__ */ React__default.createElement(
265
+ Flex,
266
+ {
267
+ alignItems: "center",
268
+ justifyContent: "center",
269
+ css: { height: "calc(100vh - 57px)" }
270
+ },
271
+ /* @__PURE__ */ React__default.createElement(Spinner, null)
272
+ ) : /* @__PURE__ */ React__default.createElement(Box, { css: { maxWidth: 650, width: "100%", marginBlock: "$40" } }, (importResponse == null ? void 0 : importResponse.hasImportResponse) ? /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(Heading, { size: "h5", css: {
273
+ color: "$neutral900"
274
+ } }, "Select Import Data"), /* @__PURE__ */ React__default.createElement(
275
+ RadioGroup,
276
+ {
277
+ defaultValue: (_b = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _b.ImportMethod,
278
+ onChange: (value) => {
279
+ importResponse.onChangeHandler({
280
+ id: "ImportMethod",
281
+ value
282
+ });
283
+ if (value === "SEND_ALL_DATA") {
284
+ importResponse.onChangeHandler({
285
+ id: "mappedFields",
286
+ value: SSMappedFields
287
+ });
288
+ }
289
+ }
290
+ },
291
+ /* @__PURE__ */ React__default.createElement(
292
+ Flex,
293
+ {
294
+ alignItems: "center",
295
+ gap: "$20",
296
+ css: {
297
+ marginTop: "$9",
298
+ "& label": { color: "$neutral800", cursor: "pointer" }
299
+ }
300
+ },
301
+ /* @__PURE__ */ React__default.createElement(Radio, { size: "md", value: "SEND_ALL_DATA", css: {
302
+ cursor: "pointer"
303
+ } }, "Send all data"),
304
+ /* @__PURE__ */ React__default.createElement(Radio, { size: "md", value: "SELECTED_DATA", css: {
305
+ cursor: "pointer"
306
+ } }, "Send selected data")
307
+ )
308
+ )) : null, ((_c = importResponse == null ? void 0 : importResponse.value) == null ? void 0 : _c.ImportMethod) === "SELECTED_DATA" ? /* @__PURE__ */ React__default.createElement(Box, { css: { marginTop: "$24" } }, /* @__PURE__ */ React__default.createElement(Tabs, { defaultValue: "QUESTIONS" }, /* @__PURE__ */ React__default.createElement(
309
+ TabsList,
310
+ {
311
+ css: {
312
+ borderBottom: "$borderWidths$xs solid $neutral200"
313
+ }
314
+ },
315
+ mappingTabValues.map((tab) => /* @__PURE__ */ React__default.createElement(
316
+ TabsTrigger,
317
+ {
318
+ key: tab == null ? void 0 : tab.id,
319
+ value: tab == null ? void 0 : tab.value,
320
+ css: {
321
+ padding: "$6 $4 !important"
322
+ },
323
+ onClick: () => setSearchInput("")
324
+ },
325
+ /* @__PURE__ */ React__default.createElement(Text, { size: "sm", weight: "bold" }, tab.name),
326
+ !!getMappingCount(tab.placeholder) && /* @__PURE__ */ React__default.createElement(Chip, { css: { marginLeft: "$2", borderRadius: "5px", color: "$neutral800" }, variant: "outline", rounded: "sm" }, getMappingCount(tab.placeholder))
327
+ ))
328
+ ), /* @__PURE__ */ React__default.createElement(
329
+ TabsContentComponent,
330
+ {
331
+ searchInput,
332
+ setSearchInput,
333
+ value: "QUESTIONS",
334
+ placeholder: "Questions",
335
+ fields: ssMappingData.questions,
336
+ handleFieldValues: (field, value) => handleFieldValues("questions", field == null ? void 0 : field.id, value)
337
+ }
338
+ ), /* @__PURE__ */ React__default.createElement(
339
+ TabsContentComponent,
340
+ {
341
+ searchInput,
342
+ setSearchInput,
343
+ fields: ssMappingData.variables,
344
+ value: "VARIABLE",
345
+ placeholder: "Variables",
346
+ handleFieldValues: (field, value) => handleFieldValues("variables", field == null ? void 0 : field.id, value)
347
+ }
348
+ ), /* @__PURE__ */ React__default.createElement(
349
+ TabsContentComponent,
350
+ {
351
+ fields: ssMappingData.contactProperties,
352
+ searchInput,
353
+ setSearchInput,
354
+ value: "CONTACT",
355
+ placeholder: "Contacts",
356
+ handleFieldValues: (field, value) => handleFieldValues("contactProperties", field == null ? void 0 : field.id, value)
357
+ }
358
+ ), /* @__PURE__ */ React__default.createElement(
359
+ TabsContentComponent,
360
+ {
361
+ searchInput,
362
+ setSearchInput,
363
+ value: "EXPRESSION",
364
+ placeholder: "Expressions",
365
+ fields: ssMappingData.expressions,
366
+ handleFieldValues: (field, value) => handleFieldValues("expressions", field == null ? void 0 : field.id, value)
367
+ }
368
+ ), /* @__PURE__ */ React__default.createElement(
369
+ TabsContentComponent,
370
+ {
371
+ value: "PROPERTY",
372
+ searchInput,
373
+ setSearchInput,
374
+ placeholder: "Properties",
375
+ fields: ssMappingData.property,
376
+ handleFieldValues: (field, value) => handleFieldValues("property", field == null ? void 0 : field.id, value)
377
+ }
378
+ ), /* @__PURE__ */ React__default.createElement(
379
+ TabsContentComponent,
380
+ {
381
+ value: "DERIVED_QUESTIONS",
382
+ searchInput,
383
+ setSearchInput,
384
+ placeholder: "Derived Questions",
385
+ fields: ssMappingData.derivedQuestions,
386
+ handleFieldValues: (field, value) => handleFieldValues("derivedQuestions", field == null ? void 0 : field.id, value)
387
+ }
388
+ ))) : /* @__PURE__ */ React__default.createElement(Flex, { css: { marginTop: "$16" }, alignItems: "center", gap: "$6" }, /* @__PURE__ */ React__default.createElement(Text, { size: "sm", weight: "regular", css: { width: "90px", color: "$neutral900" } }, "This Includes:"), /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$4" }, getAllMappingCount("questions") - 1 > 0 ? /* @__PURE__ */ React__default.createElement(CustomChip, { bgColor: "#E5F2FF" }, " ", getAllMappingCount("questions") - 1, " Questions") : null, getAllMappingCount("derivedQuestions") - 1 > 0 ? /* @__PURE__ */ React__default.createElement(CustomChip, { bgColor: "#E5F2FF" }, " ", getAllMappingCount("derivedQuestions") - 1, " Enrich") : null, getAllMappingCount("variables") - 1 > 0 ? /* @__PURE__ */ React__default.createElement(CustomChip, { bgColor: "#E8F4E3" }, " ", getAllMappingCount("variables") - 1, " Variables") : null, getAllMappingCount("contactProperties") - 1 > 0 ? /* @__PURE__ */ React__default.createElement(CustomChip, { bgColor: "#FDEDE8" }, " ", getAllMappingCount("contactProperties") - 1, " Contacts") : null, getAllMappingCount("expressions") - 1 > 0 ? /* @__PURE__ */ React__default.createElement(CustomChip, { bgColor: "#F1F1F1" }, " ", getAllMappingCount("expressions") - 1, " Expressions") : null, getAllMappingCount("property") - 1 > 0 ? /* @__PURE__ */ React__default.createElement(CustomChip, { bgColor: "#4A9CA626" }, " ", getAllMappingCount("property") - 1, " Properties") : null))));
389
+ };
390
+ const TabsContentComponent = ({
391
+ value,
392
+ searchInput,
393
+ setSearchInput,
394
+ fields,
395
+ handleFieldValues,
396
+ placeholder
397
+ }) => {
398
+ const mappingFields = fields && fields.filter(
399
+ (field) => {
400
+ var _a;
401
+ return (_a = field.name) == null ? void 0 : _a.toLowerCase().includes(searchInput.toLowerCase());
402
+ }
403
+ );
404
+ return /* @__PURE__ */ React__default.createElement(TabsContent, { value, css: { padding: 0, position: "relative" } }, /* @__PURE__ */ React__default.createElement(
405
+ Input,
406
+ {
407
+ leftIcon: /* @__PURE__ */ React__default.createElement(SearchIcon, { color: "#848484" }),
408
+ variant: "filled",
409
+ placeholder: `Search ${placeholder}`,
410
+ size: "lg",
411
+ css: { marginTop: "$8" },
412
+ value: searchInput,
413
+ onChange: (event) => setSearchInput(event.currentTarget.value)
414
+ }
415
+ ), /* @__PURE__ */ React__default.createElement(
416
+ Flex,
417
+ {
418
+ css: {
419
+ padding: "$8 $4 $32 $4",
420
+ marginTop: "$8",
421
+ height: "calc(100vh - 408px)",
422
+ overflow: "auto",
423
+ scrollbarWidth: "thin",
424
+ "&::-webkit-scrollbar": {
425
+ width: "4px"
426
+ },
427
+ "& label": {
428
+ lineHeight: "$sm"
429
+ }
430
+ },
431
+ flexDirection: "column",
432
+ gap: "$8"
433
+ },
434
+ (mappingFields == null ? void 0 : mappingFields.length) > 1 ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, mappingFields.map((field) => /* @__PURE__ */ React__default.createElement(Box, { css: {
435
+ label: {
436
+ color: "$neutral900",
437
+ fontSize: "$sm",
438
+ maxWidth: "520px",
439
+ display: "block",
440
+ overflow: "hidden",
441
+ textOverflow: "ellipsis",
442
+ whiteSpace: "nowrap"
443
+ }
444
+ } }, /* @__PURE__ */ React__default.createElement(
445
+ Checkbox,
446
+ {
447
+ size: "sm",
448
+ checked: field.isEnabled,
449
+ onChange: (value2) => handleFieldValues(field, value2)
450
+ },
451
+ field.name
452
+ )))) : /* @__PURE__ */ React__default.createElement(
453
+ Flex,
454
+ {
455
+ alignItems: "center",
456
+ justifyContent: "center",
457
+ css: { marginTop: "$40" }
458
+ },
459
+ /* @__PURE__ */ React__default.createElement(Text, { size: "sm" }, "No Results Found")
460
+ )
461
+ ), /* @__PURE__ */ React__default.createElement(
462
+ Box,
463
+ {
464
+ css: {
465
+ position: "absolute",
466
+ pointerEvents: "none",
467
+ top: "88%",
468
+ height: "$25",
469
+ width: "100%",
470
+ background: "linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0))"
471
+ }
472
+ }
473
+ ));
474
+ };
475
+ const CustomChip = ({ children, bgColor, opacity }) => {
476
+ return /* @__PURE__ */ React__default.createElement(Chip, { variant: "solid", css: __spreadProps(__spreadValues(__spreadValues({}, opacity && { backgroundColor: bgColor }), opacity && { backgroundColorOpacity: [bgColor, 0.3] }), {
477
+ background: bgColor,
478
+ lineHeight: "$sm",
479
+ fontWeight: "$4",
480
+ fontFamily: "'Roboto Mono', monospace !important",
481
+ "& > * ": { fontFamily: "'Roboto Mono', monospace !important", fontWeight: "$4 !important" }
482
+ }) }, children);
483
+ };
484
+
485
+ export { Mapping as default };
486
+ //# sourceMappingURL=mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping.js","sources":["../../../../src/single-mapping/components/mapping.tsx"],"sourcesContent":["import {\n Box,\n Checkbox,\n Chip,\n Flex,\n Heading,\n Input,\n Radio,\n RadioGroup,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Text\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect, useState } from \"react\";\nimport {\n surveySparrowURL,\n mappingTabValues,\n mappingPropertyValues\n} from \"../../commons/constants\";\nimport Spinner from \"../../commons/components/spinner\";\nimport {\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchContactProperties,\n fetchSurveyExpression\n} from \"../../mapping/services\";\nimport { SearchIcon } from \"@sparrowengg/twigs-react-icons\";\n\nconst Mapping = ({\n surveyId,\n apiURL = surveySparrowURL,\n token,\n surveyProperties,\n importResponse,\n ssMappingData,\n setSSMappingData,\n editField,\n setIsInitialLoad,\n setOriginalMappingData\n}: any) => {\n const [loader, setLoader] = useState(true);\n const [searchInput, setSearchInput] = useState(\"\");\n const [SSMappedFields, setSSMappedFields] = useState<any[]>([]);\n\n const modifiedMappingData = (mappingData: any, commonLabel: string, isEnabled: boolean = false) => {\n const fields = mappingData.map((data: any) => ({\n ...data,\n id: data?.id ?? data?.name,\n name: data?.rtxt ?? data?.name,\n isEnabled: data?.isEnabled ?? false\n }));\n fields.unshift({ id: \"ALL\", name: commonLabel, isEnabled: isEnabled });\n return fields;\n };\n\n const fetchInitalMappingData = async () => {\n setLoader(true);\n try {\n if(surveyProperties){\n const {questions, variables, contactProperties, expressions, property, derivedQuestions} = surveyProperties\n setSSMappingData({\n questions: questions?.length ? modifiedMappingData(questions, \"Select all Questions\") : [],\n contactProperties: contactProperties?.length ? modifiedMappingData(\n contactProperties,\n \"Select all Contact Properties\"\n ) : [],\n variables: variables?.length ? modifiedMappingData(variables, \"Select all Variables\") : [],\n expressions: expressions?.length ? modifiedMappingData(expressions, \"Select all Expressions\") : [],\n property: property?.length ? modifiedMappingData(property, \"Select all Properties\") : [],\n derivedQuestions: derivedQuestions?.length ? modifiedMappingData(derivedQuestions, \"Select all Derived Questions\") : []\n });\n } else {\n const [questions, variables, contactProperties, expressions] =\n await Promise.all([\n fetchSurveyQuestions(apiURL, surveyId, token),\n fetchSurveyVariables(apiURL, surveyId, token),\n fetchContactProperties(apiURL, token),\n fetchSurveyExpression(apiURL, surveyId, token)\n ]);\n setSSMappingData({\n questions: questions?.length ? modifiedMappingData(questions, \"Select all Questions\") : [],\n contactProperties: contactProperties?.length ? modifiedMappingData(\n contactProperties,\n \"Select all Contact Properties\"\n ) : [],\n variables: variables?.length ? modifiedMappingData(variables, \"Select all Variables\") : [],\n expressions: expressions?.length ? modifiedMappingData(expressions, \"Select all Expressions\") : [],\n property: mappingPropertyValues?.length ? modifiedMappingData(mappingPropertyValues, \"Select all Properties\") : []\n });\n }\n } catch (error) {\n console.error(error);\n } finally {\n setLoader(false);\n }\n };\n\n const handleFieldValues = (\n type: string,\n id: string | number,\n value: boolean\n ) => {\n if (id === \"ALL\") {\n setSSMappingData((prev: any) => ({\n ...prev,\n [type]: prev[type]?.map((mapping: any) => {\n return { ...mapping, isEnabled: value };\n })\n }));\n } else {\n let modifiedMappedField = ssMappingData[type]?.map((mapping: any) => {\n if (mapping?.id === id) {\n return { ...mapping, isEnabled: value };\n }\n return { ...mapping };\n });\n if (\n modifiedMappedField\n .filter((field: any) => field?.id !== \"ALL\")\n .every((field: any) => field.isEnabled)\n ) {\n modifiedMappedField = modifiedMappedField.map((field: any) => ({\n ...field,\n isEnabled: true\n }));\n } else {\n modifiedMappedField = modifiedMappedField.map((field: any) => {\n if (field?.id === \"ALL\") {\n return { ...field, isEnabled: false };\n }\n return field;\n });\n }\n\n const mappedFields = {\n ...ssMappingData,\n [type]: modifiedMappedField\n };\n setSSMappingData(mappedFields);\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: mappedFields\n });\n }\n };\n\n const getMappingCount = (mappingField: any) => {\n let count = 0;\n const mappedField = ssMappingData[mappingField];\n mappedField?.forEach((field: any) => {\n if (field?.id !== \"ALL\" && field.isEnabled) count += 1;\n });\n return count;\n };\n const getAllMappingCount = (mappingField: any) => {\n const mappedField = ssMappingData[mappingField];\n return mappedField?.length;\n };\n\n useEffect(() => {\n if (!editField?.id) {\n fetchInitalMappingData();\n } else if (!!editField?.id) {\n const { fieldValues: {\n mappedFields\n } } = editField;\n if(importResponse?.value?.ImportMethod === \"SELECTED_DATA\"){\n const processField = (field: any[], label: string) => {\n if (!field.length) return [];\n if (field.some(item => item.id === \"ALL\")) return field;\n return modifiedMappingData(field, label, field.every(item => item.isEnabled));\n };\n\n const updatedSSMappingData = {\n questions: processField(mappedFields.questions, \"Select all Questions\"),\n variables: processField(mappedFields.variables, \"Select all Variables\"), \n contactProperties: processField(mappedFields.contactProperties, \"Select all Contact Properties\"),\n expressions: processField(mappedFields.expressions, \"Select all Expressions\"),\n property: processField(mappedFields.property, \"Select all Properties\"),\n derivedQuestions: processField(mappedFields.derivedQuestions, \"Select all Enrich\")\n }\n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n } else {\n const {questions, variables, contactProperties, expressions, property, derivedQuestions} = surveyProperties\n const updatedSSMappingData = {\n questions: questions?.length ? questions : [],\n contactProperties: contactProperties?.length ? contactProperties : [],\n variables: variables?.length ? variables : [],\n expressions: expressions?.length ? expressions : [],\n property: property?.length ? property : [],\n derivedQuestions: derivedQuestions?.length ? derivedQuestions : []\n } \n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n }\n \n setLoader(false);\n } else {\n setLoader(false);\n }\n setIsInitialLoad(false);\n }, [token, surveyId]);\n\n\n useEffect(() => {\n if(importResponse?.value?.ImportMethod === \"SELECTED_DATA\"){\n if(!!editField?.id){\n const processField = (field: any[], label: string) => {\n if (!field.length) return [];\n if (field.some(item => item.id === \"ALL\")) return field;\n return modifiedMappingData(field, label, field.every(item => item.isEnabled));\n };\n setSSMappingData({\n questions: processField(editField.fieldValues.mappedFields.questions, \"Select all Questions\"),\n variables: processField(editField.fieldValues.mappedFields.variables, \"Select all Variables\"),\n contactProperties: processField(editField.fieldValues.mappedFields.contactProperties, \"Select all Contact Properties\"),\n expressions: processField(editField.fieldValues.mappedFields.expressions, \"Select all Expressions\"),\n property: processField(editField.fieldValues.mappedFields.property, \"Select all Properties\"),\n derivedQuestions: processField(editField.fieldValues.mappedFields.derivedQuestions, \"Select all Enrich\")\n })} else {\n setSSMappingData({\n questions: ssMappingData.questions.some((question: any) => question.id === \"ALL\") ? ssMappingData.questions : ssMappingData.questions.length ? modifiedMappingData(ssMappingData.questions, \"Select all Questions\") : [],\n variables: ssMappingData.variables.some((variable: any) => variable.id === \"ALL\") ? ssMappingData.variables : ssMappingData.variables.length ? modifiedMappingData(ssMappingData.variables, \"Select all Variables\") : [],\n contactProperties: ssMappingData.contactProperties.some((contactProperty: any) => contactProperty.id === \"ALL\") ? ssMappingData.contactProperties : ssMappingData.contactProperties.length ? modifiedMappingData(ssMappingData.contactProperties, \"Select all Contact Properties\") : [],\n expressions: ssMappingData.expressions.some((expression: any) => expression.id === \"ALL\") ? ssMappingData.expressions : ssMappingData.expressions.length ? modifiedMappingData(ssMappingData.expressions, \"Select all Expressions\") : [],\n property: ssMappingData.property.some((property: any) => property.id === \"ALL\") ? ssMappingData.property : ssMappingData.property.length ? modifiedMappingData(ssMappingData.property, \"Select all Properties\") : [],\n derivedQuestions: ssMappingData.derivedQuestions.some((derivedQuestion: any) => derivedQuestion.id === \"ALL\") ? ssMappingData.derivedQuestions : ssMappingData.derivedQuestions.length ? modifiedMappingData(ssMappingData.derivedQuestions, \"Select all Derived Questions\") : []\n })\n }\n }\n }, [importResponse?.value?.ImportMethod])\n\n\n\n\n useEffect(() => {\n if (ssMappingData?.questions?.length || ssMappingData?.variables?.length || ssMappingData?.contactProperties?.length || ssMappingData?.expressions?.length || ssMappingData?.property?.length) {\n const updatedFieldValues = Object.keys(ssMappingData).reduce((acc: any, key: any) => {\n acc[key] = ssMappingData[key].map((field: any) => {\n if(importResponse?.value?.ImportMethod === \"SELECTED_DATA\"){\n return { ...field, isEnabled: field?.isEnabled };\n } else {\n if (field?.id !== \"ALL\") {\n return { ...field, isEnabled: true };\n }\n return field;\n }\n });\n return acc;\n }, {});\n setSSMappedFields(updatedFieldValues);\n if (importResponse?.value?.ImportMethod === \"SEND_ALL_DATA\") {\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: updatedFieldValues\n })\n } else {\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: ssMappingData\n })\n }\n }\n }, [ssMappingData]);\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\">\n {loader ? (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"calc(100vh - 57px)\" }}\n >\n <Spinner />\n </Flex>\n ) : (\n <Box css={{ maxWidth: 650, width: \"100%\", marginBlock: \"$40\" }}>\n {importResponse?.hasImportResponse ? (\n <Flex flexDirection=\"column\">\n <Heading size=\"h5\" css={{\n color: \"$neutral900\"\n }}>Select Import Data</Heading>\n <RadioGroup\n defaultValue={importResponse?.value?.ImportMethod}\n onChange={(value) => {\n importResponse.onChangeHandler({\n id: \"ImportMethod\",\n value: value\n })\n if (value === \"SEND_ALL_DATA\") {\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: SSMappedFields\n })\n }\n }}\n >\n <Flex\n alignItems=\"center\"\n gap=\"$20\"\n css={{\n marginTop: \"$9\",\n \"& label\": { color: \"$neutral800\", cursor: \"pointer\" },\n \n }}\n >\n <Radio size=\"md\" value=\"SEND_ALL_DATA\" css={{\n cursor: \"pointer\"\n }}>\n Send all data\n </Radio>\n <Radio size=\"md\" value=\"SELECTED_DATA\" css={{\n cursor: \"pointer\"\n }}>\n Send selected data\n </Radio>\n\n </Flex>\n </RadioGroup>\n </Flex>\n ) : null}\n {importResponse?.value?.ImportMethod === \"SELECTED_DATA\" ? (\n <Box css={{ marginTop: \"$24\" }}>\n <Tabs defaultValue=\"QUESTIONS\">\n <TabsList\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\"\n }}\n >\n {mappingTabValues.map((tab) => (\n <TabsTrigger\n key={tab?.id}\n value={tab?.value}\n css={{\n padding: \"$6 $4 !important\",\n }}\n onClick={() => setSearchInput(\"\")}\n >\n <Text size=\"sm\" weight='bold' >\n {tab.name}\n </Text>\n {!!getMappingCount(tab.placeholder) && (\n <Chip css={{ marginLeft: \"$2\", borderRadius: \"5px\", color: \"$neutral800\" }} variant=\"outline\" rounded=\"sm\">\n {getMappingCount(tab.placeholder)}\n </Chip>\n )}\n </TabsTrigger>\n ))}\n </TabsList>\n <TabsContentComponent\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n value=\"QUESTIONS\"\n placeholder=\"Questions\"\n fields={ssMappingData.questions}\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"questions\", field?.id, value)\n }\n />\n <TabsContentComponent\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n fields={ssMappingData.variables}\n value=\"VARIABLE\"\n placeholder=\"Variables\"\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"variables\", field?.id, value)\n }\n />\n <TabsContentComponent\n fields={ssMappingData.contactProperties}\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n value=\"CONTACT\"\n placeholder=\"Contacts\"\n handleFieldValues={(field, value) =>\n handleFieldValues(\"contactProperties\", field?.id, value)\n }\n />\n <TabsContentComponent\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n value=\"EXPRESSION\"\n placeholder=\"Expressions\"\n fields={ssMappingData.expressions}\n handleFieldValues={(field, value) =>\n handleFieldValues(\"expressions\", field?.id, value)\n }\n />\n <TabsContentComponent\n value=\"PROPERTY\"\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n placeholder=\"Properties\"\n fields={ssMappingData.property}\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"property\", field?.id, value)\n }\n />\n <TabsContentComponent\n value=\"DERIVED_QUESTIONS\"\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n placeholder=\"Derived Questions\"\n fields={ssMappingData.derivedQuestions}\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"derivedQuestions\", field?.id, value)\n }\n />\n </Tabs>\n </Box>\n ) : <Flex css={{ marginTop: \"$16\" }} alignItems=\"center\" gap=\"$6\">\n\n <Text size=\"sm\" weight=\"regular\" css={{ width: \"90px\", color: \"$neutral900\" }}>\n This Includes:\n </Text>\n <Flex alignItems=\"center\" gap=\"$4\">\n {getAllMappingCount(\"questions\") - 1 > 0 ? <CustomChip bgColor=\"#E5F2FF\"> {getAllMappingCount(\"questions\") - 1} Questions</CustomChip> : null}\n {getAllMappingCount(\"derivedQuestions\") - 1 > 0 ? <CustomChip bgColor=\"#E5F2FF\"> {getAllMappingCount(\"derivedQuestions\") - 1} Enrich</CustomChip> : null}\n {getAllMappingCount(\"variables\") - 1 > 0 ? <CustomChip bgColor=\"#E8F4E3\"> {getAllMappingCount(\"variables\") - 1} Variables</CustomChip> : null}\n {getAllMappingCount(\"contactProperties\") - 1 > 0 ? <CustomChip bgColor=\"#FDEDE8\"> {getAllMappingCount(\"contactProperties\") - 1} Contacts</CustomChip> : null}\n {getAllMappingCount(\"expressions\") - 1 > 0 ? <CustomChip bgColor=\"#F1F1F1\"> {getAllMappingCount(\"expressions\") - 1} Expressions</CustomChip> : null}\n {getAllMappingCount(\"property\") - 1 > 0 ? <CustomChip bgColor=\"#4A9CA626\"> {getAllMappingCount(\"property\") - 1} Properties</CustomChip> : null}\n </Flex>\n </Flex>}\n </Box>\n )}\n </Flex>\n );\n};\n\nexport default Mapping;\n\nconst TabsContentComponent = ({\n value,\n searchInput,\n setSearchInput,\n fields,\n handleFieldValues,\n placeholder\n}: {\n value: string;\n searchInput: string;\n setSearchInput: React.Dispatch<React.SetStateAction<string>>;\n fields: any;\n handleFieldValues: (field: any, value: boolean) => void;\n placeholder: string;\n}) => {\n const mappingFields =\n fields &&\n fields.filter((field: any) =>\n field.name?.toLowerCase().includes(searchInput.toLowerCase())\n );\n\n return (\n <TabsContent value={value} css={{ padding: 0, position: \"relative\" }}>\n <Input\n leftIcon={<SearchIcon color=\"#848484\" />}\n variant=\"filled\"\n placeholder={`Search ${placeholder}`}\n size=\"lg\"\n css={{ marginTop: \"$8\" }}\n value={searchInput}\n onChange={(event) => setSearchInput(event.currentTarget.value)}\n />\n <Flex\n css={{\n padding: \"$8 $4 $32 $4\",\n marginTop: \"$8\",\n height: \"calc(100vh - 408px)\",\n overflow: \"auto\",\n scrollbarWidth: \"thin\",\n \"&::-webkit-scrollbar\": {\n width: \"4px\"\n },\n \"& label\": {\n lineHeight: \"$sm\"\n }\n }}\n flexDirection=\"column\"\n gap=\"$8\"\n >\n {mappingFields?.length > 1 ? (\n <>\n {mappingFields.map((field: any) => (\n <Box css={{\n label: {\n color: \"$neutral900\",\n fontSize: \"$sm\",\n maxWidth: \"520px\",\n display: \"block\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }\n }}>\n <Checkbox\n size=\"sm\"\n checked={field.isEnabled}\n onChange={(value) => handleFieldValues(field, value as boolean)}\n >\n {field.name}\n </Checkbox>\n </Box>\n ))}\n </>\n ) : (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ marginTop: \"$40\" }}\n >\n <Text size=\"sm\">No Results Found</Text>\n </Flex>\n )}\n </Flex>\n <Box\n css={{\n position: \"absolute\",\n pointerEvents: \"none\",\n top: \"88%\",\n height: \"$25\",\n width: \"100%\",\n background:\n \"linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0))\"\n }}\n />\n </TabsContent>\n );\n};\n\n\nconst CustomChip = ({ children, bgColor, opacity }: { children: React.ReactNode, bgColor: string, opacity?: number }) => {\n return <Chip variant=\"solid\" css={{\n ...(opacity && {backgroundColor: bgColor }),\n ...(opacity && { backgroundColorOpacity: [bgColor, 0.3] }),\n background: bgColor,\n lineHeight: \"$sm\",\n fontWeight: \"$4\",\n fontFamily: \"'Roboto Mono', monospace !important\",\n \"& > * \": { fontFamily: \"'Roboto Mono', monospace !important\", fontWeight: \"$4 !important\" },\n }}>{children}</Chip>\n}"],"names":["_a","_b","_c","React","value"],"mappings":"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"}