{"version":3,"file":"ResendOTPButton.mjs","sources":["../../../../../../../../../web/src/ui/components/organisms/ResendOTPButton.tsx"],"sourcesContent":["import { 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';\n\nexport type ResendOTPButtonProps = {\n  isSubmitting: boolean;\n  resendOTP: () => Promise<void>;\n  countdown: Countdown;\n};\n\nexport const ResendOTPButton = ({ isSubmitting, resendOTP, countdown }: ResendOTPButtonProps) => {\n  const { t } = useLingui();\n\n  const [timeRemaining, active] = useTimeRemaining(countdown.expiration);\n\n  return (\n    <Button\n      variant=\"outline\"\n      disabled={isSubmitting || active}\n      onClick={() => {\n        countdown.start(15);\n        resendOTP().catch(() => countdown.clear());\n      }}\n    >\n      <VerticalTransition\n        className={chromaticIgnoreClassName()}\n        primary={t({ id: 'passcode.resendCode', message: 'Resend code' })}\n        secondary={t({ id: 'passcode.codeSent', message: `Code sent! Try again in ${timeRemaining}s` })}\n        triggered={active}\n      />\n    </Button>\n  );\n};\n"],"names":["ResendOTPButton","isSubmitting","resendOTP","countdown","useLingui","timeRemaining","active","useTimeRemaining","expiration","React","Button","variant","disabled","onClick","start","catch","clear","VerticalTransition","className","chromaticIgnoreClassName","primary","secondary","triggered"],"mappings":";;;;;;;AAcO,MAAMA,kBAAkB,CAAC,EAAEC,YAAY,EAAEC,SAAS,EAAEC,SAAS,EAAwB,GAAA;AAC1F,IAAA,MAAM,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,GAAA,EAAA,GAAQC,SAAAA,EAAAA;AAEd,IAAA,MAAM,CAACC,aAAAA,EAAeC,MAAAA,CAAO,GAAGC,gBAAAA,CAAiBJ,UAAUK,UAAU,CAAA;AAErE,IAAA,qBACEC,EAAA,CAAA,aAAA,CAACC,MAAAA,EAAAA;QACCC,OAAAA,EAAQ,SAAA;AACRC,QAAAA,QAAAA,EAAUX,YAAAA,IAAgBK,MAAAA;QAC1BO,OAAAA,EAAS,IAAA;AACPV,YAAAA,SAAAA,CAAUW,KAAK,CAAC,EAAA,CAAA;AAChBZ,YAAAA,SAAAA,EAAAA,CAAYa,KAAK,CAAC,IAAMZ,SAAAA,CAAUa,KAAK,EAAA,CAAA;AACzC,QAAA;qBAEAP,EAAA,CAAA,aAAA,CAACQ,kBAAAA,EAAAA;QACCC,SAAAA,EAAWC,wBAAAA,EAAAA;QACXC,OAAO,EAAA,OAAA,CAAA,CAAA,CAAA;;;;QACPC,SAAS,EAAA,OAAA,CAAA,CAAA,CAAA;;;;AAAmEhB,gBAAAA,aAAAA,EAAAA;;;QAC5EiB,SAAAA,EAAWhB;;AAInB;;;;"}