{"version":3,"file":"SentOTPEntry.mjs","sources":["../../../../../../../../../web/src/ui/components/organisms/SentOTPEntry.tsx"],"sourcesContent":["import { Trans } from '@lingui/react';\nimport { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport { formatCountdown, useTimeRemaining } from '../atoms/Countdown';\nimport OTPEntry from '../molecules/OTPEntry';\n\nexport interface SentOTPEntryProps {\n  expiration: number; // Unix epoch milliseconds\n  formattedDestination: string;\n  isSubmitting: boolean;\n  onSubmit: (otp: string) => void;\n  errorMessage?: string;\n}\n\nexport const SentOTPEntry = ({\n  expiration,\n  formattedDestination,\n  isSubmitting,\n  onSubmit,\n  errorMessage,\n}: SentOTPEntryProps) => {\n  const { t } = useLingui();\n\n  // Unfortunately for backwards compatibility, the variable in the localization template\n  // must be named timeRemaining\n  const [_timeRemaining, active] = useTimeRemaining(expiration);\n  const timeRemaining = formatCountdown(_timeRemaining);\n\n  const formattedText = active\n    ? t({ id: 'passcode.expirationCountdown', message: `Your code expires in ${timeRemaining}.` })\n    : t({ id: 'passcode.expired', message: 'Your code has expired.' });\n\n  return (\n    <OTPEntry\n      header={t({ id: 'passcode.title', message: 'Enter passcode' })}\n      helperContent={formattedText}\n      instruction={\n        <Trans\n          id=\"passcode.sentConfirmation\"\n          message=\"A 6-digit passcode was sent to you at <bold>{destination}</bold>.\"\n          components={{ bold: <b /> }}\n          values={{ destination: formattedDestination }}\n        />\n      }\n      isSubmitting={isSubmitting}\n      onSubmit={onSubmit}\n      errorMessage={errorMessage}\n    />\n  );\n};\n"],"names":["SentOTPEntry","expiration","formattedDestination","isSubmitting","onSubmit","errorMessage","useLingui","_timeRemaining","active","useTimeRemaining","timeRemaining","formatCountdown","formattedText","React","OTPEntry","header","helperContent","instruction","Trans","id","message","components","bold","b","values","destination"],"mappings":";;;;;AAeO,MAAMA,YAAAA,GAAe,CAAC,EAC3BC,UAAU,EACVC,oBAAoB,EACpBC,YAAY,EACZC,QAAQ,EACRC,YAAY,EACM,GAAA;AAClB,IAAA,MAAM,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,GAAA,EAAA,GAAQC,SAAAA,EAAAA;;;AAId,IAAA,MAAM,CAACC,cAAAA,EAAgBC,MAAAA,CAAO,GAAGC,gBAAAA,CAAiBR,UAAAA,CAAAA;AAClD,IAAA,MAAMS,gBAAgBC,eAAAA,CAAgBJ,cAAAA,CAAAA;AAEtC,IAAA,MAAMK,aAAAA,GAAgBJ,MAAAA,GAAAA,OAAAA,CAAAA,CAAAA,CAAAA;;;;AACuDE,YAAAA,aAAAA,EAAAA;;;;;;AAG7E,IAAA,qBACEG,EAAA,CAAA,aAAA,CAACC,QAAAA,EAAAA;QACCC,MAAM,EAAA,OAAA,CAAA,CAAA,CAAA;;;;QACNC,aAAAA,EAAeJ,aAAAA;AACfK,QAAAA,WAAAA,gBACEJ,EAAA,CAAA,aAAA,CAACK,KAAAA,EAAAA;YACCC,EAAAA,EAAG,2BAAA;YACHC,OAAAA,EAAQ,mEAAA;YACRC,UAAAA,EAAY;AAAEC,gBAAAA,IAAAA,gBAAMT,EAAA,CAAA,aAAA,CAACU,GAAAA,EAAAA,IAAAA;AAAK,aAAA;YAC1BC,MAAAA,EAAQ;gBAAEC,WAAAA,EAAavB;AAAqB;;QAGhDC,YAAAA,EAAcA,YAAAA;QACdC,QAAAA,EAAUA,QAAAA;QACVC,YAAAA,EAAcA;;AAGpB;;;;"}