@sparrowengg/integrations-templates-frontend 1.9.84-beta.1 → 1.9.84-beta.11

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 (99) hide show
  1. package/dist/cjs/_virtual/index10.js +2 -2
  2. package/dist/cjs/_virtual/index9.js +2 -2
  3. package/dist/cjs/authentication/constants/index.js +115 -1
  4. package/dist/cjs/authentication/constants/index.js.map +1 -1
  5. package/dist/cjs/authentication/index.js +36 -32
  6. package/dist/cjs/authentication/index.js.map +1 -1
  7. package/dist/cjs/commons/components/NamingModal.js +82 -0
  8. package/dist/cjs/commons/components/NamingModal.js.map +1 -0
  9. package/dist/cjs/commons/constants/enhanced.js +12 -0
  10. package/dist/cjs/commons/constants/enhanced.js.map +1 -0
  11. package/dist/cjs/commons/constants/index.js +7 -1
  12. package/dist/cjs/commons/constants/index.js.map +1 -1
  13. package/dist/cjs/contact-import/components/contact-import-configure.js.map +1 -1
  14. package/dist/cjs/contact-import/components/contact-import-mapping.js +10 -7
  15. package/dist/cjs/contact-import/components/contact-import-mapping.js.map +1 -1
  16. package/dist/cjs/contact-import/index.js +6 -9
  17. package/dist/cjs/contact-import/index.js.map +1 -1
  18. package/dist/cjs/integration-template/components/dashboard.js +225 -179
  19. package/dist/cjs/integration-template/components/dashboard.js.map +1 -1
  20. package/dist/cjs/integration-template/index.js +33 -14
  21. package/dist/cjs/integration-template/index.js.map +1 -1
  22. package/dist/cjs/mapping/components/custom-date-menu.js +3 -2
  23. package/dist/cjs/mapping/components/custom-date-menu.js.map +1 -1
  24. package/dist/cjs/mapping/components/custom-menu.js.map +1 -1
  25. package/dist/cjs/mapping/components/field.js +14 -6
  26. package/dist/cjs/mapping/components/field.js.map +1 -1
  27. package/dist/cjs/mapping/components/mapping.js +29 -21
  28. package/dist/cjs/mapping/components/mapping.js.map +1 -1
  29. package/dist/cjs/mapping/constants/index.js +32 -0
  30. package/dist/cjs/mapping/constants/index.js.map +1 -0
  31. package/dist/cjs/mapping/index.js +453 -24
  32. package/dist/cjs/mapping/index.js.map +1 -1
  33. package/dist/cjs/mapping/services/index.js.map +1 -1
  34. package/dist/cjs/node_modules/@internationalized/date/dist/utils.js +2 -1
  35. package/dist/cjs/node_modules/@internationalized/date/dist/utils.js.map +1 -1
  36. package/dist/cjs/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
  37. package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/index.js +1 -1
  38. package/dist/cjs/node_modules/html-dom-parser/node_modules/htmlparser2/lib/index.js +1 -1
  39. package/dist/cjs/single-mapping/components/mapping.js +28 -14
  40. package/dist/cjs/single-mapping/components/mapping.js.map +1 -1
  41. package/dist/cjs/single-mapping/index.js +25 -28
  42. package/dist/cjs/single-mapping/index.js.map +1 -1
  43. package/dist/cjs/triggers/components/trigger.js +14 -18
  44. package/dist/cjs/triggers/components/trigger.js.map +1 -1
  45. package/dist/cjs/triggers/constants/index.js +5 -11
  46. package/dist/cjs/triggers/constants/index.js.map +1 -1
  47. package/dist/cjs/triggers/index.js +16 -21
  48. package/dist/cjs/triggers/index.js.map +1 -1
  49. package/dist/es/_virtual/index10.js +2 -2
  50. package/dist/es/_virtual/index9.js +2 -2
  51. package/dist/es/authentication/constants/index.js +114 -2
  52. package/dist/es/authentication/constants/index.js.map +1 -1
  53. package/dist/es/authentication/index.js +35 -31
  54. package/dist/es/authentication/index.js.map +1 -1
  55. package/dist/es/commons/components/NamingModal.js +78 -0
  56. package/dist/es/commons/components/NamingModal.js.map +1 -0
  57. package/dist/es/commons/constants/enhanced.js +10 -0
  58. package/dist/es/commons/constants/enhanced.js.map +1 -0
  59. package/dist/es/commons/constants/index.js +5 -2
  60. package/dist/es/commons/constants/index.js.map +1 -1
  61. package/dist/es/contact-import/components/contact-import-configure.js.map +1 -1
  62. package/dist/es/contact-import/components/contact-import-mapping.js +10 -7
  63. package/dist/es/contact-import/components/contact-import-mapping.js.map +1 -1
  64. package/dist/es/contact-import/index.js +4 -7
  65. package/dist/es/contact-import/index.js.map +1 -1
  66. package/dist/es/integration-template/components/dashboard.js +225 -179
  67. package/dist/es/integration-template/components/dashboard.js.map +1 -1
  68. package/dist/es/integration-template/index.js +33 -14
  69. package/dist/es/integration-template/index.js.map +1 -1
  70. package/dist/es/mapping/components/custom-date-menu.js +3 -2
  71. package/dist/es/mapping/components/custom-date-menu.js.map +1 -1
  72. package/dist/es/mapping/components/custom-menu.js.map +1 -1
  73. package/dist/es/mapping/components/field.js +14 -6
  74. package/dist/es/mapping/components/field.js.map +1 -1
  75. package/dist/es/mapping/components/mapping.js +30 -22
  76. package/dist/es/mapping/components/mapping.js.map +1 -1
  77. package/dist/es/mapping/constants/index.js +28 -0
  78. package/dist/es/mapping/constants/index.js.map +1 -0
  79. package/dist/es/mapping/index.js +453 -24
  80. package/dist/es/mapping/index.js.map +1 -1
  81. package/dist/es/mapping/services/index.js.map +1 -1
  82. package/dist/es/node_modules/@internationalized/date/dist/utils.js +2 -1
  83. package/dist/es/node_modules/@internationalized/date/dist/utils.js.map +1 -1
  84. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js +1 -1
  85. package/dist/es/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
  86. package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/index.js +1 -1
  87. package/dist/es/node_modules/html-dom-parser/node_modules/htmlparser2/lib/index.js +1 -1
  88. package/dist/es/single-mapping/components/mapping.js +28 -14
  89. package/dist/es/single-mapping/components/mapping.js.map +1 -1
  90. package/dist/es/single-mapping/index.js +25 -28
  91. package/dist/es/single-mapping/index.js.map +1 -1
  92. package/dist/es/triggers/components/trigger.js +14 -18
  93. package/dist/es/triggers/components/trigger.js.map +1 -1
  94. package/dist/es/triggers/constants/index.js +5 -11
  95. package/dist/es/triggers/constants/index.js.map +1 -1
  96. package/dist/es/triggers/index.js +16 -21
  97. package/dist/es/triggers/index.js.map +1 -1
  98. package/dist/index.d.ts +269 -90
  99. package/package.json +2 -1
@@ -30,21 +30,23 @@ const IntegrationTemplate = ({
30
30
  dashboardDescription,
31
31
  mappingDescription,
32
32
  triggerDescription,
33
- handlePreviousNavigation
33
+ handlePreviousNavigation,
34
+ dynamicMapping,
35
+ dynamicMappingComponent
34
36
  }) => {
35
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
37
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
36
38
  const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);
37
39
  const hasMultiAccounts = (_b = (_a = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _a.accounts) == null ? void 0 : _b.hasAccounts;
38
40
  const isMappingFieldCompleted = !!((_d = (_c = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _c.fields) == null ? void 0 : _d.length);
39
41
  const isTriggerFieldCompleted = !!((_e = trigger == null ? void 0 : trigger.mappedFields) == null ? void 0 : _e.length);
40
42
  const [hasDashboardPage, setHasDashboardPage] = useState(
41
- !!((_g = (_f = singleMapping == null ? void 0 : singleMapping.mappedFields) == null ? void 0 : _f.fields) == null ? void 0 : _g.length) || !!((_i = (_h = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _h.fields) == null ? void 0 : _i.length) || !!((_j = trigger == null ? void 0 : trigger.mappedFields) == null ? void 0 : _j.length)
43
+ !!((_g = (_f = singleMapping == null ? void 0 : singleMapping.mappedFields) == null ? void 0 : _f.fields) == null ? void 0 : _g.length) || !!((_i = (_h = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _h.fields) == null ? void 0 : _i.length) || !!((_j = trigger == null ? void 0 : trigger.mappedFields) == null ? void 0 : _j.length) || !!((_l = (_k = dynamicMapping == null ? void 0 : dynamicMapping.mappedFields) == null ? void 0 : _k.fields) == null ? void 0 : _l.length)
42
44
  );
43
45
  const [hasConfigurationType, setHasConfigurationType] = useState(
44
- (!!mappingComponent || !!singleMappingComponent) && !!triggerComponent
46
+ (!!mappingComponent || !!singleMappingComponent || !dynamicMappingComponent) && !!triggerComponent
45
47
  );
46
48
  const [currentConfigurationType, setCurrentConfigurationType] = useState(
47
- !hasConfigurationType ? !!mappingComponent || !!singleMappingComponent ? "MAPPING" : "TRIGGER" : null
49
+ !hasConfigurationType ? !!mappingComponent || !!singleMappingComponent || !!dynamicMappingComponent ? "MAPPING" : "TRIGGER" : null
48
50
  );
49
51
  const [editField, setEditField] = useState({});
50
52
  const [isMappingPage, setIsMappingPage] = useState(false);
@@ -84,7 +86,7 @@ const IntegrationTemplate = ({
84
86
  if (navigate)
85
87
  setHasDashboardPage(true);
86
88
  },
87
- hasPreviousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_k = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _k.hasPreviousMapping
89
+ hasPreviousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_m = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _m.hasPreviousMapping
88
90
  };
89
91
  const clonedSingleMappingProps = {
90
92
  editField,
@@ -97,7 +99,20 @@ const IntegrationTemplate = ({
97
99
  if (navigate)
98
100
  setHasDashboardPage(true);
99
101
  },
100
- hasPreviousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_l = singleMappingComponent == null ? void 0 : singleMappingComponent.props) == null ? void 0 : _l.hasPreviousMapping
102
+ hasPreviousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_n = singleMappingComponent == null ? void 0 : singleMappingComponent.props) == null ? void 0 : _n.hasPreviousMapping
103
+ };
104
+ const clonedDynamicMappingProps = {
105
+ editField,
106
+ previousMappingHandler,
107
+ draftHandler,
108
+ integrationName,
109
+ onSaveHandler: async (editId) => {
110
+ var _a2;
111
+ const navigate = await ((_a2 = dynamicMappingComponent == null ? void 0 : dynamicMappingComponent.props) == null ? void 0 : _a2.onSaveHandler(editId));
112
+ if (navigate)
113
+ setHasDashboardPage(true);
114
+ },
115
+ hasPreviousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_o = dynamicMappingComponent == null ? void 0 : dynamicMappingComponent.props) == null ? void 0 : _o.hasPreviousMapping
101
116
  };
102
117
  const triggerClonedProps = {
103
118
  draftHandler,
@@ -110,10 +125,11 @@ const IntegrationTemplate = ({
110
125
  if (navigate)
111
126
  setHasDashboardPage(true);
112
127
  },
113
- previousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_m = triggerComponent == null ? void 0 : triggerComponent.props) == null ? void 0 : _m.hasPreviousMapping
128
+ previousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_p = triggerComponent == null ? void 0 : triggerComponent.props) == null ? void 0 : _p.hasPreviousMapping
114
129
  };
115
130
  const ClonedMappingComponent = !!mappingComponent ? React__default.cloneElement(mappingComponent, mappingClonedElementProps) : mappingComponent;
116
131
  const ClonedSingleMappingComponent = !!singleMappingComponent ? React__default.cloneElement(singleMappingComponent, clonedSingleMappingProps) : singleMappingComponent;
132
+ const ClonedDynamicMappingComponent = !!dynamicMappingComponent ? React__default.cloneElement(dynamicMappingComponent, clonedDynamicMappingProps) : dynamicMappingComponent;
117
133
  const ClonedTriggerComponent = !!triggerComponent ? React__default.cloneElement(triggerComponent, triggerClonedProps) : triggerComponent;
118
134
  const removeQueryParam = (param) => {
119
135
  const url = new URL(window.location.href);
@@ -125,7 +141,7 @@ const IntegrationTemplate = ({
125
141
  setHasConfigurationType(true);
126
142
  setCurrentConfigurationType(null);
127
143
  }
128
- }, [(_n = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _n.fields, trigger == null ? void 0 : trigger.mappedFields]);
144
+ }, [(_q = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _q.fields, trigger == null ? void 0 : trigger.mappedFields]);
129
145
  useEffect(() => {
130
146
  var _a2;
131
147
  if (Object.fromEntries((_a2 = new URLSearchParams(window.location.search)) != null ? _a2 : {}).isDraft) {
@@ -153,6 +169,7 @@ const IntegrationTemplate = ({
153
169
  fonts: {
154
170
  body: "DM Sans, Roboto Mono, sans-serif",
155
171
  heading: "DM Sans, Roboto Mono, sans-serif",
172
+ label: "DM Sans, Roboto Mono, sans-serif",
156
173
  p: {
157
174
  margin: "0 !important",
158
175
  padding: "0 !important"
@@ -168,13 +185,13 @@ const IntegrationTemplate = ({
168
185
  triggerEnabled,
169
186
  mappingEnabled,
170
187
  hasDropdownComponents: {
171
- mapping: !!ClonedMappingComponent || !!clonedSingleMappingProps,
188
+ mapping: !!ClonedMappingComponent || !!clonedSingleMappingProps || !!ClonedDynamicMappingComponent,
172
189
  trigger: !!ClonedTriggerComponent
173
190
  },
174
191
  hasMultiAccounts,
175
192
  dashboardDescription,
176
193
  integrationName,
177
- mappingFields: (mapping == null ? void 0 : mapping.mappedFields) || singleMapping,
194
+ mappingFields: (mapping == null ? void 0 : mapping.mappedFields) || singleMapping || (dynamicMapping == null ? void 0 : dynamicMapping.mappedFields),
178
195
  triggerFields: trigger == null ? void 0 : trigger.mappedFields,
179
196
  handleConfigurationType: (value) => {
180
197
  setCurrentConfigurationType(value);
@@ -183,9 +200,11 @@ const IntegrationTemplate = ({
183
200
  setEditField({});
184
201
  },
185
202
  handleEditField,
186
- deleteFieldHandler: onDeleteHandler,
203
+ deleteFieldHandler: onDeleteHandler || (() => {
204
+ }),
187
205
  syncMapping,
188
- toggleDashboardField,
206
+ toggleDashboardField: toggleDashboardField || (() => {
207
+ }),
189
208
  handleDashboardPage: (value, type) => {
190
209
  setHasDashboardPage(value);
191
210
  setCurrentConfigurationType(type);
@@ -201,7 +220,7 @@ const IntegrationTemplate = ({
201
220
  triggerDescription,
202
221
  handleConfigurationType: (value) => setCurrentConfigurationType(value)
203
222
  }
204
- ) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, currentConfigurationType === "MAPPING" && !!singleMappingComponent ? ClonedSingleMappingComponent : null, currentConfigurationType === "MAPPING" && !!mappingComponent ? ClonedMappingComponent : null, currentConfigurationType !== "MAPPING" && !!triggerComponent ? ClonedTriggerComponent : null), isDraftModalOpen && /* @__PURE__ */ React__default.createElement(
223
+ ) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, currentConfigurationType === "MAPPING" && !!singleMappingComponent ? ClonedSingleMappingComponent : null, currentConfigurationType === "MAPPING" && !!dynamicMappingComponent ? ClonedDynamicMappingComponent : null, currentConfigurationType === "MAPPING" && !!mappingComponent ? ClonedMappingComponent : null, currentConfigurationType !== "MAPPING" && !!triggerComponent ? ClonedTriggerComponent : null), isDraftModalOpen && /* @__PURE__ */ React__default.createElement(
205
224
  DraftModal,
206
225
  {
207
226
  onSaveHandler,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/integration-template/index.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n Heading,\n Text,\n ThemeProvider,\n TooltipProvider,\n} from \"@sparrowengg/twigs-react\";\nimport React, { ReactNode, useEffect, useState } from \"react\";\nimport CursorIcon from \"../commons/icons/cursor\";\nimport MappingIcon from \"../commons/icons/mapping\";\nimport Dashboard from \"./components/dashboard\";\nimport DraftModal from \"../commons/components/draftModal\";\ntype IntegrationTemplateProps = {\n singleMapping?: any,\n draftHandler: (type: string | null) => void;\n onMappingEditHandler: (field: any) => void;\n fieldOptions: any;\n triggerEnabled: boolean;\n mappingEnabled: boolean;\n mappingComponent: React.ReactElement;\n singleMappingComponent?: React.ReactElement;\n mapping: {\n mappedFields: {\n type: string;\n fields: any;\n };\n setMappedFields: React.Dispatch<React.SetStateAction<any>>;\n };\n triggerComponent: React.ReactElement;\n trigger: {\n mappedFields: Array<any>;\n setMappedFields: React.Dispatch<React.SetStateAction<any>>;\n };\n integrationName: string;\n onDeleteHandler?: any\n toggleDashboardField?: any;\n dashboardDescription: string;\n mappingDescription: string;\n triggerDescription: string;\n handlePreviousNavigation: () => void;\n surveyType?: string;\n syncMapping?: (id: string | number) => void;\n};\nexport const IntegrationTemplate: React.FC<IntegrationTemplateProps> = ({\n singleMapping,\n surveyType,\n draftHandler,\n onMappingEditHandler,\n fieldOptions,\n triggerEnabled,\n mappingEnabled,\n mappingComponent,\n singleMappingComponent,\n mapping,\n triggerComponent,\n trigger,\n integrationName,\n onDeleteHandler,\n syncMapping,\n toggleDashboardField,\n dashboardDescription,\n mappingDescription,\n triggerDescription,\n handlePreviousNavigation,\n}) => {\n const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);\n const hasMultiAccounts = mappingComponent?.props?.accounts?.hasAccounts;\n const isMappingFieldCompleted = !!mapping?.mappedFields?.fields?.length;\n const isTriggerFieldCompleted = !!trigger?.mappedFields?.length;\n const [hasDashboardPage, setHasDashboardPage] = useState(\n !!singleMapping?.mappedFields?.fields?.length || !!mapping?.mappedFields?.fields?.length || !!trigger?.mappedFields?.length\n );\n const [hasConfigurationType, setHasConfigurationType] = useState(\n (!!mappingComponent || !!singleMappingComponent) && !!triggerComponent\n );\n const [currentConfigurationType, setCurrentConfigurationType] = useState<\n string | null\n >(\n !hasConfigurationType\n ? !!mappingComponent || !!singleMappingComponent\n ? \"MAPPING\"\n : \"TRIGGER\"\n : null\n ); // automatically switch to mapping or trigger screen if any one type is present\n const [editField, setEditField] = useState<any>({});\n const [isMappingPage, setIsMappingPage] = useState(false);\n // temporary previous mapping state to handle within integration template wrapper\n const [tempPreviousMapping, setTempPreviousMapping] = useState(\n !(isMappingFieldCompleted && isTriggerFieldCompleted)\n );\n const navigateMappingPage = (value: boolean) =>\n setIsMappingPage(value ?? !isMappingPage);\n const handleEditField = (field: any) => {\n setEditField({\n type: field.type,\n fieldValues: field.values,\n id: field.id,\n });\n };\n const previousMappingHandler = () => {\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n handlePreviousNavigation();\n if (!(isMappingFieldCompleted || isTriggerFieldCompleted)) {\n setHasDashboardPage(false);\n } else {\n setHasDashboardPage(true);\n }\n return;\n };\n const mappingClonedElementProps = {\n previousMappingHandler,\n draftHandler,\n editField: editField,\n integrationName,\n isMappingPage,\n surveyType: surveyType,\n navigateMappingPage,\n onSaveHandler: (editId?: string | number) => {\n const navigate = mappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? mappingComponent?.props?.hasPreviousMapping,\n };\n const clonedSingleMappingProps = {\n editField: editField,\n previousMappingHandler,\n draftHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate =\n await singleMappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? singleMappingComponent?.props?.hasPreviousMapping,\n };\n const triggerClonedProps = {\n draftHandler,\n editField,\n previousMappingHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate = await triggerComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n previousMapping:\n tempPreviousMapping ?? triggerComponent?.props?.hasPreviousMapping,\n };\n const ClonedMappingComponent = !!mappingComponent\n ? React.cloneElement(mappingComponent, mappingClonedElementProps)\n : mappingComponent;\n const ClonedSingleMappingComponent = !!singleMappingComponent\n ? React.cloneElement(singleMappingComponent, clonedSingleMappingProps)\n : singleMappingComponent;\n const ClonedTriggerComponent = !!triggerComponent\n ? React.cloneElement(triggerComponent, triggerClonedProps)\n : triggerComponent;\n const removeQueryParam = (param: string) => {\n const url = new URL(window.location.href);\n url.searchParams.delete(param);\n window.history.replaceState({}, document.title, url);\n };\n useEffect(() => {\n if (\n !isMappingFieldCompleted &&\n !isTriggerFieldCompleted &&\n hasDashboardPage\n ) {\n // setHasDashboardPage(false);\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n }\n }, [mapping?.mappedFields?.fields, trigger?.mappedFields]);\n useEffect(() => {\n if (\n Object.fromEntries(new URLSearchParams(window.location.search) ?? {})\n .isDraft\n ) {\n setIsDraftModalOpen(true);\n }\n }, [isDraftModalOpen]);\n const onSaveHandler = async () => {\n await draftHandler(currentConfigurationType);\n await previousMappingHandler();\n removeQueryParam(\"isDraft\");\n setIsDraftModalOpen(false);\n \n }\n const onCloseHandler = () => {\n removeQueryParam(\"isDraft\");\n setIsDraftModalOpen(false);\n }\n const onCancelHandler = async () => {\n await previousMappingHandler();\n setIsDraftModalOpen(false);\n }\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: \"DM Sans, Roboto Mono, sans-serif\",\n heading: \"DM Sans, Roboto Mono, sans-serif\",\n p: {\n margin: '0 !important',\n padding: '0 !important',\n }\n },\n }}\n >\n <TooltipProvider delayDuration={300}>\n {surveyType === \"OfflineApp\" ? <Flex alignItems=\"center\" justifyContent=\"center\" css={{ width: \"100%\", height: \"100vh\" }}>\n <Text size=\"lg\" css={{ color: \"$neutral900\" }} weight={\"medium\"}>This app is not supported for offline surveys</Text>\n </Flex> : <Box css={{ width: \"100%\" }}>\n {hasDashboardPage ? (\n <Dashboard\n onMappingEditHandler={onMappingEditHandler}\n fieldOptions={fieldOptions}\n triggerEnabled={triggerEnabled}\n mappingEnabled={mappingEnabled}\n hasDropdownComponents={{\n mapping: !!ClonedMappingComponent || !!clonedSingleMappingProps,\n trigger: !!ClonedTriggerComponent,\n }}\n hasMultiAccounts={hasMultiAccounts}\n dashboardDescription={dashboardDescription}\n integrationName={integrationName}\n mappingFields={mapping?.mappedFields || singleMapping}\n triggerFields={trigger?.mappedFields}\n handleConfigurationType={(value: string) => {\n setCurrentConfigurationType(value);\n setHasDashboardPage(false);\n setTempPreviousMapping(true);\n setEditField({});\n }}\n handleEditField={handleEditField}\n deleteFieldHandler={onDeleteHandler}\n syncMapping={syncMapping}\n toggleDashboardField={toggleDashboardField}\n handleDashboardPage={(value: boolean, type: string) => {\n setHasDashboardPage(value as boolean);\n setCurrentConfigurationType(type);\n setHasConfigurationType(false);\n }}\n />\n ) : (\n <>\n {hasConfigurationType &&\n ![\"MAPPING\", \"TRIGGER\"].includes(\n `${currentConfigurationType}`\n ) ? (\n <ConfigureTemplate\n mappingDescription={mappingDescription}\n triggerDescription={triggerDescription}\n handleConfigurationType={(value: string) =>\n setCurrentConfigurationType(value)\n }\n />\n ) : (\n <>\n {currentConfigurationType === \"MAPPING\" &&\n !!singleMappingComponent\n ? ClonedSingleMappingComponent\n : null}\n {currentConfigurationType === \"MAPPING\" && !!mappingComponent\n ? ClonedMappingComponent\n : null}\n {currentConfigurationType !== \"MAPPING\" && !!triggerComponent\n ? ClonedTriggerComponent\n : null}\n </>\n )}\n {isDraftModalOpen && (\n <DraftModal\n onSaveHandler={onSaveHandler}\n onCloseHandler={onCloseHandler}\n onCancel={onCancelHandler}\n />\n )}\n </>\n )}\n </Box>}\n </TooltipProvider>\n </ThemeProvider>\n );\n};\ntype ConfigureTemplateProps = {\n handleConfigurationType: (value: string) => void;\n mappingDescription: string;\n triggerDescription: string;\n};\nconst ConfigureTemplate: React.FC<ConfigureTemplateProps> = ({\n handleConfigurationType,\n mappingDescription,\n triggerDescription,\n}) => {\n return (\n <Box css={{ width: \"100%\", paddingTop: \"$48\" }}>\n <Flex flexDirection=\"column\" alignItems=\"center\">\n <Heading size=\"h5\" css={{ color: \"$neutral900\" }}>\n Select Configuration Type\n </Heading>\n <Text\n size=\"sm\"\n css={{ color: \"$neutral600\", lineHeight: \"$sm\", marginTop: \"$2\" }}\n >\n Choose either Mapping or Triggering to configure their respective\n actions.\n </Text>\n </Flex>\n <Flex alignItems=\"center\" justifyContent=\"center\">\n <Flex\n css={{ maxWidth: 960, width: \"100%\", marginTop: \"$36\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n gap=\"$20\"\n >\n <TemplateCard\n icon={<CursorIcon />}\n heading=\"Trigger\"\n description={triggerDescription}\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n <TemplateCard\n icon={<MappingIcon />}\n heading=\"Mapping\"\n description={mappingDescription}\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n </Flex>\n </Flex>\n </Box>\n );\n};\ntype TemplateCardProps = {\n icon: ReactNode;\n heading: string;\n description: string;\n onClickHandler: () => void;\n};\nconst TemplateCard: React.FC<TemplateCardProps> = ({\n icon,\n heading,\n description,\n onClickHandler,\n}) => {\n return (\n <Flex\n flexDirection=\"column\"\n alignItems=\"center\"\n onClick={onClickHandler}\n css={{\n width: 350,\n height: 300,\n outline: \"$borderWidths$xs solid $neutral200\",\n borderRadius: \"$4xl\",\n position: \"relative\",\n cursor: \"pointer\",\n filter: \"drop-shadow(0 4px 8px rgba(0, 0, 0, 0.06))\",\n overflow: \"auto\",\n \"&:hover\": {\n outline: \"$borderWidths$md solid $primary400\",\n \"& svg circle, rect, path\": {\n stroke: \"$primary500\",\n },\n \"& #ellipse\": {\n opacity: \"10%\",\n },\n },\n }}\n >\n <Box\n id=\"ellipse\"\n css={{\n position: \"absolute\",\n top: \"-23%\",\n filter: \"blur(25px)\",\n transition: \"all .4s ease\",\n width: 334,\n height: \"$25\",\n opacity: \"0%\",\n background: \"$primary400\",\n borderRadius: \"50%\",\n }}\n />\n <Box css={{ marginBlock: \"$32 $16\" }}>{icon}</Box>\n <Heading size=\"h6\" css={{ color: \"$neutral900\" }}>\n {heading}\n </Heading>\n <Text\n size=\"md\"\n css={{\n marginTop: \"$8\",\n color: \"$neutral800\",\n width: 222,\n textAlign: \"center\",\n }}\n >\n {description}\n </Text>\n </Flex>\n );\n};"],"names":["_a","React"],"mappings":";;;;;;;;;;;;AA4CO,MAAM,sBAA0D,CAAC;AAAA,EACtE,aAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,oBAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA,OAAA;AAAA,EACA,gBAAA;AAAA,EACA,OAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,WAAA;AAAA,EACA,oBAAA;AAAA,EACA,oBAAA;AAAA,EACA,kBAAA;AAAA,EACA,kBAAA;AAAA,EACA,wBAAA;AACF,CAAM,KAAA;AAjEN,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAkEE,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAC9D,EAAA,MAAM,gBAAmB,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,KAAlB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAyB,aAAzB,IAAmC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,CAAA;AAC5D,EAAA,MAAM,0BAA0B,CAAC,EAAA,CAAC,8CAAS,YAAT,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAuB,WAAvB,IAA+B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AACjE,EAAA,MAAM,uBAA0B,GAAA,CAAC,EAAC,CAAA,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,iBAAT,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AACzD,EAAM,MAAA,CAAC,gBAAkB,EAAA,mBAAmB,CAAI,GAAA,QAAA;AAAA,IAC9C,CAAC,GAAC,EAAe,GAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,YAAA,KAAf,mBAA6B,MAA7B,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAqC,WAAU,CAAC,EAAA,CAAC,8CAAS,YAAT,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAuB,WAAvB,IAA+B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA,IAAU,CAAC,EAAC,CAAA,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,iBAAT,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA;AAAA,GACvH,CAAA;AACA,EAAM,MAAA,CAAC,oBAAsB,EAAA,uBAAuB,CAAI,GAAA,QAAA;AAAA,IAAA,CACrD,CAAC,CAAC,gBAAA,IAAoB,CAAC,CAAC,sBAAA,KAA2B,CAAC,CAAC,gBAAA;AAAA,GACxD,CAAA;AACA,EAAM,MAAA,CAAC,wBAA0B,EAAA,2BAA2B,CAAI,GAAA,QAAA;AAAA,IAG9D,CAAC,uBACG,CAAC,CAAC,oBAAoB,CAAC,CAAC,sBACtB,GAAA,SAAA,GACA,SACF,GAAA,IAAA;AAAA,GACN,CAAA;AACA,EAAA,MAAM,CAAC,SAAW,EAAA,YAAY,CAAI,GAAA,QAAA,CAAc,EAAE,CAAA,CAAA;AAClD,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAExD,EAAM,MAAA,CAAC,mBAAqB,EAAA,sBAAsB,CAAI,GAAA,QAAA;AAAA,IACpD,EAAE,uBAA2B,IAAA,uBAAA,CAAA;AAAA,GAC/B,CAAA;AACA,EAAA,MAAM,sBAAsB,CAAC,KAAA,KAC3B,gBAAiB,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,GAAS,CAAC,aAAa,CAAA,CAAA;AAC1C,EAAM,MAAA,eAAA,GAAkB,CAAC,KAAe,KAAA;AACtC,IAAa,YAAA,CAAA;AAAA,MACX,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,aAAa,KAAM,CAAA,MAAA;AAAA,MACnB,IAAI,KAAM,CAAA,EAAA;AAAA,KACX,CAAA,CAAA;AAAA,GACH,CAAA;AACA,EAAA,MAAM,yBAAyB,MAAM;AACnC,IAAA,uBAAA,CAAwB,IAAI,CAAA,CAAA;AAC5B,IAAA,2BAAA,CAA4B,IAAI,CAAA,CAAA;AAChC,IAAyB,wBAAA,EAAA,CAAA;AACzB,IAAI,IAAA,EAAE,2BAA2B,uBAA0B,CAAA,EAAA;AACzD,MAAA,mBAAA,CAAoB,KAAK,CAAA,CAAA;AAAA,KACpB,MAAA;AACL,MAAA,mBAAA,CAAoB,IAAI,CAAA,CAAA;AAAA,KAC1B;AACA,IAAA,OAAA;AAAA,GACF,CAAA;AACA,EAAA,MAAM,yBAA4B,GAAA;AAAA,IAChC,sBAAA;AAAA,IACA,YAAA;AAAA,IACA,SAAA;AAAA,IACA,eAAA;AAAA,IACA,aAAA;AAAA,IACA,UAAA;AAAA,IACA,mBAAA;AAAA,IACA,aAAA,EAAe,CAAC,MAA6B,KAAA;AAvHjD,MAAAA,IAAAA,GAAAA,CAAAA;AAwHM,MAAA,MAAM,YAAWA,GAAA,GAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,KAAlB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAyB,aAAc,CAAA,MAAA,CAAA,CAAA;AACxD,MAAI,IAAA,QAAA;AAAU,QAAA,mBAAA,CAAoB,IAAI,CAAA,CAAA;AAAA,KACxC;AAAA,IACA,kBACE,EAAA,mBAAA,IAAA,IAAA,GAAA,mBAAA,GAAA,CAAuB,EAAkB,GAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAA,KAAA,KAAlB,IAAyB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,kBAAA;AAAA,GACpD,CAAA;AACA,EAAA,MAAM,wBAA2B,GAAA;AAAA,IAC/B,SAAA;AAAA,IACA,sBAAA;AAAA,IACA,YAAA;AAAA,IACA,eAAA;AAAA,IACA,aAAA,EAAe,OAAO,MAA6B,KAAA;AAnIvD,MAAAA,IAAAA,GAAAA,CAAAA;AAoIM,MAAA,MAAM,WACJ,OAAMA,CAAAA,GAAAA,GAAA,iEAAwB,KAAxB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAA+B,aAAc,CAAA,MAAA,CAAA,CAAA,CAAA;AACrD,MAAI,IAAA,QAAA;AAAU,QAAA,mBAAA,CAAoB,IAAI,CAAA,CAAA;AAAA,KACxC;AAAA,IACA,kBACE,EAAA,mBAAA,IAAA,IAAA,GAAA,mBAAA,GAAA,CAAuB,EAAwB,GAAA,sBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAA,KAAA,KAAxB,IAA+B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,kBAAA;AAAA,GAC1D,CAAA;AACA,EAAA,MAAM,kBAAqB,GAAA;AAAA,IACzB,YAAA;AAAA,IACA,SAAA;AAAA,IACA,sBAAA;AAAA,IACA,eAAA;AAAA,IACA,aAAA,EAAe,OAAO,MAA6B,KAAA;AAhJvD,MAAAA,IAAAA,GAAAA,CAAAA;AAiJM,MAAA,MAAM,WAAW,OAAMA,CAAAA,GAAAA,GAAA,qDAAkB,KAAlB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAyB,aAAc,CAAA,MAAA,CAAA,CAAA,CAAA;AAC9D,MAAI,IAAA,QAAA;AAAU,QAAA,mBAAA,CAAoB,IAAI,CAAA,CAAA;AAAA,KACxC;AAAA,IACA,eACE,EAAA,mBAAA,IAAA,IAAA,GAAA,mBAAA,GAAA,CAAuB,EAAkB,GAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAA,KAAA,KAAlB,IAAyB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,kBAAA;AAAA,GACpD,CAAA;AACA,EAAM,MAAA,sBAAA,GAAyB,CAAC,CAAC,gBAAA,GAC7BC,eAAM,YAAa,CAAA,gBAAA,EAAkB,yBAAyB,CAC9D,GAAA,gBAAA,CAAA;AACJ,EAAM,MAAA,4BAAA,GAA+B,CAAC,CAAC,sBAAA,GACnCA,eAAM,YAAa,CAAA,sBAAA,EAAwB,wBAAwB,CACnE,GAAA,sBAAA,CAAA;AACJ,EAAM,MAAA,sBAAA,GAAyB,CAAC,CAAC,gBAAA,GAC7BA,eAAM,YAAa,CAAA,gBAAA,EAAkB,kBAAkB,CACvD,GAAA,gBAAA,CAAA;AACJ,EAAM,MAAA,gBAAA,GAAmB,CAAC,KAAkB,KAAA;AAC1C,IAAA,MAAM,GAAM,GAAA,IAAI,GAAI,CAAA,MAAA,CAAO,SAAS,IAAI,CAAA,CAAA;AACxC,IAAI,GAAA,CAAA,YAAA,CAAa,OAAO,KAAK,CAAA,CAAA;AAC7B,IAAA,MAAA,CAAO,QAAQ,YAAa,CAAA,EAAI,EAAA,QAAA,CAAS,OAAO,GAAG,CAAA,CAAA;AAAA,GACrD,CAAA;AACA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IACE,CAAC,uBAAA,IACD,CAAC,uBAAA,IACD,gBACA,EAAA;AAEA,MAAA,uBAAA,CAAwB,IAAI,CAAA,CAAA;AAC5B,MAAA,2BAAA,CAA4B,IAAI,CAAA,CAAA;AAAA,KAClC;AAAA,GACF,EAAG,EAAC,EAAS,GAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,YAAA,KAAT,mBAAuB,MAAQ,EAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,YAAY,CAAC,CAAA,CAAA;AACzD,EAAA,SAAA,CAAU,MAAM;AAhLlB,IAAAD,IAAAA,GAAAA,CAAAA;AAiLI,IAAA,IACE,MAAO,CAAA,WAAA,CAAA,CAAYA,GAAA,GAAA,IAAI,gBAAgB,MAAO,CAAA,QAAA,CAAS,MAAM,CAAA,KAA1C,IAAAA,GAAAA,GAAAA,GAA+C,EAAE,EACjE,OACH,EAAA;AACA,MAAA,mBAAA,CAAoB,IAAI,CAAA,CAAA;AAAA,KAC1B;AAAA,GACF,EAAG,CAAC,gBAAgB,CAAC,CAAA,CAAA;AACrB,EAAA,MAAM,gBAAgB,YAAY;AAChC,IAAA,MAAM,aAAa,wBAAwB,CAAA,CAAA;AAC3C,IAAA,MAAM,sBAAuB,EAAA,CAAA;AAC7B,IAAA,gBAAA,CAAiB,SAAS,CAAA,CAAA;AAC1B,IAAA,mBAAA,CAAoB,KAAK,CAAA,CAAA;AAAA,GAE3B,CAAA;AACA,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,gBAAA,CAAiB,SAAS,CAAA,CAAA;AAC1B,IAAA,mBAAA,CAAoB,KAAK,CAAA,CAAA;AAAA,GAC3B,CAAA;AACA,EAAA,MAAM,kBAAkB,YAAY;AAClC,IAAA,MAAM,sBAAuB,EAAA,CAAA;AAC7B,IAAA,mBAAA,CAAoB,KAAK,CAAA,CAAA;AAAA,GAC3B,CAAA;AACA,EACE,uBAAAC,cAAA,CAAA,aAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAO,EAAA;AAAA,UACL,IAAM,EAAA,kCAAA;AAAA,UACN,OAAS,EAAA,kCAAA;AAAA,UACT,CAAG,EAAA;AAAA,YACD,MAAQ,EAAA,cAAA;AAAA,YACR,OAAS,EAAA,cAAA;AAAA,WACX;AAAA,SACF;AAAA,OACF;AAAA,KAAA;AAAA,iDAEC,eAAgB,EAAA,EAAA,aAAA,EAAe,OAC7B,UAAe,KAAA,YAAA,gDAAgB,IAAK,EAAA,EAAA,UAAA,EAAW,QAAS,EAAA,cAAA,EAAe,UAAS,GAAK,EAAA,EAAE,OAAO,MAAQ,EAAA,MAAA,EAAQ,SAC7G,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAK,MAAK,GAAK,EAAA,EAAE,OAAO,aAAc,EAAA,EAAG,QAAQ,QAAU,EAAA,EAAA,+CAA6C,CAChH,CAAA,gDAAW,GAAI,EAAA,EAAA,GAAA,EAAK,EAAE,KAAO,EAAA,MAAA,MAC1B,gBACC,mBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,oBAAA;AAAA,QACA,YAAA;AAAA,QACA,cAAA;AAAA,QACA,cAAA;AAAA,QACA,qBAAuB,EAAA;AAAA,UACrB,OAAS,EAAA,CAAC,CAAC,sBAAA,IAA0B,CAAC,CAAC,wBAAA;AAAA,UACvC,OAAA,EAAS,CAAC,CAAC,sBAAA;AAAA,SACb;AAAA,QACA,gBAAA;AAAA,QACA,oBAAA;AAAA,QACA,eAAA;AAAA,QACA,aAAA,EAAA,CAAe,mCAAS,YAAgB,KAAA,aAAA;AAAA,QACxC,eAAe,OAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,YAAA;AAAA,QACxB,uBAAA,EAAyB,CAAC,KAAkB,KAAA;AAC1C,UAAA,2BAAA,CAA4B,KAAK,CAAA,CAAA;AACjC,UAAA,mBAAA,CAAoB,KAAK,CAAA,CAAA;AACzB,UAAA,sBAAA,CAAuB,IAAI,CAAA,CAAA;AAC3B,UAAA,YAAA,CAAa,EAAE,CAAA,CAAA;AAAA,SACjB;AAAA,QACA,eAAA;AAAA,QACA,kBAAoB,EAAA,eAAA;AAAA,QACpB,WAAA;AAAA,QACA,oBAAA;AAAA,QACA,mBAAA,EAAqB,CAAC,KAAA,EAAgB,IAAiB,KAAA;AACrD,UAAA,mBAAA,CAAoB,KAAgB,CAAA,CAAA;AACpC,UAAA,2BAAA,CAA4B,IAAI,CAAA,CAAA;AAChC,UAAA,uBAAA,CAAwB,KAAK,CAAA,CAAA;AAAA,SAC/B;AAAA,OAAA;AAAA,wBAICA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EAAA,oBAAA,IACD,CAAC,CAAC,SAAA,EAAW,SAAS,CAAE,CAAA,QAAA;AAAA,MACtB,GAAG,wBAAwB,CAAA,CAAA;AAAA,KAE3B,mBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,iBAAA;AAAA,MAAA;AAAA,QACC,kBAAA;AAAA,QACA,kBAAA;AAAA,QACA,uBAAyB,EAAA,CAAC,KACxB,KAAA,2BAAA,CAA4B,KAAK,CAAA;AAAA,OAAA;AAAA,KAErC,mBAGGA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EAAA,wBAAA,KAA6B,SAC9B,IAAA,CAAC,CAAC,sBACE,GAAA,4BAAA,GACA,IACH,EAAA,wBAAA,KAA6B,SAAa,IAAA,CAAC,CAAC,gBACzC,GAAA,sBAAA,GACA,IACH,EAAA,wBAAA,KAA6B,SAAa,IAAA,CAAC,CAAC,gBACzC,GAAA,sBAAA,GACA,IACN,CAAA,EAED,gBACC,oBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,aAAA;AAAA,QACA,cAAA;AAAA,QACA,QAAU,EAAA,eAAA;AAAA,OAAA;AAAA,KAGhB,CAEJ,CACF,CAAA;AAAA,GACF,CAAA;AAEJ,EAAA;AAMA,MAAM,oBAAsD,CAAC;AAAA,EAC3D,uBAAA;AAAA,EACA,kBAAA;AAAA,EACA,kBAAA;AACF,CAAM,KAAA;AACJ,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,GAAI,EAAA,EAAA,GAAA,EAAK,EAAE,KAAA,EAAO,QAAQ,UAAY,EAAA,KAAA,EACrC,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,aAAA,EAAc,UAAS,UAAW,EAAA,QAAA,EAAA,kBACrCA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,IAAK,EAAA,IAAA,EAAK,GAAK,EAAA,EAAE,KAAO,EAAA,aAAA,EAAiB,EAAA,EAAA,2BAElD,CACA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,IAAA;AAAA,MACL,KAAK,EAAE,KAAA,EAAO,eAAe,UAAY,EAAA,KAAA,EAAO,WAAW,IAAK,EAAA;AAAA,KAAA;AAAA,IACjE,4EAAA;AAAA,GAIH,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,UAAW,EAAA,QAAA,EAAS,gBAAe,QACvC,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,KAAK,EAAE,QAAA,EAAU,KAAK,KAAO,EAAA,MAAA,EAAQ,WAAW,KAAM,EAAA;AAAA,MACtD,UAAW,EAAA,QAAA;AAAA,MACX,cAAe,EAAA,QAAA;AAAA,MACf,GAAI,EAAA,KAAA;AAAA,KAAA;AAAA,oBAEJA,cAAA,CAAA,aAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,IAAA,+CAAO,UAAW,EAAA,IAAA,CAAA;AAAA,QAClB,OAAQ,EAAA,SAAA;AAAA,QACR,WAAa,EAAA,kBAAA;AAAA,QACb,cAAA,EAAgB,MAAM,uBAAA,CAAwB,SAAS,CAAA;AAAA,OAAA;AAAA,KACzD;AAAA,oBACAA,cAAA,CAAA,aAAA;AAAA,MAAC,YAAA;AAAA,MAAA;AAAA,QACC,IAAA,+CAAO,WAAY,EAAA,IAAA,CAAA;AAAA,QACnB,OAAQ,EAAA,SAAA;AAAA,QACR,WAAa,EAAA,kBAAA;AAAA,QACb,cAAA,EAAgB,MAAM,uBAAA,CAAwB,SAAS,CAAA;AAAA,OAAA;AAAA,KACzD;AAAA,GAEJ,CACF,CAAA,CAAA;AAEJ,CAAA,CAAA;AAOA,MAAM,eAA4C,CAAC;AAAA,EACjD,IAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AACF,CAAM,KAAA;AACJ,EACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,aAAc,EAAA,QAAA;AAAA,MACd,UAAW,EAAA,QAAA;AAAA,MACX,OAAS,EAAA,cAAA;AAAA,MACT,GAAK,EAAA;AAAA,QACH,KAAO,EAAA,GAAA;AAAA,QACP,MAAQ,EAAA,GAAA;AAAA,QACR,OAAS,EAAA,oCAAA;AAAA,QACT,YAAc,EAAA,MAAA;AAAA,QACd,QAAU,EAAA,UAAA;AAAA,QACV,MAAQ,EAAA,SAAA;AAAA,QACR,MAAQ,EAAA,4CAAA;AAAA,QACR,QAAU,EAAA,MAAA;AAAA,QACV,SAAW,EAAA;AAAA,UACT,OAAS,EAAA,oCAAA;AAAA,UACT,0BAA4B,EAAA;AAAA,YAC1B,MAAQ,EAAA,aAAA;AAAA,WACV;AAAA,UACA,YAAc,EAAA;AAAA,YACZ,OAAS,EAAA,KAAA;AAAA,WACX;AAAA,SACF;AAAA,OACF;AAAA,KAAA;AAAA,oBAEAA,cAAA,CAAA,aAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,EAAG,EAAA,SAAA;AAAA,QACH,GAAK,EAAA;AAAA,UACH,QAAU,EAAA,UAAA;AAAA,UACV,GAAK,EAAA,MAAA;AAAA,UACL,MAAQ,EAAA,YAAA;AAAA,UACR,UAAY,EAAA,cAAA;AAAA,UACZ,KAAO,EAAA,GAAA;AAAA,UACP,MAAQ,EAAA,KAAA;AAAA,UACR,OAAS,EAAA,IAAA;AAAA,UACT,UAAY,EAAA,aAAA;AAAA,UACZ,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,OAAA;AAAA,KACF;AAAA,iDACC,GAAI,EAAA,EAAA,GAAA,EAAK,EAAE,WAAa,EAAA,SAAA,MAAc,IAAK,CAAA;AAAA,oBAC5CA,cAAA,CAAA,aAAA,CAAC,WAAQ,IAAK,EAAA,IAAA,EAAK,KAAK,EAAE,KAAA,EAAO,aAAc,EAAA,EAAA,EAC5C,OACH,CAAA;AAAA,oBACAA,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,IAAK,EAAA,IAAA;AAAA,QACL,GAAK,EAAA;AAAA,UACH,SAAW,EAAA,IAAA;AAAA,UACX,KAAO,EAAA,aAAA;AAAA,UACP,KAAO,EAAA,GAAA;AAAA,UACP,SAAW,EAAA,QAAA;AAAA,SACb;AAAA,OAAA;AAAA,MAEC,WAAA;AAAA,KACH;AAAA,GACF,CAAA;AAEJ,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/integration-template/index.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n Heading,\n Text,\n ThemeProvider,\n TooltipProvider,\n} from \"@sparrowengg/twigs-react\";\nimport React, { ReactNode, useEffect, useState } from \"react\";\nimport CursorIcon from \"../commons/icons/cursor\";\nimport MappingIcon from \"../commons/icons/mapping\";\nimport Dashboard from \"./components/dashboard\";\nimport DraftModal from \"../commons/components/draftModal\";\nimport { \n FieldOptionsType, \n MappingFieldCollection, \n TriggerFieldCollection, \n} from \"../commons/types/enhanced\";\n\ntype SingleMappingType = {\n mappedFields: {\n type: string;\n fields: unknown[];\n };\n};\ntype DynamicMappingType = {\n mappedFields: {\n type: string;\n fields: unknown[];\n };\n};\n\ntype IntegrationTemplateProps = {\n singleMapping?: SingleMappingType,\n draftHandler: (type: string | null) => void;\n onMappingEditHandler: (field: unknown) => void;\n fieldOptions: FieldOptionsType;\n triggerEnabled: boolean;\n mappingEnabled: boolean;\n mappingComponent?: React.ReactElement;\n singleMappingComponent?: React.ReactElement;\n dynamicMapping?: DynamicMappingType,\n dynamicMappingComponent?: React.ReactElement;\n mapping?: {\n mappedFields: MappingFieldCollection;\n setMappedFields: React.Dispatch<React.SetStateAction<MappingFieldCollection>>;\n };\n triggerComponent?: React.ReactElement;\n trigger?: {\n mappedFields: TriggerFieldCollection;\n setMappedFields: React.Dispatch<React.SetStateAction<TriggerFieldCollection>>;\n };\n integrationName: string;\n onDeleteHandler?: (id: string | number) => void\n toggleDashboardField?: (id: string | number, status: boolean) => void;\n dashboardDescription: string;\n mappingDescription: string;\n triggerDescription: string;\n handlePreviousNavigation: () => void;\n surveyType?: string;\n syncMapping?: (id: string | number) => void;\n};\nexport const IntegrationTemplate: React.FC<IntegrationTemplateProps> = ({\n singleMapping,\n surveyType,\n draftHandler,\n onMappingEditHandler,\n fieldOptions,\n triggerEnabled,\n mappingEnabled,\n mappingComponent,\n singleMappingComponent,\n mapping,\n triggerComponent,\n trigger,\n integrationName,\n onDeleteHandler,\n syncMapping,\n toggleDashboardField,\n dashboardDescription,\n mappingDescription,\n triggerDescription,\n handlePreviousNavigation,\n dynamicMapping,\n dynamicMappingComponent,\n}) => {\n const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);\n const hasMultiAccounts = mappingComponent?.props?.accounts?.hasAccounts;\n const isMappingFieldCompleted = !!mapping?.mappedFields?.fields?.length;\n const isTriggerFieldCompleted = !!trigger?.mappedFields?.length;\n const [hasDashboardPage, setHasDashboardPage] = useState(\n !!singleMapping?.mappedFields?.fields?.length || !!mapping?.mappedFields?.fields?.length || !!trigger?.mappedFields?.length || !!dynamicMapping?.mappedFields?.fields?.length\n );\n const [hasConfigurationType, setHasConfigurationType] = useState(\n (!!mappingComponent || !!singleMappingComponent || !dynamicMappingComponent) && !!triggerComponent\n );\n const [currentConfigurationType, setCurrentConfigurationType] = useState<\n string | null\n >(\n !hasConfigurationType\n ? !!mappingComponent || !!singleMappingComponent || !!dynamicMappingComponent\n ? \"MAPPING\"\n : \"TRIGGER\"\n : null\n ); // automatically switch to mapping or trigger screen if any one type is present\n const [editField, setEditField] = useState<any>({});\n const [isMappingPage, setIsMappingPage] = useState(false);\n // temporary previous mapping state to handle within integration template wrapper\n const [tempPreviousMapping, setTempPreviousMapping] = useState(\n !(isMappingFieldCompleted && isTriggerFieldCompleted)\n );\n const navigateMappingPage = (value: boolean) =>\n setIsMappingPage(value ?? !isMappingPage);\n const handleEditField = (field: any) => {\n setEditField({\n type: field.type,\n fieldValues: field.values,\n id: field.id,\n });\n };\n const previousMappingHandler = () => {\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n handlePreviousNavigation();\n if (!(isMappingFieldCompleted || isTriggerFieldCompleted)) {\n setHasDashboardPage(false);\n } else {\n setHasDashboardPage(true);\n }\n return;\n };\n const mappingClonedElementProps = {\n previousMappingHandler,\n draftHandler,\n editField: editField,\n integrationName,\n isMappingPage,\n surveyType: surveyType,\n navigateMappingPage,\n onSaveHandler: (editId?: string | number) => {\n const navigate = mappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? mappingComponent?.props?.hasPreviousMapping,\n };\n const clonedSingleMappingProps = {\n editField: editField,\n previousMappingHandler,\n draftHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate =\n await singleMappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? singleMappingComponent?.props?.hasPreviousMapping,\n };\n const clonedDynamicMappingProps = {\n editField: editField,\n previousMappingHandler,\n draftHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate =\n await dynamicMappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? dynamicMappingComponent?.props?.hasPreviousMapping,\n };\n const triggerClonedProps = {\n draftHandler,\n editField,\n previousMappingHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate = await triggerComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n previousMapping:\n tempPreviousMapping ?? triggerComponent?.props?.hasPreviousMapping,\n };\n const ClonedMappingComponent = !!mappingComponent\n ? React.cloneElement(mappingComponent, mappingClonedElementProps)\n : mappingComponent;\n const ClonedSingleMappingComponent = !!singleMappingComponent\n ? React.cloneElement(singleMappingComponent, clonedSingleMappingProps)\n : singleMappingComponent;\n const ClonedDynamicMappingComponent = !!dynamicMappingComponent\n ? React.cloneElement(dynamicMappingComponent, clonedDynamicMappingProps)\n : dynamicMappingComponent;\n const ClonedTriggerComponent = !!triggerComponent\n ? React.cloneElement(triggerComponent, triggerClonedProps)\n : triggerComponent;\n const removeQueryParam = (param: string) => {\n const url = new URL(window.location.href);\n url.searchParams.delete(param);\n window.history.replaceState({}, document.title, url);\n };\n useEffect(() => {\n if (\n !isMappingFieldCompleted &&\n !isTriggerFieldCompleted &&\n hasDashboardPage\n ) {\n // setHasDashboardPage(false);\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n }\n }, [mapping?.mappedFields?.fields, trigger?.mappedFields]);\n useEffect(() => {\n if (\n Object.fromEntries(new URLSearchParams(window.location.search) ?? {})\n .isDraft\n ) {\n setIsDraftModalOpen(true);\n }\n }, [isDraftModalOpen]);\n const onSaveHandler = async () => {\n await draftHandler(currentConfigurationType);\n await previousMappingHandler();\n removeQueryParam(\"isDraft\");\n setIsDraftModalOpen(false);\n \n }\n const onCloseHandler = () => {\n removeQueryParam(\"isDraft\");\n setIsDraftModalOpen(false);\n }\n const onCancelHandler = async () => {\n await previousMappingHandler();\n setIsDraftModalOpen(false);\n }\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: \"DM Sans, Roboto Mono, sans-serif\",\n heading: \"DM Sans, Roboto Mono, sans-serif\",\n label: \"DM Sans, Roboto Mono, sans-serif\",\n p: {\n margin: '0 !important',\n padding: '0 !important',\n }\n },\n }}\n >\n <TooltipProvider delayDuration={300}>\n {surveyType === \"OfflineApp\" ? <Flex alignItems=\"center\" justifyContent=\"center\" css={{ width: \"100%\", height: \"100vh\" }}>\n <Text size=\"lg\" css={{ color: \"$neutral900\" }} weight={\"medium\"}>This app is not supported for offline surveys</Text>\n </Flex> : <Box css={{ width: \"100%\" }}>\n {hasDashboardPage ? (\n <Dashboard\n onMappingEditHandler={onMappingEditHandler}\n fieldOptions={fieldOptions}\n triggerEnabled={triggerEnabled}\n mappingEnabled={mappingEnabled}\n hasDropdownComponents={{\n mapping: !!ClonedMappingComponent || !!clonedSingleMappingProps || !!ClonedDynamicMappingComponent,\n trigger: !!ClonedTriggerComponent,\n }}\n hasMultiAccounts={hasMultiAccounts}\n dashboardDescription={dashboardDescription}\n integrationName={integrationName}\n mappingFields={mapping?.mappedFields || singleMapping || dynamicMapping?.mappedFields}\n triggerFields={trigger?.mappedFields}\n handleConfigurationType={(value: string) => {\n setCurrentConfigurationType(value);\n setHasDashboardPage(false);\n setTempPreviousMapping(true);\n setEditField({});\n }}\n handleEditField={handleEditField}\n deleteFieldHandler={onDeleteHandler || (() => {})}\n syncMapping={syncMapping}\n toggleDashboardField={toggleDashboardField || (() => {})}\n handleDashboardPage={(value: boolean, type: string) => {\n setHasDashboardPage(value as boolean);\n setCurrentConfigurationType(type);\n setHasConfigurationType(false);\n }}\n />\n ) : (\n <>\n {hasConfigurationType &&\n ![\"MAPPING\", \"TRIGGER\"].includes(\n `${currentConfigurationType}`\n ) ? (\n <ConfigureTemplate\n mappingDescription={mappingDescription}\n triggerDescription={triggerDescription}\n handleConfigurationType={(value: string) =>\n setCurrentConfigurationType(value)\n }\n />\n ) : (\n <>\n {currentConfigurationType === \"MAPPING\" &&\n !!singleMappingComponent\n ? ClonedSingleMappingComponent\n : null}\n {currentConfigurationType === \"MAPPING\" &&\n !!dynamicMappingComponent\n ? ClonedDynamicMappingComponent\n : null}\n {currentConfigurationType === \"MAPPING\" && !!mappingComponent\n ? ClonedMappingComponent\n : null}\n {currentConfigurationType !== \"MAPPING\" && !!triggerComponent\n ? ClonedTriggerComponent\n : null}\n </>\n )}\n {isDraftModalOpen && (\n <DraftModal\n onSaveHandler={onSaveHandler}\n onCloseHandler={onCloseHandler}\n onCancel={onCancelHandler}\n />\n )}\n </>\n )}\n </Box>}\n </TooltipProvider>\n </ThemeProvider>\n );\n};\ntype ConfigureTemplateProps = {\n handleConfigurationType: (value: string) => void;\n mappingDescription: string;\n triggerDescription: string;\n};\nconst ConfigureTemplate: React.FC<ConfigureTemplateProps> = ({\n handleConfigurationType,\n mappingDescription,\n triggerDescription,\n}) => {\n return (\n <Box css={{ width: \"100%\", paddingTop: \"$48\" }}>\n <Flex flexDirection=\"column\" alignItems=\"center\">\n <Heading size=\"h5\" css={{ color: \"$neutral900\" }}>\n Select Configuration Type\n </Heading>\n <Text\n size=\"sm\"\n css={{ color: \"$neutral600\", lineHeight: \"$sm\", marginTop: \"$2\" }}\n >\n Choose either Mapping or Triggering to configure their respective\n actions.\n </Text>\n </Flex>\n <Flex alignItems=\"center\" justifyContent=\"center\">\n <Flex\n css={{ maxWidth: 960, width: \"100%\", marginTop: \"$36\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n gap=\"$20\"\n >\n <TemplateCard\n icon={<CursorIcon />}\n heading=\"Trigger\"\n description={triggerDescription}\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n <TemplateCard\n icon={<MappingIcon />}\n heading=\"Mapping\"\n description={mappingDescription}\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n </Flex>\n </Flex>\n </Box>\n );\n};\ntype TemplateCardProps = {\n icon: ReactNode;\n heading: string;\n description: string;\n onClickHandler: () => void;\n};\nconst TemplateCard: React.FC<TemplateCardProps> = ({\n icon,\n heading,\n description,\n onClickHandler,\n}) => {\n return (\n <Flex\n flexDirection=\"column\"\n alignItems=\"center\"\n onClick={onClickHandler}\n css={{\n width: 350,\n height: 300,\n outline: \"$borderWidths$xs solid $neutral200\",\n borderRadius: \"$4xl\",\n position: \"relative\",\n cursor: \"pointer\",\n filter: \"drop-shadow(0 4px 8px rgba(0, 0, 0, 0.06))\",\n overflow: \"auto\",\n \"&:hover\": {\n outline: \"$borderWidths$md solid $primary400\",\n \"& svg circle, rect, path\": {\n stroke: \"$primary500\",\n },\n \"& #ellipse\": {\n opacity: \"10%\",\n },\n },\n }}\n >\n <Box\n id=\"ellipse\"\n css={{\n position: \"absolute\",\n top: \"-23%\",\n filter: \"blur(25px)\",\n transition: \"all .4s ease\",\n width: 334,\n height: \"$25\",\n opacity: \"0%\",\n background: \"$primary400\",\n borderRadius: \"50%\",\n }}\n />\n <Box css={{ marginBlock: \"$32 $16\" }}>{icon}</Box>\n <Heading size=\"h6\" css={{ color: \"$neutral900\" }}>\n {heading}\n </Heading>\n <Text\n size=\"md\"\n css={{\n marginTop: \"$8\",\n color: \"$neutral800\",\n width: 222,\n textAlign: \"center\",\n }}\n >\n {description}\n </Text>\n </Flex>\n );\n};"],"names":["_a","React"],"mappings":"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"}
@@ -21,7 +21,7 @@ const CustomDateMenu = ({
21
21
  return /* @__PURE__ */ React__default.createElement(Popover, { open: popoverOpen, onOpenChange: (open) => setPopoverOpen(open) }, /* @__PURE__ */ React__default.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React__default.createElement(
22
22
  Input,
23
23
  {
24
- value: value != null ? value : dayjs(value || /* @__PURE__ */ new Date()).format("MM/DD/YYYY \u2022 HH:mm"),
24
+ value: value || dayjs(/* @__PURE__ */ new Date()).format("MM/DD/YYYY \u2022 HH:mm"),
25
25
  size: "lg",
26
26
  readOnly: true,
27
27
  rightIcon: /* @__PURE__ */ React__default.createElement(CalendarIcon, null)
@@ -41,7 +41,8 @@ const CustomDateMenu = ({
41
41
  onChange: setDate,
42
42
  showTimePicker: true,
43
43
  footerAction: () => {
44
- onChangeHandler(dayjs(date).format("MM/DD/YYYY \u2022 HH:mm"));
44
+ const jsDate = new Date(date.year, date.month - 1, date.day);
45
+ onChangeHandler(dayjs(jsDate).format("MM/DD/YYYY \u2022 HH:mm"));
45
46
  setPopoverOpen(false);
46
47
  }
47
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"custom-date-menu.js","sources":["../../../../src/mapping/components/custom-date-menu.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport {\n Calendar,\n Input,\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@sparrowengg/twigs-react\";\nimport { CalendarIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport dayjs from \"dayjs\";\n\ntype CustomDateMenuProps = {\n onChangeHandler: (value: any) => void;\n value: string;\n};\n\nconst CustomDateMenu: React.FC<CustomDateMenuProps> = ({\n onChangeHandler,\n value,\n}) => {\n const [popoverOpen, setPopoverOpen] = useState(false);\n const [date, setDate] = useState<DateValue>(() => {\n try {\n return value ? parseDate(value) : parseDate(dayjs().format(\"YYYY-MM-DD\"));\n } catch (e) {\n return parseDate(dayjs().format(\"YYYY-MM-DD\"));\n }\n });\n\n return (\n <Popover open={popoverOpen} onOpenChange={(open) => setPopoverOpen(open)}>\n <PopoverTrigger asChild>\n <Input\n value={value ?? dayjs(value || new Date()).format(\"MM/DD/YYYY • HH:mm\")}\n size=\"lg\"\n readOnly\n rightIcon={<CalendarIcon />}\n />\n </PopoverTrigger>\n <PopoverContent\n sideOffset={3}\n css={{ width: 260, padding: 0, borderRadius: \"$xl\" }}\n >\n <Calendar\n size=\"md\"\n footerActionText=\"Apply\"\n value={date}\n onChange={setDate}\n showTimePicker\n footerAction={() => {\n onChangeHandler(dayjs(date).format(\"MM/DD/YYYY • HH:mm\"));\n setPopoverOpen(false);\n }}\n />\n </PopoverContent>\n </Popover>\n );\n};\n\nexport default CustomDateMenu;\n"],"names":["parseDate","React"],"mappings":";;;;;;;;AAiBA,MAAM,iBAAgD,CAAC;AAAA,EACrD,eAAA;AAAA,EACA,KAAA;AACF,CAAM,KAAA;AACJ,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AACpD,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAoB,MAAM;AAChD,IAAI,IAAA;AACF,MAAO,OAAA,KAAA,GAAQA,yCAAU,KAAK,CAAA,GAAIA,yCAAU,KAAM,EAAA,CAAE,MAAO,CAAA,YAAY,CAAC,CAAA,CAAA;AAAA,aACjE,CAAG,EAAA;AACV,MAAA,OAAOA,wCAAU,CAAA,KAAA,EAAQ,CAAA,MAAA,CAAO,YAAY,CAAC,CAAA,CAAA;AAAA,KAC/C;AAAA,GACD,CAAA,CAAA;AAED,EAAA,uBACGC,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,IAAM,EAAA,WAAA,EAAa,YAAc,EAAA,CAAC,IAAS,KAAA,cAAA,CAAe,IAAI,CAAA,EAAA,kBACpEA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA,EAAe,SAAO,IACrB,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,wBAAS,KAAM,CAAA,KAAA,wBAAa,IAAK,EAAC,CAAE,CAAA,MAAA,CAAO,yBAAoB,CAAA;AAAA,MACtE,IAAK,EAAA,IAAA;AAAA,MACL,QAAQ,EAAA,IAAA;AAAA,MACR,SAAA,+CAAY,YAAa,EAAA,IAAA,CAAA;AAAA,KAAA;AAAA,GAE7B,CACA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,UAAY,EAAA,CAAA;AAAA,MACZ,KAAK,EAAE,KAAA,EAAO,KAAK,OAAS,EAAA,CAAA,EAAG,cAAc,KAAM,EAAA;AAAA,KAAA;AAAA,oBAEnDA,cAAA,CAAA,aAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,IAAK,EAAA,IAAA;AAAA,QACL,gBAAiB,EAAA,OAAA;AAAA,QACjB,KAAO,EAAA,IAAA;AAAA,QACP,QAAU,EAAA,OAAA;AAAA,QACV,cAAc,EAAA,IAAA;AAAA,QACd,cAAc,MAAM;AAClB,UAAA,eAAA,CAAgB,KAAM,CAAA,IAAI,CAAE,CAAA,MAAA,CAAO,yBAAoB,CAAC,CAAA,CAAA;AACxD,UAAA,cAAA,CAAe,KAAK,CAAA,CAAA;AAAA,SACtB;AAAA,OAAA;AAAA,KACF;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"custom-date-menu.js","sources":["../../../../src/mapping/components/custom-date-menu.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport {\n Calendar,\n Input,\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@sparrowengg/twigs-react\";\nimport { CalendarIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { parseDate, DateValue, CalendarDate } from \"@internationalized/date\";\nimport dayjs from \"dayjs\";\n\ntype CustomDateMenuProps = {\n onChangeHandler: (value: string) => void;\n value: string;\n};\n\nconst CustomDateMenu: React.FC<CustomDateMenuProps> = ({\n onChangeHandler,\n value,\n}) => {\n const [popoverOpen, setPopoverOpen] = useState(false);\n const [date, setDate] = useState<DateValue>(() => {\n try {\n return value ? parseDate(value) : parseDate(dayjs().format(\"YYYY-MM-DD\"));\n } catch (e) {\n return parseDate(dayjs().format(\"YYYY-MM-DD\"));\n }\n });\n\n return (\n <Popover open={popoverOpen} onOpenChange={(open) => setPopoverOpen(open)}>\n <PopoverTrigger asChild>\n <Input\n value={value || dayjs(new Date()).format(\"MM/DD/YYYY • HH:mm\")}\n size=\"lg\"\n readOnly\n rightIcon={<CalendarIcon />}\n />\n </PopoverTrigger>\n <PopoverContent\n sideOffset={3}\n css={{ width: 260, padding: 0, borderRadius: \"$xl\" }}\n >\n <Calendar\n size=\"md\"\n footerActionText=\"Apply\"\n value={date}\n onChange={setDate}\n showTimePicker\n footerAction={() => {\n // Convert DateValue to JavaScript Date for dayjs\n const jsDate = new Date(date.year, date.month - 1, date.day);\n onChangeHandler(dayjs(jsDate).format(\"MM/DD/YYYY • HH:mm\"));\n setPopoverOpen(false);\n }}\n />\n </PopoverContent>\n </Popover>\n );\n};\n\nexport default CustomDateMenu;\n"],"names":["parseDate","React"],"mappings":";;;;;;;;AAiBA,MAAM,iBAAgD,CAAC;AAAA,EACrD,eAAA;AAAA,EACA,KAAA;AACF,CAAM,KAAA;AACJ,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AACpD,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAoB,MAAM;AAChD,IAAI,IAAA;AACF,MAAO,OAAA,KAAA,GAAQA,yCAAU,KAAK,CAAA,GAAIA,yCAAU,KAAM,EAAA,CAAE,MAAO,CAAA,YAAY,CAAC,CAAA,CAAA;AAAA,aACjE,CAAG,EAAA;AACV,MAAA,OAAOA,wCAAU,CAAA,KAAA,EAAQ,CAAA,MAAA,CAAO,YAAY,CAAC,CAAA,CAAA;AAAA,KAC/C;AAAA,GACD,CAAA,CAAA;AAED,EAAA,uBACGC,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,IAAM,EAAA,WAAA,EAAa,YAAc,EAAA,CAAC,IAAS,KAAA,cAAA,CAAe,IAAI,CAAA,EAAA,kBACpEA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA,EAAe,SAAO,IACrB,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,SAAS,KAAM,iBAAA,IAAI,MAAM,CAAA,CAAE,OAAO,yBAAoB,CAAA;AAAA,MAC7D,IAAK,EAAA,IAAA;AAAA,MACL,QAAQ,EAAA,IAAA;AAAA,MACR,SAAA,+CAAY,YAAa,EAAA,IAAA,CAAA;AAAA,KAAA;AAAA,GAE7B,CACA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,UAAY,EAAA,CAAA;AAAA,MACZ,KAAK,EAAE,KAAA,EAAO,KAAK,OAAS,EAAA,CAAA,EAAG,cAAc,KAAM,EAAA;AAAA,KAAA;AAAA,oBAEnDA,cAAA,CAAA,aAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,IAAK,EAAA,IAAA;AAAA,QACL,gBAAiB,EAAA,OAAA;AAAA,QACjB,KAAO,EAAA,IAAA;AAAA,QACP,QAAU,EAAA,OAAA;AAAA,QACV,cAAc,EAAA,IAAA;AAAA,QACd,cAAc,MAAM;AAElB,UAAM,MAAA,MAAA,GAAS,IAAI,IAAK,CAAA,IAAA,CAAK,MAAM,IAAK,CAAA,KAAA,GAAQ,CAAG,EAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AAC3D,UAAA,eAAA,CAAgB,KAAM,CAAA,MAAM,CAAE,CAAA,MAAA,CAAO,yBAAoB,CAAC,CAAA,CAAA;AAC1D,UAAA,cAAA,CAAe,KAAK,CAAA,CAAA;AAAA,SACtB;AAAA,OAAA;AAAA,KACF;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"custom-menu.js","sources":["../../../../src/mapping/components/custom-menu.tsx"],"sourcesContent":["import React from \"react\";\nimport { components, MenuProps } from \"react-select\";\nimport { Box, Flex, Text } from \"@sparrowengg/twigs-react\";\nimport { PlusIcon } from \"@sparrowengg/twigs-react-icons\";\n\ntype CustomMenuProps = MenuProps<any> & {\n selectProps: {\n noneOptionHandler: (option: { label: string; value: string }) => void;\n onMenuClose: () => void;\n customOnClick: () => void;\n };\n};\n\nconst CustomMenu: React.FC<CustomMenuProps> = (props) => {\n return (\n <components.Menu {...props}>\n <Box\n css={{\n paddingBottom: \"$4\",\n marginBlock: \"$6 $4\",\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n }}\n >\n <Text\n onClick={() => {\n props.selectProps?.noneOptionHandler({\n label: \"None\",\n value: \"NONE\",\n });\n props.selectProps?.onMenuClose();\n }}\n size=\"sm\"\n css={{ padding: \"$3 $6\", color: \"$neutral900\", cursor: \"pointer\" }}\n >\n None\n </Text>\n </Box>\n {props.children}\n <Flex\n onClick={() => props?.selectProps?.customOnClick()}\n css={{\n background: \"rgba(100, 116, 139, 0.06)\",\n padding: \"$6 $8\",\n }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Text size=\"xs\" css={{ color: \"$neutral600\", lineHeight: \"$xs\" }}>\n Select the right data type for the mapping to prevent errors when\n sharing value.\n </Text>\n </Flex>\n </components.Menu>\n );\n};\n\nexport default CustomMenu;"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAaM,MAAA,UAAA,GAAwC,CAAC,KAAU,KAAA;AACvD,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,UAAA,CAAW,IAAX,EAAA,cAAA,CAAA,EAAA,EAAoB,KACnB,CAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA;AAAA,QACH,aAAe,EAAA,IAAA;AAAA,QACf,WAAa,EAAA,OAAA;AAAA,QACb,YAAc,EAAA,oCAAA;AAAA,OAChB;AAAA,KAAA;AAAA,oBAEAA,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,SAAS,MAAM;AAxBzB,UAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAyBY,UAAM,CAAA,EAAA,GAAA,KAAA,CAAA,WAAA,KAAN,mBAAmB,iBAAkB,CAAA;AAAA,YACnC,KAAO,EAAA,MAAA;AAAA,YACP,KAAO,EAAA,MAAA;AAAA,WACT,CAAA,CAAA;AACA,UAAA,CAAA,EAAA,GAAA,KAAA,CAAM,gBAAN,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,EAAA,CAAA;AAAA,SACrB;AAAA,QACA,IAAK,EAAA,IAAA;AAAA,QACL,KAAK,EAAE,OAAA,EAAS,SAAS,KAAO,EAAA,aAAA,EAAe,QAAQ,SAAU,EAAA;AAAA,OAAA;AAAA,MAClE,MAAA;AAAA,KAED;AAAA,GACF,EACC,MAAM,QACP,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,SAAS,MAAG;AAvCpB,QAAA,IAAA,EAAA,CAAA;AAuCuB,QAAA,OAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,gBAAP,IAAoB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA;AAAA,OAAA;AAAA,MACnC,GAAK,EAAA;AAAA,QACH,UAAY,EAAA,2BAAA;AAAA,QACZ,OAAS,EAAA,OAAA;AAAA,OACX;AAAA,MACA,UAAW,EAAA,QAAA;AAAA,MACX,cAAe,EAAA,QAAA;AAAA,KAAA;AAAA,oBAEfA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,GAAA,EAAK,EAAE,KAAA,EAAO,aAAe,EAAA,UAAA,EAAY,KAAM,EAAA,EAAA,EAAG,kFAGlE,CAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"custom-menu.js","sources":["../../../../src/mapping/components/custom-menu.tsx"],"sourcesContent":["import React from \"react\";\nimport { components, MenuProps } from \"react-select\";\nimport { Box, Flex, Text } from \"@sparrowengg/twigs-react\";\nimport { PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { SelectOption } from \"../../commons/types/enhanced\";\n\ntype CustomMenuProps = MenuProps<SelectOption> & {\n selectProps: {\n noneOptionHandler: (option: SelectOption) => void;\n onMenuClose: () => void;\n customOnClick: () => void;\n };\n};\n\nconst CustomMenu: React.FC<CustomMenuProps> = (props) => {\n return (\n <components.Menu {...props}>\n <Box\n css={{\n paddingBottom: \"$4\",\n marginBlock: \"$6 $4\",\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n }}\n >\n <Text\n onClick={() => {\n props.selectProps?.noneOptionHandler({\n label: \"None\",\n value: \"NONE\",\n });\n props.selectProps?.onMenuClose();\n }}\n size=\"sm\"\n css={{ padding: \"$3 $6\", color: \"$neutral900\", cursor: \"pointer\" }}\n >\n None\n </Text>\n </Box>\n {props.children}\n <Flex\n onClick={() => props?.selectProps?.customOnClick()}\n css={{\n background: \"rgba(100, 116, 139, 0.06)\",\n padding: \"$6 $8\",\n }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Text size=\"xs\" css={{ color: \"$neutral600\", lineHeight: \"$xs\" }}>\n Select the right data type for the mapping to prevent errors when\n sharing value.\n </Text>\n </Flex>\n </components.Menu>\n );\n};\n\nexport default CustomMenu;"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAcM,MAAA,UAAA,GAAwC,CAAC,KAAU,KAAA;AACvD,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,UAAA,CAAW,IAAX,EAAA,cAAA,CAAA,EAAA,EAAoB,KACnB,CAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA;AAAA,QACH,aAAe,EAAA,IAAA;AAAA,QACf,WAAa,EAAA,OAAA;AAAA,QACb,YAAc,EAAA,oCAAA;AAAA,OAChB;AAAA,KAAA;AAAA,oBAEAA,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,SAAS,MAAM;AAzBzB,UAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA0BY,UAAM,CAAA,EAAA,GAAA,KAAA,CAAA,WAAA,KAAN,mBAAmB,iBAAkB,CAAA;AAAA,YACnC,KAAO,EAAA,MAAA;AAAA,YACP,KAAO,EAAA,MAAA;AAAA,WACT,CAAA,CAAA;AACA,UAAA,CAAA,EAAA,GAAA,KAAA,CAAM,gBAAN,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,EAAA,CAAA;AAAA,SACrB;AAAA,QACA,IAAK,EAAA,IAAA;AAAA,QACL,KAAK,EAAE,OAAA,EAAS,SAAS,KAAO,EAAA,aAAA,EAAe,QAAQ,SAAU,EAAA;AAAA,OAAA;AAAA,MAClE,MAAA;AAAA,KAED;AAAA,GACF,EACC,MAAM,QACP,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,SAAS,MAAG;AAxCpB,QAAA,IAAA,EAAA,CAAA;AAwCuB,QAAA,OAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,gBAAP,IAAoB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA;AAAA,OAAA;AAAA,MACnC,GAAK,EAAA;AAAA,QACH,UAAY,EAAA,2BAAA;AAAA,QACZ,OAAS,EAAA,OAAA;AAAA,OACX;AAAA,MACA,UAAW,EAAA,QAAA;AAAA,MACX,cAAe,EAAA,QAAA;AAAA,KAAA;AAAA,oBAEfA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,GAAA,EAAK,EAAE,KAAA,EAAO,aAAe,EAAA,UAAA,EAAY,KAAM,EAAA,EAAA,EAAG,kFAGlE,CAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
@@ -60,18 +60,26 @@ const Field = ({
60
60
  removeField,
61
61
  showCustomPropertyModal
62
62
  }) => {
63
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
63
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
64
64
  useEffect(() => {
65
65
  if (!field.integrationField) {
66
- field.integrationField = integrationFields.find(
66
+ const foundField = integrationFields.find(
67
67
  (integrationField) => integrationField.label === (field == null ? void 0 : field.essentialFieldLabel)
68
68
  );
69
+ if (foundField) {
70
+ field.integrationField = {
71
+ label: foundField.label,
72
+ value: foundField.value,
73
+ type: foundField.type
74
+ };
75
+ }
69
76
  }
70
77
  }, [field, integrationFields]);
71
78
  const hasNumberDefaultField = (type) => {
72
79
  if (type === "NUMBER") {
73
80
  return true;
74
81
  }
82
+ return false;
75
83
  };
76
84
  return /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$8" }, (field == null ? void 0 : field.essentialFieldLabel) && /* @__PURE__ */ React__default.createElement(Text, { size: "sm", weight: "bold" }, field.essentialFieldLabel, /* @__PURE__ */ React__default.createElement(PlaceholderSpan, { color: "$negative500" }, "*")), /* @__PURE__ */ React__default.createElement(
77
85
  Flex,
@@ -140,7 +148,7 @@ const Field = ({
140
148
  value: (_c = field == null ? void 0 : field.integrationField) != null ? _c : integrationFields.find(
141
149
  (integrationField) => integrationField.label === (field == null ? void 0 : field.essentialFieldLabel)
142
150
  ),
143
- isDisabled: integrationFields.find(
151
+ isDisabled: !!integrationFields.find(
144
152
  (integrationField) => integrationField.label === (field == null ? void 0 : field.essentialFieldLabel)
145
153
  ),
146
154
  onChange: (integration) => {
@@ -206,10 +214,10 @@ const Field = ({
206
214
  handleFieldValue: (value) => {
207
215
  handleFieldValue(field == null ? void 0 : field.id, "defaultValue", value);
208
216
  },
209
- integrationFieldType: (_n = (_l = (_j = field == null ? void 0 : field.integrationFieldType) == null ? void 0 : _j.value) != null ? _l : (_k = integrationFields.find(
217
+ integrationFieldType: (_o = (_n = (_l = (_j = field == null ? void 0 : field.integrationFieldType) == null ? void 0 : _j.value) != null ? _l : (_k = integrationFields.find(
210
218
  (integrationField) => integrationField.label === (field == null ? void 0 : field.essentialFieldLabel)
211
- )) == null ? void 0 : _k.type) != null ? _n : (_m = field.integrationField) == null ? void 0 : _m.type,
212
- value: (_o = field == null ? void 0 : field.defaultValue) == null ? void 0 : _o.value
219
+ )) == null ? void 0 : _k.type) != null ? _n : (_m = field.integrationField) == null ? void 0 : _m.type) != null ? _o : "STRING",
220
+ value: (_q = (_p = field == null ? void 0 : field.defaultValue) == null ? void 0 : _p.value) != null ? _q : field == null ? void 0 : field.defaultValue
213
221
  }
214
222
  )
215
223
  )),
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sources":["../../../../src/mapping/components/field.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n FormLabel,\n IconButton,\n Input,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect } from \"react\";\nimport Trash from \"../../commons/icons/trash\";\nimport CustomMenu from \"./custom-menu\";\nimport { integrationsClassicSubmissionProperties, integrationsNpsSubmissionProperties, mappingType, subMenuOptions } from \"../../commons/constants\";\nimport { handleMappingOptions } from \"../../commons/helpers\";\nimport Arrow from \"../../commons/icons/arrow\";\nimport { FieldProps } from \"../types\";\nimport CustomDateMenu from \"./custom-date-menu\";\nimport CustomOption from \"./custom-option\";\nimport PlaceholderSpan from \"./placeholder-span\";\nimport { DateValue } from \"@internationalized/date\";\n\nconst customStyles = {\n menuList: (prevStyles: any) => ({\n ...prevStyles,\n maxHeight: 176,\n // width: \"300px !important\",\n }),\n};\n\nconst subMenuCustomStyles = {\n menu: (prevStyles: any) => ({\n ...prevStyles,\n width: 260,\n right: 0,\n }),\n};\n\nconst Field: React.FC<FieldProps> = ({\n surveyType,\n havingTypeDropdown,\n field,\n isFirstField,\n handleFieldValue,\n ssMappingData,\n integrationFields,\n integrationName,\n hasCustomMenuProperty,\n isBtnDisabled,\n removeField,\n showCustomPropertyModal,\n}) => {\n useEffect(() => {\n if (!field.integrationField) {\n field.integrationField = integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n );\n }\n }, [field, integrationFields]);\n\n const hasNumberDefaultField = (type: any) => {\n if(type === \"NUMBER\"){\n return true\n }\n }\n\n return (\n <Flex flexDirection=\"column\" gap=\"$8\">\n {field?.essentialFieldLabel && (\n <Text size=\"sm\" weight=\"bold\">\n {field.essentialFieldLabel}\n <PlaceholderSpan color=\"$negative500\">*</PlaceholderSpan>\n </Text>\n )}\n <Flex\n key={field.id}\n css={{\n width: \"100%\",\n \"&:hover\": {\n \"& button\": {\n opacity: 1,\n },\n \"& #arrow path\": {\n fill: \"$secondary500\",\n },\n },\n }}\n alignItems=\"center\"\n gap=\"$6\"\n >\n <Flex flexDirection=\"column\" gap=\"$2\" css={{ width: 144 }}>\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Type\n </FormLabel>\n )}\n <Select\n placeholder=\"Choose\"\n size=\"lg\"\n isSearchable={false}\n value={field?.mappedType}\n options={mappingType}\n onChange={(type: any) => handleFieldValue(field?.id, \"type\", type)}\n styles={customStyles}\n />\n </Flex>\n <Flex alignItems=\"center\" css={{ flex: 1 }} gap=\"11px\">\n <Flex flexDirection=\"column\" gap=\"$2\" css={{ width: \"100%\" }}>\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n SurveySparrow Field\n </FormLabel>\n )}\n <Select\n size=\"lg\"\n placeholder=\"Choose\"\n value={field?.surveySparrowField}\n onChange={(ssField) =>\n handleFieldValue(field?.id, \"surveySparrowField\", ssField)\n }\n options={handleMappingOptions(\n field?.mappedType?.value ?? \"QUESTION\",\n ssMappingData.questions,\n ssMappingData.contactProperties,\n ssMappingData.variables,\n ssMappingData.expressions,\n integrationsNpsSubmissionProperties,\n integrationsClassicSubmissionProperties,\n surveyType\n )}\n styles={customStyles}\n />\n </Flex>\n <Box\n as=\"span\"\n id=\"arrow\"\n css={{\n paddingTop: isFirstField || field.isEssentialField ? \"$9\" : 0,\n }}\n >\n <Arrow />\n </Box>\n <Flex flexDirection=\"column\" gap=\"$2\">\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {`${integrationName} Field`}\n </FormLabel>\n )}\n <Flex alignItems=\"center\">\n <Select\n placeholder=\"Choose\"\n size=\"lg\"\n value={\n field?.integrationField ??\n integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )\n }\n isDisabled={integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )}\n onChange={(integration: any) => {\n handleFieldValue(field?.id, \"integrationField\", integration);\n }}\n css={{\n width: 260,\n \"& .twigs-select__control\": {\n borderTopRightRadius: havingTypeDropdown ? 0 : \"$lg\",\n borderBottomRightRadius: havingTypeDropdown ? 0 : \"$lg\",\n },\n }}\n options={integrationFields}\n styles={customStyles}\n components={{\n ...(hasCustomMenuProperty && {\n Menu: (props) => (\n <CustomMenu\n {...props}\n customOnClick={showCustomPropertyModal}\n />\n ),\n }),\n }}\n />\n {havingTypeDropdown && (\n <Select\n css={{\n width: 112,\n \"& .twigs-select__control\": {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n border: \"$borderWidths$xs solid $neutral200\",\n },\n }}\n isDisabled={!field?.integrationField?.value}\n value={field?.integrationFieldType}\n onChange={(integration) =>\n handleFieldValue(\n field?.id,\n \"integrationFieldType\",\n integration\n )\n }\n styles={subMenuCustomStyles}\n options={subMenuOptions}\n closeMenuOnSelect\n // @ts-ignore\n noneOptionHandler={(value) =>\n handleFieldValue(field?.id, \"integrationFieldType\", value)\n }\n components={{ Menu: CustomMenu, Option: CustomOption }}\n placeholder=\"Choose\"\n size=\"lg\"\n />\n )}\n </Flex>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$2\"\n css={{ maxWidth: 180, width: \"100%\" }}\n >\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\", marginBlockStart: hasNumberDefaultField(field?.integrationFieldType?.value ??\n integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )?.type ?? field.integrationField?.type) ? \"$9\" : \"0\" }}>\n {\"Default Value (Optional)\"}\n </FormLabel>\n )}\n <DefaultField\n handleFieldValue={(value: any) => {\n handleFieldValue(field?.id, \"defaultValue\", value);\n }}\n integrationFieldType={\n field?.integrationFieldType?.value ??\n integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )?.type ?? field.integrationField?.type\n }\n value={field?.defaultValue?.value}\n />\n </Flex>\n </Flex>\n {!field.isEssentialField && (\n <IconButton\n css={{\n transition: \"all .3s ease\",\n marginTop: isFirstField ? \"$11\" : 0,\n }}\n size=\"sm\"\n icon={<Trash />}\n variant=\"ghost\"\n color=\"default\"\n disabled={isBtnDisabled}\n onClick={removeField}\n />\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport default Field;\n\nconst DefaultField: React.FC<{\n integrationFieldType: string;\n handleFieldValue: (value: any) => void;\n value: any;\n}> = ({ integrationFieldType, handleFieldValue, value }) => {\n switch (`${integrationFieldType}`) {\n case \"BOOLEAN\":\n return (\n <Select\n options={[\n {\n label: \"true\",\n value: true,\n },\n {\n label: \"false\",\n value: false,\n },\n ]}\n size=\"lg\"\n value={value}\n placeholder=\"\"\n onChange={(booleanValue) =>\n handleFieldValue({\n type: \"BOOLEAN\",\n value: booleanValue,\n })\n }\n />\n );\n case \"DATE_TIME\":\n return (\n <CustomDateMenu\n value={value}\n onChangeHandler={(dateValue: any) => {\n handleFieldValue({\n type: \"DATE_TIME\",\n value: dateValue,\n });\n }}\n />\n );\n case \"NUMBER\":\n return (\n <>\n <Input\n size=\"lg\"\n type=\"number\"\n placeholder=\"\"\n value={value}\n min={0}\n onChange={(e) =>\n handleFieldValue({\n type: \"NUMBER\",\n value: parseInt(e.currentTarget.value),\n })\n }\n />\n <FormLabel size=\"xs\">please enter a valid number</FormLabel>\n </>\n );\n default:\n return (\n <Input\n size=\"lg\"\n placeholder=\"\"\n value={value}\n onChange={(e) =>\n handleFieldValue({\n type: \"STRING\",\n value: e.currentTarget.value,\n })\n }\n />\n );\n }\n};"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"field.js","sources":["../../../../src/mapping/components/field.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n FormLabel,\n IconButton,\n Input,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect } from \"react\";\nimport Trash from \"../../commons/icons/trash\";\nimport CustomMenu from \"./custom-menu\";\nimport { integrationsClassicSubmissionProperties, integrationsNpsSubmissionProperties, mappingType, subMenuOptions } from \"../../commons/constants\";\nimport { handleMappingOptions } from \"../../commons/helpers\";\nimport Arrow from \"../../commons/icons/arrow\";\nimport { FieldProps } from \"../types\";\nimport CustomDateMenu from \"./custom-date-menu\";\nimport CustomOption from \"./custom-option\";\nimport PlaceholderSpan from \"./placeholder-span\";\nimport { DateValue } from \"@internationalized/date\";\n\nconst customStyles = {\n menuList: (prevStyles: any) => ({\n ...prevStyles,\n maxHeight: 176,\n // width: \"300px !important\",\n }),\n};\n\nconst subMenuCustomStyles = {\n menu: (prevStyles: any) => ({\n ...prevStyles,\n width: 260,\n right: 0,\n }),\n};\n\nconst Field: React.FC<FieldProps> = ({\n surveyType,\n havingTypeDropdown,\n field,\n isFirstField,\n handleFieldValue,\n ssMappingData,\n integrationFields,\n integrationName,\n hasCustomMenuProperty,\n isBtnDisabled,\n removeField,\n showCustomPropertyModal,\n}) => {\n useEffect(() => {\n if (!field.integrationField) {\n const foundField = integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n );\n if (foundField) {\n field.integrationField = {\n label: foundField.label,\n value: foundField.value,\n type: foundField.type,\n };\n }\n }\n }, [field, integrationFields]);\n\n const hasNumberDefaultField = (type: any): boolean => {\n if(type === \"NUMBER\"){\n return true;\n }\n return false;\n }\n\n return (\n <Flex flexDirection=\"column\" gap=\"$8\">\n {field?.essentialFieldLabel && (\n <Text size=\"sm\" weight=\"bold\">\n {field.essentialFieldLabel}\n <PlaceholderSpan color=\"$negative500\">*</PlaceholderSpan>\n </Text>\n )}\n <Flex\n key={field.id}\n css={{\n width: \"100%\",\n \"&:hover\": {\n \"& button\": {\n opacity: 1,\n },\n \"& #arrow path\": {\n fill: \"$secondary500\",\n },\n },\n }}\n alignItems=\"center\"\n gap=\"$6\"\n >\n <Flex flexDirection=\"column\" gap=\"$2\" css={{ width: 144 }}>\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Type\n </FormLabel>\n )}\n <Select\n placeholder=\"Choose\"\n size=\"lg\"\n isSearchable={false}\n value={field?.mappedType}\n options={mappingType}\n onChange={(type: any) => handleFieldValue(field?.id, \"type\", type)}\n styles={customStyles}\n />\n </Flex>\n <Flex alignItems=\"center\" css={{ flex: 1 }} gap=\"11px\">\n <Flex flexDirection=\"column\" gap=\"$2\" css={{ width: \"100%\" }}>\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n SurveySparrow Field\n </FormLabel>\n )}\n <Select\n size=\"lg\"\n placeholder=\"Choose\"\n value={field?.surveySparrowField}\n onChange={(ssField: any) =>\n handleFieldValue(field?.id, \"surveySparrowField\", ssField)\n }\n options={handleMappingOptions(\n (field?.mappedType?.value ?? \"QUESTION\") as string,\n ssMappingData.questions,\n ssMappingData.contactProperties,\n ssMappingData.variables,\n ssMappingData.expressions,\n integrationsNpsSubmissionProperties,\n integrationsClassicSubmissionProperties,\n surveyType\n )}\n styles={customStyles}\n />\n </Flex>\n <Box\n as=\"span\"\n id=\"arrow\"\n css={{\n paddingTop: isFirstField || field.isEssentialField ? \"$9\" : 0,\n }}\n >\n <Arrow />\n </Box>\n <Flex flexDirection=\"column\" gap=\"$2\">\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {`${integrationName} Field`}\n </FormLabel>\n )}\n <Flex alignItems=\"center\">\n <Select\n placeholder=\"Choose\"\n size=\"lg\"\n value={\n field?.integrationField ??\n integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )\n }\n isDisabled={!!integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )}\n onChange={(integration: any) => {\n handleFieldValue(field?.id, \"integrationField\", integration);\n }}\n css={{\n width: 260,\n \"& .twigs-select__control\": {\n borderTopRightRadius: havingTypeDropdown ? 0 : \"$lg\",\n borderBottomRightRadius: havingTypeDropdown ? 0 : \"$lg\",\n },\n }}\n options={integrationFields}\n styles={customStyles}\n components={{\n ...(hasCustomMenuProperty && {\n Menu: (props: any) => (\n <CustomMenu\n {...props}\n customOnClick={showCustomPropertyModal}\n />\n ),\n }),\n }}\n />\n {havingTypeDropdown && (\n <Select\n css={{\n width: 112,\n \"& .twigs-select__control\": {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n border: \"$borderWidths$xs solid $neutral200\",\n },\n }}\n isDisabled={!field?.integrationField?.value}\n value={field?.integrationFieldType}\n onChange={(integration: any) =>\n handleFieldValue(\n field?.id,\n \"integrationFieldType\",\n integration\n )\n }\n styles={subMenuCustomStyles}\n options={subMenuOptions}\n closeMenuOnSelect\n // @ts-ignore\n noneOptionHandler={(value) =>\n handleFieldValue(field?.id, \"integrationFieldType\", value)\n }\n components={{ Menu: CustomMenu as any, Option: CustomOption as any }}\n placeholder=\"Choose\"\n size=\"lg\"\n />\n )}\n </Flex>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$2\"\n css={{ maxWidth: 180, width: \"100%\" }}\n >\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\", marginBlockStart: hasNumberDefaultField(field?.integrationFieldType?.value ??\n integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )?.type ?? field.integrationField?.type) ? \"$9\" : \"0\" }}>\n {\"Default Value (Optional)\"}\n </FormLabel>\n )}\n <DefaultField\n handleFieldValue={(value: any) => {\n handleFieldValue(field?.id, \"defaultValue\", value);\n }}\n integrationFieldType={\n (field?.integrationFieldType?.value ??\n integrationFields.find(\n (integrationField: any) =>\n integrationField.label === field?.essentialFieldLabel\n )?.type ?? field.integrationField?.type ?? \"STRING\") as string\n }\n value={(field?.defaultValue as any)?.value ?? field?.defaultValue}\n />\n </Flex>\n </Flex>\n {!field.isEssentialField && (\n <IconButton\n css={{\n transition: \"all .3s ease\",\n marginTop: isFirstField ? \"$11\" : 0,\n }}\n size=\"sm\"\n icon={<Trash />}\n variant=\"ghost\"\n color=\"default\"\n disabled={isBtnDisabled}\n onClick={removeField}\n />\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport default Field;\n\nconst DefaultField: React.FC<{\n integrationFieldType: string;\n handleFieldValue: (value: any) => void;\n value: any;\n}> = ({ integrationFieldType, handleFieldValue, value }) => {\n switch (`${integrationFieldType}`) {\n case \"BOOLEAN\":\n return (\n <Select\n options={[\n {\n label: \"true\",\n value: true,\n },\n {\n label: \"false\",\n value: false,\n },\n ]}\n size=\"lg\"\n value={value}\n placeholder=\"\"\n onChange={(booleanValue: any) =>\n handleFieldValue({\n type: \"BOOLEAN\",\n value: booleanValue,\n })\n }\n />\n );\n case \"DATE_TIME\":\n return (\n <CustomDateMenu\n value={value}\n onChangeHandler={(dateValue: any) => {\n handleFieldValue({\n type: \"DATE_TIME\",\n value: dateValue,\n });\n }}\n />\n );\n case \"NUMBER\":\n return (\n <>\n <Input\n size=\"lg\"\n type=\"number\"\n placeholder=\"\"\n value={value}\n min={0}\n onChange={(e: any) =>\n handleFieldValue({\n type: \"NUMBER\",\n value: parseInt(e.currentTarget.value),\n })\n }\n />\n <FormLabel size=\"xs\">please enter a valid number</FormLabel>\n </>\n );\n default:\n return (\n <Input\n size=\"lg\"\n placeholder=\"\"\n value={value}\n onChange={(e: any) =>\n handleFieldValue({\n type: \"STRING\",\n value: e.currentTarget.value,\n })\n }\n />\n );\n }\n};"],"names":["React"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import React__default, { useState, useEffect } from 'react';
2
- import { surveySparrowURL, defaultFieldValue } from '../../commons/constants/index.js';
2
+ import { surveySparrowURL } from '../../commons/constants/index.js';
3
+ import { MAPPING_ERROR_MESSAGES, DEFAULT_FIELD_VALUE } from '../constants/index.js';
3
4
  import { fetchSurveyQuestions, fetchSurveyVariables, fetchContactProperties, fetchSurveyExpression } from '../services/index.js';
4
5
  import ImportModal from '../../commons/components/import-modal.js';
5
6
  import Spinner from '../../commons/components/spinner.js';
@@ -63,24 +64,23 @@ const Mapping = ({
63
64
  const essentialFields = fields == null ? void 0 : fields.filter((field) => field == null ? void 0 : field.isEssentialField);
64
65
  const commonFields = fields == null ? void 0 : fields.filter((field) => !(field == null ? void 0 : field.isEssentialField));
65
66
  const customHandler = (field, property, value) => {
66
- var _a, _b, _c;
67
- if ((_b = (_a = field == null ? void 0 : field.integrationField) == null ? void 0 : _a.dependency) == null ? void 0 : _b.length) {
68
- return (_c = field == null ? void 0 : field.integrationField) == null ? void 0 : _c.dependency;
69
- } else {
70
- return [];
67
+ if ((field == null ? void 0 : field.dependency) && typeof field.dependency === "object" && "length" in field.dependency) {
68
+ return field.dependency;
71
69
  }
70
+ return [];
72
71
  };
73
72
  const handleFieldValue = (id, property, value) => {
74
73
  let dependentField = [];
74
+ const targetField = fields.find((field) => field.id === id);
75
75
  dependentField = customHandler(
76
- fields.find((field) => field.id === id));
76
+ targetField);
77
77
  let currentFields = [...fields, ...dependentField].filter(
78
78
  (obj, index, self) => index === self.findIndex((o) => JSON.stringify(o) === JSON.stringify(obj))
79
79
  );
80
80
  setFields(
81
81
  currentFields == null ? void 0 : currentFields.map((field) => {
82
82
  if (field.id === id) {
83
- return property === "type" ? __spreadProps(__spreadValues({}, field), { surveySparrowField: null, mappedType: value, id }) : property === "integrationFieldType" ? __spreadProps(__spreadValues({}, field), { defaultValue: null, [property]: value }) : __spreadProps(__spreadValues({}, field), { [property]: value });
83
+ return property === "type" ? __spreadProps(__spreadValues({}, field), { surveySparrowField: null, mappedType: value, id: id.toString() }) : property === "integrationFieldType" ? __spreadProps(__spreadValues({}, field), { defaultValue: null, [property]: value }) : __spreadProps(__spreadValues({}, field), { [property]: value });
84
84
  } else {
85
85
  return __spreadValues({}, field);
86
86
  }
@@ -88,33 +88,39 @@ const Mapping = ({
88
88
  );
89
89
  };
90
90
  const hasRequiredProps = () => !!fields && !!setFields && !!integrationFields && !!setIntegrationFields && !!token;
91
- const fetchInitalMappingData = async () => {
91
+ const fetchInitialMappingData = async () => {
92
92
  setLoader(true);
93
93
  try {
94
94
  const [questions, variables, contactProperties, expressions] = await Promise.all([
95
- fetchSurveyQuestions(apiURL, surveyId, token),
96
- fetchSurveyVariables(apiURL, surveyId, token),
97
- fetchContactProperties(apiURL, token),
98
- fetchSurveyExpression(apiURL, surveyId, token)
95
+ fetchSurveyQuestions(apiURL, surveyId, token != null ? token : ""),
96
+ fetchSurveyVariables(apiURL, surveyId, token != null ? token : ""),
97
+ fetchContactProperties(apiURL, token != null ? token : ""),
98
+ fetchSurveyExpression(apiURL, surveyId, token != null ? token : "")
99
99
  ]);
100
100
  setSSMappingData({
101
- questions,
102
- contactProperties,
103
- variables,
104
- expressions
101
+ questions: questions || [],
102
+ contactProperties: contactProperties || [],
103
+ variables: variables || [],
104
+ expressions: expressions || []
105
105
  });
106
106
  } catch (error) {
107
- console.error(error);
107
+ console.error(MAPPING_ERROR_MESSAGES.FETCH_ERROR, error);
108
+ setSSMappingData({
109
+ questions: [],
110
+ contactProperties: [],
111
+ variables: [],
112
+ expressions: []
113
+ });
108
114
  } finally {
109
115
  setLoader(false);
110
116
  }
111
117
  };
112
118
  useEffect(() => {
113
119
  setFields(
114
- (fields == null ? void 0 : fields.length) === 0 ? [__spreadValues({}, defaultFieldValue)] : fields == null ? void 0 : fields.map((field) => __spreadProps(__spreadValues({}, field), { id: v4() }))
120
+ (fields == null ? void 0 : fields.length) === 0 ? [__spreadProps(__spreadValues({}, DEFAULT_FIELD_VALUE), { id: v4() })] : fields == null ? void 0 : fields.map((field) => __spreadProps(__spreadValues({}, field), { id: v4() }))
115
121
  );
116
122
  if (!!token && (token == null ? void 0 : token.length) > 60 && !!surveyId) {
117
- fetchInitalMappingData();
123
+ fetchInitialMappingData();
118
124
  } else {
119
125
  setLoader(false);
120
126
  }
@@ -231,7 +237,7 @@ const Mapping = ({
231
237
  css: { marginTop: "$10" },
232
238
  onClick: () => setFields([
233
239
  ...fields,
234
- __spreadProps(__spreadValues({}, defaultFieldValue), {
240
+ __spreadProps(__spreadValues({}, DEFAULT_FIELD_VALUE), {
235
241
  id: v4()
236
242
  })
237
243
  ]),
@@ -274,8 +280,10 @@ const Mapping = ({
274
280
  setIntegrationFields && setIntegrationFields((prev) => [
275
281
  ...prev,
276
282
  {
283
+ id: customPropertyField,
277
284
  label: customPropertyField,
278
- value: customPropertyField
285
+ value: customPropertyField,
286
+ type: "string"
279
287
  }
280
288
  ]);
281
289
  setShowCustomPropertyModal(false);