@sparrowengg/integrations-templates-frontend 1.3.3 → 1.3.5

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.
@@ -40,8 +40,6 @@ const Dashboard = ({
40
40
  toggleDashboardField,
41
41
  hasDropdownComponents
42
42
  }) => {
43
- const isSingleAccountMappingCompleted = !hasMultiAccounts && !!(mappingFields == null ? void 0 : mappingFields.fields.length);
44
- const isSingleAccountTriggerCompleted = !hasMultiAccounts && !!(triggerFields == null ? void 0 : triggerFields.length);
45
43
  return /* @__PURE__ */ React.createElement(flex.Flex, { justifyContent: "center" }, /* @__PURE__ */ React.createElement(box.Box, { css: { maxWidth: "1120px", width: "100%" } }, /* @__PURE__ */ React.createElement(
46
44
  flex.Flex,
47
45
  {
@@ -63,7 +61,6 @@ const Dashboard = ({
63
61
  icon: /* @__PURE__ */ React.createElement(cursor.default, { size: 24, color: "#6A6A6A" }),
64
62
  heading: "Trigger",
65
63
  description: "Trigger the Survey when a record is created/updated",
66
- isDisabled: isSingleAccountTriggerCompleted,
67
64
  onClickHandler: () => handleConfigurationType("TRIGGER")
68
65
  }
69
66
  ) : null,
@@ -72,7 +69,6 @@ const Dashboard = ({
72
69
  {
73
70
  icon: /* @__PURE__ */ React.createElement(mapping.default, { size: 24, color: "#6A6A6A" }),
74
71
  heading: "Mapping",
75
- isDisabled: isSingleAccountMappingCompleted,
76
72
  description: `Create/Update record in ${integrationName} from survey responses`,
77
73
  onClickHandler: () => handleConfigurationType("MAPPING")
78
74
  }
@@ -178,7 +174,8 @@ const MultiAccountDashboard = ({
178
174
  icon: /* @__PURE__ */ React.createElement(mapping.default, { size: 32, color: "#56B0BB" }),
179
175
  handleEditField,
180
176
  handleDashboardPage,
181
- toggleDashboardField
177
+ toggleDashboardField,
178
+ deleteFieldHandler
182
179
  }
183
180
  ));
184
181
  })) : null)
@@ -242,7 +239,8 @@ const MultiAccountDashboard = ({
242
239
  icon: /* @__PURE__ */ React.createElement(mapping.default, { size: 32, color: "#56B0BB" }),
243
240
  handleEditField,
244
241
  handleDashboardPage,
245
- toggleDashboardField
242
+ toggleDashboardField,
243
+ deleteFieldHandler
246
244
  }
247
245
  ))))) : /* @__PURE__ */ React.createElement(
248
246
  MultiAccountFallback,
@@ -310,7 +308,8 @@ const SingleAccountDashboard = ({
310
308
  icon: /* @__PURE__ */ React.createElement(cursor.default, { size: 32, color: "#56B0BB" }),
311
309
  handleEditField,
312
310
  handleDashboardPage,
313
- toggleDashboardField
311
+ toggleDashboardField,
312
+ deleteFieldHandler
314
313
  }
315
314
  ))) : 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(
316
315
  DashboardItem,
@@ -337,7 +336,8 @@ const SingleAccountDashboard = ({
337
336
  icon: /* @__PURE__ */ React.createElement(mapping.default, { size: 32, color: "#56B0BB" }),
338
337
  handleEditField,
339
338
  handleDashboardPage,
340
- toggleDashboardField
339
+ toggleDashboardField,
340
+ deleteFieldHandler
341
341
  }
342
342
  ))) : null);
343
343
  };
@@ -346,7 +346,8 @@ const TriggerDasboardItem = ({
346
346
  field,
347
347
  handleEditField,
348
348
  handleDashboardPage,
349
- toggleDashboardField
349
+ toggleDashboardField,
350
+ deleteFieldHandler
350
351
  }) => {
351
352
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
352
353
  const [isMappingDisplayed, setIsMappingDisplayed] = React.useState(false);
@@ -434,7 +435,7 @@ const TriggerDasboardItem = ({
434
435
  },
435
436
  /* @__PURE__ */ React.createElement(flex.Flex, { alignItems: "center", gap: "$2" }, /* @__PURE__ */ React.createElement(pencil.PencilIcon, { color: "#6A6A6A", size: 20 }), /* @__PURE__ */ React.createElement(text.Text, { size: "sm" }, "Edit"))
436
437
  ),
437
- /* @__PURE__ */ React.createElement(dropdown.DropdownMenuItem, null, /* @__PURE__ */ React.createElement(flex.Flex, { alignItems: "center", gap: "$2" }, /* @__PURE__ */ React.createElement(_delete.DeleteIcon, { color: "#6A6A6A", size: 20 }), /* @__PURE__ */ React.createElement(text.Text, { size: "sm" }, "Delete")))
438
+ /* @__PURE__ */ React.createElement(dropdown.DropdownMenuItem, { onClick: () => deleteFieldHandler(field.id) }, /* @__PURE__ */ React.createElement(flex.Flex, { alignItems: "center", gap: "$2" }, /* @__PURE__ */ React.createElement(_delete.DeleteIcon, { color: "#6A6A6A", size: 20 }), /* @__PURE__ */ React.createElement(text.Text, { size: "sm" }, "Delete")))
438
439
  )))
439
440
  ),
440
441
  /* @__PURE__ */ React.createElement(
@@ -552,7 +553,8 @@ const SingleMappingDashboardItem = ({
552
553
  field,
553
554
  handleEditField,
554
555
  handleDashboardPage,
555
- toggleDashboardField
556
+ toggleDashboardField,
557
+ deleteFieldHandler
556
558
  }) => {
557
559
  var _a, _b;
558
560
  const [isMappingDisplayed, setIsMappingDisplayed] = React.useState(false);
@@ -622,7 +624,7 @@ const SingleMappingDashboardItem = ({
622
624
  },
623
625
  /* @__PURE__ */ React.createElement(flex.Flex, { alignItems: "center", gap: "$2" }, /* @__PURE__ */ React.createElement(pencil.PencilIcon, { color: "#6A6A6A", size: 20 }), /* @__PURE__ */ React.createElement(text.Text, { size: "sm" }, "Edit"))
624
626
  ),
625
- /* @__PURE__ */ React.createElement(dropdown.DropdownMenuItem, null, /* @__PURE__ */ React.createElement(flex.Flex, { alignItems: "center", gap: "$2" }, /* @__PURE__ */ React.createElement(_delete.DeleteIcon, { color: "#6A6A6A", size: 20 }), /* @__PURE__ */ React.createElement(text.Text, { size: "sm" }, "Delete")))
627
+ /* @__PURE__ */ React.createElement(dropdown.DropdownMenuItem, { onClick: () => deleteFieldHandler(field.id) }, /* @__PURE__ */ React.createElement(flex.Flex, { alignItems: "center", gap: "$2" }, /* @__PURE__ */ React.createElement(_delete.DeleteIcon, { color: "#6A6A6A", size: 20 }), /* @__PURE__ */ React.createElement(text.Text, { size: "sm" }, "Delete")))
626
628
  )))
627
629
  ),
628
630
  /* @__PURE__ */ React.createElement(
@@ -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 deleteFieldHandler,\n toggleDashboardField,\n hasDropdownComponents\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 toggleDashboardField?: (id?: string | number) => void;\n deleteFieldHandler?: (id?: string | number) => void;\n hasDropdownComponents: {\n mapping: boolean;\n trigger: boolean;\n };\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 {hasDropdownComponents.trigger ? (\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 ) : null}\n {hasDropdownComponents.mapping ? (\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 ) : null}\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 toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ) : (\n <SingleAccountDashboard\n mappingFields={mappingFields}\n triggerFields={triggerFields}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n toggleDashboardField={toggleDashboardField}\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 toggleDashboardField,\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 toggleDashboardField={toggleDashboardField}\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 toggleDashboardField={toggleDashboardField}\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 toggleDashboardField={toggleDashboardField}\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 toggleDashboardField={toggleDashboardField}\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 toggleDashboardField={toggleDashboardField}\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 toggleDashboardField={toggleDashboardField}\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\n size=\"lg\"\n leftIcon={<PlusIcon />}\n variant=\"outline\"\n onClick={onClickHandler}\n >\n {`New ${title}`}\n </Button>\n </Flex>\n );\n};\n\nconst SingleAccountDashboard = ({\n mappingFields,\n triggerFields,\n integrationName,\n handleEditField,\n handleDashboardPage,\n toggleDashboardField,\n deleteFieldHandler\n}: any) => {\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 toggleDashboardField={toggleDashboardField}\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 toggleDashboardField={toggleDashboardField}\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 toggleDashboardField={toggleDashboardField}\n />\n ))}\n </Box>\n ) : null}\n </>\n );\n};\n\nconst TriggerDasboardItem = ({\n icon,\n field,\n handleEditField,\n handleDashboardPage,\n toggleDashboardField\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) => toggleDashboardField(field.id, value)}\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 toggleDashboardField\n}: any) => {\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) => toggleDashboardField(field.id, value)}\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 toggleDashboardField,\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 toggleDashboardField: (id: string | number, status: boolean) => 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 flexDirection=\"column\">\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) => toggleDashboardField(id, value)}\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 \"& td\": {\n borderBottom: 0\n }\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>\n {getDefaultFieldValue(field.defaultValue) ?? \"--\"}\n </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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"}
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 deleteFieldHandler,\n toggleDashboardField,\n hasDropdownComponents\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 toggleDashboardField?: (id?: string | number) => void;\n deleteFieldHandler?: (id?: string | number) => void;\n hasDropdownComponents: {\n mapping: boolean;\n trigger: boolean;\n };\n}) => {\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 {hasDropdownComponents.trigger ? (\n <DropdownItem\n icon={<CursorIcon size={24} color=\"#6A6A6A\" />}\n heading={\"Trigger\"}\n description=\"Trigger the Survey when a record is created/updated\"\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n ) : null}\n {hasDropdownComponents.mapping ? (\n <DropdownItem\n icon={<MappingIcon size={24} color=\"#6A6A6A\" />}\n heading={\"Mapping\"}\n description={`Create/Update record in ${integrationName} from survey responses`}\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n ) : null}\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 toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ) : (\n <SingleAccountDashboard\n mappingFields={mappingFields}\n triggerFields={triggerFields}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n toggleDashboardField={toggleDashboardField}\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 toggleDashboardField,\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 toggleDashboardField={toggleDashboardField}\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 toggleDashboardField={toggleDashboardField}\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 toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\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 toggleDashboardField={toggleDashboardField}\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 toggleDashboardField={toggleDashboardField}\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 toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\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\n size=\"lg\"\n leftIcon={<PlusIcon />}\n variant=\"outline\"\n onClick={onClickHandler}\n >\n {`New ${title}`}\n </Button>\n </Flex>\n );\n};\n\nconst SingleAccountDashboard = ({\n mappingFields,\n triggerFields,\n integrationName,\n handleEditField,\n handleDashboardPage,\n toggleDashboardField,\n deleteFieldHandler\n}: any) => {\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 toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\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 toggleDashboardField={toggleDashboardField}\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 toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ))}\n </Box>\n ) : null}\n </>\n );\n};\n\nconst TriggerDasboardItem = ({\n icon,\n field,\n handleEditField,\n handleDashboardPage,\n toggleDashboardField,\n deleteFieldHandler\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) => toggleDashboardField(field.id, value)}\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 onClick={() => deleteFieldHandler(field.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: 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 toggleDashboardField,\n deleteFieldHandler\n}: any) => {\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) => toggleDashboardField(field.id, value)}\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 onClick={() => deleteFieldHandler(field.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: 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 toggleDashboardField,\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 toggleDashboardField: (id: string | number, status: boolean) => 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 flexDirection=\"column\">\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) => toggleDashboardField(id, value)}\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 \"& td\": {\n borderBottom: 0\n }\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>\n {getDefaultFieldValue(field.defaultValue) ?? \"--\"}\n </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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"}
@@ -138,7 +138,7 @@ const EventSetup = ({
138
138
  button.Button,
139
139
  {
140
140
  size: "lg",
141
- disabled: !actions.value && !events.value || !accounts.value,
141
+ disabled: !actions.value && !events.value,
142
142
  rightIcon: /* @__PURE__ */ React.createElement(chevronRight.ChevronRightIcon, null),
143
143
  css: { marginTop: "$16" },
144
144
  onClick: () => navigateMappingPage()
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/mapping/index.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Text,\n ThemeProvider\n} from \"@sparrowengg/twigs-react\";\nimport {\n ArrowLeftIcon,\n ChevronRightIcon\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState } from \"react\";\nimport Arrow from \"../commons/icons/arrow\";\nimport { Mapping as FieldMapping } from \"./components/mapping\";\nimport { surveySparrowURL } from \"../commons/constants\";\nimport { CustomListFieldType, FieldType, OldResponseFieldType } from \"./types\";\n\ntype FieldMappingPropsType = {\n surveyDetails: {\n surveyName: string;\n surveyId: string | number;\n };\n integrationName: string;\n fields: Array<FieldType>;\n setFields: React.Dispatch<React.SetStateAction<Array<FieldType>>>;\n integrationFields: any;\n setIntegrationFields: React.Dispatch<React.SetStateAction<any>>;\n apiURL: string;\n token: string;\n accounts: {\n hasAccounts: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n events: {\n hasEvents: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n actions: {\n hasActions: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n isMappingPage: boolean;\n navigateMappingPage: (value?: boolean) => void;\n customList: CustomListFieldType;\n oldResponse: OldResponseFieldType;\n hasPreviousMapping: boolean;\n onSaveHandler: () => void;\n editField: any;\n previousMappingHandler: (value?: boolean) => void;\n onDeleteHandler?: (id: string | number) => void;\n};\n\nexport const Mapping = ({\n surveyDetails,\n integrationName,\n fields,\n setFields,\n integrationFields,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n accounts,\n events,\n actions,\n isMappingPage,\n navigateMappingPage,\n customList,\n oldResponse,\n hasPreviousMapping,\n onSaveHandler,\n editField,\n previousMappingHandler\n}: FieldMappingPropsType) => {\n\n const [previousMapping, setPreviousMapping] = useState(hasPreviousMapping ?? false);\n\n useEffect(() => {\n if (!!editField?.id) {\n navigateMappingPage(true);\n setFields(editField.fieldValues);\n setPreviousMapping(true);\n }\n }, []);\n\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: \"DM Sans, Roboto Mono, sans-serif\",\n heading: \"DM Sans, Roboto Mono, sans-serif\"\n }\n }}\n >\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n <MappingHeader\n hasPreviousMapping={previousMapping}\n isMappingPage={isMappingPage}\n fields={fields}\n editFieldId={editField?.id}\n onSaveHandler={onSaveHandler}\n navigateEventPage={() => navigateMappingPage(false)}\n previousMappingHandler={previousMappingHandler}\n />\n {!isMappingPage ? (\n <EventSetup\n surveyDetails={surveyDetails}\n accounts={accounts}\n events={events}\n actions={actions}\n navigateMappingPage={navigateMappingPage}\n />\n ) : (\n <FieldMapping\n fields={fields}\n setFields={setFields}\n surveyDetails={surveyDetails}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n surveyId={surveyDetails.surveyId}\n token={token}\n apiURL={apiURL}\n integrationName={integrationName}\n customList={customList}\n oldResponse={oldResponse}\n />\n )}\n </Box>\n </ThemeProvider>\n );\n};\n\ntype EventSetupProps = {\n surveyDetails: {\n surveyName: string;\n surveyId: number | string;\n };\n accounts: {\n hasAccounts: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n events: {\n hasEvents: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n actions: {\n hasActions: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n navigateMappingPage: (value?: boolean) => void;\n};\n\nconst EventSetup = ({\n surveyDetails,\n accounts,\n events,\n actions,\n navigateMappingPage\n}: EventSetupProps) => {\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n <Heading size=\"h5\">Account Details</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Account\n </FormLabel>\n <Select\n value={accounts.value}\n options={accounts.options}\n placeholder=\"\"\n onChange={(value) => accounts.onChangeHandler(value)}\n size=\"lg\"\n />\n </Flex>\n )}\n {events?.hasEvents && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Object\n </FormLabel>\n <Select\n options={events.options}\n value={events.value}\n placeholder=\"\"\n onChange={(value) => events.onChangeHandler(value)}\n size=\"lg\"\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Action\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actions.value}\n placeholder=\"\"\n onChange={(value) => actions.onChangeHandler(value)}\n />\n </Flex>\n )}\n </Flex>\n <Button\n size=\"lg\"\n disabled={!actions.value && !events.value || !accounts.value}\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n onClick={() => navigateMappingPage()}\n >\n Continue, Mapping\n </Button>\n </Box>\n </Flex>\n );\n};\n\ntype MappingHeaderProps = {\n hasPreviousMapping: boolean;\n isMappingPage: boolean;\n fields: Array<FieldType>;\n navigateEventPage: () => void;\n onSaveHandler: (editFieldId?: string | number) => void;\n previousMappingHandler: (value?: boolean) => void;\n editFieldId: string | number;\n};\n\nconst MappingHeader = ({\n hasPreviousMapping,\n isMappingPage,\n fields,\n navigateEventPage,\n onSaveHandler,\n previousMappingHandler,\n editFieldId\n}: MappingHeaderProps) => {\n \n const hasAllValues = (field: FieldType) => {\n return (\n field?.surveySparrowField !== null &&\n field?.integrationField !== null &&\n field?.integrationFieldType !== null\n );\n };\n\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\"\n }}\n >\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasPreviousMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton onClick={() => previousMappingHandler()} color=\"default\" icon={<ArrowLeftIcon />} size=\"lg\" />\n <Heading size=\"h6\">New Mapping</Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" }\n }}\n >\n <Button\n css={{ color: !isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={() => isMappingPage && navigateEventPage()}\n >\n Event Setup\n </Button>\n <Arrow />\n <Button\n css={{ color: isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n >\n Mapping\n </Button>\n </Flex>\n <Button\n size=\"lg\"\n disabled={!fields.some(hasAllValues)}\n onClick={() => onSaveHandler(editFieldId)}\n css={{ visibility: isMappingPage ? \"visible\" : \"hidden\" }}\n >\n Save Mapping\n </Button>\n </Flex>\n );\n};\n"],"names":["surveySparrowURL","useState","useEffect","ThemeProvider","Box","FieldMapping","Flex","Heading","Text","FormLabel","Select","Button","ChevronRightIcon","IconButton","ArrowLeftIcon","Arrow"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/mapping/index.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Text,\n ThemeProvider\n} from \"@sparrowengg/twigs-react\";\nimport {\n ArrowLeftIcon,\n ChevronRightIcon\n} from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState } from \"react\";\nimport Arrow from \"../commons/icons/arrow\";\nimport { Mapping as FieldMapping } from \"./components/mapping\";\nimport { surveySparrowURL } from \"../commons/constants\";\nimport { CustomListFieldType, FieldType, OldResponseFieldType } from \"./types\";\n\ntype FieldMappingPropsType = {\n surveyDetails: {\n surveyName: string;\n surveyId: string | number;\n };\n integrationName: string;\n fields: Array<FieldType>;\n setFields: React.Dispatch<React.SetStateAction<Array<FieldType>>>;\n integrationFields: any;\n setIntegrationFields: React.Dispatch<React.SetStateAction<any>>;\n apiURL: string;\n token: string;\n accounts: {\n hasAccounts: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n events: {\n hasEvents: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n actions: {\n hasActions: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n isMappingPage: boolean;\n navigateMappingPage: (value?: boolean) => void;\n customList: CustomListFieldType;\n oldResponse: OldResponseFieldType;\n hasPreviousMapping: boolean;\n onSaveHandler: () => void;\n editField: any;\n previousMappingHandler: (value?: boolean) => void;\n onDeleteHandler?: (id: string | number) => void;\n};\n\nexport const Mapping = ({\n surveyDetails,\n integrationName,\n fields,\n setFields,\n integrationFields,\n setIntegrationFields,\n apiURL = surveySparrowURL,\n token,\n accounts,\n events,\n actions,\n isMappingPage,\n navigateMappingPage,\n customList,\n oldResponse,\n hasPreviousMapping,\n onSaveHandler,\n editField,\n previousMappingHandler\n}: FieldMappingPropsType) => {\n\n const [previousMapping, setPreviousMapping] = useState(hasPreviousMapping ?? false);\n\n useEffect(() => {\n if (!!editField?.id) {\n navigateMappingPage(true);\n setFields(editField.fieldValues);\n setPreviousMapping(true);\n }\n }, []);\n\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: \"DM Sans, Roboto Mono, sans-serif\",\n heading: \"DM Sans, Roboto Mono, sans-serif\"\n }\n }}\n >\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n <MappingHeader\n hasPreviousMapping={previousMapping}\n isMappingPage={isMappingPage}\n fields={fields}\n editFieldId={editField?.id}\n onSaveHandler={onSaveHandler}\n navigateEventPage={() => navigateMappingPage(false)}\n previousMappingHandler={previousMappingHandler}\n />\n {!isMappingPage ? (\n <EventSetup\n surveyDetails={surveyDetails}\n accounts={accounts}\n events={events}\n actions={actions}\n navigateMappingPage={navigateMappingPage}\n />\n ) : (\n <FieldMapping\n fields={fields}\n setFields={setFields}\n surveyDetails={surveyDetails}\n integrationFields={integrationFields}\n setIntegrationFields={setIntegrationFields}\n surveyId={surveyDetails.surveyId}\n token={token}\n apiURL={apiURL}\n integrationName={integrationName}\n customList={customList}\n oldResponse={oldResponse}\n />\n )}\n </Box>\n </ThemeProvider>\n );\n};\n\ntype EventSetupProps = {\n surveyDetails: {\n surveyName: string;\n surveyId: number | string;\n };\n accounts: {\n hasAccounts: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n events: {\n hasEvents: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n actions: {\n hasActions: boolean;\n options: Array<any>;\n value: { label: string; value: string } | null | boolean;\n onChangeHandler: (value: any) => void;\n };\n navigateMappingPage: (value?: boolean) => void;\n};\n\nconst EventSetup = ({\n surveyDetails,\n accounts,\n events,\n actions,\n navigateMappingPage\n}: EventSetupProps) => {\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n <Heading size=\"h5\">Account Details</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n Survey Name:\n </Text>\n <Text size=\"sm\" css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Account\n </FormLabel>\n <Select\n value={accounts.value}\n options={accounts.options}\n placeholder=\"\"\n onChange={(value) => accounts.onChangeHandler(value)}\n size=\"lg\"\n />\n </Flex>\n )}\n {events?.hasEvents && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Object\n </FormLabel>\n <Select\n options={events.options}\n value={events.value}\n placeholder=\"\"\n onChange={(value) => events.onChangeHandler(value)}\n size=\"lg\"\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Action\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actions.value}\n placeholder=\"\"\n onChange={(value) => actions.onChangeHandler(value)}\n />\n </Flex>\n )}\n </Flex>\n <Button\n size=\"lg\"\n disabled={!actions.value && !events.value}\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n onClick={() => navigateMappingPage()}\n >\n Continue, Mapping\n </Button>\n </Box>\n </Flex>\n );\n};\n\ntype MappingHeaderProps = {\n hasPreviousMapping: boolean;\n isMappingPage: boolean;\n fields: Array<FieldType>;\n navigateEventPage: () => void;\n onSaveHandler: (editFieldId?: string | number) => void;\n previousMappingHandler: (value?: boolean) => void;\n editFieldId: string | number;\n};\n\nconst MappingHeader = ({\n hasPreviousMapping,\n isMappingPage,\n fields,\n navigateEventPage,\n onSaveHandler,\n previousMappingHandler,\n editFieldId\n}: MappingHeaderProps) => {\n \n const hasAllValues = (field: FieldType) => {\n return (\n field?.surveySparrowField !== null &&\n field?.integrationField !== null &&\n field?.integrationFieldType !== null\n );\n };\n\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\"\n }}\n >\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasPreviousMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton onClick={() => previousMappingHandler()} color=\"default\" icon={<ArrowLeftIcon />} size=\"lg\" />\n <Heading size=\"h6\">New Mapping</Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" }\n }}\n >\n <Button\n css={{ color: !isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={() => isMappingPage && navigateEventPage()}\n >\n Event Setup\n </Button>\n <Arrow />\n <Button\n css={{ color: isMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n >\n Mapping\n </Button>\n </Flex>\n <Button\n size=\"lg\"\n disabled={!fields.some(hasAllValues)}\n onClick={() => onSaveHandler(editFieldId)}\n css={{ visibility: isMappingPage ? \"visible\" : \"hidden\" }}\n >\n Save Mapping\n </Button>\n </Flex>\n );\n};\n"],"names":["surveySparrowURL","useState","useEffect","ThemeProvider","Box","FieldMapping","Flex","Heading","Text","FormLabel","Select","Button","ChevronRightIcon","IconButton","ArrowLeftIcon","Arrow"],"mappings":"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"}