{"version":3,"file":"EmailConfirmationView.mjs","sources":["../../../../../../../../../web/src/ui/components/organisms/EmailConfirmationView.tsx"],"sourcesContent":["import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport Button from '../atoms/Button';\nimport { chromaticIgnoreClassName } from '../atoms/chromaticIgnoreClassName';\nimport { Countdown, useTimeRemaining } from '../atoms/Countdown';\nimport VerticalTransition from '../atoms/VerticalTransition';\nimport EmailActionLayout from '../molecules/EmailActionLayout';\nimport { emailProviderInfo, EmailProviderLink } from '../molecules/EmailProviderLink';\n\n/**\n * Base component for the two EmailConfirmation in B2B and B2C. This component controls the presentation\n * and do not have any of the B2C/B2B specific code\n */\nexport const EmailConfirmationView = ({\n  emailDomain,\n  email,\n  goBack,\n  resend,\n  countdown,\n  isSubmitting,\n}: {\n  emailDomain: string | null;\n  email: string;\n  goBack?: () => void;\n  resend?: () => Promise<void>;\n  countdown?: Countdown;\n  isSubmitting?: boolean;\n}) => {\n  const { t } = useLingui();\n  const [timeRemaining, active] = useTimeRemaining(countdown?.expiration ?? 0);\n\n  return (\n    <EmailActionLayout\n      header={t({ id: 'emailConfirmation.title', message: 'Check your email' })}\n      description={\n        <Trans\n          id=\"emailConfirmation.content\"\n          message=\"An email was sent to <bold>{email}</bold>.\"\n          components={{ bold: <b /> }}\n          values={{ email }}\n        />\n      }\n      additionalActions={\n        <>\n          <EmailProviderLink emailDomain={emailDomain} providerInfo={emailProviderInfo.gmail} />\n          <EmailProviderLink emailDomain={emailDomain} providerInfo={emailProviderInfo.yahoo} />\n          <EmailProviderLink emailDomain={emailDomain} providerInfo={emailProviderInfo.outlook} />\n\n          {resend && countdown && (\n            <Button\n              variant=\"outline\"\n              disabled={isSubmitting || active}\n              onClick={() => {\n                countdown.start(15);\n                resend().catch(() => countdown.clear());\n              }}\n            >\n              <VerticalTransition\n                className={chromaticIgnoreClassName()}\n                primary={t({ id: 'button.resendEmail', message: 'Resend email' })}\n                secondary={t({\n                  id: 'emailConfirmation.emailSent',\n                  message: `Email sent! Try again in ${timeRemaining}s`,\n                })}\n                triggered={active}\n              />\n            </Button>\n          )}\n\n          {goBack && (\n            <Button variant=\"ghost\" onClick={goBack}>\n              {t({ id: 'button.goBack', message: 'Go back' })}\n            </Button>\n          )}\n        </>\n      }\n    />\n  );\n};\n"],"names":["EmailConfirmationView","emailDomain","email","goBack","resend","countdown","isSubmitting","useLingui","timeRemaining","active","useTimeRemaining","expiration","React","EmailActionLayout","header","description","Trans","id","message","components","bold","b","values","additionalActions","EmailProviderLink","providerInfo","emailProviderInfo","gmail","yahoo","outlook","Button","variant","disabled","onClick","start","catch","clear","VerticalTransition","className","chromaticIgnoreClassName","primary","secondary","triggered"],"mappings":";;;;;;;;;AAWA;;;AAGC,IACM,MAAMA,qBAAAA,GAAwB,CAAC,EACpCC,WAAW,EACXC,KAAK,EACLC,MAAM,EACNC,MAAM,EACNC,SAAS,EACTC,YAAY,EAQb,GAAA;AACC,IAAA,MAAM,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,GAAA,EAAA,GAAQC,SAAAA,EAAAA;AACd,IAAA,MAAM,CAACC,aAAAA,EAAeC,MAAAA,CAAO,GAAGC,gBAAAA,CAAiBL,WAAWM,UAAAA,IAAc,CAAA,CAAA;AAE1E,IAAA,qBACEC,EAAA,CAAA,aAAA,CAACC,iBAAAA,EAAAA;QACCC,MAAM,EAAA,OAAA,CAAA,CAAA,CAAA;;;;AACNC,QAAAA,WAAAA,gBACEH,EAAA,CAAA,aAAA,CAACI,KAAAA,EAAAA;YACCC,EAAAA,EAAG,2BAAA;YACHC,OAAAA,EAAQ,4CAAA;YACRC,UAAAA,EAAY;AAAEC,gBAAAA,IAAAA,gBAAMR,EAAA,CAAA,aAAA,CAACS,GAAAA,EAAAA,IAAAA;AAAK,aAAA;YAC1BC,MAAAA,EAAQ;AAAEpB,gBAAAA;AAAM;;AAGpBqB,QAAAA,iBAAAA,gBACEX,kDACEA,EAAA,CAAA,aAAA,CAACY,iBAAAA,EAAAA;YAAkBvB,WAAAA,EAAaA,WAAAA;AAAawB,YAAAA,YAAAA,EAAcC,kBAAkBC;0BAC7Ef,EAAA,CAAA,aAAA,CAACY,iBAAAA,EAAAA;YAAkBvB,WAAAA,EAAaA,WAAAA;AAAawB,YAAAA,YAAAA,EAAcC,kBAAkBE;0BAC7EhB,EAAA,CAAA,aAAA,CAACY,iBAAAA,EAAAA;YAAkBvB,WAAAA,EAAaA,WAAAA;AAAawB,YAAAA,YAAAA,EAAcC,kBAAkBG;AAE5EzB,SAAAA,CAAAA,EAAAA,MAAAA,IAAUC,2BACTO,EAAA,CAAA,aAAA,CAACkB,MAAAA,EAAAA;YACCC,OAAAA,EAAQ,SAAA;AACRC,YAAAA,QAAAA,EAAU1B,YAAAA,IAAgBG,MAAAA;YAC1BwB,OAAAA,EAAS,IAAA;AACP5B,gBAAAA,SAAAA,CAAU6B,KAAK,CAAC,EAAA,CAAA;AAChB9B,gBAAAA,MAAAA,EAAAA,CAAS+B,KAAK,CAAC,IAAM9B,SAAAA,CAAU+B,KAAK,EAAA,CAAA;AACtC,YAAA;yBAEAxB,EAAA,CAAA,aAAA,CAACyB,kBAAAA,EAAAA;YACCC,SAAAA,EAAWC,wBAAAA,EAAAA;YACXC,OAAO,EAAA,OAAA,CAAA,CAAA,CAAA;;;;YACPC,SAAS,EAAA,OAAA,CAAA,CAAA,CAAA;;;;AAE8BjC,oBAAAA,aAAAA,EAAAA;;;YAEvCkC,SAAAA,EAAWjC;AAKhBN,SAAAA,CAAAA,CAAAA,EAAAA,MAAAA,kBACCS,EAAA,CAAA,aAAA,CAACkB,MAAAA,EAAAA;YAAOC,OAAAA,EAAQ,OAAA;YAAQE,OAAAA,EAAS9B;;;;;;AAQ7C;;;;"}