@sparrowengg/integrations-templates-frontend 2.1.0-notion-release.4 → 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/_virtual/index8.js +2 -2
- package/dist/cjs/_virtual/index9.js +2 -2
- package/dist/cjs/contact-import/components/ManageImport/Completed.js +1 -1
- package/dist/cjs/contact-import/components/ManageImport/Completed.js.map +1 -1
- package/dist/cjs/contact-import/components/ManageImport/Dashboard.js +5 -5
- package/dist/cjs/contact-import/components/ManageImport/Dashboard.js.map +1 -1
- package/dist/cjs/contact-import/components/ManageImport/Scheduled.js +1 -1
- package/dist/cjs/contact-import/components/ManageImport/Scheduled.js.map +1 -1
- package/dist/cjs/contact-import/components/Scheduling.js +1 -1
- package/dist/cjs/contact-import/components/Scheduling.js.map +1 -1
- package/dist/cjs/contact-import/components/conact-import-schedule.js +2 -2
- package/dist/cjs/contact-import/components/conact-import-schedule.js.map +1 -1
- package/dist/cjs/contact-import/index.js +2 -2
- package/dist/cjs/contact-import/index.js.map +1 -1
- package/dist/cjs/dynamic-mapping/components/Mapping.js +1 -1
- package/dist/cjs/dynamic-mapping/components/Mapping.js.map +1 -1
- package/dist/cjs/dynamic-mapping/index.js +2 -2
- package/dist/cjs/dynamic-mapping/index.js.map +1 -1
- 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/cjs/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
- package/dist/cjs/node_modules/style-to-js/cjs/index.js +1 -1
- package/dist/cjs/node_modules/style-to-object/cjs/index.js +1 -1
- package/dist/es/_virtual/index8.js +2 -2
- package/dist/es/_virtual/index9.js +2 -2
- package/dist/es/contact-import/components/ManageImport/Completed.js +1 -1
- package/dist/es/contact-import/components/ManageImport/Completed.js.map +1 -1
- package/dist/es/contact-import/components/ManageImport/Dashboard.js +3 -3
- package/dist/es/contact-import/components/ManageImport/Dashboard.js.map +1 -1
- package/dist/es/contact-import/components/ManageImport/Scheduled.js +1 -1
- package/dist/es/contact-import/components/ManageImport/Scheduled.js.map +1 -1
- package/dist/es/contact-import/components/Scheduling.js +1 -1
- package/dist/es/contact-import/components/Scheduling.js.map +1 -1
- package/dist/es/contact-import/components/conact-import-schedule.js +1 -1
- package/dist/es/contact-import/components/conact-import-schedule.js.map +1 -1
- package/dist/es/contact-import/index.js +1 -1
- package/dist/es/contact-import/index.js.map +1 -1
- package/dist/es/dynamic-mapping/components/Mapping.js +1 -1
- package/dist/es/dynamic-mapping/components/Mapping.js.map +1 -1
- package/dist/es/dynamic-mapping/index.js +1 -1
- package/dist/es/dynamic-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/es/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
- package/dist/es/node_modules/style-to-js/cjs/index.js +1 -1
- package/dist/es/node_modules/style-to-object/cjs/index.js +1 -1
- package/dist/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/dynamic-mapping/index.tsx"],"sourcesContent":["import {\n Flex,\n IconButton,\n Heading,\n Button,\n Box,\n Checkbox,\n FormInput,\n Select,\n FormLabel,\n ThemeProvider,\n Text,\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 TooltipProvider,\n} from \"@sparrowengg/twigs-react\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport EditConfirmation from \"../commons/components/edit-confirmation\";\nimport {\n ArrowLeftIcon,\n ChevronDownIcon,\n PlusIcon,\n TickCircleFillIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState, useMemo } from \"react\";\nimport Arrow from \"../commons/icons/arrow\";\nimport Mapping from \"./components/mapping\";\nimport { surveySparrowURL, dynamicDateOptions } from \"../commons/constants\";\nimport { components, OptionProps, SingleValueProps, MenuListProps } from \"react-select\";\nimport dayjs from \"dayjs\";\nimport {\n IntegrationField,\n ConfigurationField,\n ConfigurationFieldValue,\n MappingData,\n EventField,\n} from \"../commons/types/enhanced\";\nimport { Mapping as MultiMapping } from \"../mapping/components/mapping\";\nimport {\n FieldType,\n CustomListFieldType,\n OldResponseFieldType,\n} from \"../mapping/types\";\nimport NamingModal from \"../commons/components/NamingModal\";\n\ntype DynamicMappingPropsType = {\n mappingType?: string;\n hasPreviousMapping?: boolean;\n integrationFields: IntegrationField[];\n configuration: {\n currentMappingName?: string;\n setMappingName?: (value: string) => void;\n importOptions: {\n showImportOptions: boolean;\n excludeResponse: {\n id: number | string;\n label: string;\n ifChecked: () => string;\n ifUnchecked: (period: string) => string;\n fieldType: string;\n value: boolean | null;\n onChangeHandler: (value: ConfigurationFieldValue) => void;\n };\n options: Array<{\n id: number | string;\n label: string;\n value: string | null;\n disabled?: boolean;\n description: string;\n type: string | null;\n tooltip?: string;\n minValue?: string;\n maxValue?: string;\n }>;\n onChangeHandler: (value: ConfigurationFieldValue) => void;\n };\n hasConfiguration: boolean;\n configuredFields: any;\n configurationFields: Array<{\n id: number | string;\n label: string;\n fieldType: string;\n hasAddNewOption?: boolean;\n tooltip?: string;\n options?: Array<{ label: string; value: string }>;\n value: { label: string; value: string | unknown } | string | null;\n onChangeHandler: (value: ConfigurationFieldValue) => void;\n }>;\n onSaveHandler: () => void;\n };\n token?: string;\n isMappingPage: boolean;\n navigateMappingPage: (value?: boolean) => void;\n apiURL?: string;\n surveyDetails: {\n surveyName: string;\n surveyId: string | number;\n surveyProperties?: any;\n };\n onSaveHandler: (fields: any) => void;\n setIntegrationFields: React.Dispatch<React.SetStateAction<any>>;\n hasExistingMapping: boolean;\n importResponse: {\n hasImportResponse: boolean;\n value: any;\n onChangeHandler: (value: any) => void;\n };\n editField?: any;\n previousMappingHandler?: (value?: boolean) => void;\n surveyType: string;\n havingTypeDropdown: boolean;\n fields: Array<FieldType>;\n setFields: React.Dispatch<React.SetStateAction<Array<FieldType>>>;\n surveyId: string | number;\n integrationName: string;\n customList: CustomListFieldType;\n oldResponse: OldResponseFieldType;\n hasNamingModal?: boolean;\n};\n\nexport const DynamicMapping = ({\n mappingType,\n integrationFields,\n configuration,\n isMappingPage,\n navigateMappingPage,\n setIntegrationFields,\n token,\n apiURL = surveySparrowURL,\n surveyDetails,\n importResponse,\n hasExistingMapping,\n onSaveHandler,\n editField,\n previousMappingHandler,\n surveyType,\n havingTypeDropdown,\n fields,\n setFields,\n surveyId,\n integrationName,\n customList,\n oldResponse,\n hasNamingModal,\n}: DynamicMappingPropsType) => {\n const [ssMappingData, setSSMappingData] = useState<MappingData>({\n questions: [],\n variables: [],\n contactProperties: [],\n expressions: [],\n property: [],\n derivedQuestions: [],\n });\n const [isEditConfirmationOpen, setIsEditConfirmationOpen] = useState(false);\n\n // Track original state for edit mode\n const [originalMappingData, setOriginalMappingData] =\n useState<MappingData | null>(null);\n const [originalConfigurationFields, setOriginalConfigurationFields] =\n useState<any>(null);\n const [originalConfiguredFields, setOriginalConfiguredFields] =\n useState<any>(null);\n const [originalImportResponse, setOriginalImportResponse] =\n useState<any>(null);\n const [isInitialLoad, setIsInitialLoad] = useState(true);\n const [essentialFields, setEssentialFields] = useState<any>([]);\n const [commonFields, setCommonFields] = useState<any>([]);\n\n\n //for multi mapping\n\n // useEffect(() => {\n // if (!!editField?.id) {\n // navigateMappingPage(true);\n // // Store original state when entering edit mode\n // setOriginalConfigurationFields(\n // JSON.parse(JSON.stringify(configuration.configurationFields))\n // );\n // setOriginalConfiguredFields(\n // JSON.parse(JSON.stringify(configuration.configuredFields))\n // );\n // setOriginalImportResponse(JSON.parse(JSON.stringify(importResponse)));\n // }\n // }, []);\n\n // Function to check if any field values have changed in edit mode\n const hasFieldsChanged = () => {\n if (!editField?.id || !originalMappingData) return true; // Not in edit mode or no original data\n\n // Check if mapping data has changed\n const mappingDataChanged =\n JSON.stringify(ssMappingData) !== JSON.stringify(originalMappingData);\n const importResponseChanged =\n JSON.stringify(JSON.parse(JSON.stringify(importResponse))) !==\n JSON.stringify(originalImportResponse);\n\n // Check if configuration fields have changed\n const configFieldsChanged =\n JSON.stringify(configuration.configurationFields) !==\n JSON.stringify(originalConfigurationFields);\n\n // Check if configured fields have changed\n const configuredFieldsChanged =\n JSON.stringify(configuration.configuredFields) !==\n JSON.stringify(originalConfiguredFields);\n\n return (\n configFieldsChanged ||\n configuredFieldsChanged ||\n (!isInitialLoad && mappingDataChanged)\n );\n };\n useMemo(() => {\n setEssentialFields(fields?.filter((field) => field?.isEssentialField));\n setCommonFields(fields?.filter((field) => !field?.isEssentialField));\n }, [fields]);\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 <TooltipProvider>\n <Box css={{ width: \"100%\" }}>\n <MappingHeader\n hasNamingModal={hasNamingModal}\n mappingType={mappingType ?? \"\"}\n isEditConfirmationOpen={isEditConfirmationOpen}\n setIsEditConfirmationOpen={setIsEditConfirmationOpen}\n editField={editField}\n importResponse={importResponse}\n ssMappingData={ssMappingData}\n configuration={configuration}\n hasFieldsChanged={hasFieldsChanged()}\n saveConfiguration={() => {\n configuration.onSaveHandler();\n }}\n isMappingPage={isMappingPage}\n hasExistingMapping={hasExistingMapping}\n navigateConfigPage={() => navigateMappingPage(false)}\n previousMappingHandler={previousMappingHandler}\n onSaveHandler={() => {\n onSaveHandler(editField?.id ? editField : {});\n }}\n essentialFields={essentialFields}\n commonFields={commonFields}\n />\n {!isMappingPage && configuration.hasConfiguration ? (\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ marginTop: \"$40\" }}\n >\n <ConfigurationSetup\n configuration={configuration}\n surveyName={surveyDetails.surveyName}\n editField={editField}\n />\n </Flex>\n ) : (\n <>\n {mappingType === \"MULTI_MAPPING\" ? (\n <>\n <MultiMapping\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 ) : (\n <Mapping\n setOriginalMappingData={setOriginalMappingData}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n token={token}\n setIsInitialLoad={setIsInitialLoad}\n apiURL={apiURL}\n surveyId={surveyDetails.surveyId}\n surveyProperties={surveyDetails.surveyProperties}\n importResponse={importResponse}\n ssMappingData={ssMappingData}\n setSSMappingData={setSSMappingData}\n editField={editField}\n />\n )}\n </>\n )}\n </Box>\n </TooltipProvider>\n </ThemeProvider>\n );\n};\n\nconst MappingHeader = ({\n hasNamingModal,\n isEditConfirmationOpen,\n editField,\n importResponse,\n hasExistingMapping,\n ssMappingData,\n isMappingPage,\n navigateConfigPage,\n onSaveHandler,\n previousMappingHandler,\n saveConfiguration,\n configuration,\n setIsEditConfirmationOpen,\n hasFieldsChanged,\n mappingType,\n essentialFields,\n commonFields,\n}: {\n hasNamingModal?: boolean;\n ssMappingData: MappingData;\n configuration: any;\n hasFieldsChanged: boolean;\n isEditConfirmationOpen: boolean;\n editField?: any;\n importResponse: any;\n hasExistingMapping: boolean;\n isMappingPage: boolean;\n navigateConfigPage: (value?: boolean) => void;\n onSaveHandler: (fields: any) => void;\n previousMappingHandler?: (value?: boolean) => void;\n saveConfiguration: () => void;\n setIsEditConfirmationOpen: (value: boolean) => void;\n mappingType: string;\n essentialFields: Array<any>;\n commonFields: Array<any>;\n}) => {\n const [isNamingModalOpen, setIsNamingModalOpen] = useState(false);\n const isButtonDisabled = () => {\n\n if (isMappingPage) {\n if (mappingType === \"MULTI_MAPPING\") {\n return !essentialFields?.length ? commonFields?.every((field: any) => !field?.integrationField && !field?.surveySparrowField) : essentialFields?.some((field: any) => !field?.surveySparrowField);\n }\n // In edit mode, check if any fields have changed\n if (editField?.id) {\n return !hasFieldsChanged;\n }\n\n if ((importResponse?.value as any)?.importMethod === \"SEND_ALL_DATA\") {\n return !(\n ssMappingData?.questions?.length ||\n ssMappingData?.variables?.length ||\n ssMappingData?.contactProperties?.length ||\n ssMappingData?.expressions?.length ||\n ssMappingData?.property?.length ||\n ssMappingData?.derivedQuestions?.length\n );\n } else {\n const isMappingDisabled =\n ssMappingData?.questions?.some(\n (question: EventField) => question.isEnabled\n ) ||\n ssMappingData?.variables?.some(\n (variable: EventField) => variable.isEnabled\n ) ||\n ssMappingData?.contactProperties?.some(\n (property: EventField) => property.isEnabled\n ) ||\n ssMappingData?.expressions?.some(\n (expression: EventField) => expression.isEnabled\n ) ||\n ssMappingData?.derivedQuestions?.some(\n (derivedQuestion: EventField) => derivedQuestion.isEnabled\n ) ||\n ssMappingData?.property?.some(\n (property: EventField) => property.isEnabled\n );\n return !isMappingDisabled;\n }\n } else {\n const isAllFieldsDisabled = Object.values(\n configuration?.configurationFields || {}\n )?.some(\n (field: any) =>\n (field as ConfigurationField)?.value === null ||\n (field as ConfigurationField)?.value === undefined\n );\n if (\n configuration?.configurationFields?.find(\n (field: any) =>\n (field as ConfigurationField)?.id === \"responseImportSettings\"\n )?.value\n ) {\n return (\n isAllFieldsDisabled ||\n !configuration?.configuredFields?.responseImportType\n );\n } else {\n return isAllFieldsDisabled;\n }\n }\n };\n\n const isMappingPageDisabled = () => {\n const isAllFieldsDisabled = Object.values(\n configuration?.configurationFields || {}\n )?.some(\n (field: any) => field?.value === null || field?.value === undefined\n );\n if (\n configuration?.configurationFields?.find(\n (field: any) => field?.id === \"responseImportSettings\"\n )?.value\n ) {\n return (\n isAllFieldsDisabled ||\n !configuration?.configuredFields?.responseImportType\n );\n } else {\n return isAllFieldsDisabled;\n }\n };\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasExistingMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton\n onClick={() => previousMappingHandler?.()}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n />\n <Heading size=\"h6\">\n {editField?.id ? \"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 && navigateConfigPage()}\n >\n Configuration\n </Button>\n <Arrow />\n <Button\n disabled={isMappingPageDisabled()}\n css={{\n color: isMappingPage ? \"$neutral900\" : \"$neutral800\",\n cursor: isMappingPageDisabled() ? \"not-allowed\" : \"pointer\",\n }}\n color=\"default\"\n variant=\"ghost\"\n onClick={() => {\n if (isMappingPage) {\n onSaveHandler({});\n } else {\n saveConfiguration();\n }\n }}\n size=\"md\"\n >\n Mapping\n </Button>\n </Flex>\n <Flex\n justifyContent=\"end\"\n css={{\n width: \"180px\",\n }}\n >\n <Button\n size=\"lg\"\n disabled={isButtonDisabled()}\n onClick={() => {\n if (hasNamingModal && isMappingPage) {\n setIsNamingModalOpen(true);\n } else {\n if (isMappingPage) {\n if (editField?.id) {\n setIsEditConfirmationOpen(true);\n } else {\n onSaveHandler({});\n }\n } else {\n saveConfiguration();\n }\n }\n }}\n >\n {isMappingPage\n ? editField?.id\n ? \"Update Mapping\"\n : \"Save Mapping\"\n : \"Continue, Mapping\"}\n </Button>\n </Flex>\n {hasNamingModal && isMappingPage && (\n <NamingModal\n editFieldId={editField?.id}\n saveHandler={() => onSaveHandler(editField?.id)}\n closeHandler={() => setIsNamingModalOpen(false)}\n value={configuration?.currentMappingName || \"\"}\n setValue={(value: string) => configuration?.setMappingName?.(value)}\n isOpen={isNamingModalOpen}\n />\n )}\n {isEditConfirmationOpen && (\n <EditConfirmation\n name=\"Are you sure?\"\n description=\"Saving this updated mapping properties will generate new sheet with the revised mapping.\"\n onConfirm={async () => {\n await onSaveHandler({});\n setIsEditConfirmationOpen(false);\n }}\n onCancel={() => {\n setIsEditConfirmationOpen(false);\n }}\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\">Event Details</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 {configuration.importOptions.showImportOptions && (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n marginTop: \"-4px !important\",\n }}\n >\n <CustomDropdown\n placeholder={configuration.importOptions.placeholder || \"Choose\"}\n editField={editField}\n data={configuration.importOptions.options}\n isDisabled={configuration.importOptions.isDisabled}\n value={\n configuration?.configuredFields?.responseImportType?.value ??\n configuration.importOptions.options[0]\n }\n onChangeHandler={configuration.importOptions.onChangeHandler}\n />\n </Flex>\n )}\n {configuration.configuredFields?.responseImportType?.value?.type ===\n \"date\" && (\n <Text\n size=\"sm\"\n weight={\"regular\"}\n css={{ color: \"$neutral600\", marginTop: \"-$6\" }}\n >\n {`Existing responses from ${configuration.configuredFields?.responseImportType?.value?.value} will be imported`}\n </Text>\n )}\n {configuration.importOptions.excludeResponse &&\n configuration.configuredFields?.responseImportType?.value?.type ===\n \"dateRange\" && (\n <Configuration\n field={configuration.importOptions.excludeResponse}\n configuredFields={configuration.configuredFields}\n responseImportType={\n configuration.configuredFields?.responseImportType?.value?.value\n ?.label\n }\n />\n )}\n </Flex>\n </Box>\n );\n};\n\nconst CustomDropdown = ({ data, onChangeHandler, value, editField, isDisabled, placeholder }: 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 && !isDisabled) {\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 disabled={isDisabled}>\n <Input\n size=\"lg\"\n rightIcon={<ChevronDownIcon size={30} color=\"#6A6A6A\" />}\n placeholder={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 placeholder={field.placeholder || \"\"}\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 CustomMenuList: React.FC<MenuListProps<any>> = (props) => {\n const { children, ...rest } = props;\n const childrenArray = React.Children.toArray(children);\n \n // Separate ADD_NEW option from other options\n const regularOptions: React.ReactNode[] = [];\n let addNewOption: React.ReactNode = null;\n \n childrenArray.forEach((child: any) => {\n if (child?.props?.data?.value === \"ADD_NEW\") {\n addNewOption = child;\n } else {\n regularOptions.push(child);\n }\n });\n\n return (\n <components.MenuList {...rest}>\n <Box\n css={{\n display: \"flex\",\n flexDirection: \"column\",\n maxHeight: \"300px\",\n }}\n >\n <Box\n css={{\n flex: 1,\n overflowY: \"auto\",\n minHeight: 0,\n }}\n >\n {regularOptions}\n </Box>\n {addNewOption && (\n <Box\n css={{\n borderTop: \"$borderWidths$xs solid $neutral200\",\n flexShrink: 0,\n background: \"$white\",\n }}\n >\n {addNewOption}\n </Box>\n )}\n </Box>\n </components.MenuList>\n );\n};\n\nconst CustomAddNewSelect = ({ field }: any) => {\n return (\n <Select\n isDisabled={field?.disabled}\n placeholder={field.placeholder || \"\"}\n size=\"lg\"\n css={{\n cursor: \"pointer\",\n }}\n components={{\n Option: CustomShareOption,\n SingleValue: CustomSingleValue,\n MenuList: CustomMenuList,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n }),\n menuPortal: (base) => ({\n ...base,\n zIndex: 9999, // 👈 raise the dropdown above everything\n }),\n }}\n menuPortalTarget={document.body} \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 {props.data.label || \"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","useMemo","ThemeProvider","TooltipProvider","Box","Flex","MultiMapping","Mapping","IconButton","ArrowLeftIcon","Heading","Button","Arrow","NamingModal","EditConfirmation","Text","Tooltip","parseDate","dayjs","useEffect","DropdownMenu","DropdownMenuTrigger","Input","ChevronDownIcon","DropdownMenuContent","_a","DropdownMenuItem","DropdownMenuSub","DropdownMenuSubTrigger","DropdownMenuSubContent","Calendar","RadioGroup","value","dynamicDateOptions","option","Radio","_b","Switch","Checkbox","FormInput","FormLabel","components","Select","PlusIcon","Chip","TickCircleFillIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/dynamic-mapping/index.tsx"],"sourcesContent":["import {\n Flex,\n IconButton,\n Heading,\n Button,\n Box,\n Checkbox,\n FormInput,\n Select,\n FormLabel,\n ThemeProvider,\n Text,\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 TooltipProvider,\n} from \"@sparrowengg/twigs-react\";\nimport { parseDate, DateValue } from \"@internationalized/date\";\nimport EditConfirmation from \"../commons/components/edit-confirmation\";\nimport {\n ArrowLeftIcon,\n ChevronDownIcon,\n PlusIcon,\n TickCircleFillIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState, useMemo } from \"react\";\nimport Arrow from \"../commons/icons/arrow\";\nimport Mapping from \"./components/Mapping\";\nimport { surveySparrowURL, dynamicDateOptions } from \"../commons/constants\";\nimport { components, OptionProps, SingleValueProps, MenuListProps } from \"react-select\";\nimport dayjs from \"dayjs\";\nimport {\n IntegrationField,\n ConfigurationField,\n ConfigurationFieldValue,\n MappingData,\n EventField,\n} from \"../commons/types/enhanced\";\nimport { Mapping as MultiMapping } from \"../mapping/components/mapping\";\nimport {\n FieldType,\n CustomListFieldType,\n OldResponseFieldType,\n} from \"../mapping/types\";\nimport NamingModal from \"../commons/components/NamingModal\";\n\ntype DynamicMappingPropsType = {\n mappingType?: string;\n hasPreviousMapping?: boolean;\n integrationFields: IntegrationField[];\n configuration: {\n currentMappingName?: string;\n setMappingName?: (value: string) => void;\n importOptions: {\n showImportOptions: boolean;\n excludeResponse: {\n id: number | string;\n label: string;\n ifChecked: () => string;\n ifUnchecked: (period: string) => string;\n fieldType: string;\n value: boolean | null;\n onChangeHandler: (value: ConfigurationFieldValue) => void;\n };\n options: Array<{\n id: number | string;\n label: string;\n value: string | null;\n disabled?: boolean;\n description: string;\n type: string | null;\n tooltip?: string;\n minValue?: string;\n maxValue?: string;\n }>;\n onChangeHandler: (value: ConfigurationFieldValue) => void;\n };\n hasConfiguration: boolean;\n configuredFields: any;\n configurationFields: Array<{\n id: number | string;\n label: string;\n fieldType: string;\n hasAddNewOption?: boolean;\n tooltip?: string;\n options?: Array<{ label: string; value: string }>;\n value: { label: string; value: string | unknown } | string | null;\n onChangeHandler: (value: ConfigurationFieldValue) => void;\n }>;\n onSaveHandler: () => void;\n };\n token?: string;\n isMappingPage: boolean;\n navigateMappingPage: (value?: boolean) => void;\n apiURL?: string;\n surveyDetails: {\n surveyName: string;\n surveyId: string | number;\n surveyProperties?: any;\n };\n onSaveHandler: (fields: any) => void;\n setIntegrationFields: React.Dispatch<React.SetStateAction<any>>;\n hasExistingMapping: boolean;\n importResponse: {\n hasImportResponse: boolean;\n value: any;\n onChangeHandler: (value: any) => void;\n };\n editField?: any;\n previousMappingHandler?: (value?: boolean) => void;\n surveyType: string;\n havingTypeDropdown: boolean;\n fields: Array<FieldType>;\n setFields: React.Dispatch<React.SetStateAction<Array<FieldType>>>;\n surveyId: string | number;\n integrationName: string;\n customList: CustomListFieldType;\n oldResponse: OldResponseFieldType;\n hasNamingModal?: boolean;\n};\n\nexport const DynamicMapping = ({\n mappingType,\n integrationFields,\n configuration,\n isMappingPage,\n navigateMappingPage,\n setIntegrationFields,\n token,\n apiURL = surveySparrowURL,\n surveyDetails,\n importResponse,\n hasExistingMapping,\n onSaveHandler,\n editField,\n previousMappingHandler,\n surveyType,\n havingTypeDropdown,\n fields,\n setFields,\n surveyId,\n integrationName,\n customList,\n oldResponse,\n hasNamingModal,\n}: DynamicMappingPropsType) => {\n const [ssMappingData, setSSMappingData] = useState<MappingData>({\n questions: [],\n variables: [],\n contactProperties: [],\n expressions: [],\n property: [],\n derivedQuestions: [],\n });\n const [isEditConfirmationOpen, setIsEditConfirmationOpen] = useState(false);\n\n // Track original state for edit mode\n const [originalMappingData, setOriginalMappingData] =\n useState<MappingData | null>(null);\n const [originalConfigurationFields, setOriginalConfigurationFields] =\n useState<any>(null);\n const [originalConfiguredFields, setOriginalConfiguredFields] =\n useState<any>(null);\n const [originalImportResponse, setOriginalImportResponse] =\n useState<any>(null);\n const [isInitialLoad, setIsInitialLoad] = useState(true);\n const [essentialFields, setEssentialFields] = useState<any>([]);\n const [commonFields, setCommonFields] = useState<any>([]);\n\n\n //for multi mapping\n\n // useEffect(() => {\n // if (!!editField?.id) {\n // navigateMappingPage(true);\n // // Store original state when entering edit mode\n // setOriginalConfigurationFields(\n // JSON.parse(JSON.stringify(configuration.configurationFields))\n // );\n // setOriginalConfiguredFields(\n // JSON.parse(JSON.stringify(configuration.configuredFields))\n // );\n // setOriginalImportResponse(JSON.parse(JSON.stringify(importResponse)));\n // }\n // }, []);\n\n // Function to check if any field values have changed in edit mode\n const hasFieldsChanged = () => {\n if (!editField?.id || !originalMappingData) return true; // Not in edit mode or no original data\n\n // Check if mapping data has changed\n const mappingDataChanged =\n JSON.stringify(ssMappingData) !== JSON.stringify(originalMappingData);\n const importResponseChanged =\n JSON.stringify(JSON.parse(JSON.stringify(importResponse))) !==\n JSON.stringify(originalImportResponse);\n\n // Check if configuration fields have changed\n const configFieldsChanged =\n JSON.stringify(configuration.configurationFields) !==\n JSON.stringify(originalConfigurationFields);\n\n // Check if configured fields have changed\n const configuredFieldsChanged =\n JSON.stringify(configuration.configuredFields) !==\n JSON.stringify(originalConfiguredFields);\n\n return (\n configFieldsChanged ||\n configuredFieldsChanged ||\n (!isInitialLoad && mappingDataChanged)\n );\n };\n useMemo(() => {\n setEssentialFields(fields?.filter((field) => field?.isEssentialField));\n setCommonFields(fields?.filter((field) => !field?.isEssentialField));\n }, [fields]);\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 <TooltipProvider>\n <Box css={{ width: \"100%\" }}>\n <MappingHeader\n hasNamingModal={hasNamingModal}\n mappingType={mappingType ?? \"\"}\n isEditConfirmationOpen={isEditConfirmationOpen}\n setIsEditConfirmationOpen={setIsEditConfirmationOpen}\n editField={editField}\n importResponse={importResponse}\n ssMappingData={ssMappingData}\n configuration={configuration}\n hasFieldsChanged={hasFieldsChanged()}\n saveConfiguration={() => {\n configuration.onSaveHandler();\n }}\n isMappingPage={isMappingPage}\n hasExistingMapping={hasExistingMapping}\n navigateConfigPage={() => navigateMappingPage(false)}\n previousMappingHandler={previousMappingHandler}\n onSaveHandler={() => {\n onSaveHandler(editField?.id ? editField : {});\n }}\n essentialFields={essentialFields}\n commonFields={commonFields}\n />\n {!isMappingPage && configuration.hasConfiguration ? (\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ marginTop: \"$40\" }}\n >\n <ConfigurationSetup\n configuration={configuration}\n surveyName={surveyDetails.surveyName}\n editField={editField}\n />\n </Flex>\n ) : (\n <>\n {mappingType === \"MULTI_MAPPING\" ? (\n <>\n <MultiMapping\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 ) : (\n <Mapping\n setOriginalMappingData={setOriginalMappingData}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n token={token}\n setIsInitialLoad={setIsInitialLoad}\n apiURL={apiURL}\n surveyId={surveyDetails.surveyId}\n surveyProperties={surveyDetails.surveyProperties}\n importResponse={importResponse}\n ssMappingData={ssMappingData}\n setSSMappingData={setSSMappingData}\n editField={editField}\n />\n )}\n </>\n )}\n </Box>\n </TooltipProvider>\n </ThemeProvider>\n );\n};\n\nconst MappingHeader = ({\n hasNamingModal,\n isEditConfirmationOpen,\n editField,\n importResponse,\n hasExistingMapping,\n ssMappingData,\n isMappingPage,\n navigateConfigPage,\n onSaveHandler,\n previousMappingHandler,\n saveConfiguration,\n configuration,\n setIsEditConfirmationOpen,\n hasFieldsChanged,\n mappingType,\n essentialFields,\n commonFields,\n}: {\n hasNamingModal?: boolean;\n ssMappingData: MappingData;\n configuration: any;\n hasFieldsChanged: boolean;\n isEditConfirmationOpen: boolean;\n editField?: any;\n importResponse: any;\n hasExistingMapping: boolean;\n isMappingPage: boolean;\n navigateConfigPage: (value?: boolean) => void;\n onSaveHandler: (fields: any) => void;\n previousMappingHandler?: (value?: boolean) => void;\n saveConfiguration: () => void;\n setIsEditConfirmationOpen: (value: boolean) => void;\n mappingType: string;\n essentialFields: Array<any>;\n commonFields: Array<any>;\n}) => {\n const [isNamingModalOpen, setIsNamingModalOpen] = useState(false);\n const isButtonDisabled = () => {\n\n if (isMappingPage) {\n if (mappingType === \"MULTI_MAPPING\") {\n return !essentialFields?.length ? commonFields?.every((field: any) => !field?.integrationField && !field?.surveySparrowField) : essentialFields?.some((field: any) => !field?.surveySparrowField);\n }\n // In edit mode, check if any fields have changed\n if (editField?.id) {\n return !hasFieldsChanged;\n }\n\n if ((importResponse?.value as any)?.importMethod === \"SEND_ALL_DATA\") {\n return !(\n ssMappingData?.questions?.length ||\n ssMappingData?.variables?.length ||\n ssMappingData?.contactProperties?.length ||\n ssMappingData?.expressions?.length ||\n ssMappingData?.property?.length ||\n ssMappingData?.derivedQuestions?.length\n );\n } else {\n const isMappingDisabled =\n ssMappingData?.questions?.some(\n (question: EventField) => question.isEnabled\n ) ||\n ssMappingData?.variables?.some(\n (variable: EventField) => variable.isEnabled\n ) ||\n ssMappingData?.contactProperties?.some(\n (property: EventField) => property.isEnabled\n ) ||\n ssMappingData?.expressions?.some(\n (expression: EventField) => expression.isEnabled\n ) ||\n ssMappingData?.derivedQuestions?.some(\n (derivedQuestion: EventField) => derivedQuestion.isEnabled\n ) ||\n ssMappingData?.property?.some(\n (property: EventField) => property.isEnabled\n );\n return !isMappingDisabled;\n }\n } else {\n const isAllFieldsDisabled = Object.values(\n configuration?.configurationFields || {}\n )?.some(\n (field: any) =>\n (field as ConfigurationField)?.value === null ||\n (field as ConfigurationField)?.value === undefined\n );\n if (\n configuration?.configurationFields?.find(\n (field: any) =>\n (field as ConfigurationField)?.id === \"responseImportSettings\"\n )?.value\n ) {\n return (\n isAllFieldsDisabled ||\n !configuration?.configuredFields?.responseImportType\n );\n } else {\n return isAllFieldsDisabled;\n }\n }\n };\n\n const isMappingPageDisabled = () => {\n const isAllFieldsDisabled = Object.values(\n configuration?.configurationFields || {}\n )?.some(\n (field: any) => field?.value === null || field?.value === undefined\n );\n if (\n configuration?.configurationFields?.find(\n (field: any) => field?.id === \"responseImportSettings\"\n )?.value\n ) {\n return (\n isAllFieldsDisabled ||\n !configuration?.configuredFields?.responseImportType\n );\n } else {\n return isAllFieldsDisabled;\n }\n };\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasExistingMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton\n onClick={() => previousMappingHandler?.()}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n />\n <Heading size=\"h6\">\n {editField?.id ? \"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 && navigateConfigPage()}\n >\n Configuration\n </Button>\n <Arrow />\n <Button\n disabled={isMappingPageDisabled()}\n css={{\n color: isMappingPage ? \"$neutral900\" : \"$neutral800\",\n cursor: isMappingPageDisabled() ? \"not-allowed\" : \"pointer\",\n }}\n color=\"default\"\n variant=\"ghost\"\n onClick={() => {\n if (isMappingPage) {\n onSaveHandler({});\n } else {\n saveConfiguration();\n }\n }}\n size=\"md\"\n >\n Mapping\n </Button>\n </Flex>\n <Flex\n justifyContent=\"end\"\n css={{\n width: \"180px\",\n }}\n >\n <Button\n size=\"lg\"\n disabled={isButtonDisabled()}\n onClick={() => {\n if (hasNamingModal && isMappingPage) {\n setIsNamingModalOpen(true);\n } else {\n if (isMappingPage) {\n if (editField?.id) {\n setIsEditConfirmationOpen(true);\n } else {\n onSaveHandler({});\n }\n } else {\n saveConfiguration();\n }\n }\n }}\n >\n {isMappingPage\n ? editField?.id\n ? \"Update Mapping\"\n : \"Save Mapping\"\n : \"Continue, Mapping\"}\n </Button>\n </Flex>\n {hasNamingModal && isMappingPage && (\n <NamingModal\n editFieldId={editField?.id}\n saveHandler={() => onSaveHandler(editField?.id)}\n closeHandler={() => setIsNamingModalOpen(false)}\n value={configuration?.currentMappingName || \"\"}\n setValue={(value: string) => configuration?.setMappingName?.(value)}\n isOpen={isNamingModalOpen}\n />\n )}\n {isEditConfirmationOpen && (\n <EditConfirmation\n name=\"Are you sure?\"\n description=\"Saving this updated mapping properties will generate new sheet with the revised mapping.\"\n onConfirm={async () => {\n await onSaveHandler({});\n setIsEditConfirmationOpen(false);\n }}\n onCancel={() => {\n setIsEditConfirmationOpen(false);\n }}\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\">Event Details</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 {configuration.importOptions.showImportOptions && (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n marginTop: \"-4px !important\",\n }}\n >\n <CustomDropdown\n placeholder={configuration.importOptions.placeholder || \"Choose\"}\n editField={editField}\n data={configuration.importOptions.options}\n isDisabled={configuration.importOptions.isDisabled}\n value={\n configuration?.configuredFields?.responseImportType?.value ??\n configuration.importOptions.options[0]\n }\n onChangeHandler={configuration.importOptions.onChangeHandler}\n />\n </Flex>\n )}\n {configuration.configuredFields?.responseImportType?.value?.type ===\n \"date\" && (\n <Text\n size=\"sm\"\n weight={\"regular\"}\n css={{ color: \"$neutral600\", marginTop: \"-$6\" }}\n >\n {`Existing responses from ${configuration.configuredFields?.responseImportType?.value?.value} will be imported`}\n </Text>\n )}\n {configuration.importOptions.excludeResponse &&\n configuration.configuredFields?.responseImportType?.value?.type ===\n \"dateRange\" && (\n <Configuration\n field={configuration.importOptions.excludeResponse}\n configuredFields={configuration.configuredFields}\n responseImportType={\n configuration.configuredFields?.responseImportType?.value?.value\n ?.label\n }\n />\n )}\n </Flex>\n </Box>\n );\n};\n\nconst CustomDropdown = ({ data, onChangeHandler, value, editField, isDisabled, placeholder }: 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 && !isDisabled) {\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 disabled={isDisabled}>\n <Input\n size=\"lg\"\n rightIcon={<ChevronDownIcon size={30} color=\"#6A6A6A\" />}\n placeholder={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 placeholder={field.placeholder || \"\"}\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 CustomMenuList: React.FC<MenuListProps<any>> = (props) => {\n const { children, ...rest } = props;\n const childrenArray = React.Children.toArray(children);\n \n // Separate ADD_NEW option from other options\n const regularOptions: React.ReactNode[] = [];\n let addNewOption: React.ReactNode = null;\n \n childrenArray.forEach((child: any) => {\n if (child?.props?.data?.value === \"ADD_NEW\") {\n addNewOption = child;\n } else {\n regularOptions.push(child);\n }\n });\n\n return (\n <components.MenuList {...rest}>\n <Box\n css={{\n display: \"flex\",\n flexDirection: \"column\",\n maxHeight: \"300px\",\n }}\n >\n <Box\n css={{\n flex: 1,\n overflowY: \"auto\",\n minHeight: 0,\n }}\n >\n {regularOptions}\n </Box>\n {addNewOption && (\n <Box\n css={{\n borderTop: \"$borderWidths$xs solid $neutral200\",\n flexShrink: 0,\n background: \"$white\",\n }}\n >\n {addNewOption}\n </Box>\n )}\n </Box>\n </components.MenuList>\n );\n};\n\nconst CustomAddNewSelect = ({ field }: any) => {\n return (\n <Select\n isDisabled={field?.disabled}\n placeholder={field.placeholder || \"\"}\n size=\"lg\"\n css={{\n cursor: \"pointer\",\n }}\n components={{\n Option: CustomShareOption,\n SingleValue: CustomSingleValue,\n MenuList: CustomMenuList,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n }),\n menuPortal: (base) => ({\n ...base,\n zIndex: 9999, // 👈 raise the dropdown above everything\n }),\n }}\n menuPortalTarget={document.body} \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 {props.data.label || \"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","useMemo","ThemeProvider","TooltipProvider","Box","Flex","MultiMapping","Mapping","IconButton","ArrowLeftIcon","Heading","Button","Arrow","NamingModal","EditConfirmation","Text","Tooltip","parseDate","dayjs","useEffect","DropdownMenu","DropdownMenuTrigger","Input","ChevronDownIcon","DropdownMenuContent","_a","DropdownMenuItem","DropdownMenuSub","DropdownMenuSubTrigger","DropdownMenuSubContent","Calendar","RadioGroup","value","dynamicDateOptions","option","Radio","_b","Switch","Checkbox","FormInput","FormLabel","components","Select","PlusIcon","Chip","TickCircleFillIcon"],"mappings":"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"}
|
|
@@ -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({
|