{"version":3,"file":"license-claim.a87e4b4631fb8c4619e1.js?ssi=0","mappings":"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","sources":["webpack://@logos/commerceweb-frontend/./Scripts/site/clients/license-claim-client.js","webpack://@logos/commerceweb-frontend/./Scripts/site/components/license-claim/shared.less?f152","webpack://@logos/commerceweb-frontend/./Scripts/site/components/license-claim/shared.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/license-claim/send-button/index.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/license-claim/verification-code-request/index.jsx","webpack://@logos/commerceweb-frontend/./Scripts/site/components/license-claim/verification-code-request/index.less?4ca7","webpack://@logos/commerceweb-frontend/javascript/node_modules/classnames/bind.js","webpack://@logos/commerceweb-frontend/javascript/node_modules/@faithlife/command-sentence-control/dist/command-sentence.js"],"sourcesContent":["import { fetch } from './../util/fetch';\n\nexport default class LicenseClaimClient {\n\tstatic async sendLibraryClaimLink(sendLibraryClaimLinkUrl, request) {\n\t\tconst response = await fetch.postWithBody({\n\t\t\turl: sendLibraryClaimLinkUrl,\n\t\t\tbody: request,\n\t\t});\n\n\t\treturn await response.json();\n\t}\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"button\":\"shared--button--gSV9d btn btn-primary\",\"container\":\"shared--container--TWLgJ\",\"inputContainer\":\"shared--inputContainer--BxkyU\",\"inputBox\":\"shared--inputBox---a3o8\",\"inputButton\":\"shared--inputButton--sYYAi btn btn-secondary\",\"header\":\"shared--header--ob0CU\",\"subHeader\":\"shared--subHeader--JtCqo\",\"description\":\"shared--description--G4Zg1\",\"spinnerOverlay\":\"shared--spinnerOverlay--kH9I3\",\"logoContainer\":\"shared--logoContainer--K0Tjf\",\"logoSvg\":\"shared--logoSvg--E8SWV\",\"institutionSvg\":\"shared--institutionSvg--VtQNE\",\"institutionName\":\"shared--institutionName--xy7tV\",\"plus\":\"shared--plus--A0KGl\",\"errorInput\":\"shared--errorInput--dCFc4\",\"errorMessage\":\"shared--errorMessage--tofwC\"};","import React from 'react';\nimport { theme } from '@faithlife/styled-ui';\nimport { Plus } from '@faithlife/styled-ui/icons/12px';\nimport { CommandSentence } from '@faithlife/command-sentence-control';\nimport { useLocalization } from '../../localization';\nimport sharedStyles from './shared.less';\n\nexport const LogoHeader = ({ logosOrVerbum, institutionLogoUri, institutionName }) => {\n\tconst resources = useLocalization('CommerceWeb.Resources.LicenseClaim.LicenseClaim');\n\treturn (\n\t\t<div className={sharedStyles.logoContainer}>\n\t\t\t<img\n\t\t\t\tclassName={sharedStyles.logoSvg}\n\t\t\t\tsrc={\n\t\t\t\t\tlogosOrVerbum === 'Verbum'\n\t\t\t\t\t\t? 'https://files.logoscdn.com/v1/files/53603903/assets/12332695/content.svg?signature=YQUpVRlKc0ds48hPxgGWhDcgNRI'\n\t\t\t\t\t\t: 'https://files.logoscdn.com/v1/assets/14904106/optimized?share=OdlwiB5OxhoI1yI0'\n\t\t\t\t}\n\t\t\t\talt={logosOrVerbum === 'Verbum' ? resources.VerbumIcon : resources.LogosIcon}\n\t\t\t/>\n\t\t\t<Plus className={sharedStyles.plus} color={theme.colors.gray66} />\n\t\t\t{institutionLogoUri ? (\n\t\t\t\t<img className={sharedStyles.institutionSvg} src={institutionLogoUri} alt={resources.InstitutionIcon} />\n\t\t\t) : (\n\t\t\t\t<p className={sharedStyles.institutionName}>{institutionName}</p>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport const PageHeader = ({ logoHeader, logosOrVerbum, pageDescription, pageSubHeader, header }) => {\n\tconst resources = useLocalization('CommerceWeb.Resources.LicenseClaim.LicenseClaim');\n\tconst descriptionComponent =\n\t\tpageDescription === undefined ? null : typeof pageDescription === 'string' ? (\n\t\t\t<p className={sharedStyles.description}>{pageDescription}</p>\n\t\t) : (\n\t\t\t<div className={sharedStyles.description}>{pageDescription}</div>\n\t\t);\n\treturn (\n\t\t<>\n\t\t\t{logoHeader === undefined ? null : logoHeader}\n\t\t\t<h1 className={sharedStyles.header}>\n\t\t\t\t{header ?? (\n\t\t\t\t\t<CommandSentence Container={React.Fragment} template={resources.PageHeader}>\n\t\t\t\t\t\t<CommandSentence.Field name=\"BRAND_NAME\">{logosOrVerbum}</CommandSentence.Field>\n\t\t\t\t\t</CommandSentence>\n\t\t\t\t)}\n\t\t\t</h1>\n\t\t\t{pageSubHeader === undefined ? null : <p className={sharedStyles.subHeader}>{pageSubHeader}</p>}\n\t\t\t{descriptionComponent}\n\t\t</>\n\t);\n};\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport classNamesBind from 'classnames/bind';\nimport sharedStyles from '../shared.less';\n\nconst cx = classNamesBind.bind(sharedStyles);\n\nconst confirmationDisplayTimeMs = 3000;\n\nexport const SendButton = ({ isLoading, buttonText, loadingText, confirmationText, actionComplete, onClick }) => {\n\tconst [shouldShowConfirmation, setShouldShowConfirmation] = useState(false);\n\tconst confirmationEndTimeout = useRef(null);\n\n\tconst handleClick = () => {\n\t\tif (!isLoading) {\n\t\t\tonClick();\n\t\t}\n\t};\n\n\tconst handlePointerMove = useCallback(() => {\n\t\tif (confirmationEndTimeout.current) {\n\t\t\tclearTimeout(confirmationEndTimeout.current);\n\t\t}\n\t\tif (shouldShowConfirmation) {\n\t\t\tsetShouldShowConfirmation(false);\n\t\t}\n\t}, [shouldShowConfirmation]);\n\n\tuseEffect(() => {\n\t\tif (!actionComplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetShouldShowConfirmation(true);\n\t\tconfirmationEndTimeout.current = setTimeout(() => {\n\t\t\tsetShouldShowConfirmation(false);\n\t\t}, confirmationDisplayTimeMs);\n\n\t\treturn () => {\n\t\t\tif (confirmationEndTimeout.current) {\n\t\t\t\tclearTimeout(confirmationEndTimeout.current);\n\t\t\t}\n\t\t};\n\t}, [actionComplete]);\n\n\treturn (\n\t\t<button\n\t\t\tclassName={cx(sharedStyles.inputButton)}\n\t\t\tonClick={handleClick}\n\t\t\tdisabled={isLoading || shouldShowConfirmation}\n\t\t\tonPointerMove={handlePointerMove}\n\t\t>\n\t\t\t{isLoading ? loadingText : actionComplete ? (shouldShowConfirmation ? confirmationText : buttonText) : buttonText}\n\t\t</button>\n\t);\n};\n","import React, { useState, useCallback, useMemo } from 'react';\nimport { Input, LoadingSpinner } from '@faithlife/styled-ui';\nimport classNamesBind from 'classnames/bind';\nimport { CommandSentence } from '@faithlife/command-sentence-control';\nimport { useLocalization } from '../../../localization';\nimport LicenseClaimClient from '../../../clients/license-claim-client';\nimport { validateEmailAddress } from '../../../util/email';\nimport sharedStyles from '../shared.less';\nimport { LogoHeader, PageHeader } from '../shared';\nimport { SendButton } from '../send-button';\nimport styles from './index.less';\n\nconst cx = classNamesBind.bind(sharedStyles);\n\nconst VerificationCodeRequest = ({\n\tinstitutionCode,\n\tinstitutionName,\n\tinstitutionLogoUri,\n\tisAcademicInstitution,\n\tlogosOrVerbum,\n\tinitialEmail,\n\troutes,\n\tverificationError: verificationErrorFromProps,\n}) => {\n\tconst resources = useLocalization('CommerceWeb.Resources.LicenseClaim.LicenseClaim');\n\tconst [email, setEmail] = useState(initialEmail ?? '');\n\tconst [isLoading, setIsLoading] = useState(false);\n\tconst [emailSentCount, setEmailSentCount] = useState(0);\n\tconst [isActionComplete, setIsActionComplete] = useState(false);\n\tconst [inputErrorMessage, setInputErrorMessage] = useState(null);\n\tconst [verificationError, setVerificationError] = useState(verificationErrorFromProps);\n\n\tconst handleEmailChange = useCallback(\n\t\tevent => {\n\t\t\tsetEmail(event.target.value);\n\t\t\tif (verificationError) {\n\t\t\t\tsetVerificationError(null);\n\t\t\t}\n\t\t},\n\t\t[verificationError]\n\t);\n\n\tconst verificationErrorMessageTemplate = useMemo(() => {\n\t\tif (!verificationError) {\n\t\t\treturn null;\n\t\t}\n\n\t\tswitch (verificationError.toLowerCase()) {\n\t\t\tcase 'expired':\n\t\t\t\treturn resources.VerificationCodeExpired;\n\t\t\tcase 'redeemed':\n\t\t\t\treturn resources.VerificationCodeClaimed;\n\t\t\tcase 'invalid':\n\t\t\t\treturn resources.InvalidVerificationCode;\n\t\t\tdefault:\n\t\t\t\treturn resources.UnknownValidationError;\n\t\t}\n\t}, [resources, verificationError]);\n\n\tconst sendLibraryClaimLink = useCallback(async () => {\n\t\tsetIsActionComplete(false);\n\t\tsetIsLoading(true);\n\t\tsetInputErrorMessage(null);\n\n\t\tconst validationError = validateEmailAddress(email, resources.EmptyEmail, resources.InvalidEmail);\n\t\tif (validationError) {\n\t\t\tsetInputErrorMessage(validationError);\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tconst libraryClaimLinkResult = await LicenseClaimClient.sendLibraryClaimLink(routes.SendLibraryClaimLinkUrl, {\n\t\t\t\t\temail: email,\n\t\t\t\t\tinstitutionCode: institutionCode,\n\t\t\t\t});\n\n\t\t\t\tif (!libraryClaimLinkResult?.success) {\n\t\t\t\t\tthrow new Error('Library claim link request failed.');\n\t\t\t\t}\n\n\t\t\t\tsetEmailSentCount(emailSentCount + 1);\n\t\t\t\tsetIsActionComplete(true);\n\t\t\t} catch {\n\t\t\t\tsetInputErrorMessage(resources.FailedToSendVerificationCode);\n\t\t\t}\n\t\t}\n\t\tsetIsLoading(false);\n\t}, [email, emailSentCount, institutionCode, resources, routes.SendLibraryClaimLinkUrl]);\n\n\tconst handleFormSubmitted = useCallback(\n\t\tasync event => {\n\t\t\tevent.preventDefault();\n\t\t\tawait sendLibraryClaimLink();\n\t\t},\n\t\t[sendLibraryClaimLink]\n\t);\n\n\tconst { firstBodyTemplate, secondBodyTemplate } = useMemo(() => {\n\t\tconst firstBodyTemplate = emailSentCount\n\t\t\t? resources.VerificationCodeValidationDescription\n\t\t\t: resources.PageDescription;\n\t\tconst secondBodyTemplate =\n\t\t\temailSentCount > 1\n\t\t\t\t? resources.VerificationCodeValidationResendDescription2\n\t\t\t\t: emailSentCount\n\t\t\t\t\t? resources.VerificationCodeValidationResendDescription\n\t\t\t\t\t: resources.EmailVerificationDescription;\n\n\t\treturn { firstBodyTemplate, secondBodyTemplate };\n\t}, [emailSentCount, resources]);\n\n\treturn (\n\t\t<>\n\t\t\t{isLoading && (\n\t\t\t\t<div aria-label={resources.LoadingAriaLabel} className={sharedStyles.spinnerOverlay}>\n\t\t\t\t\t<LoadingSpinner variant=\"medium\" />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className={sharedStyles.container}>\n\t\t\t\t<div className={sharedStyles.inputContainer}>\n\t\t\t\t\t<PageHeader\n\t\t\t\t\t\tlogoHeader={\n\t\t\t\t\t\t\t<LogoHeader\n\t\t\t\t\t\t\t\tinstitutionLogoUri={institutionLogoUri}\n\t\t\t\t\t\t\t\tlogosOrVerbum={logosOrVerbum}\n\t\t\t\t\t\t\t\tinstitutionName={institutionName}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t<CommandSentence\n\t\t\t\t\t\t\t\tContainer={React.Fragment}\n\t\t\t\t\t\t\t\ttemplate={\n\t\t\t\t\t\t\t\t\temailSentCount > 1\n\t\t\t\t\t\t\t\t\t\t? resources.LinkResent\n\t\t\t\t\t\t\t\t\t\t: emailSentCount\n\t\t\t\t\t\t\t\t\t\t\t? resources.AlmostDone\n\t\t\t\t\t\t\t\t\t\t\t: resources.PageHeader\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<CommandSentence.Field name=\"BRAND_NAME\">{logosOrVerbum}</CommandSentence.Field>\n\t\t\t\t\t\t\t</CommandSentence>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpageDescription={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tmarginBottom: '32px',\n\t\t\t\t\t\t\t\t\t\tlineHeight: '135%',\n\t\t\t\t\t\t\t\t\t\t...(emailSentCount ? { fontSize: '24px', lineHeight: '125%' } : {}),\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<CommandSentence Container={React.Fragment} template={firstBodyTemplate}>\n\t\t\t\t\t\t\t\t\t\t<CommandSentence.Field name=\"BRAND_NAME\">{logosOrVerbum}</CommandSentence.Field>\n\t\t\t\t\t\t\t\t\t\t<CommandSentence.Field name=\"EMAIL_ADDRESS\">\n\t\t\t\t\t\t\t\t\t\t\t<strong>{email}</strong>\n\t\t\t\t\t\t\t\t\t\t</CommandSentence.Field>\n\t\t\t\t\t\t\t\t\t</CommandSentence>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div style={{ ...(emailSentCount ? {} : { fontSize: '24px', lineHeight: '125%' }) }}>\n\t\t\t\t\t\t\t\t\t<CommandSentence Container={React.Fragment} template={secondBodyTemplate}>\n\t\t\t\t\t\t\t\t\t\t<CommandSentence.Field name=\"INSTITUTION_NAME\">\n\t\t\t\t\t\t\t\t\t\t\t<strong>{institutionName}</strong>\n\t\t\t\t\t\t\t\t\t\t</CommandSentence.Field>\n\t\t\t\t\t\t\t\t\t\t<CommandSentence.Field name=\"BRAND_NAME\">{logosOrVerbum}</CommandSentence.Field>\n\t\t\t\t\t\t\t\t\t\t<CommandSentence.Field name=\"RESEND_BUTTON_TEXT\">{resources.ResendButton}</CommandSentence.Field>\n\t\t\t\t\t\t\t\t\t\t<CommandSentence.Field name=\"EMAIL_ADDRESS\">\n\t\t\t\t\t\t\t\t\t\t\t<strong>{email}</strong>\n\t\t\t\t\t\t\t\t\t\t</CommandSentence.Field>\n\t\t\t\t\t\t\t\t\t</CommandSentence>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlogosOrVerbum={logosOrVerbum}\n\t\t\t\t\t/>\n\t\t\t\t\t<form onSubmit={handleFormSubmitted}>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tclassName={cx(sharedStyles.inputBox, {\n\t\t\t\t\t\t\t\terrorInput: inputErrorMessage !== null,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tvariant=\"medium\"\n\t\t\t\t\t\t\ttype={emailSentCount ? 'hidden' : 'email'}\n\t\t\t\t\t\t\tvalue={email}\n\t\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t\tisAcademicInstitution ? resources.AcademicEmailPlaceholder : resources.EnterpriseEmailPlaceholder\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={handleEmailChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{inputErrorMessage && <div className={sharedStyles.errorMessage}>{inputErrorMessage}</div>}\n\t\t\t\t\t\t{verificationErrorMessageTemplate && (\n\t\t\t\t\t\t\t<p className={cx(sharedStyles.errorMessage, styles.verificationError)}>\n\t\t\t\t\t\t\t\t<CommandSentence Container={React.Fragment} template={verificationErrorMessageTemplate}>\n\t\t\t\t\t\t\t\t\t<CommandSentence.Field name=\"INSTITUTION_NAME\">{institutionName}</CommandSentence.Field>\n\t\t\t\t\t\t\t\t\t<CommandSentence.Field name=\"GET_MY_CODE_BUTTON_TEXT\">\n\t\t\t\t\t\t\t\t\t\t{resources.GetMyCodeButton}\n\t\t\t\t\t\t\t\t\t</CommandSentence.Field>\n\t\t\t\t\t\t\t\t</CommandSentence>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<SendButton\n\t\t\t\t\t\t\tbuttonText={emailSentCount ? resources.ResendButton : resources.GetMyCodeButton}\n\t\t\t\t\t\t\tactionComplete={isActionComplete}\n\t\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\t\tonClick={sendLibraryClaimLink}\n\t\t\t\t\t\t\tloadingText={resources.SendingCodeButtonText}\n\t\t\t\t\t\t\tconfirmationText={resources.SentCodeButtonText}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n};\n\nexport default VerificationCodeRequest;\n","// extracted by mini-css-extract-plugin\nexport default {\"verificationError\":\"index--verificationError--NJnxD\"};","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import { jsx as u } from \"react/jsx-runtime\";\nimport { useMemo as c, Children as x, isValidElement as l } from \"react\";\nfunction m({ template: e, children: s, Container: n = \"div\", className: t }) {\n  const d = c(() => p(e), [e]), i = {};\n  return x.forEach(s || [], (r) => {\n    l(r) && r.type === f && r.props.name && (i[r.props.name] = r.props.children);\n  }), u(n, { className: t, children: d.map((r) => r.text || i[r.field]) });\n}\nm.Field = f;\nfunction f({ children: e }) {\n  return u(\"span\", { children: e });\n}\nconst o = /%([A-Z0-9_]+)%/g;\nfunction p(e) {\n  if (!e)\n    return [];\n  const s = [];\n  let n = 0;\n  for (let t = o.exec(e); t !== null; t = o.exec(e))\n    n !== t.index && s.push({ text: e.substr(n, t.index - n) }), n = o.lastIndex, s.push({ field: t[1] });\n  return n !== e.length && s.push({ text: e.substr(n, e.length - n) }), s;\n}\nexport {\n  m as CommandSentence\n};\n//# sourceMappingURL=command-sentence.js.map\n"],"names":["LicenseClaimClient","sendLibraryClaimLink","sendLibraryClaimLinkUrl","request","response","fetch","postWithBody","url","body","json","shared","button","container","inputContainer","inputBox","inputButton","header","subHeader","description","spinnerOverlay","logoContainer","logoSvg","institutionSvg","institutionName","plus","errorInput","errorMessage","LogoHeader","_ref","logosOrVerbum","institutionLogoUri","resources","useLocalization","React","className","sharedStyles","src","alt","VerbumIcon","LogosIcon","Plus","color","theme","colors","gray66","InstitutionIcon","PageHeader","_ref2","logoHeader","pageDescription","pageSubHeader","descriptionComponent","undefined","CommandSentence","Container","template","Field","name","cx","classNamesBind","SendButton","isLoading","buttonText","loadingText","confirmationText","actionComplete","onClick","_useState","useState","_useState2","_slicedToArray","shouldShowConfirmation","setShouldShowConfirmation","confirmationEndTimeout","useRef","handlePointerMove","useCallback","current","clearTimeout","useEffect","setTimeout","handleClick","disabled","onPointerMove","license_claim_verification_code_request","institutionCode","isAcademicInstitution","initialEmail","routes","verificationErrorFromProps","verificationError","email","setEmail","_useState3","_useState4","setIsLoading","_useState5","_useState6","emailSentCount","setEmailSentCount","_useState7","_useState8","isActionComplete","setIsActionComplete","_useState9","_useState0","inputErrorMessage","setInputErrorMessage","_useState1","_useState10","setVerificationError","handleEmailChange","event","target","value","verificationErrorMessageTemplate","useMemo","toLowerCase","VerificationCodeExpired","VerificationCodeClaimed","InvalidVerificationCode","UnknownValidationError","async","validationError","validateEmailAddress","EmptyEmail","InvalidEmail","libraryClaimLinkResult","SendLibraryClaimLinkUrl","success","Error","_unused","FailedToSendVerificationCode","handleFormSubmitted","preventDefault","_useMemo","firstBodyTemplate","VerificationCodeValidationDescription","PageDescription","secondBodyTemplate","VerificationCodeValidationResendDescription2","VerificationCodeValidationResendDescription","EmailVerificationDescription","LoadingAriaLabel","LoadingSpinner","variant","LinkResent","AlmostDone","style","_objectSpread","marginBottom","lineHeight","fontSize","ResendButton","onSubmit","Input","type","placeholder","AcademicEmailPlaceholder","EnterpriseEmailPlaceholder","onChange","GetMyCodeButton","SendingCodeButtonText","SentCodeButtonText","__WEBPACK_AMD_DEFINE_RESULT__","hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","appendClass","parseValue","call","this","Array","isArray","apply","toString","Object","prototype","includes","key","newClass","module","exports","default","m","e","children","s","n","t","d","react__WEBPACK_IMPORTED_MODULE_1__","o","exec","index","push","text","substr","lastIndex","field","p","Children","forEach","r","isValidElement","f","props","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","map"],"sourceRoot":""}