@sparrowengg/integrations-templates-frontend 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/cjs/contact-import/components/contact-import-mapping.js +0 -1
  2. package/dist/cjs/contact-import/components/contact-import-mapping.js.map +1 -1
  3. package/dist/cjs/integration-template/components/dashboard.js +160 -157
  4. package/dist/cjs/integration-template/components/dashboard.js.map +1 -1
  5. package/dist/cjs/integration-template/index.js +35 -17
  6. package/dist/cjs/integration-template/index.js.map +1 -1
  7. package/dist/cjs/mapping/components/field.js +281 -0
  8. package/dist/cjs/mapping/components/field.js.map +1 -0
  9. package/dist/cjs/mapping/components/mapping.js +1 -1
  10. package/dist/cjs/mapping/components/mapping.js.map +1 -1
  11. package/dist/cjs/mapping/index.js +1 -0
  12. package/dist/cjs/mapping/index.js.map +1 -1
  13. package/dist/cjs/triggers/index.js +2 -2
  14. package/dist/cjs/triggers/index.js.map +1 -1
  15. package/dist/es/contact-import/components/contact-import-mapping.js +0 -1
  16. package/dist/es/contact-import/components/contact-import-mapping.js.map +1 -1
  17. package/dist/es/integration-template/components/dashboard.js +160 -157
  18. package/dist/es/integration-template/components/dashboard.js.map +1 -1
  19. package/dist/es/integration-template/index.js +35 -17
  20. package/dist/es/integration-template/index.js.map +1 -1
  21. package/dist/es/mapping/components/field.js +277 -0
  22. package/dist/es/mapping/components/field.js.map +1 -0
  23. package/dist/es/mapping/components/mapping.js +1 -1
  24. package/dist/es/mapping/components/mapping.js.map +1 -1
  25. package/dist/es/mapping/index.js +1 -0
  26. package/dist/es/mapping/index.js.map +1 -1
  27. package/dist/es/triggers/index.js +2 -2
  28. package/dist/es/triggers/index.js.map +1 -1
  29. package/dist/index.d.ts +2 -1
  30. package/package.json +1 -1
@@ -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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"}
@@ -0,0 +1,281 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var trash = require('../../commons/icons/trash.js');
7
+ var customMenu = require('./custom-menu.js');
8
+ var index = require('../../commons/constants/index.js');
9
+ var index$1 = require('../../commons/helpers/index.js');
10
+ var arrow = require('../../commons/icons/arrow.js');
11
+ var customDateMenu = require('./custom-date-menu.js');
12
+ var customOption = require('./custom-option.js');
13
+ var placeholderSpan = require('./placeholder-span.js');
14
+ var flex = require('../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js');
15
+ var text = require('../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js');
16
+ var formLabel = require('../../node_modules/@sparrowengg/twigs-react/dist/es/form-label/form-label.js');
17
+ var select = require('../../node_modules/@sparrowengg/twigs-react/dist/es/select/select.js');
18
+ var box = require('../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js');
19
+ var iconButton = require('../../node_modules/@sparrowengg/twigs-react/dist/es/button/icon-button.js');
20
+ var input = require('../../node_modules/@sparrowengg/twigs-react/dist/es/input/input.js');
21
+
22
+ var __defProp = Object.defineProperty;
23
+ var __defProps = Object.defineProperties;
24
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
25
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
26
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
27
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
28
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
29
+ var __spreadValues = (a, b) => {
30
+ for (var prop in b || (b = {}))
31
+ if (__hasOwnProp.call(b, prop))
32
+ __defNormalProp(a, prop, b[prop]);
33
+ if (__getOwnPropSymbols)
34
+ for (var prop of __getOwnPropSymbols(b)) {
35
+ if (__propIsEnum.call(b, prop))
36
+ __defNormalProp(a, prop, b[prop]);
37
+ }
38
+ return a;
39
+ };
40
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
41
+ const customStyles = {
42
+ menuList: (prevStyles) => __spreadProps(__spreadValues({}, prevStyles), {
43
+ maxHeight: 176
44
+ })
45
+ };
46
+ const subMenuCustomStyles = {
47
+ menu: (prevStyles) => __spreadProps(__spreadValues({}, prevStyles), {
48
+ width: 260,
49
+ right: 0
50
+ })
51
+ };
52
+ const Field = ({
53
+ field,
54
+ isFirstField,
55
+ handleFieldValue,
56
+ ssMappingData,
57
+ integrationFields,
58
+ integrationName,
59
+ hasCustomMenuProperty,
60
+ isBtnDisabled,
61
+ removeField,
62
+ showCustomPropertyModal
63
+ }) => {
64
+ var _a, _b, _c, _d;
65
+ return /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$8" }, (field == null ? void 0 : field.essentialFieldLabel) && /* @__PURE__ */ React.createElement(text.Text, { size: "sm", weight: "bold" }, field.essentialFieldLabel, /* @__PURE__ */ React.createElement(placeholderSpan.default, { color: "$negative500" }, "*")), /* @__PURE__ */ React.createElement(
66
+ flex.Flex,
67
+ {
68
+ key: field.id,
69
+ css: {
70
+ width: "100%",
71
+ "&:hover": {
72
+ "& button": {
73
+ opacity: 1
74
+ },
75
+ "& #arrow path": {
76
+ fill: "$secondary500"
77
+ }
78
+ }
79
+ },
80
+ alignItems: "center",
81
+ gap: "$6"
82
+ },
83
+ /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$2", css: { width: 144 } }, (isFirstField || field.isEssentialField) && /* @__PURE__ */ React.createElement(formLabel.FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Type"), /* @__PURE__ */ React.createElement(
84
+ select.Select,
85
+ {
86
+ placeholder: "Choose",
87
+ size: "lg",
88
+ isSearchable: false,
89
+ value: field == null ? void 0 : field.mappedType,
90
+ options: index.mappingType,
91
+ onChange: (type) => handleFieldValue(field == null ? void 0 : field.id, "type", type),
92
+ styles: customStyles
93
+ }
94
+ )),
95
+ /* @__PURE__ */ React.createElement(flex.Flex, { alignItems: "center", css: { flex: 1 }, gap: "11px" }, /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$2", css: { width: "100%" } }, (isFirstField || field.isEssentialField) && /* @__PURE__ */ React.createElement(formLabel.FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "SurveySparrow Field"), /* @__PURE__ */ React.createElement(
96
+ select.Select,
97
+ {
98
+ size: "lg",
99
+ placeholder: "Choose",
100
+ value: field == null ? void 0 : field.surveySparrowField,
101
+ onChange: (ssField) => handleFieldValue(field == null ? void 0 : field.id, "surveySparrowField", ssField),
102
+ options: index$1.handleMappingOptions(
103
+ (_b = (_a = field == null ? void 0 : field.mappedType) == null ? void 0 : _a.value) != null ? _b : "QUESTION",
104
+ ssMappingData.questions,
105
+ ssMappingData.contactProperties,
106
+ ssMappingData.variables,
107
+ ssMappingData.expressions
108
+ ),
109
+ styles: customStyles
110
+ }
111
+ )), /* @__PURE__ */ React.createElement(
112
+ box.Box,
113
+ {
114
+ as: "span",
115
+ id: "arrow",
116
+ css: {
117
+ paddingTop: isFirstField || field.isEssentialField ? "$9" : 0
118
+ }
119
+ },
120
+ /* @__PURE__ */ React.createElement(arrow.default, null)
121
+ ), /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$2", css: { width: "100%" } }, (isFirstField || field.isEssentialField) && /* @__PURE__ */ React.createElement(formLabel.FormLabel, { size: "xs", css: { fontWeight: "$5" } }, `${integrationName} Field`), /* @__PURE__ */ React.createElement(flex.Flex, { alignItems: "center" }, /* @__PURE__ */ React.createElement(
122
+ select.Select,
123
+ {
124
+ placeholder: "Choose",
125
+ size: "lg",
126
+ value: field == null ? void 0 : field.integrationField,
127
+ onChange: (integration) => handleFieldValue(field == null ? void 0 : field.id, "integrationField", integration),
128
+ css: {
129
+ width: 260,
130
+ "& .twigs-select__control": {
131
+ borderTopRightRadius: 0,
132
+ borderBottomRightRadius: 0
133
+ }
134
+ },
135
+ options: integrationFields,
136
+ styles: customStyles,
137
+ components: __spreadValues({}, hasCustomMenuProperty && {
138
+ Menu: (props) => /* @__PURE__ */ React.createElement(
139
+ customMenu.default,
140
+ __spreadProps(__spreadValues({}, props), {
141
+ customOnClick: showCustomPropertyModal
142
+ })
143
+ )
144
+ })
145
+ }
146
+ ), /* @__PURE__ */ React.createElement(
147
+ select.Select,
148
+ {
149
+ css: {
150
+ width: 112,
151
+ "& .twigs-select__control": {
152
+ borderTopLeftRadius: 0,
153
+ borderBottomLeftRadius: 0,
154
+ border: "$borderWidths$xs solid $neutral200"
155
+ }
156
+ },
157
+ isDisabled: !((_c = field == null ? void 0 : field.integrationField) == null ? void 0 : _c.value),
158
+ value: field == null ? void 0 : field.integrationFieldType,
159
+ onChange: (integration) => handleFieldValue(
160
+ field == null ? void 0 : field.id,
161
+ "integrationFieldType",
162
+ integration
163
+ ),
164
+ styles: subMenuCustomStyles,
165
+ options: index.subMenuOptions,
166
+ closeMenuOnSelect: true,
167
+ noneOptionHandler: (value) => handleFieldValue(field == null ? void 0 : field.id, "integrationFieldType", value),
168
+ components: { Menu: customMenu.default, Option: customOption.default },
169
+ placeholder: "Choose",
170
+ size: "lg"
171
+ }
172
+ ))), /* @__PURE__ */ React.createElement(
173
+ flex.Flex,
174
+ {
175
+ flexDirection: "column",
176
+ gap: "$2",
177
+ css: { maxWidth: 180, width: "100%" }
178
+ },
179
+ (isFirstField || field.isEssentialField) && /* @__PURE__ */ React.createElement(formLabel.FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Default Value (Optional)"),
180
+ /* @__PURE__ */ React.createElement(
181
+ DefaultField,
182
+ {
183
+ handleFieldValue: (value) => {
184
+ handleFieldValue(field == null ? void 0 : field.id, "defaultValue", value);
185
+ },
186
+ integrationFieldType: field == null ? void 0 : field.integrationFieldType,
187
+ value: (_d = field == null ? void 0 : field.defaultValue) == null ? void 0 : _d.value
188
+ }
189
+ )
190
+ )),
191
+ !field.isEssentialField && /* @__PURE__ */ React.createElement(
192
+ iconButton.IconButton,
193
+ {
194
+ css: {
195
+ transition: "all .3s ease",
196
+ marginTop: isFirstField ? "$11" : 0
197
+ },
198
+ size: "sm",
199
+ icon: /* @__PURE__ */ React.createElement(trash.default, null),
200
+ variant: "ghost",
201
+ color: "default",
202
+ disabled: isBtnDisabled,
203
+ onClick: removeField
204
+ }
205
+ )
206
+ ));
207
+ };
208
+ const DefaultField = ({
209
+ integrationFieldType,
210
+ handleFieldValue,
211
+ value
212
+ }) => {
213
+ switch (`${integrationFieldType == null ? void 0 : integrationFieldType.value}`) {
214
+ case "BOOLEAN":
215
+ return /* @__PURE__ */ React.createElement(
216
+ select.Select,
217
+ {
218
+ options: [
219
+ {
220
+ label: "true",
221
+ value: "TRUE"
222
+ },
223
+ {
224
+ label: "false",
225
+ value: "FALSE"
226
+ }
227
+ ],
228
+ size: "lg",
229
+ value,
230
+ placeholder: "",
231
+ onChange: (booleanValue) => handleFieldValue({
232
+ type: "BOOLEAN",
233
+ value: booleanValue
234
+ })
235
+ }
236
+ );
237
+ case "DATE_TIME":
238
+ return /* @__PURE__ */ React.createElement(
239
+ customDateMenu.default,
240
+ {
241
+ value,
242
+ onChangeHandler: (dateValue) => {
243
+ handleFieldValue({
244
+ type: "DATE_TIME",
245
+ value: dateValue
246
+ });
247
+ }
248
+ }
249
+ );
250
+ case "NUMBER":
251
+ return /* @__PURE__ */ React.createElement(
252
+ input.Input,
253
+ {
254
+ size: "lg",
255
+ type: "number",
256
+ placeholder: "",
257
+ value,
258
+ onChange: (e) => handleFieldValue({
259
+ type: "NUMBER",
260
+ value: e.currentTarget.value
261
+ })
262
+ }
263
+ );
264
+ default:
265
+ return /* @__PURE__ */ React.createElement(
266
+ input.Input,
267
+ {
268
+ size: "lg",
269
+ placeholder: "",
270
+ value,
271
+ onChange: (e) => handleFieldValue({
272
+ type: "STRING",
273
+ value: e.currentTarget.value
274
+ })
275
+ }
276
+ );
277
+ }
278
+ };
279
+
280
+ exports.default = Field;
281
+ //# sourceMappingURL=field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.js","sources":["../../../../src/mapping/components/field.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n FormLabel,\n IconButton,\n Input,\n Select,\n Text\n} from \"@sparrowengg/twigs-react\";\nimport React from \"react\";\nimport Trash from \"../../commons/icons/trash\";\nimport CustomMenu from \"./custom-menu\";\nimport { mappingType, subMenuOptions } from \"../../commons/constants\";\nimport { handleMappingOptions } from \"../../commons/helpers\";\nimport Arrow from \"../../commons/icons/arrow\";\nimport { FieldProps } from \"../types\";\nimport CustomDateMenu from \"./custom-date-menu\";\nimport CustomOption from \"./custom-option\";\nimport PlaceholderSpan from \"./placeholder-span\";\nimport { DateValue } from \"@internationalized/date\";\n\n\n\nconst customStyles = {\n menuList: (prevStyles: any) => ({\n ...prevStyles,\n maxHeight: 176\n })\n};\n\nconst subMenuCustomStyles = {\n menu: (prevStyles: any) => ({\n ...prevStyles,\n width: 260,\n right: 0\n })\n};\n\nconst Field = ({\n field,\n isFirstField,\n handleFieldValue,\n ssMappingData,\n integrationFields,\n integrationName,\n hasCustomMenuProperty,\n isBtnDisabled,\n removeField,\n showCustomPropertyModal\n}: FieldProps) => {\n return (\n <Flex flexDirection=\"column\" gap=\"$8\">\n {field?.essentialFieldLabel && (\n <Text size=\"sm\" weight=\"bold\">\n {field.essentialFieldLabel}\n <PlaceholderSpan color=\"$negative500\">*</PlaceholderSpan>\n </Text>\n )}\n <Flex\n key={field.id}\n css={{\n width: \"100%\",\n \"&:hover\": {\n \"& button\": {\n opacity: 1\n },\n \"& #arrow path\": {\n fill: \"$secondary500\"\n }\n }\n }}\n alignItems=\"center\"\n gap=\"$6\"\n >\n <Flex flexDirection=\"column\" gap=\"$2\" css={{ width: 144 }}>\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Type\n </FormLabel>\n )}\n <Select\n placeholder=\"Choose\"\n size=\"lg\"\n isSearchable={false}\n value={field?.mappedType}\n options={mappingType}\n onChange={(type: any) => handleFieldValue(field?.id, \"type\", type)}\n styles={customStyles}\n />\n </Flex>\n <Flex alignItems=\"center\" css={{ flex: 1 }} gap=\"11px\">\n <Flex flexDirection=\"column\" gap=\"$2\" css={{ width: \"100%\" }}>\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n SurveySparrow Field\n </FormLabel>\n )}\n <Select\n size=\"lg\"\n placeholder=\"Choose\"\n value={field?.surveySparrowField}\n onChange={(ssField) =>\n handleFieldValue(field?.id, \"surveySparrowField\", ssField)\n }\n options={handleMappingOptions(\n field?.mappedType?.value ?? \"QUESTION\",\n ssMappingData.questions,\n ssMappingData.contactProperties,\n ssMappingData.variables,\n ssMappingData.expressions\n )}\n styles={customStyles}\n />\n </Flex>\n <Box\n as=\"span\"\n id=\"arrow\"\n css={{\n paddingTop: isFirstField || field.isEssentialField ? \"$9\" : 0\n }}\n >\n <Arrow />\n </Box>\n <Flex flexDirection=\"column\" gap=\"$2\" css={{ width: \"100%\" }}>\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {`${integrationName} Field`}\n </FormLabel>\n )}\n <Flex alignItems=\"center\">\n <Select\n placeholder=\"Choose\"\n size=\"lg\"\n value={field?.integrationField}\n onChange={(integration) =>\n handleFieldValue(field?.id, \"integrationField\", integration)\n }\n css={{\n width: 260,\n \"& .twigs-select__control\": {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n }\n }}\n options={integrationFields}\n styles={customStyles}\n components={{\n ...(hasCustomMenuProperty && {\n Menu: (props) => (\n <CustomMenu\n {...props}\n customOnClick={showCustomPropertyModal}\n />\n )\n })\n }}\n />\n <Select\n css={{\n width: 112,\n \"& .twigs-select__control\": {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n border: \"$borderWidths$xs solid $neutral200\"\n }\n }}\n isDisabled={!field?.integrationField?.value}\n value={field?.integrationFieldType}\n onChange={(integration) =>\n handleFieldValue(\n field?.id,\n \"integrationFieldType\",\n integration\n )\n }\n styles={subMenuCustomStyles}\n options={subMenuOptions}\n closeMenuOnSelect\n // @ts-ignore\n noneOptionHandler={(value) =>\n handleFieldValue(field?.id, \"integrationFieldType\", value)\n }\n components={{ Menu: CustomMenu, Option: CustomOption }}\n placeholder=\"Choose\"\n size=\"lg\"\n />\n </Flex>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$2\"\n css={{ maxWidth: 180, width: \"100%\" }}\n >\n {(isFirstField || field.isEssentialField) && (\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {\"Default Value (Optional)\"}\n </FormLabel>\n )}\n <DefaultField\n handleFieldValue={(value: any) => {\n handleFieldValue(field?.id, \"defaultValue\", value);\n }}\n integrationFieldType={field?.integrationFieldType}\n value={field?.defaultValue?.value}\n />\n </Flex>\n </Flex>\n {!field.isEssentialField && (\n <IconButton\n css={{\n transition: \"all .3s ease\",\n marginTop: isFirstField ? \"$11\" : 0\n }}\n size=\"sm\"\n icon={<Trash />}\n variant=\"ghost\"\n color=\"default\"\n disabled={isBtnDisabled}\n onClick={removeField}\n />\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport default Field;\n\nconst DefaultField = ({\n integrationFieldType,\n handleFieldValue,\n value\n}: {\n integrationFieldType: { label: string; value: string } | null;\n handleFieldValue: (value: any) => void;\n value: any;\n}) => {\n switch (`${integrationFieldType?.value}`) {\n case \"BOOLEAN\":\n return (\n <Select\n options={[\n {\n label: \"true\",\n value: \"TRUE\"\n },\n {\n label: \"false\",\n value: \"FALSE\"\n }\n ]}\n size=\"lg\"\n value={value}\n placeholder=\"\"\n onChange={(booleanValue) =>\n handleFieldValue({\n type: \"BOOLEAN\",\n value: booleanValue\n })\n }\n />\n );\n case \"DATE_TIME\":\n return (\n <CustomDateMenu\n value={value}\n onChangeHandler={(dateValue: DateValue) => {\n handleFieldValue({\n type: \"DATE_TIME\",\n value: dateValue\n });\n }}\n />\n );\n case \"NUMBER\":\n return (\n <Input\n size=\"lg\"\n type=\"number\"\n placeholder=\"\"\n value={value}\n onChange={(e) =>\n handleFieldValue({\n type: \"NUMBER\",\n value: e.currentTarget.value\n })\n }\n />\n );\n default:\n return (\n <Input\n size=\"lg\"\n placeholder=\"\"\n value={value}\n onChange={(e) =>\n handleFieldValue({\n type: \"STRING\",\n value: e.currentTarget.value\n })\n }\n />\n );\n }\n};\n"],"names":["Flex","Text","PlaceholderSpan","FormLabel","Select","mappingType","handleMappingOptions","Box","Arrow","CustomMenu","subMenuOptions","CustomOption","IconButton","Trash","CustomDateMenu","Input"],"mappings":"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"}
@@ -5,7 +5,7 @@ var index = require('../../commons/constants/index.js');
5
5
  var index$1 = require('../services/index.js');
6
6
  var importModal = require('../../commons/components/import-modal.js');
7
7
  var spinner = require('../../commons/components/spinner.js');
8
- var field = require('../field.js');
8
+ var field = require('./field.js');
9
9
  var placeholderSpan = require('./placeholder-span.js');
10
10
  var v4 = require('../../node_modules/uuid/dist/esm-browser/v4.js');
11
11
  var flex = require('../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js');
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.js","sources":["../../../../src/mapping/components/mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Checkbox,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect, useState } from \"react\";\nimport { PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { defaultFieldValue, surveySparrowURL } from \"../../commons/constants\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n fetchContactProperties,\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchSurveyExpression\n} from \"../services\";\nimport { MappingTypeProps, ssMappingDataResponse } from \"../types\";\nimport ImportModal from \"../../commons/components/import-modal\";\nimport { Spinner } from \"../../commons/components/spinner\";\nimport Field from \"../field\";\nimport PlaceholderSpan from \"./placeholder-span\";\n\nexport const Mapping = ({\n integrationName,\n surveyId,\n fields,\n setFields,\n integrationFields,\n hasCustomMenuProperty,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n surveyDetails,\n customList,\n oldResponse\n}: MappingTypeProps) => {\n const [ssMappingData, setSSMappingData] = useState<\n ssMappingDataResponse<any>\n >({\n questions: [],\n variables: [],\n contactProperties: [],\n expressions: []\n });\n const [showCustomPropertyModal, setShowCustomPropertyModal] = useState(false);\n const [customPropertyField, setCustomPropertyField] = useState(\"\");\n const [loader, setLoader] = useState(true);\n const essentialFields = fields?.filter((field) => field?.isEssentialField);\n const commonFields = fields?.filter((field) => !field?.isEssentialField);\n\n const handleFieldValue = (id: string, property: string, value: any) => {\n setFields(\n fields?.map((field) => {\n if (field.id === id) {\n return property === \"type\"\n ? { ...field, surveySparrowField: null, mappedType: value, id } :\n property === \"integrationFieldType\" ? { ...field, defaultValue: null, [property]: value }\n : { ...field, [property]: value };\n } else {\n return { ...field };\n }\n })\n );\n };\n const hasRequiredProps = () =>\n !!fields &&\n !!setFields &&\n !!integrationFields &&\n !!setIntegrationFields &&\n !!token;\n\n const fetchInitalMappingData = async () => {\n setLoader(true);\n try {\n const [questions, variables, contactProperties, expressions] =\n await Promise.all([\n fetchSurveyQuestions(apiURL, surveyId, token),\n fetchSurveyVariables(apiURL, surveyId, token),\n fetchContactProperties(apiURL, token),\n fetchSurveyExpression(apiURL, surveyId, token)\n ]);\n setSSMappingData({\n questions,\n contactProperties,\n variables,\n expressions\n });\n } catch (error) {\n console.error(error);\n } finally {\n setLoader(false);\n }\n };\n\n const getEssentailFieldsNumber = (length: number): string => {\n const numberMapping: any = {\n 1: 'one',\n 2: 'two',\n 3: 'three',\n 4: 'four',\n 5: 'five',\n 6: 'six',\n 7: 'seven',\n 8: 'eight',\n 9: 'nine',\n 10: 'ten'\n };\n return numberMapping[length] ?? 'These';\n }\n\n useEffect(() => {\n setFields(\n fields?.length === 0\n ? [{ ...defaultFieldValue }]\n : fields?.map((field) => ({ ...field, id: uuid() }))\n );\n if (!!token && token?.length > 60 && !!surveyId) {\n fetchInitalMappingData();\n } else {\n setLoader(false);\n }\n }, [token, surveyId]);\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\">\n {hasRequiredProps() ? (\n <>\n {loader ? (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"calc(100vh - 57px)\" }}\n >\n <Spinner />\n </Flex>\n ) : (\n <Box css={{ maxWidth: 1120, width: \"100%\", marginBlock: \"$40\" }}>\n <Heading\n size=\"h5\"\n css={{ color: \"$neutral900\" }}\n >{`Map to ${integrationName}`}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n {!!essentialFields?.length && (\n <Box\n css={{\n width: \"100%\",\n paddingBlock: \"$12 $20\",\n borderBottom: \"$borderWidths$xs dashed $neutral200\",\n maxWidth: 1084\n }}\n >\n <Text\n size=\"md\"\n css={{\n color: \"$neutral500\",\n lineHeight: \"$md\",\n marginTop: \"$4\"\n }}\n >\n This connection requires{\" \"}\n <PlaceholderSpan color=\"$neutral600\">{getEssentailFieldsNumber(essentialFields?.length)}</PlaceholderSpan>\n <PlaceholderSpan color=\"$negative500\">\n *\n </PlaceholderSpan>{\" \"}\n Essential mapping\n </Text>\n <Flex\n flexDirection=\"column\"\n gap=\"$20\"\n css={{ marginTop: \"$12\" }}\n >\n {essentialFields?.map((field, idx) => (\n <Field\n key={field.id}\n field={field}\n integrationName={integrationName}\n handleFieldValue={(id, property, value) =>\n handleFieldValue(id, property, value)\n }\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={commonFields.length === 1}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n ))}\n </Flex>\n </Box>\n )}\n <Flex flexDirection=\"column\" gap=\"$16\" css={{ marginTop: \"$16\" }}>\n {commonFields?.map((field, idx) => {\n return (\n <Field\n key={field.id}\n field={field}\n integrationName={integrationName}\n removeField={() => {\n setFields((prev) =>\n prev.filter(\n (currentField) => currentField.id !== field.id\n )\n );\n }}\n handleFieldValue={(id, property, value) =>\n handleFieldValue(id, property, value)\n }\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={commonFields.length === 1}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n );\n })}\n </Flex>\n {!!commonFields.length && (\n <Button\n leftIcon={<PlusIcon />}\n color=\"default\"\n css={{ marginTop: \"$10\" }}\n onClick={() =>\n setFields([\n ...fields,\n {\n ...defaultFieldValue,\n id: uuid()\n }\n ])\n }\n size=\"md\"\n >\n New mapping field\n </Button>\n )}\n\n {/* Custom List */}\n {customList?.hasCustomList && (\n <Flex\n css={{ marginTop: \"$40\" }}\n flexDirection=\"column\"\n gap=\"$8\"\n >\n <Flex flexDirection=\"column\" gap=\"$3\">\n <Heading size=\"h5\">Choose a List</Heading>\n <Text css={{ color: \"$neutral500\" }} size=\"sm\">\n Pick a list to save mapped fields; If not, they'll be\n saved under all profiles.\n </Text>\n </Flex>\n <Select\n css={{ maxWidth: 400, width: \"100%\" }}\n size=\"lg\"\n options={customList.options}\n value={customList.value}\n placeholder=\"\"\n onChange={(value) => customList.onChangeHandler(value)}\n />\n </Flex>\n )}\n {/* Old Response */}\n {oldResponse?.hasOldResponse && (\n <Checkbox\n onChange={(value) => oldResponse.onChangeHandler(value)}\n css={{ marginBlock: \"$8\", cursor: \"pointer\" }}\n checked={oldResponse.value as boolean}\n >\n <FormLabel size=\"sm\">Import Old Response</FormLabel>\n </Checkbox>\n )}\n {showCustomPropertyModal && (\n <ImportModal\n onCloseHandler={() => setShowCustomPropertyModal(false)}\n onInputHandler={(value) => setCustomPropertyField(value)}\n onSaveHandler={() => {\n setIntegrationFields &&\n setIntegrationFields((prev) => [\n ...prev,\n {\n label: customPropertyField,\n value: customPropertyField\n }\n ]);\n setShowCustomPropertyModal(false);\n }}\n />\n )}\n </Box>\n )}\n </>\n ) : (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"100%\" }}\n >\n <Heading size=\"h4\" weight=\"bold\">\n Provide the needed props to import Mapping Template\n </Heading>\n </Flex>\n )}\n </Flex>\n );\n};\n"],"names":["surveySparrowURL","useState","fetchSurveyQuestions","fetchSurveyVariables","fetchContactProperties","fetchSurveyExpression","useEffect","defaultFieldValue","uuid","Flex","Spinner","Box","Heading","Text","PlaceholderSpan","field","Field","Button","PlusIcon","Select","Checkbox","FormLabel","ImportModal"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BO,MAAM,UAAU,CAAC;AAAA,EACtB,eAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,iBAAA;AAAA,EACA,qBAAA;AAAA,EACA,oBAAA;AAAA,EACA,MAAS,GAAAA,sBAAA;AAAA,EACT,KAAA;AAAA,EACA,aAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AACF,CAAwB,KAAA;AACtB,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAIC,cAExC,CAAA;AAAA,IACA,WAAW,EAAC;AAAA,IACZ,WAAW,EAAC;AAAA,IACZ,mBAAmB,EAAC;AAAA,IACpB,aAAa,EAAC;AAAA,GACf,CAAA,CAAA;AACD,EAAA,MAAM,CAAC,uBAAA,EAAyB,0BAA0B,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AAC5E,EAAA,MAAM,CAAC,mBAAA,EAAqB,sBAAsB,CAAA,GAAIA,eAAS,EAAE,CAAA,CAAA;AACjE,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIA,eAAS,IAAI,CAAA,CAAA;AACzC,EAAA,MAAM,eAAkB,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,MAAO,CAAA,CAAC,UAAU,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,gBAAA,CAAA,CAAA;AACzD,EAAA,MAAM,eAAe,MAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,MAAA,CAAO,CAAC,KAAA,KAAU,EAAC,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,gBAAA,CAAA,CAAA,CAAA;AAEvD,EAAA,MAAM,gBAAmB,GAAA,CAAC,EAAY,EAAA,QAAA,EAAkB,KAAe,KAAA;AACrE,IAAA,SAAA;AAAA,MACE,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,GAAI,CAAA,CAAC,KAAU,KAAA;AACrB,QAAI,IAAA,KAAA,CAAM,OAAO,EAAI,EAAA;AACnB,UAAA,OAAO,QAAa,KAAA,MAAA,GAChB,aAAK,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAA,EAAL,EAAY,kBAAA,EAAoB,IAAM,EAAA,UAAA,EAAY,KAAO,EAAA,EAAA,EAC3D,CAAA,GAAA,QAAA,KAAa,sBAAyB,GAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAAK,KAAL,CAAA,EAAA,EAAY,YAAc,EAAA,IAAA,EAAM,CAAC,QAAQ,GAAG,KAAA,EAChF,CAAA,GAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAAK,KAAL,CAAA,EAAA,EAAY,CAAC,QAAQ,GAAG,KAAM,EAAA,CAAA,CAAA;AAAA,SAC7B,MAAA;AACL,UAAA,OAAO,cAAK,CAAA,EAAA,EAAA,KAAA,CAAA,CAAA;AAAA,SACd;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA;AACA,EAAA,MAAM,gBAAmB,GAAA,MACvB,CAAC,CAAC,UACF,CAAC,CAAC,SACF,IAAA,CAAC,CAAC,iBACF,IAAA,CAAC,CAAC,oBAAA,IACF,CAAC,CAAC,KAAA,CAAA;AAEJ,EAAA,MAAM,yBAAyB,YAAY;AACzC,IAAA,SAAA,CAAU,IAAI,CAAA,CAAA;AACd,IAAI,IAAA;AACF,MAAM,MAAA,CAAC,WAAW,SAAW,EAAA,iBAAA,EAAmB,WAAW,CACzD,GAAA,MAAM,QAAQ,GAAI,CAAA;AAAA,QAChBC,4BAAA,CAAqB,MAAQ,EAAA,QAAA,EAAU,KAAK,CAAA;AAAA,QAC5CC,4BAAA,CAAqB,MAAQ,EAAA,QAAA,EAAU,KAAK,CAAA;AAAA,QAC5CC,8BAAA,CAAuB,QAAQ,KAAK,CAAA;AAAA,QACpCC,6BAAA,CAAsB,MAAQ,EAAA,QAAA,EAAU,KAAK,CAAA;AAAA,OAC9C,CAAA,CAAA;AACH,MAAiB,gBAAA,CAAA;AAAA,QACf,SAAA;AAAA,QACA,iBAAA;AAAA,QACA,SAAA;AAAA,QACA,WAAA;AAAA,OACD,CAAA,CAAA;AAAA,aACM,KAAO,EAAA;AACd,MAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAA;AAAA,KACnB,SAAA;AACA,MAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AAAA,KACjB;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,wBAAA,GAA2B,CAAC,MAA2B,KAAA;AAlG/D,IAAA,IAAA,EAAA,CAAA;AAmGI,IAAA,MAAM,aAAqB,GAAA;AAAA,MACzB,CAAG,EAAA,KAAA;AAAA,MACH,CAAG,EAAA,KAAA;AAAA,MACH,CAAG,EAAA,OAAA;AAAA,MACH,CAAG,EAAA,MAAA;AAAA,MACH,CAAG,EAAA,MAAA;AAAA,MACH,CAAG,EAAA,KAAA;AAAA,MACH,CAAG,EAAA,OAAA;AAAA,MACH,CAAG,EAAA,OAAA;AAAA,MACH,CAAG,EAAA,MAAA;AAAA,MACH,EAAI,EAAA,KAAA;AAAA,KACN,CAAA;AACA,IAAO,OAAA,CAAA,EAAA,GAAA,aAAA,CAAc,MAAM,CAAA,KAApB,IAAyB,GAAA,EAAA,GAAA,OAAA,CAAA;AAAA,GAClC,CAAA;AAEA,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,SAAA;AAAA,MAAA,CACE,iCAAQ,MAAW,MAAA,CAAA,GACf,CAAC,cAAA,CAAA,EAAA,EAAKC,wBAAmB,CACzB,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,GAAI,CAAA,CAAC,UAAW,aAAK,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAA,EAAL,EAAY,EAAA,EAAIC,YAAO,EAAA,CAAA,CAAA;AAAA,KACrD,CAAA;AACA,IAAI,IAAA,CAAC,CAAC,KAAS,IAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,UAAS,EAAM,IAAA,CAAC,CAAC,QAAU,EAAA;AAC/C,MAAuB,sBAAA,EAAA,CAAA;AAAA,KAClB,MAAA;AACL,MAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AAAA,KACjB;AAAA,GACC,EAAA,CAAC,KAAO,EAAA,QAAQ,CAAC,CAAA,CAAA;AAEpB,EACE,uBAAA,KAAA,CAAA,aAAA,CAACC,aAAK,UAAW,EAAA,QAAA,EAAS,gBAAe,QACtC,EAAA,EAAA,gBAAA,EACC,mBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EACG,MACC,mBAAA,KAAA,CAAA,aAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,UAAW,EAAA,QAAA;AAAA,MACX,cAAe,EAAA,QAAA;AAAA,MACf,GAAA,EAAK,EAAE,MAAA,EAAQ,oBAAqB,EAAA;AAAA,KAAA;AAAA,wCAEnCC,eAAQ,EAAA,IAAA,CAAA;AAAA,GACX,mBAEC,KAAA,CAAA,aAAA,CAAAC,OAAA,EAAA,EAAI,GAAK,EAAA,EAAE,QAAU,EAAA,IAAA,EAAM,KAAO,EAAA,MAAA,EAAQ,WAAa,EAAA,KAAA,EACtD,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,eAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,IAAA;AAAA,MACL,GAAA,EAAK,EAAE,KAAA,EAAO,aAAc,EAAA;AAAA,KAAA;AAAA,IAC5B,UAAU,eAAe,CAAA,CAAA;AAAA,qBAC1B,KAAA,CAAA,aAAA,CAAAH,SAAA,EAAA,EAAK,GAAI,EAAA,IAAA,EAAK,KAAK,EAAE,SAAA,EAAW,IAAK,EAAA,EAAA,sCACnCI,SAAK,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,GAAA,EAAK,EAAE,KAAO,EAAA,aAAA,EAAiB,EAAA,EAAA,cAE/C,mBACC,KAAA,CAAA,aAAA,CAAAA,SAAA,EAAA,EAAK,IAAK,EAAA,IAAA,EAAK,KAAK,EAAE,KAAA,EAAO,aAAc,EAAA,EAAA,EACzC,cAAc,UACjB,CACF,GACC,CAAC,EAAC,mDAAiB,MAClB,CAAA,oBAAA,KAAA,CAAA,aAAA;AAAA,IAACF,OAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA;AAAA,QACH,KAAO,EAAA,MAAA;AAAA,QACP,YAAc,EAAA,SAAA;AAAA,QACd,YAAc,EAAA,qCAAA;AAAA,QACd,QAAU,EAAA,IAAA;AAAA,OACZ;AAAA,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACE,SAAA;AAAA,MAAA;AAAA,QACC,IAAK,EAAA,IAAA;AAAA,QACL,GAAK,EAAA;AAAA,UACH,KAAO,EAAA,aAAA;AAAA,UACP,UAAY,EAAA,KAAA;AAAA,UACZ,SAAW,EAAA,IAAA;AAAA,SACb;AAAA,OAAA;AAAA,MACD,0BAAA;AAAA,MAC0B,GAAA;AAAA,0CACxBC,uBAAgB,EAAA,EAAA,KAAA,EAAM,iBAAe,wBAAyB,CAAA,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAiB,MAAM,CAAE,CAAA;AAAA,sBACvF,KAAA,CAAA,aAAA,CAAAA,uBAAA,EAAA,EAAgB,KAAM,EAAA,cAAA,EAAA,EAAe,GAEtC,CAAA;AAAA,MAAmB,GAAA;AAAA,MAAI,mBAAA;AAAA,KAEzB;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACL,SAAA;AAAA,MAAA;AAAA,QACC,aAAc,EAAA,QAAA;AAAA,QACd,GAAI,EAAA,KAAA;AAAA,QACJ,GAAA,EAAK,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,OAAA;AAAA,MAEvB,eAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,GAAA,CAAI,CAACM,OAAA,EAAO,GAC5B,qBAAA,KAAA,CAAA,aAAA;AAAA,QAACC,aAAA;AAAA,QAAA;AAAA,UACC,KAAKD,OAAM,CAAA,EAAA;AAAA,iBACXA,OAAA;AAAA,UACA,eAAA;AAAA,UACA,gBAAA,EAAkB,CAAC,EAAI,EAAA,QAAA,EAAU,UAC/B,gBAAiB,CAAA,EAAA,EAAI,UAAU,KAAK,CAAA;AAAA,UAEtC,qBAAA;AAAA,UACA,iBAAA;AAAA,UACA,aAAA,EAAe,aAAa,MAAW,KAAA,CAAA;AAAA,UACvC,cAAc,GAAQ,KAAA,CAAA;AAAA,UACtB,aAAA;AAAA,UACA,yBAAyB,MAAM;AAC7B,YAAA,0BAAA,CAA2B,IAAI,CAAA,CAAA;AAAA,WACjC;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,KAEJ;AAAA,qBAGH,KAAA,CAAA,aAAA,CAAAN,SAAA,EAAA,EAAK,aAAc,EAAA,QAAA,EAAS,KAAI,KAAM,EAAA,GAAA,EAAK,EAAE,SAAA,EAAW,OACtD,EAAA,EAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,GAAI,CAAA,CAACM,SAAO,GAAQ,KAAA;AACjC,IACE,uBAAA,KAAA,CAAA,aAAA;AAAA,MAACC,aAAA;AAAA,MAAA;AAAA,QACC,KAAKD,OAAM,CAAA,EAAA;AAAA,eACXA,OAAA;AAAA,QACA,eAAA;AAAA,QACA,aAAa,MAAM;AACjB,UAAA,SAAA;AAAA,YAAU,CAAC,SACT,IAAK,CAAA,MAAA;AAAA,cACH,CAAC,YAAA,KAAiB,YAAa,CAAA,EAAA,KAAOA,OAAM,CAAA,EAAA;AAAA,aAC9C;AAAA,WACF,CAAA;AAAA,SACF;AAAA,QACA,gBAAA,EAAkB,CAAC,EAAI,EAAA,QAAA,EAAU,UAC/B,gBAAiB,CAAA,EAAA,EAAI,UAAU,KAAK,CAAA;AAAA,QAEtC,qBAAA;AAAA,QACA,iBAAA;AAAA,QACA,aAAA,EAAe,aAAa,MAAW,KAAA,CAAA;AAAA,QACvC,cAAc,GAAQ,KAAA,CAAA;AAAA,QACtB,aAAA;AAAA,QACA,yBAAyB,MAAM;AAC7B,UAAA,0BAAA,CAA2B,IAAI,CAAA,CAAA;AAAA,SACjC;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GAGN,CAAA,CAAA,EACC,CAAC,CAAC,aAAa,MACd,oBAAA,KAAA,CAAA,aAAA;AAAA,IAACE,aAAA;AAAA,IAAA;AAAA,MACC,QAAA,sCAAWC,aAAS,EAAA,IAAA,CAAA;AAAA,MACpB,KAAM,EAAA,SAAA;AAAA,MACN,GAAA,EAAK,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,MACxB,OAAA,EAAS,MACP,SAAU,CAAA;AAAA,QACR,GAAG,MAAA;AAAA,QACH,iCACKX,uBADL,CAAA,EAAA;AAAA,UAEE,IAAIC,UAAK,EAAA;AAAA,SACX,CAAA;AAAA,OACD,CAAA;AAAA,MAEH,IAAK,EAAA,IAAA;AAAA,KAAA;AAAA,IACN,mBAAA;AAAA,GAED,EAAA,CAID,yCAAY,aACX,qBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,SAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,MACxB,aAAc,EAAA,QAAA;AAAA,MACd,GAAI,EAAA,IAAA;AAAA,KAAA;AAAA,oBAEJ,KAAA,CAAA,aAAA,CAACA,aAAK,aAAc,EAAA,QAAA,EAAS,KAAI,IAC/B,EAAA,kBAAA,KAAA,CAAA,aAAA,CAACG,eAAQ,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,EAAA,eAAa,mBAC/B,KAAA,CAAA,aAAA,CAAAC,SAAA,EAAA,EAAK,KAAK,EAAE,KAAA,EAAO,eAAiB,EAAA,IAAA,EAAK,IAAK,EAAA,EAAA,iFAG/C,CACF,CAAA;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACM,aAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA,EAAE,QAAU,EAAA,GAAA,EAAK,OAAO,MAAO,EAAA;AAAA,QACpC,IAAK,EAAA,IAAA;AAAA,QACL,SAAS,UAAW,CAAA,OAAA;AAAA,QACpB,OAAO,UAAW,CAAA,KAAA;AAAA,QAClB,WAAY,EAAA,EAAA;AAAA,QACZ,QAAU,EAAA,CAAC,KAAU,KAAA,UAAA,CAAW,gBAAgB,KAAK,CAAA;AAAA,OAAA;AAAA,KACvD;AAAA,GACF,EAAA,CAGD,2CAAa,cACZ,qBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,iBAAA;AAAA,IAAA;AAAA,MACC,QAAU,EAAA,CAAC,KAAU,KAAA,WAAA,CAAY,gBAAgB,KAAK,CAAA;AAAA,MACtD,GAAK,EAAA,EAAE,WAAa,EAAA,IAAA,EAAM,QAAQ,SAAU,EAAA;AAAA,MAC5C,SAAS,WAAY,CAAA,KAAA;AAAA,KAAA;AAAA,oBAEpB,KAAA,CAAA,aAAA,CAAAC,mBAAA,EAAA,EAAU,IAAK,EAAA,IAAA,EAAA,EAAK,qBAAmB,CAAA;AAAA,KAG3C,uBACC,oBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,mBAAA;AAAA,IAAA;AAAA,MACC,cAAA,EAAgB,MAAM,0BAAA,CAA2B,KAAK,CAAA;AAAA,MACtD,cAAgB,EAAA,CAAC,KAAU,KAAA,sBAAA,CAAuB,KAAK,CAAA;AAAA,MACvD,eAAe,MAAM;AACnB,QACE,oBAAA,IAAA,oBAAA,CAAqB,CAAC,IAAS,KAAA;AAAA,UAC7B,GAAG,IAAA;AAAA,UACH;AAAA,YACE,KAAO,EAAA,mBAAA;AAAA,YACP,KAAO,EAAA,mBAAA;AAAA,WACT;AAAA,SACD,CAAA,CAAA;AACH,QAAA,0BAAA,CAA2B,KAAK,CAAA,CAAA;AAAA,OAClC;AAAA,KAAA;AAAA,GAGN,CAEJ,CAEA,mBAAA,KAAA,CAAA,aAAA;AAAA,IAACb,SAAA;AAAA,IAAA;AAAA,MACC,UAAW,EAAA,QAAA;AAAA,MACX,cAAe,EAAA,QAAA;AAAA,MACf,GAAA,EAAK,EAAE,MAAA,EAAQ,MAAO,EAAA;AAAA,KAAA;AAAA,wCAErBG,eAAQ,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,MAAA,EAAO,UAAO,qDAEjC,CAAA;AAAA,GAGN,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"mapping.js","sources":["../../../../src/mapping/components/mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Checkbox,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect, useState } from \"react\";\nimport { PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport { defaultFieldValue, surveySparrowURL } from \"../../commons/constants\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n fetchContactProperties,\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchSurveyExpression\n} from \"../services\";\nimport { MappingTypeProps, ssMappingDataResponse } from \"../types\";\nimport ImportModal from \"../../commons/components/import-modal\";\nimport { Spinner } from \"../../commons/components/spinner\";\nimport Field from \"./field\";\nimport PlaceholderSpan from \"./placeholder-span\";\n\nexport const Mapping = ({\n integrationName,\n surveyId,\n fields,\n setFields,\n integrationFields,\n hasCustomMenuProperty,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n surveyDetails,\n customList,\n oldResponse\n}: MappingTypeProps) => {\n const [ssMappingData, setSSMappingData] = useState<\n ssMappingDataResponse<any>\n >({\n questions: [],\n variables: [],\n contactProperties: [],\n expressions: []\n });\n const [showCustomPropertyModal, setShowCustomPropertyModal] = useState(false);\n const [customPropertyField, setCustomPropertyField] = useState(\"\");\n const [loader, setLoader] = useState(true);\n const essentialFields = fields?.filter((field) => field?.isEssentialField);\n const commonFields = fields?.filter((field) => !field?.isEssentialField);\n\n const handleFieldValue = (id: string, property: string, value: any) => {\n setFields(\n fields?.map((field) => {\n if (field.id === id) {\n return property === \"type\"\n ? { ...field, surveySparrowField: null, mappedType: value, id } :\n property === \"integrationFieldType\" ? { ...field, defaultValue: null, [property]: value }\n : { ...field, [property]: value };\n } else {\n return { ...field };\n }\n })\n );\n };\n const hasRequiredProps = () =>\n !!fields &&\n !!setFields &&\n !!integrationFields &&\n !!setIntegrationFields &&\n !!token;\n\n const fetchInitalMappingData = async () => {\n setLoader(true);\n try {\n const [questions, variables, contactProperties, expressions] =\n await Promise.all([\n fetchSurveyQuestions(apiURL, surveyId, token),\n fetchSurveyVariables(apiURL, surveyId, token),\n fetchContactProperties(apiURL, token),\n fetchSurveyExpression(apiURL, surveyId, token)\n ]);\n setSSMappingData({\n questions,\n contactProperties,\n variables,\n expressions\n });\n } catch (error) {\n console.error(error);\n } finally {\n setLoader(false);\n }\n };\n\n const getEssentailFieldsNumber = (length: number): string => {\n const numberMapping: any = {\n 1: 'one',\n 2: 'two',\n 3: 'three',\n 4: 'four',\n 5: 'five',\n 6: 'six',\n 7: 'seven',\n 8: 'eight',\n 9: 'nine',\n 10: 'ten'\n };\n return numberMapping[length] ?? 'These';\n }\n\n useEffect(() => {\n setFields(\n fields?.length === 0\n ? [{ ...defaultFieldValue }]\n : fields?.map((field) => ({ ...field, id: uuid() }))\n );\n if (!!token && token?.length > 60 && !!surveyId) {\n fetchInitalMappingData();\n } else {\n setLoader(false);\n }\n }, [token, surveyId]);\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\">\n {hasRequiredProps() ? (\n <>\n {loader ? (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"calc(100vh - 57px)\" }}\n >\n <Spinner />\n </Flex>\n ) : (\n <Box css={{ maxWidth: 1120, width: \"100%\", marginBlock: \"$40\" }}>\n <Heading\n size=\"h5\"\n css={{ color: \"$neutral900\" }}\n >{`Map to ${integrationName}`}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n {!!essentialFields?.length && (\n <Box\n css={{\n width: \"100%\",\n paddingBlock: \"$12 $20\",\n borderBottom: \"$borderWidths$xs dashed $neutral200\",\n maxWidth: 1084\n }}\n >\n <Text\n size=\"md\"\n css={{\n color: \"$neutral500\",\n lineHeight: \"$md\",\n marginTop: \"$4\"\n }}\n >\n This connection requires{\" \"}\n <PlaceholderSpan color=\"$neutral600\">{getEssentailFieldsNumber(essentialFields?.length)}</PlaceholderSpan>\n <PlaceholderSpan color=\"$negative500\">\n *\n </PlaceholderSpan>{\" \"}\n Essential mapping\n </Text>\n <Flex\n flexDirection=\"column\"\n gap=\"$20\"\n css={{ marginTop: \"$12\" }}\n >\n {essentialFields?.map((field, idx) => (\n <Field\n key={field.id}\n field={field}\n integrationName={integrationName}\n handleFieldValue={(id, property, value) =>\n handleFieldValue(id, property, value)\n }\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={commonFields.length === 1}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n ))}\n </Flex>\n </Box>\n )}\n <Flex flexDirection=\"column\" gap=\"$16\" css={{ marginTop: \"$16\" }}>\n {commonFields?.map((field, idx) => {\n return (\n <Field\n key={field.id}\n field={field}\n integrationName={integrationName}\n removeField={() => {\n setFields((prev) =>\n prev.filter(\n (currentField) => currentField.id !== field.id\n )\n );\n }}\n handleFieldValue={(id, property, value) =>\n handleFieldValue(id, property, value)\n }\n hasCustomMenuProperty={hasCustomMenuProperty}\n integrationFields={integrationFields}\n isBtnDisabled={commonFields.length === 1}\n isFirstField={idx === 0}\n ssMappingData={ssMappingData}\n showCustomPropertyModal={() => {\n setShowCustomPropertyModal(true);\n }}\n />\n );\n })}\n </Flex>\n {!!commonFields.length && (\n <Button\n leftIcon={<PlusIcon />}\n color=\"default\"\n css={{ marginTop: \"$10\" }}\n onClick={() =>\n setFields([\n ...fields,\n {\n ...defaultFieldValue,\n id: uuid()\n }\n ])\n }\n size=\"md\"\n >\n New mapping field\n </Button>\n )}\n\n {/* Custom List */}\n {customList?.hasCustomList && (\n <Flex\n css={{ marginTop: \"$40\" }}\n flexDirection=\"column\"\n gap=\"$8\"\n >\n <Flex flexDirection=\"column\" gap=\"$3\">\n <Heading size=\"h5\">Choose a List</Heading>\n <Text css={{ color: \"$neutral500\" }} size=\"sm\">\n Pick a list to save mapped fields; If not, they'll be\n saved under all profiles.\n </Text>\n </Flex>\n <Select\n css={{ maxWidth: 400, width: \"100%\" }}\n size=\"lg\"\n options={customList.options}\n value={customList.value}\n placeholder=\"\"\n onChange={(value) => customList.onChangeHandler(value)}\n />\n </Flex>\n )}\n {/* Old Response */}\n {oldResponse?.hasOldResponse && (\n <Checkbox\n onChange={(value) => oldResponse.onChangeHandler(value)}\n css={{ marginBlock: \"$8\", cursor: \"pointer\" }}\n checked={oldResponse.value as boolean}\n >\n <FormLabel size=\"sm\">Import Old Response</FormLabel>\n </Checkbox>\n )}\n {showCustomPropertyModal && (\n <ImportModal\n onCloseHandler={() => setShowCustomPropertyModal(false)}\n onInputHandler={(value) => setCustomPropertyField(value)}\n onSaveHandler={() => {\n setIntegrationFields &&\n setIntegrationFields((prev) => [\n ...prev,\n {\n label: customPropertyField,\n value: customPropertyField\n }\n ]);\n setShowCustomPropertyModal(false);\n }}\n />\n )}\n </Box>\n )}\n </>\n ) : (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"100%\" }}\n >\n <Heading size=\"h4\" weight=\"bold\">\n Provide the needed props to import Mapping Template\n </Heading>\n </Flex>\n )}\n </Flex>\n );\n};\n"],"names":["surveySparrowURL","useState","fetchSurveyQuestions","fetchSurveyVariables","fetchContactProperties","fetchSurveyExpression","useEffect","defaultFieldValue","uuid","Flex","Spinner","Box","Heading","Text","PlaceholderSpan","field","Field","Button","PlusIcon","Select","Checkbox","FormLabel","ImportModal"],"mappings":"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"}
@@ -138,6 +138,7 @@ const EventSetup = ({
138
138
  button.Button,
139
139
  {
140
140
  size: "lg",
141
+ disabled: !actions.value && !events.value || !accounts.value,
141
142
  rightIcon: /* @__PURE__ */ React.createElement(chevronRight.ChevronRightIcon, null),
142
143
  css: { marginTop: "$16" },
143
144
  onClick: () => navigateMappingPage()
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/mapping/index.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Text,\n ThemeProvider\n} from \"@sparrowengg/twigs-react\";\nimport {\n ArrowLeftIcon,\n ChevronRightIcon\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState } from \"react\";\nimport Arrow from \"../commons/icons/arrow\";\nimport { Mapping as FieldMapping } from \"./components/mapping\";\nimport { surveySparrowURL } from \"../commons/constants\";\nimport { CustomListFieldType, FieldType, OldResponseFieldType } from \"./types\";\n\ntype FieldMappingPropsType = {\n surveyDetails: {\n surveyName: string;\n surveyId: string | number;\n };\n integrationName: string;\n fields: Array<FieldType>;\n setFields: React.Dispatch<React.SetStateAction<Array<FieldType>>>;\n integrationFields: any;\n setIntegrationFields: React.Dispatch<React.SetStateAction<any>>;\n apiURL: string;\n token: string;\n accounts: {\n hasAccounts: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n events: {\n hasEvents: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n actions: {\n hasActions: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n isMappingPage: boolean;\n navigateMappingPage: (value?: boolean) => void;\n customList: CustomListFieldType;\n oldResponse: OldResponseFieldType;\n hasPreviousMapping: boolean;\n onSaveHandler: () => void;\n editField: any;\n previousMappingHandler: (value?: boolean) => void;\n onDeleteHandler?: (id: string | number) => void;\n};\n\nexport const Mapping = ({\n surveyDetails,\n integrationName,\n fields,\n setFields,\n integrationFields,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n accounts,\n events,\n actions,\n isMappingPage,\n navigateMappingPage,\n customList,\n oldResponse,\n hasPreviousMapping,\n onSaveHandler,\n editField,\n previousMappingHandler\n}: FieldMappingPropsType) => {\n\n const [previousMapping, setPreviousMapping] = useState(hasPreviousMapping ?? false);\n\n useEffect(() => {\n if (!!editField?.id) {\n navigateMappingPage(true);\n setFields(editField.fieldValues);\n setPreviousMapping(true);\n }\n }, []);\n\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: \"DM Sans, Roboto Mono, sans-serif\",\n heading: \"DM Sans, Roboto Mono, sans-serif\"\n }\n }}\n >\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n <MappingHeader\n hasPreviousMapping={previousMapping}\n isMappingPage={isMappingPage}\n fields={fields}\n editFieldId={editField?.id}\n onSaveHandler={onSaveHandler}\n navigateEventPage={() => navigateMappingPage(false)}\n previousMappingHandler={previousMappingHandler}\n />\n {!isMappingPage ? (\n <EventSetup\n surveyDetails={surveyDetails}\n accounts={accounts}\n events={events}\n actions={actions}\n navigateMappingPage={navigateMappingPage}\n />\n ) : (\n <FieldMapping\n fields={fields}\n setFields={setFields}\n surveyDetails={surveyDetails}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n surveyId={surveyDetails.surveyId}\n token={token}\n apiURL={apiURL}\n integrationName={integrationName}\n customList={customList}\n oldResponse={oldResponse}\n />\n )}\n </Box>\n </ThemeProvider>\n );\n};\n\ntype EventSetupProps = {\n surveyDetails: {\n surveyName: string;\n surveyId: number | string;\n };\n accounts: {\n hasAccounts: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n events: {\n hasEvents: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n actions: {\n hasActions: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n navigateMappingPage: (value?: boolean) => void;\n};\n\nconst EventSetup = ({\n surveyDetails,\n accounts,\n events,\n actions,\n navigateMappingPage\n}: EventSetupProps) => {\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n <Heading size=\"h5\">Account Details</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Account\n </FormLabel>\n <Select\n value={accounts.value}\n options={accounts.options}\n placeholder=\"\"\n onChange={(value) => accounts.onChangeHandler(value)}\n size=\"lg\"\n />\n </Flex>\n )}\n {events?.hasEvents && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Object\n </FormLabel>\n <Select\n options={events.options}\n value={events.value}\n placeholder=\"\"\n onChange={(value) => events.onChangeHandler(value)}\n size=\"lg\"\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Action\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actions.value}\n placeholder=\"\"\n onChange={(value) => actions.onChangeHandler(value)}\n />\n </Flex>\n )}\n </Flex>\n <Button\n size=\"lg\"\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n onClick={() => navigateMappingPage()}\n >\n Continue, Mapping\n </Button>\n </Box>\n </Flex>\n );\n};\n\ntype MappingHeaderProps = {\n hasPreviousMapping: boolean;\n isMappingPage: boolean;\n fields: Array<FieldType>;\n navigateEventPage: () => void;\n onSaveHandler: (editFieldId?: string | number) => void;\n previousMappingHandler: (value?: boolean) => void;\n editFieldId: string | number;\n};\n\nconst MappingHeader = ({\n hasPreviousMapping,\n isMappingPage,\n fields,\n navigateEventPage,\n onSaveHandler,\n previousMappingHandler,\n editFieldId\n}: MappingHeaderProps) => {\n \n const hasAllValues = (field: FieldType) => {\n return (\n field?.surveySparrowField !== null &&\n field?.integrationField !== null &&\n field?.integrationFieldType !== null\n );\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: hasPreviousMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton onClick={() => previousMappingHandler()} color=\"default\" icon={<ArrowLeftIcon />} size=\"lg\" />\n <Heading size=\"h6\">New Mapping</Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" }\n }}\n >\n <Button\n css={{ color: !isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={() => isMappingPage && navigateEventPage()}\n >\n Event Setup\n </Button>\n <Arrow />\n <Button\n css={{ color: isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n >\n Mapping\n </Button>\n </Flex>\n <Button\n size=\"lg\"\n disabled={!fields.some(hasAllValues)}\n onClick={() => onSaveHandler(editFieldId)}\n css={{ visibility: isMappingPage ? \"visible\" : \"hidden\" }}\n >\n Save Mapping\n </Button>\n </Flex>\n );\n};\n"],"names":["surveySparrowURL","useState","useEffect","ThemeProvider","Box","FieldMapping","Flex","Heading","Text","FormLabel","Select","Button","ChevronRightIcon","IconButton","ArrowLeftIcon","Arrow"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/mapping/index.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Text,\n ThemeProvider\n} from \"@sparrowengg/twigs-react\";\nimport {\n ArrowLeftIcon,\n ChevronRightIcon\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState } from \"react\";\nimport Arrow from \"../commons/icons/arrow\";\nimport { Mapping as FieldMapping } from \"./components/mapping\";\nimport { surveySparrowURL } from \"../commons/constants\";\nimport { CustomListFieldType, FieldType, OldResponseFieldType } from \"./types\";\n\ntype FieldMappingPropsType = {\n surveyDetails: {\n surveyName: string;\n surveyId: string | number;\n };\n integrationName: string;\n fields: Array<FieldType>;\n setFields: React.Dispatch<React.SetStateAction<Array<FieldType>>>;\n integrationFields: any;\n setIntegrationFields: React.Dispatch<React.SetStateAction<any>>;\n apiURL: string;\n token: string;\n accounts: {\n hasAccounts: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n events: {\n hasEvents: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n actions: {\n hasActions: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n isMappingPage: boolean;\n navigateMappingPage: (value?: boolean) => void;\n customList: CustomListFieldType;\n oldResponse: OldResponseFieldType;\n hasPreviousMapping: boolean;\n onSaveHandler: () => void;\n editField: any;\n previousMappingHandler: (value?: boolean) => void;\n onDeleteHandler?: (id: string | number) => void;\n};\n\nexport const Mapping = ({\n surveyDetails,\n integrationName,\n fields,\n setFields,\n integrationFields,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n accounts,\n events,\n actions,\n isMappingPage,\n navigateMappingPage,\n customList,\n oldResponse,\n hasPreviousMapping,\n onSaveHandler,\n editField,\n previousMappingHandler\n}: FieldMappingPropsType) => {\n\n const [previousMapping, setPreviousMapping] = useState(hasPreviousMapping ?? false);\n\n useEffect(() => {\n if (!!editField?.id) {\n navigateMappingPage(true);\n setFields(editField.fieldValues);\n setPreviousMapping(true);\n }\n }, []);\n\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: \"DM Sans, Roboto Mono, sans-serif\",\n heading: \"DM Sans, Roboto Mono, sans-serif\"\n }\n }}\n >\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n <MappingHeader\n hasPreviousMapping={previousMapping}\n isMappingPage={isMappingPage}\n fields={fields}\n editFieldId={editField?.id}\n onSaveHandler={onSaveHandler}\n navigateEventPage={() => navigateMappingPage(false)}\n previousMappingHandler={previousMappingHandler}\n />\n {!isMappingPage ? (\n <EventSetup\n surveyDetails={surveyDetails}\n accounts={accounts}\n events={events}\n actions={actions}\n navigateMappingPage={navigateMappingPage}\n />\n ) : (\n <FieldMapping\n fields={fields}\n setFields={setFields}\n surveyDetails={surveyDetails}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n surveyId={surveyDetails.surveyId}\n token={token}\n apiURL={apiURL}\n integrationName={integrationName}\n customList={customList}\n oldResponse={oldResponse}\n />\n )}\n </Box>\n </ThemeProvider>\n );\n};\n\ntype EventSetupProps = {\n surveyDetails: {\n surveyName: string;\n surveyId: number | string;\n };\n accounts: {\n hasAccounts: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n events: {\n hasEvents: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n actions: {\n hasActions: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n navigateMappingPage: (value?: boolean) => void;\n};\n\nconst EventSetup = ({\n surveyDetails,\n accounts,\n events,\n actions,\n navigateMappingPage\n}: EventSetupProps) => {\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n <Heading size=\"h5\">Account Details</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Account\n </FormLabel>\n <Select\n value={accounts.value}\n options={accounts.options}\n placeholder=\"\"\n onChange={(value) => accounts.onChangeHandler(value)}\n size=\"lg\"\n />\n </Flex>\n )}\n {events?.hasEvents && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Object\n </FormLabel>\n <Select\n options={events.options}\n value={events.value}\n placeholder=\"\"\n onChange={(value) => events.onChangeHandler(value)}\n size=\"lg\"\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Action\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actions.value}\n placeholder=\"\"\n onChange={(value) => actions.onChangeHandler(value)}\n />\n </Flex>\n )}\n </Flex>\n <Button\n size=\"lg\"\n disabled={!actions.value && !events.value || !accounts.value}\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n onClick={() => navigateMappingPage()}\n >\n Continue, Mapping\n </Button>\n </Box>\n </Flex>\n );\n};\n\ntype MappingHeaderProps = {\n hasPreviousMapping: boolean;\n isMappingPage: boolean;\n fields: Array<FieldType>;\n navigateEventPage: () => void;\n onSaveHandler: (editFieldId?: string | number) => void;\n previousMappingHandler: (value?: boolean) => void;\n editFieldId: string | number;\n};\n\nconst MappingHeader = ({\n hasPreviousMapping,\n isMappingPage,\n fields,\n navigateEventPage,\n onSaveHandler,\n previousMappingHandler,\n editFieldId\n}: MappingHeaderProps) => {\n \n const hasAllValues = (field: FieldType) => {\n return (\n field?.surveySparrowField !== null &&\n field?.integrationField !== null &&\n field?.integrationFieldType !== null\n );\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: hasPreviousMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton onClick={() => previousMappingHandler()} color=\"default\" icon={<ArrowLeftIcon />} size=\"lg\" />\n <Heading size=\"h6\">New Mapping</Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" }\n }}\n >\n <Button\n css={{ color: !isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={() => isMappingPage && navigateEventPage()}\n >\n Event Setup\n </Button>\n <Arrow />\n <Button\n css={{ color: isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n >\n Mapping\n </Button>\n </Flex>\n <Button\n size=\"lg\"\n disabled={!fields.some(hasAllValues)}\n onClick={() => onSaveHandler(editFieldId)}\n css={{ visibility: isMappingPage ? \"visible\" : \"hidden\" }}\n >\n Save Mapping\n </Button>\n </Flex>\n );\n};\n"],"names":["surveySparrowURL","useState","useEffect","ThemeProvider","Box","FieldMapping","Flex","Heading","Text","FormLabel","Select","Button","ChevronRightIcon","IconButton","ArrowLeftIcon","Arrow"],"mappings":"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"}