{"version":3,"file":"PasswordAuthenticate.mjs","sources":["../../../../../../../../../web/src/ui/b2b/screens/PasswordAuthenticate.tsx"],"sourcesContent":["import { useLingui } from '@lingui/react/macro';\nimport React from 'react';\n\nimport { EMAIL_REGEX } from '../../../utils';\nimport Button from '../../components/atoms/Button';\nimport Column from '../../components/atoms/Column';\nimport Typography from '../../components/atoms/Typography';\nimport ButtonColumn from '../../components/molecules/ButtonColumn';\nimport EmailInput from '../../components/molecules/EmailInput';\nimport { PasswordInput } from '../../components/molecules/PasswordInput';\nimport { useGlobalReducer } from '../GlobalContextProvider';\nimport { AppScreens } from '../types/AppScreens';\nimport { usePasswordInput } from '../usePasswordInput';\n\nexport const PasswordsAuthenticate = () => {\n  const [, dispatch] = useGlobalReducer();\n  const { t } = useLingui();\n\n  const {\n    email,\n    setEmail,\n    password,\n    setPassword,\n    organization,\n    errorMessage,\n    setErrorMessage,\n    isSubmitting,\n    submitPassword,\n    submitDiscoveryPassword,\n  } = usePasswordInput();\n\n  const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n    e.preventDefault();\n    if (!email.match(EMAIL_REGEX)) {\n      setErrorMessage(t({ id: 'error.invalidEmailAddress', message: 'Invalid email address' }));\n    } else {\n      if (!organization) {\n        submitDiscoveryPassword();\n      } else {\n        submitPassword(organization.organization_id);\n      }\n    }\n  };\n\n  const onGetHelp = () => {\n    dispatch({ type: 'set_password_state', email: email });\n    dispatch({ type: 'transition', screen: AppScreens.PasswordForgotForm });\n  };\n\n  return (\n    <Column gap={6}>\n      <Typography variant=\"header\">\n        {t({ id: 'password.login.title', message: 'Log in with email and password' })}\n      </Typography>\n\n      <Column as=\"form\" onSubmit={handleSubmit} gap={4}>\n        <EmailInput email={email} setEmail={setEmail} />\n\n        <PasswordInput password={password} setPassword={setPassword} type=\"current\" error={errorMessage} />\n\n        <ButtonColumn>\n          <Button variant=\"primary\" loading={isSubmitting} type=\"submit\">\n            {t({ id: 'button.continue', message: 'Continue' })}\n          </Button>\n\n          <Button variant=\"outline\" onClick={onGetHelp}>\n            {t({ id: 'link.signupResetPassword', message: 'Sign up or reset password' })}\n          </Button>\n\n          <Button variant=\"ghost\" onClick={() => dispatch({ type: 'transition', screen: AppScreens.Main })}>\n            {t({ id: 'button.goBack', message: 'Go back' })}\n          </Button>\n        </ButtonColumn>\n      </Column>\n    </Column>\n  );\n};\n"],"names":["PasswordsAuthenticate","dispatch","useGlobalReducer","useLingui","email","setEmail","password","setPassword","organization","errorMessage","setErrorMessage","isSubmitting","submitPassword","submitDiscoveryPassword","usePasswordInput","handleSubmit","e","preventDefault","match","EMAIL_REGEX","organization_id","onGetHelp","type","screen","AppScreens","PasswordForgotForm","React","Column","gap","Typography","variant","as","onSubmit","EmailInput","PasswordInput","error","ButtonColumn","Button","loading","onClick","Main"],"mappings":";;;;;;;;;;;;;MAcaA,qBAAAA,GAAwB,IAAA;IACnC,MAAM,GAAGC,SAAS,GAAGC,gBAAAA,EAAAA;AACrB,IAAA,MAAM,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,GAAA,EAAA,GAAQC,SAAAA,EAAAA;IAEd,MAAM,EACJC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRC,WAAW,EACXC,YAAY,EACZC,YAAY,EACZC,eAAe,EACfC,YAAY,EACZC,cAAc,EACdC,uBAAuB,EACxB,GAAGC,gBAAAA,EAAAA;AAEJ,IAAA,MAAMC,eAAe,OAAOC,CAAAA,GAAAA;AAC1BA,QAAAA,CAAAA,CAAEC,cAAc,EAAA;AAChB,QAAA,IAAI,CAACb,KAAAA,CAAMc,KAAK,CAACC,WAAAA,CAAAA,EAAc;AAC7BT,YAAAA,eAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA;;;;QACF,CAAA,MAAO;AACL,YAAA,IAAI,CAACF,YAAAA,EAAc;AACjBK,gBAAAA,uBAAAA,EAAAA;YACF,CAAA,MAAO;AACLD,gBAAAA,cAAAA,CAAeJ,aAAaY,eAAe,CAAA;AAC7C,YAAA;AACF,QAAA;AACF,IAAA,CAAA;AAEA,IAAA,MAAMC,SAAAA,GAAY,IAAA;QAChBpB,QAAAA,CAAS;YAAEqB,IAAAA,EAAM,oBAAA;YAAsBlB,KAAAA,EAAOA;AAAM,SAAA,CAAA;QACpDH,QAAAA,CAAS;YAAEqB,IAAAA,EAAM,YAAA;AAAcC,YAAAA,MAAAA,EAAQC,WAAWC;AAAmB,SAAA,CAAA;AACvE,IAAA,CAAA;AAEA,IAAA,qBACEC,EAAA,CAAA,aAAA,CAACC,MAAAA,EAAAA;QAAOC,GAAAA,EAAK;qBACXF,EAAA,CAAA,aAAA,CAACG,UAAAA,EAAAA;QAAWC,OAAAA,EAAQ;;;;uBAIpBJ,EAAA,CAAA,aAAA,CAACC,MAAAA,EAAAA;QAAOI,EAAAA,EAAG,MAAA;QAAOC,QAAAA,EAAUjB,YAAAA;QAAca,GAAAA,EAAK;qBAC7CF,EAAA,CAAA,aAAA,CAACO,UAAAA,EAAAA;QAAW7B,KAAAA,EAAOA,KAAAA;QAAOC,QAAAA,EAAUA;sBAEpCqB,EAAA,CAAA,aAAA,CAACQ,aAAAA,EAAAA;QAAc5B,QAAAA,EAAUA,QAAAA;QAAUC,WAAAA,EAAaA,WAAAA;QAAae,IAAAA,EAAK,SAAA;QAAUa,KAAAA,EAAO1B;AAEnF,KAAA,CAAA,gBAAAiB,EAAA,CAAA,aAAA,CAACU,kCACCV,EAAA,CAAA,aAAA,CAACW,MAAAA,EAAAA;QAAOP,OAAAA,EAAQ,SAAA;QAAUQ,OAAAA,EAAS3B,YAAAA;QAAcW,IAAAA,EAAK;;;;uBAItDI,EAAA,CAAA,aAAA,CAACW,MAAAA,EAAAA;QAAOP,OAAAA,EAAQ,SAAA;QAAUS,OAAAA,EAASlB;;;;uBAInCK,EAAA,CAAA,aAAA,CAACW,MAAAA,EAAAA;QAAOP,OAAAA,EAAQ,OAAA;AAAQS,QAAAA,OAAAA,EAAS,IAAMtC,QAAAA,CAAS;gBAAEqB,IAAAA,EAAM,YAAA;AAAcC,gBAAAA,MAAAA,EAAQC,WAAWgB;AAAK,aAAA;;;;;AAOxG;;;;"}