@sparrowengg/integrations-templates-frontend 1.3.0 → 1.3.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/integration-template/index.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n Heading,\n Text,\n ThemeProvider,\n TooltipProvider\n} from \"@sparrowengg/twigs-react\";\nimport React, { ReactNode, useEffect, useState } from \"react\";\nimport CursorIcon from \"../commons/icons/cursor\";\nimport MappingIcon from \"../commons/icons/mapping\";\nimport Dashboard from \"./components/dashboard\";\n\nexport const IntegrationTemplate = ({\n mappingComponent,\n mapping,\n triggerComponent,\n trigger,\n integrationName,\n singleMappingComponent,\n onDeleteHandler,\n toggleDashboardField\n}: {\n mappingComponent?: any;\n singleMappingComponent?: any;\n mapping: {\n mappedFields: {\n type: string;\n fields: any;\n };\n setMappedFields: React.Dispatch<React.SetStateAction<any>>;\n };\n triggerComponent: any;\n trigger: {\n mappedFields: Array<any>;\n setMappedFields: React.Dispatch<React.SetStateAction<any>>;\n };\n integrationName: string;\n onDeleteHandler?: (id?: string | number) => void;\n toggleDashboardField?: (id?: string | number) => void;\n}) => {\n const [hasDashboardPage, setHasDashboardPage] = useState(\n !!mapping?.mappedFields?.fields?.length || !!trigger?.mappedFields?.length\n );\n const [hasConfgurationType, setHasConfigurationType] = useState(\n (!!mappingComponent || !!singleMappingComponent) && !!triggerComponent\n );\n const [currentConfigurationType, setCurrentConfigurationType] = useState(\n !hasConfgurationType\n ? !!mappingComponent || !!singleMappingComponent\n ? \"MAPPING\"\n : \"TRIGGER\"\n : null\n ); // automatically switch to mapping or trigger screen if any one type is present\n const [editField, setEditField] = useState({});\n const [isMappingPage, setIsMappingPage] = useState(false);\n\n const navigateMappingPage = (value: boolean) =>\n setIsMappingPage(value ?? !isMappingPage);\n\n const hasMultiAccounts = mappingComponent?.props?.accounts?.hasAccounts;\n const isSingleAccountMappingCompleted =\n !hasMultiAccounts && !!mapping?.mappedFields?.fields.length;\nconst isSingleAccountTriggerCompleted =\n !hasMultiAccounts && !!trigger?.mappedFields?.length;\n\n const handleEditField = (field: any) => {\n setEditField({\n type: field.type,\n fieldValues: field.values,\n id: field.id\n });\n };\n\n const previousMappingHandler = () => {\n if (!isSingleAccountMappingCompleted && !isSingleAccountTriggerCompleted) {\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n setHasDashboardPage(false);\n return;\n }\n setHasDashboardPage(true);\n };\n\n const mappingClonedElementProps = {\n previousMappingHandler: previousMappingHandler,\n editField: editField,\n integrationName,\n isMappingPage,\n navigateMappingPage,\n onSaveHandler: (editId?: string | number) => {\n const navigate = mappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping: mappingComponent?.props?.hasPreviousMapping ?? (!isSingleAccountMappingCompleted && !isSingleAccountTriggerCompleted) \n };\n\n const clonedSingleMappingProps = {\n editField: editField,\n previousMappingHandler,\n onSaveHandler: async (editId?: string | number) => {\n const navigate =\n await singleMappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping: mappingComponent?.props?.hasPreviousMapping ?? (!isSingleAccountMappingCompleted && !isSingleAccountTriggerCompleted) \n };\n\n const triggerClonedProps = {\n editField,\n previousMappingHandler,\n onSaveHandler: async (editId?: string | number) => {\n const navigate =\n await triggerComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping: mappingComponent?.props?.hasPreviousMapping ?? (!isSingleAccountMappingCompleted && !isSingleAccountTriggerCompleted) \n }\n\n const ClonedMappingComponent = !!mappingComponent\n ? React.cloneElement(mappingComponent, mappingClonedElementProps)\n : mappingComponent;\n const ClonedSingleMappingComponent = !!singleMappingComponent\n ? React.cloneElement(singleMappingComponent, clonedSingleMappingProps)\n : singleMappingComponent;\n\n const ClonedtriggerComponent = !!triggerComponent ? React.cloneElement(triggerComponent, triggerClonedProps) : triggerComponent;\n\n useEffect(() => {\n if (!isSingleAccountMappingCompleted && !isSingleAccountTriggerCompleted && hasDashboardPage) {\n setHasDashboardPage(false);\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n }\n }, [mapping?.mappedFields?.fields, trigger?.mappedFields])\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 delayDuration={300}>\n <Box css={{ width: \"100%\" }}>\n {hasDashboardPage ? (\n <Dashboard\n hasMultiAccounts={hasMultiAccounts}\n dashboardDescription=\"Manage your entities in Dynamics 365 with SurveySparrow Survey\"\n integrationName={integrationName}\n mappingFields={mapping?.mappedFields}\n triggerFields={trigger?.mappedFields}\n handleConfigurationType={(value: string) =>\n setCurrentConfigurationType(value)\n }\n handleEditField={handleEditField}\n deleteFieldHandler={onDeleteHandler}\n toggleDashboardField={toggleDashboardField}\n handleDashboardPage={(value: boolean, type: string) => {\n setHasDashboardPage(value as boolean);\n setCurrentConfigurationType(type);\n setHasConfigurationType(false);\n }}\n />\n ) : (\n <>\n {hasConfgurationType &&\n ![\"MAPPING\", \"TRIGGER\"].includes(`${currentConfigurationType}`) ? (\n <ConfigureTemplate\n handleConfigurationType={(value: string) =>\n setCurrentConfigurationType(value)\n }\n />\n ) : (\n <>\n {currentConfigurationType === \"MAPPING\" &&\n !!singleMappingComponent\n ? ClonedSingleMappingComponent\n : null}\n {currentConfigurationType === \"MAPPING\" && !!mappingComponent\n ? ClonedMappingComponent\n : null}\n {currentConfigurationType !== \"MAPPING\" && !!triggerComponent\n ? ClonedtriggerComponent\n : null}\n </>\n )}\n </>\n )}\n </Box>\n </TooltipProvider>\n </ThemeProvider>\n );\n};\n\nconst ConfigureTemplate = ({\n handleConfigurationType\n}: {\n handleConfigurationType: (value: string) => void;\n}) => {\n return (\n <Box css={{ width: \"100%\", paddingTop: \"$48\" }}>\n <Flex flexDirection=\"column\" alignItems=\"center\">\n <Heading size=\"h5\" css={{ color: \"$neutral900\" }}>\n Select Configuration Type\n </Heading>\n <Text\n size=\"sm\"\n css={{ color: \"$neutral600\", lineHeight: \"$sm\", marginTop: \"$2\" }}\n >\n Choose either Mapping or Triggering to configure their respective\n actions.\n </Text>\n </Flex>\n <Flex alignItems=\"center\" justifyContent=\"center\">\n <Flex\n css={{ maxWidth: 960, width: \"100%\", marginTop: \"$36\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n gap=\"$20\"\n >\n <TemplateCard\n icon={<CursorIcon />}\n heading=\"Trigger\"\n description=\"Trigger survey when an event happens in HubSpot\"\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n <TemplateCard\n icon={<MappingIcon />}\n heading=\"Mapping\"\n description=\"Sync survey responses to HubSpot\"\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n </Flex>\n </Flex>\n </Box>\n );\n};\n\nconst TemplateCard = ({\n icon,\n heading,\n description,\n onClickHandler\n}: {\n icon: ReactNode;\n heading: string;\n description: string;\n onClickHandler: () => void;\n}) => {\n return (\n <Flex\n flexDirection=\"column\"\n alignItems=\"center\"\n onClick={onClickHandler}\n css={{\n width: 350,\n height: 300,\n outline: \"$borderWidths$xs solid $neutral200\",\n borderRadius: \"$4xl\",\n position: \"relative\",\n cursor: \"pointer\",\n filter: \"drop-shadow(0 4px 8px rgba(0, 0, 0, 0.06))\",\n overflow: \"auto\",\n \"&:hover\": {\n outline: \"$borderWidths$md solid $primary400\",\n \"& svg circle, rect, path\": {\n stroke: \"$primary500\"\n },\n \"& #ellipse\": {\n opacity: \"10%\"\n }\n }\n }}\n >\n <Box\n id=\"ellipse\"\n css={{\n position: \"absolute\",\n top: \"-23%\",\n filter: \"blur(25px)\",\n transition: \"all .4s ease\",\n width: 334,\n height: \"$25\",\n opacity: \"0%\",\n background: \"$primary400\",\n borderRadius: \"50%\"\n }}\n />\n <Box css={{ marginBlock: \"$32 $16\" }}>{icon}</Box>\n <Heading size=\"h6\" css={{ color: \"$neutral900\" }}>\n {heading}\n </Heading>\n <Text\n size=\"md\"\n css={{\n marginTop: \"$8\",\n color: \"$neutral800\",\n width: 222,\n textAlign: \"center\"\n }}\n >\n {description}\n </Text>\n </Flex>\n );\n};\n"],"names":["useState","_a","useEffect","ThemeProvider","TooltipProvider","Box","Dashboard","Flex","Heading","Text","CursorIcon","MappingIcon","heading"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/integration-template/index.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n Heading,\n Text,\n ThemeProvider,\n TooltipProvider\n} from \"@sparrowengg/twigs-react\";\nimport React, { ReactNode, useEffect, useState } from \"react\";\nimport CursorIcon from \"../commons/icons/cursor\";\nimport MappingIcon from \"../commons/icons/mapping\";\nimport Dashboard from \"./components/dashboard\";\n\nexport const IntegrationTemplate = ({\n mappingComponent,\n mapping,\n triggerComponent,\n trigger,\n integrationName,\n singleMappingComponent,\n onDeleteHandler,\n toggleDashboardField,\n dashboardDescription\n}: {\n mappingComponent?: any;\n singleMappingComponent?: any;\n mapping: {\n mappedFields: {\n type: string;\n fields: any;\n };\n setMappedFields: React.Dispatch<React.SetStateAction<any>>;\n };\n triggerComponent: any;\n trigger: {\n mappedFields: Array<any>;\n setMappedFields: React.Dispatch<React.SetStateAction<any>>;\n };\n integrationName: string;\n onDeleteHandler?: (id?: string | number) => void;\n toggleDashboardField?: (id?: string | number) => void;\n dashboardDescription: string;\n}) => {\n const hasMultiAccounts = mappingComponent?.props?.accounts?.hasAccounts;\n const isMappingFieldCompleted = !!mapping?.mappedFields?.fields.length;\n const isTiggerFieldCompleted = !!trigger?.mappedFields?.length;\n const [hasDashboardPage, setHasDashboardPage] = useState(\n !!mapping?.mappedFields?.fields?.length || !!trigger?.mappedFields?.length\n );\n const [hasConfgurationType, setHasConfigurationType] = useState(\n (!!mappingComponent || !!singleMappingComponent) && !!triggerComponent\n );\n const [currentConfigurationType, setCurrentConfigurationType] = useState(\n !hasConfgurationType\n ? !!mappingComponent || !!singleMappingComponent\n ? \"MAPPING\"\n : \"TRIGGER\"\n : null\n ); // automatically switch to mapping or trigger screen if any one type is present\n const [editField, setEditField] = useState({});\n const [isMappingPage, setIsMappingPage] = useState(false);\n\n // temporary previous mapping state to handle within integration template wrapper\n const [tempPreviousMapping, setTempPreviousMapping] = useState(\n !(isMappingFieldCompleted && isTiggerFieldCompleted)\n );\n\n const navigateMappingPage = (value: boolean) =>\n setIsMappingPage(value ?? !isMappingPage);\n\n const handleEditField = (field: any) => {\n setEditField({\n type: field.type,\n fieldValues: field.values,\n id: field.id\n });\n };\n\n const previousMappingHandler = () => {\n if (!(isMappingFieldCompleted || isTiggerFieldCompleted)) {\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n setHasDashboardPage(false);\n setEditField({});\n return;\n }\n setHasDashboardPage(true);\n };\n\n const mappingClonedElementProps = {\n previousMappingHandler,\n editField: editField,\n integrationName,\n isMappingPage,\n navigateMappingPage,\n onSaveHandler: (editId?: string | number) => {\n const navigate = mappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? mappingComponent?.props?.hasPreviousMapping\n };\n const clonedSingleMappingProps = {\n editField: editField,\n previousMappingHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate =\n await singleMappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? singleMappingComponent?.props?.hasPreviousMapping\n };\n\n const triggerClonedProps = {\n editField,\n previousMappingHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate = await triggerComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n previousMapping:\n tempPreviousMapping ?? triggerComponent?.props?.hasPreviousMapping\n };\n\n const ClonedMappingComponent = !!mappingComponent\n ? React.cloneElement(mappingComponent, mappingClonedElementProps)\n : mappingComponent;\n const ClonedSingleMappingComponent = !!singleMappingComponent\n ? React.cloneElement(singleMappingComponent, clonedSingleMappingProps)\n : singleMappingComponent;\n\n const ClonedTriggerComponent = !!triggerComponent\n ? React.cloneElement(triggerComponent, triggerClonedProps)\n : triggerComponent;\n\n useEffect(() => {\n if (\n !isMappingFieldCompleted &&\n !isTiggerFieldCompleted &&\n hasDashboardPage\n ) {\n setHasDashboardPage(false);\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n }\n }, [mapping?.mappedFields?.fields, trigger?.mappedFields]);\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 delayDuration={300}>\n <Box css={{ width: \"100%\" }}>\n {hasDashboardPage ? (\n <Dashboard\n hasDropdownComponents={{\n mapping: !!ClonedMappingComponent || !!clonedSingleMappingProps,\n trigger: !!ClonedTriggerComponent\n }}\n hasMultiAccounts={hasMultiAccounts}\n dashboardDescription={dashboardDescription}\n integrationName={integrationName}\n mappingFields={mapping?.mappedFields}\n triggerFields={trigger?.mappedFields}\n handleConfigurationType={(value: string) => {\n setCurrentConfigurationType(value);\n setHasDashboardPage(false);\n setTempPreviousMapping(true);\n setEditField({});\n }}\n handleEditField={handleEditField}\n deleteFieldHandler={onDeleteHandler}\n toggleDashboardField={toggleDashboardField}\n handleDashboardPage={(value: boolean, type: string) => {\n setHasDashboardPage(value as boolean);\n setCurrentConfigurationType(type);\n setHasConfigurationType(false);\n }}\n />\n ) : (\n <>\n {hasConfgurationType &&\n ![\"MAPPING\", \"TRIGGER\"].includes(\n `${currentConfigurationType}`\n ) ? (\n <ConfigureTemplate\n handleConfigurationType={(value: string) =>\n setCurrentConfigurationType(value)\n }\n />\n ) : (\n <>\n {currentConfigurationType === \"MAPPING\" &&\n !!singleMappingComponent\n ? ClonedSingleMappingComponent\n : null}\n {currentConfigurationType === \"MAPPING\" && !!mappingComponent\n ? ClonedMappingComponent\n : null}\n {currentConfigurationType !== \"MAPPING\" && !!triggerComponent\n ? ClonedTriggerComponent\n : null}\n </>\n )}\n </>\n )}\n </Box>\n </TooltipProvider>\n </ThemeProvider>\n );\n};\n\nconst ConfigureTemplate = ({\n handleConfigurationType\n}: {\n handleConfigurationType: (value: string) => void;\n}) => {\n return (\n <Box css={{ width: \"100%\", paddingTop: \"$48\" }}>\n <Flex flexDirection=\"column\" alignItems=\"center\">\n <Heading size=\"h5\" css={{ color: \"$neutral900\" }}>\n Select Configuration Type\n </Heading>\n <Text\n size=\"sm\"\n css={{ color: \"$neutral600\", lineHeight: \"$sm\", marginTop: \"$2\" }}\n >\n Choose either Mapping or Triggering to configure their respective\n actions.\n </Text>\n </Flex>\n <Flex alignItems=\"center\" justifyContent=\"center\">\n <Flex\n css={{ maxWidth: 960, width: \"100%\", marginTop: \"$36\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n gap=\"$20\"\n >\n <TemplateCard\n icon={<CursorIcon />}\n heading=\"Trigger\"\n description=\"Trigger survey when an event happens in HubSpot\"\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n <TemplateCard\n icon={<MappingIcon />}\n heading=\"Mapping\"\n description=\"Sync survey responses to HubSpot\"\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n </Flex>\n </Flex>\n </Box>\n );\n};\n\nconst TemplateCard = ({\n icon,\n heading,\n description,\n onClickHandler\n}: {\n icon: ReactNode;\n heading: string;\n description: string;\n onClickHandler: () => void;\n}) => {\n return (\n <Flex\n flexDirection=\"column\"\n alignItems=\"center\"\n onClick={onClickHandler}\n css={{\n width: 350,\n height: 300,\n outline: \"$borderWidths$xs solid $neutral200\",\n borderRadius: \"$4xl\",\n position: \"relative\",\n cursor: \"pointer\",\n filter: \"drop-shadow(0 4px 8px rgba(0, 0, 0, 0.06))\",\n overflow: \"auto\",\n \"&:hover\": {\n outline: \"$borderWidths$md solid $primary400\",\n \"& svg circle, rect, path\": {\n stroke: \"$primary500\"\n },\n \"& #ellipse\": {\n opacity: \"10%\"\n }\n }\n }}\n >\n <Box\n id=\"ellipse\"\n css={{\n position: \"absolute\",\n top: \"-23%\",\n filter: \"blur(25px)\",\n transition: \"all .4s ease\",\n width: 334,\n height: \"$25\",\n opacity: \"0%\",\n background: \"$primary400\",\n borderRadius: \"50%\"\n }}\n />\n <Box css={{ marginBlock: \"$32 $16\" }}>{icon}</Box>\n <Heading size=\"h6\" css={{ color: \"$neutral900\" }}>\n {heading}\n </Heading>\n <Text\n size=\"md\"\n css={{\n marginTop: \"$8\",\n color: \"$neutral800\",\n width: 222,\n textAlign: \"center\"\n }}\n >\n {description}\n </Text>\n </Flex>\n );\n};\n"],"names":["useState","_a","useEffect","ThemeProvider","TooltipProvider","Box","Dashboard","Flex","Heading","Text","CursorIcon","MappingIcon","heading"],"mappings":"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"}
@@ -92,7 +92,6 @@ const ContactImportMapping = ({
92
92
  ]
93
93
  }));
94
94
  };
95
- console.log(contactImportField);
96
95
  return /* @__PURE__ */ React__default.createElement(Flex, { justifyContent: "center" }, /* @__PURE__ */ React__default.createElement(Box, { css: { marginTop: "$40", maxWidth: 1176, width: "100%" } }, /* @__PURE__ */ React__default.createElement(
97
96
  Box,
98
97
  {
@@ -1 +1 @@
1
- {"version":3,"file":"contact-import-mapping.js","sources":["../../../../src/contact-import/components/contact-import-mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormInput,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Table,\n Tbody,\n Td,\n Text,\n Th,\n Thead,\n Tr\n} from \"@sparrowengg/twigs-react\";\nimport { DeleteIcon, PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useRef } from \"react\";\nconst defaultFieldValue = {\n integrationField: null,\n surveySparrowField: \"\",\n property: \"custom\"\n};\n\nconst ContactImportMapping = ({\n contactImportField,\n setContactImportField,\n integrationName,\n contactProperties,\n}: any) => {\n const customPropertyRef = useRef<HTMLDivElement | null>(null);\n const initialRenderRef = useRef(true);\n const errorFieldRef = useRef(false);\n\n useEffect(() => {\n if (initialRenderRef.current) {\n //to skip scroll on initial mounting\n initialRenderRef.current = false;\n } else {\n if (customPropertyRef?.current) {\n customPropertyRef.current.scrollIntoView({\n behavior: \"smooth\",\n block: \"end\"\n });\n }\n }\n }, []);\n\n const customFieldHandler = (\n id: string | number,\n property: string,\n value: any\n ) => {\n setContactImportField({\n ...contactImportField,\n fields: contactImportField.fields.map((field: any) => {\n if (field.id === id) {\n return { ...field, [property]: value };\n } else {\n return { ...field };\n }\n })\n });\n };\n\n const updateSurveySparrowField = (\n value: any,\n id: string | number,\n manuallyMapped: boolean\n ) => {\n setContactImportField({\n ...contactImportField,\n fields: contactImportField?.fields.map((field: any) => {\n if (field.id === id) {\n return {\n ...field,\n surveySparrowField: value,\n ...(manuallyMapped && { mapped: manuallyMapped })\n };\n } else {\n return { ...field };\n }\n })\n });\n };\n\n const addCustomProperty = () => {\n setContactImportField({\n ...contactImportField,\n fields: [\n ...contactImportField.fields,\n {\n id: contactImportField.fields?.length\n ? contactImportField.fields[contactImportField.fields?.length - 1]\n .id + 1\n : 1,\n ...defaultFieldValue\n }\n ]\n });\n };\n console.log(contactImportField);\n\n return (\n <Flex justifyContent=\"center\">\n <Box css={{ marginTop: \"$40\", maxWidth: 1176, width: \"100%\" }}>\n <Box\n css={{\n paddingLeft: \"$28\"\n }}\n >\n <Heading size=\"h5\">Map Contact Properties</Heading>\n <Text css={{ marginTop: \"$4\", color: \"$neutral600\" }} size=\"md\">\n Review these mappings before importing. Unmapped columns will be\n ignored.\n </Text>\n </Box>\n <Box\n css={{\n height: \"calc(100vh - 241px)\",\n paddingTop: \"$16\",\n overflowY: \"auto\",\n position: \"relative\",\n background: \"$white900\",\n paddingLeft: \"$28\"\n }}\n >\n <Table\n css={{\n width: \"100%\",\n background: \"$white900\",\n borderRadius: \"5px\",\n borderCollapse: \"collapse\"\n }}\n >\n <Thead\n css={{\n zIndex: 5,\n position: \"sticky\",\n top: \"-31px\",\n \"& th\": {\n textAlign: \"left\",\n fontWeight: 700,\n paddingBlock: \"$6\",\n lineHeight: \"$sm\",\n background: \"$white900\",\n boxShadow: '0 1px 0 rgba(0,0,0,0.1)',\n borderBlock: \"$borderWidths$xs solid $neutral200\",\n }\n }}\n >\n <Th>{`${integrationName} Profile Fields Data`}</Th>\n <Th css={{ borderLeft: \"$borderWidths$xs solid $neutral100\" }}>SurveySparrow Mapping</Th>\n </Thead>\n <Tbody\n css={{\n \"& tr\": {\n borderBottom: \"$borderWidths$xs solid $neutral200\"\n }\n }}\n >\n {contactImportField.fields.map((field: any) => {\n const hasSurveyFieldValue = contactProperties.some(\n (contact: any) => contact.value === field.surveySparrowField\n );\n return (\n <Tr\n key={field.id}\n css={{\n position: \"relative\",\n \"& td\": {\n paddingBlock: \"$8 $12\",\n paddingInline: \"$6\",\n verticalAlign: \"top\"\n }\n }}\n >\n <Td\n css={{\n width: 560,\n \"& > p\": {\n lineHeight: \"$sm\",\n color: \"$neutral600\"\n }\n }}\n >\n {field.property !== \"custom\" ? (\n <>\n <Text\n size=\"sm\"\n css={{\n color: \"$neutral900 !important\"\n }}\n weight=\"medium\"\n >\n {(\n field?.integrationField?.charAt(0).toUpperCase() +\n field?.integrationField.slice(1)\n ).replace(\"_\", \" \")}\n </Text>\n {field?.sampleData.length ? (\n <>\n {field.sampleData.map((sample: any) => (\n <Text\n size=\"xs\"\n css={{\n color: \"$neutral600\",\n lineHeight: \"$xs !important\"\n }}\n >\n {sample.length > 40\n ? sample.slice(0, 40) + \"...\"\n : sample}\n </Text>\n ))}\n </>\n ) : null}\n </>\n ) : (\n <Box css={{ position: \"relative\" }}>\n <FormInput\n size=\"lg\"\n onChange={(event) =>\n customFieldHandler(\n field.id,\n \"integrationField\",\n event.currentTarget.value\n )\n }\n />\n <FormLabel\n css={{ marginTop: \"$4\", color: \"$neutral400\" }}\n >\n Enter the exact custom property name for accurate\n mapping. It is case-sensitive.\n </FormLabel>\n {field.property === \"custom\" ? (\n <IconButton\n css={{\n position: \"absolute\",\n top: \"0\",\n left: \"-70px\"\n }}\n size=\"lg\"\n variant=\"ghost\"\n color=\"secondary\"\n onClick={() => {\n setContactImportField({\n ...contactImportField,\n fields: contactImportField?.fields.filter((currentField: any) => currentField?.id !== field?.id)\n })\n }}\n icon={<DeleteIcon />}\n />\n ) : null}\n </Box>\n )}\n </Td>\n <Td\n css={{\n width: 560,\n borderLeft: \"$borderWidths$xs solid $neutral100\"\n }}\n >\n <>\n <Select\n size=\"lg\"\n placeholder=\"--Choose Property--\"\n value={\n field.surveySparrowField\n ? {\n label: contactProperties.find(\n (contact: any) =>\n contact.value === field.surveySparrowField\n )?.label,\n value: field.surveySparrowField\n }\n : null\n }\n options={contactProperties.filter(\n (contact: any) => contact.type !== \"DEPENDENT_FIELD\"\n )}\n onChange={(currentField: any) => {\n updateSurveySparrowField(\n currentField.value,\n field.id,\n true\n );\n }}\n css={{\n marginBottom:\n !hasSurveyFieldValue &&\n !field.surveySparrowFieldError &&\n field.property === \"custom\"\n ? \"$12\"\n : 0,\n ...(!field.surveySparrowField &&\n field.surveySparrowFieldError && {\n \"& .twigs-select__control, & .twigs-select__control:hover\":\n {\n boxShadow: \"0px 1.5px 0px 0px #f65633\",\n borderBottom: 0\n }\n })\n }}\n />\n {hasSurveyFieldValue ? (\n <FormLabel\n css={{\n color: field?.mapped ? \"$neutral600\" : \"#0F966C\",\n marginBlock: \"$4 $12\"\n }}\n size=\"xs\"\n >\n {field?.mapped\n ? \"Manually mapped by you\"\n : \"Automatically mapped\"}\n </FormLabel>\n ) : null}\n {!field.surveySparrowField &&\n field.surveySparrowFieldError && (\n <FormLabel\n css={{\n color: \"$negative500\",\n marginTop: \"$4\"\n }}\n size=\"xs\"\n >\n Please select the property\n </FormLabel>\n )}\n </>\n </Td>\n </Tr>\n );\n })}\n\n <Tr\n css={{\n borderBottom: \"none !important\",\n \"&:hover\": {\n background: \"$white900\"\n }\n }}\n >\n <Td colSpan={2}>\n <Button\n size=\"md\"\n variant=\"ghost\"\n leftIcon={<PlusIcon />}\n onClick={addCustomProperty}\n >\n Add Custom Property\n </Button>\n </Td>\n </Tr>\n </Tbody>\n </Table>\n </Box>\n </Box>\n </Flex>\n );\n};\n\nexport default ContactImportMapping;\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"contact-import-mapping.js","sources":["../../../../src/contact-import/components/contact-import-mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormInput,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Table,\n Tbody,\n Td,\n Text,\n Th,\n Thead,\n Tr\n} from \"@sparrowengg/twigs-react\";\nimport { DeleteIcon, PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useRef } from \"react\";\nconst defaultFieldValue = {\n integrationField: null,\n surveySparrowField: \"\",\n property: \"custom\"\n};\n\nconst ContactImportMapping = ({\n contactImportField,\n setContactImportField,\n integrationName,\n contactProperties,\n}: any) => {\n const customPropertyRef = useRef<HTMLDivElement | null>(null);\n const initialRenderRef = useRef(true);\n const errorFieldRef = useRef(false);\n\n useEffect(() => {\n if (initialRenderRef.current) {\n //to skip scroll on initial mounting\n initialRenderRef.current = false;\n } else {\n if (customPropertyRef?.current) {\n customPropertyRef.current.scrollIntoView({\n behavior: \"smooth\",\n block: \"end\"\n });\n }\n }\n }, []);\n\n const customFieldHandler = (\n id: string | number,\n property: string,\n value: any\n ) => {\n setContactImportField({\n ...contactImportField,\n fields: contactImportField.fields.map((field: any) => {\n if (field.id === id) {\n return { ...field, [property]: value };\n } else {\n return { ...field };\n }\n })\n });\n };\n\n const updateSurveySparrowField = (\n value: any,\n id: string | number,\n manuallyMapped: boolean\n ) => {\n setContactImportField({\n ...contactImportField,\n fields: contactImportField?.fields.map((field: any) => {\n if (field.id === id) {\n return {\n ...field,\n surveySparrowField: value,\n ...(manuallyMapped && { mapped: manuallyMapped })\n };\n } else {\n return { ...field };\n }\n })\n });\n };\n\n const addCustomProperty = () => {\n setContactImportField({\n ...contactImportField,\n fields: [\n ...contactImportField.fields,\n {\n id: contactImportField.fields?.length\n ? contactImportField.fields[contactImportField.fields?.length - 1]\n .id + 1\n : 1,\n ...defaultFieldValue\n }\n ]\n });\n };\n\n return (\n <Flex justifyContent=\"center\">\n <Box css={{ marginTop: \"$40\", maxWidth: 1176, width: \"100%\" }}>\n <Box\n css={{\n paddingLeft: \"$28\"\n }}\n >\n <Heading size=\"h5\">Map Contact Properties</Heading>\n <Text css={{ marginTop: \"$4\", color: \"$neutral600\" }} size=\"md\">\n Review these mappings before importing. Unmapped columns will be\n ignored.\n </Text>\n </Box>\n <Box\n css={{\n height: \"calc(100vh - 241px)\",\n paddingTop: \"$16\",\n overflowY: \"auto\",\n position: \"relative\",\n background: \"$white900\",\n paddingLeft: \"$28\"\n }}\n >\n <Table\n css={{\n width: \"100%\",\n background: \"$white900\",\n borderRadius: \"5px\",\n borderCollapse: \"collapse\"\n }}\n >\n <Thead\n css={{\n zIndex: 5,\n position: \"sticky\",\n top: \"-31px\",\n \"& th\": {\n textAlign: \"left\",\n fontWeight: 700,\n paddingBlock: \"$6\",\n lineHeight: \"$sm\",\n background: \"$white900\",\n boxShadow: '0 1px 0 rgba(0,0,0,0.1)',\n borderBlock: \"$borderWidths$xs solid $neutral200\",\n }\n }}\n >\n <Th>{`${integrationName} Profile Fields Data`}</Th>\n <Th css={{ borderLeft: \"$borderWidths$xs solid $neutral100\" }}>SurveySparrow Mapping</Th>\n </Thead>\n <Tbody\n css={{\n \"& tr\": {\n borderBottom: \"$borderWidths$xs solid $neutral200\"\n }\n }}\n >\n {contactImportField.fields.map((field: any) => {\n const hasSurveyFieldValue = contactProperties.some(\n (contact: any) => contact.value === field.surveySparrowField\n );\n return (\n <Tr\n key={field.id}\n css={{\n position: \"relative\",\n \"& td\": {\n paddingBlock: \"$8 $12\",\n paddingInline: \"$6\",\n verticalAlign: \"top\"\n }\n }}\n >\n <Td\n css={{\n width: 560,\n \"& > p\": {\n lineHeight: \"$sm\",\n color: \"$neutral600\"\n }\n }}\n >\n {field.property !== \"custom\" ? (\n <>\n <Text\n size=\"sm\"\n css={{\n color: \"$neutral900 !important\"\n }}\n weight=\"medium\"\n >\n {(\n field?.integrationField?.charAt(0).toUpperCase() +\n field?.integrationField.slice(1)\n ).replace(\"_\", \" \")}\n </Text>\n {field?.sampleData.length ? (\n <>\n {field.sampleData.map((sample: any) => (\n <Text\n size=\"xs\"\n css={{\n color: \"$neutral600\",\n lineHeight: \"$xs !important\"\n }}\n >\n {sample.length > 40\n ? sample.slice(0, 40) + \"...\"\n : sample}\n </Text>\n ))}\n </>\n ) : null}\n </>\n ) : (\n <Box css={{ position: \"relative\" }}>\n <FormInput\n size=\"lg\"\n onChange={(event) =>\n customFieldHandler(\n field.id,\n \"integrationField\",\n event.currentTarget.value\n )\n }\n />\n <FormLabel\n css={{ marginTop: \"$4\", color: \"$neutral400\" }}\n >\n Enter the exact custom property name for accurate\n mapping. It is case-sensitive.\n </FormLabel>\n {field.property === \"custom\" ? (\n <IconButton\n css={{\n position: \"absolute\",\n top: \"0\",\n left: \"-70px\"\n }}\n size=\"lg\"\n variant=\"ghost\"\n color=\"secondary\"\n onClick={() => {\n setContactImportField({\n ...contactImportField,\n fields: contactImportField?.fields.filter((currentField: any) => currentField?.id !== field?.id)\n })\n }}\n icon={<DeleteIcon />}\n />\n ) : null}\n </Box>\n )}\n </Td>\n <Td\n css={{\n width: 560,\n borderLeft: \"$borderWidths$xs solid $neutral100\"\n }}\n >\n <>\n <Select\n size=\"lg\"\n placeholder=\"--Choose Property--\"\n value={\n field.surveySparrowField\n ? {\n label: contactProperties.find(\n (contact: any) =>\n contact.value === field.surveySparrowField\n )?.label,\n value: field.surveySparrowField\n }\n : null\n }\n options={contactProperties.filter(\n (contact: any) => contact.type !== \"DEPENDENT_FIELD\"\n )}\n onChange={(currentField: any) => {\n updateSurveySparrowField(\n currentField.value,\n field.id,\n true\n );\n }}\n css={{\n marginBottom:\n !hasSurveyFieldValue &&\n !field.surveySparrowFieldError &&\n field.property === \"custom\"\n ? \"$12\"\n : 0,\n ...(!field.surveySparrowField &&\n field.surveySparrowFieldError && {\n \"& .twigs-select__control, & .twigs-select__control:hover\":\n {\n boxShadow: \"0px 1.5px 0px 0px #f65633\",\n borderBottom: 0\n }\n })\n }}\n />\n {hasSurveyFieldValue ? (\n <FormLabel\n css={{\n color: field?.mapped ? \"$neutral600\" : \"#0F966C\",\n marginBlock: \"$4 $12\"\n }}\n size=\"xs\"\n >\n {field?.mapped\n ? \"Manually mapped by you\"\n : \"Automatically mapped\"}\n </FormLabel>\n ) : null}\n {!field.surveySparrowField &&\n field.surveySparrowFieldError && (\n <FormLabel\n css={{\n color: \"$negative500\",\n marginTop: \"$4\"\n }}\n size=\"xs\"\n >\n Please select the property\n </FormLabel>\n )}\n </>\n </Td>\n </Tr>\n );\n })}\n\n <Tr\n css={{\n borderBottom: \"none !important\",\n \"&:hover\": {\n background: \"$white900\"\n }\n }}\n >\n <Td colSpan={2}>\n <Button\n size=\"md\"\n variant=\"ghost\"\n leftIcon={<PlusIcon />}\n onClick={addCustomProperty}\n >\n Add Custom Property\n </Button>\n </Td>\n </Tr>\n </Tbody>\n </Table>\n </Box>\n </Box>\n </Flex>\n );\n};\n\nexport default ContactImportMapping;\n"],"names":["React"],"mappings":"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"}
@@ -33,7 +33,8 @@ const Dashboard = ({
33
33
  handleEditField,
34
34
  handleDashboardPage,
35
35
  deleteFieldHandler,
36
- toggleDashboardField
36
+ toggleDashboardField,
37
+ hasDropdownComponents
37
38
  }) => {
38
39
  const isSingleAccountMappingCompleted = !hasMultiAccounts && !!(mappingFields == null ? void 0 : mappingFields.fields.length);
39
40
  const isSingleAccountTriggerCompleted = !hasMultiAccounts && !!(triggerFields == null ? void 0 : triggerFields.length);
@@ -52,7 +53,7 @@ const Dashboard = ({
52
53
  align: "start",
53
54
  css: { maxWidth: 240, zIndex: 10 }
54
55
  },
55
- /* @__PURE__ */ React__default.createElement(
56
+ hasDropdownComponents.trigger ? /* @__PURE__ */ React__default.createElement(
56
57
  DropdownItem,
57
58
  {
58
59
  icon: /* @__PURE__ */ React__default.createElement(CursorIcon, { size: 24, color: "#6A6A6A" }),
@@ -61,8 +62,8 @@ const Dashboard = ({
61
62
  isDisabled: isSingleAccountTriggerCompleted,
62
63
  onClickHandler: () => handleConfigurationType("TRIGGER")
63
64
  }
64
- ),
65
- /* @__PURE__ */ React__default.createElement(
65
+ ) : null,
66
+ hasDropdownComponents.mapping ? /* @__PURE__ */ React__default.createElement(
66
67
  DropdownItem,
67
68
  {
68
69
  icon: /* @__PURE__ */ React__default.createElement(MappingIcon, { size: 24, color: "#6A6A6A" }),
@@ -71,7 +72,7 @@ const Dashboard = ({
71
72
  description: `Create/Update record in ${integrationName} from survey responses`,
72
73
  onClickHandler: () => handleConfigurationType("MAPPING")
73
74
  }
74
- )
75
+ ) : null
75
76
  )))
76
77
  ), hasMultiAccounts ? /* @__PURE__ */ React__default.createElement(
77
78
  MultiAccountDashboard,
@@ -274,7 +275,16 @@ const MultiAccountFallback = ({
274
275
  },
275
276
  "Creating one is as easy as a breeze. Just a click away to get started."
276
277
  ),
277
- /* @__PURE__ */ React__default.createElement(Button, { size: "lg", leftIcon: /* @__PURE__ */ React__default.createElement(PlusIcon, null), variant: "outline", onClick: onClickHandler }, `New ${title}`)
278
+ /* @__PURE__ */ React__default.createElement(
279
+ Button,
280
+ {
281
+ size: "lg",
282
+ leftIcon: /* @__PURE__ */ React__default.createElement(PlusIcon, null),
283
+ variant: "outline",
284
+ onClick: onClickHandler
285
+ },
286
+ `New ${title}`
287
+ )
278
288
  );
279
289
  };
280
290
  const SingleAccountDashboard = ({
@@ -855,186 +865,179 @@ const DashboardItem = ({
855
865
  }
856
866
  return field;
857
867
  };
858
- return /* @__PURE__ */ React__default.createElement(
868
+ return /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(
859
869
  Flex,
860
870
  {
861
- flexDirection: "column"
871
+ css: {
872
+ border: isMappingDisplayed ? "$borderWidths$xs solid $black400" : "$borderWidths$xs solid $neutral200",
873
+ borderRadius: isMappingDisplayed ? "$2xl $2xl 0 0" : "$2xl",
874
+ padding: "$10 $12",
875
+ width: "100%",
876
+ backgroundColor: isMappingDisplayed ? "rgba(100, 116, 139, 0.04)" : "$white900"
877
+ },
878
+ justifyContent: "space-between",
879
+ alignItems: "center"
862
880
  },
863
881
  /* @__PURE__ */ React__default.createElement(
864
882
  Flex,
865
883
  {
866
- css: {
867
- border: isMappingDisplayed ? "$borderWidths$xs solid $black400" : "$borderWidths$xs solid $neutral200",
868
- borderRadius: isMappingDisplayed ? "$2xl $2xl 0 0" : "$2xl",
869
- padding: "$10 $12",
870
- width: "100%",
871
- backgroundColor: isMappingDisplayed ? "rgba(100, 116, 139, 0.04)" : "$white900"
872
- },
873
- justifyContent: "space-between",
874
- alignItems: "center"
884
+ alignItems: "center",
885
+ gap: "$4",
886
+ css: { cursor: "pointer" },
887
+ onClick: () => setIsMappingDisplayed(!isMappingDisplayed)
888
+ },
889
+ isMappingDisplayed ? /* @__PURE__ */ React__default.createElement(ChevronDownIcon, { size: 40, color: "#848484" }) : /* @__PURE__ */ React__default.createElement(ChevronRightIcon, { size: 40, color: "#848484" }),
890
+ /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$4" }, icon, /* @__PURE__ */ React__default.createElement(Flex, { gap: "$1", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(Text, { size: "md", weight: "bold" }, heading), /* @__PURE__ */ React__default.createElement(Text, { size: "sm", css: { color: "$neutral600" } }, description)))
891
+ ),
892
+ /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$12" }, /* @__PURE__ */ React__default.createElement(
893
+ Switch,
894
+ {
895
+ size: "md",
896
+ checked: isEnabled,
897
+ onChange: (value) => toggleDashboardField(id, value)
898
+ }
899
+ ), /* @__PURE__ */ React__default.createElement(DropdownMenu, null, /* @__PURE__ */ React__default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React__default.createElement(
900
+ IconButton,
901
+ {
902
+ variant: "ghost",
903
+ color: "default",
904
+ size: "lg",
905
+ icon: /* @__PURE__ */ React__default.createElement(EllipsisVerticalIcon, null)
906
+ }
907
+ )), /* @__PURE__ */ React__default.createElement(
908
+ DropdownMenuContent,
909
+ {
910
+ css: { minWidth: 180, zIndex: 10 },
911
+ sideOffset: 4,
912
+ align: "end"
875
913
  },
876
914
  /* @__PURE__ */ React__default.createElement(
877
- Flex,
915
+ DropdownMenuItem,
878
916
  {
879
- alignItems: "center",
880
- gap: "$4",
881
- css: { cursor: "pointer" },
882
- onClick: () => setIsMappingDisplayed(!isMappingDisplayed)
917
+ onClick: () => {
918
+ handleEditField({
919
+ type,
920
+ values: fields,
921
+ id
922
+ });
923
+ handleDashboardPage(false, type);
924
+ }
883
925
  },
884
- isMappingDisplayed ? /* @__PURE__ */ React__default.createElement(ChevronDownIcon, { size: 40, color: "#848484" }) : /* @__PURE__ */ React__default.createElement(ChevronRightIcon, { size: 40, color: "#848484" }),
885
- /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$4" }, icon, /* @__PURE__ */ React__default.createElement(Flex, { gap: "$1", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(Text, { size: "md", weight: "bold" }, heading), /* @__PURE__ */ React__default.createElement(Text, { size: "sm", css: { color: "$neutral600" } }, description)))
926
+ /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$2" }, /* @__PURE__ */ React__default.createElement(PencilIcon, { color: "#6A6A6A", size: 20 }), /* @__PURE__ */ React__default.createElement(Text, { size: "sm" }, "Edit"))
886
927
  ),
887
- /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$12" }, /* @__PURE__ */ React__default.createElement(
888
- Switch,
889
- {
890
- size: "md",
891
- checked: isEnabled,
892
- onChange: (value) => toggleDashboardField(id, value)
893
- }
894
- ), /* @__PURE__ */ React__default.createElement(DropdownMenu, null, /* @__PURE__ */ React__default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React__default.createElement(
895
- IconButton,
896
- {
897
- variant: "ghost",
898
- color: "default",
899
- size: "lg",
900
- icon: /* @__PURE__ */ React__default.createElement(EllipsisVerticalIcon, null)
901
- }
902
- )), /* @__PURE__ */ React__default.createElement(
903
- DropdownMenuContent,
904
- {
905
- css: { minWidth: 180, zIndex: 10 },
906
- sideOffset: 4,
907
- align: "end"
908
- },
909
- /* @__PURE__ */ React__default.createElement(
910
- DropdownMenuItem,
911
- {
912
- onClick: () => {
913
- handleEditField({
914
- type,
915
- values: fields,
916
- id
917
- });
918
- handleDashboardPage(false, type);
919
- }
920
- },
921
- /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$2" }, /* @__PURE__ */ React__default.createElement(PencilIcon, { color: "#6A6A6A", size: 20 }), /* @__PURE__ */ React__default.createElement(Text, { size: "sm" }, "Edit"))
922
- ),
923
- /* @__PURE__ */ React__default.createElement(DropdownMenuItem, { onClick: () => deleteFieldHandler(id) }, /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$2" }, /* @__PURE__ */ React__default.createElement(DeleteIcon, { color: "#6A6A6A", size: 20 }), /* @__PURE__ */ React__default.createElement(Text, { size: "sm" }, "Delete")))
924
- )))
925
- ),
928
+ /* @__PURE__ */ React__default.createElement(DropdownMenuItem, { onClick: () => deleteFieldHandler(id) }, /* @__PURE__ */ React__default.createElement(Flex, { alignItems: "center", gap: "$2" }, /* @__PURE__ */ React__default.createElement(DeleteIcon, { color: "#6A6A6A", size: 20 }), /* @__PURE__ */ React__default.createElement(Text, { size: "sm" }, "Delete")))
929
+ )))
930
+ ), /* @__PURE__ */ React__default.createElement(
931
+ Box,
932
+ {
933
+ css: {
934
+ height: isMappingDisplayed ? "100%" : 0
935
+ }
936
+ },
926
937
  /* @__PURE__ */ React__default.createElement(
927
938
  Box,
928
939
  {
929
940
  css: {
930
- height: isMappingDisplayed ? "100%" : 0
941
+ borderInline: "$borderWidths$xs solid $black400",
942
+ maxHeight: 432,
943
+ height: "100%",
944
+ position: "relative",
945
+ overflow: "auto"
931
946
  }
932
947
  },
933
- /* @__PURE__ */ React__default.createElement(
934
- Box,
948
+ (fields == null ? void 0 : fields.length) ? /* @__PURE__ */ React__default.createElement(Table, { css: { borderCollapse: "collapse", width: "100%" } }, /* @__PURE__ */ React__default.createElement(
949
+ Thead,
935
950
  {
936
951
  css: {
937
- borderInline: "$borderWidths$xs solid $black400",
938
- maxHeight: 432,
939
- height: "100%",
940
- position: "relative",
941
- overflow: "auto"
952
+ background: "$white900",
953
+ "& th": {
954
+ padding: "$7 $8",
955
+ fontSize: "$sm",
956
+ lineHeight: "$sm",
957
+ textAlign: "left",
958
+ borderInline: "none"
959
+ },
960
+ borderBottom: "$borderWidths$xs solid $neutral100",
961
+ position: "sticky",
962
+ top: 0,
963
+ zIndex: 10
942
964
  }
943
965
  },
944
- (fields == null ? void 0 : fields.length) ? /* @__PURE__ */ React__default.createElement(Table, { css: { borderCollapse: "collapse", width: "100%" } }, /* @__PURE__ */ React__default.createElement(
945
- Thead,
946
- {
947
- css: {
948
- background: "$white900",
949
- "& th": {
950
- padding: "$7 $8",
951
- fontSize: "$sm",
952
- lineHeight: "$sm",
953
- textAlign: "left",
954
- borderInline: "none"
955
- },
956
- borderBottom: "$borderWidths$xs solid $neutral100",
957
- position: "sticky",
958
- top: 0,
959
- zIndex: 10
960
- }
961
- },
962
- /* @__PURE__ */ React__default.createElement(Th, { css: { paddingLeft: "$38 !important" } }, "Type"),
963
- /* @__PURE__ */ React__default.createElement(Th, null, "SurveySparrow Field"),
964
- /* @__PURE__ */ React__default.createElement(Th, null, `${integrationName} Field`),
965
- /* @__PURE__ */ React__default.createElement(Th, { css: { paddingRight: "$20 !important" } }, "Default Value")
966
- ), /* @__PURE__ */ React__default.createElement(
967
- Tbody,
968
- {
969
- css: {
970
- "& tr:last-child": {
971
- borderBottom: 0,
972
- "& td": {
973
- borderBottom: 0
974
- }
975
- }
976
- }
977
- },
978
- fields.map((field) => {
979
- var _a, _b, _c, _d, _e, _f, _g;
980
- return /* @__PURE__ */ React__default.createElement(
981
- Tr,
982
- {
983
- css: {
984
- borderBottom: "$borderWidths$xs solid $neutral100",
985
- "& td": {
986
- padding: "$7 $8",
987
- fontSize: "$sm",
988
- lineHeight: "$sm",
989
- borderInline: "none"
990
- },
991
- "& td:first-child": {
992
- paddingLeft: "$38 !important"
993
- },
994
- "& td:last-child": {
995
- paddingRight: "$20 !important"
996
- }
997
- }
998
- },
999
- /* @__PURE__ */ React__default.createElement(Td, null, (_b = (_a = field.mappedType) == null ? void 0 : _a.label) != null ? _b : "--"),
1000
- /* @__PURE__ */ React__default.createElement(Td, null, (_d = (_c = field.surveySparrowField) == null ? void 0 : _c.label) != null ? _d : "--"),
1001
- /* @__PURE__ */ React__default.createElement(Td, null, (_f = (_e = field.integrationField) == null ? void 0 : _e.label) != null ? _f : "--"),
1002
- /* @__PURE__ */ React__default.createElement(Td, null, (_g = getDefaultFieldValue(field.defaultValue)) != null ? _g : "--")
1003
- );
1004
- })
1005
- )) : null
1006
- ),
1007
- isMappingDisplayed && /* @__PURE__ */ React__default.createElement(
1008
- Box,
966
+ /* @__PURE__ */ React__default.createElement(Th, { css: { paddingLeft: "$38 !important" } }, "Type"),
967
+ /* @__PURE__ */ React__default.createElement(Th, null, "SurveySparrow Field"),
968
+ /* @__PURE__ */ React__default.createElement(Th, null, `${integrationName} Field`),
969
+ /* @__PURE__ */ React__default.createElement(Th, { css: { paddingRight: "$20 !important" } }, "Default Value")
970
+ ), /* @__PURE__ */ React__default.createElement(
971
+ Tbody,
1009
972
  {
1010
973
  css: {
1011
- padding: "$8 $32",
1012
- border: "$borderWidths$xs solid $black400",
1013
- borderRadius: "0 0 $2xl $2xl",
1014
- height: "100%"
974
+ "& tr:last-child": {
975
+ borderBottom: 0,
976
+ "& td": {
977
+ borderBottom: 0
978
+ }
979
+ }
1015
980
  }
1016
981
  },
1017
- /* @__PURE__ */ React__default.createElement(
1018
- Button,
1019
- {
1020
- size: "sm",
1021
- onClick: () => {
1022
- handleEditField({
1023
- type,
1024
- values: fields,
1025
- id
1026
- });
1027
- handleDashboardPage(false, type);
982
+ fields.map((field) => {
983
+ var _a, _b, _c, _d, _e, _f, _g;
984
+ return /* @__PURE__ */ React__default.createElement(
985
+ Tr,
986
+ {
987
+ css: {
988
+ borderBottom: "$borderWidths$xs solid $neutral100",
989
+ "& td": {
990
+ padding: "$7 $8",
991
+ fontSize: "$sm",
992
+ lineHeight: "$sm",
993
+ borderInline: "none"
994
+ },
995
+ "& td:first-child": {
996
+ paddingLeft: "$38 !important"
997
+ },
998
+ "& td:last-child": {
999
+ paddingRight: "$20 !important"
1000
+ }
1001
+ }
1028
1002
  },
1029
- leftIcon: /* @__PURE__ */ React__default.createElement(PencilIcon, null),
1030
- color: "primary",
1031
- variant: "ghost"
1003
+ /* @__PURE__ */ React__default.createElement(Td, null, (_b = (_a = field.mappedType) == null ? void 0 : _a.label) != null ? _b : "--"),
1004
+ /* @__PURE__ */ React__default.createElement(Td, null, (_d = (_c = field.surveySparrowField) == null ? void 0 : _c.label) != null ? _d : "--"),
1005
+ /* @__PURE__ */ React__default.createElement(Td, null, (_f = (_e = field.integrationField) == null ? void 0 : _e.label) != null ? _f : "--"),
1006
+ /* @__PURE__ */ React__default.createElement(Td, null, (_g = getDefaultFieldValue(field.defaultValue)) != null ? _g : "--")
1007
+ );
1008
+ })
1009
+ )) : null
1010
+ ),
1011
+ isMappingDisplayed && /* @__PURE__ */ React__default.createElement(
1012
+ Box,
1013
+ {
1014
+ css: {
1015
+ padding: "$8 $32",
1016
+ border: "$borderWidths$xs solid $black400",
1017
+ borderRadius: "0 0 $2xl $2xl",
1018
+ height: "100%"
1019
+ }
1020
+ },
1021
+ /* @__PURE__ */ React__default.createElement(
1022
+ Button,
1023
+ {
1024
+ size: "sm",
1025
+ onClick: () => {
1026
+ handleEditField({
1027
+ type,
1028
+ values: fields,
1029
+ id
1030
+ });
1031
+ handleDashboardPage(false, type);
1032
1032
  },
1033
- `Edit ${heading}`
1034
- )
1033
+ leftIcon: /* @__PURE__ */ React__default.createElement(PencilIcon, null),
1034
+ color: "primary",
1035
+ variant: "ghost"
1036
+ },
1037
+ `Edit ${heading}`
1035
1038
  )
1036
1039
  )
1037
- );
1040
+ ));
1038
1041
  };
1039
1042
  const DropdownItem = ({
1040
1043
  icon,