@sparrowengg/integrations-templates-frontend 1.2.7 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/integration-template/components/dashboard.js +13 -12
- package/dist/cjs/integration-template/components/dashboard.js.map +1 -1
- package/dist/cjs/integration-template/index.js +2 -2
- package/dist/cjs/integration-template/index.js.map +1 -1
- package/dist/cjs/mapping/index.js +1 -1
- package/dist/cjs/mapping/index.js.map +1 -1
- package/dist/es/integration-template/components/dashboard.js +13 -12
- package/dist/es/integration-template/components/dashboard.js.map +1 -1
- package/dist/es/integration-template/index.js +2 -2
- package/dist/es/integration-template/index.js.map +1 -1
- package/dist/es/mapping/index.js +1 -1
- package/dist/es/mapping/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -112,6 +112,7 @@ const MultiAccountDashboard = ({
|
|
|
112
112
|
handleDashboardField,
|
|
113
113
|
deleteFieldHandler
|
|
114
114
|
}) => {
|
|
115
|
+
var _a, _b, _c, _d;
|
|
115
116
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(tabs.Tabs, { defaultValue: "ALL" }, /* @__PURE__ */ React.createElement(
|
|
116
117
|
tabs.TabsList,
|
|
117
118
|
{
|
|
@@ -130,13 +131,13 @@ const MultiAccountDashboard = ({
|
|
|
130
131
|
value: "ALL",
|
|
131
132
|
css: { paddingBlock: "$12", paddingInline: 0 }
|
|
132
133
|
},
|
|
133
|
-
/* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$8" }, !!triggerFields.length ? /* @__PURE__ */ React.createElement(React.Fragment, null, triggerFields.map((field) => {
|
|
134
|
-
var
|
|
134
|
+
/* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$8" }, !!(triggerFields == null ? void 0 : triggerFields.length) ? /* @__PURE__ */ React.createElement(React.Fragment, null, triggerFields == null ? void 0 : triggerFields.map((field) => {
|
|
135
|
+
var _a2;
|
|
135
136
|
return /* @__PURE__ */ React.createElement(
|
|
136
137
|
DashboardItem,
|
|
137
138
|
{
|
|
138
139
|
icon: /* @__PURE__ */ React.createElement(cursor.default, { size: 32, color: "#56B0BB" }),
|
|
139
|
-
heading: (
|
|
140
|
+
heading: (_a2 = field.domain) != null ? _a2 : field.email,
|
|
140
141
|
id: field.id,
|
|
141
142
|
description: `Trigger survey when an event happens in ${integrationName}`,
|
|
142
143
|
fields: field.fields,
|
|
@@ -149,13 +150,13 @@ const MultiAccountDashboard = ({
|
|
|
149
150
|
deleteFieldHandler
|
|
150
151
|
}
|
|
151
152
|
);
|
|
152
|
-
})) : null, !!mappingFields.fields.length ? /* @__PURE__ */ React.createElement(React.Fragment, null, mappingFields.fields.map((field) => {
|
|
153
|
-
var
|
|
153
|
+
})) : null, !!((_a = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _a.length) ? /* @__PURE__ */ React.createElement(React.Fragment, null, (_b = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _b.map((field) => {
|
|
154
|
+
var _a2;
|
|
154
155
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, mappingFields.type === "MULTI_MAPPING" ? /* @__PURE__ */ React.createElement(
|
|
155
156
|
DashboardItem,
|
|
156
157
|
{
|
|
157
158
|
icon: /* @__PURE__ */ React.createElement(mapping.default, { size: 32, color: "#56B0BB" }),
|
|
158
|
-
heading: (
|
|
159
|
+
heading: (_a2 = field.domain) != null ? _a2 : field.email,
|
|
159
160
|
id: field.id,
|
|
160
161
|
description: `Sync survey responses to ${integrationName}`,
|
|
161
162
|
fields: field.fields,
|
|
@@ -186,7 +187,7 @@ const MultiAccountDashboard = ({
|
|
|
186
187
|
value: "TRIGGER",
|
|
187
188
|
css: { paddingBlock: "$12", paddingInline: 0 }
|
|
188
189
|
},
|
|
189
|
-
!!triggerFields.length ? /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$8" }, triggerFields.map((field) => /* @__PURE__ */ React.createElement(
|
|
190
|
+
!!(triggerFields == null ? void 0 : triggerFields.length) ? /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$8" }, triggerFields == null ? void 0 : triggerFields.map((field) => /* @__PURE__ */ React.createElement(
|
|
190
191
|
DashboardItem,
|
|
191
192
|
{
|
|
192
193
|
icon: /* @__PURE__ */ React.createElement(cursor.default, { size: 32, color: "#56B0BB" }),
|
|
@@ -215,7 +216,7 @@ const MultiAccountDashboard = ({
|
|
|
215
216
|
value: "MAPPING",
|
|
216
217
|
css: { paddingBlock: "$12", paddingInline: 0 }
|
|
217
218
|
},
|
|
218
|
-
!!mappingFields.fields.length ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$8" }, mappingFields.fields.map((field) => /* @__PURE__ */ React.createElement(React.Fragment, null, mappingFields.type === "MULTI_MAPPING" ? /* @__PURE__ */ React.createElement(
|
|
219
|
+
!!((_c = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _c.length) ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$8" }, (_d = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _d.map((field) => /* @__PURE__ */ React.createElement(React.Fragment, null, mappingFields.type === "MULTI_MAPPING" ? /* @__PURE__ */ React.createElement(
|
|
219
220
|
DashboardItem,
|
|
220
221
|
{
|
|
221
222
|
icon: /* @__PURE__ */ React.createElement(mapping.default, { size: 32, color: "#56B0BB" }),
|
|
@@ -289,8 +290,8 @@ const SingleAccountDashboard = ({
|
|
|
289
290
|
handleDashboardField,
|
|
290
291
|
deleteFieldHandler
|
|
291
292
|
}) => {
|
|
292
|
-
var _a, _b;
|
|
293
|
-
return /* @__PURE__ */ React.createElement(React.Fragment, null, !!triggerFields.length ? /* @__PURE__ */ React.createElement(box.Box, { css: { marginTop: "$20" } }, triggerFields.map((field) => /* @__PURE__ */ React.createElement(
|
|
293
|
+
var _a, _b, _c, _d;
|
|
294
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, !!(triggerFields == null ? void 0 : triggerFields.length) ? /* @__PURE__ */ React.createElement(box.Box, { css: { marginTop: "$20" } }, triggerFields == null ? void 0 : triggerFields.map((field) => /* @__PURE__ */ React.createElement(
|
|
294
295
|
TriggerDasboardItem,
|
|
295
296
|
{
|
|
296
297
|
field,
|
|
@@ -301,7 +302,7 @@ const SingleAccountDashboard = ({
|
|
|
301
302
|
handleDashboardPage,
|
|
302
303
|
handleDashboardField
|
|
303
304
|
}
|
|
304
|
-
))) : null, !!((_a = mappingFields.fields) == null ? void 0 : _a.length) && mappingFields.type === "MULTI_MAPPING" ? /* @__PURE__ */ React.createElement(box.Box, { css: { marginTop: !triggerFields.length ? "$20" : "$8" } }, mappingFields.fields.map((field) => /* @__PURE__ */ React.createElement(
|
|
305
|
+
))) : null, !!((_a = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _a.length) && (mappingFields == null ? void 0 : mappingFields.type) === "MULTI_MAPPING" ? /* @__PURE__ */ React.createElement(box.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.createElement(
|
|
305
306
|
DashboardItem,
|
|
306
307
|
{
|
|
307
308
|
icon: /* @__PURE__ */ React.createElement(mapping.default, { size: 32, color: "#56B0BB" }),
|
|
@@ -317,7 +318,7 @@ const SingleAccountDashboard = ({
|
|
|
317
318
|
handleDashboardField,
|
|
318
319
|
deleteFieldHandler
|
|
319
320
|
}
|
|
320
|
-
))) : null, mappingFields.type !== "MULTI_MAPPING" && !!((
|
|
321
|
+
))) : null, (mappingFields == null ? void 0 : mappingFields.type) !== "MULTI_MAPPING" && !!((_c = mappingFields == null ? void 0 : mappingFields.fields) == null ? void 0 : _c.length) ? /* @__PURE__ */ React.createElement(box.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.createElement(
|
|
321
322
|
SingleMappingDashboardItem,
|
|
322
323
|
{
|
|
323
324
|
field,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sources":["../../../../src/integration-template/components/dashboard.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Chip,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Flex,\n Heading,\n IconButton,\n Switch,\n Table,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Tbody,\n Td,\n Text,\n Th,\n Thead,\n Tooltip,\n Tr\n} from \"@sparrowengg/twigs-react\";\nimport {\n ChevronDownIcon,\n ChevronRightIcon,\n DeleteIcon,\n EllipsisVerticalIcon,\n PencilIcon,\n PlusIcon\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { ReactNode, useRef, useState } from \"react\";\nimport CursorIcon from \"../../commons/icons/cursor\";\nimport MappingIcon from \"../../commons/icons/mapping\";\nimport dayjs from \"dayjs\";\nimport parse from \"html-react-parser\";\nimport { operatorOptions } from \"../../commons/constants\";\nimport \"./style.css\";\n\nconst Dashboard = ({\n integrationName,\n dashboardDescription,\n mappingFields,\n triggerFields,\n hasMultiAccounts,\n handleConfigurationType,\n handleEditField,\n handleDashboardPage,\n handleDashboardField,\n deleteFieldHandler\n}: {\n integrationName: string;\n dashboardDescription: string;\n mappingFields: {\n type: string;\n fields: Array<any>;\n };\n triggerFields: Array<any>;\n hasMultiAccounts: boolean;\n handleConfigurationType: (type: string) => void;\n handleEditField: (field: any) => void;\n handleDashboardPage: (value: boolean, type: string) => void;\n handleDashboardField: (\n value: boolean,\n id: string | number,\n type: string\n ) => void;\n deleteFieldHandler: (id?: string | number) => void;\n}) => {\n const isSingleAccountMappingCompleted =\n !hasMultiAccounts && !!mappingFields?.fields.length;\n const isSingleAccountTriggerCompleted =\n !hasMultiAccounts && !!triggerFields?.length;\n return (\n <Flex justifyContent=\"center\">\n <Box css={{ maxWidth: \"1120px\", width: \"100%\" }}>\n <Flex\n css={{ marginTop: \"$40\" }}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Flex flexDirection=\"column\" gap=\"$2\">\n <Heading size=\"h5\">{integrationName}</Heading>\n <Text size=\"sm\" css={{ color: \"$neutral600\" }}>\n {dashboardDescription}\n </Text>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$4\">\n {hasMultiAccounts && (\n <Button size=\"lg\" color=\"default\" leftIcon={<PlusIcon />}>\n Add Account\n </Button>\n )}\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button size=\"lg\" rightIcon={<ChevronDownIcon />}>\n Add New\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n sideOffset={4}\n align=\"start\"\n css={{ maxWidth: 240, zIndex: 10 }}\n >\n <DropdownItem\n icon={<CursorIcon size={24} color=\"#6A6A6A\" />}\n heading={\"Trigger\"}\n description=\"Trigger the Survey when a record is created/updated\"\n isDisabled={isSingleAccountTriggerCompleted}\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n <DropdownItem\n icon={<MappingIcon size={24} color=\"#6A6A6A\" />}\n heading={\"Mapping\"}\n isDisabled={isSingleAccountMappingCompleted}\n description={`Create/Update record in ${integrationName} from survey responses`}\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n </Flex>\n {hasMultiAccounts ? (\n <MultiAccountDashboard\n mappingFields={mappingFields}\n triggerFields={triggerFields}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n handleConfigurationType={handleConfigurationType}\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ) : (\n <SingleAccountDashboard\n mappingFields={mappingFields}\n triggerFields={triggerFields}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n )}\n </Box>\n </Flex>\n );\n};\n\nexport default Dashboard;\n\nconst MultiAccountDashboard = ({\n mappingFields,\n triggerFields,\n integrationName,\n handleDashboardPage,\n handleEditField,\n handleConfigurationType,\n handleDashboardField,\n deleteFieldHandler\n}: any) => {\n return (\n <>\n <Tabs defaultValue=\"ALL\">\n <TabsList\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n marginTop: \"$16\",\n \"& button\": { color: \"$neutral900\" }\n }}\n >\n <TabsTrigger value=\"ALL\">All</TabsTrigger>\n <TabsTrigger value=\"TRIGGER\">Trigger</TabsTrigger>\n <TabsTrigger value=\"MAPPING\">Mapping</TabsTrigger>\n </TabsList>\n <TabsContent\n value=\"ALL\"\n css={{ paddingBlock: \"$12\", paddingInline: 0 }}\n >\n <Flex flexDirection=\"column\" gap=\"$8\">\n {!!triggerFields.length ? (\n <>\n {triggerFields.map((field: any) => (\n <DashboardItem\n icon={<CursorIcon size={32} color=\"#56B0BB\" />}\n heading={field.domain ?? field.email}\n id={field.id}\n description={`Trigger survey when an event happens in ${integrationName}`}\n fields={field.fields}\n isEnabled={field.isEnabled}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n type=\"TRIGGER\"\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ))}\n </>\n ) : null}\n {!!mappingFields.fields.length ? (\n <>\n {mappingFields.fields.map((field: any) => (\n <>\n {mappingFields.type === \"MULTI_MAPPING\" ? (\n <DashboardItem\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading={field.domain ?? field.email}\n id={field.id}\n description={`Sync survey responses to ${integrationName}`}\n fields={field.fields}\n isEnabled={field.isEnabled}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n type=\"MAPPING\"\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ) : (\n <SingleMappingDashboardItem\n field={field}\n key={field.id}\n integrationName={integrationName}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n handleEditField={handleEditField}\n handleDashboardPage={handleDashboardPage}\n handleDashboardField={handleDashboardField}\n />\n )}\n </>\n ))}\n </>\n ) : null}\n </Flex>\n </TabsContent>\n <TabsContent\n value=\"TRIGGER\"\n css={{ paddingBlock: \"$12\", paddingInline: 0 }}\n >\n {!!triggerFields.length ? (\n <Flex flexDirection=\"column\" gap=\"$8\">\n {triggerFields.map((field: any) => (\n <DashboardItem\n icon={<CursorIcon size={32} color=\"#56B0BB\" />}\n heading=\"Trigger\"\n id={field.id}\n description={`Trigger survey when an event happens in ${integrationName}`}\n fields={field.fields}\n isEnabled={field.isEnabled}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n type=\"TRIGGER\"\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ))}\n </Flex>\n ) : (\n <MultiAccountFallback\n title=\"Trigger\"\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n )}\n </TabsContent>\n <TabsContent\n value=\"MAPPING\"\n css={{ paddingBlock: \"$12\", paddingInline: 0 }}\n >\n {!!mappingFields.fields.length ? (\n <>\n <Flex flexDirection=\"column\" gap=\"$8\">\n {mappingFields.fields.map((field: any) => (\n <>\n {mappingFields.type === \"MULTI_MAPPING\" ? (\n <DashboardItem\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading=\"Mapping\"\n id={field.id}\n description={`Sync survey responses to ${integrationName}`}\n fields={field.fields}\n isEnabled={field.isEnabled}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n type=\"MAPPING\"\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ) : (\n <SingleMappingDashboardItem\n field={field}\n key={field.id}\n integrationName={integrationName}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n handleEditField={handleEditField}\n handleDashboardPage={handleDashboardPage}\n handleDashboardField={handleDashboardField}\n />\n )}\n </>\n ))}\n </Flex>\n </>\n ) : (\n <MultiAccountFallback\n title=\"Mapping\"\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n )}\n </TabsContent>\n </Tabs>\n </>\n );\n};\n\nconst MultiAccountFallback = ({\n title,\n onClickHandler\n}: {\n title: string;\n onClickHandler: () => void;\n}) => {\n return (\n <Flex\n justifyContent=\"center\"\n flexDirection=\"column\"\n alignItems=\"center\"\n css={{ paddingTop: 182 }}\n >\n <Heading size=\"h5\">{`Zero ${title} Entries`}</Heading>\n <Text\n css={{\n textAlign: \"center\",\n maxWidth: 400,\n marginBlock: \"$4 $12\",\n color: \"$neutral800\"\n }}\n size=\"md\"\n >\n Creating one is as easy as a breeze. Just a click away to get started.\n </Text>\n <Button size=\"lg\" leftIcon={<PlusIcon />} variant=\"outline\">\n {`New ${title}`}\n </Button>\n </Flex>\n );\n};\n\nconst SingleAccountDashboard = ({\n mappingFields,\n triggerFields,\n integrationName,\n handleEditField,\n handleDashboardPage,\n handleDashboardField,\n deleteFieldHandler\n}: any) => {\n\n return (\n <>\n {!!triggerFields.length ? (\n <Box css={{ marginTop: \"$20\" }}>\n {triggerFields.map((field: any) => (\n <TriggerDasboardItem\n field={field}\n key={field.id}\n integrationName={integrationName}\n icon={<CursorIcon size={32} color=\"#56B0BB\" />}\n handleEditField={handleEditField}\n handleDashboardPage={handleDashboardPage}\n handleDashboardField={handleDashboardField}\n />\n ))}\n </Box>\n ) : null}\n {!!mappingFields.fields?.length &&\n mappingFields.type === \"MULTI_MAPPING\" ? (\n <Box css={{ marginTop: !triggerFields.length ? \"$20\" : \"$8\" }}>\n {mappingFields.fields.map((field: any) => (\n <DashboardItem\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading=\"Mapping\"\n id={field.id}\n description={`Sync survey responses to ${integrationName}`}\n fields={field.fields}\n isEnabled={field.isEnabled}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n type=\"MAPPING\"\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ))}\n </Box>\n ) : null}\n {mappingFields.type !== \"MULTI_MAPPING\" &&\n !!mappingFields.fields?.length ? (\n <Box css={{ marginTop: !triggerFields.length ? \"$20\" : \"$8\" }}>\n {mappingFields.fields.map((field: any) => (\n <SingleMappingDashboardItem\n field={field}\n key={field.id}\n integrationName={integrationName}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n handleEditField={handleEditField}\n handleDashboardPage={handleDashboardPage}\n handleDashboardField={handleDashboardField}\n />\n ))}\n </Box>\n ) : null}\n </>\n );\n};\n\nconst TriggerDasboardItem = ({\n icon,\n field,\n handleEditField,\n handleDashboardPage,\n handleDashboardField\n}: any) => {\n const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);\n\n const transformDataToString = (data: any) => {\n const filterConditions = data.filters\n .map((filterGroup: any) => {\n return filterGroup.filter\n .map((filter: any) => {\n const field = filter.field;\n const comparator = filter.comparator;\n const value = filter.value;\n const formattedComparator =\n operatorOptions.find((option) => option.value === comparator)\n ?.label || comparator;\n\n return `${field} ${formattedComparator} ${value}`;\n })\n ?.join(\n ` <span class=\"triggerTextBold\">${filterGroup.condition.toLowerCase()}</span> `\n );\n })\n .join(\n ` <span class=\"triggerTextBold\">${data.condition.toLowerCase() === \"or\" ? \"Or\" : \"And\"} When,</span> `\n );\n\n return `<p class=\"triggerText\"><span class=\"triggerTextBold\">When</span> ${filterConditions}</p>`;\n };\n\n return (\n <Flex\n flexDirection=\"column\"\n css={{ width: \"100%\", height: \"100%\", overflow: \"auto\" }}\n >\n <Flex\n css={{\n border: isMappingDisplayed\n ? \"$borderWidths$xs solid $black400\"\n : \"$borderWidths$xs solid $neutral200\",\n borderRadius: isMappingDisplayed ? \"$2xl $2xl 0 0\" : \"$2xl\",\n padding: \"$10 $12\",\n width: \"100%\",\n backgroundColor: isMappingDisplayed\n ? \"rgba(100, 116, 139, 0.04)\"\n : \"$white900\"\n }}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ cursor: \"pointer\" }}\n onClick={() => setIsMappingDisplayed(!isMappingDisplayed)}\n >\n {isMappingDisplayed ? (\n <ChevronDownIcon size={40} color=\"#848484\" />\n ) : (\n <ChevronRightIcon size={40} color=\"#848484\" />\n )}\n <Flex alignItems=\"center\" gap=\"$4\">\n {icon}\n <Flex gap=\"$1\" flexDirection=\"column\">\n <Text size=\"md\" weight=\"bold\">\n {field?.email ?? \"Trigger\"}\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral600\" }}>\n {field?.description ?? \"Sample description\"}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$12\">\n <Switch\n size=\"md\"\n checked={field.isEnabled}\n onChange={(value) =>\n handleDashboardField(value, field.id, \"TRIGGER\")\n }\n />\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n size=\"lg\"\n icon={<EllipsisVerticalIcon />}\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent\n css={{ minWidth: 180, zIndex: 10 }}\n sideOffset={4}\n align=\"end\"\n >\n <DropdownMenuItem\n onClick={() => {\n handleEditField({\n type: \"TRIGGER\",\n values: field,\n id: field.id\n });\n handleDashboardPage(false, \"TRIGGER\");\n }}\n >\n <Flex alignItems=\"center\" gap=\"$2\">\n <PencilIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Edit</Text>\n </Flex>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Delete</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n </Flex>\n <Box\n css={{\n height: isMappingDisplayed ? \"100%\" : 0\n }}\n >\n <Box\n css={{\n borderInline: \"$borderWidths$xs solid $black400\",\n maxHeight: 734,\n height: \"100%\",\n position: \"relative\",\n overflow: \"auto\",\n padding: \"$16 $36\"\n }}\n >\n <SingleMappingEventWrapper isTrigger field={field} />\n {field?.fields?.filters?.length ? (\n <>\n {\" \"}\n <Flex\n flexDirection=\"column\"\n gap=\"$6\"\n css={{ paddingBlock: \"$8\" }}\n >\n <Text\n size=\"sm\"\n weight=\"bold\"\n css={{ textTransform: \"uppercase\" }}\n >\n CONDITION\n </Text>\n {parse(transformDataToString(field.fields))}\n </Flex>\n <Box\n css={{\n marginBlock: \"$4\",\n height: \"1px\",\n background: \"$neutral100\"\n }}\n />\n </>\n ) : null}\n {field?.triggerDetails?.variables?.length ? (\n <SingleMappingChipWrapper\n heading=\"PASSING VARIABLE TO SURVEY\"\n fields={field.triggerDetails.variables}\n backgroundColor=\"$positive100\"\n />\n ) : null}\n <>\n <Flex flexDirection=\"column\" gap=\"$6\" css={{ paddingBlock: \"$8\" }}>\n <Text size=\"sm\" weight=\"bold\">\n SEND SURVEY\n </Text>\n <Flex alignItems=\"center\">\n {field?.triggerDetails?.shareType?.value ? (\n <EventComponent\n heading=\"Share Type:\"\n description={field?.triggerDetails?.shareType?.label}\n />\n ) : null}\n {field?.triggerDetails?.shareRecipient?.value ? (\n <EventComponent\n heading=\"Recipient:\"\n hasBorder\n description={field?.triggerDetails?.shareRecipient?.label}\n />\n ) : null}\n {field?.triggerDetails?.shareChannel?.value ? (\n <EventComponent\n hasBorder\n heading=\"Share Channel:\"\n description={field?.triggerDetails?.shareChannel?.label}\n />\n ) : null}\n </Flex>\n </Flex>\n </>\n </Box>\n {isMappingDisplayed && (\n <Box\n css={{\n padding: \"$8 $32\",\n border: \"$borderWidths$xs solid $black400\",\n borderTop: \"$borderWidths$xs solid $neutral200\",\n borderRadius: \"0 0 $2xl $2xl\",\n height: \"100%\"\n }}\n >\n <Button\n size=\"sm\"\n leftIcon={<PencilIcon />}\n color={\"primary\"}\n variant=\"ghost\"\n onClick={() => {\n handleEditField({\n type: \"TRIGGER\",\n values: field,\n id: field.id\n });\n handleDashboardPage(false, \"TRIGGER\");\n }}\n >\n Edit Triggers\n </Button>\n </Box>\n )}\n </Box>\n </Flex>\n );\n};\n\nconst SingleMappingDashboardItem = ({\n icon,\n field,\n handleEditField,\n handleDashboardPage,\n handleDashboardField\n}: any) => {\n // { icon: string, heading: string, description: string, isEnabled: boolean }\n const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);\n\n return (\n <Flex\n flexDirection=\"column\"\n css={{ width: \"100%\", height: \"100%\", overflow: \"auto\" }}\n >\n <Flex\n css={{\n border: isMappingDisplayed\n ? \"$borderWidths$xs solid $black400\"\n : \"$borderWidths$xs solid $neutral200\",\n borderRadius: isMappingDisplayed ? \"$2xl $2xl 0 0\" : \"$2xl\",\n padding: \"$10 $12\",\n width: \"100%\",\n backgroundColor: isMappingDisplayed\n ? \"rgba(100, 116, 139, 0.04)\"\n : \"$white900\"\n }}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ cursor: \"pointer\" }}\n onClick={() => setIsMappingDisplayed(!isMappingDisplayed)}\n >\n {isMappingDisplayed ? (\n <ChevronDownIcon size={40} color=\"#848484\" />\n ) : (\n <ChevronRightIcon size={40} color=\"#848484\" />\n )}\n <Flex alignItems=\"center\" gap=\"$4\">\n {icon}\n <Flex gap=\"$1\" flexDirection=\"column\">\n <Text size=\"md\" weight=\"bold\">\n {field?.email ?? \"Mapping\"}\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral600\" }}>\n {field?.description ?? \"Sample description\"}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$12\">\n <Switch\n size=\"md\"\n checked={field.isEnabled}\n onChange={(value) =>\n handleDashboardField(value, field.id, \"MAPPING\")\n }\n />\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n size=\"lg\"\n icon={<EllipsisVerticalIcon />}\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent\n css={{ minWidth: 180, zIndex: 10 }}\n sideOffset={4}\n align=\"end\"\n >\n <DropdownMenuItem\n onClick={() => {\n handleEditField({\n type: \"SINGLE_MAPPING\",\n values: field,\n id: field.id\n });\n handleDashboardPage(false, \"MAPPING\");\n }}\n >\n <Flex alignItems=\"center\" gap=\"$2\">\n <PencilIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Edit</Text>\n </Flex>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Delete</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n </Flex>\n <Box\n css={{\n height: isMappingDisplayed ? \"100%\" : 0\n }}\n >\n <Box\n css={{\n borderInline: \"$borderWidths$xs solid $black400\",\n maxHeight: 734,\n height: \"100%\",\n position: \"relative\",\n overflow: \"auto\",\n padding: \"$16 $36\"\n }}\n >\n <SingleMappingEventWrapper field={field} />\n {!!field.questions ? (\n <SingleMappingChipWrapper\n heading=\"Questions\"\n fields={field.questions}\n backgroundColor=\"#E5F2FF\"\n />\n ) : null}\n {!!field.variables ? (\n <SingleMappingChipWrapper\n heading=\"Variables\"\n placeholder=\"$\"\n fields={field.variables}\n backgroundColor=\"$positive100\"\n />\n ) : null}\n {!!field.contactProperties ? (\n <SingleMappingChipWrapper\n heading=\"Contacts\"\n placeholder=\"$\"\n fields={field.contactProperties}\n backgroundColor=\"$negative100\"\n />\n ) : null}\n {!!field.expressions ? (\n <SingleMappingChipWrapper\n heading=\"Expression\"\n backgroundColor=\"$neutral100\"\n fields={field.expressions}\n />\n ) : null}\n {!!field.property ? (\n <SingleMappingChipWrapper\n heading=\"Property\"\n hideBorder\n fields={field.property}\n backgroundColor=\"rgba(74, 156, 166, 0.15)\"\n />\n ) : null}\n </Box>\n {isMappingDisplayed && (\n <Box\n css={{\n padding: \"$8 $32\",\n border: \"$borderWidths$xs solid $black400\",\n borderTop: \"$borderWidths$xs solid $neutral200\",\n borderRadius: \"0 0 $2xl $2xl\",\n height: \"100%\"\n }}\n >\n <Button\n size=\"sm\"\n leftIcon={<PencilIcon />}\n color={\"primary\"}\n variant=\"ghost\"\n onClick={() => {\n handleEditField({\n type: \"SINGLE_MAPPING\",\n values: field,\n id: field.id\n });\n handleDashboardPage(false, \"MAPPING\");\n }}\n >\n Edit Mapping\n </Button>\n </Box>\n )}\n </Box>\n </Flex>\n );\n};\nconst EventComponent = ({\n heading,\n description,\n hasBorder\n}: {\n heading: string;\n description: string;\n hasBorder?: boolean;\n}) => {\n return (\n <Flex alignItems=\"center\">\n {hasBorder && (\n <Box css={{ paddingInline: \"$3\" }}>\n <Box\n css={{\n height: \"$3\",\n width: \"1px\",\n background: \"$neutral200\",\n marginInline: \"$4\"\n }}\n />\n </Box>\n )}\n <Flex gap=\"$2\">\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n {heading}\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n {description}\n </Text>\n </Flex>\n </Flex>\n );\n};\n\nconst SingleMappingEventWrapper = ({\n field,\n isTrigger\n}: {\n field: any;\n isTrigger?: boolean;\n}) => {\n const hasEventSection =\n !!field.email ||\n !!field.action ||\n !!field.exisitingSheet ||\n (!!field.object && isTrigger);\n\n return (\n <>\n {hasEventSection ? (\n <Flex flexDirection=\"column\" gap=\"$6\">\n <Text size=\"sm\" weight=\"bold\" css={{ textTransform: \"uppercase\" }}>\n Event\n </Text>\n <Flex alignItems=\"center\">\n {!!field.email ? (\n <EventComponent heading=\"Account:\" description={field.email} />\n ) : null}\n {!!field.object ? (\n <EventComponent\n heading=\"Object:\"\n description={field.object.toLowerCase()}\n />\n ) : null}\n {!!field.action ? (\n <EventComponent\n hasBorder\n heading=\"Action:\"\n description={field.action}\n />\n ) : null}\n {!!field.exisitingSheet ? (\n <EventComponent\n hasBorder\n heading=\"Existing Sheet:\"\n description={field.exisitingSheet}\n />\n ) : null}\n </Flex>\n <Box\n css={{\n marginBlock: \"$4\",\n height: \"1px\",\n background: \"$neutral100\"\n }}\n />\n </Flex>\n ) : null}\n </>\n );\n};\n\nconst SingleMappingChipWrapper = ({\n heading,\n fields,\n hideBorder,\n placeholder,\n backgroundColor\n}: {\n heading: string;\n fields: {};\n hideBorder?: boolean;\n placeholder?: string;\n backgroundColor: string;\n}) => {\n const modifiedFields = Object.values(fields).filter(\n (field: any) => field.id !== \"ALL\"\n );\n return (\n <>\n <Flex flexDirection=\"column\" gap=\"$6\" css={{ paddingBlock: \"$8\" }}>\n <Text size=\"sm\" weight=\"bold\" css={{ textTransform: \"uppercase\" }}>\n {heading}\n </Text>\n <Flex\n wrap=\"wrap\"\n css={{\n columnGap: \"$2\",\n rowGap: \"$4\",\n \"& > * \": { fontFamily: \"Roboto Mono !important\" }\n }}\n >\n {modifiedFields.map((field: any) => {\n const chipRef = useRef(null);\n const name = `${!!placeholder ? placeholder : \"\"}${field?.name ?? field?.label}`;\n const currentChipWidth = (chipRef.current as any)?.offsetWidth;\n return (\n <Tooltip\n delayDuration={300}\n content={currentChipWidth >= 248 ? name : \"\"}\n size=\"md\"\n sideOffset={4}\n >\n <Chip\n ref={chipRef}\n size=\"md\"\n css={{\n background: backgroundColor,\n maxWidth: 248,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n display: \"block\"\n }}\n >\n {name}\n </Chip>\n </Tooltip>\n );\n })}\n </Flex>\n </Flex>\n {!hideBorder && (\n <Box\n css={{ marginBlock: \"$4\", height: \"1px\", background: \"$neutral100\" }}\n />\n )}\n </>\n );\n};\n\nconst DashboardItem = ({\n icon,\n heading,\n description,\n fields,\n integrationName,\n isEnabled,\n handleEditField,\n id,\n handleDashboardPage,\n type,\n handleDashboardField,\n deleteFieldHandler\n}: {\n icon: ReactNode;\n heading: string;\n description: string;\n fields: any;\n isEnabled: boolean;\n integrationName: string;\n handleEditField: (field: any) => void;\n id: string | number;\n handleDashboardPage: (value: boolean, type: string) => void;\n type: string;\n handleDashboardField: (\n value: boolean,\n id: string | number,\n type: string\n ) => void;\n deleteFieldHandler: (id: string | number) => void;\n}) => {\n const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);\n\n const getDefaultFieldValue = (defaultValue: {\n type: string;\n value: any | string;\n }) => {\n let field = \"--\";\n switch (defaultValue?.type) {\n case \"DATE_TIME\": {\n field = dayjs(\n `${defaultValue.value.year}-${defaultValue.value.month}-${defaultValue.value.day}`\n ).format(\"D MMM, YYYY\");\n break;\n }\n case \"STRING\": {\n field = defaultValue?.value;\n break;\n }\n default: {\n field = defaultValue?.value?.label;\n break;\n }\n }\n return field;\n };\n\n return (\n <Flex\n flexDirection=\"column\"\n css={{ width: \"100%\", height: \"100%\", overflow: \"auto\" }}\n >\n <Flex\n css={{\n border: isMappingDisplayed\n ? \"$borderWidths$xs solid $black400\"\n : \"$borderWidths$xs solid $neutral200\",\n borderRadius: isMappingDisplayed ? \"$2xl $2xl 0 0\" : \"$2xl\",\n padding: \"$10 $12\",\n width: \"100%\",\n backgroundColor: isMappingDisplayed\n ? \"rgba(100, 116, 139, 0.04)\"\n : \"$white900\"\n }}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ cursor: \"pointer\" }}\n onClick={() => setIsMappingDisplayed(!isMappingDisplayed)}\n >\n {isMappingDisplayed ? (\n <ChevronDownIcon size={40} color=\"#848484\" />\n ) : (\n <ChevronRightIcon size={40} color=\"#848484\" />\n )}\n <Flex alignItems=\"center\" gap=\"$4\">\n {icon}\n <Flex gap=\"$1\" flexDirection=\"column\">\n <Text size=\"md\" weight=\"bold\">\n {heading}\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral600\" }}>\n {description}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$12\">\n <Switch\n size=\"md\"\n checked={isEnabled}\n onChange={(value) => handleDashboardField(value, id, type)}\n />\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n size=\"lg\"\n icon={<EllipsisVerticalIcon />}\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent\n css={{ minWidth: 180, zIndex: 10 }}\n sideOffset={4}\n align=\"end\"\n >\n <DropdownMenuItem\n onClick={() => {\n handleEditField({\n type,\n values: fields,\n id\n });\n handleDashboardPage(false, type);\n }}\n >\n <Flex alignItems=\"center\" gap=\"$2\">\n <PencilIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Edit</Text>\n </Flex>\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => deleteFieldHandler(id)}>\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Delete</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n </Flex>\n <Box\n css={{\n height: isMappingDisplayed ? \"100%\" : 0\n }}\n >\n <Box\n css={{\n borderInline: \"$borderWidths$xs solid $black400\",\n maxHeight: 432,\n height: \"100%\",\n position: \"relative\",\n overflow: \"auto\"\n }}\n >\n {fields?.length ? (\n <Table css={{ borderCollapse: \"collapse\", width: \"100%\" }}>\n <Thead\n css={{\n background: \"$white900\",\n \"& th\": {\n padding: \"$7 $8\",\n fontSize: \"$sm\",\n lineHeight: \"$sm\",\n textAlign: \"left\",\n borderInline: \"none\"\n },\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n position: \"sticky\",\n top: 0,\n zIndex: 10\n }}\n >\n <Th css={{ paddingLeft: \"$38 !important\" }}>Type</Th>\n <Th>SurveySparrow Field</Th>\n <Th>{`${integrationName} Field`}</Th>\n <Th css={{ paddingRight: \"$20 !important\" }}>Default Value</Th>\n </Thead>\n <Tbody\n css={{\n \"& tr:last-child\": {\n borderBottom: 0\n }\n }}\n >\n {fields.map((field: any) => {\n return (\n <Tr\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n \"& td\": {\n padding: \"$7 $8\",\n fontSize: \"$sm\",\n lineHeight: \"$sm\",\n borderInline: \"none\"\n },\n \"& td:first-child\": {\n paddingLeft: \"$38 !important\"\n },\n \"& td:last-child\": {\n paddingRight: \"$20 !important\"\n }\n }}\n >\n <Td>{field.mappedType?.label}</Td>\n <Td>{field.surveySparrowField?.label}</Td>\n <Td>{field.integrationField?.label}</Td>\n <Td>{getDefaultFieldValue(field.defaultValue)}</Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n ) : null}\n </Box>\n {isMappingDisplayed && (\n <Box\n css={{\n padding: \"$8 $32\",\n border: \"$borderWidths$xs solid $black400\",\n borderRadius: \"0 0 $2xl $2xl\",\n height: \"100%\"\n }}\n >\n <Button\n size=\"sm\"\n onClick={() => {\n handleEditField({\n type,\n values: fields,\n id\n });\n handleDashboardPage(false, type);\n }}\n leftIcon={<PencilIcon />}\n color={\"primary\"}\n variant=\"ghost\"\n >\n {`Edit ${heading}`}\n </Button>\n </Box>\n )}\n </Box>\n </Flex>\n );\n};\n\nconst DropdownItem = ({\n icon,\n heading,\n description,\n onClickHandler,\n isDisabled\n}: {\n icon: ReactNode;\n heading: string;\n description: string;\n onClickHandler: () => void;\n isDisabled: boolean;\n}) => {\n return (\n <DropdownMenuItem\n css={{ cursor: isDisabled ? \"not-allowed\" : \"pointer\" }}\n onClick={onClickHandler}\n disabled={isDisabled}\n >\n <Flex alignItems=\"flex-start\" gap=\"$4\">\n <Box css={{ width: \"$6\" }}>{icon}</Box>\n <Flex flexDirection=\"column\">\n <Text size=\"md\">{heading}</Text>\n <Text size=\"sm\" css={{ color: \"$neutral700\" }}>\n {description}\n </Text>\n </Flex>\n </Flex>\n </DropdownMenuItem>\n );\n};\n"],"names":["Flex","Box","Heading","Text","Button","PlusIcon","DropdownMenu","DropdownMenuTrigger","ChevronDownIcon","DropdownMenuContent","CursorIcon","MappingIcon","Tabs","TabsList","TabsTrigger","TabsContent","useState","_a","field","operatorOptions","ChevronRightIcon","Switch","IconButton","EllipsisVerticalIcon","DropdownMenuItem","PencilIcon","DeleteIcon","parse","useRef","Tooltip","Chip","dayjs","Table","Thead","Th","Tbody","Tr","Td"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dashboard.js","sources":["../../../../src/integration-template/components/dashboard.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Chip,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Flex,\n Heading,\n IconButton,\n Switch,\n Table,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Tbody,\n Td,\n Text,\n Th,\n Thead,\n Tooltip,\n Tr\n} from \"@sparrowengg/twigs-react\";\nimport {\n ChevronDownIcon,\n ChevronRightIcon,\n DeleteIcon,\n EllipsisVerticalIcon,\n PencilIcon,\n PlusIcon\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { ReactNode, useRef, useState } from \"react\";\nimport CursorIcon from \"../../commons/icons/cursor\";\nimport MappingIcon from \"../../commons/icons/mapping\";\nimport dayjs from \"dayjs\";\nimport parse from \"html-react-parser\";\nimport { operatorOptions } from \"../../commons/constants\";\nimport \"./style.css\";\n\nconst Dashboard = ({\n integrationName,\n dashboardDescription,\n mappingFields,\n triggerFields,\n hasMultiAccounts,\n handleConfigurationType,\n handleEditField,\n handleDashboardPage,\n handleDashboardField,\n deleteFieldHandler\n}: {\n integrationName: string;\n dashboardDescription: string;\n mappingFields: {\n type: string;\n fields: Array<any>;\n };\n triggerFields: Array<any>;\n hasMultiAccounts: boolean;\n handleConfigurationType: (type: string) => void;\n handleEditField: (field: any) => void;\n handleDashboardPage: (value: boolean, type: string) => void;\n handleDashboardField: (\n value: boolean,\n id: string | number,\n type: string\n ) => void;\n deleteFieldHandler: (id?: string | number) => void;\n}) => {\n const isSingleAccountMappingCompleted =\n !hasMultiAccounts && !!mappingFields?.fields.length;\n const isSingleAccountTriggerCompleted =\n !hasMultiAccounts && !!triggerFields?.length;\n return (\n <Flex justifyContent=\"center\">\n <Box css={{ maxWidth: \"1120px\", width: \"100%\" }}>\n <Flex\n css={{ marginTop: \"$40\" }}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Flex flexDirection=\"column\" gap=\"$2\">\n <Heading size=\"h5\">{integrationName}</Heading>\n <Text size=\"sm\" css={{ color: \"$neutral600\" }}>\n {dashboardDescription}\n </Text>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$4\">\n {hasMultiAccounts && (\n <Button size=\"lg\" color=\"default\" leftIcon={<PlusIcon />}>\n Add Account\n </Button>\n )}\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button size=\"lg\" rightIcon={<ChevronDownIcon />}>\n Add New\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n sideOffset={4}\n align=\"start\"\n css={{ maxWidth: 240, zIndex: 10 }}\n >\n <DropdownItem\n icon={<CursorIcon size={24} color=\"#6A6A6A\" />}\n heading={\"Trigger\"}\n description=\"Trigger the Survey when a record is created/updated\"\n isDisabled={isSingleAccountTriggerCompleted}\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n <DropdownItem\n icon={<MappingIcon size={24} color=\"#6A6A6A\" />}\n heading={\"Mapping\"}\n isDisabled={isSingleAccountMappingCompleted}\n description={`Create/Update record in ${integrationName} from survey responses`}\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n </Flex>\n {hasMultiAccounts ? (\n <MultiAccountDashboard\n mappingFields={mappingFields}\n triggerFields={triggerFields}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n handleConfigurationType={handleConfigurationType}\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ) : (\n <SingleAccountDashboard\n mappingFields={mappingFields}\n triggerFields={triggerFields}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n )}\n </Box>\n </Flex>\n );\n};\n\nexport default Dashboard;\n\nconst MultiAccountDashboard = ({\n mappingFields,\n triggerFields,\n integrationName,\n handleDashboardPage,\n handleEditField,\n handleConfigurationType,\n handleDashboardField,\n deleteFieldHandler\n}: any) => {\n return (\n <>\n <Tabs defaultValue=\"ALL\">\n <TabsList\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n marginTop: \"$16\",\n \"& button\": { color: \"$neutral900\" }\n }}\n >\n <TabsTrigger value=\"ALL\">All</TabsTrigger>\n <TabsTrigger value=\"TRIGGER\">Trigger</TabsTrigger>\n <TabsTrigger value=\"MAPPING\">Mapping</TabsTrigger>\n </TabsList>\n <TabsContent\n value=\"ALL\"\n css={{ paddingBlock: \"$12\", paddingInline: 0 }}\n >\n <Flex flexDirection=\"column\" gap=\"$8\">\n {!!triggerFields?.length ? (\n <>\n {triggerFields?.map((field: any) => (\n <DashboardItem\n icon={<CursorIcon size={32} color=\"#56B0BB\" />}\n heading={field.domain ?? field.email}\n id={field.id}\n description={`Trigger survey when an event happens in ${integrationName}`}\n fields={field.fields}\n isEnabled={field.isEnabled}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n type=\"TRIGGER\"\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ))}\n </>\n ) : null}\n {!!mappingFields?.fields?.length ? (\n <>\n {mappingFields?.fields?.map((field: any) => (\n <>\n {mappingFields.type === \"MULTI_MAPPING\" ? (\n <DashboardItem\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading={field.domain ?? field.email}\n id={field.id}\n description={`Sync survey responses to ${integrationName}`}\n fields={field.fields}\n isEnabled={field.isEnabled}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n type=\"MAPPING\"\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ) : (\n <SingleMappingDashboardItem\n field={field}\n key={field.id}\n integrationName={integrationName}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n handleEditField={handleEditField}\n handleDashboardPage={handleDashboardPage}\n handleDashboardField={handleDashboardField}\n />\n )}\n </>\n ))}\n </>\n ) : null}\n </Flex>\n </TabsContent>\n <TabsContent\n value=\"TRIGGER\"\n css={{ paddingBlock: \"$12\", paddingInline: 0 }}\n >\n {!!triggerFields?.length ? (\n <Flex flexDirection=\"column\" gap=\"$8\">\n {triggerFields?.map((field: any) => (\n <DashboardItem\n icon={<CursorIcon size={32} color=\"#56B0BB\" />}\n heading=\"Trigger\"\n id={field.id}\n description={`Trigger survey when an event happens in ${integrationName}`}\n fields={field.fields}\n isEnabled={field.isEnabled}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n type=\"TRIGGER\"\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ))}\n </Flex>\n ) : (\n <MultiAccountFallback\n title=\"Trigger\"\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n )}\n </TabsContent>\n <TabsContent\n value=\"MAPPING\"\n css={{ paddingBlock: \"$12\", paddingInline: 0 }}\n >\n {!!mappingFields?.fields?.length ? (\n <>\n <Flex flexDirection=\"column\" gap=\"$8\">\n {mappingFields?.fields?.map((field: any) => (\n <>\n {mappingFields.type === \"MULTI_MAPPING\" ? (\n <DashboardItem\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading=\"Mapping\"\n id={field.id}\n description={`Sync survey responses to ${integrationName}`}\n fields={field.fields}\n isEnabled={field.isEnabled}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n type=\"MAPPING\"\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ) : (\n <SingleMappingDashboardItem\n field={field}\n key={field.id}\n integrationName={integrationName}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n handleEditField={handleEditField}\n handleDashboardPage={handleDashboardPage}\n handleDashboardField={handleDashboardField}\n />\n )}\n </>\n ))}\n </Flex>\n </>\n ) : (\n <MultiAccountFallback\n title=\"Mapping\"\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n )}\n </TabsContent>\n </Tabs>\n </>\n );\n};\n\nconst MultiAccountFallback = ({\n title,\n onClickHandler\n}: {\n title: string;\n onClickHandler: () => void;\n}) => {\n return (\n <Flex\n justifyContent=\"center\"\n flexDirection=\"column\"\n alignItems=\"center\"\n css={{ paddingTop: 182 }}\n >\n <Heading size=\"h5\">{`Zero ${title} Entries`}</Heading>\n <Text\n css={{\n textAlign: \"center\",\n maxWidth: 400,\n marginBlock: \"$4 $12\",\n color: \"$neutral800\"\n }}\n size=\"md\"\n >\n Creating one is as easy as a breeze. Just a click away to get started.\n </Text>\n <Button size=\"lg\" leftIcon={<PlusIcon />} variant=\"outline\">\n {`New ${title}`}\n </Button>\n </Flex>\n );\n};\n\nconst SingleAccountDashboard = ({\n mappingFields,\n triggerFields,\n integrationName,\n handleEditField,\n handleDashboardPage,\n handleDashboardField,\n deleteFieldHandler\n}: any) => {\n\n return (\n <>\n {!!triggerFields?.length ? (\n <Box css={{ marginTop: \"$20\" }}>\n {triggerFields?.map((field: any) => (\n <TriggerDasboardItem\n field={field}\n key={field.id}\n integrationName={integrationName}\n icon={<CursorIcon size={32} color=\"#56B0BB\" />}\n handleEditField={handleEditField}\n handleDashboardPage={handleDashboardPage}\n handleDashboardField={handleDashboardField}\n />\n ))}\n </Box>\n ) : null}\n {!!mappingFields?.fields?.length &&\n mappingFields?.type === \"MULTI_MAPPING\" ? (\n <Box css={{ marginTop: !triggerFields?.length ? \"$20\" : \"$8\" }}>\n {mappingFields?.fields?.map((field: any) => (\n <DashboardItem\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading=\"Mapping\"\n id={field.id}\n description={`Sync survey responses to ${integrationName}`}\n fields={field.fields}\n isEnabled={field.isEnabled}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n type=\"MAPPING\"\n handleDashboardField={handleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ))}\n </Box>\n ) : null}\n {mappingFields?.type !== \"MULTI_MAPPING\" &&\n !!mappingFields?.fields?.length ? (\n <Box css={{ marginTop: !triggerFields?.length ? \"$20\" : \"$8\" }}>\n {mappingFields?.fields?.map((field: any) => (\n <SingleMappingDashboardItem\n field={field}\n key={field.id}\n integrationName={integrationName}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n handleEditField={handleEditField}\n handleDashboardPage={handleDashboardPage}\n handleDashboardField={handleDashboardField}\n />\n ))}\n </Box>\n ) : null}\n </>\n );\n};\n\nconst TriggerDasboardItem = ({\n icon,\n field,\n handleEditField,\n handleDashboardPage,\n handleDashboardField\n}: any) => {\n const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);\n\n const transformDataToString = (data: any) => {\n const filterConditions = data.filters\n .map((filterGroup: any) => {\n return filterGroup.filter\n .map((filter: any) => {\n const field = filter.field;\n const comparator = filter.comparator;\n const value = filter.value;\n const formattedComparator =\n operatorOptions.find((option) => option.value === comparator)\n ?.label || comparator;\n\n return `${field} ${formattedComparator} ${value}`;\n })\n ?.join(\n ` <span class=\"triggerTextBold\">${filterGroup.condition.toLowerCase()}</span> `\n );\n })\n .join(\n ` <span class=\"triggerTextBold\">${data.condition.toLowerCase() === \"or\" ? \"Or\" : \"And\"} When,</span> `\n );\n\n return `<p class=\"triggerText\"><span class=\"triggerTextBold\">When</span> ${filterConditions}</p>`;\n };\n\n return (\n <Flex\n flexDirection=\"column\"\n css={{ width: \"100%\", height: \"100%\", overflow: \"auto\" }}\n >\n <Flex\n css={{\n border: isMappingDisplayed\n ? \"$borderWidths$xs solid $black400\"\n : \"$borderWidths$xs solid $neutral200\",\n borderRadius: isMappingDisplayed ? \"$2xl $2xl 0 0\" : \"$2xl\",\n padding: \"$10 $12\",\n width: \"100%\",\n backgroundColor: isMappingDisplayed\n ? \"rgba(100, 116, 139, 0.04)\"\n : \"$white900\"\n }}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ cursor: \"pointer\" }}\n onClick={() => setIsMappingDisplayed(!isMappingDisplayed)}\n >\n {isMappingDisplayed ? (\n <ChevronDownIcon size={40} color=\"#848484\" />\n ) : (\n <ChevronRightIcon size={40} color=\"#848484\" />\n )}\n <Flex alignItems=\"center\" gap=\"$4\">\n {icon}\n <Flex gap=\"$1\" flexDirection=\"column\">\n <Text size=\"md\" weight=\"bold\">\n {field?.email ?? \"Trigger\"}\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral600\" }}>\n {field?.description ?? \"Sample description\"}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$12\">\n <Switch\n size=\"md\"\n checked={field.isEnabled}\n onChange={(value) =>\n handleDashboardField(value, field.id, \"TRIGGER\")\n }\n />\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n size=\"lg\"\n icon={<EllipsisVerticalIcon />}\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent\n css={{ minWidth: 180, zIndex: 10 }}\n sideOffset={4}\n align=\"end\"\n >\n <DropdownMenuItem\n onClick={() => {\n handleEditField({\n type: \"TRIGGER\",\n values: field,\n id: field.id\n });\n handleDashboardPage(false, \"TRIGGER\");\n }}\n >\n <Flex alignItems=\"center\" gap=\"$2\">\n <PencilIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Edit</Text>\n </Flex>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Delete</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n </Flex>\n <Box\n css={{\n height: isMappingDisplayed ? \"100%\" : 0\n }}\n >\n <Box\n css={{\n borderInline: \"$borderWidths$xs solid $black400\",\n maxHeight: 734,\n height: \"100%\",\n position: \"relative\",\n overflow: \"auto\",\n padding: \"$16 $36\"\n }}\n >\n <SingleMappingEventWrapper isTrigger field={field} />\n {field?.fields?.filters?.length ? (\n <>\n {\" \"}\n <Flex\n flexDirection=\"column\"\n gap=\"$6\"\n css={{ paddingBlock: \"$8\" }}\n >\n <Text\n size=\"sm\"\n weight=\"bold\"\n css={{ textTransform: \"uppercase\" }}\n >\n CONDITION\n </Text>\n {parse(transformDataToString(field.fields))}\n </Flex>\n <Box\n css={{\n marginBlock: \"$4\",\n height: \"1px\",\n background: \"$neutral100\"\n }}\n />\n </>\n ) : null}\n {field?.triggerDetails?.variables?.length ? (\n <SingleMappingChipWrapper\n heading=\"PASSING VARIABLE TO SURVEY\"\n fields={field.triggerDetails.variables}\n backgroundColor=\"$positive100\"\n />\n ) : null}\n <>\n <Flex flexDirection=\"column\" gap=\"$6\" css={{ paddingBlock: \"$8\" }}>\n <Text size=\"sm\" weight=\"bold\">\n SEND SURVEY\n </Text>\n <Flex alignItems=\"center\">\n {field?.triggerDetails?.shareType?.value ? (\n <EventComponent\n heading=\"Share Type:\"\n description={field?.triggerDetails?.shareType?.label}\n />\n ) : null}\n {field?.triggerDetails?.shareRecipient?.value ? (\n <EventComponent\n heading=\"Recipient:\"\n hasBorder\n description={field?.triggerDetails?.shareRecipient?.label}\n />\n ) : null}\n {field?.triggerDetails?.shareChannel?.value ? (\n <EventComponent\n hasBorder\n heading=\"Share Channel:\"\n description={field?.triggerDetails?.shareChannel?.label}\n />\n ) : null}\n </Flex>\n </Flex>\n </>\n </Box>\n {isMappingDisplayed && (\n <Box\n css={{\n padding: \"$8 $32\",\n border: \"$borderWidths$xs solid $black400\",\n borderTop: \"$borderWidths$xs solid $neutral200\",\n borderRadius: \"0 0 $2xl $2xl\",\n height: \"100%\"\n }}\n >\n <Button\n size=\"sm\"\n leftIcon={<PencilIcon />}\n color={\"primary\"}\n variant=\"ghost\"\n onClick={() => {\n handleEditField({\n type: \"TRIGGER\",\n values: field,\n id: field.id\n });\n handleDashboardPage(false, \"TRIGGER\");\n }}\n >\n Edit Triggers\n </Button>\n </Box>\n )}\n </Box>\n </Flex>\n );\n};\n\nconst SingleMappingDashboardItem = ({\n icon,\n field,\n handleEditField,\n handleDashboardPage,\n handleDashboardField\n}: any) => {\n // { icon: string, heading: string, description: string, isEnabled: boolean }\n const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);\n\n return (\n <Flex\n flexDirection=\"column\"\n css={{ width: \"100%\", height: \"100%\", overflow: \"auto\" }}\n >\n <Flex\n css={{\n border: isMappingDisplayed\n ? \"$borderWidths$xs solid $black400\"\n : \"$borderWidths$xs solid $neutral200\",\n borderRadius: isMappingDisplayed ? \"$2xl $2xl 0 0\" : \"$2xl\",\n padding: \"$10 $12\",\n width: \"100%\",\n backgroundColor: isMappingDisplayed\n ? \"rgba(100, 116, 139, 0.04)\"\n : \"$white900\"\n }}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ cursor: \"pointer\" }}\n onClick={() => setIsMappingDisplayed(!isMappingDisplayed)}\n >\n {isMappingDisplayed ? (\n <ChevronDownIcon size={40} color=\"#848484\" />\n ) : (\n <ChevronRightIcon size={40} color=\"#848484\" />\n )}\n <Flex alignItems=\"center\" gap=\"$4\">\n {icon}\n <Flex gap=\"$1\" flexDirection=\"column\">\n <Text size=\"md\" weight=\"bold\">\n {field?.email ?? \"Mapping\"}\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral600\" }}>\n {field?.description ?? \"Sample description\"}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$12\">\n <Switch\n size=\"md\"\n checked={field.isEnabled}\n onChange={(value) =>\n handleDashboardField(value, field.id, \"MAPPING\")\n }\n />\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n size=\"lg\"\n icon={<EllipsisVerticalIcon />}\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent\n css={{ minWidth: 180, zIndex: 10 }}\n sideOffset={4}\n align=\"end\"\n >\n <DropdownMenuItem\n onClick={() => {\n handleEditField({\n type: \"SINGLE_MAPPING\",\n values: field,\n id: field.id\n });\n handleDashboardPage(false, \"MAPPING\");\n }}\n >\n <Flex alignItems=\"center\" gap=\"$2\">\n <PencilIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Edit</Text>\n </Flex>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Delete</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n </Flex>\n <Box\n css={{\n height: isMappingDisplayed ? \"100%\" : 0\n }}\n >\n <Box\n css={{\n borderInline: \"$borderWidths$xs solid $black400\",\n maxHeight: 734,\n height: \"100%\",\n position: \"relative\",\n overflow: \"auto\",\n padding: \"$16 $36\"\n }}\n >\n <SingleMappingEventWrapper field={field} />\n {!!field.questions ? (\n <SingleMappingChipWrapper\n heading=\"Questions\"\n fields={field.questions}\n backgroundColor=\"#E5F2FF\"\n />\n ) : null}\n {!!field.variables ? (\n <SingleMappingChipWrapper\n heading=\"Variables\"\n placeholder=\"$\"\n fields={field.variables}\n backgroundColor=\"$positive100\"\n />\n ) : null}\n {!!field.contactProperties ? (\n <SingleMappingChipWrapper\n heading=\"Contacts\"\n placeholder=\"$\"\n fields={field.contactProperties}\n backgroundColor=\"$negative100\"\n />\n ) : null}\n {!!field.expressions ? (\n <SingleMappingChipWrapper\n heading=\"Expression\"\n backgroundColor=\"$neutral100\"\n fields={field.expressions}\n />\n ) : null}\n {!!field.property ? (\n <SingleMappingChipWrapper\n heading=\"Property\"\n hideBorder\n fields={field.property}\n backgroundColor=\"rgba(74, 156, 166, 0.15)\"\n />\n ) : null}\n </Box>\n {isMappingDisplayed && (\n <Box\n css={{\n padding: \"$8 $32\",\n border: \"$borderWidths$xs solid $black400\",\n borderTop: \"$borderWidths$xs solid $neutral200\",\n borderRadius: \"0 0 $2xl $2xl\",\n height: \"100%\"\n }}\n >\n <Button\n size=\"sm\"\n leftIcon={<PencilIcon />}\n color={\"primary\"}\n variant=\"ghost\"\n onClick={() => {\n handleEditField({\n type: \"SINGLE_MAPPING\",\n values: field,\n id: field.id\n });\n handleDashboardPage(false, \"MAPPING\");\n }}\n >\n Edit Mapping\n </Button>\n </Box>\n )}\n </Box>\n </Flex>\n );\n};\nconst EventComponent = ({\n heading,\n description,\n hasBorder\n}: {\n heading: string;\n description: string;\n hasBorder?: boolean;\n}) => {\n return (\n <Flex alignItems=\"center\">\n {hasBorder && (\n <Box css={{ paddingInline: \"$3\" }}>\n <Box\n css={{\n height: \"$3\",\n width: \"1px\",\n background: \"$neutral200\",\n marginInline: \"$4\"\n }}\n />\n </Box>\n )}\n <Flex gap=\"$2\">\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n {heading}\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n {description}\n </Text>\n </Flex>\n </Flex>\n );\n};\n\nconst SingleMappingEventWrapper = ({\n field,\n isTrigger\n}: {\n field: any;\n isTrigger?: boolean;\n}) => {\n const hasEventSection =\n !!field.email ||\n !!field.action ||\n !!field.exisitingSheet ||\n (!!field.object && isTrigger);\n\n return (\n <>\n {hasEventSection ? (\n <Flex flexDirection=\"column\" gap=\"$6\">\n <Text size=\"sm\" weight=\"bold\" css={{ textTransform: \"uppercase\" }}>\n Event\n </Text>\n <Flex alignItems=\"center\">\n {!!field.email ? (\n <EventComponent heading=\"Account:\" description={field.email} />\n ) : null}\n {!!field.object ? (\n <EventComponent\n heading=\"Object:\"\n description={field.object.toLowerCase()}\n />\n ) : null}\n {!!field.action ? (\n <EventComponent\n hasBorder\n heading=\"Action:\"\n description={field.action}\n />\n ) : null}\n {!!field.exisitingSheet ? (\n <EventComponent\n hasBorder\n heading=\"Existing Sheet:\"\n description={field.exisitingSheet}\n />\n ) : null}\n </Flex>\n <Box\n css={{\n marginBlock: \"$4\",\n height: \"1px\",\n background: \"$neutral100\"\n }}\n />\n </Flex>\n ) : null}\n </>\n );\n};\n\nconst SingleMappingChipWrapper = ({\n heading,\n fields,\n hideBorder,\n placeholder,\n backgroundColor\n}: {\n heading: string;\n fields: {};\n hideBorder?: boolean;\n placeholder?: string;\n backgroundColor: string;\n}) => {\n const modifiedFields = Object.values(fields).filter(\n (field: any) => field.id !== \"ALL\"\n );\n return (\n <>\n <Flex flexDirection=\"column\" gap=\"$6\" css={{ paddingBlock: \"$8\" }}>\n <Text size=\"sm\" weight=\"bold\" css={{ textTransform: \"uppercase\" }}>\n {heading}\n </Text>\n <Flex\n wrap=\"wrap\"\n css={{\n columnGap: \"$2\",\n rowGap: \"$4\",\n \"& > * \": { fontFamily: \"Roboto Mono !important\" }\n }}\n >\n {modifiedFields.map((field: any) => {\n const chipRef = useRef(null);\n const name = `${!!placeholder ? placeholder : \"\"}${field?.name ?? field?.label}`;\n const currentChipWidth = (chipRef.current as any)?.offsetWidth;\n return (\n <Tooltip\n delayDuration={300}\n content={currentChipWidth >= 248 ? name : \"\"}\n size=\"md\"\n sideOffset={4}\n >\n <Chip\n ref={chipRef}\n size=\"md\"\n css={{\n background: backgroundColor,\n maxWidth: 248,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n display: \"block\"\n }}\n >\n {name}\n </Chip>\n </Tooltip>\n );\n })}\n </Flex>\n </Flex>\n {!hideBorder && (\n <Box\n css={{ marginBlock: \"$4\", height: \"1px\", background: \"$neutral100\" }}\n />\n )}\n </>\n );\n};\n\nconst DashboardItem = ({\n icon,\n heading,\n description,\n fields,\n integrationName,\n isEnabled,\n handleEditField,\n id,\n handleDashboardPage,\n type,\n handleDashboardField,\n deleteFieldHandler\n}: {\n icon: ReactNode;\n heading: string;\n description: string;\n fields: any;\n isEnabled: boolean;\n integrationName: string;\n handleEditField: (field: any) => void;\n id: string | number;\n handleDashboardPage: (value: boolean, type: string) => void;\n type: string;\n handleDashboardField: (\n value: boolean,\n id: string | number,\n type: string\n ) => void;\n deleteFieldHandler: (id: string | number) => void;\n}) => {\n const [isMappingDisplayed, setIsMappingDisplayed] = useState(false);\n\n const getDefaultFieldValue = (defaultValue: {\n type: string;\n value: any | string;\n }) => {\n let field = \"--\";\n switch (defaultValue?.type) {\n case \"DATE_TIME\": {\n field = dayjs(\n `${defaultValue.value.year}-${defaultValue.value.month}-${defaultValue.value.day}`\n ).format(\"D MMM, YYYY\");\n break;\n }\n case \"STRING\": {\n field = defaultValue?.value;\n break;\n }\n default: {\n field = defaultValue?.value?.label;\n break;\n }\n }\n return field;\n };\n\n return (\n <Flex\n flexDirection=\"column\"\n css={{ width: \"100%\", height: \"100%\", overflow: \"auto\" }}\n >\n <Flex\n css={{\n border: isMappingDisplayed\n ? \"$borderWidths$xs solid $black400\"\n : \"$borderWidths$xs solid $neutral200\",\n borderRadius: isMappingDisplayed ? \"$2xl $2xl 0 0\" : \"$2xl\",\n padding: \"$10 $12\",\n width: \"100%\",\n backgroundColor: isMappingDisplayed\n ? \"rgba(100, 116, 139, 0.04)\"\n : \"$white900\"\n }}\n justifyContent=\"space-between\"\n alignItems=\"center\"\n >\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ cursor: \"pointer\" }}\n onClick={() => setIsMappingDisplayed(!isMappingDisplayed)}\n >\n {isMappingDisplayed ? (\n <ChevronDownIcon size={40} color=\"#848484\" />\n ) : (\n <ChevronRightIcon size={40} color=\"#848484\" />\n )}\n <Flex alignItems=\"center\" gap=\"$4\">\n {icon}\n <Flex gap=\"$1\" flexDirection=\"column\">\n <Text size=\"md\" weight=\"bold\">\n {heading}\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral600\" }}>\n {description}\n </Text>\n </Flex>\n </Flex>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$12\">\n <Switch\n size=\"md\"\n checked={isEnabled}\n onChange={(value) => handleDashboardField(value, id, type)}\n />\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n size=\"lg\"\n icon={<EllipsisVerticalIcon />}\n />\n </DropdownMenuTrigger>\n <DropdownMenuContent\n css={{ minWidth: 180, zIndex: 10 }}\n sideOffset={4}\n align=\"end\"\n >\n <DropdownMenuItem\n onClick={() => {\n handleEditField({\n type,\n values: fields,\n id\n });\n handleDashboardPage(false, type);\n }}\n >\n <Flex alignItems=\"center\" gap=\"$2\">\n <PencilIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Edit</Text>\n </Flex>\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => deleteFieldHandler(id)}>\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Delete</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n </Flex>\n <Box\n css={{\n height: isMappingDisplayed ? \"100%\" : 0\n }}\n >\n <Box\n css={{\n borderInline: \"$borderWidths$xs solid $black400\",\n maxHeight: 432,\n height: \"100%\",\n position: \"relative\",\n overflow: \"auto\"\n }}\n >\n {fields?.length ? (\n <Table css={{ borderCollapse: \"collapse\", width: \"100%\" }}>\n <Thead\n css={{\n background: \"$white900\",\n \"& th\": {\n padding: \"$7 $8\",\n fontSize: \"$sm\",\n lineHeight: \"$sm\",\n textAlign: \"left\",\n borderInline: \"none\"\n },\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n position: \"sticky\",\n top: 0,\n zIndex: 10\n }}\n >\n <Th css={{ paddingLeft: \"$38 !important\" }}>Type</Th>\n <Th>SurveySparrow Field</Th>\n <Th>{`${integrationName} Field`}</Th>\n <Th css={{ paddingRight: \"$20 !important\" }}>Default Value</Th>\n </Thead>\n <Tbody\n css={{\n \"& tr:last-child\": {\n borderBottom: 0\n }\n }}\n >\n {fields.map((field: any) => {\n return (\n <Tr\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n \"& td\": {\n padding: \"$7 $8\",\n fontSize: \"$sm\",\n lineHeight: \"$sm\",\n borderInline: \"none\"\n },\n \"& td:first-child\": {\n paddingLeft: \"$38 !important\"\n },\n \"& td:last-child\": {\n paddingRight: \"$20 !important\"\n }\n }}\n >\n <Td>{field.mappedType?.label}</Td>\n <Td>{field.surveySparrowField?.label}</Td>\n <Td>{field.integrationField?.label}</Td>\n <Td>{getDefaultFieldValue(field.defaultValue)}</Td>\n </Tr>\n );\n })}\n </Tbody>\n </Table>\n ) : null}\n </Box>\n {isMappingDisplayed && (\n <Box\n css={{\n padding: \"$8 $32\",\n border: \"$borderWidths$xs solid $black400\",\n borderRadius: \"0 0 $2xl $2xl\",\n height: \"100%\"\n }}\n >\n <Button\n size=\"sm\"\n onClick={() => {\n handleEditField({\n type,\n values: fields,\n id\n });\n handleDashboardPage(false, type);\n }}\n leftIcon={<PencilIcon />}\n color={\"primary\"}\n variant=\"ghost\"\n >\n {`Edit ${heading}`}\n </Button>\n </Box>\n )}\n </Box>\n </Flex>\n );\n};\n\nconst DropdownItem = ({\n icon,\n heading,\n description,\n onClickHandler,\n isDisabled\n}: {\n icon: ReactNode;\n heading: string;\n description: string;\n onClickHandler: () => void;\n isDisabled: boolean;\n}) => {\n return (\n <DropdownMenuItem\n css={{ cursor: isDisabled ? \"not-allowed\" : \"pointer\" }}\n onClick={onClickHandler}\n disabled={isDisabled}\n >\n <Flex alignItems=\"flex-start\" gap=\"$4\">\n <Box css={{ width: \"$6\" }}>{icon}</Box>\n <Flex flexDirection=\"column\">\n <Text size=\"md\">{heading}</Text>\n <Text size=\"sm\" css={{ color: \"$neutral700\" }}>\n {description}\n </Text>\n </Flex>\n </Flex>\n </DropdownMenuItem>\n );\n};\n"],"names":["Flex","Box","Heading","Text","Button","PlusIcon","DropdownMenu","DropdownMenuTrigger","ChevronDownIcon","DropdownMenuContent","CursorIcon","MappingIcon","Tabs","TabsList","TabsTrigger","TabsContent","_a","useState","field","operatorOptions","ChevronRightIcon","Switch","IconButton","EllipsisVerticalIcon","DropdownMenuItem","PencilIcon","DeleteIcon","parse","useRef","Tooltip","Chip","dayjs","Table","Thead","Th","Tbody","Tr","Td"],"mappings":"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"}
|
|
@@ -115,8 +115,8 @@ const IntegrationTemplate = ({
|
|
|
115
115
|
hasMultiAccounts,
|
|
116
116
|
dashboardDescription: "Manage your entities in Dynamics 365 with SurveySparrow Survey",
|
|
117
117
|
integrationName,
|
|
118
|
-
mappingFields: mapping.mappedFields,
|
|
119
|
-
triggerFields: trigger.mappedFields,
|
|
118
|
+
mappingFields: mapping == null ? void 0 : mapping.mappedFields,
|
|
119
|
+
triggerFields: trigger == null ? void 0 : trigger.mappedFields,
|
|
120
120
|
handleConfigurationType: (value) => setCurrentConfigurationType(value),
|
|
121
121
|
handleEditField,
|
|
122
122
|
deleteFieldHandler,
|
|
@@ -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, 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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"}
|