@bigbinary/neeto-email-delivery-frontend 1.0.21 → 1.0.22

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/README.md CHANGED
@@ -64,7 +64,7 @@ class ApplicationMailer < NeetoCommonsBackend::ApplicationMailer
64
64
  # ...
65
65
  end
66
66
 
67
- 6. Include NeetoEmailDeliveryEngine::HasEmailIntegrations in the host's owner model and override the `email_delivery_redirect_url` method
67
+ 6. Include NeetoEmailDeliveryEngine::HasEmailIntegrations in the host's owner model and override the `email_delivery_redirect_url` and `get_organization_id` method
68
68
 
69
69
  ```diff
70
70
  class Form < ApplicationRecord
@@ -76,6 +76,10 @@ class Form < ApplicationRecord
76
76
  # "/admin/..."
77
77
  end
78
78
 
79
+ def get_organization_id
80
+ # organization_id
81
+ end
82
+
79
83
  end
80
84
  ````
81
85
 
@@ -103,22 +107,20 @@ end
103
107
 
104
108
  9. Override the `send_disconnection_email` private method -
105
109
 
106
- - app/overrides/services/neeto_email_delivery_engine/gmail/send_email_service_override.rb
107
- - app/overrides/services/neeto_email_delivery_engine/outlook/send_email_service_override.rb
108
- - app/overrides/services/neeto_email_delivery_engine/smtp/send_email_service_override.rb
109
-
110
- Example:
110
+ - app/overrides/services/neeto_email_delivery_engine/base_email_service_override.rb
111
111
 
112
112
  ```ruby
113
- NeetoEmailDeliveryEngine::Gmail::SendEmailService.class_eval do
113
+ NeetoEmailDeliveryEngine::BaseEmailService.class_eval do
114
114
 
115
115
  private
116
116
 
117
- def send_disconnection_email
118
- organization = @gmail_account.organization
117
+ def send_disconnection_email(integrable, organization_id, type)
118
+ # Call your mailer logic
119
+ # type: gmail, outlook, smtp
120
+
119
121
  # DisconnectionMailer
120
- # .with(organization_id: organization.id)
121
- # .send_email(user: @gmail_account.integrable, type: "gmail")
122
+ # .with(organization_id: organization_id)
123
+ # .send_email(user: integrable, type:)
122
124
  # .deliver_later
123
125
  end
124
126
  end
@@ -327,26 +329,8 @@ disconnect the integration and send out an email. To customize the email, the
327
329
  host application needs to add an override so that they are in control of the
328
330
  mailers.
329
331
 
330
- ```ruby
331
- # Inside the host application
332
-
333
- # app/overrides/services/neeto_email_delivery_engine/gmail/send_email_service_override.rb
334
- NeetoEmailDeliveryEngine::Gmail::SendEmailService.class_eval do
335
- private
332
+ Override the base_email_service.rb as mentioned above in installation step 9.
336
333
 
337
- def send_disconnection_email
338
- # Call your mailer logic
339
- end
340
- end
341
-
342
- # app/overrides/services/neeto_email_delivery_engine/outlook/send_email_service_override.rb
343
- NeetoEmailDeliveryEngine::Outlook::SendEmailService.class_eval do
344
- private
345
-
346
- def send_disconnection_email
347
- # Call your mailer logic
348
- end
349
- end
350
334
  ```
351
335
 
352
336
  ## Instructions for Publishing
@@ -354,3 +338,4 @@ end
354
338
  Consult the
355
339
  [building and releasing packages](https://neeto-engineering.neetokb.com/articles/building-and-releasing-packages)
356
340
  guide for details on how to publish..
341
+ ```
@@ -342,6 +342,7 @@ var IntegrationCard = function IntegrationCard(_ref) {
342
342
  })
343
343
  })]
344
344
  }), /*#__PURE__*/jsx(Typography, {
345
+ className: "min-w-0 break-words",
345
346
  style: "body2",
346
347
  children: description
347
348
  }), connectButtonText && /*#__PURE__*/jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"EmailDeliveryScreen.js","sources":["../app/javascript/src/components/Smtp/constants.js","../app/javascript/src/components/Smtp/Setup.jsx","../app/javascript/src/hooks/integrations/useGmail.js","../app/javascript/src/hooks/integrations/useOutlook.js","../app/javascript/src/hooks/integrations/useSmtp.js","../app/javascript/src/components/EmailDeliveryScreen/constants.js","../app/javascript/src/components/EmailDeliveryScreen/IntegrationCard.jsx","../app/javascript/src/components/EmailDeliveryScreen/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const ENCRYPTION_OPTIONS = [\n { label: \"None\", value: \"none\" },\n { label: \"StartTLS\", value: \"starttls\" },\n { label: \"SSL\", value: \"ssl\" },\n];\n\nexport const SMTP_ACCOUNT_INITIAL_VALUES = {\n host: \"\",\n port: 587,\n username: \"\",\n password: \"\",\n email: \"\",\n encryption: \"starttls\",\n displayName: \"\",\n};\n\nexport const SMTP_ACCOUNT_VALIDATION_SCHEMA = yup.object().shape({\n host: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.hostLabel\"),\n })\n ),\n port: yup.number().required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.portLabel\"),\n })\n ),\n username: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.usernameLabel\"),\n })\n ),\n password: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.passwordLabel\"),\n })\n ),\n email: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.emailLabel\"),\n })\n )\n .email(t(\"neetoEmailDelivery.smtp.setup.emailInvalid\")),\n displayName: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.displayNameLabel\"),\n })\n ),\n encryption: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.encryptionLabel\"),\n })\n ),\n});\n","import { Callout, Pane, Typography } from \"neetoui\";\nimport { Form, Input, Radio, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateSmtp } from \"hooks/reactQuery/integrations/useSmtpIntegrationApi\";\n\nimport {\n SMTP_ACCOUNT_INITIAL_VALUES,\n SMTP_ACCOUNT_VALIDATION_SCHEMA,\n ENCRYPTION_OPTIONS,\n} from \"./constants\";\n\nconst SmtpSetup = ({ ownerId, onDone, onCancel, isOpen }) => {\n const { t } = useTranslation();\n\n const { isPending: isCreating, mutate: createSmtp } = useCreateSmtp({\n ownerId,\n });\n\n const handleSubmit = values => {\n createSmtp({ smtp_account: values }, { onSuccess: onDone });\n };\n\n return (\n <Pane {...{ isOpen }} size=\"lg\" onClose={onCancel}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoEmailDelivery.smtp.setup.title\")}\n </Typography>\n </Pane.Header>\n <Form\n className=\"w-full\"\n formikProps={{\n initialValues: SMTP_ACCOUNT_INITIAL_VALUES,\n validationSchema: SMTP_ACCOUNT_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body className=\"space-y-4\">\n <div className=\"flex flex-col gap-6\">\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.smtp.setup.note\")}\n </Callout>\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.hostLabel\")}\n name=\"host\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.portLabel\")}\n name=\"port\"\n type=\"number\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.usernameLabel\")}\n name=\"username\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.passwordLabel\")}\n name=\"password\"\n type=\"password\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.emailLabel\")}\n name=\"email\"\n type=\"email\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.displayNameLabel\")}\n name=\"displayName\"\n />\n <Radio\n label={t(\"neetoEmailDelivery.smtp.setup.encryptionLabel\")}\n name=\"encryption\"\n >\n {ENCRYPTION_OPTIONS.map(option => (\n <Radio.Item\n key={option.value}\n label={option.label}\n value={option.value}\n />\n ))}\n </Radio>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onCancel }}\n isSubmitting={isCreating}\n submitButtonProps={{\n label: t(\"neetoEmailDelivery.smtp.setup.saveAndActivate\"),\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default SmtpSetup;\n","import { useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n useFetchGmail,\n useDestroyGmail,\n} from \"hooks/reactQuery/integrations/useGmailIntegrationApi\";\nimport { invalidateAllIntegrationQueries } from \"src/utils\";\n\nconst useGmail = ({ ownerId, indexRoute, canManageIntegrations }) => {\n const [isDisconnectAlertOpen, setIsDisconnectAlertOpen] = useState(false);\n\n const history = useHistory();\n\n const queryClient = useQueryClient();\n\n const { isLoading, data = {} } = useFetchGmail(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: destroyIntegration } =\n useDestroyGmail({ ownerId });\n\n const onClose = () => history.replace(indexRoute);\n\n const onDisconnect = () => {\n destroyIntegration(false, {\n onSuccess: () => {\n setIsDisconnectAlertOpen(false);\n invalidateAllIntegrationQueries(queryClient, ownerId);\n history.replace(indexRoute);\n },\n });\n };\n\n return {\n data,\n isLoading,\n isDestroying,\n exists: data?.exists,\n isConnected: data?.connected,\n isDisconnectAlertOpen,\n setIsDisconnectAlertOpen,\n onDisconnect,\n onClose,\n errorMessage: data?.error,\n };\n};\n\nexport default useGmail;\n","import { useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n useFetchOutlook,\n useDestroyOutlook,\n} from \"hooks/reactQuery/integrations/useOutlookIntegrationApi\";\nimport { invalidateAllIntegrationQueries } from \"src/utils\";\n\nconst useOutlook = ({ ownerId, indexRoute, canManageIntegrations }) => {\n const [isDisconnectAlertOpen, setIsDisconnectAlertOpen] = useState(false);\n\n const history = useHistory();\n\n const queryClient = useQueryClient();\n\n const { isLoading, data = {} } = useFetchOutlook(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: destroyIntegration } =\n useDestroyOutlook({ ownerId });\n\n const onClose = () => history.replace(indexRoute);\n\n const onDisconnect = () => {\n destroyIntegration(false, {\n onSuccess: () => {\n setIsDisconnectAlertOpen(false);\n invalidateAllIntegrationQueries(queryClient, ownerId);\n history.replace(indexRoute);\n },\n });\n };\n\n return {\n data,\n isLoading,\n exists: data?.exists,\n status: data?.status,\n shadowAccount: data?.shadowAccount,\n isWaitingForTestEmail: data?.status === \"inactive\" && !data?.connected,\n isDestroying,\n isConnected: data?.connected,\n isDisconnectAlertOpen,\n setIsDisconnectAlertOpen,\n onDisconnect,\n onClose,\n errorMessage: data?.error,\n };\n};\n\nexport default useOutlook;\n","import {\n useFetchSmtp,\n useDestroySmtp,\n} from \"hooks/reactQuery/integrations/useSmtpIntegrationApi\";\n\nconst useSmtp = ({ ownerId, canManageIntegrations }) => {\n const { isLoading, data = {} } = useFetchSmtp(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: onDisconnect } = useDestroySmtp({\n ownerId,\n });\n\n return {\n data,\n isConnected: data?.connected,\n isLoading,\n isDestroying,\n onDisconnect,\n exists: data?.exists,\n };\n};\n\nexport default useSmtp;\n","import { t } from \"i18next\";\n\nexport const ERROR_MESSAGES = {\n gmail_permission_not_given: t(\"neetoEmailDelivery.gmail.permissionNotGiven\"),\n outlook_permission_not_given: t(\n \"neetoEmailDelivery.outlook.permissionNotGiven\"\n ),\n outlook_invalid_client: t(\"neetoEmailDelivery.outlook.invalidClient\"),\n outlook_nil_json_web_token: t(\"neetoEmailDelivery.outlook.nilJsonWebToken\"),\n};\n","import { Button, Tag, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst IntegrationCard = ({\n icon: Icon,\n title,\n description,\n isConnected,\n isDisconnecting,\n onConnect,\n onDisconnect,\n connectButtonText,\n disconnectButtonText = \"neetoEmailDelivery.sparkpost.emailDelivery.disconnect\",\n connectedTagText = \"neetoEmailDelivery.sparkpost.emailDelivery.connected\",\n showDisconnect = false,\n showManageButton = false,\n manageButtonText,\n onManage,\n}) => {\n const { t } = useTranslation();\n\n const shouldShowDisconnect = isConnected || showDisconnect;\n\n return (\n <div className=\"neeto-ui-rounded-lg neeto-ui-shadow-xs neeto-ui-border-gray-300 translate flex flex-col gap-y-4 border p-6 no-underline transition-transform duration-300 ease-in-out outline-none hover:-translate-y-1\">\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex items-center gap-3\">\n <Icon className=\"shrink-0\" size={32} />\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h4\" weight=\"semibold\">\n {title}\n </Typography>\n {isConnected && <Tag label={t(connectedTagText)} />}\n </div>\n </div>\n </div>\n <Typography style=\"body2\">{description}</Typography>\n {connectButtonText && (\n <div className=\"flex gap-2\">\n {showManageButton && (\n <Button\n data-testid=\"manage-button\"\n label={t(manageButtonText)}\n size=\"small\"\n style=\"secondary\"\n onClick={onManage}\n />\n )}\n {shouldShowDisconnect ? (\n <Button\n data-testid=\"disconnect-button\"\n label={t(disconnectButtonText)}\n loading={isDisconnecting}\n size=\"small\"\n style=\"danger\"\n onClick={onDisconnect}\n />\n ) : (\n <Button\n data-testid=\"connect-button\"\n label={t(connectButtonText)}\n size=\"small\"\n style=\"primary\"\n onClick={onConnect}\n />\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default IntegrationCard;\n","import { useState } from \"react\";\n\nimport { humanize, isPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { MailSend } from \"neetoicons\";\nimport { Gmail as GmailIcon, Outlook as OutlookIcon } from \"neetoicons/misc\";\nimport { Spinner, Callout, Toastr } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n GMAIL_OAUTH_CONNECT_URL,\n OUTLOOK_OAUTH_CONNECT_URL,\n} from \"apis/integrations/constants\";\nimport SmtpSetup from \"components/Smtp/Setup\";\nimport useGmail from \"hooks/integrations/useGmail\";\nimport useOutlook from \"hooks/integrations/useOutlook\";\nimport useSmtp from \"hooks/integrations/useSmtp\";\nimport useSparkpostDomain from \"hooks/integrations/useSparkpostDomain\";\n\nimport { ERROR_MESSAGES } from \"./constants\";\nimport IntegrationCard from \"./IntegrationCard\";\n\nconst EmailDeliveryScreen = ({\n indexRoute,\n ownerId,\n ownDomainSetupRoute,\n ownDomainVerifyRoute,\n canManageIntegrations,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [isSmtpPaneOpen, setIsSmtpPaneOpen] = useState(false);\n const { error, errorDescription } = useQueryParams();\n\n if (isPresent(error)) {\n let errorMessage = ERROR_MESSAGES[error];\n if (errorDescription) {\n errorMessage = `${errorMessage} ${errorDescription}`;\n }\n Toastr.error(errorMessage ?? humanize(error));\n\n history.replace(indexRoute);\n }\n\n const gmailIntegration = useGmail({\n ownerId,\n indexRoute,\n canManageIntegrations,\n });\n\n const outlookIntegration = useOutlook({\n ownerId,\n indexRoute,\n canManageIntegrations,\n });\n\n const sparkpostIntegration = useSparkpostDomain({\n ownerId,\n canManageIntegrations,\n });\n\n const smtpIntegration = useSmtp({ ownerId, canManageIntegrations });\n\n const {\n data: gmailData = {},\n isConnected: isGmailConnected,\n isLoading: isGmailLoading,\n isDestroying: isGmailDisconnecting,\n onDisconnect: onGmailDisconnect,\n exists: isGmailExists,\n } = gmailIntegration;\n\n const {\n data: outlookData = {},\n isConnected: isOutlookConnected,\n isLoading: isOutlookLoading,\n isDestroying: isOutlookDisconnecting,\n isWaitingForTestEmail: isOutlookWaitingForTestEmail,\n shadowAccount: isOutlookShadowAccount,\n onDisconnect: onOutlookDisconnect,\n exists: isOutlookExists,\n } = outlookIntegration;\n\n const {\n data: sparkpostData = {},\n isConnected: isSparkpostConnected,\n isLoading: isSparkpostLoading,\n onDisconnect: onSparkpostDisconnect,\n isDestroying: isSparkpostDisconnecting,\n exists: isSparkpostExists,\n } = sparkpostIntegration;\n\n const {\n data: smtpData = {},\n isConnected: isSmtpConnected,\n isLoading: isSmtpLoading,\n isDestroying: isSmtpDisconnecting,\n onDisconnect: onSmtpDisconnect,\n exists: isSmtpExists,\n } = smtpIntegration;\n\n const isLoading =\n isGmailLoading || isOutlookLoading || isSparkpostLoading || isSmtpLoading;\n\n const noneExists =\n !isGmailExists && !isOutlookExists && !isSparkpostExists && !isSmtpExists;\n const showGmail = noneExists || isGmailExists;\n const showOutlook = noneExists || isOutlookExists;\n const showSparkpost = noneExists || isSparkpostExists;\n const showSmtp = noneExists || isSmtpExists;\n const sparkpostVerificationPending =\n isSparkpostExists && !isSparkpostConnected;\n\n const handleGmailConnect = () => {\n window.location.href = buildUrl(GMAIL_OAUTH_CONNECT_URL, { ownerId });\n };\n\n const handleOutlookConnect = () => {\n window.location.href = buildUrl(OUTLOOK_OAUTH_CONNECT_URL, { ownerId });\n };\n\n const handleOwnDomainConnect = () => {\n history.push(ownDomainSetupRoute);\n };\n\n const handleSmtpConnect = () => {\n setIsSmtpPaneOpen(true);\n };\n\n const handleSmtpPaneClose = () => {\n setIsSmtpPaneOpen(false);\n };\n\n const gmailEmail = prop(\"email\", gmailData);\n const outlookEmail = prop(\"email\", outlookData);\n const sparkpostEmail = prop(\"email\", sparkpostData);\n const sparkpostDomain = prop(\"domain\", sparkpostData);\n const smtpEmail = prop(\"email\", smtpData);\n\n const showVerificationPage = () => {\n history.push(\n buildUrl(ownDomainVerifyRoute, {\n domain: sparkpostDomain,\n email: sparkpostEmail,\n })\n );\n };\n\n const gmailTitle = t(\"neetoEmailDelivery.gmail.title\");\n const gmailDescription = isGmailConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: gmailEmail,\n })\n : t(\"neetoEmailDelivery.gmail.description\");\n\n const outlookTitle = t(\"neetoEmailDelivery.outlook.title\");\n const outlookDescription = isOutlookConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: outlookEmail,\n })\n : t(\"neetoEmailDelivery.outlook.description\");\n\n const ownDomainTitle = t(\n \"neetoEmailDelivery.sparkpost.emailDelivery.ownDomainTitle\"\n );\n\n const ownDomainDescription = isSparkpostConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: sparkpostEmail,\n })\n : t(\"neetoEmailDelivery.sparkpost.emailDelivery.ownDomainDescription\");\n\n const smtpTitle = t(\"neetoEmailDelivery.smtp.title\");\n const smtpDescription = isSmtpConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: smtpEmail,\n })\n : t(\"neetoEmailDelivery.smtp.description\");\n\n if (isLoading) {\n return (\n <div className=\"flex grow items-center justify-center w-full\">\n <Spinner />\n </div>\n );\n }\n\n const activeMessage =\n (isGmailConnected && t(\"neetoEmailDelivery.gmail.gmailConfigured\")) ||\n (isOutlookConnected && t(\"neetoEmailDelivery.outlook.outlookConfigured\")) ||\n (isSparkpostConnected &&\n t(\"neetoEmailDelivery.sparkpost.ownDomainConfigured\")) ||\n (isSmtpConnected && t(\"neetoEmailDelivery.smtp.smtpConfigured\"));\n\n return (\n <div className=\"min-h-0 w-full grow\">\n <div className=\"@container mx-auto space-y-6\">\n <div className=\"grid grid-cols-1 gap-3 py-1 @lg:grid-cols-2 @lg:gap-6 @3xl:grid-cols-3 @7xl:grid-cols-4\">\n {/* Gmail Option */}\n {showGmail && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.gmail.connectGmail\"\n description={gmailDescription}\n icon={GmailIcon}\n isConnected={isGmailConnected}\n isDisconnecting={isGmailDisconnecting}\n title={gmailTitle}\n onConnect={handleGmailConnect}\n onDisconnect={onGmailDisconnect}\n />\n )}\n {/* Outlook Option */}\n {showOutlook && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.outlook.connectOutlook\"\n description={outlookDescription}\n icon={OutlookIcon}\n isConnected={isOutlookConnected}\n isDisconnecting={isOutlookDisconnecting}\n title={outlookTitle}\n showDisconnect={\n isOutlookWaitingForTestEmail || isOutlookShadowAccount\n }\n onConnect={handleOutlookConnect}\n onDisconnect={onOutlookDisconnect}\n />\n )}\n {/* Own Domain (Sparkpost) Option */}\n {showSparkpost && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.sparkpost.emailDelivery.setupDomain\"\n description={ownDomainDescription}\n icon={MailSend}\n isConnected={isSparkpostConnected}\n isDisconnecting={isSparkpostDisconnecting}\n manageButtonText=\"neetoEmailDelivery.sparkpost.emailDelivery.continueVerification\"\n showManageButton={sparkpostVerificationPending}\n title={ownDomainTitle}\n showDisconnect={\n sparkpostVerificationPending || isSparkpostConnected\n }\n onConnect={handleOwnDomainConnect}\n onDisconnect={onSparkpostDisconnect}\n onManage={showVerificationPage}\n />\n )}\n {/* SMTP Option */}\n {showSmtp && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.smtp.connectSmtp\"\n description={smtpDescription}\n icon={MailSend}\n isConnected={isSmtpConnected}\n isDisconnecting={isSmtpDisconnecting}\n title={smtpTitle}\n onConnect={handleSmtpConnect}\n onDisconnect={onSmtpDisconnect}\n />\n )}\n </div>\n {activeMessage && <Callout style=\"success\">{activeMessage}</Callout>}\n {isOutlookWaitingForTestEmail && (\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.outlook.waitingForTestEmail\", {\n email: outlookEmail,\n })}\n </Callout>\n )}\n {sparkpostVerificationPending && (\n <Callout style=\"warning\">\n {t(\n \"neetoEmailDelivery.sparkpost.emailDelivery.verificationPending\",\n { domain: sparkpostDomain }\n )}\n </Callout>\n )}\n {isOutlookShadowAccount && (\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.outlook.shadowAccountMessage\", {\n email: outlookEmail,\n })}\n </Callout>\n )}\n </div>\n <SmtpSetup\n {...{ ownerId }}\n isOpen={isSmtpPaneOpen}\n onCancel={handleSmtpPaneClose}\n onDone={handleSmtpPaneClose}\n />\n </div>\n );\n};\n\nexport default EmailDeliveryScreen;\n"],"names":["ENCRYPTION_OPTIONS","label","value","SMTP_ACCOUNT_INITIAL_VALUES","host","port","username","password","email","encryption","displayName","SMTP_ACCOUNT_VALIDATION_SCHEMA","yup","object","shape","string","trim","required","t","field","number","SmtpSetup","_ref","ownerId","onDone","onCancel","isOpen","_useTranslation","useTranslation","_useCreateSmtp","useCreateSmtp","isCreating","isPending","createSmtp","mutate","handleSubmit","values","smtp_account","onSuccess","_jsxs","Pane","size","onClose","children","_jsx","Header","Typography","style","weight","Form","className","formikProps","initialValues","validationSchema","onSubmit","Body","Callout","Input","name","type","Radio","map","option","Item","Footer","ActionBlock","cancelButtonProps","onClick","isSubmitting","submitButtonProps","useGmail","indexRoute","canManageIntegrations","_useState","useState","_useState2","_slicedToArray","isDisconnectAlertOpen","setIsDisconnectAlertOpen","history","useHistory","queryClient","useQueryClient","_useFetchGmail","useFetchGmail","enabled","isLoading","_useFetchGmail$data","data","_useDestroyGmail","useDestroyGmail","isDestroying","destroyIntegration","replace","onDisconnect","invalidateAllIntegrationQueries","exists","isConnected","connected","errorMessage","error","useOutlook","_useFetchOutlook","useFetchOutlook","_useFetchOutlook$data","_useDestroyOutlook","useDestroyOutlook","status","shadowAccount","isWaitingForTestEmail","useSmtp","_useFetchSmtp","useFetchSmtp","_useFetchSmtp$data","_useDestroySmtp","useDestroySmtp","ERROR_MESSAGES","gmail_permission_not_given","outlook_permission_not_given","outlook_invalid_client","outlook_nil_json_web_token","IntegrationCard","Icon","icon","title","description","isDisconnecting","onConnect","connectButtonText","_ref$disconnectButton","disconnectButtonText","_ref$connectedTagText","connectedTagText","_ref$showDisconnect","showDisconnect","_ref$showManageButton","showManageButton","manageButtonText","onManage","shouldShowDisconnect","Tag","Button","loading","EmailDeliveryScreen","ownDomainSetupRoute","ownDomainVerifyRoute","isSmtpPaneOpen","setIsSmtpPaneOpen","_useQueryParams","useQueryParams","errorDescription","isPresent","_errorMessage","concat","Toastr","humanize","gmailIntegration","outlookIntegration","sparkpostIntegration","useSparkpostDomain","smtpIntegration","_gmailIntegration$dat","gmailData","isGmailConnected","isGmailLoading","isGmailDisconnecting","onGmailDisconnect","isGmailExists","_outlookIntegration$d","outlookData","isOutlookConnected","isOutlookLoading","isOutlookDisconnecting","isOutlookWaitingForTestEmail","isOutlookShadowAccount","onOutlookDisconnect","isOutlookExists","_sparkpostIntegration","sparkpostData","isSparkpostConnected","isSparkpostLoading","onSparkpostDisconnect","isSparkpostDisconnecting","isSparkpostExists","_smtpIntegration$data","smtpData","isSmtpConnected","isSmtpLoading","isSmtpDisconnecting","onSmtpDisconnect","isSmtpExists","noneExists","showGmail","showOutlook","showSparkpost","showSmtp","sparkpostVerificationPending","handleGmailConnect","window","location","href","buildUrl","GMAIL_OAUTH_CONNECT_URL","handleOutlookConnect","OUTLOOK_OAUTH_CONNECT_URL","handleOwnDomainConnect","push","handleSmtpConnect","handleSmtpPaneClose","gmailEmail","prop","outlookEmail","sparkpostEmail","sparkpostDomain","smtpEmail","showVerificationPage","domain","gmailTitle","gmailDescription","outlookTitle","outlookDescription","ownDomainTitle","ownDomainDescription","smtpTitle","smtpDescription","Spinner","activeMessage","GmailIcon","OutlookIcon","MailSend"],"mappings":"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"}
1
+ {"version":3,"file":"EmailDeliveryScreen.js","sources":["../app/javascript/src/components/Smtp/constants.js","../app/javascript/src/components/Smtp/Setup.jsx","../app/javascript/src/hooks/integrations/useGmail.js","../app/javascript/src/hooks/integrations/useOutlook.js","../app/javascript/src/hooks/integrations/useSmtp.js","../app/javascript/src/components/EmailDeliveryScreen/constants.js","../app/javascript/src/components/EmailDeliveryScreen/IntegrationCard.jsx","../app/javascript/src/components/EmailDeliveryScreen/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const ENCRYPTION_OPTIONS = [\n { label: \"None\", value: \"none\" },\n { label: \"StartTLS\", value: \"starttls\" },\n { label: \"SSL\", value: \"ssl\" },\n];\n\nexport const SMTP_ACCOUNT_INITIAL_VALUES = {\n host: \"\",\n port: 587,\n username: \"\",\n password: \"\",\n email: \"\",\n encryption: \"starttls\",\n displayName: \"\",\n};\n\nexport const SMTP_ACCOUNT_VALIDATION_SCHEMA = yup.object().shape({\n host: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.hostLabel\"),\n })\n ),\n port: yup.number().required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.portLabel\"),\n })\n ),\n username: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.usernameLabel\"),\n })\n ),\n password: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.passwordLabel\"),\n })\n ),\n email: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.emailLabel\"),\n })\n )\n .email(t(\"neetoEmailDelivery.smtp.setup.emailInvalid\")),\n displayName: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.displayNameLabel\"),\n })\n ),\n encryption: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.encryptionLabel\"),\n })\n ),\n});\n","import { Callout, Pane, Typography } from \"neetoui\";\nimport { Form, Input, Radio, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateSmtp } from \"hooks/reactQuery/integrations/useSmtpIntegrationApi\";\n\nimport {\n SMTP_ACCOUNT_INITIAL_VALUES,\n SMTP_ACCOUNT_VALIDATION_SCHEMA,\n ENCRYPTION_OPTIONS,\n} from \"./constants\";\n\nconst SmtpSetup = ({ ownerId, onDone, onCancel, isOpen }) => {\n const { t } = useTranslation();\n\n const { isPending: isCreating, mutate: createSmtp } = useCreateSmtp({\n ownerId,\n });\n\n const handleSubmit = values => {\n createSmtp({ smtp_account: values }, { onSuccess: onDone });\n };\n\n return (\n <Pane {...{ isOpen }} size=\"lg\" onClose={onCancel}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoEmailDelivery.smtp.setup.title\")}\n </Typography>\n </Pane.Header>\n <Form\n className=\"w-full\"\n formikProps={{\n initialValues: SMTP_ACCOUNT_INITIAL_VALUES,\n validationSchema: SMTP_ACCOUNT_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body className=\"space-y-4\">\n <div className=\"flex flex-col gap-6\">\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.smtp.setup.note\")}\n </Callout>\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.hostLabel\")}\n name=\"host\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.portLabel\")}\n name=\"port\"\n type=\"number\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.usernameLabel\")}\n name=\"username\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.passwordLabel\")}\n name=\"password\"\n type=\"password\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.emailLabel\")}\n name=\"email\"\n type=\"email\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.displayNameLabel\")}\n name=\"displayName\"\n />\n <Radio\n label={t(\"neetoEmailDelivery.smtp.setup.encryptionLabel\")}\n name=\"encryption\"\n >\n {ENCRYPTION_OPTIONS.map(option => (\n <Radio.Item\n key={option.value}\n label={option.label}\n value={option.value}\n />\n ))}\n </Radio>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onCancel }}\n isSubmitting={isCreating}\n submitButtonProps={{\n label: t(\"neetoEmailDelivery.smtp.setup.saveAndActivate\"),\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default SmtpSetup;\n","import { useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n useFetchGmail,\n useDestroyGmail,\n} from \"hooks/reactQuery/integrations/useGmailIntegrationApi\";\nimport { invalidateAllIntegrationQueries } from \"src/utils\";\n\nconst useGmail = ({ ownerId, indexRoute, canManageIntegrations }) => {\n const [isDisconnectAlertOpen, setIsDisconnectAlertOpen] = useState(false);\n\n const history = useHistory();\n\n const queryClient = useQueryClient();\n\n const { isLoading, data = {} } = useFetchGmail(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: destroyIntegration } =\n useDestroyGmail({ ownerId });\n\n const onClose = () => history.replace(indexRoute);\n\n const onDisconnect = () => {\n destroyIntegration(false, {\n onSuccess: () => {\n setIsDisconnectAlertOpen(false);\n invalidateAllIntegrationQueries(queryClient, ownerId);\n history.replace(indexRoute);\n },\n });\n };\n\n return {\n data,\n isLoading,\n isDestroying,\n exists: data?.exists,\n isConnected: data?.connected,\n isDisconnectAlertOpen,\n setIsDisconnectAlertOpen,\n onDisconnect,\n onClose,\n errorMessage: data?.error,\n };\n};\n\nexport default useGmail;\n","import { useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n useFetchOutlook,\n useDestroyOutlook,\n} from \"hooks/reactQuery/integrations/useOutlookIntegrationApi\";\nimport { invalidateAllIntegrationQueries } from \"src/utils\";\n\nconst useOutlook = ({ ownerId, indexRoute, canManageIntegrations }) => {\n const [isDisconnectAlertOpen, setIsDisconnectAlertOpen] = useState(false);\n\n const history = useHistory();\n\n const queryClient = useQueryClient();\n\n const { isLoading, data = {} } = useFetchOutlook(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: destroyIntegration } =\n useDestroyOutlook({ ownerId });\n\n const onClose = () => history.replace(indexRoute);\n\n const onDisconnect = () => {\n destroyIntegration(false, {\n onSuccess: () => {\n setIsDisconnectAlertOpen(false);\n invalidateAllIntegrationQueries(queryClient, ownerId);\n history.replace(indexRoute);\n },\n });\n };\n\n return {\n data,\n isLoading,\n exists: data?.exists,\n status: data?.status,\n shadowAccount: data?.shadowAccount,\n isWaitingForTestEmail: data?.status === \"inactive\" && !data?.connected,\n isDestroying,\n isConnected: data?.connected,\n isDisconnectAlertOpen,\n setIsDisconnectAlertOpen,\n onDisconnect,\n onClose,\n errorMessage: data?.error,\n };\n};\n\nexport default useOutlook;\n","import {\n useFetchSmtp,\n useDestroySmtp,\n} from \"hooks/reactQuery/integrations/useSmtpIntegrationApi\";\n\nconst useSmtp = ({ ownerId, canManageIntegrations }) => {\n const { isLoading, data = {} } = useFetchSmtp(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: onDisconnect } = useDestroySmtp({\n ownerId,\n });\n\n return {\n data,\n isConnected: data?.connected,\n isLoading,\n isDestroying,\n onDisconnect,\n exists: data?.exists,\n };\n};\n\nexport default useSmtp;\n","import { t } from \"i18next\";\n\nexport const ERROR_MESSAGES = {\n gmail_permission_not_given: t(\"neetoEmailDelivery.gmail.permissionNotGiven\"),\n outlook_permission_not_given: t(\n \"neetoEmailDelivery.outlook.permissionNotGiven\"\n ),\n outlook_invalid_client: t(\"neetoEmailDelivery.outlook.invalidClient\"),\n outlook_nil_json_web_token: t(\"neetoEmailDelivery.outlook.nilJsonWebToken\"),\n};\n","import { Button, Tag, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst IntegrationCard = ({\n icon: Icon,\n title,\n description,\n isConnected,\n isDisconnecting,\n onConnect,\n onDisconnect,\n connectButtonText,\n disconnectButtonText = \"neetoEmailDelivery.sparkpost.emailDelivery.disconnect\",\n connectedTagText = \"neetoEmailDelivery.sparkpost.emailDelivery.connected\",\n showDisconnect = false,\n showManageButton = false,\n manageButtonText,\n onManage,\n}) => {\n const { t } = useTranslation();\n\n const shouldShowDisconnect = isConnected || showDisconnect;\n\n return (\n <div className=\"neeto-ui-rounded-lg neeto-ui-shadow-xs neeto-ui-border-gray-300 translate flex flex-col gap-y-4 border p-6 no-underline transition-transform duration-300 ease-in-out outline-none hover:-translate-y-1\">\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex items-center gap-3\">\n <Icon className=\"shrink-0\" size={32} />\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h4\" weight=\"semibold\">\n {title}\n </Typography>\n {isConnected && <Tag label={t(connectedTagText)} />}\n </div>\n </div>\n </div>\n <Typography className=\"min-w-0 break-words\" style=\"body2\">\n {description}\n </Typography>\n {connectButtonText && (\n <div className=\"flex gap-2\">\n {showManageButton && (\n <Button\n data-testid=\"manage-button\"\n label={t(manageButtonText)}\n size=\"small\"\n style=\"secondary\"\n onClick={onManage}\n />\n )}\n {shouldShowDisconnect ? (\n <Button\n data-testid=\"disconnect-button\"\n label={t(disconnectButtonText)}\n loading={isDisconnecting}\n size=\"small\"\n style=\"danger\"\n onClick={onDisconnect}\n />\n ) : (\n <Button\n data-testid=\"connect-button\"\n label={t(connectButtonText)}\n size=\"small\"\n style=\"primary\"\n onClick={onConnect}\n />\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default IntegrationCard;\n","import { useState } from \"react\";\n\nimport { humanize, isPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { MailSend } from \"neetoicons\";\nimport { Gmail as GmailIcon, Outlook as OutlookIcon } from \"neetoicons/misc\";\nimport { Spinner, Callout, Toastr } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n GMAIL_OAUTH_CONNECT_URL,\n OUTLOOK_OAUTH_CONNECT_URL,\n} from \"apis/integrations/constants\";\nimport SmtpSetup from \"components/Smtp/Setup\";\nimport useGmail from \"hooks/integrations/useGmail\";\nimport useOutlook from \"hooks/integrations/useOutlook\";\nimport useSmtp from \"hooks/integrations/useSmtp\";\nimport useSparkpostDomain from \"hooks/integrations/useSparkpostDomain\";\n\nimport { ERROR_MESSAGES } from \"./constants\";\nimport IntegrationCard from \"./IntegrationCard\";\n\nconst EmailDeliveryScreen = ({\n indexRoute,\n ownerId,\n ownDomainSetupRoute,\n ownDomainVerifyRoute,\n canManageIntegrations,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [isSmtpPaneOpen, setIsSmtpPaneOpen] = useState(false);\n const { error, errorDescription } = useQueryParams();\n\n if (isPresent(error)) {\n let errorMessage = ERROR_MESSAGES[error];\n if (errorDescription) {\n errorMessage = `${errorMessage} ${errorDescription}`;\n }\n Toastr.error(errorMessage ?? humanize(error));\n\n history.replace(indexRoute);\n }\n\n const gmailIntegration = useGmail({\n ownerId,\n indexRoute,\n canManageIntegrations,\n });\n\n const outlookIntegration = useOutlook({\n ownerId,\n indexRoute,\n canManageIntegrations,\n });\n\n const sparkpostIntegration = useSparkpostDomain({\n ownerId,\n canManageIntegrations,\n });\n\n const smtpIntegration = useSmtp({ ownerId, canManageIntegrations });\n\n const {\n data: gmailData = {},\n isConnected: isGmailConnected,\n isLoading: isGmailLoading,\n isDestroying: isGmailDisconnecting,\n onDisconnect: onGmailDisconnect,\n exists: isGmailExists,\n } = gmailIntegration;\n\n const {\n data: outlookData = {},\n isConnected: isOutlookConnected,\n isLoading: isOutlookLoading,\n isDestroying: isOutlookDisconnecting,\n isWaitingForTestEmail: isOutlookWaitingForTestEmail,\n shadowAccount: isOutlookShadowAccount,\n onDisconnect: onOutlookDisconnect,\n exists: isOutlookExists,\n } = outlookIntegration;\n\n const {\n data: sparkpostData = {},\n isConnected: isSparkpostConnected,\n isLoading: isSparkpostLoading,\n onDisconnect: onSparkpostDisconnect,\n isDestroying: isSparkpostDisconnecting,\n exists: isSparkpostExists,\n } = sparkpostIntegration;\n\n const {\n data: smtpData = {},\n isConnected: isSmtpConnected,\n isLoading: isSmtpLoading,\n isDestroying: isSmtpDisconnecting,\n onDisconnect: onSmtpDisconnect,\n exists: isSmtpExists,\n } = smtpIntegration;\n\n const isLoading =\n isGmailLoading || isOutlookLoading || isSparkpostLoading || isSmtpLoading;\n\n const noneExists =\n !isGmailExists && !isOutlookExists && !isSparkpostExists && !isSmtpExists;\n const showGmail = noneExists || isGmailExists;\n const showOutlook = noneExists || isOutlookExists;\n const showSparkpost = noneExists || isSparkpostExists;\n const showSmtp = noneExists || isSmtpExists;\n const sparkpostVerificationPending =\n isSparkpostExists && !isSparkpostConnected;\n\n const handleGmailConnect = () => {\n window.location.href = buildUrl(GMAIL_OAUTH_CONNECT_URL, { ownerId });\n };\n\n const handleOutlookConnect = () => {\n window.location.href = buildUrl(OUTLOOK_OAUTH_CONNECT_URL, { ownerId });\n };\n\n const handleOwnDomainConnect = () => {\n history.push(ownDomainSetupRoute);\n };\n\n const handleSmtpConnect = () => {\n setIsSmtpPaneOpen(true);\n };\n\n const handleSmtpPaneClose = () => {\n setIsSmtpPaneOpen(false);\n };\n\n const gmailEmail = prop(\"email\", gmailData);\n const outlookEmail = prop(\"email\", outlookData);\n const sparkpostEmail = prop(\"email\", sparkpostData);\n const sparkpostDomain = prop(\"domain\", sparkpostData);\n const smtpEmail = prop(\"email\", smtpData);\n\n const showVerificationPage = () => {\n history.push(\n buildUrl(ownDomainVerifyRoute, {\n domain: sparkpostDomain,\n email: sparkpostEmail,\n })\n );\n };\n\n const gmailTitle = t(\"neetoEmailDelivery.gmail.title\");\n const gmailDescription = isGmailConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: gmailEmail,\n })\n : t(\"neetoEmailDelivery.gmail.description\");\n\n const outlookTitle = t(\"neetoEmailDelivery.outlook.title\");\n const outlookDescription = isOutlookConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: outlookEmail,\n })\n : t(\"neetoEmailDelivery.outlook.description\");\n\n const ownDomainTitle = t(\n \"neetoEmailDelivery.sparkpost.emailDelivery.ownDomainTitle\"\n );\n\n const ownDomainDescription = isSparkpostConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: sparkpostEmail,\n })\n : t(\"neetoEmailDelivery.sparkpost.emailDelivery.ownDomainDescription\");\n\n const smtpTitle = t(\"neetoEmailDelivery.smtp.title\");\n const smtpDescription = isSmtpConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: smtpEmail,\n })\n : t(\"neetoEmailDelivery.smtp.description\");\n\n if (isLoading) {\n return (\n <div className=\"flex grow items-center justify-center w-full\">\n <Spinner />\n </div>\n );\n }\n\n const activeMessage =\n (isGmailConnected && t(\"neetoEmailDelivery.gmail.gmailConfigured\")) ||\n (isOutlookConnected && t(\"neetoEmailDelivery.outlook.outlookConfigured\")) ||\n (isSparkpostConnected &&\n t(\"neetoEmailDelivery.sparkpost.ownDomainConfigured\")) ||\n (isSmtpConnected && t(\"neetoEmailDelivery.smtp.smtpConfigured\"));\n\n return (\n <div className=\"min-h-0 w-full grow\">\n <div className=\"@container mx-auto space-y-6\">\n <div className=\"grid grid-cols-1 gap-3 py-1 @lg:grid-cols-2 @lg:gap-6 @3xl:grid-cols-3 @7xl:grid-cols-4\">\n {/* Gmail Option */}\n {showGmail && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.gmail.connectGmail\"\n description={gmailDescription}\n icon={GmailIcon}\n isConnected={isGmailConnected}\n isDisconnecting={isGmailDisconnecting}\n title={gmailTitle}\n onConnect={handleGmailConnect}\n onDisconnect={onGmailDisconnect}\n />\n )}\n {/* Outlook Option */}\n {showOutlook && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.outlook.connectOutlook\"\n description={outlookDescription}\n icon={OutlookIcon}\n isConnected={isOutlookConnected}\n isDisconnecting={isOutlookDisconnecting}\n title={outlookTitle}\n showDisconnect={\n isOutlookWaitingForTestEmail || isOutlookShadowAccount\n }\n onConnect={handleOutlookConnect}\n onDisconnect={onOutlookDisconnect}\n />\n )}\n {/* Own Domain (Sparkpost) Option */}\n {showSparkpost && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.sparkpost.emailDelivery.setupDomain\"\n description={ownDomainDescription}\n icon={MailSend}\n isConnected={isSparkpostConnected}\n isDisconnecting={isSparkpostDisconnecting}\n manageButtonText=\"neetoEmailDelivery.sparkpost.emailDelivery.continueVerification\"\n showManageButton={sparkpostVerificationPending}\n title={ownDomainTitle}\n showDisconnect={\n sparkpostVerificationPending || isSparkpostConnected\n }\n onConnect={handleOwnDomainConnect}\n onDisconnect={onSparkpostDisconnect}\n onManage={showVerificationPage}\n />\n )}\n {/* SMTP Option */}\n {showSmtp && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.smtp.connectSmtp\"\n description={smtpDescription}\n icon={MailSend}\n isConnected={isSmtpConnected}\n isDisconnecting={isSmtpDisconnecting}\n title={smtpTitle}\n onConnect={handleSmtpConnect}\n onDisconnect={onSmtpDisconnect}\n />\n )}\n </div>\n {activeMessage && <Callout style=\"success\">{activeMessage}</Callout>}\n {isOutlookWaitingForTestEmail && (\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.outlook.waitingForTestEmail\", {\n email: outlookEmail,\n })}\n </Callout>\n )}\n {sparkpostVerificationPending && (\n <Callout style=\"warning\">\n {t(\n \"neetoEmailDelivery.sparkpost.emailDelivery.verificationPending\",\n { domain: sparkpostDomain }\n )}\n </Callout>\n )}\n {isOutlookShadowAccount && (\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.outlook.shadowAccountMessage\", {\n email: outlookEmail,\n })}\n </Callout>\n )}\n </div>\n <SmtpSetup\n {...{ ownerId }}\n isOpen={isSmtpPaneOpen}\n onCancel={handleSmtpPaneClose}\n onDone={handleSmtpPaneClose}\n />\n </div>\n );\n};\n\nexport default EmailDeliveryScreen;\n"],"names":["ENCRYPTION_OPTIONS","label","value","SMTP_ACCOUNT_INITIAL_VALUES","host","port","username","password","email","encryption","displayName","SMTP_ACCOUNT_VALIDATION_SCHEMA","yup","object","shape","string","trim","required","t","field","number","SmtpSetup","_ref","ownerId","onDone","onCancel","isOpen","_useTranslation","useTranslation","_useCreateSmtp","useCreateSmtp","isCreating","isPending","createSmtp","mutate","handleSubmit","values","smtp_account","onSuccess","_jsxs","Pane","size","onClose","children","_jsx","Header","Typography","style","weight","Form","className","formikProps","initialValues","validationSchema","onSubmit","Body","Callout","Input","name","type","Radio","map","option","Item","Footer","ActionBlock","cancelButtonProps","onClick","isSubmitting","submitButtonProps","useGmail","indexRoute","canManageIntegrations","_useState","useState","_useState2","_slicedToArray","isDisconnectAlertOpen","setIsDisconnectAlertOpen","history","useHistory","queryClient","useQueryClient","_useFetchGmail","useFetchGmail","enabled","isLoading","_useFetchGmail$data","data","_useDestroyGmail","useDestroyGmail","isDestroying","destroyIntegration","replace","onDisconnect","invalidateAllIntegrationQueries","exists","isConnected","connected","errorMessage","error","useOutlook","_useFetchOutlook","useFetchOutlook","_useFetchOutlook$data","_useDestroyOutlook","useDestroyOutlook","status","shadowAccount","isWaitingForTestEmail","useSmtp","_useFetchSmtp","useFetchSmtp","_useFetchSmtp$data","_useDestroySmtp","useDestroySmtp","ERROR_MESSAGES","gmail_permission_not_given","outlook_permission_not_given","outlook_invalid_client","outlook_nil_json_web_token","IntegrationCard","Icon","icon","title","description","isDisconnecting","onConnect","connectButtonText","_ref$disconnectButton","disconnectButtonText","_ref$connectedTagText","connectedTagText","_ref$showDisconnect","showDisconnect","_ref$showManageButton","showManageButton","manageButtonText","onManage","shouldShowDisconnect","Tag","Button","loading","EmailDeliveryScreen","ownDomainSetupRoute","ownDomainVerifyRoute","isSmtpPaneOpen","setIsSmtpPaneOpen","_useQueryParams","useQueryParams","errorDescription","isPresent","_errorMessage","concat","Toastr","humanize","gmailIntegration","outlookIntegration","sparkpostIntegration","useSparkpostDomain","smtpIntegration","_gmailIntegration$dat","gmailData","isGmailConnected","isGmailLoading","isGmailDisconnecting","onGmailDisconnect","isGmailExists","_outlookIntegration$d","outlookData","isOutlookConnected","isOutlookLoading","isOutlookDisconnecting","isOutlookWaitingForTestEmail","isOutlookShadowAccount","onOutlookDisconnect","isOutlookExists","_sparkpostIntegration","sparkpostData","isSparkpostConnected","isSparkpostLoading","onSparkpostDisconnect","isSparkpostDisconnecting","isSparkpostExists","_smtpIntegration$data","smtpData","isSmtpConnected","isSmtpLoading","isSmtpDisconnecting","onSmtpDisconnect","isSmtpExists","noneExists","showGmail","showOutlook","showSparkpost","showSmtp","sparkpostVerificationPending","handleGmailConnect","window","location","href","buildUrl","GMAIL_OAUTH_CONNECT_URL","handleOutlookConnect","OUTLOOK_OAUTH_CONNECT_URL","handleOwnDomainConnect","push","handleSmtpConnect","handleSmtpPaneClose","gmailEmail","prop","outlookEmail","sparkpostEmail","sparkpostDomain","smtpEmail","showVerificationPage","domain","gmailTitle","gmailDescription","outlookTitle","outlookDescription","ownDomainTitle","ownDomainDescription","smtpTitle","smtpDescription","Spinner","activeMessage","GmailIcon","OutlookIcon","MailSend"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAMA,kBAAkB,GAAG,CAChC;AAAEC,EAAAA,KAAK,EAAE,MAAM;AAAEC,EAAAA,KAAK,EAAE;AAAO,CAAC,EAChC;AAAED,EAAAA,KAAK,EAAE,UAAU;AAAEC,EAAAA,KAAK,EAAE;AAAW,CAAC,EACxC;AAAED,EAAAA,KAAK,EAAE,KAAK;AAAEC,EAAAA,KAAK,EAAE;AAAM,CAAC,CAC/B;AAEM,IAAMC,2BAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,IAAI,EAAE,GAAG;AACTC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,KAAK,EAAE,EAAE;AACTC,EAAAA,UAAU,EAAE,UAAU;AACtBC,EAAAA,WAAW,EAAE;AACf,CAAC;AAEM,IAAMC,8BAA8B,GAAGC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAC/DV,EAAAA,IAAI,EAAEQ,GAAG,CACNG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,CAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,CAAC,CAAC,yCAAyC;AACpD,GAAC,CACH,CAAC;AACHb,EAAAA,IAAI,EAAEO,GAAG,CAACQ,MAAM,EAAE,CAACH,QAAQ,CACzBC,CAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,CAAC,CAAC,yCAAyC;AACpD,GAAC,CACH,CAAC;AACDZ,EAAAA,QAAQ,EAAEM,GAAG,CACVG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,CAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,CAAC,CAAC,6CAA6C;AACxD,GAAC,CACH,CAAC;AACHX,EAAAA,QAAQ,EAAEK,GAAG,CACVG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,CAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,CAAC,CAAC,6CAA6C;AACxD,GAAC,CACH,CAAC;AACHV,EAAAA,KAAK,EAAEI,GAAG,CACPG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,CAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,CAAC,CAAC,0CAA0C;GACpD,CACH,CAAC,CACAV,KAAK,CAACU,CAAC,CAAC,4CAA4C,CAAC,CAAC;AACzDR,EAAAA,WAAW,EAAEE,GAAG,CACbG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,CAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,CAAC,CAAC,gDAAgD;AAC3D,GAAC,CACH,CAAC;AACHT,EAAAA,UAAU,EAAEG,GAAG,CACZG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,CAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,CAAC,CAAC,+CAA+C;AAC1D,GAAC,CACH;AACJ,CAAC,CAAC;;AC9DF,IAAMG,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAA8C;AAAA,EAAA,IAAxCC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAEC,MAAM,GAAAJ,IAAA,CAANI,MAAM;AACpD,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC;EAET,IAAAW,cAAA,GAAsDC,aAAa,CAAC;AAClEP,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;IAFiBQ,UAAU,GAAAF,cAAA,CAArBG,SAAS;IAAsBC,UAAU,GAAAJ,cAAA,CAAlBK,MAAM;AAIrC,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAGC,MAAM,EAAI;AAC7BH,IAAAA,UAAU,CAAC;AAAEI,MAAAA,YAAY,EAAED;AAAO,KAAC,EAAE;AAAEE,MAAAA,SAAS,EAAEd;AAAO,KAAC,CAAC;GAC5D;EAED,oBACEe,IAAA,CAACC,IAAI,EAAA;AAAOd,IAAAA,MAAM,EAANA,MAAM;AAAIe,IAAAA,IAAI,EAAC,IAAI;AAACC,IAAAA,OAAO,EAAEjB,QAAS;AAAAkB,IAAAA,QAAA,EAChDC,cAAAA,GAAA,CAACJ,IAAI,CAACK,MAAM,EAAA;MAAAF,QAAA,eACVC,GAAA,CAACE,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;AAACC,QAAAA,MAAM,EAAC,UAAU;QAAAL,QAAA,EACrCzB,CAAC,CAAC,qCAAqC;OAC9B;AAAC,KACF,CAAC,eACdqB,IAAA,CAACU,IAAI,EAAA;AACHC,MAAAA,SAAS,EAAC,QAAQ;AAClBC,MAAAA,WAAW,EAAE;AACXC,QAAAA,aAAa,EAAEjD,2BAA2B;AAC1CkD,QAAAA,gBAAgB,EAAE1C,8BAA8B;AAChD2C,QAAAA,QAAQ,EAAEnB;OACV;AAAAQ,MAAAA,QAAA,EAEFC,cAAAA,GAAA,CAACJ,IAAI,CAACe,IAAI,EAAA;AAACL,QAAAA,SAAS,EAAC,WAAW;AAAAP,QAAAA,QAAA,eAC9BJ,IAAA,CAAA,KAAA,EAAA;AAAKW,UAAAA,SAAS,EAAC,qBAAqB;UAAAP,QAAA,EAAA,cAClCC,GAAA,CAACY,OAAO,EAAA;AAACT,YAAAA,KAAK,EAAC,SAAS;YAAAJ,QAAA,EACrBzB,CAAC,CAAC,oCAAoC;AAAC,WACjC,CAAC,eACV0B,GAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,yCAAyC,CAAE;AACpDwC,YAAAA,IAAI,EAAC;AAAM,WACZ,CAAC,eACFd,GAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,yCAAyC,CAAE;AACpDwC,YAAAA,IAAI,EAAC,MAAM;AACXC,YAAAA,IAAI,EAAC;AAAQ,WACd,CAAC,eACFf,GAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,6CAA6C,CAAE;AACxDwC,YAAAA,IAAI,EAAC;AAAU,WAChB,CAAC,eACFd,GAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,6CAA6C,CAAE;AACxDwC,YAAAA,IAAI,EAAC,UAAU;AACfC,YAAAA,IAAI,EAAC;AAAU,WAChB,CAAC,eACFf,GAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,0CAA0C,CAAE;AACrDwC,YAAAA,IAAI,EAAC,OAAO;AACZC,YAAAA,IAAI,EAAC;AAAO,WACb,CAAC,eACFf,GAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,gDAAgD,CAAE;AAC3DwC,YAAAA,IAAI,EAAC;AAAa,WACnB,CAAC,eACFd,GAAA,CAACgB,KAAK,EAAA;AACJ3D,YAAAA,KAAK,EAAEiB,CAAC,CAAC,+CAA+C,CAAE;AAC1DwC,YAAAA,IAAI,EAAC,YAAY;AAAAf,YAAAA,QAAA,EAEhB3C,kBAAkB,CAAC6D,GAAG,CAAC,UAAAC,MAAM,EAAA;AAAA,cAAA,oBAC5BlB,GAAA,CAACgB,KAAK,CAACG,IAAI,EAAA;gBAET9D,KAAK,EAAE6D,MAAM,CAAC7D,KAAM;gBACpBC,KAAK,EAAE4D,MAAM,CAAC5D;eAFT4D,EAAAA,MAAM,CAAC5D,KAGb,CAAC;aACH;AAAC,WACG,CAAC;SACL;AAAC,OACG,CAAC,eACZ0C,GAAA,CAACJ,IAAI,CAACwB,MAAM,EAAA;QAAArB,QAAA,eACVC,GAAA,CAACqB,WAAW,EAAA;AACVC,UAAAA,iBAAiB,EAAE;AAAEC,YAAAA,OAAO,EAAE1C;WAAW;AACzC2C,UAAAA,YAAY,EAAErC,UAAW;AACzBsC,UAAAA,iBAAiB,EAAE;YACjBpE,KAAK,EAAEiB,CAAC,CAAC,+CAA+C;AAC1D;SACD;AAAC,OACS,CAAC;AAAA,KACV,CAAC;AAAA,GACH,CAAC;AAEX,CAAC;;AC3FD,IAAMoD,QAAQ,GAAG,SAAXA,QAAQA,CAAAhD,IAAA,EAAuD;AAAA,EAAA,IAAjDC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEgD,UAAU,GAAAjD,IAAA,CAAViD,UAAU;IAAEC,qBAAqB,GAAAlD,IAAA,CAArBkD,qBAAqB;AAC5D,EAAA,IAAAC,SAAA,GAA0DC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlEI,IAAAA,qBAAqB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,wBAAwB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEtD,EAAA,IAAMI,OAAO,GAAGC,UAAU,EAAE;AAE5B,EAAA,IAAMC,WAAW,GAAGC,cAAc,EAAE;AAEpC,EAAA,IAAAC,cAAA,GAAiCC,aAAa,CAAC7D,OAAO,EAAE;AACtD8D,MAAAA,OAAO,EAAEb;AACX,KAAC,CAAC;IAFMc,SAAS,GAAAH,cAAA,CAATG,SAAS;IAAAC,mBAAA,GAAAJ,cAAA,CAAEK,IAAI;AAAJA,IAAAA,IAAI,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,mBAAA;EAI5B,IAAAE,gBAAA,GACEC,eAAe,CAAC;AAAEnE,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;IADXoE,YAAY,GAAAF,gBAAA,CAAvBzD,SAAS;IAAwB4D,kBAAkB,GAAAH,gBAAA,CAA1BvD,MAAM;AAGvC,EAAA,IAAMQ,OAAO,GAAG,SAAVA,OAAOA,GAAA;AAAA,IAAA,OAASqC,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAAA,GAAA;AAEjD,EAAA,IAAMuB,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACzBF,kBAAkB,CAAC,KAAK,EAAE;AACxBtD,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QACfwC,wBAAwB,CAAC,KAAK,CAAC;AAC/BiB,QAAAA,+BAA+B,CAACd,WAAW,EAAE1D,OAAO,CAAC;AACrDwD,QAAAA,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAC7B;AACF,KAAC,CAAC;GACH;EAED,OAAO;AACLiB,IAAAA,IAAI,EAAJA,IAAI;AACJF,IAAAA,SAAS,EAATA,SAAS;AACTK,IAAAA,YAAY,EAAZA,YAAY;AACZK,IAAAA,MAAM,EAAER,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEQ,MAAM;AACpBC,IAAAA,WAAW,EAAET,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEU,SAAS;AAC5BrB,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBC,IAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBgB,IAAAA,YAAY,EAAZA,YAAY;AACZpD,IAAAA,OAAO,EAAPA,OAAO;AACPyD,IAAAA,YAAY,EAAEX,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEY;GACrB;AACH,CAAC;;ACtCD,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA/E,IAAA,EAAuD;AAAA,EAAA,IAAjDC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEgD,UAAU,GAAAjD,IAAA,CAAViD,UAAU;IAAEC,qBAAqB,GAAAlD,IAAA,CAArBkD,qBAAqB;AAC9D,EAAA,IAAAC,SAAA,GAA0DC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlEI,IAAAA,qBAAqB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,wBAAwB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEtD,EAAA,IAAMI,OAAO,GAAGC,UAAU,EAAE;AAE5B,EAAA,IAAMC,WAAW,GAAGC,cAAc,EAAE;AAEpC,EAAA,IAAAoB,gBAAA,GAAiCC,eAAe,CAAChF,OAAO,EAAE;AACxD8D,MAAAA,OAAO,EAAEb;AACX,KAAC,CAAC;IAFMc,SAAS,GAAAgB,gBAAA,CAAThB,SAAS;IAAAkB,qBAAA,GAAAF,gBAAA,CAAEd,IAAI;AAAJA,IAAAA,IAAI,GAAAgB,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;EAI5B,IAAAC,kBAAA,GACEC,iBAAiB,CAAC;AAAEnF,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;IADboE,YAAY,GAAAc,kBAAA,CAAvBzE,SAAS;IAAwB4D,kBAAkB,GAAAa,kBAAA,CAA1BvE,MAAM;AAGvC,EAAA,IAAMQ,OAAO,GAAG,SAAVA,OAAOA,GAAA;AAAA,IAAA,OAASqC,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAAA,GAAA;AAEjD,EAAA,IAAMuB,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACzBF,kBAAkB,CAAC,KAAK,EAAE;AACxBtD,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QACfwC,wBAAwB,CAAC,KAAK,CAAC;AAC/BiB,QAAAA,+BAA+B,CAACd,WAAW,EAAE1D,OAAO,CAAC;AACrDwD,QAAAA,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAC7B;AACF,KAAC,CAAC;GACH;EAED,OAAO;AACLiB,IAAAA,IAAI,EAAJA,IAAI;AACJF,IAAAA,SAAS,EAATA,SAAS;AACTU,IAAAA,MAAM,EAAER,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEQ,MAAM;AACpBW,IAAAA,MAAM,EAAEnB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEmB,MAAM;AACpBC,IAAAA,aAAa,EAAEpB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEoB,aAAa;AAClCC,IAAAA,qBAAqB,EAAE,CAAArB,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEmB,MAAM,MAAK,UAAU,IAAI,EAACnB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,IAAAA,IAAI,CAAEU,SAAS,CAAA;AACtEP,IAAAA,YAAY,EAAZA,YAAY;AACZM,IAAAA,WAAW,EAAET,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEU,SAAS;AAC5BrB,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBC,IAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBgB,IAAAA,YAAY,EAAZA,YAAY;AACZpD,IAAAA,OAAO,EAAPA,OAAO;AACPyD,IAAAA,YAAY,EAAEX,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEY;GACrB;AACH,CAAC;;AC/CD,IAAMU,OAAO,GAAG,SAAVA,OAAOA,CAAAxF,IAAA,EAA2C;AAAA,EAAA,IAArCC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEiD,qBAAqB,GAAAlD,IAAA,CAArBkD,qBAAqB;AAC/C,EAAA,IAAAuC,aAAA,GAAiCC,YAAY,CAACzF,OAAO,EAAE;AACrD8D,MAAAA,OAAO,EAAEb;AACX,KAAC,CAAC;IAFMc,SAAS,GAAAyB,aAAA,CAATzB,SAAS;IAAA2B,kBAAA,GAAAF,aAAA,CAAEvB,IAAI;AAAJA,IAAAA,IAAI,GAAAyB,kBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,kBAAA;EAI5B,IAAAC,eAAA,GAA0DC,cAAc,CAAC;AACvE5F,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;IAFiBoE,YAAY,GAAAuB,eAAA,CAAvBlF,SAAS;IAAwB8D,YAAY,GAAAoB,eAAA,CAApBhF,MAAM;EAIvC,OAAO;AACLsD,IAAAA,IAAI,EAAJA,IAAI;AACJS,IAAAA,WAAW,EAAET,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEU,SAAS;AAC5BZ,IAAAA,SAAS,EAATA,SAAS;AACTK,IAAAA,YAAY,EAAZA,YAAY;AACZG,IAAAA,YAAY,EAAZA,YAAY;AACZE,IAAAA,MAAM,EAAER,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEQ;GACf;AACH,CAAC;;ACpBM,IAAMoB,cAAc,GAAG;AAC5BC,EAAAA,0BAA0B,EAAEnG,CAAC,CAAC,6CAA6C,CAAC;AAC5EoG,EAAAA,4BAA4B,EAAEpG,CAAC,CAC7B,+CACF,CAAC;AACDqG,EAAAA,sBAAsB,EAAErG,CAAC,CAAC,0CAA0C,CAAC;EACrEsG,0BAA0B,EAAEtG,CAAC,CAAC,4CAA4C;AAC5E,CAAC;;ACND,IAAMuG,eAAe,GAAG,SAAlBA,eAAeA,CAAAnG,IAAA,EAef;AAAA,EAAA,IAdEoG,IAAI,GAAApG,IAAA,CAAVqG,IAAI;IACJC,KAAK,GAAAtG,IAAA,CAALsG,KAAK;IACLC,WAAW,GAAAvG,IAAA,CAAXuG,WAAW;IACX5B,WAAW,GAAA3E,IAAA,CAAX2E,WAAW;IACX6B,eAAe,GAAAxG,IAAA,CAAfwG,eAAe;IACfC,SAAS,GAAAzG,IAAA,CAATyG,SAAS;IACTjC,YAAY,GAAAxE,IAAA,CAAZwE,YAAY;IACZkC,iBAAiB,GAAA1G,IAAA,CAAjB0G,iBAAiB;IAAAC,qBAAA,GAAA3G,IAAA,CACjB4G,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,uDAAuD,GAAAA,qBAAA;IAAAE,qBAAA,GAAA7G,IAAA,CAC9E8G,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,sDAAsD,GAAAA,qBAAA;IAAAE,mBAAA,GAAA/G,IAAA,CACzEgH,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,mBAAA;IAAAE,qBAAA,GAAAjH,IAAA,CACtBkH,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IACxBE,gBAAgB,GAAAnH,IAAA,CAAhBmH,gBAAgB;IAChBC,QAAQ,GAAApH,IAAA,CAARoH,QAAQ;AAER,EAAA,IAAA/G,eAAA,GAAcC,cAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC;AAET,EAAA,IAAMyH,oBAAoB,GAAG1C,WAAW,IAAIqC,cAAc;AAE1D,EAAA,oBACE1F,GAAA,CAAA,KAAA,EAAA;AAAKM,IAAAA,SAAS,EAAC,yMAAyM;AAAAP,IAAAA,QAAA,eACtNJ,IAAA,CAAA,KAAA,EAAA;AAAKW,MAAAA,SAAS,EAAC,qBAAqB;AAAAP,MAAAA,QAAA,gBAClCJ,IAAA,CAAA,KAAA,EAAA;AAAKW,QAAAA,SAAS,EAAC,yBAAyB;QAAAP,QAAA,EAAA,cACtCC,GAAA,CAAC8E,IAAI,EAAA;AAACxE,UAAAA,SAAS,EAAC,UAAU;AAACT,UAAAA,IAAI,EAAE;SAAK,CAAC,eACvCG,GAAA,CAAA,KAAA,EAAA;AAAKM,UAAAA,SAAS,EAAC,gBAAgB;AAAAP,UAAAA,QAAA,eAC7BJ,IAAA,CAAA,KAAA,EAAA;AAAKW,YAAAA,SAAS,EAAC,yBAAyB;YAAAP,QAAA,EAAA,cACtCC,GAAA,CAACE,UAAU,EAAA;AAACC,cAAAA,KAAK,EAAC,IAAI;AAACC,cAAAA,MAAM,EAAC,UAAU;AAAAL,cAAAA,QAAA,EACrCiF;AAAK,aACI,CAAC,EACZ3B,WAAW,iBAAIrD,GAAA,CAACgG,GAAG,EAAA;cAAC3I,KAAK,EAAEiB,CAAC,CAACkH,gBAAgB;AAAE,aAAE,CAAC;WAChD;AAAC,SACH,CAAC;AAAA,OACH,CAAC,eACNxF,GAAA,CAACE,UAAU,EAAA;AAACI,QAAAA,SAAS,EAAC,qBAAqB;AAACH,QAAAA,KAAK,EAAC,OAAO;AAAAJ,QAAAA,QAAA,EACtDkF;AAAW,OACF,CAAC,EACZG,iBAAiB,iBAChBzF,IAAA,CAAA,KAAA,EAAA;AAAKW,QAAAA,SAAS,EAAC,YAAY;AAAAP,QAAAA,QAAA,EACxB6F,CAAAA,gBAAgB,iBACf5F,GAAA,CAACiG,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,eAAe;AAC3B5I,UAAAA,KAAK,EAAEiB,CAAC,CAACuH,gBAAgB,CAAE;AAC3BhG,UAAAA,IAAI,EAAC,OAAO;AACZM,UAAAA,KAAK,EAAC,WAAW;AACjBoB,UAAAA,OAAO,EAAEuE;AAAS,SACnB,CACF,EACAC,oBAAoB,gBACnB/F,GAAA,CAACiG,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,mBAAmB;AAC/B5I,UAAAA,KAAK,EAAEiB,CAAC,CAACgH,oBAAoB,CAAE;AAC/BY,UAAAA,OAAO,EAAEhB,eAAgB;AACzBrF,UAAAA,IAAI,EAAC,OAAO;AACZM,UAAAA,KAAK,EAAC,QAAQ;AACdoB,UAAAA,OAAO,EAAE2B;AAAa,SACvB,CAAC,gBAEFlD,GAAA,CAACiG,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,gBAAgB;AAC5B5I,UAAAA,KAAK,EAAEiB,CAAC,CAAC8G,iBAAiB,CAAE;AAC5BvF,UAAAA,IAAI,EAAC,OAAO;AACZM,UAAAA,KAAK,EAAC,SAAS;AACfoB,UAAAA,OAAO,EAAE4D;AAAU,SACpB,CACF;AAAA,OACE,CACN;KACE;AAAC,GACH,CAAC;AAEV,CAAC;;ACjDD,IAAMgB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAzH,IAAA,EAMnB;AAAA,EAAA,IALJiD,UAAU,GAAAjD,IAAA,CAAViD,UAAU;IACVhD,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPyH,mBAAmB,GAAA1H,IAAA,CAAnB0H,mBAAmB;IACnBC,oBAAoB,GAAA3H,IAAA,CAApB2H,oBAAoB;IACpBzE,qBAAqB,GAAAlD,IAAA,CAArBkD,qBAAqB;AAErB,EAAA,IAAA7C,eAAA,GAAcC,cAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC;AACT,EAAA,IAAM6D,OAAO,GAAGC,UAAU,EAAE;AAC5B,EAAA,IAAAP,SAAA,GAA4CC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApDyE,IAAAA,cAAc,GAAAvE,UAAA,CAAA,CAAA,CAAA;AAAEwE,IAAAA,iBAAiB,GAAAxE,UAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAyE,eAAA,GAAoCC,cAAc,EAAE;IAA5CjD,KAAK,GAAAgD,eAAA,CAALhD,KAAK;IAAEkD,gBAAgB,GAAAF,eAAA,CAAhBE,gBAAgB;AAE/B,EAAA,IAAIC,SAAS,CAACnD,KAAK,CAAC,EAAE;AAAA,IAAA,IAAAoD,aAAA;AACpB,IAAA,IAAIrD,YAAY,GAAGiB,cAAc,CAAChB,KAAK,CAAC;AACxC,IAAA,IAAIkD,gBAAgB,EAAE;MACpBnD,YAAY,GAAA,EAAA,CAAAsD,MAAA,CAAMtD,YAAY,OAAAsD,MAAA,CAAIH,gBAAgB,CAAE;AACtD;AACAI,IAAAA,MAAM,CAACtD,KAAK,CAAAoD,CAAAA,aAAA,GAACrD,YAAY,MAAA,IAAA,IAAAqD,aAAA,KAAA,KAAA,CAAA,GAAAA,aAAA,GAAIG,QAAQ,CAACvD,KAAK,CAAC,CAAC;AAE7CrB,IAAAA,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAC7B;EAEA,IAAMqF,gBAAgB,GAAGtF,QAAQ,CAAC;AAChC/C,IAAAA,OAAO,EAAPA,OAAO;AACPgD,IAAAA,UAAU,EAAVA,UAAU;AACVC,IAAAA,qBAAqB,EAArBA;AACF,GAAC,CAAC;EAEF,IAAMqF,kBAAkB,GAAGxD,UAAU,CAAC;AACpC9E,IAAAA,OAAO,EAAPA,OAAO;AACPgD,IAAAA,UAAU,EAAVA,UAAU;AACVC,IAAAA,qBAAqB,EAArBA;AACF,GAAC,CAAC;EAEF,IAAMsF,oBAAoB,GAAGC,kBAAkB,CAAC;AAC9CxI,IAAAA,OAAO,EAAPA,OAAO;AACPiD,IAAAA,qBAAqB,EAArBA;AACF,GAAC,CAAC;EAEF,IAAMwF,eAAe,GAAGlD,OAAO,CAAC;AAAEvF,IAAAA,OAAO,EAAPA,OAAO;AAAEiD,IAAAA,qBAAqB,EAArBA;AAAsB,GAAC,CAAC;AAEnE,EAAA,IAAAyF,qBAAA,GAOIL,gBAAgB,CANlBpE,IAAI;AAAE0E,IAAAA,SAAS,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACPE,gBAAgB,GAK3BP,gBAAgB,CALlB3D,WAAW;IACAmE,cAAc,GAIvBR,gBAAgB,CAJlBtE,SAAS;IACK+E,oBAAoB,GAGhCT,gBAAgB,CAHlBjE,YAAY;IACE2E,iBAAiB,GAE7BV,gBAAgB,CAFlB9D,YAAY;IACJyE,aAAa,GACnBX,gBAAgB,CADlB5D,MAAM;AAGR,EAAA,IAAAwE,qBAAA,GASIX,kBAAkB,CARpBrE,IAAI;AAAEiF,IAAAA,WAAW,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACTE,kBAAkB,GAO7Bb,kBAAkB,CAPpB5D,WAAW;IACA0E,gBAAgB,GAMzBd,kBAAkB,CANpBvE,SAAS;IACKsF,sBAAsB,GAKlCf,kBAAkB,CALpBlE,YAAY;IACWkF,4BAA4B,GAIjDhB,kBAAkB,CAJpBhD,qBAAqB;IACNiE,sBAAsB,GAGnCjB,kBAAkB,CAHpBjD,aAAa;IACCmE,mBAAmB,GAE/BlB,kBAAkB,CAFpB/D,YAAY;IACJkF,eAAe,GACrBnB,kBAAkB,CADpB7D,MAAM;AAGR,EAAA,IAAAiF,qBAAA,GAOInB,oBAAoB,CANtBtE,IAAI;AAAE0F,IAAAA,aAAa,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACXE,oBAAoB,GAK/BrB,oBAAoB,CALtB7D,WAAW;IACAmF,kBAAkB,GAI3BtB,oBAAoB,CAJtBxE,SAAS;IACK+F,qBAAqB,GAGjCvB,oBAAoB,CAHtBhE,YAAY;IACEwF,wBAAwB,GAEpCxB,oBAAoB,CAFtBnE,YAAY;IACJ4F,iBAAiB,GACvBzB,oBAAoB,CADtB9D,MAAM;AAGR,EAAA,IAAAwF,qBAAA,GAOIxB,eAAe,CANjBxE,IAAI;AAAEiG,IAAAA,QAAQ,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACNE,eAAe,GAK1B1B,eAAe,CALjB/D,WAAW;IACA0F,aAAa,GAItB3B,eAAe,CAJjB1E,SAAS;IACKsG,mBAAmB,GAG/B5B,eAAe,CAHjBrE,YAAY;IACEkG,gBAAgB,GAE5B7B,eAAe,CAFjBlE,YAAY;IACJgG,YAAY,GAClB9B,eAAe,CADjBhE,MAAM;EAGR,IAAMV,SAAS,GACb8E,cAAc,IAAIO,gBAAgB,IAAIS,kBAAkB,IAAIO,aAAa;AAE3E,EAAA,IAAMI,UAAU,GACd,CAACxB,aAAa,IAAI,CAACS,eAAe,IAAI,CAACO,iBAAiB,IAAI,CAACO,YAAY;AAC3E,EAAA,IAAME,SAAS,GAAGD,UAAU,IAAIxB,aAAa;AAC7C,EAAA,IAAM0B,WAAW,GAAGF,UAAU,IAAIf,eAAe;AACjD,EAAA,IAAMkB,aAAa,GAAGH,UAAU,IAAIR,iBAAiB;AACrD,EAAA,IAAMY,QAAQ,GAAGJ,UAAU,IAAID,YAAY;AAC3C,EAAA,IAAMM,4BAA4B,GAChCb,iBAAiB,IAAI,CAACJ,oBAAoB;AAE5C,EAAA,IAAMkB,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;IAC/BC,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGC,QAAQ,CAACC,uBAAuB,EAAE;AAAEnL,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;GACtE;AAED,EAAA,IAAMoL,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;IACjCL,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGC,QAAQ,CAACG,yBAAyB,EAAE;AAAErL,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;GACxE;AAED,EAAA,IAAMsL,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAS;AACnC9H,IAAAA,OAAO,CAAC+H,IAAI,CAAC9D,mBAAmB,CAAC;GAClC;AAED,EAAA,IAAM+D,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAS;IAC9B5D,iBAAiB,CAAC,IAAI,CAAC;GACxB;AAED,EAAA,IAAM6D,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;IAChC7D,iBAAiB,CAAC,KAAK,CAAC;GACzB;AAED,EAAA,IAAM8D,UAAU,GAAGC,IAAI,CAAC,OAAO,EAAEhD,SAAS,CAAC;AAC3C,EAAA,IAAMiD,YAAY,GAAGD,IAAI,CAAC,OAAO,EAAEzC,WAAW,CAAC;AAC/C,EAAA,IAAM2C,cAAc,GAAGF,IAAI,CAAC,OAAO,EAAEhC,aAAa,CAAC;AACnD,EAAA,IAAMmC,eAAe,GAAGH,IAAI,CAAC,QAAQ,EAAEhC,aAAa,CAAC;AACrD,EAAA,IAAMoC,SAAS,GAAGJ,IAAI,CAAC,OAAO,EAAEzB,QAAQ,CAAC;AAEzC,EAAA,IAAM8B,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;AACjCxI,IAAAA,OAAO,CAAC+H,IAAI,CACVL,QAAQ,CAACxD,oBAAoB,EAAE;AAC7BuE,MAAAA,MAAM,EAAEH,eAAe;AACvB7M,MAAAA,KAAK,EAAE4M;AACT,KAAC,CACH,CAAC;GACF;AAED,EAAA,IAAMK,UAAU,GAAGvM,CAAC,CAAC,gCAAgC,CAAC;AACtD,EAAA,IAAMwM,gBAAgB,GAAGvD,gBAAgB,GACrCjJ,CAAC,CAAC,2DAA2D,EAAE;AAC7DV,IAAAA,KAAK,EAAEyM;AACT,GAAC,CAAC,GACF/L,CAAC,CAAC,sCAAsC,CAAC;AAE7C,EAAA,IAAMyM,YAAY,GAAGzM,CAAC,CAAC,kCAAkC,CAAC;AAC1D,EAAA,IAAM0M,kBAAkB,GAAGlD,kBAAkB,GACzCxJ,CAAC,CAAC,2DAA2D,EAAE;AAC7DV,IAAAA,KAAK,EAAE2M;AACT,GAAC,CAAC,GACFjM,CAAC,CAAC,wCAAwC,CAAC;AAE/C,EAAA,IAAM2M,cAAc,GAAG3M,CAAC,CACtB,2DACF,CAAC;AAED,EAAA,IAAM4M,oBAAoB,GAAG3C,oBAAoB,GAC7CjK,CAAC,CAAC,2DAA2D,EAAE;AAC7DV,IAAAA,KAAK,EAAE4M;AACT,GAAC,CAAC,GACFlM,CAAC,CAAC,iEAAiE,CAAC;AAExE,EAAA,IAAM6M,SAAS,GAAG7M,CAAC,CAAC,+BAA+B,CAAC;AACpD,EAAA,IAAM8M,eAAe,GAAGtC,eAAe,GACnCxK,CAAC,CAAC,2DAA2D,EAAE;AAC7DV,IAAAA,KAAK,EAAE8M;AACT,GAAC,CAAC,GACFpM,CAAC,CAAC,qCAAqC,CAAC;AAE5C,EAAA,IAAIoE,SAAS,EAAE;AACb,IAAA,oBACE1C,GAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,SAAS,EAAC,8CAA8C;AAAAP,MAAAA,QAAA,eAC3DC,GAAA,CAACqL,OAAO,EAAE,EAAA;AAAC,KACR,CAAC;AAEV;AAEA,EAAA,IAAMC,aAAa,GAChB/D,gBAAgB,IAAIjJ,CAAC,CAAC,0CAA0C,CAAC,IACjEwJ,kBAAkB,IAAIxJ,CAAC,CAAC,8CAA8C,CAAE,IACxEiK,oBAAoB,IACnBjK,CAAC,CAAC,kDAAkD,CAAE,IACvDwK,eAAe,IAAIxK,CAAC,CAAC,wCAAwC,CAAE;AAElE,EAAA,oBACEqB,IAAA,CAAA,KAAA,EAAA;AAAKW,IAAAA,SAAS,EAAC,qBAAqB;AAAAP,IAAAA,QAAA,gBAClCJ,IAAA,CAAA,KAAA,EAAA;AAAKW,MAAAA,SAAS,EAAC,8BAA8B;AAAAP,MAAAA,QAAA,gBAC3CJ,IAAA,CAAA,KAAA,EAAA;AAAKW,QAAAA,SAAS,EAAC,yFAAyF;AAAAP,QAAAA,QAAA,EAErGqJ,CAAAA,SAAS,iBACRpJ,GAAA,CAAC6E,eAAe,EAAA;AACdO,UAAAA,iBAAiB,EAAC,uCAAuC;AACzDH,UAAAA,WAAW,EAAE6F,gBAAiB;AAC9B/F,UAAAA,IAAI,EAAEwG,SAAU;AAChBlI,UAAAA,WAAW,EAAEkE,gBAAiB;AAC9BrC,UAAAA,eAAe,EAAEuC,oBAAqB;AACtCzC,UAAAA,KAAK,EAAE6F,UAAW;AAClB1F,UAAAA,SAAS,EAAEsE,kBAAmB;AAC9BvG,UAAAA,YAAY,EAAEwE;AAAkB,SACjC,CACF,EAEA2B,WAAW,iBACVrJ,GAAA,CAAC6E,eAAe,EAAA;AACdO,UAAAA,iBAAiB,EAAC,2CAA2C;AAC7DH,UAAAA,WAAW,EAAE+F,kBAAmB;AAChCjG,UAAAA,IAAI,EAAEyG,WAAY;AAClBnI,UAAAA,WAAW,EAAEyE,kBAAmB;AAChC5C,UAAAA,eAAe,EAAE8C,sBAAuB;AACxChD,UAAAA,KAAK,EAAE+F,YAAa;UACpBrF,cAAc,EACZuC,4BAA4B,IAAIC,sBACjC;AACD/C,UAAAA,SAAS,EAAE4E,oBAAqB;AAChC7G,UAAAA,YAAY,EAAEiF;AAAoB,SACnC,CACF,EAEAmB,aAAa,iBACZtJ,GAAA,CAAC6E,eAAe,EAAA;AACdO,UAAAA,iBAAiB,EAAC,wDAAwD;AAC1EH,UAAAA,WAAW,EAAEiG,oBAAqB;AAClCnG,UAAAA,IAAI,EAAE0G,QAAS;AACfpI,UAAAA,WAAW,EAAEkF,oBAAqB;AAClCrD,UAAAA,eAAe,EAAEwD,wBAAyB;AAC1C7C,UAAAA,gBAAgB,EAAC,iEAAiE;AAClFD,UAAAA,gBAAgB,EAAE4D,4BAA6B;AAC/CxE,UAAAA,KAAK,EAAEiG,cAAe;UACtBvF,cAAc,EACZ8D,4BAA4B,IAAIjB,oBACjC;AACDpD,UAAAA,SAAS,EAAE8E,sBAAuB;AAClC/G,UAAAA,YAAY,EAAEuF,qBAAsB;AACpC3C,UAAAA,QAAQ,EAAE6E;AAAqB,SAChC,CACF,EAEApB,QAAQ,iBACPvJ,GAAA,CAAC6E,eAAe,EAAA;AACdO,UAAAA,iBAAiB,EAAC,qCAAqC;AACvDH,UAAAA,WAAW,EAAEmG,eAAgB;AAC7BrG,UAAAA,IAAI,EAAE0G,QAAS;AACfpI,UAAAA,WAAW,EAAEyF,eAAgB;AAC7B5D,UAAAA,eAAe,EAAE8D,mBAAoB;AACrChE,UAAAA,KAAK,EAAEmG,SAAU;AACjBhG,UAAAA,SAAS,EAAEgF,iBAAkB;AAC7BjH,UAAAA,YAAY,EAAE+F;AAAiB,SAChC,CACF;AAAA,OACE,CAAC,EACLqC,aAAa,iBAAItL,GAAA,CAACY,OAAO,EAAA;AAACT,QAAAA,KAAK,EAAC,SAAS;AAAAJ,QAAAA,QAAA,EAAEuL;AAAa,OAAU,CAAC,EACnErD,4BAA4B,iBAC3BjI,GAAA,CAACY,OAAO,EAAA;AAACT,QAAAA,KAAK,EAAC,SAAS;AAAAJ,QAAAA,QAAA,EACrBzB,CAAC,CAAC,gDAAgD,EAAE;AACnDV,UAAAA,KAAK,EAAE2M;SACR;AAAC,OACK,CACV,EACAf,4BAA4B,iBAC3BxJ,GAAA,CAACY,OAAO,EAAA;AAACT,QAAAA,KAAK,EAAC,SAAS;AAAAJ,QAAAA,QAAA,EACrBzB,CAAC,CACA,gEAAgE,EAChE;AAAEsM,UAAAA,MAAM,EAAEH;SACZ;AAAC,OACM,CACV,EACAvC,sBAAsB,iBACrBlI,GAAA,CAACY,OAAO,EAAA;AAACT,QAAAA,KAAK,EAAC,SAAS;AAAAJ,QAAAA,QAAA,EACrBzB,CAAC,CAAC,iDAAiD,EAAE;AACpDV,UAAAA,KAAK,EAAE2M;SACR;AAAC,OACK,CACV;AAAA,KACE,CAAC,eACNvK,GAAA,CAACvB,SAAS,EAAA;AACFE,MAAAA,OAAO,EAAPA,OAAO;AACbG,MAAAA,MAAM,EAAEwH,cAAe;AACvBzH,MAAAA,QAAQ,EAAEuL,mBAAoB;AAC9BxL,MAAAA,MAAM,EAAEwL;AAAoB,KAC7B,CAAC;AAAA,GACC,CAAC;AAEV;;;;"}
@@ -363,6 +363,7 @@ var IntegrationCard = function IntegrationCard(_ref) {
363
363
  })
364
364
  })]
365
365
  }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
366
+ className: "min-w-0 break-words",
366
367
  style: "body2",
367
368
  children: description
368
369
  }), connectButtonText && /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"EmailDeliveryScreen.js","sources":["../../app/javascript/src/components/Smtp/constants.js","../../app/javascript/src/components/Smtp/Setup.jsx","../../app/javascript/src/hooks/integrations/useGmail.js","../../app/javascript/src/hooks/integrations/useOutlook.js","../../app/javascript/src/hooks/integrations/useSmtp.js","../../app/javascript/src/components/EmailDeliveryScreen/constants.js","../../app/javascript/src/components/EmailDeliveryScreen/IntegrationCard.jsx","../../app/javascript/src/components/EmailDeliveryScreen/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const ENCRYPTION_OPTIONS = [\n { label: \"None\", value: \"none\" },\n { label: \"StartTLS\", value: \"starttls\" },\n { label: \"SSL\", value: \"ssl\" },\n];\n\nexport const SMTP_ACCOUNT_INITIAL_VALUES = {\n host: \"\",\n port: 587,\n username: \"\",\n password: \"\",\n email: \"\",\n encryption: \"starttls\",\n displayName: \"\",\n};\n\nexport const SMTP_ACCOUNT_VALIDATION_SCHEMA = yup.object().shape({\n host: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.hostLabel\"),\n })\n ),\n port: yup.number().required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.portLabel\"),\n })\n ),\n username: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.usernameLabel\"),\n })\n ),\n password: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.passwordLabel\"),\n })\n ),\n email: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.emailLabel\"),\n })\n )\n .email(t(\"neetoEmailDelivery.smtp.setup.emailInvalid\")),\n displayName: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.displayNameLabel\"),\n })\n ),\n encryption: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.encryptionLabel\"),\n })\n ),\n});\n","import { Callout, Pane, Typography } from \"neetoui\";\nimport { Form, Input, Radio, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateSmtp } from \"hooks/reactQuery/integrations/useSmtpIntegrationApi\";\n\nimport {\n SMTP_ACCOUNT_INITIAL_VALUES,\n SMTP_ACCOUNT_VALIDATION_SCHEMA,\n ENCRYPTION_OPTIONS,\n} from \"./constants\";\n\nconst SmtpSetup = ({ ownerId, onDone, onCancel, isOpen }) => {\n const { t } = useTranslation();\n\n const { isPending: isCreating, mutate: createSmtp } = useCreateSmtp({\n ownerId,\n });\n\n const handleSubmit = values => {\n createSmtp({ smtp_account: values }, { onSuccess: onDone });\n };\n\n return (\n <Pane {...{ isOpen }} size=\"lg\" onClose={onCancel}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoEmailDelivery.smtp.setup.title\")}\n </Typography>\n </Pane.Header>\n <Form\n className=\"w-full\"\n formikProps={{\n initialValues: SMTP_ACCOUNT_INITIAL_VALUES,\n validationSchema: SMTP_ACCOUNT_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body className=\"space-y-4\">\n <div className=\"flex flex-col gap-6\">\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.smtp.setup.note\")}\n </Callout>\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.hostLabel\")}\n name=\"host\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.portLabel\")}\n name=\"port\"\n type=\"number\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.usernameLabel\")}\n name=\"username\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.passwordLabel\")}\n name=\"password\"\n type=\"password\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.emailLabel\")}\n name=\"email\"\n type=\"email\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.displayNameLabel\")}\n name=\"displayName\"\n />\n <Radio\n label={t(\"neetoEmailDelivery.smtp.setup.encryptionLabel\")}\n name=\"encryption\"\n >\n {ENCRYPTION_OPTIONS.map(option => (\n <Radio.Item\n key={option.value}\n label={option.label}\n value={option.value}\n />\n ))}\n </Radio>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onCancel }}\n isSubmitting={isCreating}\n submitButtonProps={{\n label: t(\"neetoEmailDelivery.smtp.setup.saveAndActivate\"),\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default SmtpSetup;\n","import { useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n useFetchGmail,\n useDestroyGmail,\n} from \"hooks/reactQuery/integrations/useGmailIntegrationApi\";\nimport { invalidateAllIntegrationQueries } from \"src/utils\";\n\nconst useGmail = ({ ownerId, indexRoute, canManageIntegrations }) => {\n const [isDisconnectAlertOpen, setIsDisconnectAlertOpen] = useState(false);\n\n const history = useHistory();\n\n const queryClient = useQueryClient();\n\n const { isLoading, data = {} } = useFetchGmail(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: destroyIntegration } =\n useDestroyGmail({ ownerId });\n\n const onClose = () => history.replace(indexRoute);\n\n const onDisconnect = () => {\n destroyIntegration(false, {\n onSuccess: () => {\n setIsDisconnectAlertOpen(false);\n invalidateAllIntegrationQueries(queryClient, ownerId);\n history.replace(indexRoute);\n },\n });\n };\n\n return {\n data,\n isLoading,\n isDestroying,\n exists: data?.exists,\n isConnected: data?.connected,\n isDisconnectAlertOpen,\n setIsDisconnectAlertOpen,\n onDisconnect,\n onClose,\n errorMessage: data?.error,\n };\n};\n\nexport default useGmail;\n","import { useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n useFetchOutlook,\n useDestroyOutlook,\n} from \"hooks/reactQuery/integrations/useOutlookIntegrationApi\";\nimport { invalidateAllIntegrationQueries } from \"src/utils\";\n\nconst useOutlook = ({ ownerId, indexRoute, canManageIntegrations }) => {\n const [isDisconnectAlertOpen, setIsDisconnectAlertOpen] = useState(false);\n\n const history = useHistory();\n\n const queryClient = useQueryClient();\n\n const { isLoading, data = {} } = useFetchOutlook(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: destroyIntegration } =\n useDestroyOutlook({ ownerId });\n\n const onClose = () => history.replace(indexRoute);\n\n const onDisconnect = () => {\n destroyIntegration(false, {\n onSuccess: () => {\n setIsDisconnectAlertOpen(false);\n invalidateAllIntegrationQueries(queryClient, ownerId);\n history.replace(indexRoute);\n },\n });\n };\n\n return {\n data,\n isLoading,\n exists: data?.exists,\n status: data?.status,\n shadowAccount: data?.shadowAccount,\n isWaitingForTestEmail: data?.status === \"inactive\" && !data?.connected,\n isDestroying,\n isConnected: data?.connected,\n isDisconnectAlertOpen,\n setIsDisconnectAlertOpen,\n onDisconnect,\n onClose,\n errorMessage: data?.error,\n };\n};\n\nexport default useOutlook;\n","import {\n useFetchSmtp,\n useDestroySmtp,\n} from \"hooks/reactQuery/integrations/useSmtpIntegrationApi\";\n\nconst useSmtp = ({ ownerId, canManageIntegrations }) => {\n const { isLoading, data = {} } = useFetchSmtp(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: onDisconnect } = useDestroySmtp({\n ownerId,\n });\n\n return {\n data,\n isConnected: data?.connected,\n isLoading,\n isDestroying,\n onDisconnect,\n exists: data?.exists,\n };\n};\n\nexport default useSmtp;\n","import { t } from \"i18next\";\n\nexport const ERROR_MESSAGES = {\n gmail_permission_not_given: t(\"neetoEmailDelivery.gmail.permissionNotGiven\"),\n outlook_permission_not_given: t(\n \"neetoEmailDelivery.outlook.permissionNotGiven\"\n ),\n outlook_invalid_client: t(\"neetoEmailDelivery.outlook.invalidClient\"),\n outlook_nil_json_web_token: t(\"neetoEmailDelivery.outlook.nilJsonWebToken\"),\n};\n","import { Button, Tag, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst IntegrationCard = ({\n icon: Icon,\n title,\n description,\n isConnected,\n isDisconnecting,\n onConnect,\n onDisconnect,\n connectButtonText,\n disconnectButtonText = \"neetoEmailDelivery.sparkpost.emailDelivery.disconnect\",\n connectedTagText = \"neetoEmailDelivery.sparkpost.emailDelivery.connected\",\n showDisconnect = false,\n showManageButton = false,\n manageButtonText,\n onManage,\n}) => {\n const { t } = useTranslation();\n\n const shouldShowDisconnect = isConnected || showDisconnect;\n\n return (\n <div className=\"neeto-ui-rounded-lg neeto-ui-shadow-xs neeto-ui-border-gray-300 translate flex flex-col gap-y-4 border p-6 no-underline transition-transform duration-300 ease-in-out outline-none hover:-translate-y-1\">\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex items-center gap-3\">\n <Icon className=\"shrink-0\" size={32} />\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h4\" weight=\"semibold\">\n {title}\n </Typography>\n {isConnected && <Tag label={t(connectedTagText)} />}\n </div>\n </div>\n </div>\n <Typography style=\"body2\">{description}</Typography>\n {connectButtonText && (\n <div className=\"flex gap-2\">\n {showManageButton && (\n <Button\n data-testid=\"manage-button\"\n label={t(manageButtonText)}\n size=\"small\"\n style=\"secondary\"\n onClick={onManage}\n />\n )}\n {shouldShowDisconnect ? (\n <Button\n data-testid=\"disconnect-button\"\n label={t(disconnectButtonText)}\n loading={isDisconnecting}\n size=\"small\"\n style=\"danger\"\n onClick={onDisconnect}\n />\n ) : (\n <Button\n data-testid=\"connect-button\"\n label={t(connectButtonText)}\n size=\"small\"\n style=\"primary\"\n onClick={onConnect}\n />\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default IntegrationCard;\n","import { useState } from \"react\";\n\nimport { humanize, isPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { MailSend } from \"neetoicons\";\nimport { Gmail as GmailIcon, Outlook as OutlookIcon } from \"neetoicons/misc\";\nimport { Spinner, Callout, Toastr } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n GMAIL_OAUTH_CONNECT_URL,\n OUTLOOK_OAUTH_CONNECT_URL,\n} from \"apis/integrations/constants\";\nimport SmtpSetup from \"components/Smtp/Setup\";\nimport useGmail from \"hooks/integrations/useGmail\";\nimport useOutlook from \"hooks/integrations/useOutlook\";\nimport useSmtp from \"hooks/integrations/useSmtp\";\nimport useSparkpostDomain from \"hooks/integrations/useSparkpostDomain\";\n\nimport { ERROR_MESSAGES } from \"./constants\";\nimport IntegrationCard from \"./IntegrationCard\";\n\nconst EmailDeliveryScreen = ({\n indexRoute,\n ownerId,\n ownDomainSetupRoute,\n ownDomainVerifyRoute,\n canManageIntegrations,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [isSmtpPaneOpen, setIsSmtpPaneOpen] = useState(false);\n const { error, errorDescription } = useQueryParams();\n\n if (isPresent(error)) {\n let errorMessage = ERROR_MESSAGES[error];\n if (errorDescription) {\n errorMessage = `${errorMessage} ${errorDescription}`;\n }\n Toastr.error(errorMessage ?? humanize(error));\n\n history.replace(indexRoute);\n }\n\n const gmailIntegration = useGmail({\n ownerId,\n indexRoute,\n canManageIntegrations,\n });\n\n const outlookIntegration = useOutlook({\n ownerId,\n indexRoute,\n canManageIntegrations,\n });\n\n const sparkpostIntegration = useSparkpostDomain({\n ownerId,\n canManageIntegrations,\n });\n\n const smtpIntegration = useSmtp({ ownerId, canManageIntegrations });\n\n const {\n data: gmailData = {},\n isConnected: isGmailConnected,\n isLoading: isGmailLoading,\n isDestroying: isGmailDisconnecting,\n onDisconnect: onGmailDisconnect,\n exists: isGmailExists,\n } = gmailIntegration;\n\n const {\n data: outlookData = {},\n isConnected: isOutlookConnected,\n isLoading: isOutlookLoading,\n isDestroying: isOutlookDisconnecting,\n isWaitingForTestEmail: isOutlookWaitingForTestEmail,\n shadowAccount: isOutlookShadowAccount,\n onDisconnect: onOutlookDisconnect,\n exists: isOutlookExists,\n } = outlookIntegration;\n\n const {\n data: sparkpostData = {},\n isConnected: isSparkpostConnected,\n isLoading: isSparkpostLoading,\n onDisconnect: onSparkpostDisconnect,\n isDestroying: isSparkpostDisconnecting,\n exists: isSparkpostExists,\n } = sparkpostIntegration;\n\n const {\n data: smtpData = {},\n isConnected: isSmtpConnected,\n isLoading: isSmtpLoading,\n isDestroying: isSmtpDisconnecting,\n onDisconnect: onSmtpDisconnect,\n exists: isSmtpExists,\n } = smtpIntegration;\n\n const isLoading =\n isGmailLoading || isOutlookLoading || isSparkpostLoading || isSmtpLoading;\n\n const noneExists =\n !isGmailExists && !isOutlookExists && !isSparkpostExists && !isSmtpExists;\n const showGmail = noneExists || isGmailExists;\n const showOutlook = noneExists || isOutlookExists;\n const showSparkpost = noneExists || isSparkpostExists;\n const showSmtp = noneExists || isSmtpExists;\n const sparkpostVerificationPending =\n isSparkpostExists && !isSparkpostConnected;\n\n const handleGmailConnect = () => {\n window.location.href = buildUrl(GMAIL_OAUTH_CONNECT_URL, { ownerId });\n };\n\n const handleOutlookConnect = () => {\n window.location.href = buildUrl(OUTLOOK_OAUTH_CONNECT_URL, { ownerId });\n };\n\n const handleOwnDomainConnect = () => {\n history.push(ownDomainSetupRoute);\n };\n\n const handleSmtpConnect = () => {\n setIsSmtpPaneOpen(true);\n };\n\n const handleSmtpPaneClose = () => {\n setIsSmtpPaneOpen(false);\n };\n\n const gmailEmail = prop(\"email\", gmailData);\n const outlookEmail = prop(\"email\", outlookData);\n const sparkpostEmail = prop(\"email\", sparkpostData);\n const sparkpostDomain = prop(\"domain\", sparkpostData);\n const smtpEmail = prop(\"email\", smtpData);\n\n const showVerificationPage = () => {\n history.push(\n buildUrl(ownDomainVerifyRoute, {\n domain: sparkpostDomain,\n email: sparkpostEmail,\n })\n );\n };\n\n const gmailTitle = t(\"neetoEmailDelivery.gmail.title\");\n const gmailDescription = isGmailConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: gmailEmail,\n })\n : t(\"neetoEmailDelivery.gmail.description\");\n\n const outlookTitle = t(\"neetoEmailDelivery.outlook.title\");\n const outlookDescription = isOutlookConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: outlookEmail,\n })\n : t(\"neetoEmailDelivery.outlook.description\");\n\n const ownDomainTitle = t(\n \"neetoEmailDelivery.sparkpost.emailDelivery.ownDomainTitle\"\n );\n\n const ownDomainDescription = isSparkpostConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: sparkpostEmail,\n })\n : t(\"neetoEmailDelivery.sparkpost.emailDelivery.ownDomainDescription\");\n\n const smtpTitle = t(\"neetoEmailDelivery.smtp.title\");\n const smtpDescription = isSmtpConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: smtpEmail,\n })\n : t(\"neetoEmailDelivery.smtp.description\");\n\n if (isLoading) {\n return (\n <div className=\"flex grow items-center justify-center w-full\">\n <Spinner />\n </div>\n );\n }\n\n const activeMessage =\n (isGmailConnected && t(\"neetoEmailDelivery.gmail.gmailConfigured\")) ||\n (isOutlookConnected && t(\"neetoEmailDelivery.outlook.outlookConfigured\")) ||\n (isSparkpostConnected &&\n t(\"neetoEmailDelivery.sparkpost.ownDomainConfigured\")) ||\n (isSmtpConnected && t(\"neetoEmailDelivery.smtp.smtpConfigured\"));\n\n return (\n <div className=\"min-h-0 w-full grow\">\n <div className=\"@container mx-auto space-y-6\">\n <div className=\"grid grid-cols-1 gap-3 py-1 @lg:grid-cols-2 @lg:gap-6 @3xl:grid-cols-3 @7xl:grid-cols-4\">\n {/* Gmail Option */}\n {showGmail && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.gmail.connectGmail\"\n description={gmailDescription}\n icon={GmailIcon}\n isConnected={isGmailConnected}\n isDisconnecting={isGmailDisconnecting}\n title={gmailTitle}\n onConnect={handleGmailConnect}\n onDisconnect={onGmailDisconnect}\n />\n )}\n {/* Outlook Option */}\n {showOutlook && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.outlook.connectOutlook\"\n description={outlookDescription}\n icon={OutlookIcon}\n isConnected={isOutlookConnected}\n isDisconnecting={isOutlookDisconnecting}\n title={outlookTitle}\n showDisconnect={\n isOutlookWaitingForTestEmail || isOutlookShadowAccount\n }\n onConnect={handleOutlookConnect}\n onDisconnect={onOutlookDisconnect}\n />\n )}\n {/* Own Domain (Sparkpost) Option */}\n {showSparkpost && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.sparkpost.emailDelivery.setupDomain\"\n description={ownDomainDescription}\n icon={MailSend}\n isConnected={isSparkpostConnected}\n isDisconnecting={isSparkpostDisconnecting}\n manageButtonText=\"neetoEmailDelivery.sparkpost.emailDelivery.continueVerification\"\n showManageButton={sparkpostVerificationPending}\n title={ownDomainTitle}\n showDisconnect={\n sparkpostVerificationPending || isSparkpostConnected\n }\n onConnect={handleOwnDomainConnect}\n onDisconnect={onSparkpostDisconnect}\n onManage={showVerificationPage}\n />\n )}\n {/* SMTP Option */}\n {showSmtp && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.smtp.connectSmtp\"\n description={smtpDescription}\n icon={MailSend}\n isConnected={isSmtpConnected}\n isDisconnecting={isSmtpDisconnecting}\n title={smtpTitle}\n onConnect={handleSmtpConnect}\n onDisconnect={onSmtpDisconnect}\n />\n )}\n </div>\n {activeMessage && <Callout style=\"success\">{activeMessage}</Callout>}\n {isOutlookWaitingForTestEmail && (\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.outlook.waitingForTestEmail\", {\n email: outlookEmail,\n })}\n </Callout>\n )}\n {sparkpostVerificationPending && (\n <Callout style=\"warning\">\n {t(\n \"neetoEmailDelivery.sparkpost.emailDelivery.verificationPending\",\n { domain: sparkpostDomain }\n )}\n </Callout>\n )}\n {isOutlookShadowAccount && (\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.outlook.shadowAccountMessage\", {\n email: outlookEmail,\n })}\n </Callout>\n )}\n </div>\n <SmtpSetup\n {...{ ownerId }}\n isOpen={isSmtpPaneOpen}\n onCancel={handleSmtpPaneClose}\n onDone={handleSmtpPaneClose}\n />\n </div>\n );\n};\n\nexport default EmailDeliveryScreen;\n"],"names":["ENCRYPTION_OPTIONS","label","value","SMTP_ACCOUNT_INITIAL_VALUES","host","port","username","password","email","encryption","displayName","SMTP_ACCOUNT_VALIDATION_SCHEMA","yup","object","shape","string","trim","required","t","field","number","SmtpSetup","_ref","ownerId","onDone","onCancel","isOpen","_useTranslation","useTranslation","_useCreateSmtp","useCreateSmtp","isCreating","isPending","createSmtp","mutate","handleSubmit","values","smtp_account","onSuccess","_jsxs","Pane","size","onClose","children","_jsx","Header","Typography","style","weight","Form","className","formikProps","initialValues","validationSchema","onSubmit","Body","Callout","Input","name","type","Radio","map","option","Item","Footer","ActionBlock","cancelButtonProps","onClick","isSubmitting","submitButtonProps","useGmail","indexRoute","canManageIntegrations","_useState","useState","_useState2","_slicedToArray","isDisconnectAlertOpen","setIsDisconnectAlertOpen","history","useHistory","queryClient","useQueryClient","_useFetchGmail","useFetchGmail","enabled","isLoading","_useFetchGmail$data","data","_useDestroyGmail","useDestroyGmail","isDestroying","destroyIntegration","replace","onDisconnect","invalidateAllIntegrationQueries","exists","isConnected","connected","errorMessage","error","useOutlook","_useFetchOutlook","useFetchOutlook","_useFetchOutlook$data","_useDestroyOutlook","useDestroyOutlook","status","shadowAccount","isWaitingForTestEmail","useSmtp","_useFetchSmtp","useFetchSmtp","_useFetchSmtp$data","_useDestroySmtp","useDestroySmtp","ERROR_MESSAGES","gmail_permission_not_given","outlook_permission_not_given","outlook_invalid_client","outlook_nil_json_web_token","IntegrationCard","Icon","icon","title","description","isDisconnecting","onConnect","connectButtonText","_ref$disconnectButton","disconnectButtonText","_ref$connectedTagText","connectedTagText","_ref$showDisconnect","showDisconnect","_ref$showManageButton","showManageButton","manageButtonText","onManage","shouldShowDisconnect","Tag","Button","loading","EmailDeliveryScreen","ownDomainSetupRoute","ownDomainVerifyRoute","isSmtpPaneOpen","setIsSmtpPaneOpen","_useQueryParams","useQueryParams","errorDescription","isPresent","_errorMessage","concat","Toastr","humanize","gmailIntegration","outlookIntegration","sparkpostIntegration","useSparkpostDomain","smtpIntegration","_gmailIntegration$dat","gmailData","isGmailConnected","isGmailLoading","isGmailDisconnecting","onGmailDisconnect","isGmailExists","_outlookIntegration$d","outlookData","isOutlookConnected","isOutlookLoading","isOutlookDisconnecting","isOutlookWaitingForTestEmail","isOutlookShadowAccount","onOutlookDisconnect","isOutlookExists","_sparkpostIntegration","sparkpostData","isSparkpostConnected","isSparkpostLoading","onSparkpostDisconnect","isSparkpostDisconnecting","isSparkpostExists","_smtpIntegration$data","smtpData","isSmtpConnected","isSmtpLoading","isSmtpDisconnecting","onSmtpDisconnect","isSmtpExists","noneExists","showGmail","showOutlook","showSparkpost","showSmtp","sparkpostVerificationPending","handleGmailConnect","window","location","href","buildUrl","GMAIL_OAUTH_CONNECT_URL","handleOutlookConnect","OUTLOOK_OAUTH_CONNECT_URL","handleOwnDomainConnect","push","handleSmtpConnect","handleSmtpPaneClose","gmailEmail","prop","outlookEmail","sparkpostEmail","sparkpostDomain","smtpEmail","showVerificationPage","domain","gmailTitle","gmailDescription","outlookTitle","outlookDescription","ownDomainTitle","ownDomainDescription","smtpTitle","smtpDescription","Spinner","activeMessage","GmailIcon","OutlookIcon","MailSend"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAMA,kBAAkB,GAAG,CAChC;AAAEC,EAAAA,KAAK,EAAE,MAAM;AAAEC,EAAAA,KAAK,EAAE;AAAO,CAAC,EAChC;AAAED,EAAAA,KAAK,EAAE,UAAU;AAAEC,EAAAA,KAAK,EAAE;AAAW,CAAC,EACxC;AAAED,EAAAA,KAAK,EAAE,KAAK;AAAEC,EAAAA,KAAK,EAAE;AAAM,CAAC,CAC/B;AAEM,IAAMC,2BAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,IAAI,EAAE,GAAG;AACTC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,KAAK,EAAE,EAAE;AACTC,EAAAA,UAAU,EAAE,UAAU;AACtBC,EAAAA,WAAW,EAAE;AACf,CAAC;AAEM,IAAMC,8BAA8B,GAAGC,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAC/DV,EAAAA,IAAI,EAAEQ,cAAG,CACNG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,yCAAyC;AACpD,GAAC,CACH,CAAC;AACHb,EAAAA,IAAI,EAAEO,cAAG,CAACQ,MAAM,EAAE,CAACH,QAAQ,CACzBC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,yCAAyC;AACpD,GAAC,CACH,CAAC;AACDZ,EAAAA,QAAQ,EAAEM,cAAG,CACVG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,6CAA6C;AACxD,GAAC,CACH,CAAC;AACHX,EAAAA,QAAQ,EAAEK,cAAG,CACVG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,6CAA6C;AACxD,GAAC,CACH,CAAC;AACHV,EAAAA,KAAK,EAAEI,cAAG,CACPG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,0CAA0C;GACpD,CACH,CAAC,CACAV,KAAK,CAACU,SAAC,CAAC,4CAA4C,CAAC,CAAC;AACzDR,EAAAA,WAAW,EAAEE,cAAG,CACbG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,gDAAgD;AAC3D,GAAC,CACH,CAAC;AACHT,EAAAA,UAAU,EAAEG,cAAG,CACZG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,+CAA+C;AAC1D,GAAC,CACH;AACJ,CAAC,CAAC;;AC9DF,IAAMG,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAA8C;AAAA,EAAA,IAAxCC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAEC,MAAM,GAAAJ,IAAA,CAANI,MAAM;AACpD,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC;EAET,IAAAW,cAAA,GAAsDC,sCAAa,CAAC;AAClEP,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;IAFiBQ,UAAU,GAAAF,cAAA,CAArBG,SAAS;IAAsBC,UAAU,GAAAJ,cAAA,CAAlBK,MAAM;AAIrC,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAGC,MAAM,EAAI;AAC7BH,IAAAA,UAAU,CAAC;AAAEI,MAAAA,YAAY,EAAED;AAAO,KAAC,EAAE;AAAEE,MAAAA,SAAS,EAAEd;AAAO,KAAC,CAAC;GAC5D;EAED,oBACEe,eAAA,CAACC,IAAI,EAAA;AAAOd,IAAAA,MAAM,EAANA,MAAM;AAAIe,IAAAA,IAAI,EAAC,IAAI;AAACC,IAAAA,OAAO,EAAEjB,QAAS;AAAAkB,IAAAA,QAAA,EAChDC,cAAAA,cAAA,CAACJ,IAAI,CAACK,MAAM,EAAA;MAAAF,QAAA,eACVC,cAAA,CAACE,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;AAACC,QAAAA,MAAM,EAAC,UAAU;QAAAL,QAAA,EACrCzB,CAAC,CAAC,qCAAqC;OAC9B;AAAC,KACF,CAAC,eACdqB,eAAA,CAACU,IAAI,EAAA;AACHC,MAAAA,SAAS,EAAC,QAAQ;AAClBC,MAAAA,WAAW,EAAE;AACXC,QAAAA,aAAa,EAAEjD,2BAA2B;AAC1CkD,QAAAA,gBAAgB,EAAE1C,8BAA8B;AAChD2C,QAAAA,QAAQ,EAAEnB;OACV;AAAAQ,MAAAA,QAAA,EAEFC,cAAAA,cAAA,CAACJ,IAAI,CAACe,IAAI,EAAA;AAACL,QAAAA,SAAS,EAAC,WAAW;AAAAP,QAAAA,QAAA,eAC9BJ,eAAA,CAAA,KAAA,EAAA;AAAKW,UAAAA,SAAS,EAAC,qBAAqB;UAAAP,QAAA,EAAA,cAClCC,cAAA,CAACY,OAAO,EAAA;AAACT,YAAAA,KAAK,EAAC,SAAS;YAAAJ,QAAA,EACrBzB,CAAC,CAAC,oCAAoC;AAAC,WACjC,CAAC,eACV0B,cAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,yCAAyC,CAAE;AACpDwC,YAAAA,IAAI,EAAC;AAAM,WACZ,CAAC,eACFd,cAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,yCAAyC,CAAE;AACpDwC,YAAAA,IAAI,EAAC,MAAM;AACXC,YAAAA,IAAI,EAAC;AAAQ,WACd,CAAC,eACFf,cAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,6CAA6C,CAAE;AACxDwC,YAAAA,IAAI,EAAC;AAAU,WAChB,CAAC,eACFd,cAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,6CAA6C,CAAE;AACxDwC,YAAAA,IAAI,EAAC,UAAU;AACfC,YAAAA,IAAI,EAAC;AAAU,WAChB,CAAC,eACFf,cAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,0CAA0C,CAAE;AACrDwC,YAAAA,IAAI,EAAC,OAAO;AACZC,YAAAA,IAAI,EAAC;AAAO,WACb,CAAC,eACFf,cAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,gDAAgD,CAAE;AAC3DwC,YAAAA,IAAI,EAAC;AAAa,WACnB,CAAC,eACFd,cAAA,CAACgB,KAAK,EAAA;AACJ3D,YAAAA,KAAK,EAAEiB,CAAC,CAAC,+CAA+C,CAAE;AAC1DwC,YAAAA,IAAI,EAAC,YAAY;AAAAf,YAAAA,QAAA,EAEhB3C,kBAAkB,CAAC6D,GAAG,CAAC,UAAAC,MAAM,EAAA;AAAA,cAAA,oBAC5BlB,cAAA,CAACgB,KAAK,CAACG,IAAI,EAAA;gBAET9D,KAAK,EAAE6D,MAAM,CAAC7D,KAAM;gBACpBC,KAAK,EAAE4D,MAAM,CAAC5D;eAFT4D,EAAAA,MAAM,CAAC5D,KAGb,CAAC;aACH;AAAC,WACG,CAAC;SACL;AAAC,OACG,CAAC,eACZ0C,cAAA,CAACJ,IAAI,CAACwB,MAAM,EAAA;QAAArB,QAAA,eACVC,cAAA,CAACqB,WAAW,EAAA;AACVC,UAAAA,iBAAiB,EAAE;AAAEC,YAAAA,OAAO,EAAE1C;WAAW;AACzC2C,UAAAA,YAAY,EAAErC,UAAW;AACzBsC,UAAAA,iBAAiB,EAAE;YACjBpE,KAAK,EAAEiB,CAAC,CAAC,+CAA+C;AAC1D;SACD;AAAC,OACS,CAAC;AAAA,KACV,CAAC;AAAA,GACH,CAAC;AAEX,CAAC;;AC3FD,IAAMoD,QAAQ,GAAG,SAAXA,QAAQA,CAAAhD,IAAA,EAAuD;AAAA,EAAA,IAAjDC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEgD,UAAU,GAAAjD,IAAA,CAAViD,UAAU;IAAEC,qBAAqB,GAAAlD,IAAA,CAArBkD,qBAAqB;AAC5D,EAAA,IAAAC,SAAA,GAA0DC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlEI,IAAAA,qBAAqB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,wBAAwB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEtD,EAAA,IAAMI,OAAO,GAAGC,yBAAU,EAAE;AAE5B,EAAA,IAAMC,WAAW,GAAGC,yBAAc,EAAE;AAEpC,EAAA,IAAAC,cAAA,GAAiCC,sCAAa,CAAC7D,OAAO,EAAE;AACtD8D,MAAAA,OAAO,EAAEb;AACX,KAAC,CAAC;IAFMc,SAAS,GAAAH,cAAA,CAATG,SAAS;IAAAC,mBAAA,GAAAJ,cAAA,CAAEK,IAAI;AAAJA,IAAAA,IAAI,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,mBAAA;EAI5B,IAAAE,gBAAA,GACEC,wCAAe,CAAC;AAAEnE,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;IADXoE,YAAY,GAAAF,gBAAA,CAAvBzD,SAAS;IAAwB4D,kBAAkB,GAAAH,gBAAA,CAA1BvD,MAAM;AAGvC,EAAA,IAAMQ,OAAO,GAAG,SAAVA,OAAOA,GAAA;AAAA,IAAA,OAASqC,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAAA,GAAA;AAEjD,EAAA,IAAMuB,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACzBF,kBAAkB,CAAC,KAAK,EAAE;AACxBtD,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QACfwC,wBAAwB,CAAC,KAAK,CAAC;AAC/BiB,QAAAA,+CAA+B,CAACd,WAAW,EAAE1D,OAAO,CAAC;AACrDwD,QAAAA,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAC7B;AACF,KAAC,CAAC;GACH;EAED,OAAO;AACLiB,IAAAA,IAAI,EAAJA,IAAI;AACJF,IAAAA,SAAS,EAATA,SAAS;AACTK,IAAAA,YAAY,EAAZA,YAAY;AACZK,IAAAA,MAAM,EAAER,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEQ,MAAM;AACpBC,IAAAA,WAAW,EAAET,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEU,SAAS;AAC5BrB,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBC,IAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBgB,IAAAA,YAAY,EAAZA,YAAY;AACZpD,IAAAA,OAAO,EAAPA,OAAO;AACPyD,IAAAA,YAAY,EAAEX,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEY;GACrB;AACH,CAAC;;ACtCD,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA/E,IAAA,EAAuD;AAAA,EAAA,IAAjDC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEgD,UAAU,GAAAjD,IAAA,CAAViD,UAAU;IAAEC,qBAAqB,GAAAlD,IAAA,CAArBkD,qBAAqB;AAC9D,EAAA,IAAAC,SAAA,GAA0DC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlEI,IAAAA,qBAAqB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,wBAAwB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEtD,EAAA,IAAMI,OAAO,GAAGC,yBAAU,EAAE;AAE5B,EAAA,IAAMC,WAAW,GAAGC,yBAAc,EAAE;AAEpC,EAAA,IAAAoB,gBAAA,GAAiCC,wCAAe,CAAChF,OAAO,EAAE;AACxD8D,MAAAA,OAAO,EAAEb;AACX,KAAC,CAAC;IAFMc,SAAS,GAAAgB,gBAAA,CAAThB,SAAS;IAAAkB,qBAAA,GAAAF,gBAAA,CAAEd,IAAI;AAAJA,IAAAA,IAAI,GAAAgB,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;EAI5B,IAAAC,kBAAA,GACEC,0CAAiB,CAAC;AAAEnF,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;IADboE,YAAY,GAAAc,kBAAA,CAAvBzE,SAAS;IAAwB4D,kBAAkB,GAAAa,kBAAA,CAA1BvE,MAAM;AAGvC,EAAA,IAAMQ,OAAO,GAAG,SAAVA,OAAOA,GAAA;AAAA,IAAA,OAASqC,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAAA,GAAA;AAEjD,EAAA,IAAMuB,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACzBF,kBAAkB,CAAC,KAAK,EAAE;AACxBtD,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QACfwC,wBAAwB,CAAC,KAAK,CAAC;AAC/BiB,QAAAA,+CAA+B,CAACd,WAAW,EAAE1D,OAAO,CAAC;AACrDwD,QAAAA,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAC7B;AACF,KAAC,CAAC;GACH;EAED,OAAO;AACLiB,IAAAA,IAAI,EAAJA,IAAI;AACJF,IAAAA,SAAS,EAATA,SAAS;AACTU,IAAAA,MAAM,EAAER,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEQ,MAAM;AACpBW,IAAAA,MAAM,EAAEnB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEmB,MAAM;AACpBC,IAAAA,aAAa,EAAEpB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEoB,aAAa;AAClCC,IAAAA,qBAAqB,EAAE,CAAArB,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEmB,MAAM,MAAK,UAAU,IAAI,EAACnB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,IAAAA,IAAI,CAAEU,SAAS,CAAA;AACtEP,IAAAA,YAAY,EAAZA,YAAY;AACZM,IAAAA,WAAW,EAAET,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEU,SAAS;AAC5BrB,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBC,IAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBgB,IAAAA,YAAY,EAAZA,YAAY;AACZpD,IAAAA,OAAO,EAAPA,OAAO;AACPyD,IAAAA,YAAY,EAAEX,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEY;GACrB;AACH,CAAC;;AC/CD,IAAMU,OAAO,GAAG,SAAVA,OAAOA,CAAAxF,IAAA,EAA2C;AAAA,EAAA,IAArCC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEiD,qBAAqB,GAAAlD,IAAA,CAArBkD,qBAAqB;AAC/C,EAAA,IAAAuC,aAAA,GAAiCC,qCAAY,CAACzF,OAAO,EAAE;AACrD8D,MAAAA,OAAO,EAAEb;AACX,KAAC,CAAC;IAFMc,SAAS,GAAAyB,aAAA,CAATzB,SAAS;IAAA2B,kBAAA,GAAAF,aAAA,CAAEvB,IAAI;AAAJA,IAAAA,IAAI,GAAAyB,kBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,kBAAA;EAI5B,IAAAC,eAAA,GAA0DC,uCAAc,CAAC;AACvE5F,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;IAFiBoE,YAAY,GAAAuB,eAAA,CAAvBlF,SAAS;IAAwB8D,YAAY,GAAAoB,eAAA,CAApBhF,MAAM;EAIvC,OAAO;AACLsD,IAAAA,IAAI,EAAJA,IAAI;AACJS,IAAAA,WAAW,EAAET,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEU,SAAS;AAC5BZ,IAAAA,SAAS,EAATA,SAAS;AACTK,IAAAA,YAAY,EAAZA,YAAY;AACZG,IAAAA,YAAY,EAAZA,YAAY;AACZE,IAAAA,MAAM,EAAER,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEQ;GACf;AACH,CAAC;;ACpBM,IAAMoB,cAAc,GAAG;AAC5BC,EAAAA,0BAA0B,EAAEnG,SAAC,CAAC,6CAA6C,CAAC;AAC5EoG,EAAAA,4BAA4B,EAAEpG,SAAC,CAC7B,+CACF,CAAC;AACDqG,EAAAA,sBAAsB,EAAErG,SAAC,CAAC,0CAA0C,CAAC;EACrEsG,0BAA0B,EAAEtG,SAAC,CAAC,4CAA4C;AAC5E,CAAC;;ACND,IAAMuG,eAAe,GAAG,SAAlBA,eAAeA,CAAAnG,IAAA,EAef;AAAA,EAAA,IAdEoG,IAAI,GAAApG,IAAA,CAAVqG,IAAI;IACJC,KAAK,GAAAtG,IAAA,CAALsG,KAAK;IACLC,WAAW,GAAAvG,IAAA,CAAXuG,WAAW;IACX5B,WAAW,GAAA3E,IAAA,CAAX2E,WAAW;IACX6B,eAAe,GAAAxG,IAAA,CAAfwG,eAAe;IACfC,SAAS,GAAAzG,IAAA,CAATyG,SAAS;IACTjC,YAAY,GAAAxE,IAAA,CAAZwE,YAAY;IACZkC,iBAAiB,GAAA1G,IAAA,CAAjB0G,iBAAiB;IAAAC,qBAAA,GAAA3G,IAAA,CACjB4G,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,uDAAuD,GAAAA,qBAAA;IAAAE,qBAAA,GAAA7G,IAAA,CAC9E8G,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,sDAAsD,GAAAA,qBAAA;IAAAE,mBAAA,GAAA/G,IAAA,CACzEgH,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,mBAAA;IAAAE,qBAAA,GAAAjH,IAAA,CACtBkH,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IACxBE,gBAAgB,GAAAnH,IAAA,CAAhBmH,gBAAgB;IAChBC,QAAQ,GAAApH,IAAA,CAARoH,QAAQ;AAER,EAAA,IAAA/G,eAAA,GAAcC,2BAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC;AAET,EAAA,IAAMyH,oBAAoB,GAAG1C,WAAW,IAAIqC,cAAc;AAE1D,EAAA,oBACE1F,cAAA,CAAA,KAAA,EAAA;AAAKM,IAAAA,SAAS,EAAC,yMAAyM;AAAAP,IAAAA,QAAA,eACtNJ,eAAA,CAAA,KAAA,EAAA;AAAKW,MAAAA,SAAS,EAAC,qBAAqB;AAAAP,MAAAA,QAAA,gBAClCJ,eAAA,CAAA,KAAA,EAAA;AAAKW,QAAAA,SAAS,EAAC,yBAAyB;QAAAP,QAAA,EAAA,cACtCC,cAAA,CAAC8E,IAAI,EAAA;AAACxE,UAAAA,SAAS,EAAC,UAAU;AAACT,UAAAA,IAAI,EAAE;SAAK,CAAC,eACvCG,cAAA,CAAA,KAAA,EAAA;AAAKM,UAAAA,SAAS,EAAC,gBAAgB;AAAAP,UAAAA,QAAA,eAC7BJ,eAAA,CAAA,KAAA,EAAA;AAAKW,YAAAA,SAAS,EAAC,yBAAyB;YAAAP,QAAA,EAAA,cACtCC,cAAA,CAACE,UAAU,EAAA;AAACC,cAAAA,KAAK,EAAC,IAAI;AAACC,cAAAA,MAAM,EAAC,UAAU;AAAAL,cAAAA,QAAA,EACrCiF;AAAK,aACI,CAAC,EACZ3B,WAAW,iBAAIrD,cAAA,CAACgG,GAAG,EAAA;cAAC3I,KAAK,EAAEiB,CAAC,CAACkH,gBAAgB;AAAE,aAAE,CAAC;WAChD;AAAC,SACH,CAAC;AAAA,OACH,CAAC,eACNxF,cAAA,CAACE,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,OAAO;AAAAJ,QAAAA,QAAA,EAAEkF;AAAW,OAAa,CAAC,EACnDG,iBAAiB,iBAChBzF,eAAA,CAAA,KAAA,EAAA;AAAKW,QAAAA,SAAS,EAAC,YAAY;AAAAP,QAAAA,QAAA,EACxB6F,CAAAA,gBAAgB,iBACf5F,cAAA,CAACiG,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,eAAe;AAC3B5I,UAAAA,KAAK,EAAEiB,CAAC,CAACuH,gBAAgB,CAAE;AAC3BhG,UAAAA,IAAI,EAAC,OAAO;AACZM,UAAAA,KAAK,EAAC,WAAW;AACjBoB,UAAAA,OAAO,EAAEuE;AAAS,SACnB,CACF,EACAC,oBAAoB,gBACnB/F,cAAA,CAACiG,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,mBAAmB;AAC/B5I,UAAAA,KAAK,EAAEiB,CAAC,CAACgH,oBAAoB,CAAE;AAC/BY,UAAAA,OAAO,EAAEhB,eAAgB;AACzBrF,UAAAA,IAAI,EAAC,OAAO;AACZM,UAAAA,KAAK,EAAC,QAAQ;AACdoB,UAAAA,OAAO,EAAE2B;AAAa,SACvB,CAAC,gBAEFlD,cAAA,CAACiG,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,gBAAgB;AAC5B5I,UAAAA,KAAK,EAAEiB,CAAC,CAAC8G,iBAAiB,CAAE;AAC5BvF,UAAAA,IAAI,EAAC,OAAO;AACZM,UAAAA,KAAK,EAAC,SAAS;AACfoB,UAAAA,OAAO,EAAE4D;AAAU,SACpB,CACF;AAAA,OACE,CACN;KACE;AAAC,GACH,CAAC;AAEV,CAAC;;AC/CD,IAAMgB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAzH,IAAA,EAMnB;AAAA,EAAA,IALJiD,UAAU,GAAAjD,IAAA,CAAViD,UAAU;IACVhD,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPyH,mBAAmB,GAAA1H,IAAA,CAAnB0H,mBAAmB;IACnBC,oBAAoB,GAAA3H,IAAA,CAApB2H,oBAAoB;IACpBzE,qBAAqB,GAAAlD,IAAA,CAArBkD,qBAAqB;AAErB,EAAA,IAAA7C,eAAA,GAAcC,2BAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC;AACT,EAAA,IAAM6D,OAAO,GAAGC,yBAAU,EAAE;AAC5B,EAAA,IAAAP,SAAA,GAA4CC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApDyE,IAAAA,cAAc,GAAAvE,UAAA,CAAA,CAAA,CAAA;AAAEwE,IAAAA,iBAAiB,GAAAxE,UAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAyE,eAAA,GAAoCC,yBAAc,EAAE;IAA5CjD,KAAK,GAAAgD,eAAA,CAALhD,KAAK;IAAEkD,gBAAgB,GAAAF,eAAA,CAAhBE,gBAAgB;AAE/B,EAAA,IAAIC,mBAAS,CAACnD,KAAK,CAAC,EAAE;AAAA,IAAA,IAAAoD,aAAA;AACpB,IAAA,IAAIrD,YAAY,GAAGiB,cAAc,CAAChB,KAAK,CAAC;AACxC,IAAA,IAAIkD,gBAAgB,EAAE;MACpBnD,YAAY,GAAA,EAAA,CAAAsD,MAAA,CAAMtD,YAAY,OAAAsD,MAAA,CAAIH,gBAAgB,CAAE;AACtD;AACAI,IAAAA,MAAM,CAACtD,KAAK,CAAAoD,CAAAA,aAAA,GAACrD,YAAY,MAAA,IAAA,IAAAqD,aAAA,KAAA,KAAA,CAAA,GAAAA,aAAA,GAAIG,kBAAQ,CAACvD,KAAK,CAAC,CAAC;AAE7CrB,IAAAA,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAC7B;EAEA,IAAMqF,gBAAgB,GAAGtF,QAAQ,CAAC;AAChC/C,IAAAA,OAAO,EAAPA,OAAO;AACPgD,IAAAA,UAAU,EAAVA,UAAU;AACVC,IAAAA,qBAAqB,EAArBA;AACF,GAAC,CAAC;EAEF,IAAMqF,kBAAkB,GAAGxD,UAAU,CAAC;AACpC9E,IAAAA,OAAO,EAAPA,OAAO;AACPgD,IAAAA,UAAU,EAAVA,UAAU;AACVC,IAAAA,qBAAqB,EAArBA;AACF,GAAC,CAAC;EAEF,IAAMsF,oBAAoB,GAAGC,qCAAkB,CAAC;AAC9CxI,IAAAA,OAAO,EAAPA,OAAO;AACPiD,IAAAA,qBAAqB,EAArBA;AACF,GAAC,CAAC;EAEF,IAAMwF,eAAe,GAAGlD,OAAO,CAAC;AAAEvF,IAAAA,OAAO,EAAPA,OAAO;AAAEiD,IAAAA,qBAAqB,EAArBA;AAAsB,GAAC,CAAC;AAEnE,EAAA,IAAAyF,qBAAA,GAOIL,gBAAgB,CANlBpE,IAAI;AAAE0E,IAAAA,SAAS,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACPE,gBAAgB,GAK3BP,gBAAgB,CALlB3D,WAAW;IACAmE,cAAc,GAIvBR,gBAAgB,CAJlBtE,SAAS;IACK+E,oBAAoB,GAGhCT,gBAAgB,CAHlBjE,YAAY;IACE2E,iBAAiB,GAE7BV,gBAAgB,CAFlB9D,YAAY;IACJyE,aAAa,GACnBX,gBAAgB,CADlB5D,MAAM;AAGR,EAAA,IAAAwE,qBAAA,GASIX,kBAAkB,CARpBrE,IAAI;AAAEiF,IAAAA,WAAW,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACTE,kBAAkB,GAO7Bb,kBAAkB,CAPpB5D,WAAW;IACA0E,gBAAgB,GAMzBd,kBAAkB,CANpBvE,SAAS;IACKsF,sBAAsB,GAKlCf,kBAAkB,CALpBlE,YAAY;IACWkF,4BAA4B,GAIjDhB,kBAAkB,CAJpBhD,qBAAqB;IACNiE,sBAAsB,GAGnCjB,kBAAkB,CAHpBjD,aAAa;IACCmE,mBAAmB,GAE/BlB,kBAAkB,CAFpB/D,YAAY;IACJkF,eAAe,GACrBnB,kBAAkB,CADpB7D,MAAM;AAGR,EAAA,IAAAiF,qBAAA,GAOInB,oBAAoB,CANtBtE,IAAI;AAAE0F,IAAAA,aAAa,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACXE,oBAAoB,GAK/BrB,oBAAoB,CALtB7D,WAAW;IACAmF,kBAAkB,GAI3BtB,oBAAoB,CAJtBxE,SAAS;IACK+F,qBAAqB,GAGjCvB,oBAAoB,CAHtBhE,YAAY;IACEwF,wBAAwB,GAEpCxB,oBAAoB,CAFtBnE,YAAY;IACJ4F,iBAAiB,GACvBzB,oBAAoB,CADtB9D,MAAM;AAGR,EAAA,IAAAwF,qBAAA,GAOIxB,eAAe,CANjBxE,IAAI;AAAEiG,IAAAA,QAAQ,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACNE,eAAe,GAK1B1B,eAAe,CALjB/D,WAAW;IACA0F,aAAa,GAItB3B,eAAe,CAJjB1E,SAAS;IACKsG,mBAAmB,GAG/B5B,eAAe,CAHjBrE,YAAY;IACEkG,gBAAgB,GAE5B7B,eAAe,CAFjBlE,YAAY;IACJgG,YAAY,GAClB9B,eAAe,CADjBhE,MAAM;EAGR,IAAMV,SAAS,GACb8E,cAAc,IAAIO,gBAAgB,IAAIS,kBAAkB,IAAIO,aAAa;AAE3E,EAAA,IAAMI,UAAU,GACd,CAACxB,aAAa,IAAI,CAACS,eAAe,IAAI,CAACO,iBAAiB,IAAI,CAACO,YAAY;AAC3E,EAAA,IAAME,SAAS,GAAGD,UAAU,IAAIxB,aAAa;AAC7C,EAAA,IAAM0B,WAAW,GAAGF,UAAU,IAAIf,eAAe;AACjD,EAAA,IAAMkB,aAAa,GAAGH,UAAU,IAAIR,iBAAiB;AACrD,EAAA,IAAMY,QAAQ,GAAGJ,UAAU,IAAID,YAAY;AAC3C,EAAA,IAAMM,4BAA4B,GAChCb,iBAAiB,IAAI,CAACJ,oBAAoB;AAE5C,EAAA,IAAMkB,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;IAC/BC,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGC,cAAQ,CAACC,uCAAuB,EAAE;AAAEnL,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;GACtE;AAED,EAAA,IAAMoL,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;IACjCL,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGC,cAAQ,CAACG,yCAAyB,EAAE;AAAErL,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;GACxE;AAED,EAAA,IAAMsL,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAS;AACnC9H,IAAAA,OAAO,CAAC+H,IAAI,CAAC9D,mBAAmB,CAAC;GAClC;AAED,EAAA,IAAM+D,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAS;IAC9B5D,iBAAiB,CAAC,IAAI,CAAC;GACxB;AAED,EAAA,IAAM6D,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;IAChC7D,iBAAiB,CAAC,KAAK,CAAC;GACzB;AAED,EAAA,IAAM8D,UAAU,GAAGC,UAAI,CAAC,OAAO,EAAEhD,SAAS,CAAC;AAC3C,EAAA,IAAMiD,YAAY,GAAGD,UAAI,CAAC,OAAO,EAAEzC,WAAW,CAAC;AAC/C,EAAA,IAAM2C,cAAc,GAAGF,UAAI,CAAC,OAAO,EAAEhC,aAAa,CAAC;AACnD,EAAA,IAAMmC,eAAe,GAAGH,UAAI,CAAC,QAAQ,EAAEhC,aAAa,CAAC;AACrD,EAAA,IAAMoC,SAAS,GAAGJ,UAAI,CAAC,OAAO,EAAEzB,QAAQ,CAAC;AAEzC,EAAA,IAAM8B,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;AACjCxI,IAAAA,OAAO,CAAC+H,IAAI,CACVL,cAAQ,CAACxD,oBAAoB,EAAE;AAC7BuE,MAAAA,MAAM,EAAEH,eAAe;AACvB7M,MAAAA,KAAK,EAAE4M;AACT,KAAC,CACH,CAAC;GACF;AAED,EAAA,IAAMK,UAAU,GAAGvM,CAAC,CAAC,gCAAgC,CAAC;AACtD,EAAA,IAAMwM,gBAAgB,GAAGvD,gBAAgB,GACrCjJ,CAAC,CAAC,2DAA2D,EAAE;AAC7DV,IAAAA,KAAK,EAAEyM;AACT,GAAC,CAAC,GACF/L,CAAC,CAAC,sCAAsC,CAAC;AAE7C,EAAA,IAAMyM,YAAY,GAAGzM,CAAC,CAAC,kCAAkC,CAAC;AAC1D,EAAA,IAAM0M,kBAAkB,GAAGlD,kBAAkB,GACzCxJ,CAAC,CAAC,2DAA2D,EAAE;AAC7DV,IAAAA,KAAK,EAAE2M;AACT,GAAC,CAAC,GACFjM,CAAC,CAAC,wCAAwC,CAAC;AAE/C,EAAA,IAAM2M,cAAc,GAAG3M,CAAC,CACtB,2DACF,CAAC;AAED,EAAA,IAAM4M,oBAAoB,GAAG3C,oBAAoB,GAC7CjK,CAAC,CAAC,2DAA2D,EAAE;AAC7DV,IAAAA,KAAK,EAAE4M;AACT,GAAC,CAAC,GACFlM,CAAC,CAAC,iEAAiE,CAAC;AAExE,EAAA,IAAM6M,SAAS,GAAG7M,CAAC,CAAC,+BAA+B,CAAC;AACpD,EAAA,IAAM8M,eAAe,GAAGtC,eAAe,GACnCxK,CAAC,CAAC,2DAA2D,EAAE;AAC7DV,IAAAA,KAAK,EAAE8M;AACT,GAAC,CAAC,GACFpM,CAAC,CAAC,qCAAqC,CAAC;AAE5C,EAAA,IAAIoE,SAAS,EAAE;AACb,IAAA,oBACE1C,cAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,SAAS,EAAC,8CAA8C;AAAAP,MAAAA,QAAA,eAC3DC,cAAA,CAACqL,OAAO,EAAE,EAAA;AAAC,KACR,CAAC;AAEV;AAEA,EAAA,IAAMC,aAAa,GAChB/D,gBAAgB,IAAIjJ,CAAC,CAAC,0CAA0C,CAAC,IACjEwJ,kBAAkB,IAAIxJ,CAAC,CAAC,8CAA8C,CAAE,IACxEiK,oBAAoB,IACnBjK,CAAC,CAAC,kDAAkD,CAAE,IACvDwK,eAAe,IAAIxK,CAAC,CAAC,wCAAwC,CAAE;AAElE,EAAA,oBACEqB,eAAA,CAAA,KAAA,EAAA;AAAKW,IAAAA,SAAS,EAAC,qBAAqB;AAAAP,IAAAA,QAAA,gBAClCJ,eAAA,CAAA,KAAA,EAAA;AAAKW,MAAAA,SAAS,EAAC,8BAA8B;AAAAP,MAAAA,QAAA,gBAC3CJ,eAAA,CAAA,KAAA,EAAA;AAAKW,QAAAA,SAAS,EAAC,yFAAyF;AAAAP,QAAAA,QAAA,EAErGqJ,CAAAA,SAAS,iBACRpJ,cAAA,CAAC6E,eAAe,EAAA;AACdO,UAAAA,iBAAiB,EAAC,uCAAuC;AACzDH,UAAAA,WAAW,EAAE6F,gBAAiB;AAC9B/F,UAAAA,IAAI,EAAEwG,SAAU;AAChBlI,UAAAA,WAAW,EAAEkE,gBAAiB;AAC9BrC,UAAAA,eAAe,EAAEuC,oBAAqB;AACtCzC,UAAAA,KAAK,EAAE6F,UAAW;AAClB1F,UAAAA,SAAS,EAAEsE,kBAAmB;AAC9BvG,UAAAA,YAAY,EAAEwE;AAAkB,SACjC,CACF,EAEA2B,WAAW,iBACVrJ,cAAA,CAAC6E,eAAe,EAAA;AACdO,UAAAA,iBAAiB,EAAC,2CAA2C;AAC7DH,UAAAA,WAAW,EAAE+F,kBAAmB;AAChCjG,UAAAA,IAAI,EAAEyG,WAAY;AAClBnI,UAAAA,WAAW,EAAEyE,kBAAmB;AAChC5C,UAAAA,eAAe,EAAE8C,sBAAuB;AACxChD,UAAAA,KAAK,EAAE+F,YAAa;UACpBrF,cAAc,EACZuC,4BAA4B,IAAIC,sBACjC;AACD/C,UAAAA,SAAS,EAAE4E,oBAAqB;AAChC7G,UAAAA,YAAY,EAAEiF;AAAoB,SACnC,CACF,EAEAmB,aAAa,iBACZtJ,cAAA,CAAC6E,eAAe,EAAA;AACdO,UAAAA,iBAAiB,EAAC,wDAAwD;AAC1EH,UAAAA,WAAW,EAAEiG,oBAAqB;AAClCnG,UAAAA,IAAI,EAAE0G,QAAS;AACfpI,UAAAA,WAAW,EAAEkF,oBAAqB;AAClCrD,UAAAA,eAAe,EAAEwD,wBAAyB;AAC1C7C,UAAAA,gBAAgB,EAAC,iEAAiE;AAClFD,UAAAA,gBAAgB,EAAE4D,4BAA6B;AAC/CxE,UAAAA,KAAK,EAAEiG,cAAe;UACtBvF,cAAc,EACZ8D,4BAA4B,IAAIjB,oBACjC;AACDpD,UAAAA,SAAS,EAAE8E,sBAAuB;AAClC/G,UAAAA,YAAY,EAAEuF,qBAAsB;AACpC3C,UAAAA,QAAQ,EAAE6E;AAAqB,SAChC,CACF,EAEApB,QAAQ,iBACPvJ,cAAA,CAAC6E,eAAe,EAAA;AACdO,UAAAA,iBAAiB,EAAC,qCAAqC;AACvDH,UAAAA,WAAW,EAAEmG,eAAgB;AAC7BrG,UAAAA,IAAI,EAAE0G,QAAS;AACfpI,UAAAA,WAAW,EAAEyF,eAAgB;AAC7B5D,UAAAA,eAAe,EAAE8D,mBAAoB;AACrChE,UAAAA,KAAK,EAAEmG,SAAU;AACjBhG,UAAAA,SAAS,EAAEgF,iBAAkB;AAC7BjH,UAAAA,YAAY,EAAE+F;AAAiB,SAChC,CACF;AAAA,OACE,CAAC,EACLqC,aAAa,iBAAItL,cAAA,CAACY,OAAO,EAAA;AAACT,QAAAA,KAAK,EAAC,SAAS;AAAAJ,QAAAA,QAAA,EAAEuL;AAAa,OAAU,CAAC,EACnErD,4BAA4B,iBAC3BjI,cAAA,CAACY,OAAO,EAAA;AAACT,QAAAA,KAAK,EAAC,SAAS;AAAAJ,QAAAA,QAAA,EACrBzB,CAAC,CAAC,gDAAgD,EAAE;AACnDV,UAAAA,KAAK,EAAE2M;SACR;AAAC,OACK,CACV,EACAf,4BAA4B,iBAC3BxJ,cAAA,CAACY,OAAO,EAAA;AAACT,QAAAA,KAAK,EAAC,SAAS;AAAAJ,QAAAA,QAAA,EACrBzB,CAAC,CACA,gEAAgE,EAChE;AAAEsM,UAAAA,MAAM,EAAEH;SACZ;AAAC,OACM,CACV,EACAvC,sBAAsB,iBACrBlI,cAAA,CAACY,OAAO,EAAA;AAACT,QAAAA,KAAK,EAAC,SAAS;AAAAJ,QAAAA,QAAA,EACrBzB,CAAC,CAAC,iDAAiD,EAAE;AACpDV,UAAAA,KAAK,EAAE2M;SACR;AAAC,OACK,CACV;AAAA,KACE,CAAC,eACNvK,cAAA,CAACvB,SAAS,EAAA;AACFE,MAAAA,OAAO,EAAPA,OAAO;AACbG,MAAAA,MAAM,EAAEwH,cAAe;AACvBzH,MAAAA,QAAQ,EAAEuL,mBAAoB;AAC9BxL,MAAAA,MAAM,EAAEwL;AAAoB,KAC7B,CAAC;AAAA,GACC,CAAC;AAEV;;;;"}
1
+ {"version":3,"file":"EmailDeliveryScreen.js","sources":["../../app/javascript/src/components/Smtp/constants.js","../../app/javascript/src/components/Smtp/Setup.jsx","../../app/javascript/src/hooks/integrations/useGmail.js","../../app/javascript/src/hooks/integrations/useOutlook.js","../../app/javascript/src/hooks/integrations/useSmtp.js","../../app/javascript/src/components/EmailDeliveryScreen/constants.js","../../app/javascript/src/components/EmailDeliveryScreen/IntegrationCard.jsx","../../app/javascript/src/components/EmailDeliveryScreen/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const ENCRYPTION_OPTIONS = [\n { label: \"None\", value: \"none\" },\n { label: \"StartTLS\", value: \"starttls\" },\n { label: \"SSL\", value: \"ssl\" },\n];\n\nexport const SMTP_ACCOUNT_INITIAL_VALUES = {\n host: \"\",\n port: 587,\n username: \"\",\n password: \"\",\n email: \"\",\n encryption: \"starttls\",\n displayName: \"\",\n};\n\nexport const SMTP_ACCOUNT_VALIDATION_SCHEMA = yup.object().shape({\n host: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.hostLabel\"),\n })\n ),\n port: yup.number().required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.portLabel\"),\n })\n ),\n username: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.usernameLabel\"),\n })\n ),\n password: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.passwordLabel\"),\n })\n ),\n email: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.emailLabel\"),\n })\n )\n .email(t(\"neetoEmailDelivery.smtp.setup.emailInvalid\")),\n displayName: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.displayNameLabel\"),\n })\n ),\n encryption: yup\n .string()\n .trim()\n .required(\n t(\"neetoEmailDelivery.smtp.setup.requiredField\", {\n field: t(\"neetoEmailDelivery.smtp.setup.encryptionLabel\"),\n })\n ),\n});\n","import { Callout, Pane, Typography } from \"neetoui\";\nimport { Form, Input, Radio, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateSmtp } from \"hooks/reactQuery/integrations/useSmtpIntegrationApi\";\n\nimport {\n SMTP_ACCOUNT_INITIAL_VALUES,\n SMTP_ACCOUNT_VALIDATION_SCHEMA,\n ENCRYPTION_OPTIONS,\n} from \"./constants\";\n\nconst SmtpSetup = ({ ownerId, onDone, onCancel, isOpen }) => {\n const { t } = useTranslation();\n\n const { isPending: isCreating, mutate: createSmtp } = useCreateSmtp({\n ownerId,\n });\n\n const handleSubmit = values => {\n createSmtp({ smtp_account: values }, { onSuccess: onDone });\n };\n\n return (\n <Pane {...{ isOpen }} size=\"lg\" onClose={onCancel}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoEmailDelivery.smtp.setup.title\")}\n </Typography>\n </Pane.Header>\n <Form\n className=\"w-full\"\n formikProps={{\n initialValues: SMTP_ACCOUNT_INITIAL_VALUES,\n validationSchema: SMTP_ACCOUNT_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body className=\"space-y-4\">\n <div className=\"flex flex-col gap-6\">\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.smtp.setup.note\")}\n </Callout>\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.hostLabel\")}\n name=\"host\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.portLabel\")}\n name=\"port\"\n type=\"number\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.usernameLabel\")}\n name=\"username\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.passwordLabel\")}\n name=\"password\"\n type=\"password\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.emailLabel\")}\n name=\"email\"\n type=\"email\"\n />\n <Input\n required\n label={t(\"neetoEmailDelivery.smtp.setup.displayNameLabel\")}\n name=\"displayName\"\n />\n <Radio\n label={t(\"neetoEmailDelivery.smtp.setup.encryptionLabel\")}\n name=\"encryption\"\n >\n {ENCRYPTION_OPTIONS.map(option => (\n <Radio.Item\n key={option.value}\n label={option.label}\n value={option.value}\n />\n ))}\n </Radio>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onCancel }}\n isSubmitting={isCreating}\n submitButtonProps={{\n label: t(\"neetoEmailDelivery.smtp.setup.saveAndActivate\"),\n }}\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default SmtpSetup;\n","import { useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n useFetchGmail,\n useDestroyGmail,\n} from \"hooks/reactQuery/integrations/useGmailIntegrationApi\";\nimport { invalidateAllIntegrationQueries } from \"src/utils\";\n\nconst useGmail = ({ ownerId, indexRoute, canManageIntegrations }) => {\n const [isDisconnectAlertOpen, setIsDisconnectAlertOpen] = useState(false);\n\n const history = useHistory();\n\n const queryClient = useQueryClient();\n\n const { isLoading, data = {} } = useFetchGmail(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: destroyIntegration } =\n useDestroyGmail({ ownerId });\n\n const onClose = () => history.replace(indexRoute);\n\n const onDisconnect = () => {\n destroyIntegration(false, {\n onSuccess: () => {\n setIsDisconnectAlertOpen(false);\n invalidateAllIntegrationQueries(queryClient, ownerId);\n history.replace(indexRoute);\n },\n });\n };\n\n return {\n data,\n isLoading,\n isDestroying,\n exists: data?.exists,\n isConnected: data?.connected,\n isDisconnectAlertOpen,\n setIsDisconnectAlertOpen,\n onDisconnect,\n onClose,\n errorMessage: data?.error,\n };\n};\n\nexport default useGmail;\n","import { useState } from \"react\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n useFetchOutlook,\n useDestroyOutlook,\n} from \"hooks/reactQuery/integrations/useOutlookIntegrationApi\";\nimport { invalidateAllIntegrationQueries } from \"src/utils\";\n\nconst useOutlook = ({ ownerId, indexRoute, canManageIntegrations }) => {\n const [isDisconnectAlertOpen, setIsDisconnectAlertOpen] = useState(false);\n\n const history = useHistory();\n\n const queryClient = useQueryClient();\n\n const { isLoading, data = {} } = useFetchOutlook(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: destroyIntegration } =\n useDestroyOutlook({ ownerId });\n\n const onClose = () => history.replace(indexRoute);\n\n const onDisconnect = () => {\n destroyIntegration(false, {\n onSuccess: () => {\n setIsDisconnectAlertOpen(false);\n invalidateAllIntegrationQueries(queryClient, ownerId);\n history.replace(indexRoute);\n },\n });\n };\n\n return {\n data,\n isLoading,\n exists: data?.exists,\n status: data?.status,\n shadowAccount: data?.shadowAccount,\n isWaitingForTestEmail: data?.status === \"inactive\" && !data?.connected,\n isDestroying,\n isConnected: data?.connected,\n isDisconnectAlertOpen,\n setIsDisconnectAlertOpen,\n onDisconnect,\n onClose,\n errorMessage: data?.error,\n };\n};\n\nexport default useOutlook;\n","import {\n useFetchSmtp,\n useDestroySmtp,\n} from \"hooks/reactQuery/integrations/useSmtpIntegrationApi\";\n\nconst useSmtp = ({ ownerId, canManageIntegrations }) => {\n const { isLoading, data = {} } = useFetchSmtp(ownerId, {\n enabled: canManageIntegrations,\n });\n\n const { isPending: isDestroying, mutate: onDisconnect } = useDestroySmtp({\n ownerId,\n });\n\n return {\n data,\n isConnected: data?.connected,\n isLoading,\n isDestroying,\n onDisconnect,\n exists: data?.exists,\n };\n};\n\nexport default useSmtp;\n","import { t } from \"i18next\";\n\nexport const ERROR_MESSAGES = {\n gmail_permission_not_given: t(\"neetoEmailDelivery.gmail.permissionNotGiven\"),\n outlook_permission_not_given: t(\n \"neetoEmailDelivery.outlook.permissionNotGiven\"\n ),\n outlook_invalid_client: t(\"neetoEmailDelivery.outlook.invalidClient\"),\n outlook_nil_json_web_token: t(\"neetoEmailDelivery.outlook.nilJsonWebToken\"),\n};\n","import { Button, Tag, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst IntegrationCard = ({\n icon: Icon,\n title,\n description,\n isConnected,\n isDisconnecting,\n onConnect,\n onDisconnect,\n connectButtonText,\n disconnectButtonText = \"neetoEmailDelivery.sparkpost.emailDelivery.disconnect\",\n connectedTagText = \"neetoEmailDelivery.sparkpost.emailDelivery.connected\",\n showDisconnect = false,\n showManageButton = false,\n manageButtonText,\n onManage,\n}) => {\n const { t } = useTranslation();\n\n const shouldShowDisconnect = isConnected || showDisconnect;\n\n return (\n <div className=\"neeto-ui-rounded-lg neeto-ui-shadow-xs neeto-ui-border-gray-300 translate flex flex-col gap-y-4 border p-6 no-underline transition-transform duration-300 ease-in-out outline-none hover:-translate-y-1\">\n <div className=\"flex flex-col gap-4\">\n <div className=\"flex items-center gap-3\">\n <Icon className=\"shrink-0\" size={32} />\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-2\">\n <Typography style=\"h4\" weight=\"semibold\">\n {title}\n </Typography>\n {isConnected && <Tag label={t(connectedTagText)} />}\n </div>\n </div>\n </div>\n <Typography className=\"min-w-0 break-words\" style=\"body2\">\n {description}\n </Typography>\n {connectButtonText && (\n <div className=\"flex gap-2\">\n {showManageButton && (\n <Button\n data-testid=\"manage-button\"\n label={t(manageButtonText)}\n size=\"small\"\n style=\"secondary\"\n onClick={onManage}\n />\n )}\n {shouldShowDisconnect ? (\n <Button\n data-testid=\"disconnect-button\"\n label={t(disconnectButtonText)}\n loading={isDisconnecting}\n size=\"small\"\n style=\"danger\"\n onClick={onDisconnect}\n />\n ) : (\n <Button\n data-testid=\"connect-button\"\n label={t(connectButtonText)}\n size=\"small\"\n style=\"primary\"\n onClick={onConnect}\n />\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default IntegrationCard;\n","import { useState } from \"react\";\n\nimport { humanize, isPresent } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { MailSend } from \"neetoicons\";\nimport { Gmail as GmailIcon, Outlook as OutlookIcon } from \"neetoicons/misc\";\nimport { Spinner, Callout, Toastr } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n GMAIL_OAUTH_CONNECT_URL,\n OUTLOOK_OAUTH_CONNECT_URL,\n} from \"apis/integrations/constants\";\nimport SmtpSetup from \"components/Smtp/Setup\";\nimport useGmail from \"hooks/integrations/useGmail\";\nimport useOutlook from \"hooks/integrations/useOutlook\";\nimport useSmtp from \"hooks/integrations/useSmtp\";\nimport useSparkpostDomain from \"hooks/integrations/useSparkpostDomain\";\n\nimport { ERROR_MESSAGES } from \"./constants\";\nimport IntegrationCard from \"./IntegrationCard\";\n\nconst EmailDeliveryScreen = ({\n indexRoute,\n ownerId,\n ownDomainSetupRoute,\n ownDomainVerifyRoute,\n canManageIntegrations,\n}) => {\n const { t } = useTranslation();\n const history = useHistory();\n const [isSmtpPaneOpen, setIsSmtpPaneOpen] = useState(false);\n const { error, errorDescription } = useQueryParams();\n\n if (isPresent(error)) {\n let errorMessage = ERROR_MESSAGES[error];\n if (errorDescription) {\n errorMessage = `${errorMessage} ${errorDescription}`;\n }\n Toastr.error(errorMessage ?? humanize(error));\n\n history.replace(indexRoute);\n }\n\n const gmailIntegration = useGmail({\n ownerId,\n indexRoute,\n canManageIntegrations,\n });\n\n const outlookIntegration = useOutlook({\n ownerId,\n indexRoute,\n canManageIntegrations,\n });\n\n const sparkpostIntegration = useSparkpostDomain({\n ownerId,\n canManageIntegrations,\n });\n\n const smtpIntegration = useSmtp({ ownerId, canManageIntegrations });\n\n const {\n data: gmailData = {},\n isConnected: isGmailConnected,\n isLoading: isGmailLoading,\n isDestroying: isGmailDisconnecting,\n onDisconnect: onGmailDisconnect,\n exists: isGmailExists,\n } = gmailIntegration;\n\n const {\n data: outlookData = {},\n isConnected: isOutlookConnected,\n isLoading: isOutlookLoading,\n isDestroying: isOutlookDisconnecting,\n isWaitingForTestEmail: isOutlookWaitingForTestEmail,\n shadowAccount: isOutlookShadowAccount,\n onDisconnect: onOutlookDisconnect,\n exists: isOutlookExists,\n } = outlookIntegration;\n\n const {\n data: sparkpostData = {},\n isConnected: isSparkpostConnected,\n isLoading: isSparkpostLoading,\n onDisconnect: onSparkpostDisconnect,\n isDestroying: isSparkpostDisconnecting,\n exists: isSparkpostExists,\n } = sparkpostIntegration;\n\n const {\n data: smtpData = {},\n isConnected: isSmtpConnected,\n isLoading: isSmtpLoading,\n isDestroying: isSmtpDisconnecting,\n onDisconnect: onSmtpDisconnect,\n exists: isSmtpExists,\n } = smtpIntegration;\n\n const isLoading =\n isGmailLoading || isOutlookLoading || isSparkpostLoading || isSmtpLoading;\n\n const noneExists =\n !isGmailExists && !isOutlookExists && !isSparkpostExists && !isSmtpExists;\n const showGmail = noneExists || isGmailExists;\n const showOutlook = noneExists || isOutlookExists;\n const showSparkpost = noneExists || isSparkpostExists;\n const showSmtp = noneExists || isSmtpExists;\n const sparkpostVerificationPending =\n isSparkpostExists && !isSparkpostConnected;\n\n const handleGmailConnect = () => {\n window.location.href = buildUrl(GMAIL_OAUTH_CONNECT_URL, { ownerId });\n };\n\n const handleOutlookConnect = () => {\n window.location.href = buildUrl(OUTLOOK_OAUTH_CONNECT_URL, { ownerId });\n };\n\n const handleOwnDomainConnect = () => {\n history.push(ownDomainSetupRoute);\n };\n\n const handleSmtpConnect = () => {\n setIsSmtpPaneOpen(true);\n };\n\n const handleSmtpPaneClose = () => {\n setIsSmtpPaneOpen(false);\n };\n\n const gmailEmail = prop(\"email\", gmailData);\n const outlookEmail = prop(\"email\", outlookData);\n const sparkpostEmail = prop(\"email\", sparkpostData);\n const sparkpostDomain = prop(\"domain\", sparkpostData);\n const smtpEmail = prop(\"email\", smtpData);\n\n const showVerificationPage = () => {\n history.push(\n buildUrl(ownDomainVerifyRoute, {\n domain: sparkpostDomain,\n email: sparkpostEmail,\n })\n );\n };\n\n const gmailTitle = t(\"neetoEmailDelivery.gmail.title\");\n const gmailDescription = isGmailConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: gmailEmail,\n })\n : t(\"neetoEmailDelivery.gmail.description\");\n\n const outlookTitle = t(\"neetoEmailDelivery.outlook.title\");\n const outlookDescription = isOutlookConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: outlookEmail,\n })\n : t(\"neetoEmailDelivery.outlook.description\");\n\n const ownDomainTitle = t(\n \"neetoEmailDelivery.sparkpost.emailDelivery.ownDomainTitle\"\n );\n\n const ownDomainDescription = isSparkpostConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: sparkpostEmail,\n })\n : t(\"neetoEmailDelivery.sparkpost.emailDelivery.ownDomainDescription\");\n\n const smtpTitle = t(\"neetoEmailDelivery.smtp.title\");\n const smtpDescription = isSmtpConnected\n ? t(\"neetoEmailDelivery.sparkpost.emailDelivery.connectedEmail\", {\n email: smtpEmail,\n })\n : t(\"neetoEmailDelivery.smtp.description\");\n\n if (isLoading) {\n return (\n <div className=\"flex grow items-center justify-center w-full\">\n <Spinner />\n </div>\n );\n }\n\n const activeMessage =\n (isGmailConnected && t(\"neetoEmailDelivery.gmail.gmailConfigured\")) ||\n (isOutlookConnected && t(\"neetoEmailDelivery.outlook.outlookConfigured\")) ||\n (isSparkpostConnected &&\n t(\"neetoEmailDelivery.sparkpost.ownDomainConfigured\")) ||\n (isSmtpConnected && t(\"neetoEmailDelivery.smtp.smtpConfigured\"));\n\n return (\n <div className=\"min-h-0 w-full grow\">\n <div className=\"@container mx-auto space-y-6\">\n <div className=\"grid grid-cols-1 gap-3 py-1 @lg:grid-cols-2 @lg:gap-6 @3xl:grid-cols-3 @7xl:grid-cols-4\">\n {/* Gmail Option */}\n {showGmail && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.gmail.connectGmail\"\n description={gmailDescription}\n icon={GmailIcon}\n isConnected={isGmailConnected}\n isDisconnecting={isGmailDisconnecting}\n title={gmailTitle}\n onConnect={handleGmailConnect}\n onDisconnect={onGmailDisconnect}\n />\n )}\n {/* Outlook Option */}\n {showOutlook && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.outlook.connectOutlook\"\n description={outlookDescription}\n icon={OutlookIcon}\n isConnected={isOutlookConnected}\n isDisconnecting={isOutlookDisconnecting}\n title={outlookTitle}\n showDisconnect={\n isOutlookWaitingForTestEmail || isOutlookShadowAccount\n }\n onConnect={handleOutlookConnect}\n onDisconnect={onOutlookDisconnect}\n />\n )}\n {/* Own Domain (Sparkpost) Option */}\n {showSparkpost && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.sparkpost.emailDelivery.setupDomain\"\n description={ownDomainDescription}\n icon={MailSend}\n isConnected={isSparkpostConnected}\n isDisconnecting={isSparkpostDisconnecting}\n manageButtonText=\"neetoEmailDelivery.sparkpost.emailDelivery.continueVerification\"\n showManageButton={sparkpostVerificationPending}\n title={ownDomainTitle}\n showDisconnect={\n sparkpostVerificationPending || isSparkpostConnected\n }\n onConnect={handleOwnDomainConnect}\n onDisconnect={onSparkpostDisconnect}\n onManage={showVerificationPage}\n />\n )}\n {/* SMTP Option */}\n {showSmtp && (\n <IntegrationCard\n connectButtonText=\"neetoEmailDelivery.smtp.connectSmtp\"\n description={smtpDescription}\n icon={MailSend}\n isConnected={isSmtpConnected}\n isDisconnecting={isSmtpDisconnecting}\n title={smtpTitle}\n onConnect={handleSmtpConnect}\n onDisconnect={onSmtpDisconnect}\n />\n )}\n </div>\n {activeMessage && <Callout style=\"success\">{activeMessage}</Callout>}\n {isOutlookWaitingForTestEmail && (\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.outlook.waitingForTestEmail\", {\n email: outlookEmail,\n })}\n </Callout>\n )}\n {sparkpostVerificationPending && (\n <Callout style=\"warning\">\n {t(\n \"neetoEmailDelivery.sparkpost.emailDelivery.verificationPending\",\n { domain: sparkpostDomain }\n )}\n </Callout>\n )}\n {isOutlookShadowAccount && (\n <Callout style=\"warning\">\n {t(\"neetoEmailDelivery.outlook.shadowAccountMessage\", {\n email: outlookEmail,\n })}\n </Callout>\n )}\n </div>\n <SmtpSetup\n {...{ ownerId }}\n isOpen={isSmtpPaneOpen}\n onCancel={handleSmtpPaneClose}\n onDone={handleSmtpPaneClose}\n />\n </div>\n );\n};\n\nexport default EmailDeliveryScreen;\n"],"names":["ENCRYPTION_OPTIONS","label","value","SMTP_ACCOUNT_INITIAL_VALUES","host","port","username","password","email","encryption","displayName","SMTP_ACCOUNT_VALIDATION_SCHEMA","yup","object","shape","string","trim","required","t","field","number","SmtpSetup","_ref","ownerId","onDone","onCancel","isOpen","_useTranslation","useTranslation","_useCreateSmtp","useCreateSmtp","isCreating","isPending","createSmtp","mutate","handleSubmit","values","smtp_account","onSuccess","_jsxs","Pane","size","onClose","children","_jsx","Header","Typography","style","weight","Form","className","formikProps","initialValues","validationSchema","onSubmit","Body","Callout","Input","name","type","Radio","map","option","Item","Footer","ActionBlock","cancelButtonProps","onClick","isSubmitting","submitButtonProps","useGmail","indexRoute","canManageIntegrations","_useState","useState","_useState2","_slicedToArray","isDisconnectAlertOpen","setIsDisconnectAlertOpen","history","useHistory","queryClient","useQueryClient","_useFetchGmail","useFetchGmail","enabled","isLoading","_useFetchGmail$data","data","_useDestroyGmail","useDestroyGmail","isDestroying","destroyIntegration","replace","onDisconnect","invalidateAllIntegrationQueries","exists","isConnected","connected","errorMessage","error","useOutlook","_useFetchOutlook","useFetchOutlook","_useFetchOutlook$data","_useDestroyOutlook","useDestroyOutlook","status","shadowAccount","isWaitingForTestEmail","useSmtp","_useFetchSmtp","useFetchSmtp","_useFetchSmtp$data","_useDestroySmtp","useDestroySmtp","ERROR_MESSAGES","gmail_permission_not_given","outlook_permission_not_given","outlook_invalid_client","outlook_nil_json_web_token","IntegrationCard","Icon","icon","title","description","isDisconnecting","onConnect","connectButtonText","_ref$disconnectButton","disconnectButtonText","_ref$connectedTagText","connectedTagText","_ref$showDisconnect","showDisconnect","_ref$showManageButton","showManageButton","manageButtonText","onManage","shouldShowDisconnect","Tag","Button","loading","EmailDeliveryScreen","ownDomainSetupRoute","ownDomainVerifyRoute","isSmtpPaneOpen","setIsSmtpPaneOpen","_useQueryParams","useQueryParams","errorDescription","isPresent","_errorMessage","concat","Toastr","humanize","gmailIntegration","outlookIntegration","sparkpostIntegration","useSparkpostDomain","smtpIntegration","_gmailIntegration$dat","gmailData","isGmailConnected","isGmailLoading","isGmailDisconnecting","onGmailDisconnect","isGmailExists","_outlookIntegration$d","outlookData","isOutlookConnected","isOutlookLoading","isOutlookDisconnecting","isOutlookWaitingForTestEmail","isOutlookShadowAccount","onOutlookDisconnect","isOutlookExists","_sparkpostIntegration","sparkpostData","isSparkpostConnected","isSparkpostLoading","onSparkpostDisconnect","isSparkpostDisconnecting","isSparkpostExists","_smtpIntegration$data","smtpData","isSmtpConnected","isSmtpLoading","isSmtpDisconnecting","onSmtpDisconnect","isSmtpExists","noneExists","showGmail","showOutlook","showSparkpost","showSmtp","sparkpostVerificationPending","handleGmailConnect","window","location","href","buildUrl","GMAIL_OAUTH_CONNECT_URL","handleOutlookConnect","OUTLOOK_OAUTH_CONNECT_URL","handleOwnDomainConnect","push","handleSmtpConnect","handleSmtpPaneClose","gmailEmail","prop","outlookEmail","sparkpostEmail","sparkpostDomain","smtpEmail","showVerificationPage","domain","gmailTitle","gmailDescription","outlookTitle","outlookDescription","ownDomainTitle","ownDomainDescription","smtpTitle","smtpDescription","Spinner","activeMessage","GmailIcon","OutlookIcon","MailSend"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAMA,kBAAkB,GAAG,CAChC;AAAEC,EAAAA,KAAK,EAAE,MAAM;AAAEC,EAAAA,KAAK,EAAE;AAAO,CAAC,EAChC;AAAED,EAAAA,KAAK,EAAE,UAAU;AAAEC,EAAAA,KAAK,EAAE;AAAW,CAAC,EACxC;AAAED,EAAAA,KAAK,EAAE,KAAK;AAAEC,EAAAA,KAAK,EAAE;AAAM,CAAC,CAC/B;AAEM,IAAMC,2BAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,IAAI,EAAE,GAAG;AACTC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,KAAK,EAAE,EAAE;AACTC,EAAAA,UAAU,EAAE,UAAU;AACtBC,EAAAA,WAAW,EAAE;AACf,CAAC;AAEM,IAAMC,8BAA8B,GAAGC,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAC/DV,EAAAA,IAAI,EAAEQ,cAAG,CACNG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,yCAAyC;AACpD,GAAC,CACH,CAAC;AACHb,EAAAA,IAAI,EAAEO,cAAG,CAACQ,MAAM,EAAE,CAACH,QAAQ,CACzBC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,yCAAyC;AACpD,GAAC,CACH,CAAC;AACDZ,EAAAA,QAAQ,EAAEM,cAAG,CACVG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,6CAA6C;AACxD,GAAC,CACH,CAAC;AACHX,EAAAA,QAAQ,EAAEK,cAAG,CACVG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,6CAA6C;AACxD,GAAC,CACH,CAAC;AACHV,EAAAA,KAAK,EAAEI,cAAG,CACPG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,0CAA0C;GACpD,CACH,CAAC,CACAV,KAAK,CAACU,SAAC,CAAC,4CAA4C,CAAC,CAAC;AACzDR,EAAAA,WAAW,EAAEE,cAAG,CACbG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,gDAAgD;AAC3D,GAAC,CACH,CAAC;AACHT,EAAAA,UAAU,EAAEG,cAAG,CACZG,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,CAAC,6CAA6C,EAAE;IAC/CC,KAAK,EAAED,SAAC,CAAC,+CAA+C;AAC1D,GAAC,CACH;AACJ,CAAC,CAAC;;AC9DF,IAAMG,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAA8C;AAAA,EAAA,IAAxCC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAEC,MAAM,GAAAJ,IAAA,CAANI,MAAM;AACpD,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC;EAET,IAAAW,cAAA,GAAsDC,sCAAa,CAAC;AAClEP,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;IAFiBQ,UAAU,GAAAF,cAAA,CAArBG,SAAS;IAAsBC,UAAU,GAAAJ,cAAA,CAAlBK,MAAM;AAIrC,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAGC,MAAM,EAAI;AAC7BH,IAAAA,UAAU,CAAC;AAAEI,MAAAA,YAAY,EAAED;AAAO,KAAC,EAAE;AAAEE,MAAAA,SAAS,EAAEd;AAAO,KAAC,CAAC;GAC5D;EAED,oBACEe,eAAA,CAACC,IAAI,EAAA;AAAOd,IAAAA,MAAM,EAANA,MAAM;AAAIe,IAAAA,IAAI,EAAC,IAAI;AAACC,IAAAA,OAAO,EAAEjB,QAAS;AAAAkB,IAAAA,QAAA,EAChDC,cAAAA,cAAA,CAACJ,IAAI,CAACK,MAAM,EAAA;MAAAF,QAAA,eACVC,cAAA,CAACE,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,IAAI;AAACC,QAAAA,MAAM,EAAC,UAAU;QAAAL,QAAA,EACrCzB,CAAC,CAAC,qCAAqC;OAC9B;AAAC,KACF,CAAC,eACdqB,eAAA,CAACU,IAAI,EAAA;AACHC,MAAAA,SAAS,EAAC,QAAQ;AAClBC,MAAAA,WAAW,EAAE;AACXC,QAAAA,aAAa,EAAEjD,2BAA2B;AAC1CkD,QAAAA,gBAAgB,EAAE1C,8BAA8B;AAChD2C,QAAAA,QAAQ,EAAEnB;OACV;AAAAQ,MAAAA,QAAA,EAEFC,cAAAA,cAAA,CAACJ,IAAI,CAACe,IAAI,EAAA;AAACL,QAAAA,SAAS,EAAC,WAAW;AAAAP,QAAAA,QAAA,eAC9BJ,eAAA,CAAA,KAAA,EAAA;AAAKW,UAAAA,SAAS,EAAC,qBAAqB;UAAAP,QAAA,EAAA,cAClCC,cAAA,CAACY,OAAO,EAAA;AAACT,YAAAA,KAAK,EAAC,SAAS;YAAAJ,QAAA,EACrBzB,CAAC,CAAC,oCAAoC;AAAC,WACjC,CAAC,eACV0B,cAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,yCAAyC,CAAE;AACpDwC,YAAAA,IAAI,EAAC;AAAM,WACZ,CAAC,eACFd,cAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,yCAAyC,CAAE;AACpDwC,YAAAA,IAAI,EAAC,MAAM;AACXC,YAAAA,IAAI,EAAC;AAAQ,WACd,CAAC,eACFf,cAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,6CAA6C,CAAE;AACxDwC,YAAAA,IAAI,EAAC;AAAU,WAChB,CAAC,eACFd,cAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,6CAA6C,CAAE;AACxDwC,YAAAA,IAAI,EAAC,UAAU;AACfC,YAAAA,IAAI,EAAC;AAAU,WAChB,CAAC,eACFf,cAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,0CAA0C,CAAE;AACrDwC,YAAAA,IAAI,EAAC,OAAO;AACZC,YAAAA,IAAI,EAAC;AAAO,WACb,CAAC,eACFf,cAAA,CAACa,KAAK,EAAA;YACJxC,QAAQ,EAAA,IAAA;AACRhB,YAAAA,KAAK,EAAEiB,CAAC,CAAC,gDAAgD,CAAE;AAC3DwC,YAAAA,IAAI,EAAC;AAAa,WACnB,CAAC,eACFd,cAAA,CAACgB,KAAK,EAAA;AACJ3D,YAAAA,KAAK,EAAEiB,CAAC,CAAC,+CAA+C,CAAE;AAC1DwC,YAAAA,IAAI,EAAC,YAAY;AAAAf,YAAAA,QAAA,EAEhB3C,kBAAkB,CAAC6D,GAAG,CAAC,UAAAC,MAAM,EAAA;AAAA,cAAA,oBAC5BlB,cAAA,CAACgB,KAAK,CAACG,IAAI,EAAA;gBAET9D,KAAK,EAAE6D,MAAM,CAAC7D,KAAM;gBACpBC,KAAK,EAAE4D,MAAM,CAAC5D;eAFT4D,EAAAA,MAAM,CAAC5D,KAGb,CAAC;aACH;AAAC,WACG,CAAC;SACL;AAAC,OACG,CAAC,eACZ0C,cAAA,CAACJ,IAAI,CAACwB,MAAM,EAAA;QAAArB,QAAA,eACVC,cAAA,CAACqB,WAAW,EAAA;AACVC,UAAAA,iBAAiB,EAAE;AAAEC,YAAAA,OAAO,EAAE1C;WAAW;AACzC2C,UAAAA,YAAY,EAAErC,UAAW;AACzBsC,UAAAA,iBAAiB,EAAE;YACjBpE,KAAK,EAAEiB,CAAC,CAAC,+CAA+C;AAC1D;SACD;AAAC,OACS,CAAC;AAAA,KACV,CAAC;AAAA,GACH,CAAC;AAEX,CAAC;;AC3FD,IAAMoD,QAAQ,GAAG,SAAXA,QAAQA,CAAAhD,IAAA,EAAuD;AAAA,EAAA,IAAjDC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEgD,UAAU,GAAAjD,IAAA,CAAViD,UAAU;IAAEC,qBAAqB,GAAAlD,IAAA,CAArBkD,qBAAqB;AAC5D,EAAA,IAAAC,SAAA,GAA0DC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlEI,IAAAA,qBAAqB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,wBAAwB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEtD,EAAA,IAAMI,OAAO,GAAGC,yBAAU,EAAE;AAE5B,EAAA,IAAMC,WAAW,GAAGC,yBAAc,EAAE;AAEpC,EAAA,IAAAC,cAAA,GAAiCC,sCAAa,CAAC7D,OAAO,EAAE;AACtD8D,MAAAA,OAAO,EAAEb;AACX,KAAC,CAAC;IAFMc,SAAS,GAAAH,cAAA,CAATG,SAAS;IAAAC,mBAAA,GAAAJ,cAAA,CAAEK,IAAI;AAAJA,IAAAA,IAAI,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,mBAAA;EAI5B,IAAAE,gBAAA,GACEC,wCAAe,CAAC;AAAEnE,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;IADXoE,YAAY,GAAAF,gBAAA,CAAvBzD,SAAS;IAAwB4D,kBAAkB,GAAAH,gBAAA,CAA1BvD,MAAM;AAGvC,EAAA,IAAMQ,OAAO,GAAG,SAAVA,OAAOA,GAAA;AAAA,IAAA,OAASqC,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAAA,GAAA;AAEjD,EAAA,IAAMuB,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACzBF,kBAAkB,CAAC,KAAK,EAAE;AACxBtD,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QACfwC,wBAAwB,CAAC,KAAK,CAAC;AAC/BiB,QAAAA,+CAA+B,CAACd,WAAW,EAAE1D,OAAO,CAAC;AACrDwD,QAAAA,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAC7B;AACF,KAAC,CAAC;GACH;EAED,OAAO;AACLiB,IAAAA,IAAI,EAAJA,IAAI;AACJF,IAAAA,SAAS,EAATA,SAAS;AACTK,IAAAA,YAAY,EAAZA,YAAY;AACZK,IAAAA,MAAM,EAAER,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEQ,MAAM;AACpBC,IAAAA,WAAW,EAAET,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEU,SAAS;AAC5BrB,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBC,IAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBgB,IAAAA,YAAY,EAAZA,YAAY;AACZpD,IAAAA,OAAO,EAAPA,OAAO;AACPyD,IAAAA,YAAY,EAAEX,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEY;GACrB;AACH,CAAC;;ACtCD,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAA/E,IAAA,EAAuD;AAAA,EAAA,IAAjDC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEgD,UAAU,GAAAjD,IAAA,CAAViD,UAAU;IAAEC,qBAAqB,GAAAlD,IAAA,CAArBkD,qBAAqB;AAC9D,EAAA,IAAAC,SAAA,GAA0DC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlEI,IAAAA,qBAAqB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,wBAAwB,GAAAH,UAAA,CAAA,CAAA,CAAA;AAEtD,EAAA,IAAMI,OAAO,GAAGC,yBAAU,EAAE;AAE5B,EAAA,IAAMC,WAAW,GAAGC,yBAAc,EAAE;AAEpC,EAAA,IAAAoB,gBAAA,GAAiCC,wCAAe,CAAChF,OAAO,EAAE;AACxD8D,MAAAA,OAAO,EAAEb;AACX,KAAC,CAAC;IAFMc,SAAS,GAAAgB,gBAAA,CAAThB,SAAS;IAAAkB,qBAAA,GAAAF,gBAAA,CAAEd,IAAI;AAAJA,IAAAA,IAAI,GAAAgB,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;EAI5B,IAAAC,kBAAA,GACEC,0CAAiB,CAAC;AAAEnF,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;IADboE,YAAY,GAAAc,kBAAA,CAAvBzE,SAAS;IAAwB4D,kBAAkB,GAAAa,kBAAA,CAA1BvE,MAAM;AAGvC,EAAA,IAAMQ,OAAO,GAAG,SAAVA,OAAOA,GAAA;AAAA,IAAA,OAASqC,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAAA,GAAA;AAEjD,EAAA,IAAMuB,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACzBF,kBAAkB,CAAC,KAAK,EAAE;AACxBtD,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QACfwC,wBAAwB,CAAC,KAAK,CAAC;AAC/BiB,QAAAA,+CAA+B,CAACd,WAAW,EAAE1D,OAAO,CAAC;AACrDwD,QAAAA,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAC7B;AACF,KAAC,CAAC;GACH;EAED,OAAO;AACLiB,IAAAA,IAAI,EAAJA,IAAI;AACJF,IAAAA,SAAS,EAATA,SAAS;AACTU,IAAAA,MAAM,EAAER,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEQ,MAAM;AACpBW,IAAAA,MAAM,EAAEnB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEmB,MAAM;AACpBC,IAAAA,aAAa,EAAEpB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEoB,aAAa;AAClCC,IAAAA,qBAAqB,EAAE,CAAArB,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEmB,MAAM,MAAK,UAAU,IAAI,EAACnB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,IAAAA,IAAI,CAAEU,SAAS,CAAA;AACtEP,IAAAA,YAAY,EAAZA,YAAY;AACZM,IAAAA,WAAW,EAAET,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEU,SAAS;AAC5BrB,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBC,IAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBgB,IAAAA,YAAY,EAAZA,YAAY;AACZpD,IAAAA,OAAO,EAAPA,OAAO;AACPyD,IAAAA,YAAY,EAAEX,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEY;GACrB;AACH,CAAC;;AC/CD,IAAMU,OAAO,GAAG,SAAVA,OAAOA,CAAAxF,IAAA,EAA2C;AAAA,EAAA,IAArCC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEiD,qBAAqB,GAAAlD,IAAA,CAArBkD,qBAAqB;AAC/C,EAAA,IAAAuC,aAAA,GAAiCC,qCAAY,CAACzF,OAAO,EAAE;AACrD8D,MAAAA,OAAO,EAAEb;AACX,KAAC,CAAC;IAFMc,SAAS,GAAAyB,aAAA,CAATzB,SAAS;IAAA2B,kBAAA,GAAAF,aAAA,CAAEvB,IAAI;AAAJA,IAAAA,IAAI,GAAAyB,kBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,kBAAA;EAI5B,IAAAC,eAAA,GAA0DC,uCAAc,CAAC;AACvE5F,MAAAA,OAAO,EAAPA;AACF,KAAC,CAAC;IAFiBoE,YAAY,GAAAuB,eAAA,CAAvBlF,SAAS;IAAwB8D,YAAY,GAAAoB,eAAA,CAApBhF,MAAM;EAIvC,OAAO;AACLsD,IAAAA,IAAI,EAAJA,IAAI;AACJS,IAAAA,WAAW,EAAET,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEU,SAAS;AAC5BZ,IAAAA,SAAS,EAATA,SAAS;AACTK,IAAAA,YAAY,EAAZA,YAAY;AACZG,IAAAA,YAAY,EAAZA,YAAY;AACZE,IAAAA,MAAM,EAAER,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEQ;GACf;AACH,CAAC;;ACpBM,IAAMoB,cAAc,GAAG;AAC5BC,EAAAA,0BAA0B,EAAEnG,SAAC,CAAC,6CAA6C,CAAC;AAC5EoG,EAAAA,4BAA4B,EAAEpG,SAAC,CAC7B,+CACF,CAAC;AACDqG,EAAAA,sBAAsB,EAAErG,SAAC,CAAC,0CAA0C,CAAC;EACrEsG,0BAA0B,EAAEtG,SAAC,CAAC,4CAA4C;AAC5E,CAAC;;ACND,IAAMuG,eAAe,GAAG,SAAlBA,eAAeA,CAAAnG,IAAA,EAef;AAAA,EAAA,IAdEoG,IAAI,GAAApG,IAAA,CAAVqG,IAAI;IACJC,KAAK,GAAAtG,IAAA,CAALsG,KAAK;IACLC,WAAW,GAAAvG,IAAA,CAAXuG,WAAW;IACX5B,WAAW,GAAA3E,IAAA,CAAX2E,WAAW;IACX6B,eAAe,GAAAxG,IAAA,CAAfwG,eAAe;IACfC,SAAS,GAAAzG,IAAA,CAATyG,SAAS;IACTjC,YAAY,GAAAxE,IAAA,CAAZwE,YAAY;IACZkC,iBAAiB,GAAA1G,IAAA,CAAjB0G,iBAAiB;IAAAC,qBAAA,GAAA3G,IAAA,CACjB4G,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,uDAAuD,GAAAA,qBAAA;IAAAE,qBAAA,GAAA7G,IAAA,CAC9E8G,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,sDAAsD,GAAAA,qBAAA;IAAAE,mBAAA,GAAA/G,IAAA,CACzEgH,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,mBAAA;IAAAE,qBAAA,GAAAjH,IAAA,CACtBkH,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IACxBE,gBAAgB,GAAAnH,IAAA,CAAhBmH,gBAAgB;IAChBC,QAAQ,GAAApH,IAAA,CAARoH,QAAQ;AAER,EAAA,IAAA/G,eAAA,GAAcC,2BAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC;AAET,EAAA,IAAMyH,oBAAoB,GAAG1C,WAAW,IAAIqC,cAAc;AAE1D,EAAA,oBACE1F,cAAA,CAAA,KAAA,EAAA;AAAKM,IAAAA,SAAS,EAAC,yMAAyM;AAAAP,IAAAA,QAAA,eACtNJ,eAAA,CAAA,KAAA,EAAA;AAAKW,MAAAA,SAAS,EAAC,qBAAqB;AAAAP,MAAAA,QAAA,gBAClCJ,eAAA,CAAA,KAAA,EAAA;AAAKW,QAAAA,SAAS,EAAC,yBAAyB;QAAAP,QAAA,EAAA,cACtCC,cAAA,CAAC8E,IAAI,EAAA;AAACxE,UAAAA,SAAS,EAAC,UAAU;AAACT,UAAAA,IAAI,EAAE;SAAK,CAAC,eACvCG,cAAA,CAAA,KAAA,EAAA;AAAKM,UAAAA,SAAS,EAAC,gBAAgB;AAAAP,UAAAA,QAAA,eAC7BJ,eAAA,CAAA,KAAA,EAAA;AAAKW,YAAAA,SAAS,EAAC,yBAAyB;YAAAP,QAAA,EAAA,cACtCC,cAAA,CAACE,UAAU,EAAA;AAACC,cAAAA,KAAK,EAAC,IAAI;AAACC,cAAAA,MAAM,EAAC,UAAU;AAAAL,cAAAA,QAAA,EACrCiF;AAAK,aACI,CAAC,EACZ3B,WAAW,iBAAIrD,cAAA,CAACgG,GAAG,EAAA;cAAC3I,KAAK,EAAEiB,CAAC,CAACkH,gBAAgB;AAAE,aAAE,CAAC;WAChD;AAAC,SACH,CAAC;AAAA,OACH,CAAC,eACNxF,cAAA,CAACE,UAAU,EAAA;AAACI,QAAAA,SAAS,EAAC,qBAAqB;AAACH,QAAAA,KAAK,EAAC,OAAO;AAAAJ,QAAAA,QAAA,EACtDkF;AAAW,OACF,CAAC,EACZG,iBAAiB,iBAChBzF,eAAA,CAAA,KAAA,EAAA;AAAKW,QAAAA,SAAS,EAAC,YAAY;AAAAP,QAAAA,QAAA,EACxB6F,CAAAA,gBAAgB,iBACf5F,cAAA,CAACiG,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,eAAe;AAC3B5I,UAAAA,KAAK,EAAEiB,CAAC,CAACuH,gBAAgB,CAAE;AAC3BhG,UAAAA,IAAI,EAAC,OAAO;AACZM,UAAAA,KAAK,EAAC,WAAW;AACjBoB,UAAAA,OAAO,EAAEuE;AAAS,SACnB,CACF,EACAC,oBAAoB,gBACnB/F,cAAA,CAACiG,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,mBAAmB;AAC/B5I,UAAAA,KAAK,EAAEiB,CAAC,CAACgH,oBAAoB,CAAE;AAC/BY,UAAAA,OAAO,EAAEhB,eAAgB;AACzBrF,UAAAA,IAAI,EAAC,OAAO;AACZM,UAAAA,KAAK,EAAC,QAAQ;AACdoB,UAAAA,OAAO,EAAE2B;AAAa,SACvB,CAAC,gBAEFlD,cAAA,CAACiG,MAAM,EAAA;AACL,UAAA,aAAA,EAAY,gBAAgB;AAC5B5I,UAAAA,KAAK,EAAEiB,CAAC,CAAC8G,iBAAiB,CAAE;AAC5BvF,UAAAA,IAAI,EAAC,OAAO;AACZM,UAAAA,KAAK,EAAC,SAAS;AACfoB,UAAAA,OAAO,EAAE4D;AAAU,SACpB,CACF;AAAA,OACE,CACN;KACE;AAAC,GACH,CAAC;AAEV,CAAC;;ACjDD,IAAMgB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAzH,IAAA,EAMnB;AAAA,EAAA,IALJiD,UAAU,GAAAjD,IAAA,CAAViD,UAAU;IACVhD,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPyH,mBAAmB,GAAA1H,IAAA,CAAnB0H,mBAAmB;IACnBC,oBAAoB,GAAA3H,IAAA,CAApB2H,oBAAoB;IACpBzE,qBAAqB,GAAAlD,IAAA,CAArBkD,qBAAqB;AAErB,EAAA,IAAA7C,eAAA,GAAcC,2BAAc,EAAE;IAAtBV,CAAC,GAAAS,eAAA,CAADT,CAAC;AACT,EAAA,IAAM6D,OAAO,GAAGC,yBAAU,EAAE;AAC5B,EAAA,IAAAP,SAAA,GAA4CC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApDyE,IAAAA,cAAc,GAAAvE,UAAA,CAAA,CAAA,CAAA;AAAEwE,IAAAA,iBAAiB,GAAAxE,UAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAyE,eAAA,GAAoCC,yBAAc,EAAE;IAA5CjD,KAAK,GAAAgD,eAAA,CAALhD,KAAK;IAAEkD,gBAAgB,GAAAF,eAAA,CAAhBE,gBAAgB;AAE/B,EAAA,IAAIC,mBAAS,CAACnD,KAAK,CAAC,EAAE;AAAA,IAAA,IAAAoD,aAAA;AACpB,IAAA,IAAIrD,YAAY,GAAGiB,cAAc,CAAChB,KAAK,CAAC;AACxC,IAAA,IAAIkD,gBAAgB,EAAE;MACpBnD,YAAY,GAAA,EAAA,CAAAsD,MAAA,CAAMtD,YAAY,OAAAsD,MAAA,CAAIH,gBAAgB,CAAE;AACtD;AACAI,IAAAA,MAAM,CAACtD,KAAK,CAAAoD,CAAAA,aAAA,GAACrD,YAAY,MAAA,IAAA,IAAAqD,aAAA,KAAA,KAAA,CAAA,GAAAA,aAAA,GAAIG,kBAAQ,CAACvD,KAAK,CAAC,CAAC;AAE7CrB,IAAAA,OAAO,CAACc,OAAO,CAACtB,UAAU,CAAC;AAC7B;EAEA,IAAMqF,gBAAgB,GAAGtF,QAAQ,CAAC;AAChC/C,IAAAA,OAAO,EAAPA,OAAO;AACPgD,IAAAA,UAAU,EAAVA,UAAU;AACVC,IAAAA,qBAAqB,EAArBA;AACF,GAAC,CAAC;EAEF,IAAMqF,kBAAkB,GAAGxD,UAAU,CAAC;AACpC9E,IAAAA,OAAO,EAAPA,OAAO;AACPgD,IAAAA,UAAU,EAAVA,UAAU;AACVC,IAAAA,qBAAqB,EAArBA;AACF,GAAC,CAAC;EAEF,IAAMsF,oBAAoB,GAAGC,qCAAkB,CAAC;AAC9CxI,IAAAA,OAAO,EAAPA,OAAO;AACPiD,IAAAA,qBAAqB,EAArBA;AACF,GAAC,CAAC;EAEF,IAAMwF,eAAe,GAAGlD,OAAO,CAAC;AAAEvF,IAAAA,OAAO,EAAPA,OAAO;AAAEiD,IAAAA,qBAAqB,EAArBA;AAAsB,GAAC,CAAC;AAEnE,EAAA,IAAAyF,qBAAA,GAOIL,gBAAgB,CANlBpE,IAAI;AAAE0E,IAAAA,SAAS,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACPE,gBAAgB,GAK3BP,gBAAgB,CALlB3D,WAAW;IACAmE,cAAc,GAIvBR,gBAAgB,CAJlBtE,SAAS;IACK+E,oBAAoB,GAGhCT,gBAAgB,CAHlBjE,YAAY;IACE2E,iBAAiB,GAE7BV,gBAAgB,CAFlB9D,YAAY;IACJyE,aAAa,GACnBX,gBAAgB,CADlB5D,MAAM;AAGR,EAAA,IAAAwE,qBAAA,GASIX,kBAAkB,CARpBrE,IAAI;AAAEiF,IAAAA,WAAW,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACTE,kBAAkB,GAO7Bb,kBAAkB,CAPpB5D,WAAW;IACA0E,gBAAgB,GAMzBd,kBAAkB,CANpBvE,SAAS;IACKsF,sBAAsB,GAKlCf,kBAAkB,CALpBlE,YAAY;IACWkF,4BAA4B,GAIjDhB,kBAAkB,CAJpBhD,qBAAqB;IACNiE,sBAAsB,GAGnCjB,kBAAkB,CAHpBjD,aAAa;IACCmE,mBAAmB,GAE/BlB,kBAAkB,CAFpB/D,YAAY;IACJkF,eAAe,GACrBnB,kBAAkB,CADpB7D,MAAM;AAGR,EAAA,IAAAiF,qBAAA,GAOInB,oBAAoB,CANtBtE,IAAI;AAAE0F,IAAAA,aAAa,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACXE,oBAAoB,GAK/BrB,oBAAoB,CALtB7D,WAAW;IACAmF,kBAAkB,GAI3BtB,oBAAoB,CAJtBxE,SAAS;IACK+F,qBAAqB,GAGjCvB,oBAAoB,CAHtBhE,YAAY;IACEwF,wBAAwB,GAEpCxB,oBAAoB,CAFtBnE,YAAY;IACJ4F,iBAAiB,GACvBzB,oBAAoB,CADtB9D,MAAM;AAGR,EAAA,IAAAwF,qBAAA,GAOIxB,eAAe,CANjBxE,IAAI;AAAEiG,IAAAA,QAAQ,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACNE,eAAe,GAK1B1B,eAAe,CALjB/D,WAAW;IACA0F,aAAa,GAItB3B,eAAe,CAJjB1E,SAAS;IACKsG,mBAAmB,GAG/B5B,eAAe,CAHjBrE,YAAY;IACEkG,gBAAgB,GAE5B7B,eAAe,CAFjBlE,YAAY;IACJgG,YAAY,GAClB9B,eAAe,CADjBhE,MAAM;EAGR,IAAMV,SAAS,GACb8E,cAAc,IAAIO,gBAAgB,IAAIS,kBAAkB,IAAIO,aAAa;AAE3E,EAAA,IAAMI,UAAU,GACd,CAACxB,aAAa,IAAI,CAACS,eAAe,IAAI,CAACO,iBAAiB,IAAI,CAACO,YAAY;AAC3E,EAAA,IAAME,SAAS,GAAGD,UAAU,IAAIxB,aAAa;AAC7C,EAAA,IAAM0B,WAAW,GAAGF,UAAU,IAAIf,eAAe;AACjD,EAAA,IAAMkB,aAAa,GAAGH,UAAU,IAAIR,iBAAiB;AACrD,EAAA,IAAMY,QAAQ,GAAGJ,UAAU,IAAID,YAAY;AAC3C,EAAA,IAAMM,4BAA4B,GAChCb,iBAAiB,IAAI,CAACJ,oBAAoB;AAE5C,EAAA,IAAMkB,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;IAC/BC,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGC,cAAQ,CAACC,uCAAuB,EAAE;AAAEnL,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;GACtE;AAED,EAAA,IAAMoL,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;IACjCL,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGC,cAAQ,CAACG,yCAAyB,EAAE;AAAErL,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;GACxE;AAED,EAAA,IAAMsL,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAS;AACnC9H,IAAAA,OAAO,CAAC+H,IAAI,CAAC9D,mBAAmB,CAAC;GAClC;AAED,EAAA,IAAM+D,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAS;IAC9B5D,iBAAiB,CAAC,IAAI,CAAC;GACxB;AAED,EAAA,IAAM6D,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;IAChC7D,iBAAiB,CAAC,KAAK,CAAC;GACzB;AAED,EAAA,IAAM8D,UAAU,GAAGC,UAAI,CAAC,OAAO,EAAEhD,SAAS,CAAC;AAC3C,EAAA,IAAMiD,YAAY,GAAGD,UAAI,CAAC,OAAO,EAAEzC,WAAW,CAAC;AAC/C,EAAA,IAAM2C,cAAc,GAAGF,UAAI,CAAC,OAAO,EAAEhC,aAAa,CAAC;AACnD,EAAA,IAAMmC,eAAe,GAAGH,UAAI,CAAC,QAAQ,EAAEhC,aAAa,CAAC;AACrD,EAAA,IAAMoC,SAAS,GAAGJ,UAAI,CAAC,OAAO,EAAEzB,QAAQ,CAAC;AAEzC,EAAA,IAAM8B,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;AACjCxI,IAAAA,OAAO,CAAC+H,IAAI,CACVL,cAAQ,CAACxD,oBAAoB,EAAE;AAC7BuE,MAAAA,MAAM,EAAEH,eAAe;AACvB7M,MAAAA,KAAK,EAAE4M;AACT,KAAC,CACH,CAAC;GACF;AAED,EAAA,IAAMK,UAAU,GAAGvM,CAAC,CAAC,gCAAgC,CAAC;AACtD,EAAA,IAAMwM,gBAAgB,GAAGvD,gBAAgB,GACrCjJ,CAAC,CAAC,2DAA2D,EAAE;AAC7DV,IAAAA,KAAK,EAAEyM;AACT,GAAC,CAAC,GACF/L,CAAC,CAAC,sCAAsC,CAAC;AAE7C,EAAA,IAAMyM,YAAY,GAAGzM,CAAC,CAAC,kCAAkC,CAAC;AAC1D,EAAA,IAAM0M,kBAAkB,GAAGlD,kBAAkB,GACzCxJ,CAAC,CAAC,2DAA2D,EAAE;AAC7DV,IAAAA,KAAK,EAAE2M;AACT,GAAC,CAAC,GACFjM,CAAC,CAAC,wCAAwC,CAAC;AAE/C,EAAA,IAAM2M,cAAc,GAAG3M,CAAC,CACtB,2DACF,CAAC;AAED,EAAA,IAAM4M,oBAAoB,GAAG3C,oBAAoB,GAC7CjK,CAAC,CAAC,2DAA2D,EAAE;AAC7DV,IAAAA,KAAK,EAAE4M;AACT,GAAC,CAAC,GACFlM,CAAC,CAAC,iEAAiE,CAAC;AAExE,EAAA,IAAM6M,SAAS,GAAG7M,CAAC,CAAC,+BAA+B,CAAC;AACpD,EAAA,IAAM8M,eAAe,GAAGtC,eAAe,GACnCxK,CAAC,CAAC,2DAA2D,EAAE;AAC7DV,IAAAA,KAAK,EAAE8M;AACT,GAAC,CAAC,GACFpM,CAAC,CAAC,qCAAqC,CAAC;AAE5C,EAAA,IAAIoE,SAAS,EAAE;AACb,IAAA,oBACE1C,cAAA,CAAA,KAAA,EAAA;AAAKM,MAAAA,SAAS,EAAC,8CAA8C;AAAAP,MAAAA,QAAA,eAC3DC,cAAA,CAACqL,OAAO,EAAE,EAAA;AAAC,KACR,CAAC;AAEV;AAEA,EAAA,IAAMC,aAAa,GAChB/D,gBAAgB,IAAIjJ,CAAC,CAAC,0CAA0C,CAAC,IACjEwJ,kBAAkB,IAAIxJ,CAAC,CAAC,8CAA8C,CAAE,IACxEiK,oBAAoB,IACnBjK,CAAC,CAAC,kDAAkD,CAAE,IACvDwK,eAAe,IAAIxK,CAAC,CAAC,wCAAwC,CAAE;AAElE,EAAA,oBACEqB,eAAA,CAAA,KAAA,EAAA;AAAKW,IAAAA,SAAS,EAAC,qBAAqB;AAAAP,IAAAA,QAAA,gBAClCJ,eAAA,CAAA,KAAA,EAAA;AAAKW,MAAAA,SAAS,EAAC,8BAA8B;AAAAP,MAAAA,QAAA,gBAC3CJ,eAAA,CAAA,KAAA,EAAA;AAAKW,QAAAA,SAAS,EAAC,yFAAyF;AAAAP,QAAAA,QAAA,EAErGqJ,CAAAA,SAAS,iBACRpJ,cAAA,CAAC6E,eAAe,EAAA;AACdO,UAAAA,iBAAiB,EAAC,uCAAuC;AACzDH,UAAAA,WAAW,EAAE6F,gBAAiB;AAC9B/F,UAAAA,IAAI,EAAEwG,SAAU;AAChBlI,UAAAA,WAAW,EAAEkE,gBAAiB;AAC9BrC,UAAAA,eAAe,EAAEuC,oBAAqB;AACtCzC,UAAAA,KAAK,EAAE6F,UAAW;AAClB1F,UAAAA,SAAS,EAAEsE,kBAAmB;AAC9BvG,UAAAA,YAAY,EAAEwE;AAAkB,SACjC,CACF,EAEA2B,WAAW,iBACVrJ,cAAA,CAAC6E,eAAe,EAAA;AACdO,UAAAA,iBAAiB,EAAC,2CAA2C;AAC7DH,UAAAA,WAAW,EAAE+F,kBAAmB;AAChCjG,UAAAA,IAAI,EAAEyG,WAAY;AAClBnI,UAAAA,WAAW,EAAEyE,kBAAmB;AAChC5C,UAAAA,eAAe,EAAE8C,sBAAuB;AACxChD,UAAAA,KAAK,EAAE+F,YAAa;UACpBrF,cAAc,EACZuC,4BAA4B,IAAIC,sBACjC;AACD/C,UAAAA,SAAS,EAAE4E,oBAAqB;AAChC7G,UAAAA,YAAY,EAAEiF;AAAoB,SACnC,CACF,EAEAmB,aAAa,iBACZtJ,cAAA,CAAC6E,eAAe,EAAA;AACdO,UAAAA,iBAAiB,EAAC,wDAAwD;AAC1EH,UAAAA,WAAW,EAAEiG,oBAAqB;AAClCnG,UAAAA,IAAI,EAAE0G,QAAS;AACfpI,UAAAA,WAAW,EAAEkF,oBAAqB;AAClCrD,UAAAA,eAAe,EAAEwD,wBAAyB;AAC1C7C,UAAAA,gBAAgB,EAAC,iEAAiE;AAClFD,UAAAA,gBAAgB,EAAE4D,4BAA6B;AAC/CxE,UAAAA,KAAK,EAAEiG,cAAe;UACtBvF,cAAc,EACZ8D,4BAA4B,IAAIjB,oBACjC;AACDpD,UAAAA,SAAS,EAAE8E,sBAAuB;AAClC/G,UAAAA,YAAY,EAAEuF,qBAAsB;AACpC3C,UAAAA,QAAQ,EAAE6E;AAAqB,SAChC,CACF,EAEApB,QAAQ,iBACPvJ,cAAA,CAAC6E,eAAe,EAAA;AACdO,UAAAA,iBAAiB,EAAC,qCAAqC;AACvDH,UAAAA,WAAW,EAAEmG,eAAgB;AAC7BrG,UAAAA,IAAI,EAAE0G,QAAS;AACfpI,UAAAA,WAAW,EAAEyF,eAAgB;AAC7B5D,UAAAA,eAAe,EAAE8D,mBAAoB;AACrChE,UAAAA,KAAK,EAAEmG,SAAU;AACjBhG,UAAAA,SAAS,EAAEgF,iBAAkB;AAC7BjH,UAAAA,YAAY,EAAE+F;AAAiB,SAChC,CACF;AAAA,OACE,CAAC,EACLqC,aAAa,iBAAItL,cAAA,CAACY,OAAO,EAAA;AAACT,QAAAA,KAAK,EAAC,SAAS;AAAAJ,QAAAA,QAAA,EAAEuL;AAAa,OAAU,CAAC,EACnErD,4BAA4B,iBAC3BjI,cAAA,CAACY,OAAO,EAAA;AAACT,QAAAA,KAAK,EAAC,SAAS;AAAAJ,QAAAA,QAAA,EACrBzB,CAAC,CAAC,gDAAgD,EAAE;AACnDV,UAAAA,KAAK,EAAE2M;SACR;AAAC,OACK,CACV,EACAf,4BAA4B,iBAC3BxJ,cAAA,CAACY,OAAO,EAAA;AAACT,QAAAA,KAAK,EAAC,SAAS;AAAAJ,QAAAA,QAAA,EACrBzB,CAAC,CACA,gEAAgE,EAChE;AAAEsM,UAAAA,MAAM,EAAEH;SACZ;AAAC,OACM,CACV,EACAvC,sBAAsB,iBACrBlI,cAAA,CAACY,OAAO,EAAA;AAACT,QAAAA,KAAK,EAAC,SAAS;AAAAJ,QAAAA,QAAA,EACrBzB,CAAC,CAAC,iDAAiD,EAAE;AACpDV,UAAAA,KAAK,EAAE2M;SACR;AAAC,OACK,CACV;AAAA,KACE,CAAC,eACNvK,cAAA,CAACvB,SAAS,EAAA;AACFE,MAAAA,OAAO,EAAPA,OAAO;AACbG,MAAAA,MAAM,EAAEwH,cAAe;AACvBzH,MAAAA,QAAQ,EAAEuL,mBAAoB;AAC9BxL,MAAAA,MAAM,EAAEwL;AAAoB,KAC7B,CAAC;AAAA,GACC,CAAC;AAEV;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-email-delivery-frontend",
3
- "version": "1.0.21",
3
+ "version": "1.0.22",
4
4
  "description": "This repo is for implementing custom email delivery functionality for the Neeto platform.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-email-delivery-nano",
@@ -71,8 +71,8 @@
71
71
  "@bigbinary/neeto-commons-frontend": "4.13.92",
72
72
  "@bigbinary/neeto-filters-frontend": "4.3.30",
73
73
  "@bigbinary/neeto-icons": "1.20.74",
74
- "@bigbinary/neeto-molecules": "4.0.131",
75
- "@bigbinary/neetoui": "8.3.55",
74
+ "@bigbinary/neeto-molecules": "4.0.138",
75
+ "@bigbinary/neetoui": "8.3.60",
76
76
  "@emotion/is-prop-valid": "1.2.0",
77
77
  "@faker-js/faker": "8.2.0",
78
78
  "@honeybadger-io/js": "6.10.1",
@@ -181,8 +181,8 @@
181
181
  "@bigbinary/neeto-commons-frontend": "4.13.92",
182
182
  "@bigbinary/neeto-filters-frontend": "4.3.30",
183
183
  "@bigbinary/neeto-icons": "1.20.74",
184
- "@bigbinary/neeto-molecules": "4.0.131",
185
- "@bigbinary/neetoui": "8.3.55",
184
+ "@bigbinary/neeto-molecules": "4.0.138",
185
+ "@bigbinary/neetoui": "8.3.60",
186
186
  "@honeybadger-io/js": "6.10.1",
187
187
  "@honeybadger-io/react": "6.1.25",
188
188
  "@tanstack/react-query": "5.59.20",