@sparrowengg/integrations-templates-frontend 1.2.8 → 1.2.9

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.
@@ -11,34 +11,17 @@ var flex = require('../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.j
11
11
  var heading = require('../node_modules/@sparrowengg/twigs-react/dist/es/heading/heading.js');
12
12
  var text = require('../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js');
13
13
 
14
- var __defProp = Object.defineProperty;
15
- var __defProps = Object.defineProperties;
16
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
17
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
18
- var __hasOwnProp = Object.prototype.hasOwnProperty;
19
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
20
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
21
- var __spreadValues = (a, b) => {
22
- for (var prop in b || (b = {}))
23
- if (__hasOwnProp.call(b, prop))
24
- __defNormalProp(a, prop, b[prop]);
25
- if (__getOwnPropSymbols)
26
- for (var prop of __getOwnPropSymbols(b)) {
27
- if (__propIsEnum.call(b, prop))
28
- __defNormalProp(a, prop, b[prop]);
29
- }
30
- return a;
31
- };
32
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
33
14
  const IntegrationTemplate = ({
34
15
  mappingComponent,
35
16
  mapping,
36
17
  triggerComponent,
37
18
  trigger,
38
19
  integrationName,
39
- singleMappingComponent
20
+ singleMappingComponent,
21
+ onDeleteHandler,
22
+ toggleDashboardField
40
23
  }) => {
41
- var _a, _b, _c, _d, _e, _f;
24
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
42
25
  const [hasDashboardPage, setHasDashboardPage] = React.useState(
43
26
  !!((_b = (_a = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _a.fields) == null ? void 0 : _b.length) || !!((_c = trigger == null ? void 0 : trigger.mappedFields) == null ? void 0 : _c.length)
44
27
  );
@@ -52,7 +35,8 @@ const IntegrationTemplate = ({
52
35
  const [isMappingPage, setIsMappingPage] = React.useState(false);
53
36
  const navigateMappingPage = (value) => setIsMappingPage(value != null ? value : !isMappingPage);
54
37
  const hasMultiAccounts = (_e = (_d = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _d.accounts) == null ? void 0 : _e.hasAccounts;
55
- const deleteFieldHandler = (_f = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _f.onDeleteHandler;
38
+ const isSingleAccountMappingCompleted = !hasMultiAccounts && !!((_f = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _f.fields.length);
39
+ const isSingleAccountTriggerCompleted = !hasMultiAccounts && !!((_g = trigger == null ? void 0 : trigger.mappedFields) == null ? void 0 : _g.length);
56
40
  const handleEditField = (field) => {
57
41
  setEditField({
58
42
  type: field.type,
@@ -61,6 +45,12 @@ const IntegrationTemplate = ({
61
45
  });
62
46
  };
63
47
  const previousMappingHandler = () => {
48
+ if (!isSingleAccountMappingCompleted && !isSingleAccountTriggerCompleted) {
49
+ setHasConfigurationType(true);
50
+ setCurrentConfigurationType(null);
51
+ setHasDashboardPage(false);
52
+ return;
53
+ }
64
54
  setHasDashboardPage(true);
65
55
  };
66
56
  const mappingClonedElementProps = {
@@ -74,7 +64,8 @@ const IntegrationTemplate = ({
74
64
  const navigate = (_a2 = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _a2.onSaveHandler(editId);
75
65
  if (navigate)
76
66
  setHasDashboardPage(true);
77
- }
67
+ },
68
+ hasPreviousMapping: (_i = (_h = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _h.hasPreviousMapping) != null ? _i : !isSingleAccountMappingCompleted && !isSingleAccountTriggerCompleted
78
69
  };
79
70
  const clonedSingleMappingProps = {
80
71
  editField,
@@ -84,7 +75,8 @@ const IntegrationTemplate = ({
84
75
  const navigate = await ((_a2 = singleMappingComponent == null ? void 0 : singleMappingComponent.props) == null ? void 0 : _a2.onSaveHandler(editId));
85
76
  if (navigate)
86
77
  setHasDashboardPage(true);
87
- }
78
+ },
79
+ hasPreviousMapping: (_k = (_j = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _j.hasPreviousMapping) != null ? _k : !isSingleAccountMappingCompleted && !isSingleAccountTriggerCompleted
88
80
  };
89
81
  const triggerClonedProps = {
90
82
  editField,
@@ -94,11 +86,19 @@ const IntegrationTemplate = ({
94
86
  const navigate = await ((_a2 = triggerComponent == null ? void 0 : triggerComponent.props) == null ? void 0 : _a2.onSaveHandler(editId));
95
87
  if (navigate)
96
88
  setHasDashboardPage(true);
97
- }
89
+ },
90
+ hasPreviousMapping: (_m = (_l = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _l.hasPreviousMapping) != null ? _m : !isSingleAccountMappingCompleted && !isSingleAccountTriggerCompleted
98
91
  };
99
92
  const ClonedMappingComponent = !!mappingComponent ? React.cloneElement(mappingComponent, mappingClonedElementProps) : mappingComponent;
100
93
  const ClonedSingleMappingComponent = !!singleMappingComponent ? React.cloneElement(singleMappingComponent, clonedSingleMappingProps) : singleMappingComponent;
101
94
  const ClonedtriggerComponent = !!triggerComponent ? React.cloneElement(triggerComponent, triggerClonedProps) : triggerComponent;
95
+ React.useEffect(() => {
96
+ if (!isSingleAccountMappingCompleted && !isSingleAccountTriggerCompleted && hasDashboardPage) {
97
+ setHasDashboardPage(false);
98
+ setHasConfigurationType(true);
99
+ setCurrentConfigurationType(null);
100
+ }
101
+ }, [(_n = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _n.fields, trigger == null ? void 0 : trigger.mappedFields]);
102
102
  return /* @__PURE__ */ React.createElement(
103
103
  themeProvider.ThemeProvider,
104
104
  {
@@ -119,28 +119,8 @@ const IntegrationTemplate = ({
119
119
  triggerFields: trigger == null ? void 0 : trigger.mappedFields,
120
120
  handleConfigurationType: (value) => setCurrentConfigurationType(value),
121
121
  handleEditField,
122
- deleteFieldHandler,
123
- handleDashboardField: (value, id, type) => {
124
- if (type === "MAPPING") {
125
- mapping.setMappedFields((prev) => __spreadProps(__spreadValues({}, prev), {
126
- fields: mapping.mappedFields.fields.map((field) => {
127
- if (field.id === id) {
128
- return __spreadProps(__spreadValues({}, field), { isEnabled: value });
129
- }
130
- return __spreadValues({}, field);
131
- })
132
- }));
133
- } else {
134
- trigger.setMappedFields(
135
- trigger.mappedFields.map((field) => {
136
- if (field.id === id) {
137
- return __spreadProps(__spreadValues({}, field), { isEnabled: value });
138
- }
139
- return __spreadValues({}, field);
140
- })
141
- );
142
- }
143
- },
122
+ deleteFieldHandler: onDeleteHandler,
123
+ toggleDashboardField,
144
124
  handleDashboardPage: (value, type) => {
145
125
  setHasDashboardPage(value);
146
126
  setCurrentConfigurationType(type);
@@ -212,7 +192,6 @@ const TemplateCard = ({
212
192
  borderRadius: "$4xl",
213
193
  position: "relative",
214
194
  cursor: "pointer",
215
- transition: "all .4s ease",
216
195
  filter: "drop-shadow(0 4px 8px rgba(0, 0, 0, 0.06))",
217
196
  overflow: "auto",
218
197
  "&:hover": {
@@ -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, 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}: {\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}) => {\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 deleteFieldHandler = mappingComponent?.props?.onDeleteHandler;\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 setHasDashboardPage(true);\n };\n\n const mappingClonedElementProps = {\n previousMappingHandler: previousMappingHandler,\n editField: editField,\n integrationName,\n isMappingPage,\n navigateMappingPage: navigateMappingPage,\n onSaveHandler: (editId?: string | number) => {\n const navigate = mappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n }\n };\n\n const clonedSingleMappingProps = {\n editField: editField,\n previousMappingHandler: previousMappingHandler,\n onSaveHandler: async (editId?: string | number) => {\n const navigate =\n await singleMappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n }\n };\n\n const triggerClonedProps = {\n editField: editField,\n previousMappingHandler: previousMappingHandler,\n onSaveHandler: async (editId?: string | number) => {\n const navigate =\n await triggerComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n }\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 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={deleteFieldHandler}\n handleDashboardField={(\n value: boolean,\n id: string | number,\n type: string\n ) => {\n if (type === \"MAPPING\") {\n mapping.setMappedFields((prev: any) => ({\n ...prev,\n fields: mapping.mappedFields.fields.map((field: any) => {\n if (field.id === id) {\n return { ...field, isEnabled: value };\n }\n return { ...field };\n })\n }));\n } else {\n trigger.setMappedFields(\n trigger.mappedFields.map((field) => {\n if (field.id === id) {\n return { ...field, isEnabled: value };\n }\n return { ...field };\n })\n );\n }\n }}\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 transition: \"all .4s ease\",\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","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}: {\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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"}
@@ -63,6 +63,8 @@ const Mapping = ({
63
63
  const essentialFields = fields == null ? void 0 : fields.filter((field) => field == null ? void 0 : field.isEssentialField);
64
64
  const commonFields = fields == null ? void 0 : fields.filter((field) => !(field == null ? void 0 : field.isEssentialField));
65
65
  const handleFieldValue = (id, property, value) => {
66
+ console.log(id, property, value);
67
+ console.log(fields);
66
68
  setFields(
67
69
  fields == null ? void 0 : fields.map((field) => {
68
70
  if (field.id === id) {
@@ -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 : { ...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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"}
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 console.log(id, property, value);\n console.log(fields);\n setFields(\n fields?.map((field) => {\n if (field.id === id) {\n return property === \"type\"\n ? { ...field, surveySparrowField: null, mappedType: value, id }\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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"}
@@ -32,8 +32,8 @@ const Dashboard = ({
32
32
  handleConfigurationType,
33
33
  handleEditField,
34
34
  handleDashboardPage,
35
- handleDashboardField,
36
- deleteFieldHandler
35
+ deleteFieldHandler,
36
+ toggleDashboardField
37
37
  }) => {
38
38
  const isSingleAccountMappingCompleted = !hasMultiAccounts && !!(mappingFields == null ? void 0 : mappingFields.fields.length);
39
39
  const isSingleAccountTriggerCompleted = !hasMultiAccounts && !!(triggerFields == null ? void 0 : triggerFields.length);
@@ -82,7 +82,7 @@ const Dashboard = ({
82
82
  handleDashboardPage,
83
83
  handleEditField,
84
84
  handleConfigurationType,
85
- handleDashboardField,
85
+ toggleDashboardField,
86
86
  deleteFieldHandler
87
87
  }
88
88
  ) : /* @__PURE__ */ React__default.createElement(
@@ -93,7 +93,7 @@ const Dashboard = ({
93
93
  integrationName,
94
94
  handleDashboardPage,
95
95
  handleEditField,
96
- handleDashboardField,
96
+ toggleDashboardField,
97
97
  deleteFieldHandler
98
98
  }
99
99
  )));
@@ -105,7 +105,7 @@ const MultiAccountDashboard = ({
105
105
  handleDashboardPage,
106
106
  handleEditField,
107
107
  handleConfigurationType,
108
- handleDashboardField,
108
+ toggleDashboardField,
109
109
  deleteFieldHandler
110
110
  }) => {
111
111
  var _a, _b, _c, _d;
@@ -142,7 +142,7 @@ const MultiAccountDashboard = ({
142
142
  handleDashboardPage,
143
143
  handleEditField,
144
144
  type: "TRIGGER",
145
- handleDashboardField,
145
+ toggleDashboardField,
146
146
  deleteFieldHandler
147
147
  }
148
148
  );
@@ -161,7 +161,7 @@ const MultiAccountDashboard = ({
161
161
  handleDashboardPage,
162
162
  handleEditField,
163
163
  type: "MAPPING",
164
- handleDashboardField,
164
+ toggleDashboardField,
165
165
  deleteFieldHandler
166
166
  }
167
167
  ) : /* @__PURE__ */ React__default.createElement(
@@ -173,7 +173,7 @@ const MultiAccountDashboard = ({
173
173
  icon: /* @__PURE__ */ React__default.createElement(MappingIcon, { size: 32, color: "#56B0BB" }),
174
174
  handleEditField,
175
175
  handleDashboardPage,
176
- handleDashboardField
176
+ toggleDashboardField
177
177
  }
178
178
  ));
179
179
  })) : null)
@@ -196,7 +196,7 @@ const MultiAccountDashboard = ({
196
196
  handleDashboardPage,
197
197
  handleEditField,
198
198
  type: "TRIGGER",
199
- handleDashboardField,
199
+ toggleDashboardField,
200
200
  deleteFieldHandler
201
201
  }
202
202
  ))) : /* @__PURE__ */ React__default.createElement(
@@ -225,7 +225,7 @@ const MultiAccountDashboard = ({
225
225
  handleDashboardPage,
226
226
  handleEditField,
227
227
  type: "MAPPING",
228
- handleDashboardField,
228
+ toggleDashboardField,
229
229
  deleteFieldHandler
230
230
  }
231
231
  ) : /* @__PURE__ */ React__default.createElement(
@@ -237,7 +237,7 @@ const MultiAccountDashboard = ({
237
237
  icon: /* @__PURE__ */ React__default.createElement(MappingIcon, { size: 32, color: "#56B0BB" }),
238
238
  handleEditField,
239
239
  handleDashboardPage,
240
- handleDashboardField
240
+ toggleDashboardField
241
241
  }
242
242
  ))))) : /* @__PURE__ */ React__default.createElement(
243
243
  MultiAccountFallback,
@@ -274,7 +274,7 @@ const MultiAccountFallback = ({
274
274
  },
275
275
  "Creating one is as easy as a breeze. Just a click away to get started."
276
276
  ),
277
- /* @__PURE__ */ React__default.createElement(Button, { size: "lg", leftIcon: /* @__PURE__ */ React__default.createElement(PlusIcon, null), variant: "outline" }, `New ${title}`)
277
+ /* @__PURE__ */ React__default.createElement(Button, { size: "lg", leftIcon: /* @__PURE__ */ React__default.createElement(PlusIcon, null), variant: "outline", onClick: onClickHandler }, `New ${title}`)
278
278
  );
279
279
  };
280
280
  const SingleAccountDashboard = ({
@@ -283,7 +283,7 @@ const SingleAccountDashboard = ({
283
283
  integrationName,
284
284
  handleEditField,
285
285
  handleDashboardPage,
286
- handleDashboardField,
286
+ toggleDashboardField,
287
287
  deleteFieldHandler
288
288
  }) => {
289
289
  var _a, _b, _c, _d;
@@ -296,7 +296,7 @@ const SingleAccountDashboard = ({
296
296
  icon: /* @__PURE__ */ React__default.createElement(CursorIcon, { size: 32, color: "#56B0BB" }),
297
297
  handleEditField,
298
298
  handleDashboardPage,
299
- handleDashboardField
299
+ toggleDashboardField
300
300
  }
301
301
  ))) : null, !!((_a = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _a.length) && (mappingFields == null ? void 0 : mappingFields.type) === "MULTI_MAPPING" ? /* @__PURE__ */ React__default.createElement(Box, { css: { marginTop: !(triggerFields == null ? void 0 : triggerFields.length) ? "$20" : "$8" } }, (_b = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _b.map((field) => /* @__PURE__ */ React__default.createElement(
302
302
  DashboardItem,
@@ -311,7 +311,7 @@ const SingleAccountDashboard = ({
311
311
  handleDashboardPage,
312
312
  handleEditField,
313
313
  type: "MAPPING",
314
- handleDashboardField,
314
+ toggleDashboardField,
315
315
  deleteFieldHandler
316
316
  }
317
317
  ))) : null, (mappingFields == null ? void 0 : mappingFields.type) !== "MULTI_MAPPING" && !!((_c = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _c.length) ? /* @__PURE__ */ React__default.createElement(Box, { css: { marginTop: !(triggerFields == null ? void 0 : triggerFields.length) ? "$20" : "$8" } }, (_d = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _d.map((field) => /* @__PURE__ */ React__default.createElement(
@@ -323,7 +323,7 @@ const SingleAccountDashboard = ({
323
323
  icon: /* @__PURE__ */ React__default.createElement(MappingIcon, { size: 32, color: "#56B0BB" }),
324
324
  handleEditField,
325
325
  handleDashboardPage,
326
- handleDashboardField
326
+ toggleDashboardField
327
327
  }
328
328
  ))) : null);
329
329
  };
@@ -332,7 +332,7 @@ const TriggerDasboardItem = ({
332
332
  field,
333
333
  handleEditField,
334
334
  handleDashboardPage,
335
- handleDashboardField
335
+ toggleDashboardField
336
336
  }) => {
337
337
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
338
338
  const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);
@@ -389,7 +389,7 @@ const TriggerDasboardItem = ({
389
389
  {
390
390
  size: "md",
391
391
  checked: field.isEnabled,
392
- onChange: (value) => handleDashboardField(value, field.id, "TRIGGER")
392
+ onChange: (value) => toggleDashboardField(field.id, value)
393
393
  }
394
394
  ), /* @__PURE__ */ React__default.createElement(DropdownMenu, null, /* @__PURE__ */ React__default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React__default.createElement(
395
395
  IconButton,
@@ -538,7 +538,7 @@ const SingleMappingDashboardItem = ({
538
538
  field,
539
539
  handleEditField,
540
540
  handleDashboardPage,
541
- handleDashboardField
541
+ toggleDashboardField
542
542
  }) => {
543
543
  var _a, _b;
544
544
  const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);
@@ -577,7 +577,7 @@ const SingleMappingDashboardItem = ({
577
577
  {
578
578
  size: "md",
579
579
  checked: field.isEnabled,
580
- onChange: (value) => handleDashboardField(value, field.id, "MAPPING")
580
+ onChange: (value) => toggleDashboardField(field.id, value)
581
581
  }
582
582
  ), /* @__PURE__ */ React__default.createElement(DropdownMenu, null, /* @__PURE__ */ React__default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React__default.createElement(
583
583
  IconButton,
@@ -830,7 +830,7 @@ const DashboardItem = ({
830
830
  id,
831
831
  handleDashboardPage,
832
832
  type,
833
- handleDashboardField,
833
+ toggleDashboardField,
834
834
  deleteFieldHandler
835
835
  }) => {
836
836
  const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);
@@ -890,7 +890,7 @@ const DashboardItem = ({
890
890
  {
891
891
  size: "md",
892
892
  checked: isEnabled,
893
- onChange: (value) => handleDashboardField(value, id, type)
893
+ onChange: (value) => toggleDashboardField(id, value)
894
894
  }
895
895
  ), /* @__PURE__ */ React__default.createElement(DropdownMenu, null, /* @__PURE__ */ React__default.createElement(DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React__default.createElement(
896
896
  IconButton,
@@ -969,12 +969,15 @@ const DashboardItem = ({
969
969
  {
970
970
  css: {
971
971
  "& tr:last-child": {
972
- borderBottom: 0
972
+ borderBottom: 0,
973
+ "& td": {
974
+ borderBottom: 0
975
+ }
973
976
  }
974
977
  }
975
978
  },
976
979
  fields.map((field) => {
977
- var _a, _b, _c;
980
+ var _a, _b, _c, _d, _e, _f, _g;
978
981
  return /* @__PURE__ */ React__default.createElement(
979
982
  Tr,
980
983
  {
@@ -994,10 +997,10 @@ const DashboardItem = ({
994
997
  }
995
998
  }
996
999
  },
997
- /* @__PURE__ */ React__default.createElement(Td, null, (_a = field.mappedType) == null ? void 0 : _a.label),
998
- /* @__PURE__ */ React__default.createElement(Td, null, (_b = field.surveySparrowField) == null ? void 0 : _b.label),
999
- /* @__PURE__ */ React__default.createElement(Td, null, (_c = field.integrationField) == null ? void 0 : _c.label),
1000
- /* @__PURE__ */ React__default.createElement(Td, null, getDefaultFieldValue(field.defaultValue))
1000
+ /* @__PURE__ */ React__default.createElement(Td, null, (_b = (_a = field.mappedType) == null ? void 0 : _a.label) != null ? _b : "--"),
1001
+ /* @__PURE__ */ React__default.createElement(Td, null, (_d = (_c = field.surveySparrowField) == null ? void 0 : _c.label) != null ? _d : "--"),
1002
+ /* @__PURE__ */ React__default.createElement(Td, null, (_f = (_e = field.integrationField) == null ? void 0 : _e.label) != null ? _f : "--"),
1003
+ /* @__PURE__ */ React__default.createElement(Td, null, (_g = getDefaultFieldValue(field.defaultValue)) != null ? _g : "--")
1001
1004
  );
1002
1005
  })
1003
1006
  )) : null