@sparrowengg/integrations-templates-frontend 1.4.0 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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 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\", marginTop: \"$8\" }}\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\n {isMappingDisplayed && (\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 )}\n\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 </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\n flexDirection=\"column\"\n css={{\n marginTop: \"$8\",\n }}\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) => 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":["React","_a","field"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,MAAM,YAAY,CAAC;AAAA,EACjB,eAAA;AAAA,EACA,oBAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,gBAAA;AAAA,EACA,uBAAA;AAAA,EACA,eAAA;AAAA,EACA,mBAAA;AAAA,EACA,kBAAA;AAAA,EACA,oBAAA;AAAA,EACA,qBAAA;AACF,CAkBM,KAAA;AACJ,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,cAAe,EAAA,QAAA,EAAA,kBAClBA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,GAAK,EAAA,EAAE,QAAU,EAAA,QAAA,EAAU,KAAO,EAAA,MAAA,EACrC,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,MACxB,cAAe,EAAA,eAAA;AAAA,MACf,UAAW,EAAA,QAAA;AAAA,KAAA;AAAA,oBAEXA,cAAA,CAAA,aAAA,CAAC,QAAK,aAAc,EAAA,QAAA,EAAS,KAAI,IAC/B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,OAAQ,EAAA,EAAA,IAAA,EAAK,IAAM,EAAA,EAAA,eAAgB,mBACnCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,MAAK,IAAK,EAAA,GAAA,EAAK,EAAE,KAAO,EAAA,aAAA,EAC3B,EAAA,EAAA,oBACH,CACF,CAAA;AAAA,oBACCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,UAAW,EAAA,QAAA,EAAS,KAAI,IAC3B,EAAA,EAAA,gBAAA,oBACEA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,MAAK,IAAK,EAAA,KAAA,EAAM,SAAU,EAAA,QAAA,+CAAW,QAAS,EAAA,IAAA,CAAA,EAAA,EAAI,aAE1D,CAAA,+CAED,YACC,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,mBAAoB,EAAA,EAAA,OAAA,EAAO,wBACzBA,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAO,IAAK,EAAA,IAAA,EAAK,2BAAYA,cAAA,CAAA,aAAA,CAAA,eAAA,EAAA,IAAgB,CAAI,EAAA,EAAA,SAElD,CACF,CACA,kBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,mBAAA;AAAA,MAAA;AAAA,QACC,UAAY,EAAA,CAAA;AAAA,QACZ,KAAM,EAAA,OAAA;AAAA,QACN,GAAK,EAAA,EAAE,QAAU,EAAA,GAAA,EAAK,QAAQ,EAAG,EAAA;AAAA,OAAA;AAAA,MAEhC,sBAAsB,OACrB,mBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,YAAA;AAAA,QAAA;AAAA,UACC,sBAAOA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,UAC5C,OAAS,EAAA,SAAA;AAAA,UACT,WAAY,EAAA,qDAAA;AAAA,UACZ,cAAA,EAAgB,MAAM,uBAAA,CAAwB,SAAS,CAAA;AAAA,SAAA;AAAA,OAEvD,GAAA,IAAA;AAAA,MACH,sBAAsB,OACrB,mBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,YAAA;AAAA,QAAA;AAAA,UACC,sBAAOA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,UAC7C,OAAS,EAAA,SAAA;AAAA,UACT,WAAA,EAAa,2BAA2B,eAAe,CAAA,sBAAA,CAAA;AAAA,UACvD,cAAA,EAAgB,MAAM,uBAAA,CAAwB,SAAS,CAAA;AAAA,SAAA;AAAA,OAEvD,GAAA,IAAA;AAAA,KAER,CACF,CAAA;AAAA,KAED,gBACC,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,qBAAA;AAAA,IAAA;AAAA,MACC,aAAA;AAAA,MACA,aAAA;AAAA,MACA,eAAA;AAAA,MACA,mBAAA;AAAA,MACA,eAAA;AAAA,MACA,uBAAA;AAAA,MACA,oBAAA;AAAA,MACA,kBAAA;AAAA,KAAA;AAAA,GAGF,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,sBAAA;AAAA,IAAA;AAAA,MACC,aAAA;AAAA,MACA,aAAA;AAAA,MACA,eAAA;AAAA,MACA,mBAAA;AAAA,MACA,eAAA;AAAA,MACA,oBAAA;AAAA,MACA,kBAAA;AAAA,KAAA;AAAA,GAGN,CACF,CAAA,CAAA;AAEJ,EAAA;AAIA,MAAM,wBAAwB,CAAC;AAAA,EAC7B,aAAA;AAAA,EACA,aAAA;AAAA,EACA,eAAA;AAAA,EACA,mBAAA;AAAA,EACA,eAAA;AAAA,EACA,uBAAA;AAAA,EACA,oBAAA;AAAA,EACA,kBAAA;AACF,CAAW,KAAA;AAjKX,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAkKE,EAAA,uBAEIA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,YAAA,EAAa,KACjB,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA;AAAA,QACH,YAAc,EAAA,oCAAA;AAAA,QACd,SAAW,EAAA,KAAA;AAAA,QACX,UAAA,EAAY,EAAE,KAAA,EAAO,aAAc,EAAA;AAAA,OACrC;AAAA,KAAA;AAAA,oBAECA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,KAAM,EAAA,KAAA,EAAA,EAAM,KAAG,CAAA;AAAA,oBAC3BA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,KAAM,EAAA,SAAA,EAAA,EAAU,SAAO,CAAA;AAAA,oBACnCA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,KAAM,EAAA,SAAA,EAAA,EAAU,SAAO,CAAA;AAAA,GAEtC,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,KAAM,EAAA,KAAA;AAAA,MACN,GAAK,EAAA,EAAE,YAAc,EAAA,KAAA,EAAO,eAAe,CAAE,EAAA;AAAA,KAAA;AAAA,oBAE5CA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,aAAc,EAAA,QAAA,EAAS,KAAI,IAC9B,EAAA,EAAA,CAAC,EAAC,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,MAChB,CAAA,mBAAAA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EACG,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,GAAA,CAAI,CAAC,KAAY,KAAA;AAvLjD,MAAAC,IAAAA,GAAAA,CAAAA;AAwLkB,MAAA,uBAAAD,cAAA,CAAA,aAAA;AAAA,QAAC,aAAA;AAAA,QAAA;AAAA,UACC,sBAAOA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,UAC5C,UAASC,GAAA,GAAA,KAAA,CAAM,MAAN,KAAA,IAAA,GAAAA,MAAgB,KAAM,CAAA,KAAA;AAAA,UAC/B,IAAI,KAAM,CAAA,EAAA;AAAA,UACV,WAAA,EAAa,2CAA2C,eAAe,CAAA,CAAA;AAAA,UACvE,QAAQ,KAAM,CAAA,MAAA;AAAA,UACd,WAAW,KAAM,CAAA,SAAA;AAAA,UACjB,eAAA;AAAA,UACA,mBAAA;AAAA,UACA,eAAA;AAAA,UACA,IAAK,EAAA,SAAA;AAAA,UACL,oBAAA;AAAA,UACA,kBAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,KAAA,CAEJ,CACE,GAAA,IAAA,EACH,CAAC,EAAA,CAAC,oDAAe,MAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAuB,MACxB,CAAA,mBAAAD,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EAAA,CACG,EAAe,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,MAAA,KAAf,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,CAAI,CAAC,KAAY,KAAA;AA3MzD,MAAAC,IAAAA,GAAAA,CAAAA;AA4MkB,MACG,uBAAAD,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EAAA,aAAA,CAAc,SAAS,eACtB,mBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,aAAA;AAAA,QAAA;AAAA,UACC,sBAAOA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,UAC7C,UAASC,GAAA,GAAA,KAAA,CAAM,MAAN,KAAA,IAAA,GAAAA,MAAgB,KAAM,CAAA,KAAA;AAAA,UAC/B,IAAI,KAAM,CAAA,EAAA;AAAA,UACV,WAAA,EAAa,4BAA4B,eAAe,CAAA,CAAA;AAAA,UACxD,QAAQ,KAAM,CAAA,MAAA;AAAA,UACd,WAAW,KAAM,CAAA,SAAA;AAAA,UACjB,eAAA;AAAA,UACA,mBAAA;AAAA,UACA,eAAA;AAAA,UACA,IAAK,EAAA,SAAA;AAAA,UACL,oBAAA;AAAA,UACA,kBAAA;AAAA,SAAA;AAAA,OAGF,mBAAAD,cAAA,CAAA,aAAA;AAAA,QAAC,0BAAA;AAAA,QAAA;AAAA,UACC,KAAA;AAAA,UACA,KAAK,KAAM,CAAA,EAAA;AAAA,UACX,eAAA;AAAA,UACA,sBAAOA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,UAC7C,eAAA;AAAA,UACA,mBAAA;AAAA,UACA,oBAAA;AAAA,UACA,kBAAA;AAAA,SAAA;AAAA,OAGN,CAAA,CAAA;AAAA,KAAA,CAEJ,IACE,IACN,CAAA;AAAA,GAEF,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,KAAM,EAAA,SAAA;AAAA,MACN,GAAK,EAAA,EAAE,YAAc,EAAA,KAAA,EAAO,eAAe,CAAE,EAAA;AAAA,KAAA;AAAA,IAE5C,CAAC,EAAC,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,MAAA,CAAA,mBACfA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,aAAc,EAAA,QAAA,EAAS,GAAI,EAAA,IAAA,EAAA,EAC9B,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,GAAA,CAAI,CAAC,KACnB,qBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,sBAAOA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,QAC5C,OAAQ,EAAA,SAAA;AAAA,QACR,IAAI,KAAM,CAAA,EAAA;AAAA,QACV,WAAA,EAAa,2CAA2C,eAAe,CAAA,CAAA;AAAA,QACvE,QAAQ,KAAM,CAAA,MAAA;AAAA,QACd,WAAW,KAAM,CAAA,SAAA;AAAA,QACjB,eAAA;AAAA,QACA,mBAAA;AAAA,QACA,eAAA;AAAA,QACA,IAAK,EAAA,SAAA;AAAA,QACL,oBAAA;AAAA,QACA,kBAAA;AAAA,OAAA;AAAA,MAGN,CAEA,mBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,oBAAA;AAAA,MAAA;AAAA,QACC,KAAM,EAAA,SAAA;AAAA,QACN,cAAA,EAAgB,MAAM,uBAAA,CAAwB,SAAS,CAAA;AAAA,OAAA;AAAA,KACzD;AAAA,GAGJ,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,KAAM,EAAA,SAAA;AAAA,MACN,GAAK,EAAA,EAAE,YAAc,EAAA,KAAA,EAAO,eAAe,CAAE,EAAA;AAAA,KAAA;AAAA,IAE5C,CAAC,GAAC,EAAe,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,MAAA,KAAf,mBAAuB,MACxB,CAAA,mBAAAA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,kBACGA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,aAAc,EAAA,QAAA,EAAS,KAAI,IAC9B,EAAA,EAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,WAAf,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,CAAI,CAAC,KAC3B,qBAAAA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EACG,aAAc,CAAA,IAAA,KAAS,eACtB,mBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,sBAAOA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,QAC7C,OAAQ,EAAA,SAAA;AAAA,QACR,IAAI,KAAM,CAAA,EAAA;AAAA,QACV,WAAA,EAAa,4BAA4B,eAAe,CAAA,CAAA;AAAA,QACxD,QAAQ,KAAM,CAAA,MAAA;AAAA,QACd,WAAW,KAAM,CAAA,SAAA;AAAA,QACjB,eAAA;AAAA,QACA,mBAAA;AAAA,QACA,eAAA;AAAA,QACA,IAAK,EAAA,SAAA;AAAA,QACL,oBAAA;AAAA,QACA,kBAAA;AAAA,OAAA;AAAA,KAGF,mBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,0BAAA;AAAA,MAAA;AAAA,QACC,KAAA;AAAA,QACA,KAAK,KAAM,CAAA,EAAA;AAAA,QACX,eAAA;AAAA,QACA,sBAAOA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,QAC7C,eAAA;AAAA,QACA,mBAAA;AAAA,QACA,oBAAA;AAAA,QACA,kBAAA;AAAA,OAAA;AAAA,KAGN,CAEJ,CAAA,CACF,CAEA,mBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,oBAAA;AAAA,MAAA;AAAA,QACC,KAAM,EAAA,SAAA;AAAA,QACN,cAAA,EAAgB,MAAM,uBAAA,CAAwB,SAAS,CAAA;AAAA,OAAA;AAAA,KACzD;AAAA,GAGN,CACF,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,uBAAuB,CAAC;AAAA,EAC5B,KAAA;AAAA,EACA,cAAA;AACF,CAGM,KAAA;AACJ,EACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,cAAe,EAAA,QAAA;AAAA,MACf,aAAc,EAAA,QAAA;AAAA,MACd,UAAW,EAAA,QAAA;AAAA,MACX,GAAA,EAAK,EAAE,UAAA,EAAY,GAAI,EAAA;AAAA,KAAA;AAAA,iDAEtB,OAAQ,EAAA,EAAA,IAAA,EAAK,IAAM,EAAA,EAAA,CAAA,KAAA,EAAQ,KAAK,CAAW,QAAA,CAAA,CAAA;AAAA,oBAC5CA,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA;AAAA,UACH,SAAW,EAAA,QAAA;AAAA,UACX,QAAU,EAAA,GAAA;AAAA,UACV,WAAa,EAAA,QAAA;AAAA,UACb,KAAO,EAAA,aAAA;AAAA,SACT;AAAA,QACA,IAAK,EAAA,IAAA;AAAA,OAAA;AAAA,MACN,wEAAA;AAAA,KAED;AAAA,oBACAA,cAAA,CAAA,aAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,IAAK,EAAA,IAAA;AAAA,QACL,QAAA,+CAAW,QAAS,EAAA,IAAA,CAAA;AAAA,QACpB,OAAQ,EAAA,SAAA;AAAA,QACR,OAAS,EAAA,cAAA;AAAA,OAAA;AAAA,MAER,OAAO,KAAK,CAAA,CAAA;AAAA,KACf;AAAA,GACF,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,yBAAyB,CAAC;AAAA,EAC9B,aAAA;AAAA,EACA,aAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,mBAAA;AAAA,EACA,oBAAA;AAAA,EACA,kBAAA;AACF,CAAW,KAAA;AA9WX,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AA+WE,EAAA,uBAEKA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EAAA,CAAC,EAAC,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,0BACfA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,GAAK,EAAA,EAAE,WAAW,KAAM,EAAA,EAAA,EAC1B,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,GAAA,CAAI,CAAC,KACnB,qBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,mBAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,KAAK,KAAM,CAAA,EAAA;AAAA,MACX,eAAA;AAAA,MACA,sBAAOA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,MAC5C,eAAA;AAAA,MACA,mBAAA;AAAA,MACA,oBAAA;AAAA,MACA,kBAAA;AAAA,KAAA;AAAA,GAGN,CAAA,CAAA,GACE,IACH,EAAA,CAAC,EAAC,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,MAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAuB,MAC1B,CAAA,IAAA,CAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,IAAS,MAAA,eAAA,mBACrBA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,GAAK,EAAA,EAAE,SAAW,EAAA,EAAC,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,MAAA,CAAA,GAAS,KAAQ,GAAA,IAAA,EACrD,EAAA,EAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,MAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAuB,GAAI,CAAA,CAAC,KAC3B,qBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,sBAAOA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,MAC7C,OAAQ,EAAA,SAAA;AAAA,MACR,IAAI,KAAM,CAAA,EAAA;AAAA,MACV,WAAA,EAAa,4BAA4B,eAAe,CAAA,CAAA;AAAA,MACxD,QAAQ,KAAM,CAAA,MAAA;AAAA,MACd,WAAW,KAAM,CAAA,SAAA;AAAA,MACjB,eAAA;AAAA,MACA,mBAAA;AAAA,MACA,eAAA;AAAA,MACA,IAAK,EAAA,SAAA;AAAA,MACL,oBAAA;AAAA,MACA,kBAAA;AAAA,KAAA;AAAA,GAGN,CAAA,CAAA,GACE,IACH,EAAA,CAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,IAAS,MAAA,eAAA,IACzB,CAAC,EAAA,CAAC,EAAe,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,MAAA,KAAf,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA,mBACtBA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,GAAK,EAAA,EAAE,SAAW,EAAA,EAAC,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,MAAA,CAAA,GAAS,KAAQ,GAAA,IAAA,EACrD,EAAA,EAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,MAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAuB,GAAI,CAAA,CAAC,KAC3B,qBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,0BAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,KAAK,KAAM,CAAA,EAAA;AAAA,MACX,eAAA;AAAA,MACA,sBAAOA,cAAA,CAAA,aAAA,CAAA,WAAA,EAAA,EAAY,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,MAC7C,eAAA;AAAA,MACA,mBAAA;AAAA,MACA,oBAAA;AAAA,MACA,kBAAA;AAAA,KAAA;AAAA,GACF,CAEJ,IACE,IACN,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,sBAAsB,CAAC;AAAA,EAC3B,IAAA;AAAA,EACA,KAAA;AAAA,EACA,eAAA;AAAA,EACA,mBAAA;AAAA,EACA,oBAAA;AAAA,EACA,kBAAA;AACF,CAAW,KAAA;AAlbX,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAmbE,EAAA,MAAM,CAAC,kBAAA,EAAoB,qBAAqB,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAElE,EAAM,MAAA,qBAAA,GAAwB,CAAC,IAAc,KAAA;AAC3C,IAAA,MAAM,gBAAmB,GAAA,IAAA,CAAK,OAC3B,CAAA,GAAA,CAAI,CAAC,WAAqB,KAAA;AAvbjC,MAAAC,IAAAA,GAAAA,CAAAA;AAwbQ,MAAA,OAAA,CAAOA,GAAA,GAAA,WAAA,CAAY,MAChB,CAAA,GAAA,CAAI,CAAC,MAAgB,KAAA;AAzbhC,QAAAA,IAAAA,GAAAA,CAAAA;AA0bY,QAAA,MAAMC,SAAQ,MAAO,CAAA,KAAA,CAAA;AACrB,QAAA,MAAM,aAAa,MAAO,CAAA,UAAA,CAAA;AAC1B,QAAA,MAAM,QAAQ,MAAO,CAAA,KAAA,CAAA;AACrB,QAAA,MAAM,mBACJD,GAAAA,CAAAA,CAAAA,GAAAA,GAAA,eAAgB,CAAA,IAAA,CAAK,CAAC,MAAA,KAAW,MAAO,CAAA,KAAA,KAAU,UAAU,CAAA,KAA5D,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CACI,KAAS,KAAA,UAAA,CAAA;AAEf,QAAA,OAAO,CAAGC,EAAAA,MAAK,CAAI,CAAA,EAAA,mBAAmB,IAAI,KAAK,CAAA,CAAA,CAAA;AAAA,OAChD,CAVI,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAD,GAWH,CAAA,IAAA;AAAA,QACA,CAAkC,+BAAA,EAAA,WAAA,CAAY,SAAU,CAAA,WAAA,EAAa,CAAA,QAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAE1E,CACA,CAAA,IAAA;AAAA,MACC,kCAAkC,IAAK,CAAA,SAAA,CAAU,aAAkB,KAAA,IAAA,GAAO,OAAO,KAAK,CAAA,cAAA,CAAA;AAAA,KACxF,CAAA;AAEF,IAAA,OAAO,oEAAoE,gBAAgB,CAAA,IAAA,CAAA,CAAA;AAAA,GAC7F,CAAA;AAEA,EACE,uBAAAD,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,aAAc,EAAA,QAAA;AAAA,MACd,GAAA,EAAK,EAAE,KAAO,EAAA,MAAA,EAAQ,QAAQ,MAAQ,EAAA,QAAA,EAAU,MAAQ,EAAA,SAAA,EAAW,IAAK,EAAA;AAAA,KAAA;AAAA,oBAExEA,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA;AAAA,UACH,MAAA,EAAQ,qBACJ,kCACA,GAAA,oCAAA;AAAA,UACJ,YAAA,EAAc,qBAAqB,eAAkB,GAAA,MAAA;AAAA,UACrD,OAAS,EAAA,SAAA;AAAA,UACT,KAAO,EAAA,MAAA;AAAA,UACP,eAAA,EAAiB,qBACb,2BACA,GAAA,WAAA;AAAA,SACN;AAAA,QACA,cAAe,EAAA,eAAA;AAAA,QACf,UAAW,EAAA,QAAA;AAAA,OAAA;AAAA,sBAEXA,cAAA,CAAA,aAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,UAAW,EAAA,QAAA;AAAA,UACX,GAAI,EAAA,IAAA;AAAA,UACJ,GAAA,EAAK,EAAE,MAAA,EAAQ,SAAU,EAAA;AAAA,UACzB,OAAS,EAAA,MAAM,qBAAsB,CAAA,CAAC,kBAAkB,CAAA;AAAA,SAAA;AAAA,QAEvD,kBACC,mBAAAA,cAAA,CAAA,aAAA,CAAC,eAAgB,EAAA,EAAA,IAAA,EAAM,EAAI,EAAA,KAAA,EAAM,SAAU,EAAA,CAAA,mBAE1CA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,EAAiB,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,qDAE7C,IAAK,EAAA,EAAA,UAAA,EAAW,QAAS,EAAA,GAAA,EAAI,QAC3B,IACD,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,GAAA,EAAI,MAAK,aAAc,EAAA,QAAA,EAAA,+CAC1B,IAAK,EAAA,EAAA,IAAA,EAAK,MAAK,MAAO,EAAA,MAAA,EAAA,EAAA,CACpB,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,KAAA,KAAP,YAAgB,SACnB,CAAA,kBACCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,MAAK,IAAK,EAAA,GAAA,EAAK,EAAE,KAAA,EAAO,eAC3B,EAAA,EAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,gBAAP,IAAsB,GAAA,EAAA,GAAA,oBACzB,CACF,CACF,CAAA;AAAA,OACF;AAAA,sBACCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,UAAW,EAAA,QAAA,EAAS,KAAI,KAC5B,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,IAAA;AAAA,UACL,SAAS,KAAM,CAAA,SAAA;AAAA,UACf,UAAU,CAAC,KAAA,KAAU,oBAAqB,CAAA,KAAA,CAAM,IAAI,KAAK,CAAA;AAAA,SAAA;AAAA,yBAE1DA,cAAA,CAAA,aAAA,CAAA,YAAA,EAAA,IAAA,kBACEA,cAAA,CAAA,aAAA,CAAA,mBAAA,EAAA,EAAoB,SAAO,IAC1B,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACC,OAAQ,EAAA,OAAA;AAAA,UACR,KAAM,EAAA,SAAA;AAAA,UACN,IAAK,EAAA,IAAA;AAAA,UACL,IAAA,+CAAO,oBAAqB,EAAA,IAAA,CAAA;AAAA,SAAA;AAAA,OAEhC,CACA,kBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,mBAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA,EAAE,QAAU,EAAA,GAAA,EAAK,QAAQ,EAAG,EAAA;AAAA,UACjC,UAAY,EAAA,CAAA;AAAA,UACZ,KAAM,EAAA,KAAA;AAAA,SAAA;AAAA,wBAENA,cAAA,CAAA,aAAA;AAAA,UAAC,gBAAA;AAAA,UAAA;AAAA,YACC,SAAS,MAAM;AACb,cAAgB,eAAA,CAAA;AAAA,gBACd,IAAM,EAAA,SAAA;AAAA,gBACN,MAAQ,EAAA,KAAA;AAAA,gBACR,IAAI,KAAM,CAAA,EAAA;AAAA,eACX,CAAA,CAAA;AACD,cAAA,mBAAA,CAAoB,OAAO,SAAS,CAAA,CAAA;AAAA,aACtC;AAAA,WAAA;AAAA,uDAEC,IAAK,EAAA,EAAA,UAAA,EAAW,UAAS,GAAI,EAAA,IAAA,EAAA,+CAC3B,UAAW,EAAA,EAAA,KAAA,EAAM,SAAU,EAAA,IAAA,EAAM,IAAI,CACtC,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,IAAK,EAAA,IAAA,EAAA,EAAK,MAAI,CACtB,CAAA;AAAA,SACF;AAAA,wBACAA,cAAA,CAAA,aAAA,CAAC,gBAAiB,EAAA,EAAA,OAAA,EAAS,MAAM,kBAAA,CAAmB,KAAM,CAAA,EAAE,CAC1D,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,UAAA,EAAW,QAAS,EAAA,GAAA,EAAI,IAC5B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,KAAA,EAAM,SAAU,EAAA,IAAA,EAAM,EAAI,EAAA,CAAA,kBACrCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,IAAK,EAAA,IAAA,EAAA,EAAK,QAAM,CACxB,CACF,CAAA;AAAA,OAEJ,CACF,CAAA;AAAA,KACF;AAAA,IAEC,kBACC,oBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA;AAAA,UACH,YAAc,EAAA,kCAAA;AAAA,UACd,SAAW,EAAA,GAAA;AAAA,UACX,MAAQ,EAAA,MAAA;AAAA,UACR,QAAU,EAAA,UAAA;AAAA,UACV,QAAU,EAAA,MAAA;AAAA,UACV,OAAS,EAAA,SAAA;AAAA,SACX;AAAA,OAAA;AAAA,sBAECA,cAAA,CAAA,aAAA,CAAA,yBAAA,EAAA,EAA0B,SAAS,EAAA,IAAA,EAAC,KAAc,EAAA,CAAA;AAAA,MAAA,CAAA,CAClD,0CAAO,MAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,YAAf,IAAwB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,gFAEpB,GACD,kBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,aAAc,EAAA,QAAA;AAAA,UACd,GAAI,EAAA,IAAA;AAAA,UACJ,GAAA,EAAK,EAAE,YAAA,EAAc,IAAK,EAAA;AAAA,SAAA;AAAA,wBAE1BA,cAAA,CAAA,aAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,IAAK,EAAA,IAAA;AAAA,YACL,MAAO,EAAA,MAAA;AAAA,YACP,GAAA,EAAK,EAAE,aAAA,EAAe,WAAY,EAAA;AAAA,WAAA;AAAA,UACnC,WAAA;AAAA,SAED;AAAA,QACC,KAAM,CAAA,qBAAA,CAAsB,KAAM,CAAA,MAAM,CAAC,CAAA;AAAA,OAE5C,kBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA;AAAA,YACH,WAAa,EAAA,IAAA;AAAA,YACb,MAAQ,EAAA,KAAA;AAAA,YACR,UAAY,EAAA,aAAA;AAAA,WACd;AAAA,SAAA;AAAA,OAEJ,CACE,GAAA,IAAA;AAAA,MAAA,CAAA,CACH,EAAO,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,cAAA,KAAP,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA,KAAvB,mBAAkC,MACjC,oBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,wBAAA;AAAA,QAAA;AAAA,UACC,OAAQ,EAAA,4BAAA;AAAA,UACR,MAAA,EAAQ,MAAM,cAAe,CAAA,SAAA;AAAA,UAC7B,eAAgB,EAAA,cAAA;AAAA,SAAA;AAAA,OAEhB,GAAA,IAAA;AAAA,sBAEFA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,aAAA,EAAc,QAAS,EAAA,GAAA,EAAI,IAAK,EAAA,GAAA,EAAK,EAAE,YAAA,EAAc,IAAK,EAAA,EAAA,kBAC7DA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,IAAK,EAAA,IAAA,EAAK,MAAO,EAAA,MAAA,EAAA,EAAO,aAE9B,CAAA,kBACCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,UAAW,EAAA,QAAA,EAAA,EAAA,CAAA,CACd,EAAO,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,cAAA,KAAP,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA,KAAvB,mBAAkC,KACjC,oBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,cAAA;AAAA,QAAA;AAAA,UACC,OAAQ,EAAA,aAAA;AAAA,UACR,WAAa,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,cAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAuB,cAAvB,IAAkC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA;AAAA,SAAA;AAAA,UAE/C,IACH,EAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,mBAAP,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAA,KAAvB,mBAAuC,KACtC,oBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,cAAA;AAAA,QAAA;AAAA,UACC,OAAQ,EAAA,YAAA;AAAA,UACR,SAAS,EAAA,IAAA;AAAA,UACT,WAAa,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,cAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAuB,mBAAvB,IAAuC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA;AAAA,SAAA;AAAA,UAEpD,IACH,EAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,mBAAP,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,KAAvB,mBAAqC,KACpC,oBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,cAAA;AAAA,QAAA;AAAA,UACC,SAAS,EAAA,IAAA;AAAA,UACT,OAAQ,EAAA,gBAAA;AAAA,UACR,WAAa,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,cAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAuB,iBAAvB,IAAqC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA;AAAA,SAAA;AAAA,OACpD,GACE,IACN,CACF,CACF,CAAA;AAAA,KACF;AAAA,IAGD,kBACC,oBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA;AAAA,UACH,OAAS,EAAA,QAAA;AAAA,UACT,MAAQ,EAAA,kCAAA;AAAA,UACR,SAAW,EAAA,oCAAA;AAAA,UACX,YAAc,EAAA,eAAA;AAAA,UACd,MAAQ,EAAA,MAAA;AAAA,SACV;AAAA,OAAA;AAAA,sBAEAA,cAAA,CAAA,aAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,IAAA;AAAA,UACL,QAAA,+CAAW,UAAW,EAAA,IAAA,CAAA;AAAA,UACtB,KAAO,EAAA,SAAA;AAAA,UACP,OAAQ,EAAA,OAAA;AAAA,UACR,SAAS,MAAM;AACb,YAAgB,eAAA,CAAA;AAAA,cACd,IAAM,EAAA,SAAA;AAAA,cACN,MAAQ,EAAA,KAAA;AAAA,cACR,IAAI,KAAM,CAAA,EAAA;AAAA,aACX,CAAA,CAAA;AACD,YAAA,mBAAA,CAAoB,OAAO,SAAS,CAAA,CAAA;AAAA,WACtC;AAAA,SAAA;AAAA,QACD,eAAA;AAAA,OAED;AAAA,KACF;AAAA,GAEJ,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,6BAA6B,CAAC;AAAA,EAClC,IAAA;AAAA,EACA,KAAA;AAAA,EACA,eAAA;AAAA,EACA,mBAAA;AAAA,EACA,oBAAA;AAAA,EACA,kBAAA;AACF,CAAW,KAAA;AA3pBX,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA4pBE,EAAA,MAAM,CAAC,kBAAA,EAAoB,qBAAqB,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAElE,EACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,aAAc,EAAA,QAAA;AAAA,MACd,KAAK,EAAE,KAAA,EAAO,QAAQ,MAAQ,EAAA,MAAA,EAAQ,UAAU,MAAO,EAAA;AAAA,KAAA;AAAA,oBAEvDA,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA;AAAA,UACH,MAAA,EAAQ,qBACJ,kCACA,GAAA,oCAAA;AAAA,UACJ,YAAA,EAAc,qBAAqB,eAAkB,GAAA,MAAA;AAAA,UACrD,OAAS,EAAA,SAAA;AAAA,UACT,KAAO,EAAA,MAAA;AAAA,UACP,eAAA,EAAiB,qBACb,2BACA,GAAA,WAAA;AAAA,SACN;AAAA,QACA,cAAe,EAAA,eAAA;AAAA,QACf,UAAW,EAAA,QAAA;AAAA,OAAA;AAAA,sBAEXA,cAAA,CAAA,aAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,UAAW,EAAA,QAAA;AAAA,UACX,GAAI,EAAA,IAAA;AAAA,UACJ,GAAA,EAAK,EAAE,MAAA,EAAQ,SAAU,EAAA;AAAA,UACzB,OAAS,EAAA,MAAM,qBAAsB,CAAA,CAAC,kBAAkB,CAAA;AAAA,SAAA;AAAA,QAEvD,kBACC,mBAAAA,cAAA,CAAA,aAAA,CAAC,eAAgB,EAAA,EAAA,IAAA,EAAM,EAAI,EAAA,KAAA,EAAM,SAAU,EAAA,CAAA,mBAE1CA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,EAAiB,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,qDAE7C,IAAK,EAAA,EAAA,UAAA,EAAW,QAAS,EAAA,GAAA,EAAI,QAC3B,IACD,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,GAAA,EAAI,MAAK,aAAc,EAAA,QAAA,EAAA,+CAC1B,IAAK,EAAA,EAAA,IAAA,EAAK,MAAK,MAAO,EAAA,MAAA,EAAA,EAAA,CACpB,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,KAAA,KAAP,YAAgB,SACnB,CAAA,kBACCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,MAAK,IAAK,EAAA,GAAA,EAAK,EAAE,KAAA,EAAO,eAC3B,EAAA,EAAA,CAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,gBAAP,IAAsB,GAAA,EAAA,GAAA,oBACzB,CACF,CACF,CAAA;AAAA,OACF;AAAA,sBACCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,UAAW,EAAA,QAAA,EAAS,KAAI,KAC5B,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,IAAA;AAAA,UACL,SAAS,KAAM,CAAA,SAAA;AAAA,UACf,UAAU,CAAC,KAAA,KAAU,oBAAqB,CAAA,KAAA,CAAM,IAAI,KAAK,CAAA;AAAA,SAAA;AAAA,yBAE1DA,cAAA,CAAA,aAAA,CAAA,YAAA,EAAA,IAAA,kBACEA,cAAA,CAAA,aAAA,CAAA,mBAAA,EAAA,EAAoB,SAAO,IAC1B,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACC,OAAQ,EAAA,OAAA;AAAA,UACR,KAAM,EAAA,SAAA;AAAA,UACN,IAAK,EAAA,IAAA;AAAA,UACL,IAAA,+CAAO,oBAAqB,EAAA,IAAA,CAAA;AAAA,SAAA;AAAA,OAEhC,CACA,kBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,mBAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA,EAAE,QAAU,EAAA,GAAA,EAAK,QAAQ,EAAG,EAAA;AAAA,UACjC,UAAY,EAAA,CAAA;AAAA,UACZ,KAAM,EAAA,KAAA;AAAA,SAAA;AAAA,wBAENA,cAAA,CAAA,aAAA;AAAA,UAAC,gBAAA;AAAA,UAAA;AAAA,YACC,SAAS,MAAM;AACb,cAAgB,eAAA,CAAA;AAAA,gBACd,IAAM,EAAA,gBAAA;AAAA,gBACN,MAAQ,EAAA,KAAA;AAAA,gBACR,IAAI,KAAM,CAAA,EAAA;AAAA,eACX,CAAA,CAAA;AACD,cAAA,mBAAA,CAAoB,OAAO,SAAS,CAAA,CAAA;AAAA,aACtC;AAAA,WAAA;AAAA,uDAEC,IAAK,EAAA,EAAA,UAAA,EAAW,UAAS,GAAI,EAAA,IAAA,EAAA,+CAC3B,UAAW,EAAA,EAAA,KAAA,EAAM,SAAU,EAAA,IAAA,EAAM,IAAI,CACtC,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,IAAK,EAAA,IAAA,EAAA,EAAK,MAAI,CACtB,CAAA;AAAA,SACF;AAAA,wBACAA,cAAA,CAAA,aAAA,CAAC,gBAAiB,EAAA,EAAA,OAAA,EAAS,MAAM,kBAAA,CAAmB,KAAM,CAAA,EAAE,CAC1D,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,UAAA,EAAW,QAAS,EAAA,GAAA,EAAI,IAC5B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,KAAA,EAAM,SAAU,EAAA,IAAA,EAAM,EAAI,EAAA,CAAA,kBACrCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,IAAK,EAAA,IAAA,EAAA,EAAK,QAAM,CACxB,CACF,CAAA;AAAA,OAEJ,CACF,CAAA;AAAA,KACF;AAAA,oBACAA,cAAA,CAAA,aAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA;AAAA,UACH,MAAA,EAAQ,qBAAqB,MAAS,GAAA,CAAA;AAAA,SACxC;AAAA,OAAA;AAAA,sBAEAA,cAAA,CAAA,aAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA;AAAA,YACH,YAAc,EAAA,kCAAA;AAAA,YACd,SAAW,EAAA,GAAA;AAAA,YACX,MAAQ,EAAA,MAAA;AAAA,YACR,QAAU,EAAA,UAAA;AAAA,YACV,QAAU,EAAA,MAAA;AAAA,YACV,OAAS,EAAA,SAAA;AAAA,WACX;AAAA,SAAA;AAAA,wBAEAA,cAAA,CAAA,aAAA,CAAC,6BAA0B,KAAc,EAAA,CAAA;AAAA,QACxC,CAAC,CAAC,KAAA,CAAM,SACP,mBAAAA,cAAA,CAAA,aAAA;AAAA,UAAC,wBAAA;AAAA,UAAA;AAAA,YACC,OAAQ,EAAA,WAAA;AAAA,YACR,QAAQ,KAAM,CAAA,SAAA;AAAA,YACd,eAAgB,EAAA,SAAA;AAAA,WAAA;AAAA,SAEhB,GAAA,IAAA;AAAA,QACH,CAAC,CAAC,KAAA,CAAM,SACP,mBAAAA,cAAA,CAAA,aAAA;AAAA,UAAC,wBAAA;AAAA,UAAA;AAAA,YACC,OAAQ,EAAA,WAAA;AAAA,YACR,WAAY,EAAA,GAAA;AAAA,YACZ,QAAQ,KAAM,CAAA,SAAA;AAAA,YACd,eAAgB,EAAA,cAAA;AAAA,WAAA;AAAA,SAEhB,GAAA,IAAA;AAAA,QACH,CAAC,CAAC,KAAA,CAAM,iBACP,mBAAAA,cAAA,CAAA,aAAA;AAAA,UAAC,wBAAA;AAAA,UAAA;AAAA,YACC,OAAQ,EAAA,UAAA;AAAA,YACR,WAAY,EAAA,GAAA;AAAA,YACZ,QAAQ,KAAM,CAAA,iBAAA;AAAA,YACd,eAAgB,EAAA,cAAA;AAAA,WAAA;AAAA,SAEhB,GAAA,IAAA;AAAA,QACH,CAAC,CAAC,KAAA,CAAM,WACP,mBAAAA,cAAA,CAAA,aAAA;AAAA,UAAC,wBAAA;AAAA,UAAA;AAAA,YACC,OAAQ,EAAA,YAAA;AAAA,YACR,eAAgB,EAAA,aAAA;AAAA,YAChB,QAAQ,KAAM,CAAA,WAAA;AAAA,WAAA;AAAA,SAEd,GAAA,IAAA;AAAA,QACH,CAAC,CAAC,KAAA,CAAM,QACP,mBAAAA,cAAA,CAAA,aAAA;AAAA,UAAC,wBAAA;AAAA,UAAA;AAAA,YACC,OAAQ,EAAA,UAAA;AAAA,YACR,UAAU,EAAA,IAAA;AAAA,YACV,QAAQ,KAAM,CAAA,QAAA;AAAA,YACd,eAAgB,EAAA,0BAAA;AAAA,WAAA;AAAA,SAEhB,GAAA,IAAA;AAAA,OACN;AAAA,MACC,kBACC,oBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA;AAAA,YACH,OAAS,EAAA,QAAA;AAAA,YACT,MAAQ,EAAA,kCAAA;AAAA,YACR,SAAW,EAAA,oCAAA;AAAA,YACX,YAAc,EAAA,eAAA;AAAA,YACd,MAAQ,EAAA,MAAA;AAAA,WACV;AAAA,SAAA;AAAA,wBAEAA,cAAA,CAAA,aAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,IAAK,EAAA,IAAA;AAAA,YACL,QAAA,+CAAW,UAAW,EAAA,IAAA,CAAA;AAAA,YACtB,KAAO,EAAA,SAAA;AAAA,YACP,OAAQ,EAAA,OAAA;AAAA,YACR,SAAS,MAAM;AACb,cAAgB,eAAA,CAAA;AAAA,gBACd,IAAM,EAAA,gBAAA;AAAA,gBACN,MAAQ,EAAA,KAAA;AAAA,gBACR,IAAI,KAAM,CAAA,EAAA;AAAA,eACX,CAAA,CAAA;AACD,cAAA,mBAAA,CAAoB,OAAO,SAAS,CAAA,CAAA;AAAA,aACtC;AAAA,WAAA;AAAA,UACD,cAAA;AAAA,SAED;AAAA,OACF;AAAA,KAEJ;AAAA,GACF,CAAA;AAEJ,CAAA,CAAA;AACA,MAAM,iBAAiB,CAAC;AAAA,EACtB,OAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AACF,CAIM,KAAA;AACJ,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,UAAA,EAAW,QACd,EAAA,EAAA,SAAA,oBACEA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,GAAK,EAAA,EAAE,aAAe,EAAA,IAAA,EACzB,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA;AAAA,QACH,MAAQ,EAAA,IAAA;AAAA,QACR,KAAO,EAAA,KAAA;AAAA,QACP,UAAY,EAAA,aAAA;AAAA,QACZ,YAAc,EAAA,IAAA;AAAA,OAChB;AAAA,KAAA;AAAA,GAEJ,CAAA,kBAEDA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,GAAI,EAAA,IAAA,EAAA,kBACPA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,IAAK,EAAA,IAAA,EAAK,GAAK,EAAA,EAAE,KAAO,EAAA,aAAA,EAC3B,EAAA,EAAA,OACH,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,GAAA,EAAK,EAAE,KAAA,EAAO,aAAc,EAAA,EAAA,EACzC,WACH,CACF,CACF,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,4BAA4B,CAAC;AAAA,EACjC,KAAA;AAAA,EACA,SAAA;AACF,CAGM,KAAA;AACJ,EAAA,MAAM,kBACJ,CAAC,CAAC,KAAM,CAAA,KAAA,IACR,CAAC,CAAC,KAAA,CAAM,MACR,IAAA,CAAC,CAAC,KAAM,CAAA,cAAA,IACP,CAAC,CAAC,MAAM,MAAU,IAAA,SAAA,CAAA;AAErB,EAAA,mFAEK,eACC,mBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,aAAc,EAAA,QAAA,EAAS,KAAI,IAC/B,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,IAAA,EAAK,MAAK,MAAO,EAAA,MAAA,EAAO,KAAK,EAAE,aAAA,EAAe,aAAe,EAAA,EAAA,OAEnE,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,UAAW,EAAA,QAAA,EAAA,EACd,CAAC,CAAC,KAAA,CAAM,wBACNA,cAAA,CAAA,aAAA,CAAA,cAAA,EAAA,EAAe,SAAQ,UAAW,EAAA,WAAA,EAAa,MAAM,KAAO,EAAA,CAAA,GAC3D,MACH,CAAC,CAAC,MAAM,MACP,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,OAAQ,EAAA,SAAA;AAAA,MACR,WAAA,EAAa,KAAM,CAAA,MAAA,CAAO,WAAY,EAAA;AAAA,KAAA;AAAA,GAEtC,GAAA,IAAA,EACH,CAAC,CAAC,MAAM,MACP,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,SAAS,EAAA,IAAA;AAAA,MACT,OAAQ,EAAA,SAAA;AAAA,MACR,aAAa,KAAM,CAAA,MAAA;AAAA,KAAA;AAAA,GAEnB,GAAA,IAAA,EACH,CAAC,CAAC,MAAM,cACP,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,SAAS,EAAA,IAAA;AAAA,MACT,OAAQ,EAAA,iBAAA;AAAA,MACR,aAAa,KAAM,CAAA,cAAA;AAAA,KAAA;AAAA,GACrB,GACE,IACN,CACA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA;AAAA,QACH,WAAa,EAAA,IAAA;AAAA,QACb,MAAQ,EAAA,KAAA;AAAA,QACR,UAAY,EAAA,aAAA;AAAA,OACd;AAAA,KAAA;AAAA,GAEJ,IACE,IACN,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,2BAA2B,CAAC;AAAA,EAChC,OAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,eAAA;AACF,CAMM,KAAA;AACJ,EAAA,MAAM,cAAiB,GAAA,MAAA,CAAO,MAAO,CAAA,MAAM,CAAE,CAAA,MAAA;AAAA,IAC3C,CAAC,KAAe,KAAA,KAAA,CAAM,EAAO,KAAA,KAAA;AAAA,GAC/B,CAAA;AACA,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,kBACGA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,aAAc,EAAA,QAAA,EAAS,KAAI,IAAK,EAAA,GAAA,EAAK,EAAE,YAAA,EAAc,IAAK,EAAA,EAAA,+CAC7D,IAAK,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,MAAA,EAAO,MAAO,EAAA,GAAA,EAAK,EAAE,aAAe,EAAA,WAAA,EACjD,EAAA,EAAA,OACH,CACA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,MAAA;AAAA,MACL,GAAK,EAAA;AAAA,QACH,SAAW,EAAA,IAAA;AAAA,QACX,MAAQ,EAAA,IAAA;AAAA,QACR,QAAA,EAAU,EAAE,UAAA,EAAY,wBAAyB,EAAA;AAAA,OACnD;AAAA,KAAA;AAAA,IAEC,cAAA,CAAe,GAAI,CAAA,CAAC,KAAe,KAAA;AAx8B9C,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAy8BY,MAAM,MAAA,OAAA,GAAU,OAAO,IAAI,CAAA,CAAA;AAC3B,MAAA,MAAM,IAAO,GAAA,CAAA,EAAG,CAAC,CAAC,WAAc,GAAA,WAAA,GAAc,EAAE,CAAA,EAAA,CAAG,EAAO,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,IAAA,KAAP,IAAe,GAAA,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,KAAK,CAAA,CAAA,CAAA;AAC9E,MAAM,MAAA,gBAAA,GAAA,CAAoB,EAAQ,GAAA,OAAA,CAAA,OAAA,KAAR,IAAyB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,CAAA;AACnD,MACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,aAAe,EAAA,GAAA;AAAA,UACf,OAAA,EAAS,gBAAoB,IAAA,GAAA,GAAM,IAAO,GAAA,EAAA;AAAA,UAC1C,IAAK,EAAA,IAAA;AAAA,UACL,UAAY,EAAA,CAAA;AAAA,SAAA;AAAA,wBAEZA,cAAA,CAAA,aAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,GAAK,EAAA,OAAA;AAAA,YACL,IAAK,EAAA,IAAA;AAAA,YACL,GAAK,EAAA;AAAA,cACH,UAAY,EAAA,eAAA;AAAA,cACZ,QAAU,EAAA,GAAA;AAAA,cACV,QAAU,EAAA,QAAA;AAAA,cACV,YAAc,EAAA,UAAA;AAAA,cACd,UAAY,EAAA,QAAA;AAAA,cACZ,OAAS,EAAA,OAAA;AAAA,aACX;AAAA,WAAA;AAAA,UAEC,IAAA;AAAA,SACH;AAAA,OACF,CAAA;AAAA,KAEH,CAAA;AAAA,GAEL,CACC,EAAA,CAAC,UACA,oBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,KAAK,EAAE,WAAA,EAAa,MAAM,MAAQ,EAAA,KAAA,EAAO,YAAY,aAAc,EAAA;AAAA,KAAA;AAAA,GAGzE,CAAA,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,gBAAgB,CAAC;AAAA,EACrB,IAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,MAAA;AAAA,EACA,eAAA;AAAA,EACA,SAAA;AAAA,EACA,eAAA;AAAA,EACA,EAAA;AAAA,EACA,mBAAA;AAAA,EACA,IAAA;AAAA,EACA,oBAAA;AAAA,EACA,kBAAA;AACF,CAaM,KAAA;AACJ,EAAA,MAAM,CAAC,kBAAA,EAAoB,qBAAqB,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAElE,EAAM,MAAA,oBAAA,GAAuB,CAAC,YAGxB,KAAA;AA/gCR,IAAA,IAAA,EAAA,CAAA;AAghCI,IAAA,IAAI,KAAQ,GAAA,IAAA,CAAA;AACZ,IAAA,QAAQ,6CAAc,IAAM;AAAA,MAC1B,KAAK,WAAa,EAAA;AAChB,QAAQ,KAAA,GAAA,KAAA;AAAA,UACN,CAAA,EAAG,YAAa,CAAA,KAAA,CAAM,IAAI,CAAA,CAAA,EAAI,YAAa,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA,EAAI,YAAa,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAAA,SAClF,CAAE,OAAO,aAAa,CAAA,CAAA;AACtB,QAAA,MAAA;AAAA,OACF;AAAA,MACA,KAAK,QAAU,EAAA;AACb,QAAA,KAAA,GAAQ,YAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,KAAA,CAAA;AACtB,QAAA,MAAA;AAAA,OACF;AAAA,MACA,SAAS;AACP,QAAQ,KAAA,GAAA,CAAA,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,UAAd,IAAqB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AAC7B,QAAA,MAAA;AAAA,OACF;AAAA,KACF;AACA,IAAO,OAAA,KAAA,CAAA;AAAA,GACT,CAAA;AAEA,EACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,aAAc,EAAA,QAAA;AAAA,MACd,GAAK,EAAA;AAAA,QACH,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KAAA;AAAA,oBAEAA,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA;AAAA,UACH,MAAA,EAAQ,qBACJ,kCACA,GAAA,oCAAA;AAAA,UACJ,YAAA,EAAc,qBAAqB,eAAkB,GAAA,MAAA;AAAA,UACrD,OAAS,EAAA,SAAA;AAAA,UACT,KAAO,EAAA,MAAA;AAAA,UACP,eAAA,EAAiB,qBACb,2BACA,GAAA,WAAA;AAAA,SACN;AAAA,QACA,cAAe,EAAA,eAAA;AAAA,QACf,UAAW,EAAA,QAAA;AAAA,OAAA;AAAA,sBAEXA,cAAA,CAAA,aAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,UAAW,EAAA,QAAA;AAAA,UACX,GAAI,EAAA,IAAA;AAAA,UACJ,GAAA,EAAK,EAAE,MAAA,EAAQ,SAAU,EAAA;AAAA,UACzB,OAAS,EAAA,MAAM,qBAAsB,CAAA,CAAC,kBAAkB,CAAA;AAAA,SAAA;AAAA,QAEvD,kBACC,mBAAAA,cAAA,CAAA,aAAA,CAAC,eAAgB,EAAA,EAAA,IAAA,EAAM,EAAI,EAAA,KAAA,EAAM,SAAU,EAAA,CAAA,mBAE1CA,cAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,EAAiB,IAAM,EAAA,EAAA,EAAI,OAAM,SAAU,EAAA,CAAA;AAAA,wBAE7CA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,UAAW,EAAA,QAAA,EAAS,KAAI,IAC3B,EAAA,EAAA,IAAA,kBACAA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,GAAI,EAAA,IAAA,EAAK,aAAc,EAAA,QAAA,EAAA,+CAC1B,IAAK,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,MAAA,EAAO,MACpB,EAAA,EAAA,OACH,CACA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,IAAK,EAAA,IAAA,EAAK,GAAK,EAAA,EAAE,KAAO,EAAA,aAAA,EAC3B,EAAA,EAAA,WACH,CACF,CACF,CAAA;AAAA,OACF;AAAA,sBACCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,UAAW,EAAA,QAAA,EAAS,KAAI,KAC5B,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,IAAA;AAAA,UACL,OAAS,EAAA,SAAA;AAAA,UACT,QAAU,EAAA,CAAC,KAAU,KAAA,oBAAA,CAAqB,IAAI,KAAK,CAAA;AAAA,SAAA;AAAA,yBAEpDA,cAAA,CAAA,aAAA,CAAA,YAAA,EAAA,IAAA,kBACEA,cAAA,CAAA,aAAA,CAAA,mBAAA,EAAA,EAAoB,SAAO,IAC1B,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,UAAA;AAAA,QAAA;AAAA,UACC,OAAQ,EAAA,OAAA;AAAA,UACR,KAAM,EAAA,SAAA;AAAA,UACN,IAAK,EAAA,IAAA;AAAA,UACL,IAAA,+CAAO,oBAAqB,EAAA,IAAA,CAAA;AAAA,SAAA;AAAA,OAEhC,CACA,kBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,mBAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA,EAAE,QAAU,EAAA,GAAA,EAAK,QAAQ,EAAG,EAAA;AAAA,UACjC,UAAY,EAAA,CAAA;AAAA,UACZ,KAAM,EAAA,KAAA;AAAA,SAAA;AAAA,wBAENA,cAAA,CAAA,aAAA;AAAA,UAAC,gBAAA;AAAA,UAAA;AAAA,YACC,SAAS,MAAM;AACb,cAAgB,eAAA,CAAA;AAAA,gBACd,IAAA;AAAA,gBACA,MAAQ,EAAA,MAAA;AAAA,gBACR,EAAA;AAAA,eACD,CAAA,CAAA;AACD,cAAA,mBAAA,CAAoB,OAAO,IAAI,CAAA,CAAA;AAAA,aACjC;AAAA,WAAA;AAAA,uDAEC,IAAK,EAAA,EAAA,UAAA,EAAW,UAAS,GAAI,EAAA,IAAA,EAAA,+CAC3B,UAAW,EAAA,EAAA,KAAA,EAAM,SAAU,EAAA,IAAA,EAAM,IAAI,CACtC,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,IAAK,EAAA,IAAA,EAAA,EAAK,MAAI,CACtB,CAAA;AAAA,SACF;AAAA,wBACAA,cAAA,CAAA,aAAA,CAAC,gBAAiB,EAAA,EAAA,OAAA,EAAS,MAAM,kBAAA,CAAmB,EAAE,CAAA,EAAA,kBACnDA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,UAAW,EAAA,QAAA,EAAS,GAAI,EAAA,IAAA,EAAA,+CAC3B,UAAW,EAAA,EAAA,KAAA,EAAM,SAAU,EAAA,IAAA,EAAM,EAAI,EAAA,CAAA,kBACrCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,IAAK,EAAA,IAAA,EAAA,EAAK,QAAM,CACxB,CACF,CAAA;AAAA,OAEJ,CACF,CAAA;AAAA,KACF;AAAA,oBACAA,cAAA,CAAA,aAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA;AAAA,UACH,MAAA,EAAQ,qBAAqB,MAAS,GAAA,CAAA;AAAA,SACxC;AAAA,OAAA;AAAA,sBAEAA,cAAA,CAAA,aAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA;AAAA,YACH,YAAc,EAAA,kCAAA;AAAA,YACd,SAAW,EAAA,GAAA;AAAA,YACX,MAAQ,EAAA,MAAA;AAAA,YACR,QAAU,EAAA,UAAA;AAAA,YACV,QAAU,EAAA,MAAA;AAAA,WACZ;AAAA,SAAA;AAAA,QAEC,CAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,MACP,oBAAAA,cAAA,CAAA,aAAA,CAAC,KAAM,EAAA,EAAA,GAAA,EAAK,EAAE,cAAgB,EAAA,UAAA,EAAY,KAAO,EAAA,MAAA,EAC/C,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,GAAK,EAAA;AAAA,cACH,UAAY,EAAA,WAAA;AAAA,cACZ,MAAQ,EAAA;AAAA,gBACN,OAAS,EAAA,OAAA;AAAA,gBACT,QAAU,EAAA,KAAA;AAAA,gBACV,UAAY,EAAA,KAAA;AAAA,gBACZ,SAAW,EAAA,MAAA;AAAA,gBACX,YAAc,EAAA,MAAA;AAAA,eAChB;AAAA,cACA,YAAc,EAAA,oCAAA;AAAA,cACd,QAAU,EAAA,QAAA;AAAA,cACV,GAAK,EAAA,CAAA;AAAA,cACL,MAAQ,EAAA,EAAA;AAAA,aACV;AAAA,WAAA;AAAA,uDAEC,EAAG,EAAA,EAAA,GAAA,EAAK,EAAE,WAAa,EAAA,gBAAA,MAAoB,MAAI,CAAA;AAAA,0BAChDA,cAAA,CAAA,aAAA,CAAC,UAAG,qBAAmB,CAAA;AAAA,0BACtBA,cAAA,CAAA,aAAA,CAAA,EAAA,EAAA,IAAA,EAAI,CAAG,EAAA,eAAe,CAAS,MAAA,CAAA,CAAA;AAAA,uDAC/B,EAAG,EAAA,EAAA,GAAA,EAAK,EAAE,YAAc,EAAA,gBAAA,MAAoB,eAAa,CAAA;AAAA,SAE5D,kBAAAA,cAAA,CAAA,aAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,GAAK,EAAA;AAAA,cACH,iBAAmB,EAAA;AAAA,gBACjB,YAAc,EAAA,CAAA;AAAA,gBACd,MAAQ,EAAA;AAAA,kBACN,YAAc,EAAA,CAAA;AAAA,iBAChB;AAAA,eACF;AAAA,aACF;AAAA,WAAA;AAAA,UAEC,MAAA,CAAO,GAAI,CAAA,CAAC,KAAe,KAAA;AA7qC5C,YAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AA8qCkB,YACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,cAAC,EAAA;AAAA,cAAA;AAAA,gBACC,GAAK,EAAA;AAAA,kBACH,YAAc,EAAA,oCAAA;AAAA,kBACd,MAAQ,EAAA;AAAA,oBACN,OAAS,EAAA,OAAA;AAAA,oBACT,QAAU,EAAA,KAAA;AAAA,oBACV,UAAY,EAAA,KAAA;AAAA,oBACZ,YAAc,EAAA,MAAA;AAAA,mBAChB;AAAA,kBACA,kBAAoB,EAAA;AAAA,oBAClB,WAAa,EAAA,gBAAA;AAAA,mBACf;AAAA,kBACA,iBAAmB,EAAA;AAAA,oBACjB,YAAc,EAAA,gBAAA;AAAA,mBAChB;AAAA,iBACF;AAAA,eAAA;AAAA,2DAEC,EAAI,EAAA,IAAA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,eAAN,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,KAAlB,YAA2B,IAAK,CAAA;AAAA,2DACpC,EAAI,EAAA,IAAA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,uBAAN,IAA0B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,KAA1B,YAAmC,IAAK,CAAA;AAAA,2DAC5C,EAAI,EAAA,IAAA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,qBAAN,IAAwB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,KAAxB,YAAiC,IAAK,CAAA;AAAA,2DAC1C,EACE,EAAA,IAAA,EAAA,CAAA,EAAA,GAAA,oBAAA,CAAqB,MAAM,YAAY,CAAA,KAAvC,YAA4C,IAC/C,CAAA;AAAA,aACF,CAAA;AAAA,WAEH,CAAA;AAAA,SAEL,CACE,GAAA,IAAA;AAAA,OACN;AAAA,MACC,kBACC,oBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACC,GAAK,EAAA;AAAA,YACH,OAAS,EAAA,QAAA;AAAA,YACT,MAAQ,EAAA,kCAAA;AAAA,YACR,YAAc,EAAA,eAAA;AAAA,YACd,MAAQ,EAAA,MAAA;AAAA,WACV;AAAA,SAAA;AAAA,wBAEAA,cAAA,CAAA,aAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,IAAK,EAAA,IAAA;AAAA,YACL,SAAS,MAAM;AACb,cAAgB,eAAA,CAAA;AAAA,gBACd,IAAA;AAAA,gBACA,MAAQ,EAAA,MAAA;AAAA,gBACR,EAAA;AAAA,eACD,CAAA,CAAA;AACD,cAAA,mBAAA,CAAoB,OAAO,IAAI,CAAA,CAAA;AAAA,aACjC;AAAA,YACA,QAAA,+CAAW,UAAW,EAAA,IAAA,CAAA;AAAA,YACtB,KAAO,EAAA,SAAA;AAAA,YACP,OAAQ,EAAA,OAAA;AAAA,WAAA;AAAA,UAEP,QAAQ,OAAO,CAAA,CAAA;AAAA,SAClB;AAAA,OACF;AAAA,KAEJ;AAAA,GACF,CAAA;AAEJ,CAAA,CAAA;AAEA,MAAM,eAAe,CAAC;AAAA,EACpB,IAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AACF,CAMM,KAAA;AACJ,EACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA,EAAE,MAAQ,EAAA,UAAA,GAAa,gBAAgB,SAAU,EAAA;AAAA,MACtD,OAAS,EAAA,cAAA;AAAA,MACT,QAAU,EAAA,UAAA;AAAA,KAAA;AAAA,iDAET,IAAK,EAAA,EAAA,UAAA,EAAW,YAAa,EAAA,GAAA,EAAI,wBAC/BA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,GAAK,EAAA,EAAE,OAAO,IAAK,EAAA,EAAA,EAAI,IAAK,CAAA,+CAChC,IAAK,EAAA,EAAA,aAAA,EAAc,QAClB,EAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,IAAK,EAAA,IAAA,EAAA,EAAM,OAAQ,CAAA,+CACxB,IAAK,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,GAAA,EAAK,EAAE,KAAO,EAAA,aAAA,EAC3B,EAAA,EAAA,WACH,CACF,CACF,CAAA;AAAA,GACF,CAAA;AAEJ,CAAA;;;;"}
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 description={`Trigger survey when an event hadppens in ${integrationName}`}\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 description,\n integrationName,\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\", marginTop: \"$8\" }}\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 {description ?? `Trigger survey when an event hadppens in ${integrationName}`}\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\n {isMappingDisplayed && (\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 )}\n\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 </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\n flexDirection=\"column\"\n css={{\n marginTop: \"$8\",\n }}\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) => 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":["React","_a","field"],"mappings":"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"}
@@ -11,6 +11,7 @@ import { Text } from '../node_modules/@sparrowengg/twigs-react/dist/es/text/text
11
11
 
12
12
  const IntegrationTemplate = ({
13
13
  mappingComponent,
14
+ handlePreviousNavigation,
14
15
  mapping,
15
16
  triggerComponent,
16
17
  trigger,
@@ -22,12 +23,12 @@ const IntegrationTemplate = ({
22
23
  mappingDescription,
23
24
  triggerDescription
24
25
  }) => {
25
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
26
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
26
27
  const hasMultiAccounts = (_b = (_a = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _a.accounts) == null ? void 0 : _b.hasAccounts;
27
- const isMappingFieldCompleted = !!((_c = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _c.fields.length);
28
- const isTiggerFieldCompleted = !!((_d = trigger == null ? void 0 : trigger.mappedFields) == null ? void 0 : _d.length);
28
+ const isMappingFieldCompleted = !!((_d = (_c = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _c.fields) == null ? void 0 : _d.length);
29
+ const isTiggerFieldCompleted = !!((_e = trigger == null ? void 0 : trigger.mappedFields) == null ? void 0 : _e.length);
29
30
  const [hasDashboardPage, setHasDashboardPage] = useState(
30
- !!((_f = (_e = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _e.fields) == null ? void 0 : _f.length) || !!((_g = trigger == null ? void 0 : trigger.mappedFields) == null ? void 0 : _g.length)
31
+ !!((_g = (_f = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _f.fields) == null ? void 0 : _g.length) || !!((_h = trigger == null ? void 0 : trigger.mappedFields) == null ? void 0 : _h.length)
31
32
  );
32
33
  const [hasConfgurationType, setHasConfigurationType] = useState(
33
34
  (!!mappingComponent || !!singleMappingComponent) && !!triggerComponent
@@ -52,6 +53,7 @@ const IntegrationTemplate = ({
52
53
  setHasConfigurationType(true);
53
54
  setCurrentConfigurationType(null);
54
55
  setEditField({});
56
+ handlePreviousNavigation();
55
57
  if (!(isMappingFieldCompleted || isTiggerFieldCompleted)) {
56
58
  setHasDashboardPage(false);
57
59
  } else {
@@ -71,7 +73,7 @@ const IntegrationTemplate = ({
71
73
  if (navigate)
72
74
  setHasDashboardPage(true);
73
75
  },
74
- hasPreviousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_h = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _h.hasPreviousMapping
76
+ hasPreviousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_i = mappingComponent == null ? void 0 : mappingComponent.props) == null ? void 0 : _i.hasPreviousMapping
75
77
  };
76
78
  const clonedSingleMappingProps = {
77
79
  editField,
@@ -83,7 +85,7 @@ const IntegrationTemplate = ({
83
85
  if (navigate)
84
86
  setHasDashboardPage(true);
85
87
  },
86
- hasPreviousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_i = singleMappingComponent == null ? void 0 : singleMappingComponent.props) == null ? void 0 : _i.hasPreviousMapping
88
+ hasPreviousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_j = singleMappingComponent == null ? void 0 : singleMappingComponent.props) == null ? void 0 : _j.hasPreviousMapping
87
89
  };
88
90
  const triggerClonedProps = {
89
91
  editField,
@@ -95,7 +97,7 @@ const IntegrationTemplate = ({
95
97
  if (navigate)
96
98
  setHasDashboardPage(true);
97
99
  },
98
- previousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_j = triggerComponent == null ? void 0 : triggerComponent.props) == null ? void 0 : _j.hasPreviousMapping
100
+ previousMapping: tempPreviousMapping != null ? tempPreviousMapping : (_k = triggerComponent == null ? void 0 : triggerComponent.props) == null ? void 0 : _k.hasPreviousMapping
99
101
  };
100
102
  const ClonedMappingComponent = !!mappingComponent ? React__default.cloneElement(mappingComponent, mappingClonedElementProps) : mappingComponent;
101
103
  const ClonedSingleMappingComponent = !!singleMappingComponent ? React__default.cloneElement(singleMappingComponent, clonedSingleMappingProps) : singleMappingComponent;
@@ -106,7 +108,7 @@ const IntegrationTemplate = ({
106
108
  setHasConfigurationType(true);
107
109
  setCurrentConfigurationType(null);
108
110
  }
109
- }, [(_k = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _k.fields, trigger == null ? void 0 : trigger.mappedFields]);
111
+ }, [(_l = mapping == null ? void 0 : mapping.mappedFields) == null ? void 0 : _l.fields, trigger == null ? void 0 : trigger.mappedFields]);
110
112
  return /* @__PURE__ */ React__default.createElement(
111
113
  ThemeProvider,
112
114
  {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/integration-template/index.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n Heading,\n Text,\n ThemeProvider,\n TooltipProvider\n} from \"@sparrowengg/twigs-react\";\nimport React, { ReactNode, useEffect, useState } from \"react\";\nimport CursorIcon from \"../commons/icons/cursor\";\nimport MappingIcon from \"../commons/icons/mapping\";\nimport Dashboard from \"./components/dashboard\";\n\nexport const IntegrationTemplate = ({\n mappingComponent,\n mapping,\n triggerComponent,\n trigger,\n integrationName,\n singleMappingComponent,\n onDeleteHandler,\n toggleDashboardField,\n dashboardDescription,\n mappingDescription,\n triggerDescription\n}: {\n mappingComponent?: any;\n singleMappingComponent?: any;\n mapping: {\n mappedFields: {\n type: string;\n fields: any;\n };\n setMappedFields: React.Dispatch<React.SetStateAction<any>>;\n };\n triggerComponent: any;\n trigger: {\n mappedFields: Array<any>;\n setMappedFields: React.Dispatch<React.SetStateAction<any>>;\n };\n integrationName: string;\n onDeleteHandler?: (id?: string | number) => void;\n toggleDashboardField?: (id?: string | number) => void;\n dashboardDescription: string;\n mappingDescription: string;\n triggerDescription: string;\n}) => {\n const hasMultiAccounts = mappingComponent?.props?.accounts?.hasAccounts;\n const isMappingFieldCompleted = !!mapping?.mappedFields?.fields.length;\n const isTiggerFieldCompleted = !!trigger?.mappedFields?.length;\n const [hasDashboardPage, setHasDashboardPage] = useState(\n !!mapping?.mappedFields?.fields?.length || !!trigger?.mappedFields?.length\n );\n const [hasConfgurationType, setHasConfigurationType] = useState(\n (!!mappingComponent || !!singleMappingComponent) && !!triggerComponent\n );\n const [currentConfigurationType, setCurrentConfigurationType] = useState(\n !hasConfgurationType\n ? !!mappingComponent || !!singleMappingComponent\n ? \"MAPPING\"\n : \"TRIGGER\"\n : null\n ); // automatically switch to mapping or trigger screen if any one type is present\n const [editField, setEditField] = useState({});\n const [isMappingPage, setIsMappingPage] = useState(false);\n\n // temporary previous mapping state to handle within integration template wrapper\n const [tempPreviousMapping, setTempPreviousMapping] = useState(\n !(isMappingFieldCompleted && isTiggerFieldCompleted)\n );\n\n const navigateMappingPage = (value: boolean) =>\n setIsMappingPage(value ?? !isMappingPage);\n\n const handleEditField = (field: any) => {\n setEditField({\n type: field.type,\n fieldValues: field.values,\n id: field.id\n });\n };\n\n const previousMappingHandler = () => {\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n setEditField({});\n if (!(isMappingFieldCompleted || isTiggerFieldCompleted)) {\n setHasDashboardPage(false);\n } else {\n setHasDashboardPage(true);\n }\n return;\n };\n\n const mappingClonedElementProps = {\n previousMappingHandler,\n editField: editField,\n integrationName,\n isMappingPage,\n navigateMappingPage,\n onSaveHandler: (editId?: string | number) => {\n const navigate = mappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? mappingComponent?.props?.hasPreviousMapping\n };\n const clonedSingleMappingProps = {\n editField: editField,\n previousMappingHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate =\n await singleMappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? singleMappingComponent?.props?.hasPreviousMapping\n };\n\n const triggerClonedProps = {\n editField,\n previousMappingHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate = await triggerComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n previousMapping:\n tempPreviousMapping ?? triggerComponent?.props?.hasPreviousMapping\n };\n\n const ClonedMappingComponent = !!mappingComponent\n ? React.cloneElement(mappingComponent, mappingClonedElementProps)\n : mappingComponent;\n const ClonedSingleMappingComponent = !!singleMappingComponent\n ? React.cloneElement(singleMappingComponent, clonedSingleMappingProps)\n : singleMappingComponent;\n\n const ClonedTriggerComponent = !!triggerComponent\n ? React.cloneElement(triggerComponent, triggerClonedProps)\n : triggerComponent;\n\n useEffect(() => {\n if (\n !isMappingFieldCompleted &&\n !isTiggerFieldCompleted &&\n hasDashboardPage\n ) {\n setHasDashboardPage(false);\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n }\n }, [mapping?.mappedFields?.fields, trigger?.mappedFields]);\n\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: \"DM Sans, Roboto Mono, sans-serif\",\n heading: \"DM Sans, Roboto Mono, sans-serif\"\n }\n }}\n >\n <TooltipProvider delayDuration={300}>\n <Box css={{ width: \"100%\" }}>\n {hasDashboardPage ? (\n <Dashboard\n hasDropdownComponents={{\n mapping: !!ClonedMappingComponent || !!clonedSingleMappingProps,\n trigger: !!ClonedTriggerComponent\n }}\n hasMultiAccounts={hasMultiAccounts}\n dashboardDescription={dashboardDescription}\n integrationName={integrationName}\n mappingFields={mapping?.mappedFields}\n triggerFields={trigger?.mappedFields}\n handleConfigurationType={(value: string) => {\n setCurrentConfigurationType(value);\n setHasDashboardPage(false);\n setTempPreviousMapping(true);\n setEditField({});\n }}\n handleEditField={handleEditField}\n deleteFieldHandler={onDeleteHandler}\n toggleDashboardField={toggleDashboardField}\n handleDashboardPage={(value: boolean, type: string) => {\n setHasDashboardPage(value as boolean);\n setCurrentConfigurationType(type);\n setHasConfigurationType(false);\n }}\n />\n ) : (\n <>\n {hasConfgurationType &&\n ![\"MAPPING\", \"TRIGGER\"].includes(\n `${currentConfigurationType}`\n ) ? (\n <ConfigureTemplate\n mappingDescription={mappingDescription}\n triggerDescription={triggerDescription}\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 mappingDescription,\n triggerDescription\n}: {\n handleConfigurationType: (value: string) => void;\n mappingDescription: string;\n triggerDescription: string;\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={triggerDescription}\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n <TemplateCard\n icon={<MappingIcon />}\n heading=\"Mapping\"\n description={mappingDescription}\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n </Flex>\n </Flex>\n </Box>\n );\n};\n\nconst TemplateCard = ({\n icon,\n heading,\n description,\n onClickHandler\n}: {\n icon: ReactNode;\n heading: string;\n description: string;\n onClickHandler: () => void;\n}) => {\n return (\n <Flex\n flexDirection=\"column\"\n alignItems=\"center\"\n onClick={onClickHandler}\n css={{\n width: 350,\n height: 300,\n outline: \"$borderWidths$xs solid $neutral200\",\n borderRadius: \"$4xl\",\n position: \"relative\",\n cursor: \"pointer\",\n filter: \"drop-shadow(0 4px 8px rgba(0, 0, 0, 0.06))\",\n overflow: \"auto\",\n \"&:hover\": {\n outline: \"$borderWidths$md solid $primary400\",\n \"& svg circle, rect, path\": {\n stroke: \"$primary500\"\n },\n \"& #ellipse\": {\n opacity: \"10%\"\n }\n }\n }}\n >\n <Box\n id=\"ellipse\"\n css={{\n position: \"absolute\",\n top: \"-23%\",\n filter: \"blur(25px)\",\n transition: \"all .4s ease\",\n width: 334,\n height: \"$25\",\n opacity: \"0%\",\n background: \"$primary400\",\n borderRadius: \"50%\"\n }}\n />\n <Box css={{ marginBlock: \"$32 $16\" }}>{icon}</Box>\n <Heading size=\"h6\" css={{ color: \"$neutral900\" }}>\n {heading}\n </Heading>\n <Text\n size=\"md\"\n css={{\n marginTop: \"$8\",\n color: \"$neutral800\",\n width: 222,\n textAlign: \"center\"\n }}\n >\n {description}\n </Text>\n </Flex>\n );\n};\n"],"names":["_a","React"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/integration-template/index.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n Heading,\n Text,\n ThemeProvider,\n TooltipProvider\n} from \"@sparrowengg/twigs-react\";\nimport React, { ReactNode, useEffect, useState } from \"react\";\nimport CursorIcon from \"../commons/icons/cursor\";\nimport MappingIcon from \"../commons/icons/mapping\";\nimport Dashboard from \"./components/dashboard\";\n\nexport const IntegrationTemplate = ({\n mappingComponent,\n handlePreviousNavigation,\n mapping,\n triggerComponent,\n trigger,\n integrationName,\n singleMappingComponent,\n onDeleteHandler,\n toggleDashboardField,\n dashboardDescription,\n mappingDescription,\n triggerDescription\n}: {\n mappingComponent?: any;\n singleMappingComponent?: any;\n mapping: {\n mappedFields: {\n type: string;\n fields: any;\n };\n setMappedFields: React.Dispatch<React.SetStateAction<any>>;\n };\n triggerComponent: any;\n trigger: {\n mappedFields: Array<any>;\n setMappedFields: React.Dispatch<React.SetStateAction<any>>;\n };\n integrationName: string;\n onDeleteHandler?: (id?: string | number) => void;\n toggleDashboardField?: (id?: string | number) => void;\n dashboardDescription: string;\n mappingDescription: string;\n triggerDescription: string;\n handlePreviousNavigation: () => void;\n}) => {\n const hasMultiAccounts = mappingComponent?.props?.accounts?.hasAccounts;\n const isMappingFieldCompleted = !!mapping?.mappedFields?.fields?.length;\n const isTiggerFieldCompleted = !!trigger?.mappedFields?.length;\n const [hasDashboardPage, setHasDashboardPage] = useState(\n !!mapping?.mappedFields?.fields?.length || !!trigger?.mappedFields?.length\n );\n const [hasConfgurationType, setHasConfigurationType] = useState(\n (!!mappingComponent || !!singleMappingComponent) && !!triggerComponent\n );\n const [currentConfigurationType, setCurrentConfigurationType] = useState(\n !hasConfgurationType\n ? !!mappingComponent || !!singleMappingComponent\n ? \"MAPPING\"\n : \"TRIGGER\"\n : null\n ); // automatically switch to mapping or trigger screen if any one type is present\n const [editField, setEditField] = useState({});\n const [isMappingPage, setIsMappingPage] = useState(false);\n\n // temporary previous mapping state to handle within integration template wrapper\n const [tempPreviousMapping, setTempPreviousMapping] = useState(\n !(isMappingFieldCompleted && isTiggerFieldCompleted)\n );\n\n const navigateMappingPage = (value: boolean) =>\n setIsMappingPage(value ?? !isMappingPage);\n\n const handleEditField = (field: any) => {\n setEditField({\n type: field.type,\n fieldValues: field.values,\n id: field.id\n });\n };\n\n const previousMappingHandler = () => {\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n setEditField({});\n handlePreviousNavigation();\n if (!(isMappingFieldCompleted || isTiggerFieldCompleted)) {\n setHasDashboardPage(false);\n } else {\n setHasDashboardPage(true);\n }\n return;\n };\n\n const mappingClonedElementProps = {\n previousMappingHandler,\n editField: editField,\n integrationName,\n isMappingPage,\n navigateMappingPage,\n onSaveHandler: (editId?: string | number) => {\n const navigate = mappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? mappingComponent?.props?.hasPreviousMapping\n };\n const clonedSingleMappingProps = {\n editField: editField,\n previousMappingHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate =\n await singleMappingComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n hasPreviousMapping:\n tempPreviousMapping ?? singleMappingComponent?.props?.hasPreviousMapping\n };\n\n const triggerClonedProps = {\n editField,\n previousMappingHandler,\n integrationName,\n onSaveHandler: async (editId?: string | number) => {\n const navigate = await triggerComponent?.props?.onSaveHandler(editId);\n if (navigate) setHasDashboardPage(true);\n },\n previousMapping:\n tempPreviousMapping ?? triggerComponent?.props?.hasPreviousMapping\n };\n\n const ClonedMappingComponent = !!mappingComponent\n ? React.cloneElement(mappingComponent, mappingClonedElementProps)\n : mappingComponent;\n const ClonedSingleMappingComponent = !!singleMappingComponent\n ? React.cloneElement(singleMappingComponent, clonedSingleMappingProps)\n : singleMappingComponent;\n\n const ClonedTriggerComponent = !!triggerComponent\n ? React.cloneElement(triggerComponent, triggerClonedProps)\n : triggerComponent;\n\n useEffect(() => {\n if (\n !isMappingFieldCompleted &&\n !isTiggerFieldCompleted &&\n hasDashboardPage\n ) {\n setHasDashboardPage(false);\n setHasConfigurationType(true);\n setCurrentConfigurationType(null);\n }\n }, [mapping?.mappedFields?.fields, trigger?.mappedFields]);\n\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: \"DM Sans, Roboto Mono, sans-serif\",\n heading: \"DM Sans, Roboto Mono, sans-serif\"\n }\n }}\n >\n <TooltipProvider delayDuration={300}>\n <Box css={{ width: \"100%\" }}>\n {hasDashboardPage ? (\n <Dashboard\n hasDropdownComponents={{\n mapping: !!ClonedMappingComponent || !!clonedSingleMappingProps,\n trigger: !!ClonedTriggerComponent\n }}\n hasMultiAccounts={hasMultiAccounts}\n dashboardDescription={dashboardDescription}\n integrationName={integrationName}\n mappingFields={mapping?.mappedFields}\n triggerFields={trigger?.mappedFields}\n handleConfigurationType={(value: string) => {\n setCurrentConfigurationType(value);\n setHasDashboardPage(false);\n setTempPreviousMapping(true);\n setEditField({});\n }}\n handleEditField={handleEditField}\n deleteFieldHandler={onDeleteHandler}\n toggleDashboardField={toggleDashboardField}\n handleDashboardPage={(value: boolean, type: string) => {\n setHasDashboardPage(value as boolean);\n setCurrentConfigurationType(type);\n setHasConfigurationType(false);\n }}\n />\n ) : (\n <>\n {hasConfgurationType &&\n ![\"MAPPING\", \"TRIGGER\"].includes(\n `${currentConfigurationType}`\n ) ? (\n <ConfigureTemplate\n mappingDescription={mappingDescription}\n triggerDescription={triggerDescription}\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 mappingDescription,\n triggerDescription\n}: {\n handleConfigurationType: (value: string) => void;\n mappingDescription: string;\n triggerDescription: string;\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={triggerDescription}\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n <TemplateCard\n icon={<MappingIcon />}\n heading=\"Mapping\"\n description={mappingDescription}\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n </Flex>\n </Flex>\n </Box>\n );\n};\n\nconst TemplateCard = ({\n icon,\n heading,\n description,\n onClickHandler\n}: {\n icon: ReactNode;\n heading: string;\n description: string;\n onClickHandler: () => void;\n}) => {\n return (\n <Flex\n flexDirection=\"column\"\n alignItems=\"center\"\n onClick={onClickHandler}\n css={{\n width: 350,\n height: 300,\n outline: \"$borderWidths$xs solid $neutral200\",\n borderRadius: \"$4xl\",\n position: \"relative\",\n cursor: \"pointer\",\n filter: \"drop-shadow(0 4px 8px rgba(0, 0, 0, 0.06))\",\n overflow: \"auto\",\n \"&:hover\": {\n outline: \"$borderWidths$md solid $primary400\",\n \"& svg circle, rect, path\": {\n stroke: \"$primary500\"\n },\n \"& #ellipse\": {\n opacity: \"10%\"\n }\n }\n }}\n >\n <Box\n id=\"ellipse\"\n css={{\n position: \"absolute\",\n top: \"-23%\",\n filter: \"blur(25px)\",\n transition: \"all .4s ease\",\n width: 334,\n height: \"$25\",\n opacity: \"0%\",\n background: \"$primary400\",\n borderRadius: \"50%\"\n }}\n />\n <Box css={{ marginBlock: \"$32 $16\" }}>{icon}</Box>\n <Heading size=\"h6\" css={{ color: \"$neutral900\" }}>\n {heading}\n </Heading>\n <Text\n size=\"md\"\n css={{\n marginTop: \"$8\",\n color: \"$neutral800\",\n width: 222,\n textAlign: \"center\"\n }}\n >\n {description}\n </Text>\n </Flex>\n );\n};\n"],"names":["_a","React"],"mappings":"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"}