@sparrowengg/integrations-templates-frontend 2.1.0-notion-release.5 → 2.1.0-notion-release.6
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.
- package/dist/cjs/mapping/components/mapping.js +28 -13
- package/dist/cjs/mapping/components/mapping.js.map +1 -1
- package/dist/cjs/mapping/index.js.map +1 -1
- package/dist/es/mapping/components/mapping.js +28 -13
- package/dist/es/mapping/components/mapping.js.map +1 -1
- package/dist/es/mapping/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -60,6 +60,7 @@ const Mapping = ({
|
|
|
60
60
|
contactProperties: [],
|
|
61
61
|
expressions: []
|
|
62
62
|
});
|
|
63
|
+
console.log(surveyDetails, "surveyDetails");
|
|
63
64
|
const [showCustomPropertyModal, setShowCustomPropertyModal] = React.useState(false);
|
|
64
65
|
const [customPropertyField, setCustomPropertyField] = React.useState("");
|
|
65
66
|
const [loader, setLoader] = React.useState(true);
|
|
@@ -89,22 +90,36 @@ const Mapping = ({
|
|
|
89
90
|
})
|
|
90
91
|
);
|
|
91
92
|
};
|
|
92
|
-
const hasRequiredProps = () =>
|
|
93
|
+
const hasRequiredProps = () => {
|
|
94
|
+
var _a, _b;
|
|
95
|
+
return !!fields && !!setFields && !!integrationFields && !!setIntegrationFields && (!!token || ((_b = Object.keys((_a = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) != null ? _a : {})) == null ? void 0 : _b.length) > 0);
|
|
96
|
+
};
|
|
97
|
+
console.log(hasRequiredProps(), "hasRequiredProps");
|
|
93
98
|
const fetchInitialMappingData = async () => {
|
|
99
|
+
var _a, _b, _c, _d, _e, _f;
|
|
94
100
|
setLoader(true);
|
|
95
101
|
try {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
102
|
+
if (((_b = Object.keys((_a = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) != null ? _a : {})) == null ? void 0 : _b.length) > 0) {
|
|
103
|
+
setSSMappingData({
|
|
104
|
+
questions: ((_c = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) == null ? void 0 : _c.questions) || [],
|
|
105
|
+
contactProperties: ((_d = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) == null ? void 0 : _d.contactProperties) || [],
|
|
106
|
+
variables: ((_e = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) == null ? void 0 : _e.variables) || [],
|
|
107
|
+
expressions: ((_f = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) == null ? void 0 : _f.expressions) || []
|
|
108
|
+
});
|
|
109
|
+
} else {
|
|
110
|
+
const [questions, variables, contactProperties, expressions] = await Promise.all([
|
|
111
|
+
index$1.fetchSurveyQuestions(apiURL, surveyId, token != null ? token : ""),
|
|
112
|
+
index$1.fetchSurveyVariables(apiURL, surveyId, token != null ? token : ""),
|
|
113
|
+
index$1.fetchContactProperties(apiURL, token != null ? token : ""),
|
|
114
|
+
index$1.fetchSurveyExpression(apiURL, surveyId, token != null ? token : "")
|
|
115
|
+
]);
|
|
116
|
+
setSSMappingData({
|
|
117
|
+
questions: questions || [],
|
|
118
|
+
contactProperties: contactProperties || [],
|
|
119
|
+
variables: variables || [],
|
|
120
|
+
expressions: expressions || []
|
|
121
|
+
});
|
|
122
|
+
}
|
|
108
123
|
} catch (error) {
|
|
109
124
|
console.error(index$2.MAPPING_ERROR_MESSAGES.FETCH_ERROR, error);
|
|
110
125
|
setSSMappingData({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping.js","sources":["../../../../src/mapping/components/mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Checkbox,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect, useState, useMemo } from \"react\";\nimport { PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { surveySparrowURL } from \"../../commons/constants\";\nimport { DEFAULT_FIELD_VALUE, MAPPING_ERROR_MESSAGES } from \"../constants\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n fetchContactProperties,\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchSurveyExpression,\n} from \"../services\";\nimport { MappingTypeProps, ssMappingDataResponse, FieldType, SelectOption, IntegrationFieldType } from \"../types\";\nimport { FormFieldValue, FieldChangeHandler } from \"../../commons/types/enhanced\";\nimport { UI_CONSTANTS, MAPPING_TYPES } from \"../../commons/constants/enhanced\";\nimport ImportModal from \"../../commons/components/import-modal\";\nimport Spinner from \"../../commons/components/spinner\";\nimport Field from \"./field\";\nimport PlaceholderSpan from \"./placeholder-span\";\n\n\nexport const Mapping: React.FC<MappingTypeProps> = ({\n havingTypeDropdown,\n integrationName,\n surveyId,\n surveyType,\n fields,\n setFields,\n integrationFields,\n hasCustomMenuProperty,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n surveyDetails,\n customList,\n oldResponse,\n}) => {\n const [ssMappingData, setSSMappingData] = useState<\n ssMappingDataResponse<SelectOption>\n >({\n questions: [],\n variables: [],\n contactProperties: [],\n expressions: [],\n });\n const [showCustomPropertyModal, setShowCustomPropertyModal] = useState(false);\n const [customPropertyField, setCustomPropertyField] = useState<string>(\"\");\n const [loader, setLoader] = useState<boolean>(true);\n const essentialFields = fields?.filter((field) => field?.isEssentialField);\n const commonFields = fields?.filter((field) => !field?.isEssentialField);\n\n const customHandler = (field: FieldType | undefined, property: string, value: FormFieldValue): Array<IntegrationFieldType> => {\n if (field?.dependency && typeof field.dependency === 'object' && 'length' in field.dependency) {\n return (field.dependency as unknown) as Array<IntegrationFieldType>;\n }\n return [];\n };\n\n const handleFieldValue: FieldChangeHandler = (id: string | number, property: string, value: FormFieldValue) => {\n let dependentField: Array<IntegrationFieldType> = [];\n const targetField = fields.find((field) => field.id === id);\n dependentField = customHandler(\n targetField,\n property,\n value\n );\n let currentFields = [...fields, ...dependentField].filter(\n (obj, index, self) =>\n index ===\n self.findIndex((o) => JSON.stringify(o) === JSON.stringify(obj))\n );\n setFields(\n currentFields?.map((field) => {\n if (field.id === id) {\n return property === \"type\"\n ? { ...field, surveySparrowField: null, mappedType: value, id: id.toString() }\n : property === \"integrationFieldType\"\n ? { ...field, defaultValue: null, [property]: value }\n : { ...field, [property]: value };\n } else {\n return { ...field };\n }\n }) as FieldType[]\n );\n };\n\n const hasRequiredProps = () =>\n !!fields &&\n !!setFields &&\n !!integrationFields &&\n !!setIntegrationFields &&\n !!token;\n\n const fetchInitialMappingData = async (): Promise<void> => {\n setLoader(true);\n try {\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 as any) || [],\n contactProperties: (contactProperties as any) || [],\n variables: (variables as any) || [],\n expressions: (expressions as any) || [],\n });\n } catch (error) {\n console.error(MAPPING_ERROR_MESSAGES.FETCH_ERROR, error);\n setSSMappingData({\n questions: [],\n contactProperties: [],\n variables: [],\n expressions: [],\n });\n } finally {\n setLoader(false);\n }\n };\n\n const getEssentialFieldsNumber = (length: number): string => {\n const numberMapping: Record<number, string> = {\n 1: \"one\",\n 2: \"two\",\n 3: \"three\",\n 4: \"four\",\n 5: \"five\",\n 6: \"six\",\n 7: \"seven\",\n 8: \"eight\",\n 9: \"nine\",\n 10: \"ten\",\n };\n return numberMapping[length] ?? \"These\";\n };\n\n useEffect(() => {\n setFields(\n fields?.length === 0\n ? [{ ...DEFAULT_FIELD_VALUE, id: uuid() } as FieldType]\n : fields?.map((field) => ({ ...field, id: uuid() })) as FieldType[]\n );\n if (!!token && token?.length > 60 && !!surveyId) {\n fetchInitialMappingData();\n } else {\n setLoader(false);\n }\n }, [token, surveyId]);\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\">\n {hasRequiredProps() ? (\n <>\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: 1120, width: \"100%\", marginBlock: \"$40\" }}>\n <Heading\n size=\"h5\"\n css={{ color: \"$neutral900\" }}\n >{`Map to ${integrationName}`}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text\n size=\"sm\"\n weight={\"medium\"}\n css={{ color: \"$neutral800\" }}\n >\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n {!!essentialFields?.length && (\n <Box\n css={{\n width: \"100%\",\n paddingBlock: \"$12 $20\",\n borderBottom: \"$borderWidths$xs dashed $neutral200\",\n maxWidth: 1084,\n }}\n >\n <Text\n size=\"md\"\n css={{\n color: \"$neutral500\",\n lineHeight: \"$md\",\n marginTop: \"$4\",\n }}\n >\n This connection requires{\" \"}\n <PlaceholderSpan color=\"$neutral600\">\n {essentialFields?.length}\n </PlaceholderSpan>\n <PlaceholderSpan color=\"$negative500\">*</PlaceholderSpan>{\" \"}\n essential mappings\n </Text>\n <Flex\n flexDirection=\"column\"\n gap=\"$20\"\n css={{ marginTop: \"$12\" }}\n >\n {essentialFields?.map((field, idx) => (\n <Field\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n key={field.id}\n field={field}\n integrationName={integrationName}\n handleFieldValue={(id: string | number, property: string, value: FormFieldValue) =>\n handleFieldValue(id, property, value)\n }\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={commonFields.length === 1}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n ))}\n </Flex>\n </Box>\n )}\n <Flex flexDirection=\"column\" gap=\"$16\" css={{ marginTop: \"$16\" }}>\n {commonFields?.map((field, idx) => {\n return (\n <Field\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n key={field.id}\n field={field}\n integrationName={integrationName}\n removeField={() => {\n setFields((prev) =>\n prev.filter(\n (currentField) => currentField.id !== field.id\n )\n );\n }}\n handleFieldValue={(id: string | number, property: string, value: FormFieldValue) =>\n handleFieldValue(id, property, value)\n }\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={false}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n );\n })}\n </Flex>\n <Button\n leftIcon={<PlusIcon />}\n color=\"default\"\n css={{ marginTop: \"$10\" }}\n onClick={() =>\n setFields([\n ...fields,\n {\n ...DEFAULT_FIELD_VALUE,\n id: uuid(),\n } as FieldType,\n ])\n }\n size=\"md\"\n >\n New mapping field\n </Button>\n {customList?.hasCustomList && (\n <Flex\n css={{ marginTop: \"$40\" }}\n flexDirection=\"column\"\n gap=\"$8\"\n >\n <Flex flexDirection=\"column\" gap=\"$3\">\n <Heading size=\"h5\">Choose a List</Heading>\n <Text css={{ color: \"$neutral500\" }} size=\"sm\">\n Pick a list to save mapped fields; If not, they'll be\n saved under all profiles.\n </Text>\n </Flex>\n <Select\n css={{ maxWidth: 400, width: \"100%\" }}\n size=\"lg\"\n options={customList.options}\n value={customList.value}\n placeholder=\"\"\n onChange={(value: any) => customList.onChangeHandler(value)}\n />\n </Flex>\n )}\n {/* Old Response */}\n {oldResponse?.hasOldResponse && (\n <Checkbox\n onChange={(value: any) => oldResponse.onChangeHandler(value)}\n css={{ marginBlock: \"$8\", cursor: \"pointer\" }}\n checked={oldResponse.value as boolean}\n >\n <FormLabel size=\"sm\">Import Old Response</FormLabel>\n </Checkbox>\n )}\n {showCustomPropertyModal && (\n <ImportModal\n onCloseHandler={() => setShowCustomPropertyModal(false)}\n onInputHandler={(value: any) => setCustomPropertyField(value)}\n onSaveHandler={() => {\n setIntegrationFields &&\n setIntegrationFields((prev) => [\n ...prev,\n {\n id: customPropertyField,\n label: customPropertyField,\n value: customPropertyField,\n type: 'string',\n } as unknown as IntegrationFieldType,\n ]);\n setShowCustomPropertyModal(false);\n }}\n />\n )}\n </Box>\n )}\n </>\n ) : (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"100%\" }}\n >\n <Heading size=\"h4\" weight=\"bold\">\n Provide the needed props to import Mapping Template\n </Heading>\n </Flex>\n )}\n </Flex>\n );\n};\n"],"names":["surveySparrowURL","useState","fetchSurveyQuestions","fetchSurveyVariables","fetchContactProperties","fetchSurveyExpression","MAPPING_ERROR_MESSAGES","useEffect","DEFAULT_FIELD_VALUE","uuid","Flex","Spinner","Box","Heading","Text","PlaceholderSpan","field","Field","Button","PlusIcon","Select","Checkbox","FormLabel","ImportModal"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mapping.js","sources":["../../../../src/mapping/components/mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Checkbox,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect, useState, useMemo } from \"react\";\nimport { PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { surveySparrowURL } from \"../../commons/constants\";\nimport { DEFAULT_FIELD_VALUE, MAPPING_ERROR_MESSAGES } from \"../constants\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n fetchContactProperties,\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchSurveyExpression,\n} from \"../services\";\nimport { MappingTypeProps, ssMappingDataResponse, FieldType, SelectOption, IntegrationFieldType } from \"../types\";\nimport { FormFieldValue, FieldChangeHandler } from \"../../commons/types/enhanced\";\nimport { UI_CONSTANTS, MAPPING_TYPES } from \"../../commons/constants/enhanced\";\nimport ImportModal from \"../../commons/components/import-modal\";\nimport Spinner from \"../../commons/components/spinner\";\nimport Field from \"./field\";\nimport PlaceholderSpan from \"./placeholder-span\";\n\n\nexport const Mapping: React.FC<MappingTypeProps> = ({\n havingTypeDropdown,\n integrationName,\n surveyId,\n surveyType,\n fields,\n setFields,\n integrationFields,\n hasCustomMenuProperty,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n surveyDetails,\n customList,\n oldResponse,\n}) => {\n const [ssMappingData, setSSMappingData] = useState<\n ssMappingDataResponse<SelectOption>\n >({\n questions: [],\n variables: [],\n contactProperties: [],\n expressions: [],\n });\n\n\nconsole.log(surveyDetails, \"surveyDetails\");\n\n const [showCustomPropertyModal, setShowCustomPropertyModal] = useState(false);\n const [customPropertyField, setCustomPropertyField] = useState<string>(\"\");\n const [loader, setLoader] = useState<boolean>(true);\n const essentialFields = fields?.filter((field) => field?.isEssentialField);\n const commonFields = fields?.filter((field) => !field?.isEssentialField);\n\n const customHandler = (field: FieldType | undefined, property: string, value: FormFieldValue): Array<IntegrationFieldType> => {\n if (field?.dependency && typeof field.dependency === 'object' && 'length' in field.dependency) {\n return (field.dependency as unknown) as Array<IntegrationFieldType>;\n }\n return [];\n };\n\n const handleFieldValue: FieldChangeHandler = (id: string | number, property: string, value: FormFieldValue) => {\n let dependentField: Array<IntegrationFieldType> = [];\n const targetField = fields.find((field) => field.id === id);\n dependentField = customHandler(\n targetField,\n property,\n value\n );\n let currentFields = [...fields, ...dependentField].filter(\n (obj, index, self) =>\n index ===\n self.findIndex((o) => JSON.stringify(o) === JSON.stringify(obj))\n );\n setFields(\n currentFields?.map((field) => {\n if (field.id === id) {\n return property === \"type\"\n ? { ...field, surveySparrowField: null, mappedType: value, id: id.toString() }\n : property === \"integrationFieldType\"\n ? { ...field, defaultValue: null, [property]: value }\n : { ...field, [property]: value };\n } else {\n return { ...field };\n }\n }) as FieldType[]\n );\n };\n\n const hasRequiredProps = () =>\n !!fields &&\n !!setFields &&\n !!integrationFields &&\n !!setIntegrationFields && (!!token || Object.keys(surveyDetails?.surveyProperties ?? {})?.length > 0);\n console.log(hasRequiredProps(), \"hasRequiredProps\");\n\n const fetchInitialMappingData = async (): Promise<void> => {\n setLoader(true);\n try {\n if(Object.keys(surveyDetails?.surveyProperties ?? {})?.length > 0){\n setSSMappingData({\n questions: (surveyDetails?.surveyProperties?.questions as any) || [],\n contactProperties: (surveyDetails?.surveyProperties?.contactProperties as any) || [],\n variables: (surveyDetails?.surveyProperties?.variables as any) || [],\n expressions: (surveyDetails?.surveyProperties?.expressions as any) || [],\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 as any) || [],\n contactProperties: (contactProperties as any) || [],\n variables: (variables as any) || [],\n expressions: (expressions as any) || [],\n });\n }\n\n } catch (error) {\n console.error(MAPPING_ERROR_MESSAGES.FETCH_ERROR, error);\n setSSMappingData({\n questions: [],\n contactProperties: [],\n variables: [],\n expressions: [],\n });\n } finally {\n setLoader(false);\n }\n };\n\n const getEssentialFieldsNumber = (length: number): string => {\n const numberMapping: Record<number, string> = {\n 1: \"one\",\n 2: \"two\",\n 3: \"three\",\n 4: \"four\",\n 5: \"five\",\n 6: \"six\",\n 7: \"seven\",\n 8: \"eight\",\n 9: \"nine\",\n 10: \"ten\",\n };\n return numberMapping[length] ?? \"These\";\n };\n\n useEffect(() => {\n setFields(\n fields?.length === 0\n ? [{ ...DEFAULT_FIELD_VALUE, id: uuid() } as FieldType]\n : fields?.map((field) => ({ ...field, id: uuid() })) as FieldType[]\n );\n if (!!token && token?.length > 60 && !!surveyId) {\n fetchInitialMappingData();\n } else {\n setLoader(false);\n }\n }, [token, surveyId]);\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\">\n {hasRequiredProps() ? (\n <>\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: 1120, width: \"100%\", marginBlock: \"$40\" }}>\n <Heading\n size=\"h5\"\n css={{ color: \"$neutral900\" }}\n >{`Map to ${integrationName}`}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text\n size=\"sm\"\n weight={\"medium\"}\n css={{ color: \"$neutral800\" }}\n >\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n {!!essentialFields?.length && (\n <Box\n css={{\n width: \"100%\",\n paddingBlock: \"$12 $20\",\n borderBottom: \"$borderWidths$xs dashed $neutral200\",\n maxWidth: 1084,\n }}\n >\n <Text\n size=\"md\"\n css={{\n color: \"$neutral500\",\n lineHeight: \"$md\",\n marginTop: \"$4\",\n }}\n >\n This connection requires{\" \"}\n <PlaceholderSpan color=\"$neutral600\">\n {essentialFields?.length}\n </PlaceholderSpan>\n <PlaceholderSpan color=\"$negative500\">*</PlaceholderSpan>{\" \"}\n essential mappings\n </Text>\n <Flex\n flexDirection=\"column\"\n gap=\"$20\"\n css={{ marginTop: \"$12\" }}\n >\n {essentialFields?.map((field, idx) => (\n <Field\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n key={field.id}\n field={field}\n integrationName={integrationName}\n handleFieldValue={(id: string | number, property: string, value: FormFieldValue) =>\n handleFieldValue(id, property, value)\n }\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={commonFields.length === 1}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n ))}\n </Flex>\n </Box>\n )}\n <Flex flexDirection=\"column\" gap=\"$16\" css={{ marginTop: \"$16\" }}>\n {commonFields?.map((field, idx) => {\n return (\n <Field\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n key={field.id}\n field={field}\n integrationName={integrationName}\n removeField={() => {\n setFields((prev) =>\n prev.filter(\n (currentField) => currentField.id !== field.id\n )\n );\n }}\n handleFieldValue={(id: string | number, property: string, value: FormFieldValue) =>\n handleFieldValue(id, property, value)\n }\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={false}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n );\n })}\n </Flex>\n <Button\n leftIcon={<PlusIcon />}\n color=\"default\"\n css={{ marginTop: \"$10\" }}\n onClick={() =>\n setFields([\n ...fields,\n {\n ...DEFAULT_FIELD_VALUE,\n id: uuid(),\n } as FieldType,\n ])\n }\n size=\"md\"\n >\n New mapping field\n </Button>\n {customList?.hasCustomList && (\n <Flex\n css={{ marginTop: \"$40\" }}\n flexDirection=\"column\"\n gap=\"$8\"\n >\n <Flex flexDirection=\"column\" gap=\"$3\">\n <Heading size=\"h5\">Choose a List</Heading>\n <Text css={{ color: \"$neutral500\" }} size=\"sm\">\n Pick a list to save mapped fields; If not, they'll be\n saved under all profiles.\n </Text>\n </Flex>\n <Select\n css={{ maxWidth: 400, width: \"100%\" }}\n size=\"lg\"\n options={customList.options}\n value={customList.value}\n placeholder=\"\"\n onChange={(value: any) => customList.onChangeHandler(value)}\n />\n </Flex>\n )}\n {/* Old Response */}\n {oldResponse?.hasOldResponse && (\n <Checkbox\n onChange={(value: any) => oldResponse.onChangeHandler(value)}\n css={{ marginBlock: \"$8\", cursor: \"pointer\" }}\n checked={oldResponse.value as boolean}\n >\n <FormLabel size=\"sm\">Import Old Response</FormLabel>\n </Checkbox>\n )}\n {showCustomPropertyModal && (\n <ImportModal\n onCloseHandler={() => setShowCustomPropertyModal(false)}\n onInputHandler={(value: any) => setCustomPropertyField(value)}\n onSaveHandler={() => {\n setIntegrationFields &&\n setIntegrationFields((prev) => [\n ...prev,\n {\n id: customPropertyField,\n label: customPropertyField,\n value: customPropertyField,\n type: 'string',\n } as unknown as IntegrationFieldType,\n ]);\n setShowCustomPropertyModal(false);\n }}\n />\n )}\n </Box>\n )}\n </>\n ) : (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"100%\" }}\n >\n <Heading size=\"h4\" weight=\"bold\">\n Provide the needed props to import Mapping Template\n </Heading>\n </Flex>\n )}\n </Flex>\n );\n};\n"],"names":["surveySparrowURL","useState","fetchSurveyQuestions","fetchSurveyVariables","fetchContactProperties","fetchSurveyExpression","MAPPING_ERROR_MESSAGES","useEffect","DEFAULT_FIELD_VALUE","uuid","Flex","Spinner","Box","Heading","Text","PlaceholderSpan","field","Field","Button","PlusIcon","Select","Checkbox","FormLabel","ImportModal"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BO,MAAM,UAAsC,CAAC;AAAA,EAClD,kBAAA;AAAA,EACA,eAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,iBAAA;AAAA,EACA,qBAAA;AAAA,EACA,oBAAA;AAAA,EACA,MAAS,GAAAA,sBAAA;AAAA,EACT,KAAA;AAAA,EACA,aAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AACF,CAAM,KAAA;AACJ,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIC,cAExC,CAAA;AAAA,IACA,WAAW,EAAC;AAAA,IACZ,WAAW,EAAC;AAAA,IACZ,mBAAmB,EAAC;AAAA,IACpB,aAAa,EAAC;AAAA,GACf,CAAA,CAAA;AAGH,EAAQ,OAAA,CAAA,GAAA,CAAI,eAAe,eAAe,CAAA,CAAA;AAExC,EAAA,MAAM,CAAC,uBAAA,EAAyB,0BAA0B,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AAC5E,EAAA,MAAM,CAAC,mBAAA,EAAqB,sBAAsB,CAAA,GAAIA,eAAiB,EAAE,CAAA,CAAA;AACzE,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIA,eAAkB,IAAI,CAAA,CAAA;AAClD,EAAA,MAAM,eAAkB,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,MAAO,CAAA,CAAC,UAAU,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,gBAAA,CAAA,CAAA;AACzD,EAAA,MAAM,eAAe,MAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,MAAA,CAAO,CAAC,KAAA,KAAU,EAAC,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,gBAAA,CAAA,CAAA,CAAA;AAEvD,EAAA,MAAM,aAAgB,GAAA,CAAC,KAA8B,EAAA,QAAA,EAAkB,KAAuD,KAAA;AAC5H,IAAI,IAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,eAAc,OAAO,KAAA,CAAM,eAAe,QAAY,IAAA,QAAA,IAAY,MAAM,UAAY,EAAA;AAC7F,MAAA,OAAQ,KAAM,CAAA,UAAA,CAAA;AAAA,KAChB;AACA,IAAA,OAAO,EAAC,CAAA;AAAA,GACV,CAAA;AAEA,EAAA,MAAM,gBAAuC,GAAA,CAAC,EAAqB,EAAA,QAAA,EAAkB,KAA0B,KAAA;AAC7G,IAAA,IAAI,iBAA8C,EAAC,CAAA;AACnD,IAAA,MAAM,cAAc,MAAO,CAAA,IAAA,CAAK,CAAC,KAAU,KAAA,KAAA,CAAM,OAAO,EAAE,CAAA,CAAA;AAC1D,IAAiB,cAAA,GAAA,aAAA;AAAA,MACf,WAGF,CAAA,CAAA;AACA,IAAA,IAAI,gBAAgB,CAAC,GAAG,MAAQ,EAAA,GAAG,cAAc,CAAE,CAAA,MAAA;AAAA,MACjD,CAAC,GAAK,EAAA,KAAA,EAAO,IACX,KAAA,KAAA,KACA,KAAK,SAAU,CAAA,CAAC,CAAM,KAAA,IAAA,CAAK,UAAU,CAAC,CAAA,KAAM,IAAK,CAAA,SAAA,CAAU,GAAG,CAAC,CAAA;AAAA,KACnE,CAAA;AACA,IAAA,SAAA;AAAA,MACE,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,GAAI,CAAA,CAAC,KAAU,KAAA;AAC5B,QAAI,IAAA,KAAA,CAAM,OAAO,EAAI,EAAA;AACnB,UAAA,OAAO,QAAa,KAAA,MAAA,GAChB,aAAK,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAA,EAAL,EAAY,kBAAoB,EAAA,IAAA,EAAM,UAAY,EAAA,KAAA,EAAO,EAAI,EAAA,EAAA,CAAG,QAAS,EAAA,MACzE,QAAa,KAAA,sBAAA,GACX,aAAK,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAA,EAAL,EAAY,YAAA,EAAc,IAAM,EAAA,CAAC,QAAQ,GAAG,KAAA,EAC5C,CAAA,GAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAAK,KAAL,CAAA,EAAA,EAAY,CAAC,QAAQ,GAAG,KAAM,EAAA,CAAA,CAAA;AAAA,SAC/B,MAAA;AACL,UAAA,OAAO,cAAK,CAAA,EAAA,EAAA,KAAA,CAAA,CAAA;AAAA,SACd;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,mBAAmB,MAAG;AAnG9B,IAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAoGI,IAAC,OAAA,CAAA,CAAC,UACF,CAAC,CAAC,aACF,CAAC,CAAC,iBACF,IAAA,CAAC,CAAC,oBAAA,KAAyB,CAAC,CAAC,KAAA,IAAA,CAAA,CAAS,EAAO,GAAA,MAAA,CAAA,IAAA,CAAA,CAAK,EAAe,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,gBAAA,KAAf,YAAmC,EAAE,CAAjD,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoD,MAAS,IAAA,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AACrG,EAAQ,OAAA,CAAA,GAAA,CAAI,gBAAiB,EAAA,EAAG,kBAAkB,CAAA,CAAA;AAElD,EAAA,MAAM,0BAA0B,YAA2B;AA1G7D,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AA2GI,IAAA,SAAA,CAAU,IAAI,CAAA,CAAA;AACd,IAAI,IAAA;AACF,MAAG,IAAA,CAAA,CAAA,EAAA,GAAA,MAAA,CAAO,IAAK,CAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,gBAAf,KAAA,IAAA,GAAA,EAAA,GAAmC,EAAE,CAAA,KAAjD,IAAoD,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,IAAS,CAAE,EAAA;AAChE,QAAiB,gBAAA,CAAA;AAAA,UACf,SAAY,EAAA,CAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,gBAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAiC,cAAqB,EAAC;AAAA,UACnE,iBAAoB,EAAA,CAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,gBAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAiC,sBAA6B,EAAC;AAAA,UACnF,SAAY,EAAA,CAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,gBAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAiC,cAAqB,EAAC;AAAA,UACnE,WAAc,EAAA,CAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,gBAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAiC,gBAAuB,EAAC;AAAA,SACxE,CAAA,CAAA;AAAA,OACI,MAAA;AACL,QAAM,MAAA,CAAC,WAAW,SAAW,EAAA,iBAAA,EAAmB,WAAW,CAC3D,GAAA,MAAM,QAAQ,GAAI,CAAA;AAAA,UAChBC,4BAAqB,CAAA,MAAA,EAAQ,QAAU,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,GAAS,EAAE,CAAA;AAAA,UAClDC,4BAAqB,CAAA,MAAA,EAAQ,QAAU,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,GAAS,EAAE,CAAA;AAAA,UAClDC,8BAAA,CAAuB,MAAQ,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,GAAS,EAAE,CAAA;AAAA,UAC1CC,6BAAsB,CAAA,MAAA,EAAQ,QAAU,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,GAAS,EAAE,CAAA;AAAA,SACpD,CAAA,CAAA;AACF,QAAiB,gBAAA,CAAA;AAAA,UAChB,SAAA,EAAY,aAAqB,EAAC;AAAA,UAClC,iBAAA,EAAoB,qBAA6B,EAAC;AAAA,UAClD,SAAA,EAAY,aAAqB,EAAC;AAAA,UAClC,WAAA,EAAc,eAAuB,EAAC;AAAA,SACvC,CAAA,CAAA;AAAA,OACD;AAAA,aAEO,KAAO,EAAA;AACd,MAAQ,OAAA,CAAA,KAAA,CAAMC,8BAAuB,CAAA,WAAA,EAAa,KAAK,CAAA,CAAA;AACvD,MAAiB,gBAAA,CAAA;AAAA,QACf,WAAW,EAAC;AAAA,QACZ,mBAAmB,EAAC;AAAA,QACpB,WAAW,EAAC;AAAA,QACZ,aAAa,EAAC;AAAA,OACf,CAAA,CAAA;AAAA,KACD,SAAA;AACA,MAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AAAA,KACjB;AAAA,GACF,CAAA;AAkBA,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,SAAA;AAAA,MACE,CAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,YAAW,CACf,GAAA,CAAC,iCAAKC,2BAAL,CAAA,EAAA,EAA0B,IAAIC,UAAK,EAAA,GAAgB,CACpD,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,IAAI,CAAC,KAAA,KAAW,iCAAK,KAAL,CAAA,EAAA,EAAY,EAAI,EAAAA,UAAA,EAAO,EAAA,CAAA,CAAA;AAAA,KACrD,CAAA;AACA,IAAI,IAAA,CAAC,CAAC,KAAS,IAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,UAAS,EAAM,IAAA,CAAC,CAAC,QAAU,EAAA;AAC/C,MAAwB,uBAAA,EAAA,CAAA;AAAA,KACnB,MAAA;AACL,MAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AAAA,KACjB;AAAA,GACC,EAAA,CAAC,KAAO,EAAA,QAAQ,CAAC,CAAA,CAAA;AAEpB,EACE,uBAAA,KAAA,CAAA,aAAA,CAACC,aAAK,UAAW,EAAA,QAAA,EAAS,gBAAe,QACtC,EAAA,EAAA,gBAAA,EACC,mBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EACG,MACC,mBAAA,KAAA,CAAA,aAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,UAAW,EAAA,QAAA;AAAA,MACX,cAAe,EAAA,QAAA;AAAA,MACf,GAAA,EAAK,EAAE,MAAA,EAAQ,oBAAqB,EAAA;AAAA,KAAA;AAAA,wCAEnCC,eAAQ,EAAA,IAAA,CAAA;AAAA,GACX,mBAEC,KAAA,CAAA,aAAA,CAAAC,OAAA,EAAA,EAAI,GAAK,EAAA,EAAE,QAAU,EAAA,IAAA,EAAM,KAAO,EAAA,MAAA,EAAQ,WAAa,EAAA,KAAA,EACtD,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,eAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,IAAA;AAAA,MACL,GAAA,EAAK,EAAE,KAAA,EAAO,aAAc,EAAA;AAAA,KAAA;AAAA,IAC5B,UAAU,eAAe,CAAA,CAAA;AAAA,GAAG,sCAC7BH,SAAK,EAAA,EAAA,GAAA,EAAI,MAAK,GAAK,EAAA,EAAE,WAAW,IAAK,EAAA,EAAA,sCACnCI,SAAK,EAAA,EAAA,IAAA,EAAK,MAAK,GAAK,EAAA,EAAE,OAAO,aAAc,EAAA,EAAA,EAAG,cAE/C,CACA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,IAAA;AAAA,MACL,MAAQ,EAAA,QAAA;AAAA,MACR,GAAA,EAAK,EAAE,KAAA,EAAO,aAAc,EAAA;AAAA,KAAA;AAAA,IAE3B,aAAc,CAAA,UAAA;AAAA,GAEnB,CAAA,EACC,CAAC,EAAC,mDAAiB,MAClB,CAAA,oBAAA,KAAA,CAAA,aAAA;AAAA,IAACF,OAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA;AAAA,QACH,KAAO,EAAA,MAAA;AAAA,QACP,YAAc,EAAA,SAAA;AAAA,QACd,YAAc,EAAA,qCAAA;AAAA,QACd,QAAU,EAAA,IAAA;AAAA,OACZ;AAAA,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACE,SAAA;AAAA,MAAA;AAAA,QACC,IAAK,EAAA,IAAA;AAAA,QACL,GAAK,EAAA;AAAA,UACH,KAAO,EAAA,aAAA;AAAA,UACP,UAAY,EAAA,KAAA;AAAA,UACZ,SAAW,EAAA,IAAA;AAAA,SACb;AAAA,OAAA;AAAA,MACD,0BAAA;AAAA,MAC0B,GAAA;AAAA,sBACxB,KAAA,CAAA,aAAA,CAAAC,uBAAA,EAAA,EAAgB,KAAM,EAAA,aAAA,EAAA,EACpB,mDAAiB,MACpB,CAAA;AAAA,sBACC,KAAA,CAAA,aAAA,CAAAA,uBAAA,EAAA,EAAgB,KAAM,EAAA,cAAA,EAAA,EAAe,GAAC,CAAA;AAAA,MAAmB,GAAA;AAAA,MAAI,oBAAA;AAAA,KAEhE;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACL,SAAA;AAAA,MAAA;AAAA,QACC,aAAc,EAAA,QAAA;AAAA,QACd,GAAI,EAAA,KAAA;AAAA,QACJ,GAAA,EAAK,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,OAAA;AAAA,MAEvB,eAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,GAAA,CAAI,CAACM,OAAA,EAAO,GAC5B,qBAAA,KAAA,CAAA,aAAA;AAAA,QAACC,aAAA;AAAA,QAAA;AAAA,UACC,UAAA;AAAA,UACA,kBAAA;AAAA,UACA,KAAKD,OAAM,CAAA,EAAA;AAAA,iBACXA,OAAA;AAAA,UACA,eAAA;AAAA,UACA,gBAAA,EAAkB,CAAC,EAAqB,EAAA,QAAA,EAAkB,UACxD,gBAAiB,CAAA,EAAA,EAAI,UAAU,KAAK,CAAA;AAAA,UAEtC,qBAAA;AAAA,UACA,iBAAA;AAAA,UACA,aAAA,EAAe,aAAa,MAAW,KAAA,CAAA;AAAA,UACvC,cAAc,GAAQ,KAAA,CAAA;AAAA,UACtB,aAAA;AAAA,UACA,yBAAyB,MAAM;AAC7B,YAAA,0BAAA,CAA2B,IAAI,CAAA,CAAA;AAAA,WACjC;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,KAEJ;AAAA,qBAGH,KAAA,CAAA,aAAA,CAAAN,SAAA,EAAA,EAAK,aAAc,EAAA,QAAA,EAAS,KAAI,KAAM,EAAA,GAAA,EAAK,EAAE,SAAA,EAAW,OACtD,EAAA,EAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,GAAI,CAAA,CAACM,SAAO,GAAQ,KAAA;AACjC,IACE,uBAAA,KAAA,CAAA,aAAA;AAAA,MAACC,aAAA;AAAA,MAAA;AAAA,QACC,UAAA;AAAA,QACA,kBAAA;AAAA,QACA,KAAKD,OAAM,CAAA,EAAA;AAAA,eACXA,OAAA;AAAA,QACA,eAAA;AAAA,QACA,aAAa,MAAM;AACjB,UAAA,SAAA;AAAA,YAAU,CAAC,SACT,IAAK,CAAA,MAAA;AAAA,cACH,CAAC,YAAA,KAAiB,YAAa,CAAA,EAAA,KAAOA,OAAM,CAAA,EAAA;AAAA,aAC9C;AAAA,WACF,CAAA;AAAA,SACF;AAAA,QACA,gBAAA,EAAkB,CAAC,EAAqB,EAAA,QAAA,EAAkB,UACxD,gBAAiB,CAAA,EAAA,EAAI,UAAU,KAAK,CAAA;AAAA,QAEtC,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA,aAAe,EAAA,KAAA;AAAA,QACf,cAAc,GAAQ,KAAA,CAAA;AAAA,QACtB,aAAA;AAAA,QACA,yBAAyB,MAAM;AAC7B,UAAA,0BAAA,CAA2B,IAAI,CAAA,CAAA;AAAA,SACjC;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,IAGN,CACA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAACE,aAAA;AAAA,IAAA;AAAA,MACC,QAAA,sCAAWC,aAAS,EAAA,IAAA,CAAA;AAAA,MACpB,KAAM,EAAA,SAAA;AAAA,MACN,GAAA,EAAK,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,MACxB,OAAA,EAAS,MACP,SAAU,CAAA;AAAA,QACR,GAAG,MAAA;AAAA,QACH,iCACKX,2BADL,CAAA,EAAA;AAAA,UAEE,IAAIC,UAAK,EAAA;AAAA,SACX,CAAA;AAAA,OACD,CAAA;AAAA,MAEH,IAAK,EAAA,IAAA;AAAA,KAAA;AAAA,IACN,mBAAA;AAAA,GAED,EAAA,CACC,yCAAY,aACX,qBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,SAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,MACxB,aAAc,EAAA,QAAA;AAAA,MACd,GAAI,EAAA,IAAA;AAAA,KAAA;AAAA,oBAEJ,KAAA,CAAA,aAAA,CAACA,aAAK,aAAc,EAAA,QAAA,EAAS,KAAI,IAC/B,EAAA,kBAAA,KAAA,CAAA,aAAA,CAACG,eAAQ,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,EAAA,eAAa,mBAC/B,KAAA,CAAA,aAAA,CAAAC,SAAA,EAAA,EAAK,KAAK,EAAE,KAAA,EAAO,eAAiB,EAAA,IAAA,EAAK,IAAK,EAAA,EAAA,iFAG/C,CACF,CAAA;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACM,aAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA,EAAE,QAAU,EAAA,GAAA,EAAK,OAAO,MAAO,EAAA;AAAA,QACpC,IAAK,EAAA,IAAA;AAAA,QACL,SAAS,UAAW,CAAA,OAAA;AAAA,QACpB,OAAO,UAAW,CAAA,KAAA;AAAA,QAClB,WAAY,EAAA,EAAA;AAAA,QACZ,QAAU,EAAA,CAAC,KAAe,KAAA,UAAA,CAAW,gBAAgB,KAAK,CAAA;AAAA,OAAA;AAAA,KAC5D;AAAA,GACF,EAAA,CAGD,2CAAa,cACZ,qBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,iBAAA;AAAA,IAAA;AAAA,MACC,QAAU,EAAA,CAAC,KAAe,KAAA,WAAA,CAAY,gBAAgB,KAAK,CAAA;AAAA,MAC3D,GAAK,EAAA,EAAE,WAAa,EAAA,IAAA,EAAM,QAAQ,SAAU,EAAA;AAAA,MAC5C,SAAS,WAAY,CAAA,KAAA;AAAA,KAAA;AAAA,oBAEpB,KAAA,CAAA,aAAA,CAAAC,mBAAA,EAAA,EAAU,IAAK,EAAA,IAAA,EAAA,EAAK,qBAAmB,CAAA;AAAA,KAG3C,uBACC,oBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,mBAAA;AAAA,IAAA;AAAA,MACC,cAAA,EAAgB,MAAM,0BAAA,CAA2B,KAAK,CAAA;AAAA,MACtD,cAAgB,EAAA,CAAC,KAAe,KAAA,sBAAA,CAAuB,KAAK,CAAA;AAAA,MAC5D,eAAe,MAAM;AACnB,QACE,oBAAA,IAAA,oBAAA,CAAqB,CAAC,IAAS,KAAA;AAAA,UAC7B,GAAG,IAAA;AAAA,UACH;AAAA,YACE,EAAI,EAAA,mBAAA;AAAA,YACJ,KAAO,EAAA,mBAAA;AAAA,YACP,KAAO,EAAA,mBAAA;AAAA,YACP,IAAM,EAAA,QAAA;AAAA,WACR;AAAA,SACD,CAAA,CAAA;AACH,QAAA,0BAAA,CAA2B,KAAK,CAAA,CAAA;AAAA,OAClC;AAAA,KAAA;AAAA,GAGN,CAEJ,CAEA,mBAAA,KAAA,CAAA,aAAA;AAAA,IAACb,SAAA;AAAA,IAAA;AAAA,MACC,UAAW,EAAA,QAAA;AAAA,MACX,cAAe,EAAA,QAAA;AAAA,MACf,GAAA,EAAK,EAAE,MAAA,EAAQ,MAAO,EAAA;AAAA,KAAA;AAAA,wCAErBG,eAAQ,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,MAAA,EAAO,UAAO,qDAEjC,CAAA;AAAA,GAGN,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/mapping/index.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Text,\n ThemeProvider,\n Checkbox,\n FormInput,\n Switch,\n Radio,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n Input,\n Calendar,\n RadioGroup,\n Tooltip,\n Chip,\n} from \"@sparrowengg/twigs-react\";\nimport {\n ArrowLeftIcon,\n ChevronRightIcon,\n ChevronDownIcon,\n PlusIcon,\n TickCircleFillIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState } from \"react\";\nimport Arrow from \"../commons/icons/arrow\";\nimport { Mapping as FieldMapping } from \"./components/mapping\";\nimport { surveySparrowURL } from \"../commons/constants\";\nimport {\n CustomListFieldType,\n FieldType,\n OldResponseFieldType,\n SelectOption,\n IntegrationFieldType,\n} from \"./types\";\nimport DraftModal from \"../commons/components/draftModal\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport { dynamicDateOptions } from \"../commons/constants\";\nimport { components, OptionProps, SingleValueProps } from \"react-select\";\nimport dayjs from \"dayjs\";\nimport NamingModal from \"../commons/components/NamingModal\";\n\ntype FieldMappingPropsType = {\n hasNamingModal: boolean;\n havingTypeDropdown: boolean;\n onSaveMappingLoader: boolean;\n surveyDetails: {\n surveyName: string;\n surveyId: string | number;\n };\n integrationName: string;\n fields: Array<FieldType>;\n setFields: React.Dispatch<React.SetStateAction<Array<FieldType>>>;\n integrationFields: Array<IntegrationFieldType>;\n setIntegrationFields: React.Dispatch<\n React.SetStateAction<Array<IntegrationFieldType>>\n >;\n apiURL: string;\n token: string;\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n isMappingPage: boolean;\n surveyType: string;\n navigateMappingPage: (value?: boolean) => void;\n customList: CustomListFieldType;\n oldResponse: OldResponseFieldType;\n hasPreviousMapping: boolean;\n onSaveHandler: () => void;\n editField: {\n id: string | number;\n fieldValues: Array<FieldType>;\n } | null;\n previousMappingHandler: (value?: boolean) => void;\n onDeleteHandler?: (id: string | number) => void;\n draftHandler: (type: string | null, editFieldId?: string | number) => void;\n configuration: {\n setMappingName?: (value: string) => void;\n currentMappingName?: string;\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n configuredFields: unknown;\n title: string;\n };\n};\n\nexport const Mapping = ({\n hasNamingModal,\n havingTypeDropdown,\n onSaveMappingLoader,\n surveyDetails,\n integrationName,\n fields,\n setFields,\n integrationFields,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n accounts,\n events,\n actions,\n isMappingPage,\n surveyType,\n navigateMappingPage,\n customList,\n oldResponse,\n hasPreviousMapping,\n onSaveHandler,\n editField,\n previousMappingHandler,\n draftHandler,\n configuration,\n}: FieldMappingPropsType) => {\n const [previousMapping, setPreviousMapping] = useState(\n hasPreviousMapping ?? false\n );\n\n useEffect(() => {\n if (!!editField?.id) {\n setFields(editField.fieldValues);\n setPreviousMapping(true);\n }\n }, []);\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 },\n }}\n >\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n <MappingHeader\n navigateMappingPage={navigateMappingPage}\n accounts={accounts}\n events={events}\n actions={actions}\n havingTypeDropdown={havingTypeDropdown}\n onSaveMappingLoader={onSaveMappingLoader}\n hasPreviousMapping={previousMapping}\n isMappingPage={isMappingPage}\n fields={fields}\n editFieldId={editField?.id}\n onSaveHandler={onSaveHandler}\n navigateEventPage={() => navigateMappingPage(false)}\n previousMappingHandler={previousMappingHandler}\n draftHandler={draftHandler}\n hasNamingModal={hasNamingModal}\n configuration={configuration}\n />\n {!isMappingPage ? (\n <EventSetup\n surveyDetails={surveyDetails}\n accounts={accounts}\n events={events}\n actions={actions}\n navigateMappingPage={navigateMappingPage}\n configuration={configuration}\n editFieldId={editField?.id}\n />\n ) : (\n <FieldMapping\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n fields={fields}\n setFields={setFields}\n surveyDetails={surveyDetails}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n surveyId={surveyDetails.surveyId}\n token={token}\n apiURL={apiURL}\n integrationName={integrationName}\n customList={customList}\n oldResponse={oldResponse}\n />\n )}\n </Box>\n </ThemeProvider>\n );\n};\n\ntype EventSetupProps = {\n surveyDetails: {\n surveyName: string;\n surveyId: number | string;\n };\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n navigateMappingPage: (value?: boolean) => void;\n configuration: {\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n title: string;\n configuredFields: unknown;\n };\n editFieldId: unknown;\n};\n\nconst EventSetup = ({\n surveyDetails,\n accounts,\n events,\n actions,\n navigateMappingPage,\n configuration,\n editFieldId,\n}: EventSetupProps) => {\n useEffect(() => {\n if (actions?.value) {\n actions?.onChangeHandler(actions?.value);\n }\n if (events?.value) {\n events?.onChangeHandler(events?.value);\n }\n }, [actions?.value, events?.value]);\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n {configuration.hasConfiguration ? (\n <>\n <ConfigurationSetup\n configuration={configuration}\n surveyName={surveyDetails.surveyName}\n editField={editFieldId}\n />\n </>\n ) : (\n <>\n <Heading size=\"h5\">{configuration?.title}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text size=\"sm\" weight={\"medium\"} css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Account\n </FormLabel>\n <Select\n value={accounts.value}\n options={accounts.options}\n placeholder=\"\"\n onChange={(value: unknown) =>\n accounts.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n size=\"lg\"\n />\n </Flex>\n )}\n {events?.hasEvents && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Object\n </FormLabel>\n <Select\n options={events.options}\n value={events?.value}\n placeholder=\"\"\n onChange={(value: unknown) =>\n events.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n size=\"lg\"\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Action\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actions?.value}\n placeholder=\"\"\n onChange={(value: unknown) =>\n actions.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n />\n </Flex>\n )}\n </Flex>\n </>\n )}\n\n <Button\n size=\"lg\"\n disabled={\n configuration.hasConfiguration\n ? false\n : (!actions?.value || !events?.value)\n }\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n onClick={() => navigateMappingPage()}\n >\n Continue Mapping\n </Button>\n </Box>\n </Flex>\n );\n};\n\ntype MappingHeaderProps = {\n hasNamingModal: boolean;\n draftHandler: (type: string | null, editFieldId?: string | number) => void;\n navigateMappingPage: (value?: boolean) => void;\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n havingTypeDropdown: boolean;\n onSaveMappingLoader: boolean;\n hasPreviousMapping: boolean;\n isMappingPage: boolean;\n fields: Array<FieldType>;\n navigateEventPage: () => void;\n onSaveHandler: (editFieldId?: string | number) => void;\n previousMappingHandler: (value?: boolean) => void;\n editFieldId: string | number | undefined;\n configuration: {\n setMappingName?: (value: string) => void;\n currentMappingName?: string;\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n title: string;\n configuredFields: unknown;\n };\n};\n\nconst MappingHeader = ({\n hasNamingModal,\n navigateMappingPage,\n accounts,\n events,\n actions,\n havingTypeDropdown,\n onSaveMappingLoader,\n hasPreviousMapping,\n isMappingPage,\n fields,\n navigateEventPage,\n onSaveHandler,\n previousMappingHandler,\n editFieldId,\n draftHandler,\n configuration,\n}: MappingHeaderProps) => {\n const isDisabled = !actions?.value || !events?.value;\n const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);\n const [isNamingModalOpen, setIsNamingModalOpen] = useState(false);\n\n const isAllEssentialMapped = (fields: Array<FieldType>) => {\n let status = true;\n fields?.map((field: FieldType) => {\n if (field?.isEssentialField) {\n status = status && field?.surveySparrowField !== null;\n if (havingTypeDropdown) {\n status =\n status &&\n field?.integrationFieldType !== null &&\n field?.integrationField !== null;\n }\n } else {\n if (!!field?.integrationField || !!field?.surveySparrowField) {\n status =\n status && !!field?.integrationField && !!field?.surveySparrowField;\n }\n }\n });\n return status;\n };\n\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n position: \"sticky\",\n width: \"100%\",\n top: \"1px\",\n zIndex: \"99\",\n background: \"#ffff\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n {isDraftModalOpen && (\n <DraftModal\n onSaveHandler={async () => {\n await draftHandler(\"MAPPING\", editFieldId?.toString());\n setIsDraftModalOpen(false);\n await previousMappingHandler();\n }}\n onCloseHandler={() => setIsDraftModalOpen(false)}\n onCancel={async () => {\n await previousMappingHandler();\n setIsDraftModalOpen(false);\n }}\n />\n )}\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasPreviousMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton\n onClick={() => previousMappingHandler()}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n />\n <Heading size=\"h6\">\n {editFieldId ? \"Edit Mapping\" : \"New Mapping\"}\n </Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" },\n }}\n >\n <Button\n css={{ color: !isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={() => isMappingPage && navigateEventPage()}\n >\n Event Setup\n </Button>\n <Arrow />\n <Button\n onClick={() => navigateMappingPage()}\n css={{ color: !isDisabled ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n disabled={isDisabled}\n >\n Mapping\n </Button>\n </Flex>\n <Button\n size=\"lg\"\n disabled={!isAllEssentialMapped(fields)}\n onClick={() => {\n if (hasNamingModal) {\n setIsNamingModalOpen(true);\n } else {\n onSaveHandler(editFieldId);\n }\n }}\n css={{ visibility: isMappingPage ? \"visible\" : \"hidden\" }}\n >\n {editFieldId ? \"Update Mapping\" : \"Save Mapping\"}\n </Button>\n {hasNamingModal && (\n <NamingModal\n editFieldId={editFieldId}\n mappingLoader={onSaveMappingLoader}\n saveHandler={() => onSaveHandler(editFieldId)}\n closeHandler={() => setIsNamingModalOpen(false)}\n value={configuration?.currentMappingName || \"\"}\n setValue={(value: string) => configuration?.setMappingName?.(value)}\n isOpen={isNamingModalOpen}\n />\n )}\n </Flex>\n );\n};\n\nconst ConfigurationSetup = ({\n configuration,\n surveyName,\n editField,\n}: {\n configuration: any;\n surveyName: string;\n editField: any;\n}) => {\n return (\n <Box css={{ maxWidth: 488, width: \"100%\" }}>\n <Heading size=\"h5\">{configuration?.title}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Tooltip\n content={surveyName?.length > 25 ? surveyName : \"\"}\n css={{\n zIndex: \"9999999 !important\",\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <Text\n size=\"sm\"\n weight={\"medium\"}\n truncate\n css={{ color: \"$neutral800\", maxWidth: \"270px\" }}\n >\n {surveyName}\n </Text>\n </Box>\n </Tooltip>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$8\"\n css={{\n marginTop: \"$12\",\n \"& label\": {\n color: \"$neutral800\",\n },\n }}\n >\n {configuration.configurationFields?.map((field: any) => {\n return (\n <Configuration\n field={field}\n configuredFields={configuration.configuredFields}\n />\n );\n })}\n </Flex>\n </Box>\n );\n};\n\nconst CustomDropdown = ({ data, onChangeHandler, value, editField }: any) => {\n const [date, setDate] = useState<DateValue>(() => {\n try {\n return value\n ? parseDate(dayjs(value).format(\"YYYY-MM-DD\"))\n : parseDate(dayjs().format(\"YYYY-MM-DD\"));\n } catch (e) {\n return parseDate(dayjs().format(\"YYYY-MM-DD\"));\n }\n });\n const [days, setDays] = useState(value?.value?.value ?? 0);\n const [open, setOpen] = useState(false);\n const [hasBeenOpened, setHasBeenOpened] = useState(false);\n useEffect(() => {\n if (!editField?.id && !hasBeenOpened) {\n setOpen(true);\n setHasBeenOpened(true);\n }\n }, [editField?.id, hasBeenOpened]);\n\n return (\n <DropdownMenu open={open} onOpenChange={setOpen} modal={false}>\n <DropdownMenuTrigger asChild>\n <Input\n size=\"lg\"\n rightIcon={<ChevronDownIcon size={30} color=\"#6A6A6A\" />}\n placeholder=\"Choose\"\n value={\n value?.type === \"date\"\n ? `${value?.label} > ${value?.value}`\n : value?.type === \"dateRange\"\n ? `${value?.label} - ${value?.value?.type === \"custom\" ? `${value?.value?.value} days` : value?.value?.label}`\n : value?.label\n }\n css={{\n \"& input\": {\n textAlign: \"left !important\",\n },\n }}\n />\n </DropdownMenuTrigger>\n\n <DropdownMenuContent\n css={{\n width: \"488px\",\n marginBlockStart: \"$2\",\n p: {\n margin: \"0px !important\",\n },\n zIndex: \"99 !important\",\n }}\n className=\"dm-sans\"\n >\n {data.map((option: any) => {\n if (!option.type) {\n return (\n <Tooltip\n content={option.tooltip || \"\"}\n css={{\n zIndex: \"9999999 !important\",\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <DropdownMenuItem\n disabled={option?.disabled}\n css={{\n cursor: option?.disabled\n ? \"not-allowed !important\"\n : \"pointer !important\",\n background:\n value?.type === option.type\n ? \"#4A9CA626 !important\"\n : \"transparent !important\",\n }}\n onClick={() =>\n onChangeHandler({\n id: \"responseImportType\",\n value: option,\n })\n }\n >\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n css={{\n width: \"100%\",\n }}\n >\n <Flex justifyContent=\"center\" flexDirection=\"column\">\n <Text\n size=\"sm\"\n weight={\"regular\"}\n css={{ color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n <Text\n size=\"xs\"\n weight={\"regular\"}\n css={{ color: \"$neutral700\" }}\n >\n {option.description}\n </Text>\n </Flex>\n </Flex>\n </DropdownMenuItem>\n </Box>\n </Tooltip>\n );\n } else {\n return (\n <Tooltip\n content={option.tooltip || \"\"}\n css={{\n fontFamily: \"DM Sans !important\",\n zIndex: \"9999999 !important\",\n }}\n >\n <Box>\n <DropdownMenuSub>\n <DropdownMenuSubTrigger\n disabled={option?.disabled}\n css={{\n cursor: option?.disabled\n ? \"not-allowed !important\"\n : \"pointer !important\",\n background:\n value?.type === option.type\n ? \"#4A9CA626 !important\"\n : \"transparent !important\",\n }}\n >\n {\" \"}\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n css={{\n width: \"100%\",\n }}\n >\n <Flex\n css={{ cursor: \"pointer\" }}\n justifyContent=\"center\"\n flexDirection=\"column\"\n >\n <Text\n size=\"sm\"\n weight={\"regular\"}\n css={{ color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n <Text\n size=\"xs\"\n weight={\"regular\"}\n css={{ color: \"$neutral700\" }}\n >\n {option.description}\n </Text>\n </Flex>\n </Flex>\n </DropdownMenuSubTrigger>\n\n <DropdownMenuSubContent\n sideOffset={10}\n alignOffset={-5}\n css={{\n padding: \"0px !important\",\n maxHeight: \"500px\",\n minWidth: \"224px\",\n maxWidth: \"260px\",\n margin: \"0px !important\",\n ...(option.type === \"date\" && {\n border: \"none !important\",\n }),\n p: {\n margin: \"0px !important\",\n },\n marginBlockEnd: \"$10 !important\",\n }}\n className=\"dm-sans\"\n >\n {option.type === \"date\" && (\n <Calendar\n footerActionText=\"Apply\"\n size=\"md\"\n value={date}\n onChange={setDate}\n {...(option?.minValue && {\n minValue: parseDate(option?.minValue),\n })}\n {...(option?.maxValue && {\n maxValue: parseDate(option?.maxValue),\n })}\n footerAction={() => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: dayjs(date.toString()).format(\n \"MMM D, YYYY\"\n ),\n },\n });\n setOpen(false);\n }}\n />\n )}\n {option.type === \"dateRange\" && (\n <Flex\n css={{\n paddingInline: \"$4 !important\",\n paddingBlock: \"$8 !important\",\n }}\n flexDirection=\"column\"\n gap=\"$4\"\n >\n <RadioGroup\n defaultValue={value?.value}\n onChange={(value) => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: {\n type: value,\n value: value,\n label: dynamicDateOptions.find(\n (option) => option.value === value\n )?.label,\n },\n },\n });\n }}\n >\n {dynamicDateOptions.map((option) => (\n <Box\n css={{\n padding: \"$4 !important\",\n }}\n >\n <Radio value={option.value}>\n {\" \"}\n {option.label}{\" \"}\n </Radio>\n </Box>\n ))}\n </RadioGroup>\n {value?.value?.type === \"custom\" && (\n <Box\n css={{\n paddingRight: \"$4 !important\",\n position: \"relative\",\n }}\n >\n <Input\n size=\"md\"\n variant=\"filled\"\n value={days}\n onChange={(e) =>\n setDays((e.target as HTMLInputElement).value)\n }\n />\n <Text\n css={{\n position: \"absolute\",\n right: \"$8\",\n top: \"$3\",\n }}\n >\n Days\n </Text>\n </Box>\n )}\n\n <Flex\n justifyContent=\"space-between\"\n css={{\n borderBlockStart:\n \"$borderWidths$xs, solid, $neutral200 !important\",\n padding: \"$8\",\n }}\n >\n <Button size=\"sm\" variant=\"ghost\" color=\"secondary\">\n Cancel\n </Button>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={() => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: {\n type: value?.value?.type,\n value: days,\n label: value?.value?.label,\n },\n },\n });\n setOpen(false);\n }}\n >\n Apply\n </Button>\n </Flex>\n </Flex>\n )}\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n </Box>\n </Tooltip>\n );\n }\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nconst Configuration = ({\n field,\n configuredFields,\n responseImportType = null,\n}: any) => {\n let fieldValue = null;\n // if (field.id === \"responseImportType\") {\n // fieldValue = configuredFields?.map((item: any) => item.id === field.id)?.value ?? null;\n // } else {\n fieldValue = configuredFields?.[field.id]?.value ?? null;\n // }\n const [error, setError] = useState({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n switch (field.fieldType) {\n case \"switch\":\n return (\n <Flex\n gap=\"$4\"\n alignItems=\"center\"\n css={{\n marginBlockStart: \"$12\",\n borderTop: \"$borderWidths$xs solid $neutral200\",\n paddingTop: \"$16\",\n }}\n >\n <Switch\n disabled={field?.disabled}\n size=\"sm\"\n checked={field?.value}\n onChange={(value) =>\n field.onChangeHandler({\n id: field.id,\n value: value,\n })\n }\n />\n <Text size=\"md\" weight={\"regular\"} css={{ color: \"$neutral900\" }}>\n {field.label}\n </Text>\n </Flex>\n );\n\n case \"checkbox\":\n return (\n <Flex flexDirection=\"column\" alignItems=\"start\" gap=\"$4\">\n <Flex gap=\"$4\" alignItems=\"center\">\n <Checkbox\n disabled={field?.disabled}\n checked={!!fieldValue}\n onChange={(value) =>\n field.onChangeHandler({\n id: field.id,\n value: value,\n })\n }\n />\n <Text size=\"sm\" weight={\"regular\"} css={{ color: \"$neutral900\" }}>\n {field.label}\n </Text>\n </Flex>\n <Text size=\"sm\" weight={\"regular\"} css={{ color: \"$neutral500\" }}>\n {field.value\n ? field.ifChecked()\n : field.ifUnchecked(responseImportType)}\n </Text>\n </Flex>\n );\n\n case \"input\":\n return (\n <>\n {field?.id === \"spreadsheet\" ? (\n <>\n {configuredFields?.action?.value ? (\n <Box\n className=\"dm-sans\"\n css={{\n label: {\n fontSize: \"$xs !important\",\n },\n }}\n >\n <FormInput\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={\n typeof fieldValue === \"object\" ? \"\" : fieldValue || \"\"\n }\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={(event) => {\n if (field?.pattern) {\n const pattern = new RegExp(field.pattern);\n if (\n !pattern.test(event.currentTarget.value) &&\n event.currentTarget.value !== \"\"\n ) {\n setError({\n errorMessage: field.errorMessage,\n error: true,\n id: field.id,\n });\n } else {\n setError({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n }\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n } else {\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n }\n }}\n />\n </Box>\n ) : null}\n </>\n ) : (\n <Box\n className=\"dm-sans\"\n css={{\n label: {\n fontSize: \"$xs !important\",\n },\n }}\n >\n <FormInput\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={typeof fieldValue === \"object\" ? \"\" : fieldValue || \"\"}\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={(event) => {\n if (field?.pattern) {\n const pattern = new RegExp(field.pattern);\n if (\n !pattern.test(event.currentTarget.value) &&\n event.currentTarget.value !== \"\"\n ) {\n setError({\n errorMessage: field.errorMessage,\n error: true,\n id: field.id,\n });\n } else {\n setError({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n }\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n } else {\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n }\n }}\n />\n </Box>\n )}\n </>\n );\n default:\n return (\n <>\n {field.id === \"spreadsheet\" ? (\n <>\n {configuredFields?.action?.value ? (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: \"pointer !important\",\n \".twigs-select__indicator\": {\n width: \"14px !important\",\n color: \"#848484 !important\",\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n ) : null}\n </>\n ) : (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: \"pointer !important\",\n \".twigs-select__indicator\": {\n width: \"14px !important\",\n color: \"#848484 !important\",\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n )}\n </>\n );\n }\n};\n\nconst CustomAddNewSelect = ({ field }: any) => {\n return (\n <Select\n isDisabled={field?.disabled}\n placeholder=\"\"\n size=\"lg\"\n css={{\n cursor: \"pointer\",\n }}\n components={{\n Option: CustomShareOption,\n SingleValue: CustomSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n }),\n }}\n value={field.value}\n onChange={(value) => {\n field.onChangeHandler({\n id: field?.id ?? field?.label,\n value: value,\n });\n }}\n options={field.options}\n />\n );\n};\nconst CustomShareOption: React.FC<OptionProps<any>> = (props) => {\n if (props.data.value === \"ADD_NEW\") {\n return (\n <Tooltip\n content={props.data.tooltip || \"\"}\n css={{\n zIndex: 999999999,\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <components.Option {...props}>\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ cursor: \"pointer\", zIndex: 999999999 }}\n >\n <Flex\n gap=\"$2\"\n alignItems=\"center\"\n css={{\n color: \"$primary500\",\n fontSize: \"$sm\",\n fontWeight: \"$7\",\n }}\n >\n <PlusIcon size={16} color=\"#4A9CA6\" />\n Add Account\n </Flex>\n </Flex>\n </components.Option>\n </Box>\n </Tooltip>\n );\n } else {\n return (\n <components.Option {...props}>\n <Flex\n css={{ cursor: \"pointer\", zIndex: 999999999 }}\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap=\"$2\"\n >\n <Text size=\"sm\">{props.label}</Text>{\" \"}\n {props.data.isAddonAccount && (\n <Chip\n color=\"primary\"\n size=\"sm\"\n leftElement={<TickCircleFillIcon />}\n >\n In Use (Add-on)\n </Chip>\n )}\n </Flex>\n </components.Option>\n );\n }\n};\nconst CustomSingleValue: React.FC<SingleValueProps<any>> = (props) => {\n if (props.data.value === \"ADD_NEW\") {\n return (\n <components.SingleValue {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n <PlusIcon size={16} />\n <Text size=\"sm\">{props.data.label}</Text>\n </Flex>\n </components.SingleValue>\n );\n } else {\n return (\n <components.SingleValue {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n <Text size=\"sm\">{props.data.label}</Text>\n </Flex>\n </components.SingleValue>\n );\n }\n};\n"],"names":["surveySparrowURL","useState","useEffect","ThemeProvider","Box","FieldMapping","Flex","Heading","Text","FormLabel","Select","Button","ChevronRightIcon","fields","DraftModal","IconButton","ArrowLeftIcon","Arrow","NamingModal","Tooltip","Switch","Checkbox","FormInput","components","PlusIcon","Chip","TickCircleFillIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/mapping/index.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Text,\n ThemeProvider,\n Checkbox,\n FormInput,\n Switch,\n Radio,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n Input,\n Calendar,\n RadioGroup,\n Tooltip,\n Chip,\n} from \"@sparrowengg/twigs-react\";\nimport {\n ArrowLeftIcon,\n ChevronRightIcon,\n ChevronDownIcon,\n PlusIcon,\n TickCircleFillIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState } from \"react\";\nimport Arrow from \"../commons/icons/arrow\";\nimport { Mapping as FieldMapping } from \"./components/mapping\";\nimport { surveySparrowURL } from \"../commons/constants\";\nimport {\n CustomListFieldType,\n FieldType,\n OldResponseFieldType,\n SelectOption,\n IntegrationFieldType,\n} from \"./types\";\nimport DraftModal from \"../commons/components/draftModal\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport { dynamicDateOptions } from \"../commons/constants\";\nimport { components, OptionProps, SingleValueProps } from \"react-select\";\nimport dayjs from \"dayjs\";\nimport NamingModal from \"../commons/components/NamingModal\";\n\ntype FieldMappingPropsType = {\n hasNamingModal: boolean;\n havingTypeDropdown: boolean;\n onSaveMappingLoader: boolean;\n surveyDetails: {\n surveyName: string;\n surveyId: string | number;\n surveyProperties?: any;\n };\n integrationName: string;\n fields: Array<FieldType>;\n setFields: React.Dispatch<React.SetStateAction<Array<FieldType>>>;\n integrationFields: Array<IntegrationFieldType>;\n setIntegrationFields: React.Dispatch<\n React.SetStateAction<Array<IntegrationFieldType>>\n >;\n apiURL: string;\n token: string;\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n isMappingPage: boolean;\n surveyType: string;\n navigateMappingPage: (value?: boolean) => void;\n customList: CustomListFieldType;\n oldResponse: OldResponseFieldType;\n hasPreviousMapping: boolean;\n onSaveHandler: () => void;\n editField: {\n id: string | number;\n fieldValues: Array<FieldType>;\n } | null;\n previousMappingHandler: (value?: boolean) => void;\n onDeleteHandler?: (id: string | number) => void;\n draftHandler: (type: string | null, editFieldId?: string | number) => void;\n configuration: {\n setMappingName?: (value: string) => void;\n currentMappingName?: string;\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n configuredFields: unknown;\n title: string;\n };\n};\n\nexport const Mapping = ({\n hasNamingModal,\n havingTypeDropdown,\n onSaveMappingLoader,\n surveyDetails,\n integrationName,\n fields,\n setFields,\n integrationFields,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n accounts,\n events,\n actions,\n isMappingPage,\n surveyType,\n navigateMappingPage,\n customList,\n oldResponse,\n hasPreviousMapping,\n onSaveHandler,\n editField,\n previousMappingHandler,\n draftHandler,\n configuration,\n}: FieldMappingPropsType) => {\n const [previousMapping, setPreviousMapping] = useState(\n hasPreviousMapping ?? false\n );\n\n useEffect(() => {\n if (!!editField?.id) {\n setFields(editField.fieldValues);\n setPreviousMapping(true);\n }\n }, []);\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 },\n }}\n >\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n <MappingHeader\n navigateMappingPage={navigateMappingPage}\n accounts={accounts}\n events={events}\n actions={actions}\n havingTypeDropdown={havingTypeDropdown}\n onSaveMappingLoader={onSaveMappingLoader}\n hasPreviousMapping={previousMapping}\n isMappingPage={isMappingPage}\n fields={fields}\n editFieldId={editField?.id}\n onSaveHandler={onSaveHandler}\n navigateEventPage={() => navigateMappingPage(false)}\n previousMappingHandler={previousMappingHandler}\n draftHandler={draftHandler}\n hasNamingModal={hasNamingModal}\n configuration={configuration}\n />\n {!isMappingPage ? (\n <EventSetup\n surveyDetails={surveyDetails}\n accounts={accounts}\n events={events}\n actions={actions}\n navigateMappingPage={navigateMappingPage}\n configuration={configuration}\n editFieldId={editField?.id}\n />\n ) : (\n <FieldMapping\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n fields={fields}\n setFields={setFields}\n surveyDetails={surveyDetails}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n surveyId={surveyDetails.surveyId}\n token={token}\n apiURL={apiURL}\n integrationName={integrationName}\n customList={customList}\n oldResponse={oldResponse}\n />\n )}\n </Box>\n </ThemeProvider>\n );\n};\n\ntype EventSetupProps = {\n surveyDetails: {\n surveyName: string;\n surveyId: number | string;\n };\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n navigateMappingPage: (value?: boolean) => void;\n configuration: {\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n title: string;\n configuredFields: unknown;\n };\n editFieldId: unknown;\n};\n\nconst EventSetup = ({\n surveyDetails,\n accounts,\n events,\n actions,\n navigateMappingPage,\n configuration,\n editFieldId,\n}: EventSetupProps) => {\n useEffect(() => {\n if (actions?.value) {\n actions?.onChangeHandler(actions?.value);\n }\n if (events?.value) {\n events?.onChangeHandler(events?.value);\n }\n }, [actions?.value, events?.value]);\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n {configuration.hasConfiguration ? (\n <>\n <ConfigurationSetup\n configuration={configuration}\n surveyName={surveyDetails.surveyName}\n editField={editFieldId}\n />\n </>\n ) : (\n <>\n <Heading size=\"h5\">{configuration?.title}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text size=\"sm\" weight={\"medium\"} css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Account\n </FormLabel>\n <Select\n value={accounts.value}\n options={accounts.options}\n placeholder=\"\"\n onChange={(value: unknown) =>\n accounts.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n size=\"lg\"\n />\n </Flex>\n )}\n {events?.hasEvents && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Object\n </FormLabel>\n <Select\n options={events.options}\n value={events?.value}\n placeholder=\"\"\n onChange={(value: unknown) =>\n events.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n size=\"lg\"\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Action\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actions?.value}\n placeholder=\"\"\n onChange={(value: unknown) =>\n actions.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n />\n </Flex>\n )}\n </Flex>\n </>\n )}\n\n <Button\n size=\"lg\"\n disabled={\n configuration.hasConfiguration\n ? false\n : (!actions?.value || !events?.value)\n }\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n onClick={() => navigateMappingPage()}\n >\n Continue Mapping\n </Button>\n </Box>\n </Flex>\n );\n};\n\ntype MappingHeaderProps = {\n hasNamingModal: boolean;\n draftHandler: (type: string | null, editFieldId?: string | number) => void;\n navigateMappingPage: (value?: boolean) => void;\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n havingTypeDropdown: boolean;\n onSaveMappingLoader: boolean;\n hasPreviousMapping: boolean;\n isMappingPage: boolean;\n fields: Array<FieldType>;\n navigateEventPage: () => void;\n onSaveHandler: (editFieldId?: string | number) => void;\n previousMappingHandler: (value?: boolean) => void;\n editFieldId: string | number | undefined;\n configuration: {\n setMappingName?: (value: string) => void;\n currentMappingName?: string;\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n title: string;\n configuredFields: unknown;\n };\n};\n\nconst MappingHeader = ({\n hasNamingModal,\n navigateMappingPage,\n accounts,\n events,\n actions,\n havingTypeDropdown,\n onSaveMappingLoader,\n hasPreviousMapping,\n isMappingPage,\n fields,\n navigateEventPage,\n onSaveHandler,\n previousMappingHandler,\n editFieldId,\n draftHandler,\n configuration,\n}: MappingHeaderProps) => {\n const isDisabled = !actions?.value || !events?.value;\n const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);\n const [isNamingModalOpen, setIsNamingModalOpen] = useState(false);\n\n const isAllEssentialMapped = (fields: Array<FieldType>) => {\n let status = true;\n fields?.map((field: FieldType) => {\n if (field?.isEssentialField) {\n status = status && field?.surveySparrowField !== null;\n if (havingTypeDropdown) {\n status =\n status &&\n field?.integrationFieldType !== null &&\n field?.integrationField !== null;\n }\n } else {\n if (!!field?.integrationField || !!field?.surveySparrowField) {\n status =\n status && !!field?.integrationField && !!field?.surveySparrowField;\n }\n }\n });\n return status;\n };\n\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n position: \"sticky\",\n width: \"100%\",\n top: \"1px\",\n zIndex: \"99\",\n background: \"#ffff\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n {isDraftModalOpen && (\n <DraftModal\n onSaveHandler={async () => {\n await draftHandler(\"MAPPING\", editFieldId?.toString());\n setIsDraftModalOpen(false);\n await previousMappingHandler();\n }}\n onCloseHandler={() => setIsDraftModalOpen(false)}\n onCancel={async () => {\n await previousMappingHandler();\n setIsDraftModalOpen(false);\n }}\n />\n )}\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasPreviousMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton\n onClick={() => previousMappingHandler()}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n />\n <Heading size=\"h6\">\n {editFieldId ? \"Edit Mapping\" : \"New Mapping\"}\n </Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" },\n }}\n >\n <Button\n css={{ color: !isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={() => isMappingPage && navigateEventPage()}\n >\n Event Setup\n </Button>\n <Arrow />\n <Button\n onClick={() => navigateMappingPage()}\n css={{ color: !isDisabled ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n disabled={isDisabled}\n >\n Mapping\n </Button>\n </Flex>\n <Button\n size=\"lg\"\n disabled={!isAllEssentialMapped(fields)}\n onClick={() => {\n if (hasNamingModal) {\n setIsNamingModalOpen(true);\n } else {\n onSaveHandler(editFieldId);\n }\n }}\n css={{ visibility: isMappingPage ? \"visible\" : \"hidden\" }}\n >\n {editFieldId ? \"Update Mapping\" : \"Save Mapping\"}\n </Button>\n {hasNamingModal && (\n <NamingModal\n editFieldId={editFieldId}\n mappingLoader={onSaveMappingLoader}\n saveHandler={() => onSaveHandler(editFieldId)}\n closeHandler={() => setIsNamingModalOpen(false)}\n value={configuration?.currentMappingName || \"\"}\n setValue={(value: string) => configuration?.setMappingName?.(value)}\n isOpen={isNamingModalOpen}\n />\n )}\n </Flex>\n );\n};\n\nconst ConfigurationSetup = ({\n configuration,\n surveyName,\n editField,\n}: {\n configuration: any;\n surveyName: string;\n editField: any;\n}) => {\n return (\n <Box css={{ maxWidth: 488, width: \"100%\" }}>\n <Heading size=\"h5\">{configuration?.title}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Tooltip\n content={surveyName?.length > 25 ? surveyName : \"\"}\n css={{\n zIndex: \"9999999 !important\",\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <Text\n size=\"sm\"\n weight={\"medium\"}\n truncate\n css={{ color: \"$neutral800\", maxWidth: \"270px\" }}\n >\n {surveyName}\n </Text>\n </Box>\n </Tooltip>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$8\"\n css={{\n marginTop: \"$12\",\n \"& label\": {\n color: \"$neutral800\",\n },\n }}\n >\n {configuration.configurationFields?.map((field: any) => {\n return (\n <Configuration\n field={field}\n configuredFields={configuration.configuredFields}\n />\n );\n })}\n </Flex>\n </Box>\n );\n};\n\nconst CustomDropdown = ({ data, onChangeHandler, value, editField }: any) => {\n const [date, setDate] = useState<DateValue>(() => {\n try {\n return value\n ? parseDate(dayjs(value).format(\"YYYY-MM-DD\"))\n : parseDate(dayjs().format(\"YYYY-MM-DD\"));\n } catch (e) {\n return parseDate(dayjs().format(\"YYYY-MM-DD\"));\n }\n });\n const [days, setDays] = useState(value?.value?.value ?? 0);\n const [open, setOpen] = useState(false);\n const [hasBeenOpened, setHasBeenOpened] = useState(false);\n useEffect(() => {\n if (!editField?.id && !hasBeenOpened) {\n setOpen(true);\n setHasBeenOpened(true);\n }\n }, [editField?.id, hasBeenOpened]);\n\n return (\n <DropdownMenu open={open} onOpenChange={setOpen} modal={false}>\n <DropdownMenuTrigger asChild>\n <Input\n size=\"lg\"\n rightIcon={<ChevronDownIcon size={30} color=\"#6A6A6A\" />}\n placeholder=\"Choose\"\n value={\n value?.type === \"date\"\n ? `${value?.label} > ${value?.value}`\n : value?.type === \"dateRange\"\n ? `${value?.label} - ${value?.value?.type === \"custom\" ? `${value?.value?.value} days` : value?.value?.label}`\n : value?.label\n }\n css={{\n \"& input\": {\n textAlign: \"left !important\",\n },\n }}\n />\n </DropdownMenuTrigger>\n\n <DropdownMenuContent\n css={{\n width: \"488px\",\n marginBlockStart: \"$2\",\n p: {\n margin: \"0px !important\",\n },\n zIndex: \"99 !important\",\n }}\n className=\"dm-sans\"\n >\n {data.map((option: any) => {\n if (!option.type) {\n return (\n <Tooltip\n content={option.tooltip || \"\"}\n css={{\n zIndex: \"9999999 !important\",\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <DropdownMenuItem\n disabled={option?.disabled}\n css={{\n cursor: option?.disabled\n ? \"not-allowed !important\"\n : \"pointer !important\",\n background:\n value?.type === option.type\n ? \"#4A9CA626 !important\"\n : \"transparent !important\",\n }}\n onClick={() =>\n onChangeHandler({\n id: \"responseImportType\",\n value: option,\n })\n }\n >\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n css={{\n width: \"100%\",\n }}\n >\n <Flex justifyContent=\"center\" flexDirection=\"column\">\n <Text\n size=\"sm\"\n weight={\"regular\"}\n css={{ color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n <Text\n size=\"xs\"\n weight={\"regular\"}\n css={{ color: \"$neutral700\" }}\n >\n {option.description}\n </Text>\n </Flex>\n </Flex>\n </DropdownMenuItem>\n </Box>\n </Tooltip>\n );\n } else {\n return (\n <Tooltip\n content={option.tooltip || \"\"}\n css={{\n fontFamily: \"DM Sans !important\",\n zIndex: \"9999999 !important\",\n }}\n >\n <Box>\n <DropdownMenuSub>\n <DropdownMenuSubTrigger\n disabled={option?.disabled}\n css={{\n cursor: option?.disabled\n ? \"not-allowed !important\"\n : \"pointer !important\",\n background:\n value?.type === option.type\n ? \"#4A9CA626 !important\"\n : \"transparent !important\",\n }}\n >\n {\" \"}\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n css={{\n width: \"100%\",\n }}\n >\n <Flex\n css={{ cursor: \"pointer\" }}\n justifyContent=\"center\"\n flexDirection=\"column\"\n >\n <Text\n size=\"sm\"\n weight={\"regular\"}\n css={{ color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n <Text\n size=\"xs\"\n weight={\"regular\"}\n css={{ color: \"$neutral700\" }}\n >\n {option.description}\n </Text>\n </Flex>\n </Flex>\n </DropdownMenuSubTrigger>\n\n <DropdownMenuSubContent\n sideOffset={10}\n alignOffset={-5}\n css={{\n padding: \"0px !important\",\n maxHeight: \"500px\",\n minWidth: \"224px\",\n maxWidth: \"260px\",\n margin: \"0px !important\",\n ...(option.type === \"date\" && {\n border: \"none !important\",\n }),\n p: {\n margin: \"0px !important\",\n },\n marginBlockEnd: \"$10 !important\",\n }}\n className=\"dm-sans\"\n >\n {option.type === \"date\" && (\n <Calendar\n footerActionText=\"Apply\"\n size=\"md\"\n value={date}\n onChange={setDate}\n {...(option?.minValue && {\n minValue: parseDate(option?.minValue),\n })}\n {...(option?.maxValue && {\n maxValue: parseDate(option?.maxValue),\n })}\n footerAction={() => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: dayjs(date.toString()).format(\n \"MMM D, YYYY\"\n ),\n },\n });\n setOpen(false);\n }}\n />\n )}\n {option.type === \"dateRange\" && (\n <Flex\n css={{\n paddingInline: \"$4 !important\",\n paddingBlock: \"$8 !important\",\n }}\n flexDirection=\"column\"\n gap=\"$4\"\n >\n <RadioGroup\n defaultValue={value?.value}\n onChange={(value) => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: {\n type: value,\n value: value,\n label: dynamicDateOptions.find(\n (option) => option.value === value\n )?.label,\n },\n },\n });\n }}\n >\n {dynamicDateOptions.map((option) => (\n <Box\n css={{\n padding: \"$4 !important\",\n }}\n >\n <Radio value={option.value}>\n {\" \"}\n {option.label}{\" \"}\n </Radio>\n </Box>\n ))}\n </RadioGroup>\n {value?.value?.type === \"custom\" && (\n <Box\n css={{\n paddingRight: \"$4 !important\",\n position: \"relative\",\n }}\n >\n <Input\n size=\"md\"\n variant=\"filled\"\n value={days}\n onChange={(e) =>\n setDays((e.target as HTMLInputElement).value)\n }\n />\n <Text\n css={{\n position: \"absolute\",\n right: \"$8\",\n top: \"$3\",\n }}\n >\n Days\n </Text>\n </Box>\n )}\n\n <Flex\n justifyContent=\"space-between\"\n css={{\n borderBlockStart:\n \"$borderWidths$xs, solid, $neutral200 !important\",\n padding: \"$8\",\n }}\n >\n <Button size=\"sm\" variant=\"ghost\" color=\"secondary\">\n Cancel\n </Button>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={() => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: {\n type: value?.value?.type,\n value: days,\n label: value?.value?.label,\n },\n },\n });\n setOpen(false);\n }}\n >\n Apply\n </Button>\n </Flex>\n </Flex>\n )}\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n </Box>\n </Tooltip>\n );\n }\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nconst Configuration = ({\n field,\n configuredFields,\n responseImportType = null,\n}: any) => {\n let fieldValue = null;\n // if (field.id === \"responseImportType\") {\n // fieldValue = configuredFields?.map((item: any) => item.id === field.id)?.value ?? null;\n // } else {\n fieldValue = configuredFields?.[field.id]?.value ?? null;\n // }\n const [error, setError] = useState({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n switch (field.fieldType) {\n case \"switch\":\n return (\n <Flex\n gap=\"$4\"\n alignItems=\"center\"\n css={{\n marginBlockStart: \"$12\",\n borderTop: \"$borderWidths$xs solid $neutral200\",\n paddingTop: \"$16\",\n }}\n >\n <Switch\n disabled={field?.disabled}\n size=\"sm\"\n checked={field?.value}\n onChange={(value) =>\n field.onChangeHandler({\n id: field.id,\n value: value,\n })\n }\n />\n <Text size=\"md\" weight={\"regular\"} css={{ color: \"$neutral900\" }}>\n {field.label}\n </Text>\n </Flex>\n );\n\n case \"checkbox\":\n return (\n <Flex flexDirection=\"column\" alignItems=\"start\" gap=\"$4\">\n <Flex gap=\"$4\" alignItems=\"center\">\n <Checkbox\n disabled={field?.disabled}\n checked={!!fieldValue}\n onChange={(value) =>\n field.onChangeHandler({\n id: field.id,\n value: value,\n })\n }\n />\n <Text size=\"sm\" weight={\"regular\"} css={{ color: \"$neutral900\" }}>\n {field.label}\n </Text>\n </Flex>\n <Text size=\"sm\" weight={\"regular\"} css={{ color: \"$neutral500\" }}>\n {field.value\n ? field.ifChecked()\n : field.ifUnchecked(responseImportType)}\n </Text>\n </Flex>\n );\n\n case \"input\":\n return (\n <>\n {field?.id === \"spreadsheet\" ? (\n <>\n {configuredFields?.action?.value ? (\n <Box\n className=\"dm-sans\"\n css={{\n label: {\n fontSize: \"$xs !important\",\n },\n }}\n >\n <FormInput\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={\n typeof fieldValue === \"object\" ? \"\" : fieldValue || \"\"\n }\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={(event) => {\n if (field?.pattern) {\n const pattern = new RegExp(field.pattern);\n if (\n !pattern.test(event.currentTarget.value) &&\n event.currentTarget.value !== \"\"\n ) {\n setError({\n errorMessage: field.errorMessage,\n error: true,\n id: field.id,\n });\n } else {\n setError({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n }\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n } else {\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n }\n }}\n />\n </Box>\n ) : null}\n </>\n ) : (\n <Box\n className=\"dm-sans\"\n css={{\n label: {\n fontSize: \"$xs !important\",\n },\n }}\n >\n <FormInput\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={typeof fieldValue === \"object\" ? \"\" : fieldValue || \"\"}\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={(event) => {\n if (field?.pattern) {\n const pattern = new RegExp(field.pattern);\n if (\n !pattern.test(event.currentTarget.value) &&\n event.currentTarget.value !== \"\"\n ) {\n setError({\n errorMessage: field.errorMessage,\n error: true,\n id: field.id,\n });\n } else {\n setError({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n }\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n } else {\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n }\n }}\n />\n </Box>\n )}\n </>\n );\n default:\n return (\n <>\n {field.id === \"spreadsheet\" ? (\n <>\n {configuredFields?.action?.value ? (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: \"pointer !important\",\n \".twigs-select__indicator\": {\n width: \"14px !important\",\n color: \"#848484 !important\",\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n ) : null}\n </>\n ) : (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: \"pointer !important\",\n \".twigs-select__indicator\": {\n width: \"14px !important\",\n color: \"#848484 !important\",\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n )}\n </>\n );\n }\n};\n\nconst CustomAddNewSelect = ({ field }: any) => {\n return (\n <Select\n isDisabled={field?.disabled}\n placeholder=\"\"\n size=\"lg\"\n css={{\n cursor: \"pointer\",\n }}\n components={{\n Option: CustomShareOption,\n SingleValue: CustomSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n }),\n }}\n value={field.value}\n onChange={(value) => {\n field.onChangeHandler({\n id: field?.id ?? field?.label,\n value: value,\n });\n }}\n options={field.options}\n />\n );\n};\nconst CustomShareOption: React.FC<OptionProps<any>> = (props) => {\n if (props.data.value === \"ADD_NEW\") {\n return (\n <Tooltip\n content={props.data.tooltip || \"\"}\n css={{\n zIndex: 999999999,\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <components.Option {...props}>\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ cursor: \"pointer\", zIndex: 999999999 }}\n >\n <Flex\n gap=\"$2\"\n alignItems=\"center\"\n css={{\n color: \"$primary500\",\n fontSize: \"$sm\",\n fontWeight: \"$7\",\n }}\n >\n <PlusIcon size={16} color=\"#4A9CA6\" />\n Add Account\n </Flex>\n </Flex>\n </components.Option>\n </Box>\n </Tooltip>\n );\n } else {\n return (\n <components.Option {...props}>\n <Flex\n css={{ cursor: \"pointer\", zIndex: 999999999 }}\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap=\"$2\"\n >\n <Text size=\"sm\">{props.label}</Text>{\" \"}\n {props.data.isAddonAccount && (\n <Chip\n color=\"primary\"\n size=\"sm\"\n leftElement={<TickCircleFillIcon />}\n >\n In Use (Add-on)\n </Chip>\n )}\n </Flex>\n </components.Option>\n );\n }\n};\nconst CustomSingleValue: React.FC<SingleValueProps<any>> = (props) => {\n if (props.data.value === \"ADD_NEW\") {\n return (\n <components.SingleValue {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n <PlusIcon size={16} />\n <Text size=\"sm\">{props.data.label}</Text>\n </Flex>\n </components.SingleValue>\n );\n } else {\n return (\n <components.SingleValue {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n <Text size=\"sm\">{props.data.label}</Text>\n </Flex>\n </components.SingleValue>\n );\n }\n};\n"],"names":["surveySparrowURL","useState","useEffect","ThemeProvider","Box","FieldMapping","Flex","Heading","Text","FormLabel","Select","Button","ChevronRightIcon","fields","DraftModal","IconButton","ArrowLeftIcon","Arrow","NamingModal","Tooltip","Switch","Checkbox","FormInput","components","PlusIcon","Chip","TickCircleFillIcon"],"mappings":"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"}
|
|
@@ -58,6 +58,7 @@ const Mapping = ({
|
|
|
58
58
|
contactProperties: [],
|
|
59
59
|
expressions: []
|
|
60
60
|
});
|
|
61
|
+
console.log(surveyDetails, "surveyDetails");
|
|
61
62
|
const [showCustomPropertyModal, setShowCustomPropertyModal] = useState(false);
|
|
62
63
|
const [customPropertyField, setCustomPropertyField] = useState("");
|
|
63
64
|
const [loader, setLoader] = useState(true);
|
|
@@ -87,22 +88,36 @@ const Mapping = ({
|
|
|
87
88
|
})
|
|
88
89
|
);
|
|
89
90
|
};
|
|
90
|
-
const hasRequiredProps = () =>
|
|
91
|
+
const hasRequiredProps = () => {
|
|
92
|
+
var _a, _b;
|
|
93
|
+
return !!fields && !!setFields && !!integrationFields && !!setIntegrationFields && (!!token || ((_b = Object.keys((_a = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) != null ? _a : {})) == null ? void 0 : _b.length) > 0);
|
|
94
|
+
};
|
|
95
|
+
console.log(hasRequiredProps(), "hasRequiredProps");
|
|
91
96
|
const fetchInitialMappingData = async () => {
|
|
97
|
+
var _a, _b, _c, _d, _e, _f;
|
|
92
98
|
setLoader(true);
|
|
93
99
|
try {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
100
|
+
if (((_b = Object.keys((_a = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) != null ? _a : {})) == null ? void 0 : _b.length) > 0) {
|
|
101
|
+
setSSMappingData({
|
|
102
|
+
questions: ((_c = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) == null ? void 0 : _c.questions) || [],
|
|
103
|
+
contactProperties: ((_d = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) == null ? void 0 : _d.contactProperties) || [],
|
|
104
|
+
variables: ((_e = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) == null ? void 0 : _e.variables) || [],
|
|
105
|
+
expressions: ((_f = surveyDetails == null ? void 0 : surveyDetails.surveyProperties) == null ? void 0 : _f.expressions) || []
|
|
106
|
+
});
|
|
107
|
+
} else {
|
|
108
|
+
const [questions, variables, contactProperties, expressions] = await Promise.all([
|
|
109
|
+
fetchSurveyQuestions(apiURL, surveyId, token != null ? token : ""),
|
|
110
|
+
fetchSurveyVariables(apiURL, surveyId, token != null ? token : ""),
|
|
111
|
+
fetchContactProperties(apiURL, token != null ? token : ""),
|
|
112
|
+
fetchSurveyExpression(apiURL, surveyId, token != null ? token : "")
|
|
113
|
+
]);
|
|
114
|
+
setSSMappingData({
|
|
115
|
+
questions: questions || [],
|
|
116
|
+
contactProperties: contactProperties || [],
|
|
117
|
+
variables: variables || [],
|
|
118
|
+
expressions: expressions || []
|
|
119
|
+
});
|
|
120
|
+
}
|
|
106
121
|
} catch (error) {
|
|
107
122
|
console.error(MAPPING_ERROR_MESSAGES.FETCH_ERROR, error);
|
|
108
123
|
setSSMappingData({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping.js","sources":["../../../../src/mapping/components/mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Checkbox,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect, useState, useMemo } from \"react\";\nimport { PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { surveySparrowURL } from \"../../commons/constants\";\nimport { DEFAULT_FIELD_VALUE, MAPPING_ERROR_MESSAGES } from \"../constants\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n fetchContactProperties,\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchSurveyExpression,\n} from \"../services\";\nimport { MappingTypeProps, ssMappingDataResponse, FieldType, SelectOption, IntegrationFieldType } from \"../types\";\nimport { FormFieldValue, FieldChangeHandler } from \"../../commons/types/enhanced\";\nimport { UI_CONSTANTS, MAPPING_TYPES } from \"../../commons/constants/enhanced\";\nimport ImportModal from \"../../commons/components/import-modal\";\nimport Spinner from \"../../commons/components/spinner\";\nimport Field from \"./field\";\nimport PlaceholderSpan from \"./placeholder-span\";\n\n\nexport const Mapping: React.FC<MappingTypeProps> = ({\n havingTypeDropdown,\n integrationName,\n surveyId,\n surveyType,\n fields,\n setFields,\n integrationFields,\n hasCustomMenuProperty,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n surveyDetails,\n customList,\n oldResponse,\n}) => {\n const [ssMappingData, setSSMappingData] = useState<\n ssMappingDataResponse<SelectOption>\n >({\n questions: [],\n variables: [],\n contactProperties: [],\n expressions: [],\n });\n const [showCustomPropertyModal, setShowCustomPropertyModal] = useState(false);\n const [customPropertyField, setCustomPropertyField] = useState<string>(\"\");\n const [loader, setLoader] = useState<boolean>(true);\n const essentialFields = fields?.filter((field) => field?.isEssentialField);\n const commonFields = fields?.filter((field) => !field?.isEssentialField);\n\n const customHandler = (field: FieldType | undefined, property: string, value: FormFieldValue): Array<IntegrationFieldType> => {\n if (field?.dependency && typeof field.dependency === 'object' && 'length' in field.dependency) {\n return (field.dependency as unknown) as Array<IntegrationFieldType>;\n }\n return [];\n };\n\n const handleFieldValue: FieldChangeHandler = (id: string | number, property: string, value: FormFieldValue) => {\n let dependentField: Array<IntegrationFieldType> = [];\n const targetField = fields.find((field) => field.id === id);\n dependentField = customHandler(\n targetField,\n property,\n value\n );\n let currentFields = [...fields, ...dependentField].filter(\n (obj, index, self) =>\n index ===\n self.findIndex((o) => JSON.stringify(o) === JSON.stringify(obj))\n );\n setFields(\n currentFields?.map((field) => {\n if (field.id === id) {\n return property === \"type\"\n ? { ...field, surveySparrowField: null, mappedType: value, id: id.toString() }\n : property === \"integrationFieldType\"\n ? { ...field, defaultValue: null, [property]: value }\n : { ...field, [property]: value };\n } else {\n return { ...field };\n }\n }) as FieldType[]\n );\n };\n\n const hasRequiredProps = () =>\n !!fields &&\n !!setFields &&\n !!integrationFields &&\n !!setIntegrationFields &&\n !!token;\n\n const fetchInitialMappingData = async (): Promise<void> => {\n setLoader(true);\n try {\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 as any) || [],\n contactProperties: (contactProperties as any) || [],\n variables: (variables as any) || [],\n expressions: (expressions as any) || [],\n });\n } catch (error) {\n console.error(MAPPING_ERROR_MESSAGES.FETCH_ERROR, error);\n setSSMappingData({\n questions: [],\n contactProperties: [],\n variables: [],\n expressions: [],\n });\n } finally {\n setLoader(false);\n }\n };\n\n const getEssentialFieldsNumber = (length: number): string => {\n const numberMapping: Record<number, string> = {\n 1: \"one\",\n 2: \"two\",\n 3: \"three\",\n 4: \"four\",\n 5: \"five\",\n 6: \"six\",\n 7: \"seven\",\n 8: \"eight\",\n 9: \"nine\",\n 10: \"ten\",\n };\n return numberMapping[length] ?? \"These\";\n };\n\n useEffect(() => {\n setFields(\n fields?.length === 0\n ? [{ ...DEFAULT_FIELD_VALUE, id: uuid() } as FieldType]\n : fields?.map((field) => ({ ...field, id: uuid() })) as FieldType[]\n );\n if (!!token && token?.length > 60 && !!surveyId) {\n fetchInitialMappingData();\n } else {\n setLoader(false);\n }\n }, [token, surveyId]);\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\">\n {hasRequiredProps() ? (\n <>\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: 1120, width: \"100%\", marginBlock: \"$40\" }}>\n <Heading\n size=\"h5\"\n css={{ color: \"$neutral900\" }}\n >{`Map to ${integrationName}`}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text\n size=\"sm\"\n weight={\"medium\"}\n css={{ color: \"$neutral800\" }}\n >\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n {!!essentialFields?.length && (\n <Box\n css={{\n width: \"100%\",\n paddingBlock: \"$12 $20\",\n borderBottom: \"$borderWidths$xs dashed $neutral200\",\n maxWidth: 1084,\n }}\n >\n <Text\n size=\"md\"\n css={{\n color: \"$neutral500\",\n lineHeight: \"$md\",\n marginTop: \"$4\",\n }}\n >\n This connection requires{\" \"}\n <PlaceholderSpan color=\"$neutral600\">\n {essentialFields?.length}\n </PlaceholderSpan>\n <PlaceholderSpan color=\"$negative500\">*</PlaceholderSpan>{\" \"}\n essential mappings\n </Text>\n <Flex\n flexDirection=\"column\"\n gap=\"$20\"\n css={{ marginTop: \"$12\" }}\n >\n {essentialFields?.map((field, idx) => (\n <Field\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n key={field.id}\n field={field}\n integrationName={integrationName}\n handleFieldValue={(id: string | number, property: string, value: FormFieldValue) =>\n handleFieldValue(id, property, value)\n }\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={commonFields.length === 1}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n ))}\n </Flex>\n </Box>\n )}\n <Flex flexDirection=\"column\" gap=\"$16\" css={{ marginTop: \"$16\" }}>\n {commonFields?.map((field, idx) => {\n return (\n <Field\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n key={field.id}\n field={field}\n integrationName={integrationName}\n removeField={() => {\n setFields((prev) =>\n prev.filter(\n (currentField) => currentField.id !== field.id\n )\n );\n }}\n handleFieldValue={(id: string | number, property: string, value: FormFieldValue) =>\n handleFieldValue(id, property, value)\n }\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={false}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n );\n })}\n </Flex>\n <Button\n leftIcon={<PlusIcon />}\n color=\"default\"\n css={{ marginTop: \"$10\" }}\n onClick={() =>\n setFields([\n ...fields,\n {\n ...DEFAULT_FIELD_VALUE,\n id: uuid(),\n } as FieldType,\n ])\n }\n size=\"md\"\n >\n New mapping field\n </Button>\n {customList?.hasCustomList && (\n <Flex\n css={{ marginTop: \"$40\" }}\n flexDirection=\"column\"\n gap=\"$8\"\n >\n <Flex flexDirection=\"column\" gap=\"$3\">\n <Heading size=\"h5\">Choose a List</Heading>\n <Text css={{ color: \"$neutral500\" }} size=\"sm\">\n Pick a list to save mapped fields; If not, they'll be\n saved under all profiles.\n </Text>\n </Flex>\n <Select\n css={{ maxWidth: 400, width: \"100%\" }}\n size=\"lg\"\n options={customList.options}\n value={customList.value}\n placeholder=\"\"\n onChange={(value: any) => customList.onChangeHandler(value)}\n />\n </Flex>\n )}\n {/* Old Response */}\n {oldResponse?.hasOldResponse && (\n <Checkbox\n onChange={(value: any) => oldResponse.onChangeHandler(value)}\n css={{ marginBlock: \"$8\", cursor: \"pointer\" }}\n checked={oldResponse.value as boolean}\n >\n <FormLabel size=\"sm\">Import Old Response</FormLabel>\n </Checkbox>\n )}\n {showCustomPropertyModal && (\n <ImportModal\n onCloseHandler={() => setShowCustomPropertyModal(false)}\n onInputHandler={(value: any) => setCustomPropertyField(value)}\n onSaveHandler={() => {\n setIntegrationFields &&\n setIntegrationFields((prev) => [\n ...prev,\n {\n id: customPropertyField,\n label: customPropertyField,\n value: customPropertyField,\n type: 'string',\n } as unknown as IntegrationFieldType,\n ]);\n setShowCustomPropertyModal(false);\n }}\n />\n )}\n </Box>\n )}\n </>\n ) : (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"100%\" }}\n >\n <Heading size=\"h4\" weight=\"bold\">\n Provide the needed props to import Mapping Template\n </Heading>\n </Flex>\n )}\n </Flex>\n );\n};\n"],"names":["uuid","React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mapping.js","sources":["../../../../src/mapping/components/mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Checkbox,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect, useState, useMemo } from \"react\";\nimport { PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { surveySparrowURL } from \"../../commons/constants\";\nimport { DEFAULT_FIELD_VALUE, MAPPING_ERROR_MESSAGES } from \"../constants\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n fetchContactProperties,\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchSurveyExpression,\n} from \"../services\";\nimport { MappingTypeProps, ssMappingDataResponse, FieldType, SelectOption, IntegrationFieldType } from \"../types\";\nimport { FormFieldValue, FieldChangeHandler } from \"../../commons/types/enhanced\";\nimport { UI_CONSTANTS, MAPPING_TYPES } from \"../../commons/constants/enhanced\";\nimport ImportModal from \"../../commons/components/import-modal\";\nimport Spinner from \"../../commons/components/spinner\";\nimport Field from \"./field\";\nimport PlaceholderSpan from \"./placeholder-span\";\n\n\nexport const Mapping: React.FC<MappingTypeProps> = ({\n havingTypeDropdown,\n integrationName,\n surveyId,\n surveyType,\n fields,\n setFields,\n integrationFields,\n hasCustomMenuProperty,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n surveyDetails,\n customList,\n oldResponse,\n}) => {\n const [ssMappingData, setSSMappingData] = useState<\n ssMappingDataResponse<SelectOption>\n >({\n questions: [],\n variables: [],\n contactProperties: [],\n expressions: [],\n });\n\n\nconsole.log(surveyDetails, \"surveyDetails\");\n\n const [showCustomPropertyModal, setShowCustomPropertyModal] = useState(false);\n const [customPropertyField, setCustomPropertyField] = useState<string>(\"\");\n const [loader, setLoader] = useState<boolean>(true);\n const essentialFields = fields?.filter((field) => field?.isEssentialField);\n const commonFields = fields?.filter((field) => !field?.isEssentialField);\n\n const customHandler = (field: FieldType | undefined, property: string, value: FormFieldValue): Array<IntegrationFieldType> => {\n if (field?.dependency && typeof field.dependency === 'object' && 'length' in field.dependency) {\n return (field.dependency as unknown) as Array<IntegrationFieldType>;\n }\n return [];\n };\n\n const handleFieldValue: FieldChangeHandler = (id: string | number, property: string, value: FormFieldValue) => {\n let dependentField: Array<IntegrationFieldType> = [];\n const targetField = fields.find((field) => field.id === id);\n dependentField = customHandler(\n targetField,\n property,\n value\n );\n let currentFields = [...fields, ...dependentField].filter(\n (obj, index, self) =>\n index ===\n self.findIndex((o) => JSON.stringify(o) === JSON.stringify(obj))\n );\n setFields(\n currentFields?.map((field) => {\n if (field.id === id) {\n return property === \"type\"\n ? { ...field, surveySparrowField: null, mappedType: value, id: id.toString() }\n : property === \"integrationFieldType\"\n ? { ...field, defaultValue: null, [property]: value }\n : { ...field, [property]: value };\n } else {\n return { ...field };\n }\n }) as FieldType[]\n );\n };\n\n const hasRequiredProps = () =>\n !!fields &&\n !!setFields &&\n !!integrationFields &&\n !!setIntegrationFields && (!!token || Object.keys(surveyDetails?.surveyProperties ?? {})?.length > 0);\n console.log(hasRequiredProps(), \"hasRequiredProps\");\n\n const fetchInitialMappingData = async (): Promise<void> => {\n setLoader(true);\n try {\n if(Object.keys(surveyDetails?.surveyProperties ?? {})?.length > 0){\n setSSMappingData({\n questions: (surveyDetails?.surveyProperties?.questions as any) || [],\n contactProperties: (surveyDetails?.surveyProperties?.contactProperties as any) || [],\n variables: (surveyDetails?.surveyProperties?.variables as any) || [],\n expressions: (surveyDetails?.surveyProperties?.expressions as any) || [],\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 as any) || [],\n contactProperties: (contactProperties as any) || [],\n variables: (variables as any) || [],\n expressions: (expressions as any) || [],\n });\n }\n\n } catch (error) {\n console.error(MAPPING_ERROR_MESSAGES.FETCH_ERROR, error);\n setSSMappingData({\n questions: [],\n contactProperties: [],\n variables: [],\n expressions: [],\n });\n } finally {\n setLoader(false);\n }\n };\n\n const getEssentialFieldsNumber = (length: number): string => {\n const numberMapping: Record<number, string> = {\n 1: \"one\",\n 2: \"two\",\n 3: \"three\",\n 4: \"four\",\n 5: \"five\",\n 6: \"six\",\n 7: \"seven\",\n 8: \"eight\",\n 9: \"nine\",\n 10: \"ten\",\n };\n return numberMapping[length] ?? \"These\";\n };\n\n useEffect(() => {\n setFields(\n fields?.length === 0\n ? [{ ...DEFAULT_FIELD_VALUE, id: uuid() } as FieldType]\n : fields?.map((field) => ({ ...field, id: uuid() })) as FieldType[]\n );\n if (!!token && token?.length > 60 && !!surveyId) {\n fetchInitialMappingData();\n } else {\n setLoader(false);\n }\n }, [token, surveyId]);\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\">\n {hasRequiredProps() ? (\n <>\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: 1120, width: \"100%\", marginBlock: \"$40\" }}>\n <Heading\n size=\"h5\"\n css={{ color: \"$neutral900\" }}\n >{`Map to ${integrationName}`}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text\n size=\"sm\"\n weight={\"medium\"}\n css={{ color: \"$neutral800\" }}\n >\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n {!!essentialFields?.length && (\n <Box\n css={{\n width: \"100%\",\n paddingBlock: \"$12 $20\",\n borderBottom: \"$borderWidths$xs dashed $neutral200\",\n maxWidth: 1084,\n }}\n >\n <Text\n size=\"md\"\n css={{\n color: \"$neutral500\",\n lineHeight: \"$md\",\n marginTop: \"$4\",\n }}\n >\n This connection requires{\" \"}\n <PlaceholderSpan color=\"$neutral600\">\n {essentialFields?.length}\n </PlaceholderSpan>\n <PlaceholderSpan color=\"$negative500\">*</PlaceholderSpan>{\" \"}\n essential mappings\n </Text>\n <Flex\n flexDirection=\"column\"\n gap=\"$20\"\n css={{ marginTop: \"$12\" }}\n >\n {essentialFields?.map((field, idx) => (\n <Field\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n key={field.id}\n field={field}\n integrationName={integrationName}\n handleFieldValue={(id: string | number, property: string, value: FormFieldValue) =>\n handleFieldValue(id, property, value)\n }\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={commonFields.length === 1}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n ))}\n </Flex>\n </Box>\n )}\n <Flex flexDirection=\"column\" gap=\"$16\" css={{ marginTop: \"$16\" }}>\n {commonFields?.map((field, idx) => {\n return (\n <Field\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n key={field.id}\n field={field}\n integrationName={integrationName}\n removeField={() => {\n setFields((prev) =>\n prev.filter(\n (currentField) => currentField.id !== field.id\n )\n );\n }}\n handleFieldValue={(id: string | number, property: string, value: FormFieldValue) =>\n handleFieldValue(id, property, value)\n }\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={false}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n );\n })}\n </Flex>\n <Button\n leftIcon={<PlusIcon />}\n color=\"default\"\n css={{ marginTop: \"$10\" }}\n onClick={() =>\n setFields([\n ...fields,\n {\n ...DEFAULT_FIELD_VALUE,\n id: uuid(),\n } as FieldType,\n ])\n }\n size=\"md\"\n >\n New mapping field\n </Button>\n {customList?.hasCustomList && (\n <Flex\n css={{ marginTop: \"$40\" }}\n flexDirection=\"column\"\n gap=\"$8\"\n >\n <Flex flexDirection=\"column\" gap=\"$3\">\n <Heading size=\"h5\">Choose a List</Heading>\n <Text css={{ color: \"$neutral500\" }} size=\"sm\">\n Pick a list to save mapped fields; If not, they'll be\n saved under all profiles.\n </Text>\n </Flex>\n <Select\n css={{ maxWidth: 400, width: \"100%\" }}\n size=\"lg\"\n options={customList.options}\n value={customList.value}\n placeholder=\"\"\n onChange={(value: any) => customList.onChangeHandler(value)}\n />\n </Flex>\n )}\n {/* Old Response */}\n {oldResponse?.hasOldResponse && (\n <Checkbox\n onChange={(value: any) => oldResponse.onChangeHandler(value)}\n css={{ marginBlock: \"$8\", cursor: \"pointer\" }}\n checked={oldResponse.value as boolean}\n >\n <FormLabel size=\"sm\">Import Old Response</FormLabel>\n </Checkbox>\n )}\n {showCustomPropertyModal && (\n <ImportModal\n onCloseHandler={() => setShowCustomPropertyModal(false)}\n onInputHandler={(value: any) => setCustomPropertyField(value)}\n onSaveHandler={() => {\n setIntegrationFields &&\n setIntegrationFields((prev) => [\n ...prev,\n {\n id: customPropertyField,\n label: customPropertyField,\n value: customPropertyField,\n type: 'string',\n } as unknown as IntegrationFieldType,\n ]);\n setShowCustomPropertyModal(false);\n }}\n />\n )}\n </Box>\n )}\n </>\n ) : (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"100%\" }}\n >\n <Heading size=\"h4\" weight=\"bold\">\n Provide the needed props to import Mapping Template\n </Heading>\n </Flex>\n )}\n </Flex>\n );\n};\n"],"names":["uuid","React"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/mapping/index.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Text,\n ThemeProvider,\n Checkbox,\n FormInput,\n Switch,\n Radio,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n Input,\n Calendar,\n RadioGroup,\n Tooltip,\n Chip,\n} from \"@sparrowengg/twigs-react\";\nimport {\n ArrowLeftIcon,\n ChevronRightIcon,\n ChevronDownIcon,\n PlusIcon,\n TickCircleFillIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState } from \"react\";\nimport Arrow from \"../commons/icons/arrow\";\nimport { Mapping as FieldMapping } from \"./components/mapping\";\nimport { surveySparrowURL } from \"../commons/constants\";\nimport {\n CustomListFieldType,\n FieldType,\n OldResponseFieldType,\n SelectOption,\n IntegrationFieldType,\n} from \"./types\";\nimport DraftModal from \"../commons/components/draftModal\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport { dynamicDateOptions } from \"../commons/constants\";\nimport { components, OptionProps, SingleValueProps } from \"react-select\";\nimport dayjs from \"dayjs\";\nimport NamingModal from \"../commons/components/NamingModal\";\n\ntype FieldMappingPropsType = {\n hasNamingModal: boolean;\n havingTypeDropdown: boolean;\n onSaveMappingLoader: boolean;\n surveyDetails: {\n surveyName: string;\n surveyId: string | number;\n };\n integrationName: string;\n fields: Array<FieldType>;\n setFields: React.Dispatch<React.SetStateAction<Array<FieldType>>>;\n integrationFields: Array<IntegrationFieldType>;\n setIntegrationFields: React.Dispatch<\n React.SetStateAction<Array<IntegrationFieldType>>\n >;\n apiURL: string;\n token: string;\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n isMappingPage: boolean;\n surveyType: string;\n navigateMappingPage: (value?: boolean) => void;\n customList: CustomListFieldType;\n oldResponse: OldResponseFieldType;\n hasPreviousMapping: boolean;\n onSaveHandler: () => void;\n editField: {\n id: string | number;\n fieldValues: Array<FieldType>;\n } | null;\n previousMappingHandler: (value?: boolean) => void;\n onDeleteHandler?: (id: string | number) => void;\n draftHandler: (type: string | null, editFieldId?: string | number) => void;\n configuration: {\n setMappingName?: (value: string) => void;\n currentMappingName?: string;\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n configuredFields: unknown;\n title: string;\n };\n};\n\nexport const Mapping = ({\n hasNamingModal,\n havingTypeDropdown,\n onSaveMappingLoader,\n surveyDetails,\n integrationName,\n fields,\n setFields,\n integrationFields,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n accounts,\n events,\n actions,\n isMappingPage,\n surveyType,\n navigateMappingPage,\n customList,\n oldResponse,\n hasPreviousMapping,\n onSaveHandler,\n editField,\n previousMappingHandler,\n draftHandler,\n configuration,\n}: FieldMappingPropsType) => {\n const [previousMapping, setPreviousMapping] = useState(\n hasPreviousMapping ?? false\n );\n\n useEffect(() => {\n if (!!editField?.id) {\n setFields(editField.fieldValues);\n setPreviousMapping(true);\n }\n }, []);\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 },\n }}\n >\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n <MappingHeader\n navigateMappingPage={navigateMappingPage}\n accounts={accounts}\n events={events}\n actions={actions}\n havingTypeDropdown={havingTypeDropdown}\n onSaveMappingLoader={onSaveMappingLoader}\n hasPreviousMapping={previousMapping}\n isMappingPage={isMappingPage}\n fields={fields}\n editFieldId={editField?.id}\n onSaveHandler={onSaveHandler}\n navigateEventPage={() => navigateMappingPage(false)}\n previousMappingHandler={previousMappingHandler}\n draftHandler={draftHandler}\n hasNamingModal={hasNamingModal}\n configuration={configuration}\n />\n {!isMappingPage ? (\n <EventSetup\n surveyDetails={surveyDetails}\n accounts={accounts}\n events={events}\n actions={actions}\n navigateMappingPage={navigateMappingPage}\n configuration={configuration}\n editFieldId={editField?.id}\n />\n ) : (\n <FieldMapping\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n fields={fields}\n setFields={setFields}\n surveyDetails={surveyDetails}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n surveyId={surveyDetails.surveyId}\n token={token}\n apiURL={apiURL}\n integrationName={integrationName}\n customList={customList}\n oldResponse={oldResponse}\n />\n )}\n </Box>\n </ThemeProvider>\n );\n};\n\ntype EventSetupProps = {\n surveyDetails: {\n surveyName: string;\n surveyId: number | string;\n };\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n navigateMappingPage: (value?: boolean) => void;\n configuration: {\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n title: string;\n configuredFields: unknown;\n };\n editFieldId: unknown;\n};\n\nconst EventSetup = ({\n surveyDetails,\n accounts,\n events,\n actions,\n navigateMappingPage,\n configuration,\n editFieldId,\n}: EventSetupProps) => {\n useEffect(() => {\n if (actions?.value) {\n actions?.onChangeHandler(actions?.value);\n }\n if (events?.value) {\n events?.onChangeHandler(events?.value);\n }\n }, [actions?.value, events?.value]);\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n {configuration.hasConfiguration ? (\n <>\n <ConfigurationSetup\n configuration={configuration}\n surveyName={surveyDetails.surveyName}\n editField={editFieldId}\n />\n </>\n ) : (\n <>\n <Heading size=\"h5\">{configuration?.title}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text size=\"sm\" weight={\"medium\"} css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Account\n </FormLabel>\n <Select\n value={accounts.value}\n options={accounts.options}\n placeholder=\"\"\n onChange={(value: unknown) =>\n accounts.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n size=\"lg\"\n />\n </Flex>\n )}\n {events?.hasEvents && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Object\n </FormLabel>\n <Select\n options={events.options}\n value={events?.value}\n placeholder=\"\"\n onChange={(value: unknown) =>\n events.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n size=\"lg\"\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Action\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actions?.value}\n placeholder=\"\"\n onChange={(value: unknown) =>\n actions.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n />\n </Flex>\n )}\n </Flex>\n </>\n )}\n\n <Button\n size=\"lg\"\n disabled={\n configuration.hasConfiguration\n ? false\n : (!actions?.value || !events?.value)\n }\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n onClick={() => navigateMappingPage()}\n >\n Continue Mapping\n </Button>\n </Box>\n </Flex>\n );\n};\n\ntype MappingHeaderProps = {\n hasNamingModal: boolean;\n draftHandler: (type: string | null, editFieldId?: string | number) => void;\n navigateMappingPage: (value?: boolean) => void;\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n havingTypeDropdown: boolean;\n onSaveMappingLoader: boolean;\n hasPreviousMapping: boolean;\n isMappingPage: boolean;\n fields: Array<FieldType>;\n navigateEventPage: () => void;\n onSaveHandler: (editFieldId?: string | number) => void;\n previousMappingHandler: (value?: boolean) => void;\n editFieldId: string | number | undefined;\n configuration: {\n setMappingName?: (value: string) => void;\n currentMappingName?: string;\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n title: string;\n configuredFields: unknown;\n };\n};\n\nconst MappingHeader = ({\n hasNamingModal,\n navigateMappingPage,\n accounts,\n events,\n actions,\n havingTypeDropdown,\n onSaveMappingLoader,\n hasPreviousMapping,\n isMappingPage,\n fields,\n navigateEventPage,\n onSaveHandler,\n previousMappingHandler,\n editFieldId,\n draftHandler,\n configuration,\n}: MappingHeaderProps) => {\n const isDisabled = !actions?.value || !events?.value;\n const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);\n const [isNamingModalOpen, setIsNamingModalOpen] = useState(false);\n\n const isAllEssentialMapped = (fields: Array<FieldType>) => {\n let status = true;\n fields?.map((field: FieldType) => {\n if (field?.isEssentialField) {\n status = status && field?.surveySparrowField !== null;\n if (havingTypeDropdown) {\n status =\n status &&\n field?.integrationFieldType !== null &&\n field?.integrationField !== null;\n }\n } else {\n if (!!field?.integrationField || !!field?.surveySparrowField) {\n status =\n status && !!field?.integrationField && !!field?.surveySparrowField;\n }\n }\n });\n return status;\n };\n\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n position: \"sticky\",\n width: \"100%\",\n top: \"1px\",\n zIndex: \"99\",\n background: \"#ffff\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n {isDraftModalOpen && (\n <DraftModal\n onSaveHandler={async () => {\n await draftHandler(\"MAPPING\", editFieldId?.toString());\n setIsDraftModalOpen(false);\n await previousMappingHandler();\n }}\n onCloseHandler={() => setIsDraftModalOpen(false)}\n onCancel={async () => {\n await previousMappingHandler();\n setIsDraftModalOpen(false);\n }}\n />\n )}\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasPreviousMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton\n onClick={() => previousMappingHandler()}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n />\n <Heading size=\"h6\">\n {editFieldId ? \"Edit Mapping\" : \"New Mapping\"}\n </Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" },\n }}\n >\n <Button\n css={{ color: !isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={() => isMappingPage && navigateEventPage()}\n >\n Event Setup\n </Button>\n <Arrow />\n <Button\n onClick={() => navigateMappingPage()}\n css={{ color: !isDisabled ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n disabled={isDisabled}\n >\n Mapping\n </Button>\n </Flex>\n <Button\n size=\"lg\"\n disabled={!isAllEssentialMapped(fields)}\n onClick={() => {\n if (hasNamingModal) {\n setIsNamingModalOpen(true);\n } else {\n onSaveHandler(editFieldId);\n }\n }}\n css={{ visibility: isMappingPage ? \"visible\" : \"hidden\" }}\n >\n {editFieldId ? \"Update Mapping\" : \"Save Mapping\"}\n </Button>\n {hasNamingModal && (\n <NamingModal\n editFieldId={editFieldId}\n mappingLoader={onSaveMappingLoader}\n saveHandler={() => onSaveHandler(editFieldId)}\n closeHandler={() => setIsNamingModalOpen(false)}\n value={configuration?.currentMappingName || \"\"}\n setValue={(value: string) => configuration?.setMappingName?.(value)}\n isOpen={isNamingModalOpen}\n />\n )}\n </Flex>\n );\n};\n\nconst ConfigurationSetup = ({\n configuration,\n surveyName,\n editField,\n}: {\n configuration: any;\n surveyName: string;\n editField: any;\n}) => {\n return (\n <Box css={{ maxWidth: 488, width: \"100%\" }}>\n <Heading size=\"h5\">{configuration?.title}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Tooltip\n content={surveyName?.length > 25 ? surveyName : \"\"}\n css={{\n zIndex: \"9999999 !important\",\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <Text\n size=\"sm\"\n weight={\"medium\"}\n truncate\n css={{ color: \"$neutral800\", maxWidth: \"270px\" }}\n >\n {surveyName}\n </Text>\n </Box>\n </Tooltip>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$8\"\n css={{\n marginTop: \"$12\",\n \"& label\": {\n color: \"$neutral800\",\n },\n }}\n >\n {configuration.configurationFields?.map((field: any) => {\n return (\n <Configuration\n field={field}\n configuredFields={configuration.configuredFields}\n />\n );\n })}\n </Flex>\n </Box>\n );\n};\n\nconst CustomDropdown = ({ data, onChangeHandler, value, editField }: any) => {\n const [date, setDate] = useState<DateValue>(() => {\n try {\n return value\n ? parseDate(dayjs(value).format(\"YYYY-MM-DD\"))\n : parseDate(dayjs().format(\"YYYY-MM-DD\"));\n } catch (e) {\n return parseDate(dayjs().format(\"YYYY-MM-DD\"));\n }\n });\n const [days, setDays] = useState(value?.value?.value ?? 0);\n const [open, setOpen] = useState(false);\n const [hasBeenOpened, setHasBeenOpened] = useState(false);\n useEffect(() => {\n if (!editField?.id && !hasBeenOpened) {\n setOpen(true);\n setHasBeenOpened(true);\n }\n }, [editField?.id, hasBeenOpened]);\n\n return (\n <DropdownMenu open={open} onOpenChange={setOpen} modal={false}>\n <DropdownMenuTrigger asChild>\n <Input\n size=\"lg\"\n rightIcon={<ChevronDownIcon size={30} color=\"#6A6A6A\" />}\n placeholder=\"Choose\"\n value={\n value?.type === \"date\"\n ? `${value?.label} > ${value?.value}`\n : value?.type === \"dateRange\"\n ? `${value?.label} - ${value?.value?.type === \"custom\" ? `${value?.value?.value} days` : value?.value?.label}`\n : value?.label\n }\n css={{\n \"& input\": {\n textAlign: \"left !important\",\n },\n }}\n />\n </DropdownMenuTrigger>\n\n <DropdownMenuContent\n css={{\n width: \"488px\",\n marginBlockStart: \"$2\",\n p: {\n margin: \"0px !important\",\n },\n zIndex: \"99 !important\",\n }}\n className=\"dm-sans\"\n >\n {data.map((option: any) => {\n if (!option.type) {\n return (\n <Tooltip\n content={option.tooltip || \"\"}\n css={{\n zIndex: \"9999999 !important\",\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <DropdownMenuItem\n disabled={option?.disabled}\n css={{\n cursor: option?.disabled\n ? \"not-allowed !important\"\n : \"pointer !important\",\n background:\n value?.type === option.type\n ? \"#4A9CA626 !important\"\n : \"transparent !important\",\n }}\n onClick={() =>\n onChangeHandler({\n id: \"responseImportType\",\n value: option,\n })\n }\n >\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n css={{\n width: \"100%\",\n }}\n >\n <Flex justifyContent=\"center\" flexDirection=\"column\">\n <Text\n size=\"sm\"\n weight={\"regular\"}\n css={{ color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n <Text\n size=\"xs\"\n weight={\"regular\"}\n css={{ color: \"$neutral700\" }}\n >\n {option.description}\n </Text>\n </Flex>\n </Flex>\n </DropdownMenuItem>\n </Box>\n </Tooltip>\n );\n } else {\n return (\n <Tooltip\n content={option.tooltip || \"\"}\n css={{\n fontFamily: \"DM Sans !important\",\n zIndex: \"9999999 !important\",\n }}\n >\n <Box>\n <DropdownMenuSub>\n <DropdownMenuSubTrigger\n disabled={option?.disabled}\n css={{\n cursor: option?.disabled\n ? \"not-allowed !important\"\n : \"pointer !important\",\n background:\n value?.type === option.type\n ? \"#4A9CA626 !important\"\n : \"transparent !important\",\n }}\n >\n {\" \"}\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n css={{\n width: \"100%\",\n }}\n >\n <Flex\n css={{ cursor: \"pointer\" }}\n justifyContent=\"center\"\n flexDirection=\"column\"\n >\n <Text\n size=\"sm\"\n weight={\"regular\"}\n css={{ color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n <Text\n size=\"xs\"\n weight={\"regular\"}\n css={{ color: \"$neutral700\" }}\n >\n {option.description}\n </Text>\n </Flex>\n </Flex>\n </DropdownMenuSubTrigger>\n\n <DropdownMenuSubContent\n sideOffset={10}\n alignOffset={-5}\n css={{\n padding: \"0px !important\",\n maxHeight: \"500px\",\n minWidth: \"224px\",\n maxWidth: \"260px\",\n margin: \"0px !important\",\n ...(option.type === \"date\" && {\n border: \"none !important\",\n }),\n p: {\n margin: \"0px !important\",\n },\n marginBlockEnd: \"$10 !important\",\n }}\n className=\"dm-sans\"\n >\n {option.type === \"date\" && (\n <Calendar\n footerActionText=\"Apply\"\n size=\"md\"\n value={date}\n onChange={setDate}\n {...(option?.minValue && {\n minValue: parseDate(option?.minValue),\n })}\n {...(option?.maxValue && {\n maxValue: parseDate(option?.maxValue),\n })}\n footerAction={() => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: dayjs(date.toString()).format(\n \"MMM D, YYYY\"\n ),\n },\n });\n setOpen(false);\n }}\n />\n )}\n {option.type === \"dateRange\" && (\n <Flex\n css={{\n paddingInline: \"$4 !important\",\n paddingBlock: \"$8 !important\",\n }}\n flexDirection=\"column\"\n gap=\"$4\"\n >\n <RadioGroup\n defaultValue={value?.value}\n onChange={(value) => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: {\n type: value,\n value: value,\n label: dynamicDateOptions.find(\n (option) => option.value === value\n )?.label,\n },\n },\n });\n }}\n >\n {dynamicDateOptions.map((option) => (\n <Box\n css={{\n padding: \"$4 !important\",\n }}\n >\n <Radio value={option.value}>\n {\" \"}\n {option.label}{\" \"}\n </Radio>\n </Box>\n ))}\n </RadioGroup>\n {value?.value?.type === \"custom\" && (\n <Box\n css={{\n paddingRight: \"$4 !important\",\n position: \"relative\",\n }}\n >\n <Input\n size=\"md\"\n variant=\"filled\"\n value={days}\n onChange={(e) =>\n setDays((e.target as HTMLInputElement).value)\n }\n />\n <Text\n css={{\n position: \"absolute\",\n right: \"$8\",\n top: \"$3\",\n }}\n >\n Days\n </Text>\n </Box>\n )}\n\n <Flex\n justifyContent=\"space-between\"\n css={{\n borderBlockStart:\n \"$borderWidths$xs, solid, $neutral200 !important\",\n padding: \"$8\",\n }}\n >\n <Button size=\"sm\" variant=\"ghost\" color=\"secondary\">\n Cancel\n </Button>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={() => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: {\n type: value?.value?.type,\n value: days,\n label: value?.value?.label,\n },\n },\n });\n setOpen(false);\n }}\n >\n Apply\n </Button>\n </Flex>\n </Flex>\n )}\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n </Box>\n </Tooltip>\n );\n }\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nconst Configuration = ({\n field,\n configuredFields,\n responseImportType = null,\n}: any) => {\n let fieldValue = null;\n // if (field.id === \"responseImportType\") {\n // fieldValue = configuredFields?.map((item: any) => item.id === field.id)?.value ?? null;\n // } else {\n fieldValue = configuredFields?.[field.id]?.value ?? null;\n // }\n const [error, setError] = useState({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n switch (field.fieldType) {\n case \"switch\":\n return (\n <Flex\n gap=\"$4\"\n alignItems=\"center\"\n css={{\n marginBlockStart: \"$12\",\n borderTop: \"$borderWidths$xs solid $neutral200\",\n paddingTop: \"$16\",\n }}\n >\n <Switch\n disabled={field?.disabled}\n size=\"sm\"\n checked={field?.value}\n onChange={(value) =>\n field.onChangeHandler({\n id: field.id,\n value: value,\n })\n }\n />\n <Text size=\"md\" weight={\"regular\"} css={{ color: \"$neutral900\" }}>\n {field.label}\n </Text>\n </Flex>\n );\n\n case \"checkbox\":\n return (\n <Flex flexDirection=\"column\" alignItems=\"start\" gap=\"$4\">\n <Flex gap=\"$4\" alignItems=\"center\">\n <Checkbox\n disabled={field?.disabled}\n checked={!!fieldValue}\n onChange={(value) =>\n field.onChangeHandler({\n id: field.id,\n value: value,\n })\n }\n />\n <Text size=\"sm\" weight={\"regular\"} css={{ color: \"$neutral900\" }}>\n {field.label}\n </Text>\n </Flex>\n <Text size=\"sm\" weight={\"regular\"} css={{ color: \"$neutral500\" }}>\n {field.value\n ? field.ifChecked()\n : field.ifUnchecked(responseImportType)}\n </Text>\n </Flex>\n );\n\n case \"input\":\n return (\n <>\n {field?.id === \"spreadsheet\" ? (\n <>\n {configuredFields?.action?.value ? (\n <Box\n className=\"dm-sans\"\n css={{\n label: {\n fontSize: \"$xs !important\",\n },\n }}\n >\n <FormInput\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={\n typeof fieldValue === \"object\" ? \"\" : fieldValue || \"\"\n }\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={(event) => {\n if (field?.pattern) {\n const pattern = new RegExp(field.pattern);\n if (\n !pattern.test(event.currentTarget.value) &&\n event.currentTarget.value !== \"\"\n ) {\n setError({\n errorMessage: field.errorMessage,\n error: true,\n id: field.id,\n });\n } else {\n setError({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n }\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n } else {\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n }\n }}\n />\n </Box>\n ) : null}\n </>\n ) : (\n <Box\n className=\"dm-sans\"\n css={{\n label: {\n fontSize: \"$xs !important\",\n },\n }}\n >\n <FormInput\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={typeof fieldValue === \"object\" ? \"\" : fieldValue || \"\"}\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={(event) => {\n if (field?.pattern) {\n const pattern = new RegExp(field.pattern);\n if (\n !pattern.test(event.currentTarget.value) &&\n event.currentTarget.value !== \"\"\n ) {\n setError({\n errorMessage: field.errorMessage,\n error: true,\n id: field.id,\n });\n } else {\n setError({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n }\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n } else {\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n }\n }}\n />\n </Box>\n )}\n </>\n );\n default:\n return (\n <>\n {field.id === \"spreadsheet\" ? (\n <>\n {configuredFields?.action?.value ? (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: \"pointer !important\",\n \".twigs-select__indicator\": {\n width: \"14px !important\",\n color: \"#848484 !important\",\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n ) : null}\n </>\n ) : (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: \"pointer !important\",\n \".twigs-select__indicator\": {\n width: \"14px !important\",\n color: \"#848484 !important\",\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n )}\n </>\n );\n }\n};\n\nconst CustomAddNewSelect = ({ field }: any) => {\n return (\n <Select\n isDisabled={field?.disabled}\n placeholder=\"\"\n size=\"lg\"\n css={{\n cursor: \"pointer\",\n }}\n components={{\n Option: CustomShareOption,\n SingleValue: CustomSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n }),\n }}\n value={field.value}\n onChange={(value) => {\n field.onChangeHandler({\n id: field?.id ?? field?.label,\n value: value,\n });\n }}\n options={field.options}\n />\n );\n};\nconst CustomShareOption: React.FC<OptionProps<any>> = (props) => {\n if (props.data.value === \"ADD_NEW\") {\n return (\n <Tooltip\n content={props.data.tooltip || \"\"}\n css={{\n zIndex: 999999999,\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <components.Option {...props}>\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ cursor: \"pointer\", zIndex: 999999999 }}\n >\n <Flex\n gap=\"$2\"\n alignItems=\"center\"\n css={{\n color: \"$primary500\",\n fontSize: \"$sm\",\n fontWeight: \"$7\",\n }}\n >\n <PlusIcon size={16} color=\"#4A9CA6\" />\n Add Account\n </Flex>\n </Flex>\n </components.Option>\n </Box>\n </Tooltip>\n );\n } else {\n return (\n <components.Option {...props}>\n <Flex\n css={{ cursor: \"pointer\", zIndex: 999999999 }}\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap=\"$2\"\n >\n <Text size=\"sm\">{props.label}</Text>{\" \"}\n {props.data.isAddonAccount && (\n <Chip\n color=\"primary\"\n size=\"sm\"\n leftElement={<TickCircleFillIcon />}\n >\n In Use (Add-on)\n </Chip>\n )}\n </Flex>\n </components.Option>\n );\n }\n};\nconst CustomSingleValue: React.FC<SingleValueProps<any>> = (props) => {\n if (props.data.value === \"ADD_NEW\") {\n return (\n <components.SingleValue {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n <PlusIcon size={16} />\n <Text size=\"sm\">{props.data.label}</Text>\n </Flex>\n </components.SingleValue>\n );\n } else {\n return (\n <components.SingleValue {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n <Text size=\"sm\">{props.data.label}</Text>\n </Flex>\n </components.SingleValue>\n );\n }\n};\n"],"names":["React","FieldMapping","fields"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/mapping/index.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Text,\n ThemeProvider,\n Checkbox,\n FormInput,\n Switch,\n Radio,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n Input,\n Calendar,\n RadioGroup,\n Tooltip,\n Chip,\n} from \"@sparrowengg/twigs-react\";\nimport {\n ArrowLeftIcon,\n ChevronRightIcon,\n ChevronDownIcon,\n PlusIcon,\n TickCircleFillIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState } from \"react\";\nimport Arrow from \"../commons/icons/arrow\";\nimport { Mapping as FieldMapping } from \"./components/mapping\";\nimport { surveySparrowURL } from \"../commons/constants\";\nimport {\n CustomListFieldType,\n FieldType,\n OldResponseFieldType,\n SelectOption,\n IntegrationFieldType,\n} from \"./types\";\nimport DraftModal from \"../commons/components/draftModal\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport { dynamicDateOptions } from \"../commons/constants\";\nimport { components, OptionProps, SingleValueProps } from \"react-select\";\nimport dayjs from \"dayjs\";\nimport NamingModal from \"../commons/components/NamingModal\";\n\ntype FieldMappingPropsType = {\n hasNamingModal: boolean;\n havingTypeDropdown: boolean;\n onSaveMappingLoader: boolean;\n surveyDetails: {\n surveyName: string;\n surveyId: string | number;\n surveyProperties?: any;\n };\n integrationName: string;\n fields: Array<FieldType>;\n setFields: React.Dispatch<React.SetStateAction<Array<FieldType>>>;\n integrationFields: Array<IntegrationFieldType>;\n setIntegrationFields: React.Dispatch<\n React.SetStateAction<Array<IntegrationFieldType>>\n >;\n apiURL: string;\n token: string;\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n isMappingPage: boolean;\n surveyType: string;\n navigateMappingPage: (value?: boolean) => void;\n customList: CustomListFieldType;\n oldResponse: OldResponseFieldType;\n hasPreviousMapping: boolean;\n onSaveHandler: () => void;\n editField: {\n id: string | number;\n fieldValues: Array<FieldType>;\n } | null;\n previousMappingHandler: (value?: boolean) => void;\n onDeleteHandler?: (id: string | number) => void;\n draftHandler: (type: string | null, editFieldId?: string | number) => void;\n configuration: {\n setMappingName?: (value: string) => void;\n currentMappingName?: string;\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n configuredFields: unknown;\n title: string;\n };\n};\n\nexport const Mapping = ({\n hasNamingModal,\n havingTypeDropdown,\n onSaveMappingLoader,\n surveyDetails,\n integrationName,\n fields,\n setFields,\n integrationFields,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n accounts,\n events,\n actions,\n isMappingPage,\n surveyType,\n navigateMappingPage,\n customList,\n oldResponse,\n hasPreviousMapping,\n onSaveHandler,\n editField,\n previousMappingHandler,\n draftHandler,\n configuration,\n}: FieldMappingPropsType) => {\n const [previousMapping, setPreviousMapping] = useState(\n hasPreviousMapping ?? false\n );\n\n useEffect(() => {\n if (!!editField?.id) {\n setFields(editField.fieldValues);\n setPreviousMapping(true);\n }\n }, []);\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 },\n }}\n >\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n <MappingHeader\n navigateMappingPage={navigateMappingPage}\n accounts={accounts}\n events={events}\n actions={actions}\n havingTypeDropdown={havingTypeDropdown}\n onSaveMappingLoader={onSaveMappingLoader}\n hasPreviousMapping={previousMapping}\n isMappingPage={isMappingPage}\n fields={fields}\n editFieldId={editField?.id}\n onSaveHandler={onSaveHandler}\n navigateEventPage={() => navigateMappingPage(false)}\n previousMappingHandler={previousMappingHandler}\n draftHandler={draftHandler}\n hasNamingModal={hasNamingModal}\n configuration={configuration}\n />\n {!isMappingPage ? (\n <EventSetup\n surveyDetails={surveyDetails}\n accounts={accounts}\n events={events}\n actions={actions}\n navigateMappingPage={navigateMappingPage}\n configuration={configuration}\n editFieldId={editField?.id}\n />\n ) : (\n <FieldMapping\n surveyType={surveyType}\n havingTypeDropdown={havingTypeDropdown}\n fields={fields}\n setFields={setFields}\n surveyDetails={surveyDetails}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n surveyId={surveyDetails.surveyId}\n token={token}\n apiURL={apiURL}\n integrationName={integrationName}\n customList={customList}\n oldResponse={oldResponse}\n />\n )}\n </Box>\n </ThemeProvider>\n );\n};\n\ntype EventSetupProps = {\n surveyDetails: {\n surveyName: string;\n surveyId: number | string;\n };\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n navigateMappingPage: (value?: boolean) => void;\n configuration: {\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n title: string;\n configuredFields: unknown;\n };\n editFieldId: unknown;\n};\n\nconst EventSetup = ({\n surveyDetails,\n accounts,\n events,\n actions,\n navigateMappingPage,\n configuration,\n editFieldId,\n}: EventSetupProps) => {\n useEffect(() => {\n if (actions?.value) {\n actions?.onChangeHandler(actions?.value);\n }\n if (events?.value) {\n events?.onChangeHandler(events?.value);\n }\n }, [actions?.value, events?.value]);\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n {configuration.hasConfiguration ? (\n <>\n <ConfigurationSetup\n configuration={configuration}\n surveyName={surveyDetails.surveyName}\n editField={editFieldId}\n />\n </>\n ) : (\n <>\n <Heading size=\"h5\">{configuration?.title}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text size=\"sm\" weight={\"medium\"} css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Account\n </FormLabel>\n <Select\n value={accounts.value}\n options={accounts.options}\n placeholder=\"\"\n onChange={(value: unknown) =>\n accounts.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n size=\"lg\"\n />\n </Flex>\n )}\n {events?.hasEvents && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Object\n </FormLabel>\n <Select\n options={events.options}\n value={events?.value}\n placeholder=\"\"\n onChange={(value: unknown) =>\n events.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n size=\"lg\"\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Action\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actions?.value}\n placeholder=\"\"\n onChange={(value: unknown) =>\n actions.onChangeHandler(\n value as SelectOption | SelectOption[] | boolean | null\n )\n }\n />\n </Flex>\n )}\n </Flex>\n </>\n )}\n\n <Button\n size=\"lg\"\n disabled={\n configuration.hasConfiguration\n ? false\n : (!actions?.value || !events?.value)\n }\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n onClick={() => navigateMappingPage()}\n >\n Continue Mapping\n </Button>\n </Box>\n </Flex>\n );\n};\n\ntype MappingHeaderProps = {\n hasNamingModal: boolean;\n draftHandler: (type: string | null, editFieldId?: string | number) => void;\n navigateMappingPage: (value?: boolean) => void;\n accounts?: {\n hasAccounts: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n events?: {\n hasEvents: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n actions?: {\n hasActions: boolean;\n options: Array<SelectOption>;\n value: SelectOption | null | boolean;\n onChangeHandler: (\n value: SelectOption | SelectOption[] | boolean | null\n ) => void;\n };\n havingTypeDropdown: boolean;\n onSaveMappingLoader: boolean;\n hasPreviousMapping: boolean;\n isMappingPage: boolean;\n fields: Array<FieldType>;\n navigateEventPage: () => void;\n onSaveHandler: (editFieldId?: string | number) => void;\n previousMappingHandler: (value?: boolean) => void;\n editFieldId: string | number | undefined;\n configuration: {\n setMappingName?: (value: string) => void;\n currentMappingName?: string;\n hasConfiguration: boolean;\n configurationFields: Array<unknown>;\n title: string;\n configuredFields: unknown;\n };\n};\n\nconst MappingHeader = ({\n hasNamingModal,\n navigateMappingPage,\n accounts,\n events,\n actions,\n havingTypeDropdown,\n onSaveMappingLoader,\n hasPreviousMapping,\n isMappingPage,\n fields,\n navigateEventPage,\n onSaveHandler,\n previousMappingHandler,\n editFieldId,\n draftHandler,\n configuration,\n}: MappingHeaderProps) => {\n const isDisabled = !actions?.value || !events?.value;\n const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);\n const [isNamingModalOpen, setIsNamingModalOpen] = useState(false);\n\n const isAllEssentialMapped = (fields: Array<FieldType>) => {\n let status = true;\n fields?.map((field: FieldType) => {\n if (field?.isEssentialField) {\n status = status && field?.surveySparrowField !== null;\n if (havingTypeDropdown) {\n status =\n status &&\n field?.integrationFieldType !== null &&\n field?.integrationField !== null;\n }\n } else {\n if (!!field?.integrationField || !!field?.surveySparrowField) {\n status =\n status && !!field?.integrationField && !!field?.surveySparrowField;\n }\n }\n });\n return status;\n };\n\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n position: \"sticky\",\n width: \"100%\",\n top: \"1px\",\n zIndex: \"99\",\n background: \"#ffff\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n {isDraftModalOpen && (\n <DraftModal\n onSaveHandler={async () => {\n await draftHandler(\"MAPPING\", editFieldId?.toString());\n setIsDraftModalOpen(false);\n await previousMappingHandler();\n }}\n onCloseHandler={() => setIsDraftModalOpen(false)}\n onCancel={async () => {\n await previousMappingHandler();\n setIsDraftModalOpen(false);\n }}\n />\n )}\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasPreviousMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton\n onClick={() => previousMappingHandler()}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n />\n <Heading size=\"h6\">\n {editFieldId ? \"Edit Mapping\" : \"New Mapping\"}\n </Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" },\n }}\n >\n <Button\n css={{ color: !isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={() => isMappingPage && navigateEventPage()}\n >\n Event Setup\n </Button>\n <Arrow />\n <Button\n onClick={() => navigateMappingPage()}\n css={{ color: !isDisabled ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n disabled={isDisabled}\n >\n Mapping\n </Button>\n </Flex>\n <Button\n size=\"lg\"\n disabled={!isAllEssentialMapped(fields)}\n onClick={() => {\n if (hasNamingModal) {\n setIsNamingModalOpen(true);\n } else {\n onSaveHandler(editFieldId);\n }\n }}\n css={{ visibility: isMappingPage ? \"visible\" : \"hidden\" }}\n >\n {editFieldId ? \"Update Mapping\" : \"Save Mapping\"}\n </Button>\n {hasNamingModal && (\n <NamingModal\n editFieldId={editFieldId}\n mappingLoader={onSaveMappingLoader}\n saveHandler={() => onSaveHandler(editFieldId)}\n closeHandler={() => setIsNamingModalOpen(false)}\n value={configuration?.currentMappingName || \"\"}\n setValue={(value: string) => configuration?.setMappingName?.(value)}\n isOpen={isNamingModalOpen}\n />\n )}\n </Flex>\n );\n};\n\nconst ConfigurationSetup = ({\n configuration,\n surveyName,\n editField,\n}: {\n configuration: any;\n surveyName: string;\n editField: any;\n}) => {\n return (\n <Box css={{ maxWidth: 488, width: \"100%\" }}>\n <Heading size=\"h5\">{configuration?.title}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Tooltip\n content={surveyName?.length > 25 ? surveyName : \"\"}\n css={{\n zIndex: \"9999999 !important\",\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <Text\n size=\"sm\"\n weight={\"medium\"}\n truncate\n css={{ color: \"$neutral800\", maxWidth: \"270px\" }}\n >\n {surveyName}\n </Text>\n </Box>\n </Tooltip>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$8\"\n css={{\n marginTop: \"$12\",\n \"& label\": {\n color: \"$neutral800\",\n },\n }}\n >\n {configuration.configurationFields?.map((field: any) => {\n return (\n <Configuration\n field={field}\n configuredFields={configuration.configuredFields}\n />\n );\n })}\n </Flex>\n </Box>\n );\n};\n\nconst CustomDropdown = ({ data, onChangeHandler, value, editField }: any) => {\n const [date, setDate] = useState<DateValue>(() => {\n try {\n return value\n ? parseDate(dayjs(value).format(\"YYYY-MM-DD\"))\n : parseDate(dayjs().format(\"YYYY-MM-DD\"));\n } catch (e) {\n return parseDate(dayjs().format(\"YYYY-MM-DD\"));\n }\n });\n const [days, setDays] = useState(value?.value?.value ?? 0);\n const [open, setOpen] = useState(false);\n const [hasBeenOpened, setHasBeenOpened] = useState(false);\n useEffect(() => {\n if (!editField?.id && !hasBeenOpened) {\n setOpen(true);\n setHasBeenOpened(true);\n }\n }, [editField?.id, hasBeenOpened]);\n\n return (\n <DropdownMenu open={open} onOpenChange={setOpen} modal={false}>\n <DropdownMenuTrigger asChild>\n <Input\n size=\"lg\"\n rightIcon={<ChevronDownIcon size={30} color=\"#6A6A6A\" />}\n placeholder=\"Choose\"\n value={\n value?.type === \"date\"\n ? `${value?.label} > ${value?.value}`\n : value?.type === \"dateRange\"\n ? `${value?.label} - ${value?.value?.type === \"custom\" ? `${value?.value?.value} days` : value?.value?.label}`\n : value?.label\n }\n css={{\n \"& input\": {\n textAlign: \"left !important\",\n },\n }}\n />\n </DropdownMenuTrigger>\n\n <DropdownMenuContent\n css={{\n width: \"488px\",\n marginBlockStart: \"$2\",\n p: {\n margin: \"0px !important\",\n },\n zIndex: \"99 !important\",\n }}\n className=\"dm-sans\"\n >\n {data.map((option: any) => {\n if (!option.type) {\n return (\n <Tooltip\n content={option.tooltip || \"\"}\n css={{\n zIndex: \"9999999 !important\",\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <DropdownMenuItem\n disabled={option?.disabled}\n css={{\n cursor: option?.disabled\n ? \"not-allowed !important\"\n : \"pointer !important\",\n background:\n value?.type === option.type\n ? \"#4A9CA626 !important\"\n : \"transparent !important\",\n }}\n onClick={() =>\n onChangeHandler({\n id: \"responseImportType\",\n value: option,\n })\n }\n >\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n css={{\n width: \"100%\",\n }}\n >\n <Flex justifyContent=\"center\" flexDirection=\"column\">\n <Text\n size=\"sm\"\n weight={\"regular\"}\n css={{ color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n <Text\n size=\"xs\"\n weight={\"regular\"}\n css={{ color: \"$neutral700\" }}\n >\n {option.description}\n </Text>\n </Flex>\n </Flex>\n </DropdownMenuItem>\n </Box>\n </Tooltip>\n );\n } else {\n return (\n <Tooltip\n content={option.tooltip || \"\"}\n css={{\n fontFamily: \"DM Sans !important\",\n zIndex: \"9999999 !important\",\n }}\n >\n <Box>\n <DropdownMenuSub>\n <DropdownMenuSubTrigger\n disabled={option?.disabled}\n css={{\n cursor: option?.disabled\n ? \"not-allowed !important\"\n : \"pointer !important\",\n background:\n value?.type === option.type\n ? \"#4A9CA626 !important\"\n : \"transparent !important\",\n }}\n >\n {\" \"}\n <Flex\n justifyContent=\"space-between\"\n alignItems=\"center\"\n css={{\n width: \"100%\",\n }}\n >\n <Flex\n css={{ cursor: \"pointer\" }}\n justifyContent=\"center\"\n flexDirection=\"column\"\n >\n <Text\n size=\"sm\"\n weight={\"regular\"}\n css={{ color: \"$neutral900\" }}\n >\n {option.label}\n </Text>\n <Text\n size=\"xs\"\n weight={\"regular\"}\n css={{ color: \"$neutral700\" }}\n >\n {option.description}\n </Text>\n </Flex>\n </Flex>\n </DropdownMenuSubTrigger>\n\n <DropdownMenuSubContent\n sideOffset={10}\n alignOffset={-5}\n css={{\n padding: \"0px !important\",\n maxHeight: \"500px\",\n minWidth: \"224px\",\n maxWidth: \"260px\",\n margin: \"0px !important\",\n ...(option.type === \"date\" && {\n border: \"none !important\",\n }),\n p: {\n margin: \"0px !important\",\n },\n marginBlockEnd: \"$10 !important\",\n }}\n className=\"dm-sans\"\n >\n {option.type === \"date\" && (\n <Calendar\n footerActionText=\"Apply\"\n size=\"md\"\n value={date}\n onChange={setDate}\n {...(option?.minValue && {\n minValue: parseDate(option?.minValue),\n })}\n {...(option?.maxValue && {\n maxValue: parseDate(option?.maxValue),\n })}\n footerAction={() => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: dayjs(date.toString()).format(\n \"MMM D, YYYY\"\n ),\n },\n });\n setOpen(false);\n }}\n />\n )}\n {option.type === \"dateRange\" && (\n <Flex\n css={{\n paddingInline: \"$4 !important\",\n paddingBlock: \"$8 !important\",\n }}\n flexDirection=\"column\"\n gap=\"$4\"\n >\n <RadioGroup\n defaultValue={value?.value}\n onChange={(value) => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: {\n type: value,\n value: value,\n label: dynamicDateOptions.find(\n (option) => option.value === value\n )?.label,\n },\n },\n });\n }}\n >\n {dynamicDateOptions.map((option) => (\n <Box\n css={{\n padding: \"$4 !important\",\n }}\n >\n <Radio value={option.value}>\n {\" \"}\n {option.label}{\" \"}\n </Radio>\n </Box>\n ))}\n </RadioGroup>\n {value?.value?.type === \"custom\" && (\n <Box\n css={{\n paddingRight: \"$4 !important\",\n position: \"relative\",\n }}\n >\n <Input\n size=\"md\"\n variant=\"filled\"\n value={days}\n onChange={(e) =>\n setDays((e.target as HTMLInputElement).value)\n }\n />\n <Text\n css={{\n position: \"absolute\",\n right: \"$8\",\n top: \"$3\",\n }}\n >\n Days\n </Text>\n </Box>\n )}\n\n <Flex\n justifyContent=\"space-between\"\n css={{\n borderBlockStart:\n \"$borderWidths$xs, solid, $neutral200 !important\",\n padding: \"$8\",\n }}\n >\n <Button size=\"sm\" variant=\"ghost\" color=\"secondary\">\n Cancel\n </Button>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n color=\"primary\"\n onClick={() => {\n onChangeHandler({\n id: \"responseImportType\",\n value: {\n ...option,\n value: {\n type: value?.value?.type,\n value: days,\n label: value?.value?.label,\n },\n },\n });\n setOpen(false);\n }}\n >\n Apply\n </Button>\n </Flex>\n </Flex>\n )}\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n </Box>\n </Tooltip>\n );\n }\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nconst Configuration = ({\n field,\n configuredFields,\n responseImportType = null,\n}: any) => {\n let fieldValue = null;\n // if (field.id === \"responseImportType\") {\n // fieldValue = configuredFields?.map((item: any) => item.id === field.id)?.value ?? null;\n // } else {\n fieldValue = configuredFields?.[field.id]?.value ?? null;\n // }\n const [error, setError] = useState({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n switch (field.fieldType) {\n case \"switch\":\n return (\n <Flex\n gap=\"$4\"\n alignItems=\"center\"\n css={{\n marginBlockStart: \"$12\",\n borderTop: \"$borderWidths$xs solid $neutral200\",\n paddingTop: \"$16\",\n }}\n >\n <Switch\n disabled={field?.disabled}\n size=\"sm\"\n checked={field?.value}\n onChange={(value) =>\n field.onChangeHandler({\n id: field.id,\n value: value,\n })\n }\n />\n <Text size=\"md\" weight={\"regular\"} css={{ color: \"$neutral900\" }}>\n {field.label}\n </Text>\n </Flex>\n );\n\n case \"checkbox\":\n return (\n <Flex flexDirection=\"column\" alignItems=\"start\" gap=\"$4\">\n <Flex gap=\"$4\" alignItems=\"center\">\n <Checkbox\n disabled={field?.disabled}\n checked={!!fieldValue}\n onChange={(value) =>\n field.onChangeHandler({\n id: field.id,\n value: value,\n })\n }\n />\n <Text size=\"sm\" weight={\"regular\"} css={{ color: \"$neutral900\" }}>\n {field.label}\n </Text>\n </Flex>\n <Text size=\"sm\" weight={\"regular\"} css={{ color: \"$neutral500\" }}>\n {field.value\n ? field.ifChecked()\n : field.ifUnchecked(responseImportType)}\n </Text>\n </Flex>\n );\n\n case \"input\":\n return (\n <>\n {field?.id === \"spreadsheet\" ? (\n <>\n {configuredFields?.action?.value ? (\n <Box\n className=\"dm-sans\"\n css={{\n label: {\n fontSize: \"$xs !important\",\n },\n }}\n >\n <FormInput\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={\n typeof fieldValue === \"object\" ? \"\" : fieldValue || \"\"\n }\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={(event) => {\n if (field?.pattern) {\n const pattern = new RegExp(field.pattern);\n if (\n !pattern.test(event.currentTarget.value) &&\n event.currentTarget.value !== \"\"\n ) {\n setError({\n errorMessage: field.errorMessage,\n error: true,\n id: field.id,\n });\n } else {\n setError({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n }\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n } else {\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n }\n }}\n />\n </Box>\n ) : null}\n </>\n ) : (\n <Box\n className=\"dm-sans\"\n css={{\n label: {\n fontSize: \"$xs !important\",\n },\n }}\n >\n <FormInput\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={typeof fieldValue === \"object\" ? \"\" : fieldValue || \"\"}\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={(event) => {\n if (field?.pattern) {\n const pattern = new RegExp(field.pattern);\n if (\n !pattern.test(event.currentTarget.value) &&\n event.currentTarget.value !== \"\"\n ) {\n setError({\n errorMessage: field.errorMessage,\n error: true,\n id: field.id,\n });\n } else {\n setError({\n errorMessage: \"\",\n error: false,\n id: null,\n });\n }\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n } else {\n field.onChangeHandler({\n id: field.id,\n value: event.currentTarget.value,\n });\n }\n }}\n />\n </Box>\n )}\n </>\n );\n default:\n return (\n <>\n {field.id === \"spreadsheet\" ? (\n <>\n {configuredFields?.action?.value ? (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: \"pointer !important\",\n \".twigs-select__indicator\": {\n width: \"14px !important\",\n color: \"#848484 !important\",\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n ) : null}\n </>\n ) : (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: \"pointer !important\",\n \".twigs-select__indicator\": {\n width: \"14px !important\",\n color: \"#848484 !important\",\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n )}\n </>\n );\n }\n};\n\nconst CustomAddNewSelect = ({ field }: any) => {\n return (\n <Select\n isDisabled={field?.disabled}\n placeholder=\"\"\n size=\"lg\"\n css={{\n cursor: \"pointer\",\n }}\n components={{\n Option: CustomShareOption,\n SingleValue: CustomSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n }),\n }}\n value={field.value}\n onChange={(value) => {\n field.onChangeHandler({\n id: field?.id ?? field?.label,\n value: value,\n });\n }}\n options={field.options}\n />\n );\n};\nconst CustomShareOption: React.FC<OptionProps<any>> = (props) => {\n if (props.data.value === \"ADD_NEW\") {\n return (\n <Tooltip\n content={props.data.tooltip || \"\"}\n css={{\n zIndex: 999999999,\n fontFamily: \"DM Sans !important\",\n }}\n >\n <Box>\n <components.Option {...props}>\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ cursor: \"pointer\", zIndex: 999999999 }}\n >\n <Flex\n gap=\"$2\"\n alignItems=\"center\"\n css={{\n color: \"$primary500\",\n fontSize: \"$sm\",\n fontWeight: \"$7\",\n }}\n >\n <PlusIcon size={16} color=\"#4A9CA6\" />\n Add Account\n </Flex>\n </Flex>\n </components.Option>\n </Box>\n </Tooltip>\n );\n } else {\n return (\n <components.Option {...props}>\n <Flex\n css={{ cursor: \"pointer\", zIndex: 999999999 }}\n alignItems=\"center\"\n justifyContent=\"space-between\"\n gap=\"$2\"\n >\n <Text size=\"sm\">{props.label}</Text>{\" \"}\n {props.data.isAddonAccount && (\n <Chip\n color=\"primary\"\n size=\"sm\"\n leftElement={<TickCircleFillIcon />}\n >\n In Use (Add-on)\n </Chip>\n )}\n </Flex>\n </components.Option>\n );\n }\n};\nconst CustomSingleValue: React.FC<SingleValueProps<any>> = (props) => {\n if (props.data.value === \"ADD_NEW\") {\n return (\n <components.SingleValue {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n <PlusIcon size={16} />\n <Text size=\"sm\">{props.data.label}</Text>\n </Flex>\n </components.SingleValue>\n );\n } else {\n return (\n <components.SingleValue {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n <Text size=\"sm\">{props.data.label}</Text>\n </Flex>\n </components.SingleValue>\n );\n }\n};\n"],"names":["React","FieldMapping","fields"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED