@sparrowengg/integrations-templates-frontend 7.0.0-bulkify.7 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/contact-import/components/contact-import-mapping.js +5 -0
- package/dist/cjs/contact-import/components/contact-import-mapping.js.map +1 -1
- package/dist/cjs/integration-template/components/dashboard-constants.js +1 -0
- package/dist/cjs/integration-template/components/dashboard-constants.js.map +1 -1
- package/dist/cjs/integration-template/components/dashboard.js +17 -1
- package/dist/cjs/integration-template/components/dashboard.js.map +1 -1
- package/dist/cjs/node_modules/@internationalized/date/dist/private/CalendarDate.js +32 -8
- package/dist/cjs/node_modules/@internationalized/date/dist/private/CalendarDate.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-compose-refs/dist/index.js +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-context/dist/index.js +2 -1
- package/dist/cjs/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +5 -2
- package/dist/cjs/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-focus-guards/dist/index.js +15 -5
- package/dist/cjs/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-id/dist/index.js +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-id/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-popover/dist/index.js +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-popover/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.js +58 -15
- package/dist/cjs/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-portal/dist/index.js +2 -1
- package/dist/cjs/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-presence/dist/index.js +38 -5
- package/dist/cjs/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-slot/dist/index.js +71 -37
- package/dist/cjs/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +2 -2
- package/dist/cjs/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-use-size/dist/index.js +1 -1
- package/dist/cjs/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -1
- package/dist/cjs/node_modules/dayjs/dayjs.min.js +1 -1
- package/dist/cjs/node_modules/dayjs/dayjs.min.js.map +1 -1
- package/dist/cjs/triggers/components/EventSetup.js +1 -2
- package/dist/cjs/triggers/components/EventSetup.js.map +1 -1
- package/dist/es/contact-import/components/contact-import-mapping.js +5 -0
- package/dist/es/contact-import/components/contact-import-mapping.js.map +1 -1
- package/dist/es/integration-template/components/dashboard-constants.js +1 -0
- package/dist/es/integration-template/components/dashboard-constants.js.map +1 -1
- package/dist/es/integration-template/components/dashboard.js +17 -1
- package/dist/es/integration-template/components/dashboard.js.map +1 -1
- package/dist/es/node_modules/@internationalized/date/dist/private/CalendarDate.js +32 -8
- package/dist/es/node_modules/@internationalized/date/dist/private/CalendarDate.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-compose-refs/dist/index.js +1 -1
- package/dist/es/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-context/dist/index.js +2 -1
- package/dist/es/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +5 -2
- package/dist/es/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-focus-guards/dist/index.js +15 -5
- package/dist/es/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-id/dist/index.js +1 -1
- package/dist/es/node_modules/@radix-ui/react-id/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-popover/dist/index.js +1 -1
- package/dist/es/node_modules/@radix-ui/react-popover/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-popper/dist/index.js +53 -10
- package/dist/es/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-portal/dist/index.js +2 -2
- package/dist/es/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-presence/dist/index.js +35 -2
- package/dist/es/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-slot/dist/index.js +72 -38
- package/dist/es/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +2 -2
- package/dist/es/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +1 -1
- package/dist/es/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +1 -1
- package/dist/es/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -1
- package/dist/es/node_modules/@radix-ui/react-use-size/dist/index.js +1 -1
- package/dist/es/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -1
- package/dist/es/node_modules/dayjs/dayjs.min.js +1 -1
- package/dist/es/node_modules/dayjs/dayjs.min.js.map +1 -1
- package/dist/es/triggers/components/EventSetup.js +1 -2
- package/dist/es/triggers/components/EventSetup.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/package.json +1 -1
|
@@ -176,6 +176,7 @@ const ContactImportMapping = ({
|
|
|
176
176
|
))), /* @__PURE__ */ React.createElement(
|
|
177
177
|
table.Td,
|
|
178
178
|
{
|
|
179
|
+
className: "dm-sans",
|
|
179
180
|
css: {
|
|
180
181
|
width: 560,
|
|
181
182
|
borderLeft: "$borderWidths$xs solid $neutral100"
|
|
@@ -185,9 +186,13 @@ const ContactImportMapping = ({
|
|
|
185
186
|
select.Select,
|
|
186
187
|
{
|
|
187
188
|
size: "lg",
|
|
189
|
+
className: "dm-sans",
|
|
188
190
|
placeholder: "--Choose Property--",
|
|
189
191
|
isClearable: true,
|
|
190
192
|
menuPortalTarget: document.body,
|
|
193
|
+
menuPlacement: "auto",
|
|
194
|
+
menuShouldScrollIntoView: false,
|
|
195
|
+
closeMenuOnScroll: (e) => !(e.target instanceof Element && e.target.closest('[class*="menu-list"]')),
|
|
191
196
|
styles: {
|
|
192
197
|
menuPortal: (base) => __spreadProps(__spreadValues({}, base), {
|
|
193
198
|
zIndex: 9999
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact-import-mapping.js","sources":["../../../../src/contact-import/components/contact-import-mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormInput,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Table,\n Tbody,\n Td,\n Text,\n Th,\n Thead,\n Tr,\n} from \"@sparrowengg/twigs-react\";\nimport { DeleteIcon, PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useRef } from \"react\";\nimport { ContactImportMappingProps } from \"../types\";\nimport { SelectOption } from \"../../commons/types/enhanced\";\n\n// Define the Field type with all the properties used in the component\ntype Field = {\n id: string | number;\n integrationField: string | number | null;\n surveySparrowField: string | number | null;\n sampleData?: Array<string>;\n property?: \"custom\" | \"default\";\n mapped?: boolean;\n surveySparrowFieldError?: boolean;\n};\n\n\nconst defaultFieldValue: Omit<Field, \"id\"> = {\n integrationField: null,\n surveySparrowField: null,\n sampleData: [],\n property: \"custom\",\n mapped: false,\n surveySparrowFieldError: false,\n};\n\nconst ContactImportMapping: React.FC<ContactImportMappingProps> = ({\n hasAddCustomProperty = true,\n contactImportField,\n setContactImportField,\n integrationName,\n contactProperties,\n}) => {\n const customPropertyRef = useRef<HTMLDivElement | null>(null);\n const initialRenderRef = useRef(true);\n\n useEffect(() => {\n if (!initialRenderRef.current && customPropertyRef?.current) {\n customPropertyRef.current.scrollIntoView({\n behavior: \"smooth\",\n block: \"end\",\n });\n }\n initialRenderRef.current = false;\n }, [contactImportField]);\n\n const customFieldHandler = (\n id: string | number,\n property: keyof Field,\n value: string | number | boolean | null\n ) => {\n setContactImportField((prev) => ({\n ...prev,\n fields: prev.fields.map((field) =>\n field.id === id ? { ...field, [property]: value } : field\n ),\n }));\n };\n\n const updateSurveySparrowField = (\n value: string | number | null,\n id: string | number,\n manuallyMapped: boolean\n ) => {\n setContactImportField((prev) => ({\n ...prev,\n fields: prev.fields.map((field) =>\n field.id === id\n ? {\n ...field,\n surveySparrowField: value,\n ...(value === null\n ? { mapped: false }\n : manuallyMapped && { mapped: true }),\n }\n : field\n ),\n }));\n };\n\n const addCustomProperty = () => {\n setContactImportField((prev) => ({\n ...prev,\n fields: [\n ...prev.fields,\n {\n id: prev.fields.length\n ? (typeof prev.fields[prev.fields.length - 1].id === 'number' \n ? (prev.fields[prev.fields.length - 1].id as number) + 1 \n : Date.now())\n : 1,\n ...defaultFieldValue,\n },\n ],\n }));\n };\n\n const deleteCustomProperty = (id: string | number) => {\n setContactImportField((prev) => ({\n ...prev,\n fields: prev.fields.filter((field) => field.id !== id),\n }));\n };\n\n return (\n <Flex justifyContent=\"center\">\n <Box css={{ marginTop: \"$40\", maxWidth: \"90%\", width: \"100%\" }}>\n <Box css={{ paddingLeft: \"$28\" }}>\n <Heading size=\"h5\">Map Contact Properties</Heading>\n <Text css={{ marginTop: \"$4\", color: \"$neutral600\" }} size=\"md\">\n Review these mappings before importing. Unmapped columns will be\n ignored.\n </Text>\n </Box>\n <Box\n css={{\n height: \"calc(100vh - 291px)\",\n paddingTop: \"$16\",\n overflowY: \"auto\",\n position: \"relative\",\n background: \"$white900\",\n paddingLeft: \"$28\",\n }}\n >\n <Table\n css={{\n width: \"100%\",\n background: \"$white900\",\n borderRadius: \"5px\",\n borderCollapse: \"collapse\",\n }}\n >\n <Thead css={{ zIndex: 5, position: \"sticky\", top: \"-31px\" }}>\n <Th>{`${integrationName} Profile Fields Data`}</Th>\n <Th css={{ borderLeft: \"$borderWidths$xs solid $neutral100\" }}>\n SurveySparrow Mapping\n </Th>\n </Thead>\n <Tbody>\n {[...contactImportField.fields]\n .sort((a, b) => {\n // Automatically mapped (not manually mapped and has surveySparrowField) come first\n const aIsAutoMapped = !a.mapped && a.surveySparrowField;\n const bIsAutoMapped = !b.mapped && b.surveySparrowField;\n \n if (aIsAutoMapped && !bIsAutoMapped) return -1;\n if (!aIsAutoMapped && bIsAutoMapped) return 1;\n \n // Then manually mapped\n const aIsManuallyMapped = a.mapped && a.surveySparrowField;\n const bIsManuallyMapped = b.mapped && b.surveySparrowField;\n \n if (aIsManuallyMapped && !bIsManuallyMapped) return -1;\n if (!aIsManuallyMapped && bIsManuallyMapped) return 1;\n \n // Keep original order for items in the same category\n return 0;\n })\n .map((field) => {\n const hasSurveyFieldValue = contactProperties.some(\n (contact) => contact.value === field.surveySparrowField\n );\n\n return (\n <Tr key={field.id}>\n <Td css={{ width: 560 }}>\n {field.property !== \"custom\" ? (\n <>\n <Text size=\"sm\" weight=\"medium\">\n {typeof field.integrationField === 'string' \n ? field.integrationField.replace(\"_\", \" \")\n : field.integrationField}\n </Text>\n {field.sampleData?.map((sample, index) => (\n <Text\n key={index}\n size=\"xs\"\n css={{ lineHeight: \"$xs\" }}\n >\n {sample.length > 40\n ? `${sample.slice(0, 40)}...`\n : sample}\n </Text>\n ))}\n </>\n ) : (\n <Box css={{ position: \"relative\" }}>\n <FormInput\n size=\"lg\"\n onChange={(event: any) =>\n customFieldHandler(\n field.id,\n \"integrationField\",\n event.target.value\n )\n }\n />\n <FormLabel\n css={{ marginTop: \"$4\", color: \"$neutral400\" }}\n >\n Enter the exact custom property name for accurate\n mapping. It is case-sensitive.\n </FormLabel>\n <IconButton\n css={{\n position: \"absolute\",\n top: \"0\",\n left: \"-70px\",\n }}\n size=\"lg\"\n variant=\"ghost\"\n color=\"secondary\"\n onClick={() => deleteCustomProperty(field.id)}\n icon={<DeleteIcon />}\n aria-label=\"Delete custom property\"\n />\n </Box>\n )}\n </Td>\n <Td\n css={{\n width: 560,\n borderLeft: \"$borderWidths$xs solid $neutral100\",\n }}\n >\n <Select\n size=\"lg\"\n placeholder=\"--Choose Property--\"\n isClearable={true}\n menuPortalTarget={document.body}\n styles={{\n menuPortal: (base: any) => ({\n ...base,\n zIndex: 9999,\n }),\n }}\n value={\n field.surveySparrowField\n ? {\n label: contactProperties.find(\n (contact) =>\n contact.value === field.surveySparrowField\n )?.label,\n value: field.surveySparrowField,\n }\n : null\n }\n options={contactProperties\n .filter((contact) => contact.type !== \"DEPENDENT_FIELD\")\n .map((contact) => ({\n ...contact,\n isDisabled: contactImportField.fields.some(\n (f) =>\n f.id !== field.id &&\n f.surveySparrowField === contact.value\n ),\n }))}\n onChange={(currentField: any) =>\n updateSurveySparrowField(\n currentField?.value ?? null,\n field.id,\n true\n )\n }\n />\n {hasSurveyFieldValue && (\n <FormLabel\n size=\"xs\"\n css={{\n color: field.mapped ? \"$neutral600\" : \"#0F966C\",\n marginBlock: \"$4\",\n }}\n >\n {field.mapped\n ? \"Manually mapped by you\"\n : \"Automatically mapped\"}\n </FormLabel>\n )}\n {!field.surveySparrowField &&\n field.surveySparrowFieldError && (\n <FormLabel\n css={{ color: \"$negative500\", marginTop: \"$4\" }}\n size=\"xs\"\n >\n Please select the property\n </FormLabel>\n )}\n </Td>\n </Tr>\n );\n })}\n {hasAddCustomProperty && (\n <Tr>\n <Td colSpan={2}>\n <Button\n size=\"md\"\n variant=\"ghost\"\n leftIcon={<PlusIcon />}\n onClick={addCustomProperty}\n >\n Add Custom Property\n </Button>\n </Td>\n </Tr>\n )}\n </Tbody>\n </Table>\n </Box>\n </Box>\n </Flex>\n );\n};\n\nexport default ContactImportMapping;\n"],"names":["useRef","useEffect","Flex","Box","Heading","Text","Table","Thead","Th","Tbody","Tr","Td","FormInput","FormLabel","IconButton","DeleteIcon","Select","_a","Button","PlusIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,MAAM,iBAAA,GAAuC;AAAA,EAC3C,gBAAA,EAAkB,IAAA;AAAA,EAClB,kBAAA,EAAoB,IAAA;AAAA,EACpB,YAAY,EAAC;AAAA,EACb,QAAA,EAAU,QAAA;AAAA,EACV,MAAA,EAAQ,KAAA;AAAA,EACR,uBAAA,EAAyB;AAC3B,CAAA;AAEA,MAAM,uBAA4D,CAAC;AAAA,EACjE,oBAAA,GAAuB,IAAA;AAAA,EACvB,kBAAA;AAAA,EACA,qBAAA;AAAA,EACA,eAAA;AAAA,EACA;AACF,CAAA,KAAM;AACJ,EAAA,MAAM,iBAAA,GAAoBA,aAA8B,IAAI,CAAA;AAC5D,EAAA,MAAM,gBAAA,GAAmBA,aAAO,IAAI,CAAA;AAEpC,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,gBAAA,CAAiB,OAAA,KAAW,iBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,iBAAA,CAAmB,OAAA,CAAA,EAAS;AAC3D,MAAA,iBAAA,CAAkB,QAAQ,cAAA,CAAe;AAAA,QACvC,QAAA,EAAU,QAAA;AAAA,QACV,KAAA,EAAO;AAAA,OACR,CAAA;AAAA,IACH;AACA,IAAA,gBAAA,CAAiB,OAAA,GAAU,KAAA;AAAA,EAC7B,CAAA,EAAG,CAAC,kBAAkB,CAAC,CAAA;AAEvB,EAAA,MAAM,kBAAA,GAAqB,CACzB,EAAA,EACA,QAAA,EACA,KAAA,KACG;AACH,IAAA,qBAAA,CAAsB,CAAC,IAAA,KAAU,aAAA,CAAA,cAAA,CAAA,EAAA,EAC5B,IAAA,CAAA,EAD4B;AAAA,MAE/B,MAAA,EAAQ,KAAK,MAAA,CAAO,GAAA;AAAA,QAAI,CAAC,KAAA,KACvB,KAAA,CAAM,EAAA,KAAO,EAAA,GAAK,aAAA,CAAA,cAAA,CAAA,EAAA,EAAK,KAAA,CAAA,EAAL,EAAY,CAAC,QAAQ,GAAG,KAAA,EAAM,CAAA,GAAI;AAAA;AACtD,KACF,CAAE,CAAA;AAAA,EACJ,CAAA;AAEA,EAAA,MAAM,wBAAA,GAA2B,CAC/B,KAAA,EACA,EAAA,EACA,cAAA,KACG;AACH,IAAA,qBAAA,CAAsB,CAAC,IAAA,KAAU,aAAA,CAAA,cAAA,CAAA,EAAA,EAC5B,IAAA,CAAA,EAD4B;AAAA,MAE/B,MAAA,EAAQ,KAAK,MAAA,CAAO,GAAA;AAAA,QAAI,CAAC,KAAA,KACvB,KAAA,CAAM,EAAA,KAAO,EAAA,GACT,gDACK,KAAA,CAAA,EADL;AAAA,UAEE,kBAAA,EAAoB;AAAA,SAAA,CAAA,EAChB,KAAA,KAAU,IAAA,GACV,EAAE,MAAA,EAAQ,KAAA,KACQ,EAAE,MAAA,EAAQ,IAAA,EAAK,CAAA,GAEvC;AAAA;AACN,KACF,CAAE,CAAA;AAAA,EACJ,CAAA;AAEA,EAAA,MAAM,oBAAoB,MAAM;AAC9B,IAAA,qBAAA,CAAsB,CAAC,IAAA,KAAU,aAAA,CAAA,cAAA,CAAA,EAAA,EAC5B,IAAA,CAAA,EAD4B;AAAA,MAE/B,MAAA,EAAQ;AAAA,QACN,GAAG,IAAA,CAAK,MAAA;AAAA,QACR,cAAA,CAAA;AAAA,UACE,EAAA,EAAI,IAAA,CAAK,MAAA,CAAO,MAAA,GACX,OAAO,KAAK,MAAA,CAAO,IAAA,CAAK,MAAA,CAAO,MAAA,GAAS,CAAC,CAAA,CAAE,OAAO,QAAA,GAC9C,IAAA,CAAK,MAAA,CAAO,IAAA,CAAK,MAAA,CAAO,MAAA,GAAS,CAAC,CAAA,CAAE,EAAA,GAAgB,CAAA,GACrD,IAAA,CAAK,GAAA,EAAI,GACb;AAAA,SAAA,EACD,iBAAA;AAAA;AAEP,KACF,CAAE,CAAA;AAAA,EACJ,CAAA;AAEA,EAAA,MAAM,oBAAA,GAAuB,CAAC,EAAA,KAAwB;AACpD,IAAA,qBAAA,CAAsB,CAAC,IAAA,KAAU,aAAA,CAAA,cAAA,CAAA,EAAA,EAC5B,IAAA,CAAA,EAD4B;AAAA,MAE/B,MAAA,EAAQ,KAAK,MAAA,CAAO,MAAA,CAAO,CAAC,KAAA,KAAU,KAAA,CAAM,OAAO,EAAE;AAAA,KACvD,CAAE,CAAA;AAAA,EACJ,CAAA;AAEA,EAAA,2CACGC,SAAA,EAAA,EAAK,cAAA,EAAe,4BACnB,KAAA,CAAA,aAAA,CAACC,OAAA,EAAA,EAAI,KAAK,EAAE,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,OAAO,KAAA,EAAO,MAAA,sBACpD,KAAA,CAAA,aAAA,CAACA,OAAA,EAAA,EAAI,KAAK,EAAE,WAAA,EAAa,KAAA,EAAM,EAAA,sCAC5BC,eAAA,EAAA,EAAQ,IAAA,EAAK,QAAK,wBAAsB,CAAA,sCACxCC,SAAA,EAAA,EAAK,GAAA,EAAK,EAAE,SAAA,EAAW,IAAA,EAAM,OAAO,aAAA,EAAc,EAAG,MAAK,IAAA,EAAA,EAAK,2EAGhE,CACF,CAAA,kBACA,KAAA,CAAA,aAAA;AAAA,IAACF,OAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK;AAAA,QACH,MAAA,EAAQ,qBAAA;AAAA,QACR,UAAA,EAAY,KAAA;AAAA,QACZ,SAAA,EAAW,MAAA;AAAA,QACX,QAAA,EAAU,UAAA;AAAA,QACV,UAAA,EAAY,WAAA;AAAA,QACZ,WAAA,EAAa;AAAA;AACf,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACG,WAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK;AAAA,UACH,KAAA,EAAO,MAAA;AAAA,UACP,UAAA,EAAY,WAAA;AAAA,UACZ,YAAA,EAAc,KAAA;AAAA,UACd,cAAA,EAAgB;AAAA;AAClB,OAAA;AAAA,sBAEA,KAAA,CAAA,aAAA,CAACC,WAAA,EAAA,EAAM,GAAA,EAAK,EAAE,MAAA,EAAQ,GAAG,QAAA,EAAU,QAAA,EAAU,GAAA,EAAK,OAAA,EAAQ,EAAA,kBACxD,KAAA,CAAA,aAAA,CAACC,gBAAI,CAAA,EAAG,eAAe,CAAA,oBAAA,CAAuB,CAAA,kBAC9C,KAAA,CAAA,aAAA,CAACA,QAAA,EAAA,EAAG,GAAA,EAAK,EAAE,UAAA,EAAY,oCAAA,EAAqC,EAAA,EAAG,uBAE/D,CACF,CAAA;AAAA,sBACA,KAAA,CAAA,aAAA,CAACC,WAAA,EAAA,IAAA,EACE,CAAC,GAAG,kBAAA,CAAmB,MAAM,CAAA,CAC3B,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM;AAEd,QAAA,MAAM,aAAA,GAAgB,CAAC,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,kBAAA;AACrC,QAAA,MAAM,aAAA,GAAgB,CAAC,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,kBAAA;AAErC,QAAA,IAAI,iBAAiB,CAAC,aAAA;AAAe,UAAA,OAAO,EAAA;AAC5C,QAAA,IAAI,CAAC,aAAA,IAAiB,aAAA;AAAe,UAAA,OAAO,CAAA;AAG5C,QAAA,MAAM,iBAAA,GAAoB,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,kBAAA;AACxC,QAAA,MAAM,iBAAA,GAAoB,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,kBAAA;AAExC,QAAA,IAAI,qBAAqB,CAAC,iBAAA;AAAmB,UAAA,OAAO,EAAA;AACpD,QAAA,IAAI,CAAC,iBAAA,IAAqB,iBAAA;AAAmB,UAAA,OAAO,CAAA;AAGpD,QAAA,OAAO,CAAA;AAAA,MACT,CAAC,CAAA,CACA,GAAA,CAAI,CAAC,KAAA,KAAU;AA/KhC,QAAA,IAAA,EAAA,EAAA,EAAA;AAgLgB,QAAA,MAAM,sBAAsB,iBAAA,CAAkB,IAAA;AAAA,UAC5C,CAAC,OAAA,KAAY,OAAA,CAAQ,KAAA,KAAU,KAAA,CAAM;AAAA,SACvC;AAEA,QAAA,2CACGC,QAAA,EAAA,EAAG,GAAA,EAAK,MAAM,EAAA,EAAA,kBACb,KAAA,CAAA,aAAA,CAACC,YAAG,GAAA,EAAK,EAAE,KAAA,EAAO,GAAA,MACf,KAAA,CAAM,QAAA,KAAa,2BAClB,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBACE,KAAA,CAAA,aAAA,CAACN,aAAK,IAAA,EAAK,IAAA,EAAK,MAAA,EAAO,QAAA,EAAA,EACpB,OAAO,KAAA,CAAM,gBAAA,KAAqB,WAC/B,KAAA,CAAM,gBAAA,CAAiB,QAAQ,GAAA,EAAK,GAAG,IACvC,KAAA,CAAM,gBACZ,IACC,EAAA,GAAA,KAAA,CAAM,UAAA,KAAN,mBAAkB,GAAA,CAAI,CAAC,QAAQ,KAAA,qBAC9B,KAAA,CAAA,aAAA;AAAA,UAACA,SAAA;AAAA,UAAA;AAAA,YACC,GAAA,EAAK,KAAA;AAAA,YACL,IAAA,EAAK,IAAA;AAAA,YACL,GAAA,EAAK,EAAE,UAAA,EAAY,KAAA;AAAM,WAAA;AAAA,UAExB,MAAA,CAAO,SAAS,EAAA,GACb,CAAA,EAAG,OAAO,KAAA,CAAM,CAAA,EAAG,EAAE,CAAC,CAAA,GAAA,CAAA,GACtB;AAAA,SACN,CAEJ,oBAEA,KAAA,CAAA,aAAA,CAACF,OAAA,EAAA,EAAI,KAAK,EAAE,QAAA,EAAU,YAAW,EAAA,kBAC/B,KAAA,CAAA,aAAA;AAAA,UAACS,mBAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,IAAA;AAAA,YACL,QAAA,EAAU,CAAC,KAAA,KACT,kBAAA;AAAA,cACE,KAAA,CAAM,EAAA;AAAA,cACN,kBAAA;AAAA,cACA,MAAM,MAAA,CAAO;AAAA;AACf;AAAA,SAEJ,kBACA,KAAA,CAAA,aAAA;AAAA,UAACC,mBAAA;AAAA,UAAA;AAAA,YACC,GAAA,EAAK,EAAE,SAAA,EAAW,IAAA,EAAM,OAAO,aAAA;AAAc,WAAA;AAAA,UAC9C;AAAA,SAGD,kBACA,KAAA,CAAA,aAAA;AAAA,UAACC,qBAAA;AAAA,UAAA;AAAA,YACC,GAAA,EAAK;AAAA,cACH,QAAA,EAAU,UAAA;AAAA,cACV,GAAA,EAAK,GAAA;AAAA,cACL,IAAA,EAAM;AAAA,aACR;AAAA,YACA,IAAA,EAAK,IAAA;AAAA,YACL,OAAA,EAAQ,OAAA;AAAA,YACR,KAAA,EAAM,WAAA;AAAA,YACN,OAAA,EAAS,MAAM,oBAAA,CAAqB,KAAA,CAAM,EAAE,CAAA;AAAA,YAC5C,IAAA,sCAAOC,kBAAA,EAAA,IAAW,CAAA;AAAA,YAClB,YAAA,EAAW;AAAA;AAAA,SAEf,CAEJ,CAAA,kBACA,KAAA,CAAA,aAAA;AAAA,UAACJ,QAAA;AAAA,UAAA;AAAA,YACC,GAAA,EAAK;AAAA,cACH,KAAA,EAAO,GAAA;AAAA,cACP,UAAA,EAAY;AAAA;AACd,WAAA;AAAA,0BAEA,KAAA,CAAA,aAAA;AAAA,YAACK,aAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,IAAA;AAAA,cACL,WAAA,EAAY,qBAAA;AAAA,cACZ,WAAA,EAAa,IAAA;AAAA,cACb,kBAAkB,QAAA,CAAS,IAAA;AAAA,cAC3B,MAAA,EAAQ;AAAA,gBACN,UAAA,EAAY,CAAC,IAAA,KAAe,aAAA,CAAA,cAAA,CAAA,EAAA,EACvB,IAAA,CAAA,EADuB;AAAA,kBAE1B,MAAA,EAAQ;AAAA,iBACV;AAAA,eACF;AAAA,cACA,KAAA,EACE,MAAM,kBAAA,GACF;AAAA,gBACE,QAAO,EAAA,GAAA,iBAAA,CAAkB,IAAA;AAAA,kBACvB,CAAC,OAAA,KACC,OAAA,CAAQ,KAAA,KAAU,KAAA,CAAM;AAAA,sBAFrB,IAAA,GAAA,MAAA,GAAA,EAAA,CAGJ,KAAA;AAAA,gBACH,OAAO,KAAA,CAAM;AAAA,eACf,GACA,IAAA;AAAA,cAEN,OAAA,EAAS,iBAAA,CACN,MAAA,CAAO,CAAC,OAAA,KAAY,OAAA,CAAQ,IAAA,KAAS,iBAAiB,CAAA,CACtD,GAAA,CAAI,CAAC,OAAA,KAAa,iCACd,OAAA,CAAA,EADc;AAAA,gBAEjB,UAAA,EAAY,mBAAmB,MAAA,CAAO,IAAA;AAAA,kBACpC,CAAC,MACC,CAAA,CAAE,EAAA,KAAO,MAAM,EAAA,IACf,CAAA,CAAE,uBAAuB,OAAA,CAAQ;AAAA;AACrC,eACF,CAAE,CAAA;AAAA,cACJ,QAAA,EAAU,CAAC,YAAA,KAAmB;AAlRtD,gBAAA,IAAAC,GAAAA;AAmR0B,gBAAA,OAAA,wBAAA;AAAA,kBAAA,CACEA,GAAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,KAAA,KAAd,IAAA,GAAAA,GAAAA,GAAuB,IAAA;AAAA,kBACvB,KAAA,CAAM,EAER,CAAA;AAAA,cAAA;AAAA;AAAA,WAEJ;AAAA,UACC,mBAAA,oBACC,KAAA,CAAA,aAAA;AAAA,YAACJ,mBAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,IAAA;AAAA,cACL,GAAA,EAAK;AAAA,gBACH,KAAA,EAAO,KAAA,CAAM,MAAA,GAAS,aAAA,GAAgB,SAAA;AAAA,gBACtC,WAAA,EAAa;AAAA;AACf,aAAA;AAAA,YAEC,KAAA,CAAM,SACH,wBAAA,GACA;AAAA,WACN;AAAA,UAED,CAAC,KAAA,CAAM,kBAAA,IACN,KAAA,CAAM,uBAAA,oBACJ,KAAA,CAAA,aAAA;AAAA,YAACA,mBAAA;AAAA,YAAA;AAAA,cACC,GAAA,EAAK,EAAE,KAAA,EAAO,cAAA,EAAgB,WAAW,IAAA,EAAK;AAAA,cAC9C,IAAA,EAAK;AAAA,aAAA;AAAA,YACN;AAAA;AAED,SAGR,CAAA;AAAA,MAEJ,CAAC,GACA,oBAAA,oBACD,KAAA,CAAA,aAAA,CAACH,gCACC,KAAA,CAAA,aAAA,CAACC,QAAA,EAAA,EAAG,SAAS,CAAA,EAAA,kBACX,KAAA,CAAA,aAAA;AAAA,QAACO,aAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAK,IAAA;AAAA,UACL,OAAA,EAAQ,OAAA;AAAA,UACR,QAAA,sCAAWC,aAAA,EAAA,IAAS,CAAA;AAAA,UACpB,OAAA,EAAS;AAAA,SAAA;AAAA,QACV;AAAA,OAGH,CACF,CAEF;AAAA;AACF,GAEJ,CACF,CAAA;AAEJ;;;;"}
|
|
1
|
+
{"version":3,"file":"contact-import-mapping.js","sources":["../../../../src/contact-import/components/contact-import-mapping.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Flex,\n FormInput,\n FormLabel,\n Heading,\n IconButton,\n Select,\n Table,\n Tbody,\n Td,\n Text,\n Th,\n Thead,\n Tr,\n} from \"@sparrowengg/twigs-react\";\nimport { DeleteIcon, PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useRef } from \"react\";\nimport { ContactImportMappingProps } from \"../types\";\nimport { SelectOption } from \"../../commons/types/enhanced\";\n\n// Define the Field type with all the properties used in the component\ntype Field = {\n id: string | number;\n integrationField: string | number | null;\n surveySparrowField: string | number | null;\n sampleData?: Array<string>;\n property?: \"custom\" | \"default\";\n mapped?: boolean;\n surveySparrowFieldError?: boolean;\n};\n\n\nconst defaultFieldValue: Omit<Field, \"id\"> = {\n integrationField: null,\n surveySparrowField: null,\n sampleData: [],\n property: \"custom\",\n mapped: false,\n surveySparrowFieldError: false,\n};\n\nconst ContactImportMapping: React.FC<ContactImportMappingProps> = ({\n hasAddCustomProperty = true,\n contactImportField,\n setContactImportField,\n integrationName,\n contactProperties,\n}) => {\n const customPropertyRef = useRef<HTMLDivElement | null>(null);\n const initialRenderRef = useRef(true);\n\n useEffect(() => {\n if (!initialRenderRef.current && customPropertyRef?.current) {\n customPropertyRef.current.scrollIntoView({\n behavior: \"smooth\",\n block: \"end\",\n });\n }\n initialRenderRef.current = false;\n }, [contactImportField]);\n\n const customFieldHandler = (\n id: string | number,\n property: keyof Field,\n value: string | number | boolean | null\n ) => {\n setContactImportField((prev) => ({\n ...prev,\n fields: prev.fields.map((field) =>\n field.id === id ? { ...field, [property]: value } : field\n ),\n }));\n };\n\n const updateSurveySparrowField = (\n value: string | number | null,\n id: string | number,\n manuallyMapped: boolean\n ) => {\n setContactImportField((prev) => ({\n ...prev,\n fields: prev.fields.map((field) =>\n field.id === id\n ? {\n ...field,\n surveySparrowField: value,\n ...(value === null\n ? { mapped: false }\n : manuallyMapped && { mapped: true }),\n }\n : field\n ),\n }));\n };\n\n const addCustomProperty = () => {\n setContactImportField((prev) => ({\n ...prev,\n fields: [\n ...prev.fields,\n {\n id: prev.fields.length\n ? (typeof prev.fields[prev.fields.length - 1].id === 'number' \n ? (prev.fields[prev.fields.length - 1].id as number) + 1 \n : Date.now())\n : 1,\n ...defaultFieldValue,\n },\n ],\n }));\n };\n\n const deleteCustomProperty = (id: string | number) => {\n setContactImportField((prev) => ({\n ...prev,\n fields: prev.fields.filter((field) => field.id !== id),\n }));\n };\n\n return (\n <Flex justifyContent=\"center\">\n <Box css={{ marginTop: \"$40\", maxWidth: \"90%\", width: \"100%\" }}>\n <Box css={{ paddingLeft: \"$28\" }}>\n <Heading size=\"h5\">Map Contact Properties</Heading>\n <Text css={{ marginTop: \"$4\", color: \"$neutral600\" }} size=\"md\">\n Review these mappings before importing. Unmapped columns will be\n ignored.\n </Text>\n </Box>\n <Box\n css={{\n height: \"calc(100vh - 291px)\",\n paddingTop: \"$16\",\n overflowY: \"auto\",\n position: \"relative\",\n background: \"$white900\",\n paddingLeft: \"$28\",\n }}\n >\n <Table\n css={{\n width: \"100%\",\n background: \"$white900\",\n borderRadius: \"5px\",\n borderCollapse: \"collapse\",\n }}\n >\n <Thead css={{ zIndex: 5, position: \"sticky\", top: \"-31px\" }}>\n <Th>{`${integrationName} Profile Fields Data`}</Th>\n <Th css={{ borderLeft: \"$borderWidths$xs solid $neutral100\" }}>\n SurveySparrow Mapping\n </Th>\n </Thead>\n <Tbody>\n {[...contactImportField.fields]\n .sort((a, b) => {\n // Automatically mapped (not manually mapped and has surveySparrowField) come first\n const aIsAutoMapped = !a.mapped && a.surveySparrowField;\n const bIsAutoMapped = !b.mapped && b.surveySparrowField;\n \n if (aIsAutoMapped && !bIsAutoMapped) return -1;\n if (!aIsAutoMapped && bIsAutoMapped) return 1;\n \n // Then manually mapped\n const aIsManuallyMapped = a.mapped && a.surveySparrowField;\n const bIsManuallyMapped = b.mapped && b.surveySparrowField;\n \n if (aIsManuallyMapped && !bIsManuallyMapped) return -1;\n if (!aIsManuallyMapped && bIsManuallyMapped) return 1;\n \n // Keep original order for items in the same category\n return 0;\n })\n .map((field) => {\n const hasSurveyFieldValue = contactProperties.some(\n (contact) => contact.value === field.surveySparrowField\n );\n\n return (\n <Tr key={field.id}>\n <Td css={{ width: 560 }}>\n {field.property !== \"custom\" ? (\n <>\n <Text size=\"sm\" weight=\"medium\">\n {typeof field.integrationField === 'string' \n ? field.integrationField.replace(\"_\", \" \")\n : field.integrationField}\n </Text>\n {field.sampleData?.map((sample, index) => (\n <Text\n key={index}\n size=\"xs\"\n css={{ lineHeight: \"$xs\" }}\n >\n {sample.length > 40\n ? `${sample.slice(0, 40)}...`\n : sample}\n </Text>\n ))}\n </>\n ) : (\n <Box css={{ position: \"relative\" }}>\n <FormInput\n size=\"lg\"\n onChange={(event: any) =>\n customFieldHandler(\n field.id,\n \"integrationField\",\n event.target.value\n )\n }\n />\n <FormLabel\n css={{ marginTop: \"$4\", color: \"$neutral400\" }}\n >\n Enter the exact custom property name for accurate\n mapping. It is case-sensitive.\n </FormLabel>\n <IconButton\n css={{\n position: \"absolute\",\n top: \"0\",\n left: \"-70px\",\n }}\n size=\"lg\"\n variant=\"ghost\"\n color=\"secondary\"\n onClick={() => deleteCustomProperty(field.id)}\n icon={<DeleteIcon />}\n aria-label=\"Delete custom property\"\n />\n </Box>\n )}\n </Td>\n <Td\n className=\"dm-sans\"\n css={{\n width: 560,\n borderLeft: \"$borderWidths$xs solid $neutral100\",\n }}\n >\n <Select\n size=\"lg\"\n className=\"dm-sans\"\n placeholder=\"--Choose Property--\"\n isClearable={true}\n menuPortalTarget={document.body}\n menuPlacement=\"auto\"\n menuShouldScrollIntoView={false}\n closeMenuOnScroll={(e: any) =>\n !(\n e.target instanceof Element &&\n e.target.closest('[class*=\"menu-list\"]')\n )\n }\n styles={{\n menuPortal: (base: any) => ({\n ...base,\n zIndex: 9999,\n }),\n }}\n value={\n field.surveySparrowField\n ? {\n label: contactProperties.find(\n (contact) =>\n contact.value === field.surveySparrowField\n )?.label,\n value: field.surveySparrowField,\n }\n : null\n }\n options={contactProperties\n .filter((contact) => contact.type !== \"DEPENDENT_FIELD\")\n .map((contact) => ({\n ...contact,\n isDisabled: contactImportField.fields.some(\n (f) =>\n f.id !== field.id &&\n f.surveySparrowField === contact.value\n ),\n }))}\n onChange={(currentField: any) =>\n updateSurveySparrowField(\n currentField?.value ?? null,\n field.id,\n true\n )\n }\n />\n {hasSurveyFieldValue && (\n <FormLabel\n size=\"xs\"\n css={{\n color: field.mapped ? \"$neutral600\" : \"#0F966C\",\n marginBlock: \"$4\",\n }}\n >\n {field.mapped\n ? \"Manually mapped by you\"\n : \"Automatically mapped\"}\n </FormLabel>\n )}\n {!field.surveySparrowField &&\n field.surveySparrowFieldError && (\n <FormLabel\n css={{ color: \"$negative500\", marginTop: \"$4\" }}\n size=\"xs\"\n >\n Please select the property\n </FormLabel>\n )}\n </Td>\n </Tr>\n );\n })}\n {hasAddCustomProperty && (\n <Tr>\n <Td colSpan={2}>\n <Button\n size=\"md\"\n variant=\"ghost\"\n leftIcon={<PlusIcon />}\n onClick={addCustomProperty}\n >\n Add Custom Property\n </Button>\n </Td>\n </Tr>\n )}\n </Tbody>\n </Table>\n </Box>\n </Box>\n </Flex>\n );\n};\n\nexport default ContactImportMapping;\n"],"names":["useRef","useEffect","Flex","Box","Heading","Text","Table","Thead","Th","Tbody","Tr","Td","FormInput","FormLabel","IconButton","DeleteIcon","Select","_a","Button","PlusIcon"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-constants.js","sources":["../../../../src/integration-template/components/dashboard-constants.ts"],"sourcesContent":["/**\n * UI strings for Dashboard component\n * Centralized location for all user-facing text\n */\n\nexport const DASHBOARD_UI_STRINGS = {\n // Buttons\n ADD_ACCOUNT: \"Add Account\",\n NEW_MAPPING: \"New Mapping\",\n ADD_NEW: \"Add New\",\n EDIT: \"Edit\",\n DELETE: \"Delete\",\n SYNC: \"Sync\",\n MORE: \"More\",\n \n // Tabs\n ALL: \"All\",\n TRIGGER: \"Trigger\",\n MAPPING: \"Mapping\",\n \n // Headings\n TRIGGER_HEADING: \"Trigger\",\n MAPPING_HEADING: \"Mapping\",\n \n // Descriptions\n TRIGGER_DESCRIPTION: \"Trigger the Survey when a record is created/updated\",\n \n // Tooltips\n TRIGGER_LIMIT_REACHED: \"You have reached the maximum limit for creating triggers\",\n MAPPING_LIMIT_REACHED: \"You have reached the maximum limit for creating mappings\",\n TRIGGER_MAPPING_LIMIT_REACHED: \"You have reached the maximum limit for creating triggers/mappings\",\n \n // Fallback messages\n ZERO_ENTRIES: \"Zero {type} Entries\",\n CREATE_MESSAGE: \"Creating one is as easy as a breeze. Just a click away to get started.\",\n NEW_ITEM: \"New {type}\",\n \n // Table headers\n TYPE: \"Type\",\n SURVEYSPARROW_FIELD: \"SurveySparrow Field\",\n INTEGRATION_FIELD: \"{integrationName} Field\",\n DEFAULT_VALUE: \"Default Value\",\n \n // Section headings\n CONDITION: \"CONDITION\",\n EVENT: \"Event\",\n SEND_SURVEY: \"SEND SURVEY\",\n QUESTIONS: \"Questions\",\n ENRICH: \"Enrich\",\n VARIABLES: \"Variables\",\n CONTACTS: \"Contacts\",\n EXPRESSION: \"Expression\",\n PROPERTY: \"Property\",\n PASSING_VARIABLES: \"PASSING VARIABLES TO SURVEY\",\n PASSING_VARIABLE: \"PASSING VARIABLE TO SURVEY\",\n \n // Event labels\n OBJECT: \"Object:\",\n ACTION: \"Action:\",\n ACCOUNT: \"Account:\",\n SHEET: \"Sheet:\",\n SHARE_TYPE: \"Share Type:\",\n RECIPIENT: \"Recipient:\",\n SHARE_CHANNEL: \"Share Channel:\",\n \n // Modals\n DELETE_TRIGGER_TITLE: \"Delete Trigger?\",\n DELETE_TRIGGER_MESSAGE: \"Are you sure you want to delete the trigger? This action cannot be undone.\",\n DELETE_MAPPING_TITLE: \"Delete Mapping?\",\n DELETE_MAPPING_MESSAGE: \"Are you sure you want to delete the mapping? This action cannot be undone.\",\n \n // Actions\n EDIT_TRIGGER: \"Edit Trigger\",\n EDIT_MAPPING: \"Edit Mapping\",\n \n // Status\n DRAFT: \"DRAFT\",\n \n // Conditions\n WHEN: \"When\",\n OR_WHEN: \"Or\",\n AND_WHEN: \"And\",\n NO_PREFERENCE: \"has no preference\",\n} as const;\n\n/**\n * Get mapping description\n */\nexport const getMappingDescription = (\n integrationName: string,\n field: any\n): string => {\n if (field?.mappingDescription) {\n return field.mappingDescription;\n }\n \n const event = field?.mappingConfiguration?.events?.label?.toLowerCase();\n const action = field?.mappingConfiguration?.action?.label?.toLowerCase();\n const actionPastTense = transformToPastTense(action || \"\");\n \n return `Sync survey responses to ${integrationName} when ${event} is ${actionPastTense}`;\n};\n\n/**\n * Get trigger description\n */\nexport const getTriggerDescription = (\n integrationName: string,\n field: any\n): string => {\n const object = (field as any)?.configuration?.object?.label?.toLowerCase() ?? field?.object?.toLowerCase()\n const action = Array.isArray(field?.action)\n ? field.action?.map((a: any) => typeof a === 'object' && a !== null ? a?.label?.toLowerCase() ?? \"\" : a?.toLowerCase() ?? \"\")?.join(\" or \")\n : field?.action?.toLowerCase();\n \n const article = /^[aeiouAEIOU]$/.test(object?.[0] || \"\") ? \"an\" : \"a\";\n \n return `Trigger survey when ${article} ${object} is ${action} in ${integrationName}`;\n};\n\n/**\n * Transform verb to past tense\n */\nexport const transformToPastTense = (value: string): string => {\n if (!value) return \"\";\n if (value.endsWith(\"e\")) {\n return value + \"d\";\n } else if (value.endsWith(\"y\")) {\n return value.slice(0, -1) + \"ied\";\n } else {\n return value + \"ed\";\n }\n};\n\n"],"names":["_a","_b","_c"],"mappings":";;AAKO,MAAM,oBAAA,GAAuB;AAAA;AAAA,EAElC,WAAA,EAAa,aAAA;AAAA,EACb,WAAA,EAAa,aAAA;AAAA,EACb,OAAA,EAAS,SAAA;AAAA,EACT,IAAA,EAAM,MAAA;AAAA,EACN,MAAA,EAAQ,QAAA;AAAA,EACR,IAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAM,MAAA;AAAA;AAAA,EAGN,GAAA,EAAK,KAAA;AAAA,EACL,OAAA,EAAS,SAAA;AAAA,EACT,OAAA,EAAS,SAAA;AAAA;AAAA,EAGT,eAAA,EAAiB,SAAA;AAAA,EACjB,eAAA,EAAiB,SAAA;AAAA;AAAA,EAGjB,mBAAA,EAAqB,qDAAA;AAAA;AAAA,EAGrB,qBAAA,EAAuB,0DAAA;AAAA,EACvB,qBAAA,EAAuB,0DAAA;AAAA,EACvB,6BAAA,EAA+B,mEAAA;AAAA;AAAA,EAG/B,YAAA,EAAc,qBAAA;AAAA,EACd,cAAA,EAAgB,wEAAA;AAAA,EAChB,QAAA,EAAU,YAAA;AAAA;AAAA,EAGV,IAAA,EAAM,MAAA;AAAA,EACN,mBAAA,EAAqB,qBAAA;AAAA,EACrB,iBAAA,EAAmB,yBAAA;AAAA,EACnB,aAAA,EAAe,eAAA;AAAA;AAAA,EAGf,SAAA,EAAW,WAAA;AAAA,EACX,KAAA,EAAO,OAAA;AAAA,EACP,WAAA,EAAa,aAAA;AAAA,EACb,SAAA,EAAW,WAAA;AAAA,EACX,MAAA,EAAQ,QAAA;AAAA,EACR,SAAA,EAAW,WAAA;AAAA,EACX,QAAA,EAAU,UAAA;AAAA,EACV,UAAA,EAAY,YAAA;AAAA,EACZ,QAAA,EAAU,UAAA;AAAA,EACV,iBAAA,EAAmB,6BAAA;AAAA,EACnB,gBAAA,EAAkB,4BAAA;AAAA;AAAA,EAGlB,MAAA,EAAQ,SAAA;AAAA,EACR,MAAA,EAAQ,SAAA;AAAA,EACR,OAAA,EAAS,UAAA;AAAA,EACT,KAAA,EAAO,QAAA;AAAA,EACP,UAAA,EAAY,aAAA;AAAA,EACZ,SAAA,EAAW,YAAA;AAAA,EACX,aAAA,EAAe,gBAAA;AAAA;AAAA,EAGf,oBAAA,EAAsB,iBAAA;AAAA,EACtB,sBAAA,EAAwB,4EAAA;AAAA,EACxB,oBAAA,EAAsB,iBAAA;AAAA,EACtB,sBAAA,EAAwB,4EAAA;AAAA;AAAA,EAGxB,YAAA,EAAc,cAAA;AAAA,EACd,YAAA,EAAc,cAAA;AAAA;AAAA,EAGd,KAAA,EAAO,OAOT;AAuBO,MAAM,qBAAA,GAAwB,CACnC,eAAA,EACA,KAAA,KACW;
|
|
1
|
+
{"version":3,"file":"dashboard-constants.js","sources":["../../../../src/integration-template/components/dashboard-constants.ts"],"sourcesContent":["/**\n * UI strings for Dashboard component\n * Centralized location for all user-facing text\n */\n\nexport const DASHBOARD_UI_STRINGS = {\n // Buttons\n ADD_ACCOUNT: \"Add Account\",\n NEW_MAPPING: \"New Mapping\",\n NEW_TRIGGER: \"New Trigger\",\n ADD_NEW: \"Add New\",\n EDIT: \"Edit\",\n DELETE: \"Delete\",\n SYNC: \"Sync\",\n MORE: \"More\",\n \n // Tabs\n ALL: \"All\",\n TRIGGER: \"Trigger\",\n MAPPING: \"Mapping\",\n \n // Headings\n TRIGGER_HEADING: \"Trigger\",\n MAPPING_HEADING: \"Mapping\",\n \n // Descriptions\n TRIGGER_DESCRIPTION: \"Trigger the Survey when a record is created/updated\",\n \n // Tooltips\n TRIGGER_LIMIT_REACHED: \"You have reached the maximum limit for creating triggers\",\n MAPPING_LIMIT_REACHED: \"You have reached the maximum limit for creating mappings\",\n TRIGGER_MAPPING_LIMIT_REACHED: \"You have reached the maximum limit for creating triggers/mappings\",\n \n // Fallback messages\n ZERO_ENTRIES: \"Zero {type} Entries\",\n CREATE_MESSAGE: \"Creating one is as easy as a breeze. Just a click away to get started.\",\n NEW_ITEM: \"New {type}\",\n \n // Table headers\n TYPE: \"Type\",\n SURVEYSPARROW_FIELD: \"SurveySparrow Field\",\n INTEGRATION_FIELD: \"{integrationName} Field\",\n DEFAULT_VALUE: \"Default Value\",\n \n // Section headings\n CONDITION: \"CONDITION\",\n EVENT: \"Event\",\n SEND_SURVEY: \"SEND SURVEY\",\n QUESTIONS: \"Questions\",\n ENRICH: \"Enrich\",\n VARIABLES: \"Variables\",\n CONTACTS: \"Contacts\",\n EXPRESSION: \"Expression\",\n PROPERTY: \"Property\",\n PASSING_VARIABLES: \"PASSING VARIABLES TO SURVEY\",\n PASSING_VARIABLE: \"PASSING VARIABLE TO SURVEY\",\n \n // Event labels\n OBJECT: \"Object:\",\n ACTION: \"Action:\",\n ACCOUNT: \"Account:\",\n SHEET: \"Sheet:\",\n SHARE_TYPE: \"Share Type:\",\n RECIPIENT: \"Recipient:\",\n SHARE_CHANNEL: \"Share Channel:\",\n \n // Modals\n DELETE_TRIGGER_TITLE: \"Delete Trigger?\",\n DELETE_TRIGGER_MESSAGE: \"Are you sure you want to delete the trigger? This action cannot be undone.\",\n DELETE_MAPPING_TITLE: \"Delete Mapping?\",\n DELETE_MAPPING_MESSAGE: \"Are you sure you want to delete the mapping? This action cannot be undone.\",\n \n // Actions\n EDIT_TRIGGER: \"Edit Trigger\",\n EDIT_MAPPING: \"Edit Mapping\",\n \n // Status\n DRAFT: \"DRAFT\",\n \n // Conditions\n WHEN: \"When\",\n OR_WHEN: \"Or\",\n AND_WHEN: \"And\",\n NO_PREFERENCE: \"has no preference\",\n} as const;\n\n/**\n * Get mapping description\n */\nexport const getMappingDescription = (\n integrationName: string,\n field: any\n): string => {\n if (field?.mappingDescription) {\n return field.mappingDescription;\n }\n \n const event = field?.mappingConfiguration?.events?.label?.toLowerCase();\n const action = field?.mappingConfiguration?.action?.label?.toLowerCase();\n const actionPastTense = transformToPastTense(action || \"\");\n \n return `Sync survey responses to ${integrationName} when ${event} is ${actionPastTense}`;\n};\n\n/**\n * Get trigger description\n */\nexport const getTriggerDescription = (\n integrationName: string,\n field: any\n): string => {\n const object = (field as any)?.configuration?.object?.label?.toLowerCase() ?? field?.object?.toLowerCase()\n const action = Array.isArray(field?.action)\n ? field.action?.map((a: any) => typeof a === 'object' && a !== null ? a?.label?.toLowerCase() ?? \"\" : a?.toLowerCase() ?? \"\")?.join(\" or \")\n : field?.action?.toLowerCase();\n \n const article = /^[aeiouAEIOU]$/.test(object?.[0] || \"\") ? \"an\" : \"a\";\n \n return `Trigger survey when ${article} ${object} is ${action} in ${integrationName}`;\n};\n\n/**\n * Transform verb to past tense\n */\nexport const transformToPastTense = (value: string): string => {\n if (!value) return \"\";\n if (value.endsWith(\"e\")) {\n return value + \"d\";\n } else if (value.endsWith(\"y\")) {\n return value.slice(0, -1) + \"ied\";\n } else {\n return value + \"ed\";\n }\n};\n\n"],"names":["_a","_b","_c"],"mappings":"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"}
|
|
@@ -17,8 +17,8 @@ var heading = require('../../node_modules/@sparrowengg/twigs-react/dist/es/headi
|
|
|
17
17
|
var text = require('../../node_modules/@sparrowengg/twigs-react/dist/es/text/text.js');
|
|
18
18
|
var button = require('../../node_modules/@sparrowengg/twigs-react/dist/es/button/button.js');
|
|
19
19
|
var plus = require('../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/plus.js');
|
|
20
|
-
var dropdown = require('../../node_modules/@sparrowengg/twigs-react/dist/es/dropdown/dropdown.js');
|
|
21
20
|
var tooltip = require('../../node_modules/@sparrowengg/twigs-react/dist/es/tooltip/tooltip.js');
|
|
21
|
+
var dropdown = require('../../node_modules/@sparrowengg/twigs-react/dist/es/dropdown/dropdown.js');
|
|
22
22
|
var chevronDown = require('../../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/chevron-down.js');
|
|
23
23
|
var tabs = require('../../node_modules/@sparrowengg/twigs-react/dist/es/tabs/tabs.js');
|
|
24
24
|
|
|
@@ -60,6 +60,22 @@ const Dashboard = ({
|
|
|
60
60
|
onClick: () => handleConfigurationType("MAPPING")
|
|
61
61
|
},
|
|
62
62
|
dashboardConstants.DASHBOARD_UI_STRINGS.NEW_MAPPING
|
|
63
|
+
) : null, hasDropdownComponents.trigger && !hasDropdownComponents.mapping ? /* @__PURE__ */ React.createElement(
|
|
64
|
+
tooltip.Tooltip,
|
|
65
|
+
{
|
|
66
|
+
content: !triggerEnabled ? dashboardConstants.DASHBOARD_UI_STRINGS.TRIGGER_LIMIT_REACHED : ""
|
|
67
|
+
},
|
|
68
|
+
/* @__PURE__ */ React.createElement(
|
|
69
|
+
button.Button,
|
|
70
|
+
{
|
|
71
|
+
size: "lg",
|
|
72
|
+
color: "primary",
|
|
73
|
+
disabled: !triggerEnabled,
|
|
74
|
+
leftIcon: /* @__PURE__ */ React.createElement(plus.PlusIcon, null),
|
|
75
|
+
onClick: () => handleConfigurationType("TRIGGER")
|
|
76
|
+
},
|
|
77
|
+
dashboardConstants.DASHBOARD_UI_STRINGS.NEW_TRIGGER
|
|
78
|
+
)
|
|
63
79
|
) : null, hasDropdownComponents.trigger && hasDropdownComponents.mapping ? /* @__PURE__ */ React.createElement(dropdown.DropdownMenu, null, /* @__PURE__ */ React.createElement(
|
|
64
80
|
tooltip.Tooltip,
|
|
65
81
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sources":["../../../../src/integration-template/components/dashboard.tsx"],"sourcesContent":["import {\n Box,\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuTrigger,\n Flex,\n Heading,\n Text,\n Tooltip,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n} from \"@sparrowengg/twigs-react\";\nimport {\n ChevronDownIcon,\n PlusIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React from \"react\";\nimport CursorIcon from \"../../commons/icons/cursor\";\nimport MappingIcon from \"../../commons/icons/mapping\";\nimport \"./style.css\";\nimport {\n FieldOptionsType,\n MappingFieldCollection,\n TriggerFieldCollection,\n DashboardField,\n HandleEditField,\n} from \"../../commons/types/enhanced\";\nimport { DASHBOARD_UI_STRINGS, getTriggerDescription } from \"./dashboard-constants\";\nimport {\n TriggerDashboardItem,\n SingleMappingDashboardItem,\n DashboardItem,\n MultiAccountFallback,\n DropdownItem,\n} from \"./dashboard/index\";\n\ntype DropdownComponents = {\n mapping: boolean;\n trigger: boolean;\n};\n\ntype SingleMappingType = {\n mappedFields: {\n type: string;\n fields: unknown[];\n };\n};\n\ntype DynamicMappingType = {\n type: string;\n fields: unknown[];\n};\n\ntype DashboardProps = {\n onTriggerEditHandler: any;\n hasEditMapping?: boolean;\n onMappingEditHandler: (id: string | number) => void;\n fieldOptions: FieldOptionsType;\n triggerEnabled: boolean;\n mappingEnabled: boolean;\n integrationName: string;\n dashboardDescription: string;\n mappingFields?:\n | MappingFieldCollection\n | SingleMappingType\n | DynamicMappingType;\n triggerFields?: TriggerFieldCollection;\n hasMultiAccounts: boolean;\n handleConfigurationType: (type: string) => void;\n handleEditField: HandleEditField;\n handleDashboardPage: (value: boolean, type: string) => void;\n toggleDashboardField: (id: string | number, status: boolean) => void;\n deleteFieldHandler: (id: string | number) => void;\n syncMapping?: (id: string | number) => void;\n hasDropdownComponents: DropdownComponents;\n};\n\ntype MultiAccountDashboardProps = {\n hasEditMapping?: boolean;\n onMappingEditHandler: (id: string | number) => void;\n syncMapping?: (id: string | number) => void;\n mappingFields?:\n | MappingFieldCollection\n | SingleMappingType\n | DynamicMappingType;\n triggerFields?: TriggerFieldCollection;\n integrationName: string;\n handleDashboardPage: (value: boolean, type: string) => void;\n handleEditField: HandleEditField;\n handleConfigurationType: (type: string) => void;\n toggleDashboardField: (id: string | number, status: boolean) => void;\n deleteFieldHandler: (id: string | number) => void;\n fieldOptions: FieldOptionsType;\n triggerEnabled: boolean;\n mappingEnabled: boolean;\n};\n\nconst Dashboard: React.FC<DashboardProps> = ({\n onTriggerEditHandler,\n hasEditMapping,\n onMappingEditHandler,\n fieldOptions,\n triggerEnabled,\n mappingEnabled,\n integrationName,\n dashboardDescription,\n mappingFields,\n triggerFields,\n hasMultiAccounts,\n handleConfigurationType,\n handleEditField,\n handleDashboardPage,\n deleteFieldHandler,\n toggleDashboardField,\n syncMapping,\n hasDropdownComponents,\n}) => {\n return (\n <Flex justifyContent=\"center\" id=\"ss-integration-template-dashboard-container\">\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: \"$neutral700\" }}>\n {dashboardDescription}\n </Text>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$4\">\n {hasMultiAccounts && (\n <Button size=\"lg\" color=\"default\" leftIcon={<PlusIcon />}>\n {DASHBOARD_UI_STRINGS.ADD_ACCOUNT}\n </Button>\n )}\n {hasDropdownComponents.mapping && !hasDropdownComponents.trigger ? (\n <Button\n size=\"lg\"\n color=\"primary\"\n disabled={!mappingEnabled}\n leftIcon={<PlusIcon />}\n onClick={() => handleConfigurationType(\"MAPPING\")}\n >\n {DASHBOARD_UI_STRINGS.NEW_MAPPING}\n </Button>\n ) : null}\n {hasDropdownComponents.trigger && hasDropdownComponents.mapping ? (\n <DropdownMenu>\n <Tooltip\n content={\n !triggerEnabled && !mappingEnabled\n ? DASHBOARD_UI_STRINGS.TRIGGER_MAPPING_LIMIT_REACHED\n : \"\"\n }\n >\n <DropdownMenuTrigger asChild>\n <Button\n size=\"lg\"\n disabled={!triggerEnabled && !mappingEnabled}\n rightIcon={<ChevronDownIcon />}\n >\n {DASHBOARD_UI_STRINGS.ADD_NEW}\n </Button>\n </DropdownMenuTrigger>\n </Tooltip>\n <DropdownMenuContent\n className=\"dm-sans\"\n sideOffset={4}\n align=\"start\"\n css={{\n maxWidth: 240,\n zIndex: 10,\n \"& p\": {\n margin: \"0 !important\",\n padding: \"0 !important\",\n },\n }}\n >\n {hasDropdownComponents.trigger ? (\n <DropdownItem\n toolTipContent={DASHBOARD_UI_STRINGS.TRIGGER_LIMIT_REACHED}\n isDisabled={!triggerEnabled}\n icon={<CursorIcon size={24} color=\"#6A6A6A\" />}\n heading={DASHBOARD_UI_STRINGS.TRIGGER}\n description={DASHBOARD_UI_STRINGS.TRIGGER_DESCRIPTION}\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n ) : null}\n {hasDropdownComponents.mapping ? (\n <DropdownItem\n isDisabled={!mappingEnabled}\n toolTipContent={DASHBOARD_UI_STRINGS.MAPPING_LIMIT_REACHED}\n icon={<MappingIcon size={24} color=\"#6A6A6A\" />}\n heading={DASHBOARD_UI_STRINGS.MAPPING}\n description={`Create/Update record in ${integrationName} from survey responses`}\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n ) : null}\n </DropdownMenuContent>\n </DropdownMenu>\n ) : null}\n </Flex>\n </Flex>\n <Box\n css={{\n marginBottom: \"$20 !important\",\n }}\n >\n {hasMultiAccounts ? (\n <MultiAccountDashboard\n hasEditMapping={hasEditMapping}\n syncMapping={syncMapping}\n onMappingEditHandler={onMappingEditHandler}\n fieldOptions={fieldOptions}\n triggerEnabled={triggerEnabled}\n mappingEnabled={mappingEnabled}\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 hasEditMapping={hasEditMapping}\n syncMapping={syncMapping}\n onMappingEditHandler={onMappingEditHandler}\n fieldOptions={fieldOptions}\n triggerEnabled={triggerEnabled}\n mappingEnabled={mappingEnabled}\n mappingFields={mappingFields}\n triggerFields={triggerFields}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n onTriggerEditHandler={onTriggerEditHandler}\n />\n )}\n </Box>\n </Box>\n </Flex>\n );\n};\n\nexport default Dashboard;\n\nconst MultiAccountDashboard: React.FC<MultiAccountDashboardProps> = ({\n hasEditMapping,\n onMappingEditHandler,\n syncMapping,\n mappingFields,\n triggerFields,\n integrationName,\n handleDashboardPage,\n handleEditField,\n handleConfigurationType,\n toggleDashboardField,\n deleteFieldHandler,\n}) => {\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\">{DASHBOARD_UI_STRINGS.ALL}</TabsTrigger>\n <TabsTrigger value=\"TRIGGER\">{DASHBOARD_UI_STRINGS.TRIGGER}</TabsTrigger>\n <TabsTrigger value=\"MAPPING\">{DASHBOARD_UI_STRINGS.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: DashboardField) => (\n <DashboardItem\n hasEditMapping={hasEditMapping}\n key={field.id}\n isDraft={field?.isDraft ?? false}\n onMappingEditHandler={onMappingEditHandler}\n icon={<CursorIcon size={32} color=\"#56B0BB\" />}\n heading={\n (field as any).domain ?? (field as any).email ?? DASHBOARD_UI_STRINGS.TRIGGER_HEADING\n }\n id={field.id}\n description={getTriggerDescription(integrationName, field)}\n fields={field.fields as any[]}\n mappingConditions={field.mappingConditions}\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 as MappingFieldCollection)?.fields?.length ? (\n <>\n {(mappingFields as MappingFieldCollection)?.fields?.map(\n (field: DashboardField) => (\n <>\n {(mappingFields as MappingFieldCollection)?.type ===\n \"MULTI_MAPPING\" ? (\n <DashboardItem\n indicatorText={field?.indicatorText}\n Indicator={field?.Indicator}\n hasEditMapping={hasEditMapping}\n key={field.id}\n isDraft={field?.isDraft ?? false}\n onMappingEditHandler={onMappingEditHandler}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading={\n (field as any).domain ??\n (field as any).email ??\n DASHBOARD_UI_STRINGS.MAPPING_HEADING\n }\n id={field.id}\n description={\n field?.mappingDescription ||\n `Sync survey responses to ${integrationName}`\n }\n fields={field.fields as any[]}\n isEnabled={field.isEnabled}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n mappingConditions={field.mappingConditions}\n handleEditField={handleEditField}\n type=\"MAPPING\"\n toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ) : (\n <SingleMappingDashboardItem\n hasEditMapping={hasEditMapping}\n key={field.id}\n field={field}\n integrationName={integrationName}\n syncMapping={syncMapping}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n handleEditField={handleEditField}\n handleDashboardPage={handleDashboardPage}\n toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n onMappingEditHandler={onMappingEditHandler}\n />\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: DashboardField) => (\n <DashboardItem\n mappingConditions={field.mappingConditions}\n key={field.id}\n isDraft={field?.isDraft ?? false}\n onMappingEditHandler={onMappingEditHandler}\n icon={<CursorIcon size={32} color=\"#56B0BB\" />}\n heading={DASHBOARD_UI_STRINGS.TRIGGER}\n id={field.id}\n description={getTriggerDescription(integrationName, field)}\n fields={field.fields as any[]}\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={DASHBOARD_UI_STRINGS.TRIGGER}\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n )}\n </TabsContent>\n <TabsContent\n value=\"MAPPING\"\n css={{ paddingBlock: \"$12\", paddingInline: 0 }}\n >\n {!!(mappingFields as MappingFieldCollection)?.fields?.length ? (\n <>\n <Flex flexDirection=\"column\" gap=\"$8\">\n {(mappingFields as MappingFieldCollection)?.fields?.map(\n (field: DashboardField) => (\n <>\n {(mappingFields as MappingFieldCollection)?.type ===\n \"MULTI_MAPPING\" ? (\n <DashboardItem\n indicatorText={field?.indicatorText}\n Indicator={field?.Indicator}\n mappingConditions={field.mappingConditions}\n key={field.id}\n isDraft={field?.isDraft ?? false}\n onMappingEditHandler={onMappingEditHandler}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading={field?.mappingName || DASHBOARD_UI_STRINGS.MAPPING}\n id={field.id}\n description={\n field?.mappingDescription ||\n `Sync survey responses to ${integrationName}`\n }\n fields={field.fields as any[]}\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 key={field.id}\n field={field}\n integrationName={integrationName}\n syncMapping={syncMapping}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n handleEditField={handleEditField}\n handleDashboardPage={handleDashboardPage}\n toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n onMappingEditHandler={onMappingEditHandler}\n />\n )}\n </>\n )\n )}\n </Flex>\n </>\n ) : (\n <MultiAccountFallback\n title={DASHBOARD_UI_STRINGS.MAPPING}\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n )}\n </TabsContent>\n </Tabs>\n </>\n );\n};\n\ntype SingleAccountDashboardProps = {\n onTriggerEditHandler: any;\n hasEditMapping?: boolean;\n syncMapping?: (id: string | number) => void;\n onMappingEditHandler: (id: string | number) => void;\n fieldOptions: FieldOptionsType;\n triggerEnabled: boolean;\n mappingEnabled: boolean;\n mappingFields?:\n | MappingFieldCollection\n | SingleMappingType\n | DynamicMappingType;\n triggerFields?: TriggerFieldCollection;\n integrationName: string;\n handleEditField: HandleEditField;\n handleDashboardPage: (value: boolean, type: string) => void;\n toggleDashboardField: (id: string | number, status: boolean) => void;\n deleteFieldHandler: (id: string | number) => void;\n};\n\nconst SingleAccountDashboard: React.FC<SingleAccountDashboardProps> = ({\n onTriggerEditHandler,\n hasEditMapping,\n syncMapping,\n onMappingEditHandler,\n fieldOptions,\n triggerEnabled,\n mappingEnabled,\n mappingFields,\n triggerFields,\n integrationName,\n handleEditField,\n handleDashboardPage,\n toggleDashboardField,\n deleteFieldHandler,\n}) => {\n return (\n <>\n {!!triggerFields?.length ? (\n <Box css={{ marginTop: \"$20\" }}>\n {triggerFields?.map((field: DashboardField) => (\n <TriggerDashboardItem\n onTriggerEditHandler={onTriggerEditHandler}\n isDraft={field?.isDraft ?? false}\n fieldOptions={fieldOptions}\n field={field}\n description={field?.description ?? getTriggerDescription(integrationName, 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 as any)?.type === \"DYNAMIC_MAPPING\" ? (\n <>\n {!!(mappingFields as MappingFieldCollection)?.fields?.length ? (\n <Box css={{ marginTop: !triggerFields?.length ? \"$20\" : \"$8\" }}>\n {(mappingFields as MappingFieldCollection)?.fields?.map(\n (field: DashboardField) => {\n if ((field as any)?.type === \"MULTI_MAPPING\") {\n return (\n <DashboardItem\n indicatorText={field?.indicatorText}\n Indicator={field?.Indicator}\n mappingConditions={field.mappingConditions}\n hasEditMapping={hasEditMapping}\n isDraft={field?.isDraft ?? false}\n onMappingEditHandler={onMappingEditHandler}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading={field?.mappingName || DASHBOARD_UI_STRINGS.MAPPING}\n id={field.id}\n description={\n field?.mappingDescription ||\n `Sync survey responses to ${integrationName}`\n }\n fields={field.fields as any[]}\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 } else {\n return (\n <SingleMappingDashboardItem\n hasEditMapping={hasEditMapping}\n onMappingEditHandler={onMappingEditHandler}\n syncMapping={syncMapping}\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 </Box>\n ) : null}\n </>\n ) : (\n <>\n {!!(mappingFields as MappingFieldCollection)?.fields?.length &&\n (mappingFields as MappingFieldCollection)?.type ===\n \"MULTI_MAPPING\" ? (\n <Box css={{ marginTop: !triggerFields?.length ? \"$20\" : \"$8\" }}>\n {(mappingFields as MappingFieldCollection)?.fields?.map(\n (field: DashboardField) => (\n <DashboardItem\n indicatorText={field?.indicatorText}\n Indicator={field?.Indicator}\n mappingConditions={field.mappingConditions}\n isDraft={field?.isDraft ?? false}\n onMappingEditHandler={onMappingEditHandler}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading={field?.mappingName || DASHBOARD_UI_STRINGS.MAPPING}\n id={field.id}\n description={\n field?.mappingDescription ||\n `Sync survey responses to ${integrationName}`\n }\n fields={field.fields as any[]}\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 )}\n </Box>\n ) : null}\n {(mappingFields as any)?.mappedFields?.type === \"SINGLE_MAPPING\" &&\n !!(mappingFields as any)?.mappedFields?.fields?.length ? (\n <Box css={{ marginTop: !triggerFields?.length ? \"$20\" : \"$8\" }}>\n {(\n mappingFields as any\n )?.mappedFields?.fields?.map(\n (field: DashboardField, index: number) => {\n return (\n <SingleMappingDashboardItem\n onMappingEditHandler={onMappingEditHandler}\n syncMapping={syncMapping}\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 </Box>\n ) : null}\n </>\n )}\n </>\n );\n};\n"],"names":["Flex","Box","Heading","Text","Button","PlusIcon","DASHBOARD_UI_STRINGS","DropdownMenu","Tooltip","DropdownMenuTrigger","ChevronDownIcon","DropdownMenuContent","DropdownItem","CursorIcon","MappingIcon","Tabs","TabsList","TabsTrigger","TabsContent","_a","_b","_c","DashboardItem","getTriggerDescription","SingleMappingDashboardItem","MultiAccountFallback","TriggerDashboardItem"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dashboard.js","sources":["../../../../src/integration-template/components/dashboard.tsx"],"sourcesContent":["import {\n Box,\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuTrigger,\n Flex,\n Heading,\n Text,\n Tooltip,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n} from \"@sparrowengg/twigs-react\";\nimport {\n ChevronDownIcon,\n PlusIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport React from \"react\";\nimport CursorIcon from \"../../commons/icons/cursor\";\nimport MappingIcon from \"../../commons/icons/mapping\";\nimport \"./style.css\";\nimport {\n FieldOptionsType,\n MappingFieldCollection,\n TriggerFieldCollection,\n DashboardField,\n HandleEditField,\n} from \"../../commons/types/enhanced\";\nimport { DASHBOARD_UI_STRINGS, getTriggerDescription } from \"./dashboard-constants\";\nimport {\n TriggerDashboardItem,\n SingleMappingDashboardItem,\n DashboardItem,\n MultiAccountFallback,\n DropdownItem,\n} from \"./dashboard/index\";\n\ntype DropdownComponents = {\n mapping: boolean;\n trigger: boolean;\n};\n\ntype SingleMappingType = {\n mappedFields: {\n type: string;\n fields: unknown[];\n };\n};\n\ntype DynamicMappingType = {\n type: string;\n fields: unknown[];\n};\n\ntype DashboardProps = {\n onTriggerEditHandler: any;\n hasEditMapping?: boolean;\n onMappingEditHandler: (id: string | number) => void;\n fieldOptions: FieldOptionsType;\n triggerEnabled: boolean;\n mappingEnabled: boolean;\n integrationName: string;\n dashboardDescription: string;\n mappingFields?:\n | MappingFieldCollection\n | SingleMappingType\n | DynamicMappingType;\n triggerFields?: TriggerFieldCollection;\n hasMultiAccounts: boolean;\n handleConfigurationType: (type: string) => void;\n handleEditField: HandleEditField;\n handleDashboardPage: (value: boolean, type: string) => void;\n toggleDashboardField: (id: string | number, status: boolean) => void;\n deleteFieldHandler: (id: string | number) => void;\n syncMapping?: (id: string | number) => void;\n hasDropdownComponents: DropdownComponents;\n};\n\ntype MultiAccountDashboardProps = {\n hasEditMapping?: boolean;\n onMappingEditHandler: (id: string | number) => void;\n syncMapping?: (id: string | number) => void;\n mappingFields?:\n | MappingFieldCollection\n | SingleMappingType\n | DynamicMappingType;\n triggerFields?: TriggerFieldCollection;\n integrationName: string;\n handleDashboardPage: (value: boolean, type: string) => void;\n handleEditField: HandleEditField;\n handleConfigurationType: (type: string) => void;\n toggleDashboardField: (id: string | number, status: boolean) => void;\n deleteFieldHandler: (id: string | number) => void;\n fieldOptions: FieldOptionsType;\n triggerEnabled: boolean;\n mappingEnabled: boolean;\n};\n\nconst Dashboard: React.FC<DashboardProps> = ({\n onTriggerEditHandler,\n hasEditMapping,\n onMappingEditHandler,\n fieldOptions,\n triggerEnabled,\n mappingEnabled,\n integrationName,\n dashboardDescription,\n mappingFields,\n triggerFields,\n hasMultiAccounts,\n handleConfigurationType,\n handleEditField,\n handleDashboardPage,\n deleteFieldHandler,\n toggleDashboardField,\n syncMapping,\n hasDropdownComponents,\n}) => {\n return (\n <Flex justifyContent=\"center\" id=\"ss-integration-template-dashboard-container\">\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: \"$neutral700\" }}>\n {dashboardDescription}\n </Text>\n </Flex>\n <Flex alignItems=\"center\" gap=\"$4\">\n {hasMultiAccounts && (\n <Button size=\"lg\" color=\"default\" leftIcon={<PlusIcon />}>\n {DASHBOARD_UI_STRINGS.ADD_ACCOUNT}\n </Button>\n )}\n {hasDropdownComponents.mapping && !hasDropdownComponents.trigger ? (\n <Button\n size=\"lg\"\n color=\"primary\"\n disabled={!mappingEnabled}\n leftIcon={<PlusIcon />}\n onClick={() => handleConfigurationType(\"MAPPING\")}\n >\n {DASHBOARD_UI_STRINGS.NEW_MAPPING}\n </Button>\n ) : null}\n {hasDropdownComponents.trigger && !hasDropdownComponents.mapping ? (\n <Tooltip\n content={\n !triggerEnabled\n ? DASHBOARD_UI_STRINGS.TRIGGER_LIMIT_REACHED\n : \"\"\n }\n >\n <Button\n size=\"lg\"\n color=\"primary\"\n disabled={!triggerEnabled}\n leftIcon={<PlusIcon />}\n onClick={() => handleConfigurationType(\"TRIGGER\")}\n >\n {DASHBOARD_UI_STRINGS.NEW_TRIGGER}\n </Button>\n </Tooltip>\n ) : null}\n {hasDropdownComponents.trigger && hasDropdownComponents.mapping ? (\n <DropdownMenu>\n <Tooltip\n content={\n !triggerEnabled && !mappingEnabled\n ? DASHBOARD_UI_STRINGS.TRIGGER_MAPPING_LIMIT_REACHED\n : \"\"\n }\n >\n <DropdownMenuTrigger asChild>\n <Button\n size=\"lg\"\n disabled={!triggerEnabled && !mappingEnabled}\n rightIcon={<ChevronDownIcon />}\n >\n {DASHBOARD_UI_STRINGS.ADD_NEW}\n </Button>\n </DropdownMenuTrigger>\n </Tooltip>\n <DropdownMenuContent\n className=\"dm-sans\"\n sideOffset={4}\n align=\"start\"\n css={{\n maxWidth: 240,\n zIndex: 10,\n \"& p\": {\n margin: \"0 !important\",\n padding: \"0 !important\",\n },\n }}\n >\n {hasDropdownComponents.trigger ? (\n <DropdownItem\n toolTipContent={DASHBOARD_UI_STRINGS.TRIGGER_LIMIT_REACHED}\n isDisabled={!triggerEnabled}\n icon={<CursorIcon size={24} color=\"#6A6A6A\" />}\n heading={DASHBOARD_UI_STRINGS.TRIGGER}\n description={DASHBOARD_UI_STRINGS.TRIGGER_DESCRIPTION}\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n ) : null}\n {hasDropdownComponents.mapping ? (\n <DropdownItem\n isDisabled={!mappingEnabled}\n toolTipContent={DASHBOARD_UI_STRINGS.MAPPING_LIMIT_REACHED}\n icon={<MappingIcon size={24} color=\"#6A6A6A\" />}\n heading={DASHBOARD_UI_STRINGS.MAPPING}\n description={`Create/Update record in ${integrationName} from survey responses`}\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n ) : null}\n </DropdownMenuContent>\n </DropdownMenu>\n ) : null}\n </Flex>\n </Flex>\n <Box\n css={{\n marginBottom: \"$20 !important\",\n }}\n >\n {hasMultiAccounts ? (\n <MultiAccountDashboard\n hasEditMapping={hasEditMapping}\n syncMapping={syncMapping}\n onMappingEditHandler={onMappingEditHandler}\n fieldOptions={fieldOptions}\n triggerEnabled={triggerEnabled}\n mappingEnabled={mappingEnabled}\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 hasEditMapping={hasEditMapping}\n syncMapping={syncMapping}\n onMappingEditHandler={onMappingEditHandler}\n fieldOptions={fieldOptions}\n triggerEnabled={triggerEnabled}\n mappingEnabled={mappingEnabled}\n mappingFields={mappingFields}\n triggerFields={triggerFields}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n handleEditField={handleEditField}\n toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n onTriggerEditHandler={onTriggerEditHandler}\n />\n )}\n </Box>\n </Box>\n </Flex>\n );\n};\n\nexport default Dashboard;\n\nconst MultiAccountDashboard: React.FC<MultiAccountDashboardProps> = ({\n hasEditMapping,\n onMappingEditHandler,\n syncMapping,\n mappingFields,\n triggerFields,\n integrationName,\n handleDashboardPage,\n handleEditField,\n handleConfigurationType,\n toggleDashboardField,\n deleteFieldHandler,\n}) => {\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\">{DASHBOARD_UI_STRINGS.ALL}</TabsTrigger>\n <TabsTrigger value=\"TRIGGER\">{DASHBOARD_UI_STRINGS.TRIGGER}</TabsTrigger>\n <TabsTrigger value=\"MAPPING\">{DASHBOARD_UI_STRINGS.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: DashboardField) => (\n <DashboardItem\n hasEditMapping={hasEditMapping}\n key={field.id}\n isDraft={field?.isDraft ?? false}\n onMappingEditHandler={onMappingEditHandler}\n icon={<CursorIcon size={32} color=\"#56B0BB\" />}\n heading={\n (field as any).domain ?? (field as any).email ?? DASHBOARD_UI_STRINGS.TRIGGER_HEADING\n }\n id={field.id}\n description={getTriggerDescription(integrationName, field)}\n fields={field.fields as any[]}\n mappingConditions={field.mappingConditions}\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 as MappingFieldCollection)?.fields?.length ? (\n <>\n {(mappingFields as MappingFieldCollection)?.fields?.map(\n (field: DashboardField) => (\n <>\n {(mappingFields as MappingFieldCollection)?.type ===\n \"MULTI_MAPPING\" ? (\n <DashboardItem\n indicatorText={field?.indicatorText}\n Indicator={field?.Indicator}\n hasEditMapping={hasEditMapping}\n key={field.id}\n isDraft={field?.isDraft ?? false}\n onMappingEditHandler={onMappingEditHandler}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading={\n (field as any).domain ??\n (field as any).email ??\n DASHBOARD_UI_STRINGS.MAPPING_HEADING\n }\n id={field.id}\n description={\n field?.mappingDescription ||\n `Sync survey responses to ${integrationName}`\n }\n fields={field.fields as any[]}\n isEnabled={field.isEnabled}\n integrationName={integrationName}\n handleDashboardPage={handleDashboardPage}\n mappingConditions={field.mappingConditions}\n handleEditField={handleEditField}\n type=\"MAPPING\"\n toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n />\n ) : (\n <SingleMappingDashboardItem\n hasEditMapping={hasEditMapping}\n key={field.id}\n field={field}\n integrationName={integrationName}\n syncMapping={syncMapping}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n handleEditField={handleEditField}\n handleDashboardPage={handleDashboardPage}\n toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n onMappingEditHandler={onMappingEditHandler}\n />\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: DashboardField) => (\n <DashboardItem\n mappingConditions={field.mappingConditions}\n key={field.id}\n isDraft={field?.isDraft ?? false}\n onMappingEditHandler={onMappingEditHandler}\n icon={<CursorIcon size={32} color=\"#56B0BB\" />}\n heading={DASHBOARD_UI_STRINGS.TRIGGER}\n id={field.id}\n description={getTriggerDescription(integrationName, field)}\n fields={field.fields as any[]}\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={DASHBOARD_UI_STRINGS.TRIGGER}\n onClickHandler={() => handleConfigurationType(\"TRIGGER\")}\n />\n )}\n </TabsContent>\n <TabsContent\n value=\"MAPPING\"\n css={{ paddingBlock: \"$12\", paddingInline: 0 }}\n >\n {!!(mappingFields as MappingFieldCollection)?.fields?.length ? (\n <>\n <Flex flexDirection=\"column\" gap=\"$8\">\n {(mappingFields as MappingFieldCollection)?.fields?.map(\n (field: DashboardField) => (\n <>\n {(mappingFields as MappingFieldCollection)?.type ===\n \"MULTI_MAPPING\" ? (\n <DashboardItem\n indicatorText={field?.indicatorText}\n Indicator={field?.Indicator}\n mappingConditions={field.mappingConditions}\n key={field.id}\n isDraft={field?.isDraft ?? false}\n onMappingEditHandler={onMappingEditHandler}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading={field?.mappingName || DASHBOARD_UI_STRINGS.MAPPING}\n id={field.id}\n description={\n field?.mappingDescription ||\n `Sync survey responses to ${integrationName}`\n }\n fields={field.fields as any[]}\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 key={field.id}\n field={field}\n integrationName={integrationName}\n syncMapping={syncMapping}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n handleEditField={handleEditField}\n handleDashboardPage={handleDashboardPage}\n toggleDashboardField={toggleDashboardField}\n deleteFieldHandler={deleteFieldHandler}\n onMappingEditHandler={onMappingEditHandler}\n />\n )}\n </>\n )\n )}\n </Flex>\n </>\n ) : (\n <MultiAccountFallback\n title={DASHBOARD_UI_STRINGS.MAPPING}\n onClickHandler={() => handleConfigurationType(\"MAPPING\")}\n />\n )}\n </TabsContent>\n </Tabs>\n </>\n );\n};\n\ntype SingleAccountDashboardProps = {\n onTriggerEditHandler: any;\n hasEditMapping?: boolean;\n syncMapping?: (id: string | number) => void;\n onMappingEditHandler: (id: string | number) => void;\n fieldOptions: FieldOptionsType;\n triggerEnabled: boolean;\n mappingEnabled: boolean;\n mappingFields?:\n | MappingFieldCollection\n | SingleMappingType\n | DynamicMappingType;\n triggerFields?: TriggerFieldCollection;\n integrationName: string;\n handleEditField: HandleEditField;\n handleDashboardPage: (value: boolean, type: string) => void;\n toggleDashboardField: (id: string | number, status: boolean) => void;\n deleteFieldHandler: (id: string | number) => void;\n};\n\nconst SingleAccountDashboard: React.FC<SingleAccountDashboardProps> = ({\n onTriggerEditHandler,\n hasEditMapping,\n syncMapping,\n onMappingEditHandler,\n fieldOptions,\n triggerEnabled,\n mappingEnabled,\n mappingFields,\n triggerFields,\n integrationName,\n handleEditField,\n handleDashboardPage,\n toggleDashboardField,\n deleteFieldHandler,\n}) => {\n return (\n <>\n {!!triggerFields?.length ? (\n <Box css={{ marginTop: \"$20\" }}>\n {triggerFields?.map((field: DashboardField) => (\n <TriggerDashboardItem\n onTriggerEditHandler={onTriggerEditHandler}\n isDraft={field?.isDraft ?? false}\n fieldOptions={fieldOptions}\n field={field}\n description={field?.description ?? getTriggerDescription(integrationName, 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 as any)?.type === \"DYNAMIC_MAPPING\" ? (\n <>\n {!!(mappingFields as MappingFieldCollection)?.fields?.length ? (\n <Box css={{ marginTop: !triggerFields?.length ? \"$20\" : \"$8\" }}>\n {(mappingFields as MappingFieldCollection)?.fields?.map(\n (field: DashboardField) => {\n if ((field as any)?.type === \"MULTI_MAPPING\") {\n return (\n <DashboardItem\n indicatorText={field?.indicatorText}\n Indicator={field?.Indicator}\n mappingConditions={field.mappingConditions}\n hasEditMapping={hasEditMapping}\n isDraft={field?.isDraft ?? false}\n onMappingEditHandler={onMappingEditHandler}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading={field?.mappingName || DASHBOARD_UI_STRINGS.MAPPING}\n id={field.id}\n description={\n field?.mappingDescription ||\n `Sync survey responses to ${integrationName}`\n }\n fields={field.fields as any[]}\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 } else {\n return (\n <SingleMappingDashboardItem\n hasEditMapping={hasEditMapping}\n onMappingEditHandler={onMappingEditHandler}\n syncMapping={syncMapping}\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 </Box>\n ) : null}\n </>\n ) : (\n <>\n {!!(mappingFields as MappingFieldCollection)?.fields?.length &&\n (mappingFields as MappingFieldCollection)?.type ===\n \"MULTI_MAPPING\" ? (\n <Box css={{ marginTop: !triggerFields?.length ? \"$20\" : \"$8\" }}>\n {(mappingFields as MappingFieldCollection)?.fields?.map(\n (field: DashboardField) => (\n <DashboardItem\n indicatorText={field?.indicatorText}\n Indicator={field?.Indicator}\n mappingConditions={field.mappingConditions}\n isDraft={field?.isDraft ?? false}\n onMappingEditHandler={onMappingEditHandler}\n icon={<MappingIcon size={32} color=\"#56B0BB\" />}\n heading={field?.mappingName || DASHBOARD_UI_STRINGS.MAPPING}\n id={field.id}\n description={\n field?.mappingDescription ||\n `Sync survey responses to ${integrationName}`\n }\n fields={field.fields as any[]}\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 )}\n </Box>\n ) : null}\n {(mappingFields as any)?.mappedFields?.type === \"SINGLE_MAPPING\" &&\n !!(mappingFields as any)?.mappedFields?.fields?.length ? (\n <Box css={{ marginTop: !triggerFields?.length ? \"$20\" : \"$8\" }}>\n {(\n mappingFields as any\n )?.mappedFields?.fields?.map(\n (field: DashboardField, index: number) => {\n return (\n <SingleMappingDashboardItem\n onMappingEditHandler={onMappingEditHandler}\n syncMapping={syncMapping}\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 </Box>\n ) : null}\n </>\n )}\n </>\n );\n};\n"],"names":["Flex","Box","Heading","Text","Button","PlusIcon","DASHBOARD_UI_STRINGS","Tooltip","DropdownMenu","DropdownMenuTrigger","ChevronDownIcon","DropdownMenuContent","DropdownItem","CursorIcon","MappingIcon","Tabs","TabsList","TabsTrigger","TabsContent","_a","_b","_c","DashboardItem","getTriggerDescription","SingleMappingDashboardItem","MultiAccountFallback","TriggerDashboardItem"],"mappings":"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"}
|
|
@@ -65,7 +65,10 @@ class $2aaf608024c21ca1$export$99faa760c7908e4f {
|
|
|
65
65
|
/** Returns a new `CalendarDate` with the given duration subtracted from it. */ subtract(duration) {
|
|
66
66
|
return (manipulation.subtract)(this, duration);
|
|
67
67
|
}
|
|
68
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* Returns a new `CalendarDate` with the given fields set to the provided values. Other fields
|
|
70
|
+
* will be constrained accordingly.
|
|
71
|
+
*/ set(fields) {
|
|
69
72
|
return (manipulation.set)(this, fields);
|
|
70
73
|
}
|
|
71
74
|
/**
|
|
@@ -74,13 +77,19 @@ class $2aaf608024c21ca1$export$99faa760c7908e4f {
|
|
|
74
77
|
*/ cycle(field, amount, options) {
|
|
75
78
|
return (manipulation.cycleDate)(this, field, amount, options);
|
|
76
79
|
}
|
|
77
|
-
/**
|
|
80
|
+
/**
|
|
81
|
+
* Converts the date to a native JavaScript Date object, with the time set to midnight in the
|
|
82
|
+
* given time zone.
|
|
83
|
+
*/ toDate(timeZone) {
|
|
78
84
|
return (conversion.toDate)(this, timeZone);
|
|
79
85
|
}
|
|
80
86
|
/** Converts the date to an ISO 8601 formatted string. */ toString() {
|
|
81
87
|
return (string.dateToString)(this);
|
|
82
88
|
}
|
|
83
|
-
/**
|
|
89
|
+
/**
|
|
90
|
+
* Compares this date with another. A negative result indicates that this date is before the given
|
|
91
|
+
* one, and a positive date indicates that it is after.
|
|
92
|
+
*/ compare(b) {
|
|
84
93
|
return (queries.compareDate)(this, b);
|
|
85
94
|
}
|
|
86
95
|
}
|
|
@@ -111,7 +120,10 @@ class $2aaf608024c21ca1$export$ca871e8dbb80966f {
|
|
|
111
120
|
/** Returns a new `CalendarDateTime` with the given duration subtracted from it. */ subtract(duration) {
|
|
112
121
|
return (manipulation.subtract)(this, duration);
|
|
113
122
|
}
|
|
114
|
-
/**
|
|
123
|
+
/**
|
|
124
|
+
* Returns a new `CalendarDateTime` with the given fields set to the provided values. Other fields
|
|
125
|
+
* will be constrained accordingly.
|
|
126
|
+
*/ set(fields) {
|
|
115
127
|
return (manipulation.set)((manipulation.setTime)(this, fields), fields);
|
|
116
128
|
}
|
|
117
129
|
/**
|
|
@@ -134,7 +146,10 @@ class $2aaf608024c21ca1$export$ca871e8dbb80966f {
|
|
|
134
146
|
/** Converts the date to an ISO 8601 formatted string. */ toString() {
|
|
135
147
|
return (string.dateTimeToString)(this);
|
|
136
148
|
}
|
|
137
|
-
/**
|
|
149
|
+
/**
|
|
150
|
+
* Compares this date with another. A negative result indicates that this date is before the given
|
|
151
|
+
* one, and a positive date indicates that it is after.
|
|
152
|
+
*/ compare(b) {
|
|
138
153
|
let res = (queries.compareDate)(this, b);
|
|
139
154
|
if (res === 0) return (queries.compareTime)(this, (conversion.toCalendarDateTime)(b));
|
|
140
155
|
return res;
|
|
@@ -171,7 +186,10 @@ class $2aaf608024c21ca1$export$d3b7288e7994edea {
|
|
|
171
186
|
/** Returns a new `ZonedDateTime` with the given duration subtracted from it. */ subtract(duration) {
|
|
172
187
|
return (manipulation.subtractZoned)(this, duration);
|
|
173
188
|
}
|
|
174
|
-
/**
|
|
189
|
+
/**
|
|
190
|
+
* Returns a new `ZonedDateTime` with the given fields set to the provided values. Other fields
|
|
191
|
+
* will be constrained accordingly.
|
|
192
|
+
*/ set(fields, disambiguation) {
|
|
175
193
|
return (manipulation.setZoned)(this, fields, disambiguation);
|
|
176
194
|
}
|
|
177
195
|
/**
|
|
@@ -183,13 +201,19 @@ class $2aaf608024c21ca1$export$d3b7288e7994edea {
|
|
|
183
201
|
/** Converts the date to a native JavaScript Date object. */ toDate() {
|
|
184
202
|
return (conversion.zonedToDate)(this);
|
|
185
203
|
}
|
|
186
|
-
/**
|
|
204
|
+
/**
|
|
205
|
+
* Converts the date to an ISO 8601 formatted string, including the UTC offset and time zone
|
|
206
|
+
* identifier.
|
|
207
|
+
*/ toString() {
|
|
187
208
|
return (string.zonedDateTimeToString)(this);
|
|
188
209
|
}
|
|
189
210
|
/** Converts the date to an ISO 8601 formatted string in UTC. */ toAbsoluteString() {
|
|
190
211
|
return this.toDate().toISOString();
|
|
191
212
|
}
|
|
192
|
-
/**
|
|
213
|
+
/**
|
|
214
|
+
* Compares this date with another. A negative result indicates that this date is before the given
|
|
215
|
+
* one, and a positive date indicates that it is after.
|
|
216
|
+
*/ compare(b) {
|
|
193
217
|
// TODO: Is this a bad idea??
|
|
194
218
|
return this.toDate().getTime() - (conversion.toZoned)(b, this.timeZone).toDate().getTime();
|
|
195
219
|
}
|