{"version":3,"file":"js/281-15e7b6e9f97419c45eff.js","mappings":"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","sources":["webpack://hover-mainsite/./app/webpacker/src/email_verification/VerificationCodeControls.jsx","webpack://hover-mainsite/./app/webpacker/src/email_verification/VerificationCodeInput.jsx","webpack://hover-mainsite/./app/webpacker/src/email_verification/VerificationError.jsx","webpack://hover-mainsite/./app/webpacker/src/email_verification/VerificationHolder.jsx","webpack://hover-mainsite/./app/webpacker/src/email_verification/VerificationMessage.jsx","webpack://hover-mainsite/./app/webpacker/src/email_verification/requests.js","webpack://hover-mainsite/./app/webpacker/src/email_verification/verification.module.sass?56cd"],"sourcesContent":["import React, { useState, Fragment } from \"react\";\nimport PropTypes from \"prop-types\";\nimport debounce from \"lodash/debounce\";\nimport { fasIcon } from \"h\";\nimport { SubmitButton } from \"checkout/form\";\nimport styles from \"./verification.module.sass\";\n\nfunction BackButton({ onBack, text }) {\n return (\n <button type=\"button\" onClick={onBack} className=\"btn-link left-button\">\n {text ? (\n text\n ) : (\n <Fragment>\n {fasIcon(\"chevron-left\")} {\" Back\"}\n </Fragment>\n )}\n </button>\n );\n}\n\nfunction SkipButton({ onSkip }) {\n if (onSkip) {\n return (\n <button type=\"button\" onClick={onSkip} className=\"btn-link left-button\">\n Skip\n </button>\n );\n } else {\n return null;\n }\n}\n\nfunction VerificationCodeControls(props) {\n const [resendClicked, setResetClicked] = useState(false);\n const { form, onBack, backText } = props;\n const onResend = debounce(\n () => {\n setResetClicked(true);\n props.onResend();\n },\n 300,\n {\n leading: true,\n trailing: false,\n }\n );\n return (\n <div className={`fieldgroup buttons ${styles.controls}`}>\n <BackButton onBack={onBack} text={backText} />\n <SkipButton onSkip={props.onSkip} />\n <button type=\"button\" onClick={onResend} className=\"btn-link form_cancel\">\n {resendClicked ? \"Code Sent\" : \"Resend Code\"}\n </button>\n <SubmitButton form={form} text=\"Confirm Code\" />\n </div>\n );\n}\n\nVerificationCodeControls.propTypes = {\n form: PropTypes.object.isRequired,\n onBack: PropTypes.func.isRequired,\n onResend: PropTypes.func.isRequired,\n backText: PropTypes.string,\n};\n\nexport default VerificationCodeControls;\n","import React, { useState, useRef, useEffect } from \"react\";\nimport range from \"lodash/range\";\nimport styles from \"./verification.module.sass\";\n\nfunction VerificationCodeInput(props) {\n const [code, setCode] = useState(\"\");\n const [activeIndex, setActiveIndex] = useState(0);\n const inputRef = useRef([]);\n const addCharacters = (e) => {\n const chars = e.target.value;\n const newCode = (code + chars).replace(/\\D/g, \"\").substring(0, 6);\n setCode(newCode);\n };\n\n const removeCharacter = (e) => {\n if (e.keyCode === 8) {\n setCode(code.slice(0, -1));\n }\n };\n\n useEffect(() => {\n setActiveIndex(getActiveIndex(code));\n props.updateCode(code);\n }, [code]);\n\n const setFocus = () => {\n inputRef.current[activeIndex].focus();\n };\n\n const firstRender = useRef(true);\n\n useEffect(() => {\n if (!firstRender.current) {\n setFocus();\n } else {\n firstRender.current = false;\n }\n }, [activeIndex]);\n return (\n <div className={styles.verification_input} onClick={() => setFocus()}>\n {range(0, 3).map((i) => (\n <input\n className={styles.input}\n key={i}\n type=\"text\"\n inputMode=\"numeric\"\n value={code[i] || \"\"}\n ref={(el) => (inputRef.current[i] = el)}\n disabled={i !== activeIndex}\n onKeyDown={removeCharacter}\n onChange={addCharacters}\n name={`code[${i}]`}\n id={`code[${i}]`}\n />\n ))}\n <div className={styles.spacer}>-</div>\n {range(3, 6).map((i) => (\n <input\n className={styles.input}\n key={i}\n type=\"text\"\n inputMode=\"numeric\"\n value={code[i] || \"\"}\n ref={(el) => (inputRef.current[i] = el)}\n disabled={i !== activeIndex}\n onKeyDown={removeCharacter}\n onChange={addCharacters}\n name={`code[${i}]`}\n id={`code[${i}]`}\n />\n ))}\n </div>\n );\n}\n\nfunction getActiveIndex(code) {\n const length = code.length;\n\n return length === 6 ? 5 : length;\n}\n\nexport default VerificationCodeInput;\n","import React from \"react\";\nimport { TransitionGroup, CSSTransition } from \"react-transition-group\";\nimport styles from \"./verification.module.sass\";\n\nfunction VerificationError({ formError }) {\n return (\n <TransitionGroup>\n {formError && (\n <CSSTransition\n classNames=\"form-error\"\n timeout={{\n enter: 500,\n exit: 500,\n }}\n >\n <div className={styles.form_error}>\n {Object.values(formError).join(\"\")}\n </div>\n </CSSTransition>\n )}\n </TransitionGroup>\n );\n}\n\n\nexport default VerificationError;\n","import React from \"react\";\nimport c from \"classnames\";\nimport styles from \"./verification.module.sass\";\n\nfunction VerificationHolder(props) {\n return (\n <div className={c(\"fieldgroup\", props.className)}>\n <div className={styles.verification_holder}>{props.children}</div>\n </div>\n );\n}\n\nexport default VerificationHolder;\n","import React, { Fragment } from \"react\";\nimport styles from \"./verification.module.sass\";\n\nfunction VerificationMessage({ email, type=\"a verification\" }) {\n return (\n <Fragment>\n <p className={styles.message}>\n We sent {type} code to <span className=\"bold\">{email}</span>\n </p>\n <p className={styles.message}>Please enter the code below.</p>\n </Fragment>\n );\n}\n\nexport default VerificationMessage;\n","import { xhrPost } from \"common/xhr\";\n\n/**\n *\n * @param {Object} params - the request parameters\n * @param {string} params.email - the email address\n * @param {string} params.username - the username\n * @returns {Promise} result - the result of the request\n */\n export async function sendVerificationEmailNew(params) {\n try {\n await xhrPost(\"/email_verifications/send_verification_email_new\", params);\n } catch (error) {\n return Promise.reject(error.errors);\n }\n}\n\n/**\n *\n * @param {Object} params - the request parameters\n * @param {string} params.email - the email address\n * @returns {Promise} result - the result of the request\n */\nexport async function sendVerificationEmailEdit(params) {\n try {\n await xhrPost(\"/email_verifications/send_verification_email_edit\", params);\n } catch (error) {\n return Promise.reject(error.errors);\n }\n}\n\n/**\n *\n * @param {Object} params - the request parameters\n * @param {string} params.email - the email address\n * @returns {Promise} result - the result of the request\n */\nexport async function resendVerificationEmail(params) {\n try {\n await xhrPost(\"/email_verifications/resend_verification_email\", params);\n } catch (error) {\n return Promise.reject(error.errors);\n }\n}\n\n/**\n *\n * @param {Object} params - the request parameters\n * @param {string} params.email - the email address\n * @param {string} params.code - the verification code\n * @returns {Promise} result - the result of the request\n */\nexport async function verifyEmail(params) {\n try {\n await xhrPost(\"/email_verifications/verify_email\", params);\n } catch (error) {\n return Promise.reject(error.errors);\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"verification_holder\":\"_06QEGwpKp+3mTRxBd5hRBQ==\",\"verification_input\":\"zTq3ZRbkQF4h0xqzpvnigw==\",\"input\":\"K2axlzc9otWOu158nWKXCQ==\",\"spacer\":\"nAm7d2Zn0aut0evGIgdsPQ==\",\"message\":\"TOYt3Xbh-l7ZZmSJN33SzA==\",\"form_error\":\"aGwfUYjU22mnAoP4AEtI-w==\"};"],"names":["BackButton","_ref","onBack","text","React","type","onClick","className","Fragment","fasIcon","SkipButton","_ref2","onSkip","VerificationCodeControls","props","_useState2","_slicedToArray","useState","resendClicked","setResetClicked","form","backText","onResend","debounce","leading","trailing","concat","styles","controls","SubmitButton","propTypes","PropTypes","isRequired","code","setCode","_useState4","activeIndex","setActiveIndex","inputRef","useRef","addCharacters","e","chars","target","value","newCode","replace","substring","removeCharacter","keyCode","slice","useEffect","length","getActiveIndex","updateCode","setFocus","current","focus","firstRender","verification_input","range","map","i","input","key","inputMode","ref","el","disabled","onKeyDown","onChange","name","id","spacer","formError","TransitionGroup","CSSTransition","classNames","timeout","enter","exit","form_error","Object","values","join","c","verification_holder","children","email","_ref$type","message","sendVerificationEmailNew","_x","_sendVerificationEmailNew","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","params","wrap","_context","prev","next","xhrPost","t0","abrupt","Promise","reject","errors","stop","sendVerificationEmailEdit","_x2","_sendVerificationEmailEdit","_callee2","_context2","resendVerificationEmail","_x3","_resendVerificationEmail","_callee3","_context3","verifyEmail","_x4","_verifyEmail","_callee4","_context4"],"sourceRoot":""}