@sparrowengg/integrations-templates-frontend 1.9.84-beta.10 → 1.9.84-beta.12

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