{"version":3,"file":"js/checkout-35d8db9fa31432a27ab5.js","mappings":"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","sources":["webpack://hover-mainsite/webpack/universalModuleDefinition","webpack://hover-mainsite/./app/webpacker/src/checkout/middleware/remote_action_middleware.js","webpack://hover-mainsite/./app/webpacker/src/checkout/middleware/tracking.js","webpack://hover-mainsite/./app/webpacker/src/checkout/middleware/nextStepMiddleware.js","webpack://hover-mainsite/./app/webpacker/src/checkout/middleware/index.js","webpack://hover-mainsite/./app/webpacker/src/checkout/middleware/ciraMiddleware.js","webpack://hover-mainsite/./app/webpacker/src/checkout/actions/ciraActions.js","webpack://hover-mainsite/./app/webpacker/src/checkout/middleware/navigateMiddleware.js","webpack://hover-mainsite/./app/webpacker/src/checkout/lookup/signal.js","webpack://hover-mainsite/./app/webpacker/src/checkout/lookup/domain_lookup.js","webpack://hover-mainsite/./app/webpacker/src/checkout/lookup.js","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/initCart.js","webpack://hover-mainsite/./app/webpacker/src/checkout/form/Tooltip.js","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/input.js","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/AuthCodeForm.js","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/cart_item_view.module.sass?0872","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/number_selector.module.sass?dffd","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/NumberSelector.jsx","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/CartItemView.jsx","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/CartItem.js","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/CartItems.js","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/total_line.module.sass?68e9","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/TotalLine.jsx","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/cart_totals.module.sass?8dc2","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/PromoCodeForm.jsx","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/CartTotals.jsx","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/ClaimsPopup.js","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/EmailOptionsPopup.js","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/BundleNoticePopup.js","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/view_cart.js","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart/app.js","webpack://hover-mainsite/./app/webpacker/src/checkout/view_cart.js","webpack://hover-mainsite/./app/webpacker/src/checkout/renew/Box.js","webpack://hover-mainsite/./app/webpacker/src/checkout/renew/AsideHelp.js","webpack://hover-mainsite/./app/webpacker/src/checkout/renew/RenewResults.js","webpack://hover-mainsite/./app/webpacker/src/checkout/pricing/PricingTable.js","webpack://hover-mainsite/./app/webpacker/packs/checkout.js","webpack://hover-mainsite/./app/webpacker/src/checkout/renew/initRenewResults.js","webpack://hover-mainsite/./app/webpacker/src/checkout/pricing/initPricing.js","webpack://hover-mainsite/./app/webpacker/src/checkout/store/configureStore.js","webpack://hover-mainsite/./app/webpacker/src/2020/header.js","webpack://hover-mainsite/./app/webpacker/src/checkout/actions/checkout_actions.js","webpack://hover-mainsite/./app/webpacker/src/checkout/actions/signinActions.js","webpack://hover-mainsite/./app/webpacker/src/checkout/store/invalidStep.js","webpack://hover-mainsite/./app/webpacker/src/checkout/containers/App.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/MiniCart.js","webpack://hover-mainsite/./app/webpacker/src/checkout/containers/checkout_main.js","webpack://hover-mainsite/./app/webpacker/src/checkout/util/updateSigninMenu.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/Crossfade.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/SectionContent.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/Section.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/AccountSkipped.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/Summary.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/AccountInfo.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/MagicSigninLink.jsx","webpack://hover-mainsite/./app/webpacker/src/checkout/components/SigninForm.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/SigninEmailForm.jsx","webpack://hover-mainsite/./app/webpacker/src/checkout/components/SigninTokenForm.jsx","webpack://hover-mainsite/./app/webpacker/src/checkout/components/ForgotUsername.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/ForgotPassword.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/TwoFactorSms.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/TwoFactorApp.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/two_factor_email.module.sass?b6a8","webpack://hover-mainsite/./app/webpacker/src/checkout/components/TwoFactorEmail.jsx","webpack://hover-mainsite/./app/webpacker/src/checkout/components/TwoFactorRecovery.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/AccountForm.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/StandAloneTosForm.js","webpack://hover-mainsite/./app/webpacker/src/checkout/containers/AccountStep.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/format.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/RegistrationInfo.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/FormButtons.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/notifyChanges.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/RegistrationForm.js","webpack://hover-mainsite/./app/webpacker/src/checkout/util/eu.js","webpack://hover-mainsite/./app/webpacker/src/checkout/containers/RegistrationStep.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/BillingInfo.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/RadioGroup.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/BillingForm.js","webpack://hover-mainsite/./app/webpacker/src/checkout/containers/BillingStep.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/ConfirmSpinner.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/ConfirmForm.js","webpack://hover-mainsite/./app/webpacker/src/checkout/containers/ConfirmStep.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/TldEuSummary.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/TldInfo.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/TldQuestion.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/ScrollingAgreement.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/CiraAgreement.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/CiraLegalTypeWarning.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/TldFormCira.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/NgoAgreement.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/TldFormNgo.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/TldFormEu.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/TldFormGeneric.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/TldForm.js","webpack://hover-mainsite/./app/webpacker/src/checkout/containers/TldStep.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/MailboxForm.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/MailboxInfo.js","webpack://hover-mainsite/./app/webpacker/src/checkout/containers/MailboxStep.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/ConfirmNavigation.js","webpack://hover-mainsite/./app/webpacker/src/checkout/containers/checkout_accordion.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/UserSelect.jsx","webpack://hover-mainsite/./app/webpacker/src/checkout/components/ShowEmailConfirmation.jsx","webpack://hover-mainsite/./app/webpacker/src/checkout/components/EditEmailConfirmation.jsx","webpack://hover-mainsite/./app/webpacker/src/checkout/components/SigninVerification.jsx","webpack://hover-mainsite/./app/webpacker/src/checkout/containers/SigninMain.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/passwordReset/NewPasswordForm.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/passwordReset/TwoFactorAppForm.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/passwordReset/TwoFactorSmsForm.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/passwordReset/TwoFactorRecoveryForm.js","webpack://hover-mainsite/./app/webpacker/src/checkout/components/passwordReset/BadToken.js","webpack://hover-mainsite/./app/webpacker/src/checkout/containers/PasswordReset.js","webpack://hover-mainsite/./app/webpacker/src/checkout/containers/CheckoutApp.js","webpack://hover-mainsite/./app/webpacker/src/checkout/lookup/filters.js","webpack://hover-mainsite/./app/webpacker/src/checkout/lookup/offer_popup.js","webpack://hover-mainsite/./app/webpacker/src/checkout/lookup/lookup_view.js","webpack://hover-mainsite/./app/webpacker/src/checkout/renew/MiniCart.js","webpack://hover-mainsite/./app/webpacker/src/checkout/store/next_step.js","webpack://hover-mainsite/./app/webpacker/src/elements/aside_help.js","webpack://hover-mainsite/./app/webpacker/src/elements/box.js","webpack://hover-mainsite/./node_modules/lodash/_assignMergeValue.js","webpack://hover-mainsite/./node_modules/lodash/_baseMerge.js","webpack://hover-mainsite/./node_modules/lodash/_baseMergeDeep.js","webpack://hover-mainsite/./node_modules/lodash/_baseValues.js","webpack://hover-mainsite/./node_modules/lodash/_createAssigner.js","webpack://hover-mainsite/./node_modules/lodash/_createFind.js","webpack://hover-mainsite/./node_modules/lodash/_safeGet.js","webpack://hover-mainsite/./node_modules/lodash/find.js","webpack://hover-mainsite/./node_modules/lodash/findIndex.js","webpack://hover-mainsite/./node_modules/lodash/fp/get.js","webpack://hover-mainsite/./node_modules/lodash/includes.js","webpack://hover-mainsite/./node_modules/lodash/isArrayLikeObject.js","webpack://hover-mainsite/./node_modules/lodash/isString.js","webpack://hover-mainsite/./node_modules/lodash/merge.js","webpack://hover-mainsite/./node_modules/lodash/toPlainObject.js","webpack://hover-mainsite/./node_modules/lodash/values.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(self, function() {\nreturn ","import get from \"lodash/get\";\nimport { xhrPost, xhrPut, xhrGet } from \"common/xhr\";\nimport { openPaypal, openApplePay } from \"../braintree\";\nimport * as CheckoutActions from \"../actions/checkout_actions\";\nimport * as SigninActions from \"../actions/signinActions\";\nimport { verifyEmail } from \"email_verification/requests\";\n\nexport default store => next => action => {\n const type = action.type;\n\n const result = next(action);\n if (!action.remote) {\n return result;\n }\n\n switch (type) {\n case \"SIGNIN_REQUEST\": {\n const { username, password, remember, token } = action;\n return handleSigninRequest(username, password, remember, token, store.dispatch);\n }\n\n case \"SUCCESSFUL_SIGNIN\":\n return handleSuccessfulSignin(action.data, store.dispatch);\n\n case \"OPT_IN_NEWSLETTER\":\n return handleOptInNewsletter(action.payload);\n\n case \"CREATE_ACCOUNT\":\n return handleCreateAccount(action.payload, store.dispatch);\n\n case \"AGREE_TO_TERMS\":\n return handleAgreeToTerms(store.dispatch);\n\n case \"SKIP_SIGNIN\":\n return handleSkipSignin(true, store.dispatch);\n\n case \"UNSKIP_SIGNIN\":\n return handleSkipSignin(false, store.dispatch);\n\n case \"SUBMIT_PASSWORD_RECOVERY\":\n return handlePasswordRecovery(action.username, store.dispatch);\n\n case \"SUBMIT_REGISTRATION_DATA\":\n return handleSubmitRegistrationData(action.payload, store.dispatch);\n\n case \"SUBMIT_TLD_DATA\":\n return handleSubmitTldData(action.payload, store.dispatch);\n\n case \"SUBMIT_MAILBOX_DATA\":\n return handleSubmitMailboxData(action.payload, store.dispatch);\n\n case \"SUBMIT_BILLING_DATA\":\n return handleSubmitBillingData(action.payload, store.dispatch);\n\n case \"PP_OPEN\":\n return openPaypal(action.options);\n\n case \"PP_COMPLETED\":\n return handleSubmitPaypalBilling(\n action.payload,\n action.options,\n store.dispatch\n );\n\n case \"AP_OPEN\":\n return openApplePay(action.options);\n\n case \"AP_COMPLETED\":\n return handleSubmitApplePayBilling(\n action.payload,\n action.options,\n store.dispatch\n );\n\n case \"SUBMIT_ORDER\":\n return handleSubmitOrder(action.payload, store.dispatch);\n\n case \"AUTH_2FA_REQUEST\":\n return handleTwoFactorRequest(action.code, store);\n\n case \"RESEND_SMS_REQUEST\":\n return handleResendSms(store.dispatch);\n\n case \"2FA_RECOVERY_REQUEST\":\n return handleTwoFactorRecovery(action.recoveryCode, store.dispatch);\n\n case \"MAIN_SIGNIN_SUCCESS\":\n return handleMainSigninSuccess(action.data, store);\n\n case \"SIGNIN_SUBMIT_VERIFICATON\":\n return handleVerificationRequest(action.payload, store);\n\n case \"INIT_TOKEN_REQUEST\":\n return handleTokenSigninRequest(action.email, store.dispatch);\n\n case \"INIT_RESEND_TOKEN_REQUEST\":\n return handleResendTokenSigninRequest(action.email, store.dispatch);\n\n case \"SUBMIT_TOKEN_REQUEST\":\n return handleSubmitTokenRequest(action.token, store);\n\n case \"INIT_USER_SELECT_REQUEST\":\n return handleInitUserSelectRequest(action.username, store);\n\n default:\n if (process.env.NODE_ENV === \"production\") {\n throw new Error(\"Unknown remote action: \" + JSON.stringify(action));\n } else {\n console.error(\"Unknown remote action:\", action); // eslint-disable-line no-console\n }\n }\n};\n\nfunction handleSigninRequest(username, password, remember, token, dispatch) {\n return xhrPost(\"/signin/auth.json\", { username, password, remember, token })\n .then(data => {\n if (data.status === \"completed\") {\n // i.e., not 2fa\n return Promise.resolve(data);\n } else {\n dispatch(SigninActions.signinResponse(data));\n return Promise.resolve(data);\n }\n })\n .catch(resp => {\n const errors = resp.errors || {\n _error: \"An error occurred. Please try again.\"\n };\n dispatch(\n SigninActions.signinResponse({\n status: \"declined\",\n error: errors._error\n })\n );\n return Promise.resolve({ succeeded: false });\n });\n}\n\nasync function handleTokenSigninRequest(email, dispatch) {\n try {\n const data = await xhrPost(\"/signin/send_signin_token\", { email })\n dispatch(SigninActions.initTokenResponse(data));\n } catch (error) {\n dispatch(SigninActions.setTokenError(error.errors));\n }\n}\n\nasync function handleResendTokenSigninRequest(email, dispatch) {\n try {\n const data = await xhrPost(\"/signin/resend_signin_token\", { email })\n dispatch(SigninActions.initTokenResponse(data));\n } catch (error) {\n dispatch(SigninActions.setTokenError(error.errors));\n }\n}\n\nasync function handleSubmitTokenRequest(token, store) {\n const { email, remember } = store.getState().signin;\n store.dispatch(SigninActions.clearTokenError())\n try {\n const data = await xhrPost(\"/signin/verify_signin_token\", { email, remember, token });\n if (data.status === \"completed\") {\n // i.e., not 2fa\n return Promise.resolve(data);\n } else {\n store.dispatch(SigninActions.signinResponse(data));\n return Promise.resolve(data);\n }\n } catch (error) {\n store.dispatch(SigninActions.setTokenError(error.errors))\n }\n}\n\nasync function handleInitUserSelectRequest(username, store) {\n const { email, remember, token } = store.getState().signin;\n try {\n const data = await xhrPost(\"/signin/select_user\", { username, email, remember, token });\n if (data.status === \"completed\") {\n // i.e., not 2fa\n return Promise.resolve(data);\n } else {\n store.dispatch(SigninActions.signinResponse(data));\n return Promise.resolve(data);\n }\n } catch (error) {\n store.dispatch(SigninActions.setTokenError(error.errors));\n }\n}\n\nfunction handleSuccessfulSignin(data, dispatch) {\n xhrGet(\"/checkout/state.json\").then(data => {\n dispatch(CheckoutActions.refreshCheckoutState(data));\n if (get(data, \"step_data.account.data.mode\") === \"tos\") {\n dispatch(SigninActions.toggleAccountForm());\n }\n dispatch(CheckoutActions.redirectToNextStep());\n return Promise.resolve();\n });\n}\n\nfunction handleTwoFactorRequest(code, store) {\n const { remember } = store.getState().signin;\n return xhrPost(\"/signin/auth2.json\", { code, remember }).catch(err => {\n store.dispatch(\n SigninActions.twoFactorResponse({\n succeeded: false,\n error: err.errors._error\n })\n );\n // If we don't return a rejected promise here, 2FA will try to continue on with\n // MainSigninSuccess. This doesn't allow the user to log in, but it shows an error\n // in the JS console.\n return Promise.reject(err.errors._error)\n });\n}\n\nfunction handleTwoFactorRecovery(recovery_code, dispatch) {\n return xhrPost(\"/signin/auth2.json\", { recovery_code }).catch(resp =>\n dispatch(\n SigninActions.twoFactorRecoveryResponse({\n succeeded: false,\n error: resp.errors._error\n })\n )\n );\n}\n\nfunction handleResendSms(dispatch) {\n return xhrPost(\"/signin/resend_code.json\")\n .then(data => dispatch(SigninActions.resendSmsResponse(data)))\n .catch(() => dispatch(SigninActions.signinRemoteError(\"Could not send code.\")));\n}\n\nfunction handleCreateAccount(accountData, dispatch) {\n return xhrPost(\"/checkout/create_account.json\", { account: accountData })\n .then(data => dispatch(CheckoutActions.refreshCheckoutState(data.checkout)))\n .then(() => dispatch(CheckoutActions.redirectToNextStep()))\n .then(() => dispatch(CheckoutActions.optInNewsletter(accountData.tosValues)))\n .catch(resp => Promise.reject(resp.errors));\n}\n\nfunction handleOptInNewsletter(data) {\n const optInPayload = {\n email_notifications: {\n newsletters: true,\n consent: true,\n tag: \"tos\"\n }\n }\n if (data.newsletter) {\n return xhrPut(\"/api/settings\", optInPayload)\n .catch(resp => Promise.reject(resp.errors));\n }\n}\n\nfunction handleAgreeToTerms(dispatch) {\n return xhrPost(\"/checkout/agree_to_terms.json\")\n .then(data => dispatch(CheckoutActions.refreshCheckoutState(data.checkout)))\n .then(() => dispatch(CheckoutActions.redirectToNextStep()))\n .catch(resp => Promise.reject(resp.errors));\n}\n\nfunction handlePasswordRecovery(username, dispatch) {\n return xhrPost(\"/signin/recover_password.json\", { username })\n .then(response => dispatch(SigninActions.passwordRecoveryResponse(response)))\n .catch(() => dispatch(SigninActions.signinRemoteError(\"Could not send email.\")));\n}\n\nfunction handleSubmitRegistrationData(data, dispatch) {\n return formPost(\"/checkout/save_registration\", { registration: data }, dispatch);\n}\n\nfunction handleSubmitTldData(data, dispatch) {\n return formPost(\"/checkout/save_tld\", data, dispatch);\n}\n\nfunction handleSubmitMailboxData(data, dispatch) {\n return formPost(\"/checkout/save_mailbox\", { mailbox: data }, dispatch);\n}\n\nfunction handleSubmitBillingData(data, dispatch) {\n return formPost(\"/checkout/save_billing\", { billing: data }, dispatch);\n}\n\nfunction handleSubmitPaypalBilling(data, options, dispatch) {\n return formPost(\n \"/checkout/save_paypal_billing\",\n { paypal: { ...data, ...options } },\n dispatch\n );\n}\n\nfunction handleSubmitApplePayBilling(data, options, dispatch) {\n return formPost(\n \"/checkout/save_apple_pay_billing\",\n { apple_pay: { ...data, ...options } },\n dispatch\n );\n}\n\nfunction handleSubmitOrder(data, dispatch) {\n dispatch(CheckoutActions.startLoading());\n return xhrPost(\"/checkout/submit_order\", data)\n .then(response => {\n document.location = response.url;\n })\n .catch(resp => {\n const errors = resp.errors;\n if (errors.page) {\n return xhrGet(\"/checkout/state.json\")\n .then(data => dispatch(CheckoutActions.refreshCheckoutState(data)))\n .then(() => dispatch(CheckoutActions.goto(errors.page, errors)));\n } else {\n return Promise.reject(errors);\n }\n })\n .finally(() => dispatch(CheckoutActions.stopLoading()));\n}\n\nfunction handleSkipSignin(skip, dispatch) {\n return xhrPost(\"/checkout/skip_signin\", { skip })\n .then(data => {\n if (!skip) {\n data.checkout.step_data.account.data.mode = \"signin\";\n }\n return dispatch(CheckoutActions.refreshCheckoutState(data.checkout));\n })\n .then(() => dispatch(CheckoutActions.redirectToNextStep()))\n .catch(() => {\n document.location.href = \"/checkout\";\n });\n}\n\nfunction formPost(url, data, dispatch) {\n dispatch(CheckoutActions.startLoading());\n return xhrPost(url, data)\n .then(response => {\n if (response.redirect) {\n location.href = response.redirect;\n return new Promise(() => {}); // never resolves\n } else if (response.succeeded) {\n return Promise.resolve(response.checkout);\n } else {\n return Promise.reject(response.errors);\n }\n })\n .then(checkout => {\n dispatch(CheckoutActions.refreshCheckoutState(checkout));\n return dispatch(CheckoutActions.redirectToNextStep());\n })\n .catch(resp => {\n if (resp.errors) {\n return Promise.reject(resp.errors);\n } else {\n return Promise.reject({\n _error: \"Unable to communicate with server. Please try again.\"\n });\n }\n })\n .finally(() => dispatch(CheckoutActions.stopLoading()));\n}\n\nfunction handleMainSigninSuccess(data, store) {\n if (data && !data.email_verified && store.getState().signin.verificationEnabled) {\n store.dispatch(SigninActions.showEmailConfirmation({\n email: data.email,\n emailVerified: data.email_verified,\n url: data.url,\n newsletters: data.newsletters\n }));\n } else if (data.url) {\n document.location.href = data.url;\n }\n}\n\nasync function handleVerificationRequest(payload, store) {\n const state = store.getState();\n const { url, ...verification } = {...state.signin.verification, ...payload};\n try {\n await verifyEmail({ code: verification.code, email: verification.email });\n await xhrPut(\"/api/settings\", { ...verification, email_verified: true, tag: \"signin\" });\n // if we're at /signin then we want to go to the checkup page\n if (window.location.href.endsWith(\"/signin\")) {\n window.location.href = \"/control_panel/settings/checkup\";\n } else {\n window.location.href = url;\n }\n } catch (e) {\n const error = e.code || Object.values(e.errors)[0]\n store.dispatch(SigninActions.setVerificationError(error))\n }\n}\n","import { browserHistory } from \"react-router\";\n\nfunction gaTrack(action, label) {\n const ga = window.ga;\n if (ga) {\n const data = {\n hitType: \"event\",\n eventCategory: \"Checkout\",\n eventAction: action,\n eventLabel: label\n };\n\n ga(\"send\", data);\n }\n}\n\nbrowserHistory.listen(location => {\n const ga = window.ga;\n if (ga) {\n ga(\"set\", \"page\", location.pathname);\n ga(\"send\", \"pageview\");\n }\n});\n\nconst trackingMiddleware = () => next => action => {\n const type = action.type;\n\n switch (type) {\n case \"NAVIGATE\":\n gaTrack(\"edit_section\", action.step);\n break;\n\n case \"NOTIFY_ENTERED_STEP\":\n gaTrack(\"entered_step\", action.step);\n break;\n\n case \"SUBMIT_REGISTRATION_DATA\":\n gaTrack(\"submit_form\", \"registration\");\n break;\n\n case \"SUBMIT_TLD_DATA\": {\n const name = action.payload.tld.name.toLowerCase();\n gaTrack(\"submit_form\", \"tld_\" + name);\n break;\n }\n\n case \"SUBMIT_BILLING_DATA\":\n gaTrack(\"submit_form\", \"billing\");\n break;\n\n case \"SUBMIT_ORDER\":\n gaTrack(\"submit_order\");\n break;\n\n case \"SUCCESSFUL_SIGNIN\":\n gaTrack(\"successful_signin\");\n break;\n\n case \"CREATE_ACCOUNT\":\n gaTrack(\"create_account\");\n break;\n\n case \"FORGOT_USERNAME\":\n gaTrack(\"forgot_username\");\n break;\n\n case \"FORGOT_PASSWORD\":\n gaTrack(\"forgot_password\");\n break;\n\n case \"SKIP_SIGNIN\":\n gaTrack(\"skip_signin\");\n break;\n\n case \"UNSKIP_SIGNIN\":\n gaTrack(\"undo_skip_signin\");\n break;\n\n case \"SIGNIN_REMOTE_ERROR\":\n gaTrack(\"signin_remote_error\", action.error);\n break;\n\n case \"CONFIRM_NAVIGATION\":\n gaTrack(\"unsaved_data_dialog\", action.step);\n break;\n\n case \"CANCEL_NAVIGATION\":\n gaTrack(\"unsaved_data_dialog_cancel\");\n break;\n }\n\n return next(action);\n};\n\nexport default trackingMiddleware;\n","import findNextStep from \"../store/next_step.js\";\n\nexport default function createNextStepMiddleware(history) {\n return store => next => action => {\n switch (action.type) {\n case \"REDIRECT_TO_NEXT_STEP\": {\n const state = store.getState();\n const nextStep = findNextStep(state.checkout);\n history.push(`/checkout/${nextStep}`);\n }\n }\n return next(action);\n };\n}\n","import { applyMiddleware } from \"redux\";\nimport { browserHistory } from \"react-router\";\nimport createNextStepMiddleware from \"./nextStepMiddleware\";\nimport remoteActionMiddleware from \"./remote_action_middleware\";\nimport ciraMiddleware from \"./ciraMiddleware\";\nimport navigateMiddleware from \"./navigateMiddleware\";\nimport trackingMiddleware from \"./tracking\";\n\nexport default applyMiddleware(\n remoteActionMiddleware,\n createNextStepMiddleware(browserHistory),\n ciraMiddleware,\n navigateMiddleware,\n trackingMiddleware\n);\n","import { receivedTerms } from \"../actions/ciraActions\";\n\nexport default store => next => action => {\n if (action.type === \"ENTERED_STEP\" && action.payload === \"tld_ca\") {\n const element = document.getElementById(\"cira-terms\");\n if (element) {\n store.dispatch(receivedTerms(element.innerHTML));\n }\n }\n\n return next(action);\n};\n","export function receivedTerms(html) {\n return { type: \"CIRA_RECEIVED_TERMS\", payload: { html } };\n}\n","import { browserHistory } from \"react-router\";\n\nexport default () => next => action => {\n if (action.type === \"NAVIGATE\") {\n const { step, errors } = action;\n browserHistory.push({\n pathname: `/checkout/${step}`,\n state: errors\n });\n }\n\n return next(action);\n};\n","import Immutable from \"immutable\";\n\nfunction Signal() {\n let END_OF_CHAIN = new Object();\n let UPDATE = new Object();\n let actionMap = Immutable.Map();\n\n let obj = { foldp, on, sendAction, endChain: true };\n return obj;\n\n function foldp(update, initialModel, callback) {\n on(UPDATE, function(action) {\n obj.currentModel = update(action, obj.currentModel);\n callback(obj.currentModel);\n });\n\n obj.currentModel = initialModel;\n callback(obj.currentModel);\n }\n\n function sendAction(action) {\n const callbacks = callbacksForAction(action).takeUntil(\n cb => cb === END_OF_CHAIN\n );\n\n if (callbacks.isEmpty()) {\n throw new Error(`Unknown action ${action}`);\n } else {\n callbacks.forEach(callback =>\n callback(action, obj.currentModel, obj.sendAction)\n );\n }\n }\n\n function callbacksForAction(action) {\n const name = action.name;\n const assignedCallbacks = actionMap.get(name);\n const defaultCallbacks = actionMap.get(UPDATE, Immutable.List());\n if (assignedCallbacks && defaultCallbacks) {\n return assignedCallbacks.concat(defaultCallbacks);\n } else if (assignedCallbacks) {\n return assignedCallbacks;\n } else {\n return defaultCallbacks;\n }\n }\n\n function on(actionName, callback, endChain) {\n const originalCallbacks = actionMap.get(actionName, Immutable.List());\n let newCallbacks = originalCallbacks.push(callback);\n if (endChain) {\n newCallbacks = newCallbacks.push(END_OF_CHAIN);\n }\n actionMap = actionMap.set(actionName, newCallbacks);\n }\n}\n\nexport default Signal;\n","import ReactDOM from \"react-dom\";\nimport Immutable from \"immutable\";\n\nimport includes from \"lodash/includes\";\nimport groupBy from \"lodash/groupBy\";\nimport merge from \"lodash/merge\";\n\nimport { h, parseDollarAmount, gaTrackEvent, updateHeaderCartItemCount } from \"h\";\nimport { xhrPost } from \"common/xhr\";\n\nimport Signal from \"./signal\";\nimport { initCart } from \"checkout/reducers/initCart\";\n\nexport default function initDomainLookup(root, data) {\n $(() => {\n let signal = Signal();\n let model = initLookupModel(data);\n\n signal.on(\"requestMoreResults\", requestMoreResults, signal.endChain);\n signal.on(\"updateLookupResults\", updateLookupResults);\n signal.on(\"addToCart\", addToCart);\n signal.on(\"removeFromCart\", removeFromCart, signal.endChain);\n signal.on(\"emptyCart\", emptyCart, signal.endChain);\n signal.on(\"noMoreData\", noMoreData);\n signal.on(\"offerLearnMore\", offerLearnMore, signal.endChain);\n signal.on(\"offerSedo\", offerSedo, signal.endChain);\n signal.on(\"cartUpdated\", updateCartItemCount);\n signal.on(\"toggleCategory\", logToggleCategory);\n\n signal.foldp(update, model, function(newModel) {\n model = newModel;\n renderApp();\n });\n\n if (module.hot) {\n module.hot.accept(\"./lookup_view\", () => {\n renderApp();\n });\n }\n\n signal.sendAction({\n name: \"requestMoreResults\",\n isVoid: true\n });\n\n function track(action, label, value) {\n gaTrackEvent(\"DomainLookup\", action, label, value);\n }\n\n function renderApp() {\n const DomainLookup = require(\"./lookup_view\").default;\n const props = { model: forRendering(model, signal) };\n return ReactDOM.render(h(DomainLookup, props), root);\n }\n\n function requestMoreResults(action, model) {\n if (model.get(\"attempts\") <= 12) {\n $.getJSON(\"/api/lookup\", data.qparams, result => {\n signal.sendAction({\n name: \"updateLookupResults\",\n data: result\n });\n }).fail(() => {\n setTimeout(() => signal.sendAction({ name: \"requestMoreResults\" }), 1000);\n });\n signal.sendAction({ name: \"askedForResults\" });\n } else {\n signal.sendAction({ name: \"noMoreData\" });\n }\n }\n\n async function addToCart(action, model) {\n signal.sendAction({ name: \"startLoading\", items: action.items });\n for (const el of action.items) {\n const name = el;\n const { categoryName } = action;\n const search_key = model.getIn([\"qparams\", \"return_key\"]);\n await xhrPost(\"/cart/add_to_cart\", { name, search_key })\n .then(result => signal.sendAction({ name: \"cartUpdated\", cart: result }))\n .finally(() => signal.sendAction({ name: \"stopLoading\", items: [name] }));\n track(\"add_to_cart\", name);\n track(\"add_to_cart_from_category\", categoryName);\n }\n }\n\n function removeFromCart(action, model) {\n const name = action.items[0];\n const categoryName = action.categoryName;\n signal.sendAction({ name: \"startLoading\", items: [name] });\n $.post(\"/cart/remove_cart\", { name }, result => {\n signal.sendAction({ name: \"cartUpdated\", cart: result });\n signal.sendAction({ name: \"stopLoading\", items: [name] });\n });\n track(\"remove_from_cart\", name);\n track(\"remove_from_cart_from_category\", categoryName);\n }\n\n function emptyCart(_action) {\n $.post(\"/cart/empty_cart\", cart =>\n signal.sendAction({ name: \"cartUpdated\", cart })\n );\n track(\"empty_cart\", \"emptyCart\");\n }\n\n function noMoreData(_action, model) {\n setTimeout(() => signal.sendAction({ name: \"removeProgressBar\" }), 3000);\n\n if (model.getIn([\"progress\", \"count\"], 0) === 0) {\n const qparams = model.get(\"qparams\").toJS();\n $.post(\"/lookup/dump_log\", qparams);\n }\n }\n\n function updateLookupResults(action) {\n if (action.data.complete) {\n setTimeout(() => signal.sendAction({ name: \"noMoreData\" }), 100);\n } else {\n setTimeout(() => signal.sendAction({ name: \"requestMoreResults\" }), 1000);\n }\n }\n\n function offerLearnMore(action) {\n setTimeout(() => {\n track(\"click_domainagents_modal\", action.domainName);\n document.location.href = `http://domainagents.com/affiliate.php?domain=${\n action.domainName\n }&code=hover`;\n }, 100);\n }\n\n function offerSedo(action) {\n if (action.sedoPartnerUrl) {\n const url = action.sedoPartnerUrl.replace(\"{domain}\", action.domainName);\n setTimeout(() => {\n track(\"click_sedo_modal\", action.domainName);\n document.location.href = url;\n }, 100);\n }\n }\n\n function updateCartItemCount(action) {\n updateHeaderCartItemCount(action.cart.cart.length);\n }\n\n function logToggleCategory(action, model) {\n const id = action.id;\n const category = model.get(\"categories\").find(c => c.get(\"id\") == id);\n const categoryName = category ? category.get(\"title\") : String(id);\n\n if (action.checked) {\n track(\"toggle_category_on\", categoryName);\n } else {\n track(\"toggle_category_off\", categoryName);\n }\n }\n });\n}\n\nconst filterAll = Immutable.Set([\"all\"]);\n\nfunction update(action, model) {\n switch (action.name) {\n case \"startLoading\":\n return model.set(\"loading\", buildLoadingObject(model, action.items));\n case \"stopLoading\":\n return model.set(\"loading\", buildLoadingObject(model, action.items, false));\n case \"askedForResults\":\n return model.update(\"attempts\", n => n + 1);\n case \"updateLookupResults\":\n return updateResults(action.data, model);\n case \"cartUpdated\":\n return updateCart(action.cart, model);\n case \"noMoreData\":\n return finalizeLookup(model);\n case \"toggleCategory\":\n return model.update(\"filters\", toggleCategory(action.id));\n case \"removeProgressBar\":\n return model.setIn([\"progress\", \"hidden\"], true);\n case \"openOfferDialog\":\n return model.set(\"offerDialog\", true).set(\"offerDomain\", action.domain);\n case \"closeOfferDialog\":\n return model\n .set(\"offerDialog\", false)\n .set(\"sedoDialog\", false)\n .set(\"offerDoman\", null);\n case \"openSedoDialog\":\n return model.set(\"sedoDialog\", true).set(\"offerDomain\", action.domain);\n\n default:\n return model;\n }\n\n function updateCart(cart, model) {\n return model.withMutations(m => {\n m.set(\"cart\", Immutable.fromJS(initCart(cart)));\n });\n }\n\n function updateResults(result, model) {\n result = mergeResults(result, model);\n const groupedResults = Immutable.fromJS(groupResults(result));\n const premiumKnown =\n model.getIn([\"progress\", \"premiumKnown\"]) || result.has_premium;\n const exactMatchTaken =\n !result.keywords &&\n ((premiumKnown || result.complete) && result.exact_known) &&\n !result.exact;\n const progress = Immutable.fromJS({\n count: result.count,\n max: result.estimated_max_results,\n premiumKnown: premiumKnown,\n exactMatchTaken: exactMatchTaken,\n exactMatchBlocked: result.exact_blocked,\n registryPresumedDown: isRegistryDown(),\n domainAgents: result.domain_agents,\n makeOffers: result.make_offers,\n query: result.query\n });\n\n return model\n .set(\"groupedResults\", groupedResults)\n .set(\"error\", result.error)\n .mergeIn([\"progress\"], progress);\n\n function isRegistryDown() {\n if (lookupInProgress) return false;\n\n const lookupInProgress = model.get(\"lookupInProgress\", false);\n const exact = model.getIn([\"qparams\", \"exact_search\"]);\n return includes(result.undertermined, exact);\n }\n }\n\n function finalizeLookup(model) {\n if (model.getIn([\"progress\", \"count\"], 0) === 0) {\n const error = \"Sorry! There was a problem finding suggestions for you.\";\n model = model.set(\"error\", error);\n }\n return model.set(\"lookupInProgress\", false);\n }\n\n function toggleCategory(id) {\n return function(filterSet) {\n if (id === \"all\") {\n // Turning on \"all\" clears all other checkboxes.\n // Turning off \"all\" has no effect.\n return filterAll;\n } else if (filterSet.includes(id) && filterSet.count() === 1) {\n // Turning off last checked box turns on \"all\"\n return filterAll;\n } else if (!filterSet.includes(id)) {\n return filterSet.add(id).delete(\"all\");\n } else {\n return filterSet.delete(id);\n }\n };\n }\n}\n\nexport function buildLoadingObject(model, items, isLoading = true) {\n return items.reduce(\n (acc, i) => ({ ...acc, [i]: isLoading }),\n model.toJS().loading\n );\n}\n\nfunction forRendering(model, signal) {\n return addMissingExactMatch(\n markPriceLimit(markInCart(model).set(\"sendAction\", signal.sendAction))\n );\n\n function markInCart(model) {\n const cart = model.get(\"cart\");\n const itemsInCart = cart\n .get(\"items\")\n .map(item => item.get(\"name\"))\n .toSet();\n\n return model.update(\"groupedResults\", groupedResults => {\n return groupedResults.map(cat => {\n return cat.map(item => {\n if (itemsInCart.includes(item.get(\"domain\"))) {\n return item.set(\"inCart\", true);\n } else {\n return item;\n }\n });\n });\n });\n }\n\n function markPriceLimit(model) {\n const priceLimit = model.get(\"priceLimit\");\n if (!priceLimit) {\n return model;\n }\n return model.update(\"groupedResults\", groupedResults => {\n return groupedResults.map(cat => {\n return cat.map(item => {\n const newPrice = item.get(\"price\");\n const amount = parseDollarAmount(newPrice);\n if (amount > priceLimit) {\n return item.set(\"expensive\", true);\n } else {\n return item;\n }\n });\n });\n });\n }\n\n function addMissingExactMatch(model) {\n if (shouldAddMissingExact(model)) {\n return model.update(\"groupedResults\", groupedResults => {\n return groupedResults.set(\"exact\", exactMatchHit(model));\n });\n } else {\n return model;\n }\n }\n\n function exactMatchHit(model) {\n return Immutable.fromJS([\n {\n domain: model.getIn([\"progress\", \"query\"]),\n status: \"taken\"\n }\n ]);\n }\n}\n\nexport function shouldAddMissingExact(model) {\n if (model.get(\"results\").size == 0) return false;\n const exactMatchBlocked = model.getIn([\"progress\", \"exactMatchBlocked\"]);\n const exactMatchTaken = model.getIn([\"progress\", \"exactMatchTaken\"]);\n return exactMatchTaken && !exactMatchBlocked;\n}\n\nfunction initLookupModel(data) {\n return Immutable.fromJS({\n results: data.results,\n groupedResults: groupResults(data.results),\n categories: initCategories(data.categories),\n integration: data.integration,\n numRegistries: data.numRegistries,\n cart: Immutable.fromJS(initCart(data.cart)),\n qparams: data.qparams,\n lookupInProgress: true,\n progress: {\n count: data.results.results.length,\n max: data.results.estimated_max_results\n },\n loading: {},\n filters: Immutable.Set([\"all\"]),\n modalDialogHtml: $(\".domainagents\").html(),\n offerDialog: false,\n sedoDialog: false,\n sedoPartnerUrl: data.sedo_partner_url,\n priceLimit: data.price_limit,\n attempts: 0\n });\n\n function initCategories(categories) {\n let list = categories.map(cat => ({\n id: cat[0].toString(),\n title: cat[1]\n }));\n return Immutable.fromJS(list);\n }\n}\n\nfunction mergeResults(result, model) {\n if (!model.get(\"groupedResults\")) {\n return result;\n }\n const incomingDomainNames = new Set(result.results.map(r => r.domain));\n const currentHits = [].concat(\n ...Object.values(model.get(\"groupedResults\").toJS())\n );\n const toKeep = currentHits.filter(r => !incomingDomainNames.has(r.domain));\n const mergedResults = Immutable.fromJS(toKeep).concat(result.results);\n return Immutable.fromJS(result)\n .set(\"results\", mergedResults)\n .set(\"count\", mergedResults.count())\n .toJS();\n}\n\nfunction groupResults(result) {\n const allHits = recategorizeHits(result)\n .sort(byRank)\n .sort(byFree);\n return groupBy(allHits, hit => hit.get(\"categoryId\"));\n}\n\nfunction byRank(a, b) {\n const arank = a.get(\"categoryRank\");\n const brank = b.get(\"categoryRank\");\n return arank - brank;\n}\n\nfunction byFree(a, b) {\n if (isFree(a.get(\"price\")) && !isFree(b.get(\"price\"))) {\n return -1;\n } else if (isFree(!a.get(\"price\")) && isFree(b.get(\"price\"))) {\n return 1;\n } else {\n return 0;\n }\n}\n\nfunction isFree(val) {\n return val === \"$0.00\" || val === \"$0\" ? true : false;\n}\n\nfunction recategorizeHits(result) {\n const results = result.results;\n const keywords = handleKeyWords(result.keywords);\n const hasExact = hasExactHit(results);\n const hasComKey = hasComKeyHit(keywords, results);\n const query = result.query;\n const bundleTlds = result.bundle_tlds;\n return results.map(hit =>\n Immutable.Map(hit).merge(recategorize(hit, hasExact, hasComKey))\n );\n\n function recategorize(hit, hasExact, hasComKey) {\n const rank = hit.search_category_rank;\n const type = hit.result_type;\n const name = hit.domain;\n const isComKey = (keywords, name) =>\n keywords.join(\"\") === name.replace(\".com\", \"\");\n const isTldTail = (keywords, name) =>\n keywords.join(\"\") === name.replace(\".\", \"\");\n if (hit.is_exact) {\n return { categoryId: \"exact\", categoryRank: rank };\n } else if (!hasExact && isComKey(keywords, name)) {\n return { categoryId: \"exact\", categoryRank: 0 };\n } else if (!hasExact && !hasComKey && isTldTail(keywords, name)) {\n return { categoryId: \"exact\", categoryRank: 0 };\n } else if (canBundle(bundleTlds, keywords, name, query, type)) {\n return { categoryId: \"top\", categoryRank: 0 };\n } else if (type === \"best_match\" || type === \"top_pick\") {\n return { categoryId: \"top\", categoryRank: rank };\n } else if (hit.partner_promotion && type !== \"supplementary\") {\n return { categoryId: \"top\", categoryRank: hit.partner_position };\n } else {\n return { categoryId: hit.search_category_id, categoryRank: rank };\n }\n }\n}\n\nfunction canBundle(bundleTlds, keywords, name, query, type) {\n if (!isSuitableTopType(type)) {\n return false;\n } else\n return (\n bundleTlds.some(tld => name.endsWith(tld)) &&\n isSuitableTopType(type) &&\n isSuitableDomain(keywords, name, query)\n );\n}\n\nfunction isSuitableDomain(keywords, name, query) {\n const sld = name.split(\".\")[0];\n if (keywords.length > 0) {\n return keywords.includes(sld) || keywords.join(\"\") === sld;\n } else {\n return query.split(\".\")[0] === sld;\n }\n}\n\nfunction isSuitableTopType(type) {\n return type !== \"supplementary\" && type !== \"premium_make_offer\";\n}\n\nfunction handleKeyWords(keywords) {\n if (!keywords) {\n return [];\n } else {\n return Array.isArray(keywords) ? keywords : keywords.split(\" \");\n }\n}\n\nfunction hasExactHit(results) {\n return !!results.find(hit => hit.is_exact);\n}\n\nfunction hasComKeyHit(keywords, results) {\n if (keywords.length === 0) {\n return false;\n }\n return !!results.find(hit => keywords.includes(hit.domain.replace(\".com\", \"\")));\n}\n","import initLookup from \"./lookup/domain_lookup\";\n\nexport default initLookup;\n","import R from \"ramda\";\n\nfunction initCart(data) {\n return {\n items: initCartItems(data.cart),\n subtotal: data.net_subtotal,\n icannFee: data.icann_fee,\n discounts: data.discounts || [],\n partner: data.partner,\n primaryItem: data.primary_item,\n canEnterPromoCode: data.can_enter_promo_code,\n total: data.total,\n exploded: data.exploded\n };\n}\n\nfunction initCartItems(items) {\n return items.map((item, n) => ({\n name: item.name,\n bundle: item.bundle,\n price: item.net_price,\n renew_amount: item.renew_amount,\n components: initComponents(item.components),\n position: n + 1\n }));\n}\n\nconst initComponents = R.compose(R.map(fixAmount), markInstantSavings);\n\nfunction fixAmount(c) {\n return R.merge(c, { amount: c.net_amount || c.amount });\n}\n\nfunction markInstantSavings(components) {\n const END = {};\n const pairs = R.zip(components, R.append(END, R.tail(components)));\n const markComponent = ([c1, c2]) => {\n if (c2.id === \"instant_savings\") {\n c1.instant_savings = c2.amount;\n }\n return c1;\n };\n\n return R.map(markComponent, pairs);\n}\n\nexport default initCart;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport CPToolTip from \"cp/tooltip/Tooltip\";\nexport default function Tooltip({ onShow, tooltip }) {\n return (\n <span className=\"tip form-tip\">\n <CPToolTip afterShow={onShow} id={name} text={tooltip}>\n <i className=\"fas fa-info-circle\"/>\n </CPToolTip>\n </span>\n )\n}\n\nTooltip.propTypes = {\n onShow: PropTypes.func,\n tooltip: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired\n}\n\nexport function TieredPriceInfoToolTip({ name }) {\n const msg =\n \"Tiered price domains are priced differently by the registry, \" +\n \"so the renewal price may be higher or lower \" +\n \"than our regular price.\";\n return (\n <span className=\"tip\">\n <CPToolTip id={name + \"tiered-price\"} text={msg} className=\"lookup-inner\">\n <i className=\"fas fa-info-circle\"/>\n </CPToolTip>\n </span>\n )\n}\n\nTieredPriceInfoToolTip.propTypes = {\n name: PropTypes.string.isRequired\n}\n","import c from \"classnames\";\nimport { h } from \"h\";\n\nfunction Input({\n id,\n className,\n type,\n value,\n onChange,\n onBlur,\n placeholder,\n errorMessage,\n confirmed,\n children\n}) {\n const error = !!errorMessage;\n return h(\"div\", [\n h(\".text_field\", { className: c({ error, confirmed }) }, [\n h(\"input\", {\n id,\n className,\n type,\n value,\n onChange,\n onBlur,\n placeholder,\n autoComplete: \"off\",\n autoCorrect: \"off\",\n autoCapitalize: \"off\",\n spellCheck: \"false\"\n })\n ]),\n errorMessage && h(\".error_msg\", errorMessage),\n children\n ]);\n}\n\nexport default Input;\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport c from \"classnames\";\nimport h from \"h\";\n\nimport { BoxItem } from \"../../elements/box\";\nimport Input from \"./input\";\n\nfunction AuthCode({ item, strict, actions }) {\n const registrar = item.components[0].losing_registrar;\n //const help = item.components[0].auth_code_help;\n const authCode = item.components[0].auth_code || \"\";\n const notice = h(\".notice\", [\n h(\"em\", \"Authorization Code\"),\n `: In order for us to transfer your domain to Hover from ${registrar}, `,\n `you will need to enter your authorization code assigned to your domain by ${registrar}.`\n // linkToTargetBlank(\"Need help?\", help)\n ]);\n\n return h(BoxItem, { className: \"auth_code\" }, [\n h(\".auth_code\", [notice, h(AuthCodeForm, { item, authCode, strict, actions })])\n ]);\n}\n\nclass AuthCodeForm extends React.Component {\n static propTypes = {\n item: PropTypes.object.isRequired,\n authCode: PropTypes.string,\n strict: PropTypes.bool.isRequired\n };\n\n state = {\n authCode: this.props.authCode,\n dirty: false\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (this.props.authCode !== nextProps.authCode) {\n this.setState({ dirty: false, authCode: nextProps.authCode });\n }\n }\n\n render() {\n return h(\n \"form.valign.validate.auth_code\",\n { onSubmit: this.onSubmit },\n this.items()\n );\n }\n\n items = () => {\n const error = this.error();\n const confirmed = this.confirmed();\n const props = {\n className: c({ confirmed }),\n type: \"text\",\n placeholder: \"Enter auth code\",\n value: this.state.authCode,\n onChange: e => this.setState({ authCode: e.target.value, dirty: true }),\n onBlur: () => this.setState({ dirty: true }),\n errorMessage: error,\n confirmed: confirmed\n };\n\n return h(Input, props, [\n !confirmed &&\n !error &&\n h(\"button.btn\", { className: this.state.dirty ? \"primary\" : \"\" }, \"Submit\")\n ]);\n };\n\n confirmed = () => {\n return this.state.authCode == this.props.authCode && !!this.state.authCode;\n };\n\n error = () => {\n if ((this.state.dirty || this.props.strict) && !this.state.authCode) {\n return \"Auth code is required\";\n } else {\n return null;\n }\n };\n\n onSubmit = e => {\n e.preventDefault();\n this.setState({ dirty: true }, () => {\n if (!this.error()) {\n this.props.actions.changeAuthCode(this.props.item, this.state.authCode);\n }\n });\n };\n}\n\nexport default AuthCode;\n","// extracted by mini-css-extract-plugin\nexport default {\"term_line\":\"SzrS4afJti7I+2J+032VLQ==\",\"subscription_term_line\":\"sLtKnulzOw6fT+X9bJcYTA==\",\"term_right\":\"MKZfKNGqg+fL6s6WUKNoVw==\",\"mailbox\":\"DzEqHsf-LE1kd+ozPS7iww==\",\"mailbox_item\":\"oxuKNhZkgQ3rIvIxdT1N2w==\",\"instant_savings\":\"_4zIDQKaGV56Grm-QHDm-1A==\",\"instant_savings_label\":\"hQkkEUGZlx1acR12a48feg==\",\"cost\":\"_4gPUg-Sy2aG-gNW3ZQz4-Q==\",\"amount\":\"taKWVaf1PUGRcGwIkWJagg==\",\"instant_savings_amount\":\"-K18Gx5ecKRTGRgpDIm-MQ==\",\"control\":\"_6DdiYShCLd-0S+0sTyrUzw==\",\"label\":\"_0eRAb2NJ9zDpGUSTujLjfA==\",\"note\":\"lFAi29-wVEBH+rdsGx9Ybw==\",\"star\":\"_26y6hjkkQ41m8S8AH4nsTA==\",\"compare_link\":\"_2-vIHiiKNQ1qJhOZ58vjZw==\",\"bundle_offer_label\":\"e9R24deLnW458mYm6z4CFg==\",\"text_orange\":\"WJnNf-zRLeQvpMgP275Ppg==\",\"strike_out_price\":\"zjWyBaZO70hG5m9MCby7NQ==\",\"term_label\":\"XZX+4ui7OjPCBGGJDtHxZw==\",\"tagline\":\"E+qxgG2Fxv60bnT1cHQnjg==\",\"quantity\":\"ZtLx0YthfzR5ieEdOkB5aA==\"};","// extracted by mini-css-extract-plugin\nexport default {\"number_control\":\"NsHinsVrfZ+-NX8gphlAHA==\",\"disabled\":\"ZNXbTEDkaQh77MmsR66O+w==\",\"display_text\":\"u9BHXE2zdfoVLVnpdLZm0A==\",\"display_text_wide\":\"_0gikN9Hiwzao5ijaBQWCrA==\"};","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport c from \"classnames\";\nimport styles from \"./number_selector.module.sass\";\nimport { pluralize, fasIcon } from \"h\";\n\nconst defaultIncrement = (n) => n + 1;\nconst defaultDecrement = (n) => n - 1;\n\n/**\n * Decrement value from given options.\n *\n * @param n {Number}\n * @param options {Number[]}\n * @return {Number}\n */\nconst decrementFromOptions = function(n, options) {\n const currOptPos = options.indexOf(n);\n\n // if it's the first option\n if (currOptPos == 0) {\n return n;\n } else if (currOptPos == -1) { // option is not found -- edge case\n return options[0]; // return first option\n }\n\n return options[currOptPos - 1];\n};\n\n/**\n * Increment value from given options.\n *\n * @param n {Number}\n * @param options {Number[]}\n * @return {Number}\n */\nconst incrementFromOptions = function(n, options) {\n const currOptPos = options.indexOf(n);\n\n // if it's the last option\n if (currOptPos == (options.length - 1)) {\n return n;\n } else if (currOptPos == -1) { // option is not found -- edge case\n return options[options.length - 1]; // return last option\n }\n\n return options[currOptPos + 1];\n};\n\n/**\n * @param func {Function}\n * @param getNext {Function<Number, Number[]>} Invoked with `val` & `options`\n * @param canChange {Function<Number>}\n * @param val {Number} Passed to `getNext` handler\n * @param options {Number[]} Passed to `getNext` handler\n * @param wait {Number} Wait period in milliseconds\n */\nconst debounce = (func, getNext, canChange, val, options, wait = 250) => {\n let timeout;\n let num = val;\n\n return function executedFunction() {\n const later = () => {\n timeout = null;\n if(canChange(num)){\n num = getNext(num, options);\n func(num);\n }\n };\n\n clearTimeout(timeout);\n\n timeout = setTimeout(later, wait);\n };\n};\n\n// changeHandler : Int -> Any\nfunction NumberSelector({\n changeHandler,\n className,\n decrement = defaultDecrement,\n disabled = false,\n increment = defaultIncrement,\n max,\n min,\n options = [],\n text,\n value\n}) {\n const canIncrement = (value) => value < max && !disabled;\n const canDecrement = (value) => value > min && !disabled;\n\n if (options && options.length > 0) {\n increment = incrementFromOptions;\n decrement = decrementFromOptions;\n }\n\n const onIncrement = debounce(changeHandler, increment, canIncrement, value, options);\n const onDecrement = debounce(changeHandler, decrement, canDecrement, value, options);\n\n const displayText = text ? pluralize(value, \"Year\", \"Years\") : value;\n\n return (\n <div className={c(\"number_selector\", className)}>\n <span\n data-testid=\"dec\"\n className={c(\"num-dec\", styles.number_control, {\n [styles.disabled]: !canDecrement(value),\n disabled: disabled || !canDecrement(value),\n })}\n onClick={onDecrement}\n >\n {fasIcon(\"minus\")}\n </span>\n <span className={c(\"num-count\", styles.display_text, {[styles.display_text_wide]: text})}>{displayText}</span>\n <span\n data-testid=\"inc\"\n className={c(\"num-inc\", styles.number_control, {\n [styles.disabled]: !canIncrement(value),\n disabled: disabled || !canIncrement(value),\n })}\n onClick={onIncrement}\n >\n {fasIcon(\"plus\")}\n </span>\n </div>\n );\n}\n\nNumberSelector.propTypes = {\n changeHandler: PropTypes.func.isRequired,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n max: PropTypes.number.isRequired,\n min: PropTypes.number.isRequired,\n options: PropTypes.arrayOf(PropTypes.number),\n text: PropTypes.string,\n value: PropTypes.number.isRequired,\n};\n\nexport default NumberSelector;\n","import React, { useReducer } from \"react\";\nimport R from \"ramda\";\nimport c from \"classnames\";\nimport { h, pluralize, fasIcon, numberToCurrency, fromHTML } from \"@/h\";\n\nimport { Box, BoxItem } from \"../../elements/box\";\nimport Tooltip from \"../form/Tooltip\";\nimport { TieredPriceInfoToolTip } from \"../form/Tooltip\";\nimport AuthCode from \"./AuthCodeForm\";\nimport styles from \"./cart_item_view.module.sass\";\nimport NumberSelector from \"./NumberSelector\";\n\nfunction cartItemTitle(item) {\n const premiumType = item.components[0].premium_type;\n const className = cartItemTitleClass(premiumType);\n\n return (\n <div>\n <span className={c(\"cart_item_name\", className)}>{item.name}</span>\n {item.bundle && <span className={styles.bundle_offer_label}>Bundle offer</span>}\n </div>\n );\n}\n\nfunction cartItemTitleClass(premiumType) {\n switch (premiumType) {\n case \"registry\":\n return \"tiered_price\";\n case \"premium\":\n case \"aftermarket\":\n return \"premium\";\n default:\n return \"\";\n }\n}\n\nfunction NewCartItemView(props) {\n const { item, loading, strict } = props;\n const { instantSavingsPromo, isPrimary, showPrimaryToggle, partner, disabled } = props;\n const { emailHighlight, actions } = props;\n\n const itemType = item.components[0].description;\n const regType = item.components[0].reg_type;\n const componentType = item.components[0].type;\n\n const items1 = headItems();\n if (items1 == null) {\n /* eslint-disable no-console */\n console.error(\"Can't build components for\", itemType);\n return <div></div>;\n }\n\n const items2 = emailItems();\n\n const boxProps = {\n key: `${item.name}-cart-item`,\n className: c({ loading: loading(item.name) }),\n title: cartItemTitle(item),\n onClose: () => actions.removeCartItem(item),\n };\n\n const item3 = <WhoisPrivacy item={props.item} actions={props.actions} />;\n\n return buildBox();\n\n function buildBox() {\n if(componentType === \"subscription\") {\n return (\n <Box {...boxProps}>\n {items1}\n </Box>\n );\n }\n return (\n <Box {...boxProps}>\n {items1}\n {items2}\n {item3}\n </Box>\n );\n }\n\n function headItems() {\n switch (itemType) {\n case \"registration\":\n case \"bundle\":\n return RegistrationComponents({\n item,\n showPrimaryToggle,\n isPrimary,\n partner,\n actions,\n });\n case \"personal name\":\n return SurnameComponents({ item, actions });\n case \"renewal\":\n return RenewalComponents({ item, actions });\n case \"transfer\":\n return TransferComponents({ item, strict, actions });\n case \"upgrade\":\n return MailboxUpgradeComponents({ item, actions });\n case \"email\":\n return [];\n case \"account_funding\":\n return [AccountBalanceComponent({ item })];\n case \"Realnames Email\":\n return SubscriptionRealnamesComponent({item, actions});\n default:\n return null;\n }\n }\n\n function emailItems() {\n if (itemType === \"personal name\") {\n return [personalNameEmailComponents()];\n } else if (itemType === \"renewal\" && regType === \"surname\") {\n return [readOnlyPersonalNameComponents()];\n } else if (itemType === \"upgrade\" || itemType === \"account_funding\") {\n return [];\n }\n\n let promoMessage = null,\n toggleButton = null;\n\n if (itemType === \"registration\" && isPrimary) {\n const className = c(\"toggle\", \"highlight-before\");\n toggleButton = (\n <BoxItem className={className}>\n <span className=\"show_email\">\n {fasIcon(\"envelope-o\")}\n <span className=\"sc\">\n {`One email forward has been added to this domain (required for ${partner})`}\n </span>\n </span>\n </BoxItem>\n );\n }\n\n const mailboxes =\n itemType === \"personal name\"\n ? personalNameEmailComponents()\n : mailboxComponents();\n\n return (\n <React.Fragment>\n {promoMessage}\n {proratedMessage(item)}\n {toggleButton}\n {mailboxes}\n </React.Fragment>\n );\n }\n\n function highlightType(n, len) {\n if (!emailHighlight) {\n return;\n } else if (n == 0) {\n return \"highlight highlight-first\";\n } else if (n == len - 1) {\n return \"highlight highlight-last\";\n } else {\n return \"highlight\";\n }\n }\n\n function mailboxComponents() {\n const cs = R.filter(\n R.propSatisfies((id) => isEmailComponentId(id), \"id\"),\n item.components\n );\n if (cs.length == 0) {\n return null;\n }\n const eachComponent = (component, idx) => {\n const highlight = highlightType(idx, cs.length);\n const key =\n component.id === \"email\"\n ? `${item.name}-${component.mailbox_type}`\n : `${item.name}-${component.id}-${idx}`;\n if (isPrimary && component.num_emails === 0) {\n return null;\n } else if (isPrimary) {\n return (\n <MailboxComponent\n key={key}\n item={item}\n highlight={highlight}\n component={component}\n actions={actions}\n disabled={true}\n />\n );\n } else {\n return (\n <MailboxComponent\n key={key}\n item={item}\n highlight={highlight}\n component={component}\n actions={actions}\n />\n );\n }\n };\n return (\n <div className={styles.mailbox}>\n <p>\n Email Options{\" \"}\n <a className={styles.compare_link} href=\"/email\">\n Compare\n </a>\n </p>\n {cs.map(eachComponent)}\n </div>\n );\n }\n\n function isEmailComponentId(id) {\n return id == \"email\" || id == \"mailbox_purchase\" || id == \"instant_savings\";\n }\n\n function personalNameEmailComponents() {\n return <PersonalEmailComponent item={item} actions={actions} />;\n }\n\n function readOnlyPersonalNameComponents() {\n return (\n <PersonalEmailComponent item={item} actions={actions} disabled={disabled} />\n );\n }\n}\n\nfunction RegistrationComponents(props) {\n const { item, showPrimaryToggle, actions } = props;\n const label = registrationLabel(item);\n\n if (item.bundle) {\n return (\n <React.Fragment>\n <DomainBundleTermline item={item} actions={actions} label={label} />\n </React.Fragment>\n );\n }\n\n switch (item.components[0].type) {\n case \"registry\":\n case \"premium\":\n return (\n <React.Fragment>\n <PremiumTermLine item={item} actions={actions} label={label} />\n {showPrimaryToggle && h(PrimaryToggleLine, props)}\n </React.Fragment>\n );\n default:\n return (\n <React.Fragment>\n <TermLine item={item} actions={actions} label={label} />\n {showPrimaryToggle && h(PrimaryToggleLine, props)}\n </React.Fragment>\n );\n }\n\n function registrationLabel(item) {\n const component = item.components[0];\n let itemTypeLabel = \"Domain Registration\";\n let afterMarketNote = null;\n let icon = null;\n let note = (item.renew_amount)\n ? `Annual renewal is ${numberToCurrency(item.renew_amount)}.`\n : null;\n\n if (component.type == \"premium\") {\n let iconClass = \"premium_star\";\n note = `Annual renewal is ${numberToCurrency(component.renew_amount)}.`;\n\n switch (component.premium_type) {\n case \"registry\":\n itemTypeLabel = \"Tiered Price Domain Registration\";\n iconClass = \"tiered_price_star\";\n break;\n\n default:\n itemTypeLabel = \"Premium Domain Registration\";\n if (component.premium_type == \"aftermarket\") {\n afterMarketNote = (\n <p>\n This is an aftermarket premium domain purchase. The domain is\n listed for sale by the current owner. <br/>While the majority of\n aftermarket sales complete successfully and within 7 days, transfer\n of the domain to your Hover account is subject to additional checks\n and is not guaranteed.\n </p>\n );\n }\n break;\n }\n\n icon = (\n <span className={c(iconClass, styles.star)}>\n {fasIcon(\"star\")}\n </span>\n );\n }\n\n return (\n <div>\n <div className=\"item-type\">{itemTypeLabel}</div>\n {note && <div className={styles.note}>\n {icon}\n {note}\n {afterMarketNote}\n </div>}\n </div>\n );\n }\n}\n\nfunction SurnameComponents({ item, actions }) {\n if (item.components[0].reg_type == \"opensrs\") {\n return RegistrationComponents({ item, actions });\n } else {\n return (\n <TermLine\n item={item}\n actions={actions}\n label={\"Personal Email Registration\"}\n />\n );\n }\n}\n\nfunction SubscriptionRealnamesComponent({ item, actions }) {\n return (\n <SubscriptionTermLine\n item={item}\n actions={actions}\n label={item.components[0].description}\n />\n )\n}\n\nfunction RenewalComponents({ item, actions }) {\n const label = renewalLabel(item);\n return <TermLine item={item} actions={actions} label={label} />;\n}\n\nfunction renewalLabel(item) {\n if (item.components[0].premium_type == \"registry\") {\n return (\n <span>\n Tiered Price Domain Renewal\n <TieredPriceInfoToolTip />\n </span>\n );\n } else {\n return \"Domain Renewal\";\n }\n}\n\nfunction MailboxUpgradeComponents({ item }) {\n const label = \"Upgrade to Big Mailbox\";\n return (\n <React.Fragment>\n {proratedMessage(item)}\n <BoxItem className=\"term\">\n <div className=\"label\">{label}</div>\n <div className=\"amount\">{item.components[0].amount}</div>\n </BoxItem>\n </React.Fragment>\n );\n}\n\nfunction AccountBalanceComponent({ item }) {\n return (\n <BoxItem>\n <div className=\"label\">Credit</div>\n <div className=\"amount\">{item.price}</div>\n </BoxItem>\n );\n}\n\nfunction proratedMessage(item) {\n const proratedComponent = R.find(R.prop(\"prorated\"), item.components);\n if (proratedComponent) {\n return <BoxItem className=\"prorated\">{proratedComponent.prorated}</BoxItem>;\n }\n}\n\nfunction TransferComponents({ item, strict, actions }) {\n return (\n <React.Fragment>\n <TermLine item={item} actions={actions} label={transferInLabel(item)} />\n <AuthCode item={item} actions={actions} strict={strict} />\n </React.Fragment>\n );\n}\n\nfunction transferInLabel(item) {\n const component = item.components[0];\n if (component.premium_type == \"registry\") {\n const renewalPrice = numberToCurrency(component.renew_amount);\n return (\n <span>\n Tiered Price Transfer In\n <TieredPriceInfoToolTip />\n <span className=\"note\">{`Annual renewal is ${renewalPrice}.`}</span>\n </span>\n );\n } else {\n return \"Transfer In\";\n }\n}\n\nfunction MailboxComponent({ item, actions, highlight, component, disabled }) {\n if (component.id == \"instant_savings\") {\n return InstantSavingsComponent({ item, component });\n }\n\n const numEmails = component.num_emails;\n\n const minEmails = component.minimum || 0;\n const maxEmails = 10;\n\n const controls = (\n <NumberSelector\n changeHandler={(n) => actions.changeMailboxes(item, component, n)}\n className={styles.control}\n disabled={disabled}\n max={maxEmails}\n min={minEmails}\n value={numEmails}\n />\n );\n\n const className = styles.mailbox_item;\n return (\n <div\n className={className}\n data-test-id={`${item.name}-${component.mailbox_type}`}\n >\n <div className={styles.label}>\n <p>\n {component.heading}\n <span\n className={c(\"bold\", styles.cost)}\n >{`$${component.unit_amount} / yr`}</span>\n </p>\n <p className={styles.tagline}>{component.tagline}</p>\n </div>\n <div className={styles.quantity}>\n {controls}\n <div className={styles.amount}>{blankIfZero(component.amount)}</div>\n </div>\n </div>\n );\n}\n\nfunction blankIfZero(amount) {\n if (amount === \"$0.00\") return \"\";\n else return amount;\n}\n\nfunction InstantSavingsComponent({ component }) {\n return (\n <div className={c(\"instant_savings\", styles.instant_savings)}>\n <div className={styles.instant_savings_label}>Instant Savings</div>\n <div className={styles.instant_savings_amount}>{component.amount}</div>\n </div>\n );\n}\n\nfunction PersonalEmailComponent({ item, actions, disabled = false }) {\n const component = item.components[0] || {};\n const numEmails = component.num_emails;\n const minEmails = component.minimum || 0;\n const maxEmails = 10;\n const emailComponent = item.components[item.components.length - 1];\n\n const controls = (\n <NumberSelector\n changeHandler={(n) => actions.changePersonalMailboxes(item, n)}\n className={styles.control}\n disabled={disabled}\n max={maxEmails}\n min={minEmails}\n value={numEmails}\n />\n );\n\n const className = styles.mailbox_item;\n return (\n <div\n className={className}\n data-test-id={`${item.name}-${component.mailbox_type}`}\n >\n <div className={styles.label}>\n <p>\n {component.heading}\n <span\n className={c(\"bold\", styles.cost)}\n >{`$${component.unit_amount} / yr`}</span>\n </p>\n <p className={styles.tagline}>{component.tagline}</p>\n </div>\n <div className={styles.quantity}>\n {controls}\n <div className={styles.amount}>{blankIfZero(component.amount)}</div>\n </div>\n </div>\n );\n}\n\nfunction TermLine({ item, actions, label }) {\n const component = item.components[0];\n const { term, term_options } = component;\n\n const minTerm = Math.min(...term_options);\n const maxTerm = Math.max(...term_options);\n\n return (\n <div className={c(\"term_line\", styles.term_line)}>\n <div className={c(\"label\", styles.term_label)}>{label}</div>\n <div className={styles.term_right}>\n <div className=\"term\">\n <NumberSelector\n changeHandler={(n) => actions.changeTerm(item, n)}\n max={maxTerm}\n min={minTerm}\n options={term_options}\n disabled={!!item.bundle}\n text=\"year\"\n value={term}\n />\n </div>\n <div className={c(\"bold\", \"amount\", styles.amount)}>\n {item.components[0].amount}\n </div>\n </div>\n </div>\n );\n}\n\nfunction DomainBundleTermline({ actions, item, label }) {\n let originalPrice = null;\n\n if (item.components[0].regular_amount != \"$0.00\") {\n originalPrice = (\n <div className={c(styles.strike_out_price)}>\n {item.components[0].regular_amount}\n </div>\n );\n }\n\n return (\n <div className={c(\"term_line\", styles.term_line)}>\n <div className={c(\"label\", styles.term_label)}>{label}</div>\n <div className={styles.term_right}>\n <div className={c(\"bold\")}>\n FOR 1 YEAR\n </div>\n\n <div className={c(\"bold\", styles.amount)}>\n <div className={c(styles.text_orange)}>FREE</div>\n {originalPrice}\n </div>\n </div>\n </div>\n );\n}\n\n// Using `selected` on option tag triggers warning but setting value on root select element\n// as suggested in the docs did not work: https://reactjs.org/docs/forms.html#the-select-tag\nfunction SubscriptionTermLine({ item, actions, label }) {\n const component = item.components[0];\n const { term, term_options } = component;\n const current_option = term_options.find(to => to.plan_id === term);\n return (\n <div className={c(\"term_line\", styles.term_line, styles.subscription_term_line)}>\n <div className={c(\"label\", styles.term_label)}>{label}</div>\n <div className={styles.term_right}>\n <div className=\"term\">\n {current_option.display_option}\n </div>\n <div className={c(\"bold\", \"amount\", styles.amount)}>\n {item.components[0].amount}\n </div>\n </div>\n </div>\n )\n}\n\nfunction PremiumTermLine({ item, actions, label }) {\n return (\n <div className={c(\"term_line\", styles.term_line)}>\n <div className={c(\"label\", styles.term_label)}>{label}</div>\n <div className={styles.term_right}>\n <div className=\"term\"></div>\n <div className={c(\"bold\", \"amount\", styles.amount)}>\n {item.components[0].amount}\n </div>\n </div>\n </div>\n );\n}\n\nfunction Select({ options, name, value, readOnly, onChange }) {\n const optionElements = options.map(({ label, value }) =>\n h(\"option\", { value }, label)\n );\n const select = h(\"select\", { name, value, onChange, readOnly }, optionElements);\n return h(\".selectbox\", select);\n}\n\nclass WhoisPrivacy extends React.Component {\n render() {\n const { item, actions } = this.props;\n const { whois_privacy_unsupported } = item.components[0];\n\n if (whois_privacy_unsupported) {\n return (\n <BoxItem className=\"whois\">\n <div className=\"label\">{whois_privacy_unsupported}</div>\n <div className=\"amount bold\">N/A</div>\n </BoxItem>\n );\n }\n\n const tip = (\n <Tooltip\n id={item.name + \"whois\"}\n tooltip={\n \"WHOIS Privacy keeps your contact information protected from the public WHOIS database.\"\n }\n onShow={() => actions.track(\"show_whois_tooltip\", item.name)}\n />\n );\n\n return (\n <BoxItem className=\"whois\">\n <div className=\"label\">\n {\"WHOIS Privacy\"}\n {tip}\n </div>\n <div className=\"amount bold\">FREE</div>\n </BoxItem>\n );\n }\n}\n\nfunction onOffSlide(htmlId, onChange, checked) {\n const className = c(\"onoff_slide\", checked ? \"is_on\" : \"is_off\");\n return (\n <div className={className}>\n <input type=\"checkbox\" onChange={onChange} checked={checked} id={htmlId} />\n <label htmlFor={htmlId} />\n </div>\n );\n}\n\nfunction PrimaryToggleLine({ item, isPrimary, partner, actions }) {\n const checked = isPrimary;\n const onChange = (e) => actions.changeIsPrimary(item, e.target.checked);\n const htmlId = `isPrimary${item.position}`;\n return (\n <BoxItem className=\"primary-item-toggle\">\n <div className=\"label\">{`Use this domain for ${partner}`}</div>\n <div className=\"toggle\">{onOffSlide(htmlId, onChange, checked)}</div>\n <div className=\"amount\"></div>\n </BoxItem>\n );\n}\n\nexport default NewCartItemView;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport R from \"ramda\";\nimport h from \"h\";\nimport CartItemView from \"./CartItemView\";\n\nclass CartItem extends React.Component {\n static propTypes = {\n item: PropTypes.object.isRequired,\n loading: PropTypes.func.isRequired,\n strict: PropTypes.bool.isRequired,\n instantSavingsPromo: PropTypes.string,\n isPrimary: PropTypes.bool.isRequired,\n showPrimaryToggle: PropTypes.bool.isRequired,\n partner: PropTypes.string,\n actions: PropTypes.object.isRequired\n };\n\n UNSAFE_componentWillReceiveProps(newProps) {\n if (newProps.isPrimary !== this.props.isPrimary) {\n this.setState({ emailShown: !!this.showEmailInitially(newProps) });\n }\n }\n\n showEmailInitially = props => {\n return (\n props.instantSavingsPromo || countMailboxes(props.item) > 0 || props.isPrimary\n );\n };\n\n render() {\n const { item, loading, strict } = this.props;\n const { instantSavingsPromo } = this.props;\n const { isPrimary, showPrimaryToggle, partner } = this.props;\n const { emailShown } = this.state;\n const emailHighlight = emailShown && isPrimary;\n\n return h(CartItemView, {\n item,\n loading,\n strict,\n instantSavingsPromo,\n isPrimary,\n showPrimaryToggle,\n partner,\n emailShown,\n emailHighlight,\n actions: this.props.actions\n });\n }\n\n state = {\n emailShown: true\n };\n}\n\nfunction countMailboxes(item) {\n const counts = R.map(R.prop(\"num_emails\"), item.components);\n return R.sum(R.reject(R.isNil, counts));\n}\n\nexport default CartItem;\n","import h from \"h\";\nimport CartItem from \"./CartItem\";\n\nfunction CartItems({ cart, loading, actions }) {\n const props = {\n loading,\n actions,\n strict: cart.strictValidation || false,\n instantSavingsPromo: cart.instantSavingsPromo\n };\n const showPrimaryToggle = cart.primaryItem !== null && cart.items.length > 1;\n const eachItem = (item, index) => {\n const key = item.name;\n const isPrimary = index === cart.primaryItem;\n const partner = cart.partner;\n\n return h(CartItem, {\n key,\n item,\n partner,\n isPrimary,\n showPrimaryToggle,\n ...props\n });\n };\n return h(\".items\", cart.items.map(eachItem));\n}\n\nexport default CartItems;\n","// extracted by mini-css-extract-plugin\nexport default {\"cart_total_line\":\"_4wpJDQmaGvVmxzG4oYu6fQ==\",\"amount\":\"nuRLCyHLybCy+8zRlcwuBQ==\"};","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport c from \"classnames\";\nimport styles from \"./total_line.module.sass\";\n\nfunction TotalLine({ label, amount, children, className }) {\n return (\n <div className={c(styles.cart_total_line, className)}>\n {label}\n {amount && <span className={styles.amount}>{amount}</span>}\n {children}\n </div>\n );\n}\n\nTotalLine.propTypes = {\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n amount: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nexport default React.memo(TotalLine);\n","// extracted by mini-css-extract-plugin\nexport default {\"total\":\"u6fRJdPlOQ5jTT0Lo40xSg==\",\"total_amount\":\"rHHSvIavQ8A6I4EkTanejA==\",\"submit\":\"BSjPMT46eC82Shd7xailFw==\",\"note\":\"Jo9kkP039ohsCmRjIo6QpQ==\",\"remove_promo\":\"nyJTLA9iZySBBGYbLC77-w==\",\"promo\":\"uy3j-O8GbrekQj8SGuoBKQ==\",\"empty_cart\":\"UddN2ewKx8EqOPBi3HdSoA==\",\"error_container\":\"_1jGfMYEPCKSmueqRwwoh5g==\",\"cart_totals\":\"QVf9YP+fm1NakD9iDBf3VQ==\",\"promo_code\":\"ngs0VEeJauDarigDbEBC-A==\"};","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport c from \"classnames\";\nimport Input from \"./input\";\nimport ErrorContainer from \"../form/ErrorContainer\";\nimport styles from \"./cart_totals.module.sass\";\n\nfunction PromoCodeForm(props) {\n if (!props.cart.canEnterPromoCode) {\n return null;\n }\n const { serverError } = props.cart;\n const [state, setState] = useState({\n isOpen: false || !!serverError,\n dirty: false,\n promoCode: \"\",\n });\n const openForm = () => setState({ isOpen: true, dirty: false, promoCode: \"\" });\n const onSubmit = (e) => {\n e.preventDefault();\n if (state.promoCode === \"\") return;\n props.actions.applyPromoCode(state.promoCode);\n };\n\n const { isOpen, dirty, promoCode } = state;\n const confirmed = !dirty && !serverError && promoCode != \"\";\n if (isOpen) {\n const error = dirty && serverError ? serverError : null;\n const inputProps = {\n id: \"promo_code_input\",\n type: \"text\",\n value: promoCode,\n onChange: (e) => {\n setState({\n ...state,\n promoCode: e.target.value,\n dirty: true\n });\n props.actions.changeServerError(null)\n },\n onBlur: () => setState({ ...state, dirty: true }),\n autoFocus: true,\n confirmed\n };\n const field = {\n error: serverError,\n isReady: confirmed\n }\n const buttonClass = c(\"btn\", { primary: dirty && !!promoCode });\n return (\n <div className={styles.promo_code}>\n <form className=\"valign validate\" onSubmit={onSubmit}>\n <ErrorContainer field={field} showReady={false} innerClass={styles.error_container}>\n <Input {...inputProps}>\n </Input>\n <button className={buttonClass} disabled={serverError}>Apply</button>\n </ErrorContainer>\n </form>\n </div>\n );\n } else {\n return (\n <div className={styles.promo_code}>\n <button className=\"btn-link\" onClick={openForm}>\n Add Promo Code\n </button>\n </div>\n );\n }\n}\n\nPromoCodeForm.propTypes = {\n cart: PropTypes.object.isRequired,\n actions: PropTypes.object.isRequired,\n};\n\nexport default PromoCodeForm;\n","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport R from \"ramda\";\nimport c from \"classnames\";\nimport { fasIcon } from \"h\";\nimport TotalLine from \"./TotalLine\";\nimport PromoCodeForm from \"./PromoCodeForm\";\n\nimport styles from \"./cart_totals.module.sass\";\n\nfunction CartTotals({ cart, actions }) {\n if (cart.items.length === 0) {\n return (\n <div className={styles.empty_cart}>\n <h2>Your shopping cart is empty.</h2>\n <a className=\"btn primary\" href=\"/\">\n Continue Shopping\n </a>\n </div>\n );\n }\n\n return (\n <div className={styles.cart_totals}>\n <div className=\"totals\">\n {cart.subtotal !== cart.total && (\n <TotalLine label=\"Subtotal\" amount={cart.subtotal} className=\"subtotal\" />\n )}\n {cart.icannFee !== \"$0.00\" && (\n <TotalLine label={icannFeeLabel()} amount={cart.icannFee} />\n )}\n {cart.discounts.map(discountLine)}\n <div className={styles.total}>\n <PromoCodeForm cart={cart} actions={actions} />\n <span\n className={c(\"cart-total\", styles.total_amount)}\n >{`USD ${cart.total}`}</span>\n </div>\n </div>\n <form\n className={styles.submit}\n action=\"/cart/checkout\"\n method=\"POST\"\n onSubmit={actions.checkout}\n >\n <button id=\"checkout\" className=\"btn primary\">\n Secure Checkout\n </button>\n <div className={styles.note}>\n There are a few more steps before you are charged.\n </div>\n </form>\n </div>\n );\n\n function discountLine(discount) {\n const className = {\n discount: \"discount\",\n [discount.type]: discount.type,\n \"text-domain-bundle\": discount.type == \"domain_bundles_discount\",\n };\n const key = Object.values(discount).join(\"-\");\n return (\n <TotalLine\n key={key}\n label={discountLabel(discount)}\n amount={discount.amount}\n className={className}\n />\n );\n }\n\n function discountLabel(discount) {\n if (discount.type === \"promo\") {\n return (\n <div className={c(\"label\", styles.promo)}>\n {discount.description}\n <button\n className=\"btn-link remove_promo\"\n onClick={() => actions.removePromoCode()}\n >\n {fasIcon(\"times\")}\n </button>\n </div>\n );\n } else {\n return discount.description;\n }\n }\n\n function icannFeeLabel() {\n const feeFinder = R.compose(\n R.filter((fee) => R.defaultTo(\"$0.00\", fee) !== \"$0.00\"),\n R.map((item) => item.components[0].icann_fee)\n );\n const fees = feeFinder(cart.items);\n return fees.length == 1 ? \"ICANN Fee\" : \"ICANN Fees\";\n }\n}\n\nCartTotals.propTypes = {\n cart: PropTypes.object.isRequired,\n actions: PropTypes.object.isRequired\n}\n\nexport default CartTotals;\n","import { h, fasIcon } from \"h\";\nimport ReactModal from \"react-modal\";\n\nfunction ClaimsPopup({ open, domains, onClose, onContinue }) {\n const aDomainIs =\n domains.length === 1\n ? \"a domain in your shopping cart is\"\n : `${domains.length} domains in your shopping cart are`;\n\n const style = {\n content: {\n width: \"calc(50% + 60px)\",\n border: \"10px solid black\",\n borderRadius: 0,\n padding: \"20px\",\n left: 0,\n right: 0,\n top: \"40px\",\n bottom: \"auto\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n height: \"auto\"\n },\n overlay: {\n backgroundColor: \"rgba(0, 0, 0, 0.5)\"\n }\n };\n\n return h(\n ReactModal,\n {\n style,\n isOpen: open,\n onRequestClose: onClose,\n className: \"claims_popup\",\n shouldCloseOnOverlayClick: false\n },\n [\n h(\"button.btn-link.modal-close\", { onClick: onClose }, fasIcon(\"times\")),\n h(\".modal-content\", [\n h(\"h2\", \"Trademark Notice\"),\n h(\n \"p\",\n `Unfortunately, ${aDomainIs} subject to a trademark claim in the Trademark Clearinghouse database. During the first 90 days after the launch of any new top-level domain, we are required to notify potential registrants whenever there is an attempt to register a domain that is an exact match to an existing trademark.`\n ),\n h(\n \"p\",\n `We've removed the following trademarked ${\n domains.length === 1 ? \"domain\" : \"domains\"\n } from your cart:`\n ),\n h(\"ul.claims_domains_list\", domains.map(name => h(\"li\", name))),\n h(\n \"p\",\n \"You may want to try another similar search that avoids using a trademarked word or brand-name. If you are the holder of the trademark and wish to purchase a domain that matches, please contact Hover Support for assistance.\"\n )\n ]),\n h(\".modal-buttons\", [\n h(\"button.btn.primary.continue\", { onClick: onContinue }, \"Continue\")\n ])\n ]\n );\n}\n\nexport default ClaimsPopup;\n","import { h, fasIcon, fromHTML } from \"h\";\nimport ReactModal from \"react-modal\";\n\nfunction EmailOptionsPopup({ open, onClose }) {\n const style = {\n content: {\n width: \"calc(80% + 60px)\",\n maxWidth: \"1000px\",\n background: \"#fff\",\n border: \"10px solid black\",\n borderRadius: 0,\n outline: \"none\",\n padding: \"20px\",\n left: 0,\n right: 0,\n top: \"40px\",\n bottom: \"auto\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n height: \"auto\"\n },\n overlay: {\n backgroundColor: \"rgba(0, 0, 0, 0.5)\"\n }\n };\n\n const featuresHtml = stealFeaturesHtml(document.getElementById(\"features\"));\n\n return h(\n ReactModal,\n {\n style,\n isOpen: open,\n onRequestClose: onClose,\n className: \"email_options_popup\",\n shouldCloseOnOverlayClick: false\n },\n [\n h(\"button.btn-link.modal-close\", { onClick: onClose }, fasIcon(\"times\")),\n h(\".modal-content\", [\n h(\"h2.modal-title\", \"Compare Email Options\"),\n fromHTML(featuresHtml, \".mailbox_types\")\n ])\n ]\n );\n}\n\nfunction stealFeaturesHtml(el) {\n return el.innerHTML;\n}\n\nexport default EmailOptionsPopup;\n","import { h, fasIcon } from \"h\";\nimport ReactModal from \"react-modal\";\n\nfunction BundleNoticePopup({ optInByDefault, onClose, onRemoveBundles, open, text }) {\n return h(\n ReactModal,\n {\n style: {\n overlay: {\n backgroundColor: \"rgba(0, 0, 0, 0.5)\"\n }\n },\n isOpen: open,\n onRequestClose: onClose,\n appElement: document.getElementById(\"app\"),\n className: \"checkout-notice\",\n shouldCloseOnOverlayClick: false\n },\n [\n h(\"button.btn-link.modal-close\", { onClick: onClose }, fasIcon(\"times\")),\n h(\".modal-content\", [\n h(\"h2.modal-title\", \"A domain bundle was added to your cart\"),\n h(\"p\", text),\n ]),\n h(\".modal-footer\", footerButtons(optInByDefault, onClose, onRemoveBundles))\n ]\n );\n}\n\nfunction footerButtons(optInByDefault, onClose, onRemoveBundles) {\n const buttons = [h(\"button.btn\", { onClick: onClose }, \"Ok\")];\n\n if (!optInByDefault) {\n buttons.unshift(h(\n \"button.btn-link\",\n {\n onClick: () => {\n onRemoveBundles();\n onClose();\n },\n },\n \"No thanks\"\n ));\n }\n\n return buttons;\n}\n\nexport default BundleNoticePopup;\n","import { h } from \"h\";\n\nimport { AsideHelp } from \"../../elements/aside_help\";\nimport CartItems from \"./CartItems\";\nimport CartTotals from \"./CartTotals\";\nimport ClaimsPopup from \"./ClaimsPopup\";\nimport EmailOptionsPopup from \"./EmailOptionsPopup\";\nimport BundleNoticePopup from \"./BundleNoticePopup\";\n\nfunction CartDebug({ data }) {\n if (data) {\n return h(\"div\", { style: { clear: \"both\" } }, [\n h(\"hr\"),\n h(\n \"pre\",\n { style: { fontFamily: \"monaco\", fontSize: 12 } },\n JSON.stringify(data, 0, 2)\n )\n ]);\n } else {\n return h(\"span\");\n }\n}\n\nfunction ViewCart({ cart, loading, actions }) {\n const hasBundle = cart.items.some(item => !!item.bundle);\n\n return h(\".results\", [\n h(\"h1\", \"Shopping Cart\"),\n h(\".left\", [\n h(CartItems, { cart, loading, actions }),\n h(CartTotals, { cart, actions })\n ]),\n h(\".right\", h(AsideHelp, { supportOpen: cart.supportOpen })),\n h(ClaimsPopup, {\n open: cart.claimsDomains.length > 0,\n domains: cart.claimsDomains,\n onClose: actions.closeClaimsPopup,\n onContinue: actions.closeClaimsPopup\n }),\n h(EmailOptionsPopup, {\n open: cart.emailComparisonIsOpen,\n onClose: actions.closeEmailComparison\n }),\n (hasBundle && h(BundleNoticePopup, {\n onClose: actions.closeBundlePopup,\n onRemoveBundles: actions.removeDomainBundles,\n open: cart.bundleModalIsOpen,\n optInByDefault: cart.bundleOptInByDefault,\n text: cart.checkoutNotice,\n })),\n h(CartDebug, {\n data: cart.exploded\n })\n ]);\n}\n\nexport default ViewCart;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport R from \"ramda\";\nimport c from \"classnames\";\nimport { xhrPost } from \"common/xhr\";\nimport _set from \"lodash/fp/set\";\n\nimport { h, parseDollarAmount, gaTrackEvent, updateHeaderCartItemCount } from \"h\";\nimport initCart from \"./initCart\";\nimport ViewCart from \"./view_cart\";\n\nclass ViewCartApp extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n cart: initCart(this.props.cart),\n supportOpen: this.props.supportOpen,\n instantSavingsPromo: this.props.instant_savings_promo,\n loading: {},\n strictValidation: false,\n claimsDomains: [],\n emailComparisonIsOpen: false,\n bundleModalIsOpen: !!props.checkout_notice,\n bundleOptInByDefault: props.bundle_opt_in_by_default,\n serverError: null,\n checkoutNotice: props.checkout_notice,\n actions: this.buildActions([\n \"changeTerm\",\n \"changeWhoisPrivacy\",\n \"changeIsPrimary\",\n \"changeMailboxes\",\n \"changePersonalMailboxes\",\n \"changeAuthCode\",\n \"applyPromoCode\",\n \"removePromoCode\",\n \"removeCartItem\",\n \"closeClaimsPopup\",\n \"closeBundlePopup\",\n \"openEmailComparison\",\n \"closeEmailComparison\",\n \"checkout\",\n \"removeDomainBundles\",\n \"track\",\n \"changeServerError\"\n ])\n };\n }\n\n static propTypes = {\n cart: PropTypes.object.isRequired,\n supportOpen: PropTypes.bool.isRequired\n };\n\n componentDidMount() {\n if (this.state.instantSavingsPromo) {\n this.track(\"showed_instant_savings_promo\");\n }\n }\n\n render() {\n const {\n actions,\n bundleModalIsOpen,\n bundleOptInByDefault,\n cart,\n checkoutNotice,\n claimsDomains,\n emailComparisonIsOpen,\n supportOpen,\n loading,\n serverError,\n strictValidation,\n instantSavingsPromo\n } = this.state;\n const propsToMerge = {\n bundleModalIsOpen,\n bundleOptInByDefault,\n checkoutNotice,\n supportOpen,\n serverError,\n strictValidation,\n instantSavingsPromo,\n claimsDomains,\n emailComparisonIsOpen\n };\n\n return h(ViewCart, {\n cart: R.merge(cart, propsToMerge),\n loading: name => !!loading[name],\n actions\n });\n }\n\n closeBundlePopup() {\n this.setState({ bundleModalIsOpen: false });\n }\n\n removeDomainBundles() {\n this.state\n .cart\n .items\n .filter((item) => {\n return item\n .components\n .some(component => component.description === 'bundle')\n })\n .forEach(item => this.removeCartItem(item));\n }\n\n buildActions(names) {\n let actions = {};\n names.forEach(n => {\n actions[n] = (this[n] || this.undefinedAction(n)).bind(this);\n });\n return actions;\n }\n\n undefinedAction(name) {\n return function() {\n /* eslint-disable no-console */\n console.error(\"Undefined action \", name, arguments);\n };\n }\n\n optimisticUpdateItem(name, f) {\n const cart = this.state.cart;\n const newItems = cart.items.map(item => {\n if (item.name == name) {\n return f(item);\n } else {\n return item;\n }\n });\n this.setState({ cart: { ...cart, items: newItems } });\n }\n\n optimisticDeleteItem(name) {\n const cart = this.state.cart;\n const newItems = cart.items.filter(item => item.name != name);\n this.setState({ cart: { ...cart, items: newItems } });\n }\n\n changeWhoisPrivacy(item, value) {\n const name = item.name;\n const whois_privacy = value ? \"yes\" : \"no\";\n const params = {\n name,\n whois_privacy,\n full: true\n };\n this.optimisticUpdateItem(\n name,\n updateFirstComponent(\"whois_privacy\", whois_privacy)\n );\n xhrPost(\"/cart/update_item\", params).then(response => {\n this.setCart(response);\n });\n\n if (value) {\n this.track(\"turn_on_whois_privacy\", name);\n } else {\n this.track(\"turn_off_whois_privacy\", name);\n }\n }\n\n changeIsPrimary(item, value) {\n const name = item.name;\n const is_primary = value ? \"yes\" : \"no\";\n\n const params = {\n name,\n is_primary,\n full: true\n };\n xhrPost(\"/cart/update_item\", params).then(response => {\n this.setCart(response);\n });\n\n if (value) {\n this.track(\"turn_on_is_primary\", name);\n } else {\n this.track(\"turn_off_is_primary\", name);\n }\n }\n\n setCart(data) {\n const cart = initCart(data);\n this.setState({\n cart: cart,\n serverError: null,\n claimsDomains: []\n });\n\n const count = cart.items.size;\n updateHeaderCartItemCount(count);\n document.title = `Shopping Cart (${count}) - Hover`;\n }\n\n changeTerm(item, term) {\n const name = item.name;\n const params = {\n name,\n term: term,\n full: true\n };\n\n // For subscriptions, `term` is actually the plan_id so it doesn't make sense to increment it.\n if (item.components[0].type != \"subscription\") {\n this.optimisticUpdateItem(name, updateFirstComponent(\"term\", +term));\n }\n\n xhrPost(\"/cart/update_item\", params).then(response => {\n this.setCart(response);\n });\n this.track(\"change_term\", name, term);\n }\n\n changeMailboxes(item, component, numEmails) {\n const name = item.name;\n const mailboxType = component.mailbox_type;\n\n const ps = item.components\n .filter(R.propEq(\"id\", \"email\"))\n .map(c => [c.mailbox_type, c.num_emails]);\n\n const origAddons = R.fromPairs(ps);\n const newAddons = R.merge(origAddons, { [mailboxType]: +numEmails });\n const params = {\n name,\n addons: newAddons,\n full: true\n };\n\n xhrPost(\"/cart/update_item\", params).then(response => {\n this.setCart(response);\n });\n this.track(`change_mailboxes_${c.mailbox_type}`, name, numEmails);\n }\n\n changePersonalMailboxes(item, value) {\n const name = item.name;\n const [numEmails, mailboxType] = value.split(\" \");\n const addons = R.merge(\n { regular: 0, mailplus: 0 },\n { [mailboxType]: numEmails }\n );\n const params = {\n name,\n addons,\n full: true\n };\n\n xhrPost(\"/cart/update_item\", params).then(response => {\n this.setCart(response);\n });\n this.track(`change_mailboxes_surname_${mailboxType}`, name, numEmails);\n }\n\n changeAuthCode(item, auth_code) {\n const name = item.name;\n const params = {\n name,\n auth_code,\n full: true\n };\n\n xhrPost(\"/cart/update_item\", params).then(response => {\n this.setCart(response);\n });\n\n this.track(\"set_auth_code\", name);\n }\n\n removeCartItem(item) {\n const name = this.cartDisplayToName(item.name);\n this.optimisticDeleteItem(name);\n xhrPost(\"/cart/remove_cart\", { name: name }).then(response => {\n if (response.cart.length == 0) {\n document.location.href = \"/\";\n } else {\n this.setCart(response);\n }\n });\n\n this.track(\"remove_cart_item\", name);\n }\n\n cartDisplayToName(name) {\n if (name === \"Account balance funding\") {\n return \"account_funding\";\n } else {\n return name;\n }\n }\n\n applyPromoCode(code) {\n xhrPost(\"/cart/apply_coupon\", { code }).then(response => {\n if (response.succeeded) {\n this.setCart(response);\n this.track(\"apply_promo_code\", name, code);\n } else {\n this.setState({ serverError: response.error });\n this.track(\"fail_apply_promo_code\", name, code);\n }\n });\n }\n\n removePromoCode(code) {\n xhrPost(\"/cart/remove_coupon\").then(response => {\n this.setCart(response);\n this.track(\"remove_promo_code\", name, code);\n });\n }\n\n checkout(e) {\n e.preventDefault();\n const cart = this.state.cart;\n const invalidIndex = cart.items.findIndex(missingAuthCode);\n\n if (invalidIndex !== -1) {\n e.preventDefault();\n\n const name = cart.items[invalidIndex].name;\n const box = $(`.left .items .box:eq(${invalidIndex})`);\n $(\"html, body\").animate({ scrollTop: box.offset().top - 40 }, 500, function() {\n box.find(\".error input\").focus();\n });\n this.setState({ strictValidation: true });\n this.track(\"checkout_error\", name);\n } else {\n xhrPost(\"/cart/checkout\").then(response => {\n if (response.succeeded) {\n const cartTotal = parseDollarAmount(cart.total);\n this.track(\"checkout_success\", name, cartTotal);\n document.location.href = response.url;\n } else if (response.error === \"claim\") {\n this.showClaimDialog(response.domains);\n }\n });\n }\n\n function missingAuthCode(item) {\n const c = item.components[0];\n return c.need_auth_code && (c.auth_code || \"\") == \"\";\n }\n }\n\n showClaimDialog(domains) {\n this.setState({ claimsDomains: domains });\n }\n\n closeClaimsPopup() {\n xhrPost(\"/cart/clear_claims\").then(response => {\n const data = response.cart;\n if (data.cart.length == 0) {\n document.location.href = \"/\";\n } else {\n this.setCart(data);\n }\n });\n }\n\n openEmailComparison() {\n this.track(\"open_email_comparison\");\n this.setState({ emailComparisonIsOpen: true });\n }\n\n closeEmailComparison() {\n this.track(\"close_email_comparison\");\n this.setState({ emailComparisonIsOpen: false });\n }\n\n track(action, label, value) {\n gaTrackEvent(\"ViewCart\", action, label, value);\n }\n\n changeServerError(value) {\n this.setState({ serverError: value });\n }\n}\n\nfunction updateFirstComponent(prop, val) {\n return item => _set([\"components\", 0, prop], val, item);\n}\n\nexport default ViewCartApp;\n","import ReactDOM from \"react-dom\";\nimport h from \"h\";\nimport ViewCartApp from \"./view_cart/app\";\n\nfunction initViewCart(node, props) {\n document.addEventListener(\"DOMContentLoaded\", function() {\n ReactDOM.render(h(ViewCartApp, props), node);\n });\n}\n\nexport default initViewCart;\n","import PropTypes from \"prop-types\";\nimport c from \"classnames\";\nimport { h, fasIcon } from \"h\";\n\nexport function Box({ title, onClose, className, props, children }) {\n const heading = h(\"h2\", title);\n const closeButton = onClose && h(\"button.close\", { onClick: onClose }, fasIcon(\"times\"));\n const boxProps = Object.assign({}, { className: c(\"box\", className) }, props);\n\n return h(\"div\", boxProps, [\n closeButton,\n heading,\n h(\"ul\", children)\n ]);\n}\n\nBox.propTypes = {\n title: PropTypes.node.isRequired,\n onClose: PropTypes.func\n};\n\nexport function BoxItem({ className, children }) {\n // https://github.com/philipwalton/flexbugs#3-min-height-on-a-flex-container-wont-apply-to-its-flex-items\n return h(\"li\", { className }, h(\".boxitem-ie\", h(\".boxitem\", children)));\n}\n","import PropTypes from \"prop-types\";\nimport { h, farIcon, fasIcon } from \"h\";\nimport { Box, BoxItem } from \"./Box\";\n\nfunction label(...children) {\n return h(\".label\", children);\n}\n\nfunction emailLink(addr) {\n return h(\"a\", { href: `mailto:${addr}` }, addr);\n}\n\nfunction supportHours() {\n return h(\".hours\", [\n ...hours(\"Mon - Fri\", \"8am - 8pm (Eastern)\"),\n ...hours(\"Sat - Sun\", \"8am - 8pm (Eastern)\")\n ]);\n}\n\nfunction hours(days, times) {\n return [h(\".days\", days), h(\".times\", times)];\n}\n\nconst AsideHelp = ({ supportOpen }) =>\n h(\"aside.help\", [\n h(Box, { title: \"Need last minute help?\" }, [\n h(BoxItem, [label(fasIcon(\"phone\"), \"1-866-731-6556\")]),\n h(BoxItem, [label(farIcon(\"envelope\"), emailLink(\"help@hover.com\"))]),\n h(BoxItem, { className: \"hours\" }, [label(farIcon(\"clock\"), supportHours())])\n ])\n ]);\n\nAsideHelp.propTypes = {\n supportOpen: PropTypes.bool.isRequired\n};\n\nexport default AsideHelp;\n","import { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { h, fasIcon, numberToCurrency, pluralize, updateHeaderCartItemCount } from \"h\";\nimport { MiniCart, initCartData } from \"./MiniCart\";\nimport AsideHelp from \"./AsideHelp\";\nimport { Box, BoxItem } from \"./Box\";\nimport { TieredPriceInfoToolTip } from \"../form/Tooltip\";\n\nclass RenewResults extends Component {\n constructor(props) {\n super(props);\n this.state = {\n items: props.items,\n title: props.title,\n cart: initCartData(props.cart),\n supportOpen: props.supportOpen,\n domains: props.domains,\n\n terms: {},\n inCart: [],\n\n closeDomain: name => this.closeDomain(name),\n updateTerm: (name, term) => this.updateTerm(name, term),\n addToCart: (name, term) => this.addToCart(name, term),\n removeFromCart: name => this.removeFromCart(name)\n };\n }\n\n closeDomain(name) {\n $.post(\"/renew/remove_from_checklist\", { name }).done(result => {\n this.setState({ items: result.results.items, title: result.results.title });\n }, \"json\");\n }\n\n updateTerm(name, term) {\n const terms = Object.assign({}, this.state.terms, { [name]: parseInt(term) });\n this.setState({ terms });\n }\n\n addToCart(name, term) {\n const request = this.state.inCart.includes(name)\n ? $.post(\"/cart/remove_cart\", { name })\n : $.post(\"/renew/add_to_cart\", { name, term });\n\n request.done(result => {\n if (result.succeeded) {\n const cart = initCartData(result);\n this.setCart(result);\n if (window.updateCart) {\n window.updateCart(cart);\n }\n } else {\n alert(result.error || \"Sorry, that domain can’t be renewed right now.\");\n }\n });\n }\n\n removeFromCart(name) {\n $.post(\"/cart/remove_cart\", { name }, result => this.setCart(result));\n }\n\n setCart(result) {\n const cart = initCartData(result);\n const names = cart.items.map(i => i.name);\n this.setState({ cart: cart, inCart: names }, () =>\n updateHeaderCartItemCount(cart.items.length)\n );\n }\n\n render() {\n return h(RenewResultsPage, this.state);\n }\n}\n\nRenewResults.propTypes = {\n items: PropTypes.array.isRequired,\n title: PropTypes.string.isRequired,\n cart: PropTypes.object.isRequired,\n supportOpen: PropTypes.bool.isRequired,\n domains: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired\n};\n\nfunction RenewResultsPage(props) {\n return h(\"div\", [\n h(\"h1\", props.title),\n h(\".left\", [h(SearchForm, { domains: props.domains }), h(ResultList, props)]),\n h(\".right\", [\n h(MiniCart, {\n ...props.cart,\n onRemoveFromCart: props.removeFromCart\n }),\n h(AsideHelp, { supportOpen: props.supportOpen })\n ])\n ]);\n}\n\nRenewResultsPage.propTypes = {\n items: PropTypes.array.isRequired,\n title: PropTypes.string.isRequired,\n cart: PropTypes.object.isRequired,\n supportOpen: PropTypes.bool.isRequired,\n domains: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,\n terms: PropTypes.object.isRequired,\n inCart: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,\n closeDomain: PropTypes.func.isRequired,\n updateTerm: PropTypes.func.isRequired,\n addToCart: PropTypes.func.isRequired,\n removeFromCart: PropTypes.func.isRequired\n};\n\nclass ResultList extends Component {\n renderItem(item) {\n const { closeDomain, updateTerm, addToCart } = this.props;\n const inCart = this.props.inCart.includes(item.name);\n\n if (item.status === \"renewable\") {\n const overriddenTerm = this.props.terms[item.name];\n const termUpdate = overriddenTerm ? { term: overriddenTerm } : {};\n return h(Renewable, {\n ...{ ...item, ...termUpdate },\n inCart,\n closeDomain: () => closeDomain(item.name),\n updateTerm,\n addToCart\n });\n } else {\n return h(NotRenewable, {\n name: item.name,\n inCart,\n reason: reasonForStatus(item.status, item.name),\n status: item.status,\n closeDomain: () => closeDomain(item.name)\n });\n }\n\n function reasonForStatus(status, domainName) {\n if (status === \"redeemable\") {\n return \"To recover this domain, please call the Hover Help Center.\";\n } else if (status === \"not_renewable\") {\n return \"Sorry, that domain can’t be renewed right now.\";\n } else if (status === \"automatic_renewals\") {\n const ext = extension(domainName).toUpperCase();\n return `Thanks to .${ext} registry policies, .${ext} domains can’t be renewed manually. If you want this domain to renew before it expires, make sure that you have auto-renew enabled and Hover will renew it for you.`;\n } else if (status === \"not_registered\") {\n return \"This domain is not registered with Hover.\";\n }\n }\n }\n render() {\n const { items } = this.props;\n return h(\".results\", items.map((i) => this.renderItem(i)));\n }\n}\n\nResultList.propTypes = {\n items: PropTypes.array.isRequired,\n terms: PropTypes.object.isRequired,\n inCart: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,\n closeDomain: PropTypes.func.isRequired,\n updateTerm: PropTypes.func.isRequired,\n addToCart: PropTypes.func.isRequired\n};\n\nfunction extension(domainName) {\n const parts = domainName.split(\".\");\n return parts[parts.length - 1];\n}\n\nclass Renewable extends Component {\n renderMailbox(component) {\n const description = \"You have \" + component.description.replace(\"+\", \"\");\n return h(BoxItem, [\n h(\".info.sub\", description),\n h(\".price\", numberToCurrency(component.price * this.props.term))\n ]);\n }\n\n onChange(term) {\n this.props.updateTerm(this.props.name, term);\n }\n render() {\n const { name, term, price, components, inCart } = this.props;\n const { closeDomain, updateTerm, addToCart } = this.props;\n const mailboxes = components.map(c => this.renderMailbox(c));\n const onClick = e => this.props.addToCart(name, term);\n\n return h(\n Box,\n {\n className: \"renewable\",\n title: name,\n onClose: closeDomain,\n key: name,\n props: { \"data-status\": \"renewable\" }\n },\n [\n h(BoxItem, [\n h(\".info\", [\n fasIcon(\"check-circle\", { className: \"status\" }),\n h(RenewableInfo, this.props)\n ]),\n h(\".tools\", [\n h(\".price\", numberToCurrency(price * term))\n ])\n ]),\n ...mailboxes,\n h(BoxItem, [\n h(\n \"button.btn.btn-primary.add\",\n { onClick },\n inCart ? \"Added\" : \"Add to cart\"\n )\n ])\n ]\n );\n }\n}\n\nRenewable.propTypes = {\n name: PropTypes.string.isRequired,\n term: PropTypes.number.isRequired,\n termOptions: PropTypes.arrayOf(PropTypes.number).isRequired,\n price: PropTypes.number.isRequired,\n components: PropTypes.array.isRequired,\n inCart: PropTypes.bool.isRequired,\n closeDomain: PropTypes.func.isRequired,\n updateTerm: PropTypes.func.isRequired,\n addToCart: PropTypes.func.isRequired\n};\n\nconst RenewableInfo = props =>\n props.tieredPrice ? renderTieredPrice() : renderRegularPrice();\n\nRenewableInfo.propTypes = {\n tieredPrice: PropTypes.bool.isRequired\n};\n\nfunction renderTieredPrice() {\n return h(\"span\", [\n \"This tiered price domain\",\n h(TieredPriceInfoToolTip),\n \" is available for renewal.\"\n ]);\n}\n\nfunction renderRegularPrice() {\n return h(\"span\", \"This domain is available for renewal.\");\n}\n\nconst NotRenewable = ({ name, status, reason, closeDomain }) =>\n h(\n Box,\n {\n className: \"not_renewable\",\n onClose: closeDomain,\n title: name,\n props: { \"data-status\": status }\n },\n [\n h(BoxItem, [\n h(\".label.flex-center\", [\n fasIcon(\"exclamation-circle\", {\n className: \"status\",\n style: { marginRight: \"20px\" }\n }),\n h(\n \".reason\",\n { style: { paddingTop: \"10px\", paddingBottom: \"10px\" } },\n reason\n )\n ])\n ])\n ]\n );\n\nNotRenewable.propTypes = {\n name: PropTypes.string.isRequired,\n reason: PropTypes.string.isRequired,\n closeDomain: PropTypes.func.isRequired,\n status: PropTypes.string\n};\n\nclass SearchForm extends Component {\n componentDidMount() {\n window.initRenewals(\n this.props.domains,\n $(this.refs.form).find(\"input\"),\n \"renew results\"\n );\n }\n\n render() {\n return h(\n \"form.search.domains#domains\",\n { ref: \"form\", method: \"post\", action: \"/renew/check_domains\" },\n [\n h(SearchInput, {\n name: \"domains\",\n tabIndex: 1,\n placeholder: \"Add another domain to renew\"\n }),\n h(\"button.btn.search.primary\", fasIcon(\"undo\"))\n ]\n );\n }\n}\n\nconst SearchInput = props =>\n h(\"input\", {\n type: \"text\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n autoCapitalize: \"off\",\n spellCheck: \"false\",\n ...props\n });\n\nexport default RenewResults;\n","import { Component } from \"react\";\nimport h from \"h\";\n\nexport default class PricingTable extends Component {\n constructor(props) {\n super(props);\n this.state = {\n filterText: \"\",\n tldType: this.startCategory(this.props.start_category),\n discount: this.props.initial_discount,\n narrowCol: \"new\",\n narrow: false\n };\n }\n\n UNSAFE_componentWillMount() {\n if (typeof document !== \"undefined\") {\n const node = document.querySelector(\".table\");\n this.handleResize(node, null);\n window.addEventListener(\"resize\", () => this.handleResize(node));\n }\n }\n\n handleResize(node) {\n this.setState({ isNarrow: node.offsetWidth < 640 });\n }\n\n startCategory(category) {\n if (this.props.filters[category]) {\n return category;\n } else {\n return \"trending\";\n }\n }\n\n renderFilters() {\n const discountOptions = this.props.discounts.map(discount =>\n h(\"option\", { key: discount.name, value: discount.amount }, discount.name)\n );\n const updateFilterText = event =>\n this.setState({ filterText: event.target.value });\n const changeDiscount = event => this.setState({ discount: event.target.value });\n\n return h(\"form\", [\n h(\".filter\", [\n h(\"i.fas.fa-search\"),\n h(\"input\", {\n type: \"text\",\n placeholder: \"Search for a specific TLD\",\n value: this.state.filterText,\n onChange: updateFilterText\n })\n ]),\n h(\"label.bulk\", [\n h(\"span\", \"Show pricing for\"),\n h(\n \".selectmenu\",\n h(\n \"select\",\n { value: this.state.discount, onChange: changeDiscount },\n discountOptions\n )\n )\n ])\n ]);\n }\n\n narrowTable(rows) {\n return h(\"table\", [\n h(\"thead\", [\n h(\"thead\", [\n h(\n \"tr\",\n h(\"th\", { colSpan: 2 }, [\n this.tldTypeAction(\"Trending\"),\n this.tldTypeAction(\"Newest\"),\n this.tldTypeAction(\"On Sale\"),\n this.tldTypeAction(\"All\")\n ])\n ),\n h(\"th\", { colSpan: 2 }, [\n this.eventTypeAction(\"new\", \"Registration\"),\n this.eventTypeAction(\"renew\", \"Renewals\"),\n this.eventTypeAction(\"transfer\", \"Transfers\")\n ])\n ])\n ]),\n h(\"tbody\", rows)\n ]);\n }\n\n wideTable(rows) {\n return h(\"table\", [\n h(\"thead\", [\n h(\"tr\", [\n h(\"th\", [\n this.tldTypeAction(\"Trending\"),\n this.tldTypeAction(\"Newest\"),\n this.tldTypeAction(\"On Sale\"),\n this.tldTypeAction(\"All\")\n ]),\n h(\"th\", { className: this.hl(\"new\") }, \"Registration\"),\n h(\"th\", { className: this.hl(\"renew\") }, \"Renewals\"),\n h(\"th\", { className: this.hl(\"transfer\") }, \"Transfers\")\n ])\n ]),\n h(\"tbody\", rows)\n ]);\n }\n\n renderTable() {\n const prices = this.pricesToRender();\n const periodsToHypens = name => name.split(\".\").join(\"-\");\n const rows = prices.map(price => {\n const linkOrName = price.lander\n ? h(\n \"a\",\n { href: `/tld/buy-${periodsToHypens(price.name)}-domain` },\n price.name\n )\n : `.${price.name}`;\n return h(\"tr\", { key: price.name }, [\n h(\"td\", linkOrName),\n h(\"td\", { className: this.hl(\"new\") }, this.currency(price, \"new_price\")),\n h(\"td\", { className: this.hl(\"renew\") }, this.currency(price, \"renew\")),\n h(\"td\", { className: this.hl(\"transfer\") }, this.currency(price, \"transfer\"))\n ]);\n });\n\n return this.state.isNarrow ? this.narrowTable(rows) : this.wideTable(rows);\n }\n\n hl(type) {\n if (this.state.isNarrow) {\n return this.state.narrowCol === type ? \"selected\" : \"unselected\";\n } else {\n return this.props.highlight === type ? \"highlight\" : null;\n }\n }\n\n pricesToRender() {\n // const filterByText = (name) => name.indexOf(this.filterSubstring()) >= 0;\n const filterByText = name => naiveFuzzySearch(this.filterSubstring(), name);\n const prices = this.props.prices;\n window.prices = prices;\n const tldNames =\n this.props.filters[this.tldType()] || Object.keys(prices).sort();\n const filteredTldNames = tldNames.filter(filterByText).sort((a, b) => {\n const splitNameA = a.split(\".\");\n const splitNameB = b.split(\".\");\n if (splitNameA[splitNameA.length - 1] < splitNameB[splitNameB.length - 1]) {\n return -1;\n }\n if (splitNameA[splitNameA.length - 1] > splitNameB[splitNameB.length - 1]) {\n return 1;\n }\n return 0;\n });\n return filteredTldNames.map(function(name) {\n return fromNetwork(name, prices[name]);\n });\n\n function fromNetwork(name, row) {\n let tldData = {\n name: name,\n lander: row[0],\n new_price: row[1],\n renew: row[2],\n transfer: row[3]\n };\n if (row[4]) {\n tldData.regular = {\n new_price: row[4],\n renew: row[5],\n transfer: row[6]\n };\n }\n\n return tldData;\n }\n }\n\n filterSubstring() {\n return this.state.filterText.replace(/[^a-z]/gi, \"\").toLowerCase();\n }\n\n tldType() {\n if (this.filterSubstring() !== \"\") {\n return \"all\";\n }\n return this.state.tldType;\n }\n\n tldTypeAction(title) {\n const name = titleToName(title.toLowerCase());\n\n const cls = this.tldType() === name ? \"active\" : null;\n const onClick = () => this.setState({ tldType: name });\n\n return h(\"a\", { href: \"javascript:void(0)\", onClick, className: cls }, title);\n\n function titleToName(title) {\n if (title === \"on sale\") {\n return \"sale\";\n } else {\n return title.replace(/ /g, \"_\");\n }\n }\n }\n\n eventTypeAction(name, title) {\n const cls = this.state.narrowCol === name ? \"active\" : null;\n const onClick = () => this.setState({ narrowCol: name });\n return h(\"a\", { href: \"javascript:void(0)\", onClick, className: cls }, title);\n }\n\n currency(price, type) {\n const discount = this.state.discount;\n const amount = price[type];\n var regular;\n\n if (price.regular && (regular = price.regular[type]) && regular !== amount) {\n return h(\"span.price.discounted\", [\n h(\"span.now\", fmt(amount)),\n h(\"span\", \" \"),\n h(\"span.reg\", fmt(regular))\n ]);\n } else {\n return fmt(amount);\n }\n\n function fmt(amount) {\n if (type === \"renew\" && discount) amount -= discount;\n const price = \"$\" + parseFloat(amount).toFixed(2);\n return h(\"span.price\", price);\n }\n }\n\n render() {\n return h(\"div\", [this.renderFilters(), this.renderTable()]);\n }\n}\n\nfunction naiveFuzzySearch(searchTerm, element) {\n if (searchTerm === \"\") {\n return true;\n }\n var tLen = searchTerm.length;\n var eLen = element.length;\n\n if (tLen > eLen) {\n return false;\n }\n\n if (tLen === eLen) {\n return searchTerm === element;\n }\n\n outer: for (var i = 0, j = 0; i < tLen; i++) {\n var nch = searchTerm.charCodeAt(i);\n while (j < eLen) {\n if (element.charCodeAt(j++) === nch) {\n continue outer;\n }\n }\n return false;\n }\n\n return true;\n}\n","import React from \"react\";\nimport { bindActionCreators } from \"redux\";\nimport ReactDOM from \"react-dom\";\nimport RSVP from \"rsvp\";\n\nimport configureStore from \"checkout/store/configureStore\";\n\nimport initLookup from \"checkout/lookup\";\nimport initViewCart from \"checkout/view_cart\";\nimport initRenewResults from \"checkout/renew/initRenewResults\";\nimport initPricing from \"checkout/pricing/initPricing\";\nimport { initCheckout } from \"checkout/reducers/initCheckout\";\nimport { initSignin } from \"checkout/reducers/signinReducer\";\nimport { initCartCheckout } from \"checkout/reducers/initCart\";\nimport { initBraintree, initBraintreeClient } from \"checkout/braintree\";\nimport { actions as braintreeActions } from \"checkout/braintree\";\n\nimport \"checkout/styles/checkout.scss\";\n\nif (process.env.NODE_ENV !== \"production\") {\n RSVP.on(\"error\", (reason, label) => {\n if (label) {\n console.error(label); // eslint-disable-line no-console\n }\n console.log(\"reason\", JSON.stringify(reason, 0, 2)); // eslint-disable-line no-console\n console.assert(false, reason); // eslint-disable-line no-console\n });\n}\n\nfunction init(node, props) {\n const initialState = {\n signin: initSignin(props),\n checkout: initCheckout(props),\n braintree: initBraintree({}),\n cart: initCartCheckout(props.cart)\n };\n const store = configureStore(initialState);\n\n const actions = bindActionCreators(braintreeActions, store.dispatch);\n initBraintreeClient(props.braintree_client_id, actions);\n\n if (module.hot) {\n module.hot.accept(\"checkout/containers/CheckoutApp\", () => {\n renderApp();\n });\n }\n renderApp();\n\n function renderApp() {\n const CheckoutApp = require(\"checkout/containers/CheckoutApp\").default;\n ReactDOM.render(<CheckoutApp store={store} />, node);\n }\n}\n\nfunction checkoutProps(node) {\n const dataProps = node.getAttribute(\"data-props\");\n return dataProps ? JSON.parse(dataProps) : null;\n}\n\nconst node = document.getElementById(\"app\");\n\nswitch (node.getAttribute(\"data-start\")) {\n case \"lookup\":\n initLookup(node, checkoutProps(node));\n break;\n case \"view_cart\":\n initViewCart(node, checkoutProps(node));\n break;\n case \"renew\":\n initRenewResults(node, checkoutProps(node));\n break;\n case \"pricing\":\n initPricing(node, checkoutProps(node));\n break;\n default:\n init(node, checkoutProps(node) || {});\n}\n","import ReactDOM from \"react-dom\";\nimport h from \"h\";\nimport RenewResults from \"./RenewResults\";\nexport default function initRenewResults(node, props) {\n ReactDOM.render(h(RenewResults, props), node);\n}\n","import ReactDOM from \"react-dom\";\nimport h from \"h\";\nimport PricingTable from \"./PricingTable\";\nexport default function initPricing(node, props) {\n ReactDOM.render(h(PricingTable, props), node);\n}\n","import { createStore, compose } from \"redux\";\nimport \"@/instrument_sentry.js\";\nimport { createReduxEnhancer } from \"@sentry/react\";\n\nimport rootReducer from \"../reducers/index\";\nimport middleware from \"@/checkout/middleware/index\";\n\nexport default function configureStore(initialState) {\n return createStore(\n rootReducer,\n initialState,\n compose(\n middleware,\n createReduxEnhancer({ attachReduxState: false })\n )\n );\n}\n","// polyfill for NodeList#forEach - see\n// https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach\n// https://caniuse.com/#feat=mdn-api_nodelist_foreach\n//\n// Sentry shows this is about 5,000 errors a day:\n// https://sentry.io/organizations/hover/issues/1623405571/?project=164872&query=is%3Aunresolved\nif (window.NodeList && !NodeList.prototype.forEach) {\n NodeList.prototype.forEach = Array.prototype.forEach;\n}\n\n// menu\n(function() {\n const MENU_TRIGGER_SELECTOR = \"[data-trigger='menu']\"\n const MENU_VISIBLE_CLASS = \"mobile-menu-is-visible\"\n\n const menuTriggers = document.querySelectorAll(MENU_TRIGGER_SELECTOR)\n if (!menuTriggers.length) return\n\n const onClick = e => {\n e.preventDefault()\n e.stopPropagation()\n const action = document.body.classList.contains(MENU_VISIBLE_CLASS) ? \"remove\" : \"add\"\n document.body.classList[action](MENU_VISIBLE_CLASS)\n }\n\n menuTriggers.forEach(trigger => trigger.addEventListener(\"click\", onClick))\n})();\n\nexport function initSignin() {\n const MENU_SELECTOR = \".signin__menu\"\n const MENU_TRIGGER_SELECTOR = \"[data-trigger='signin']\"\n const VISIBLE_CLASS = \"is-visible\"\n\n const menu = document.querySelector(MENU_SELECTOR)\n const menuTrigger = document.querySelector(MENU_TRIGGER_SELECTOR)\n\n if (!menu || !menuTrigger) return\n\n // hide menu if there's a click outside of it\n document.addEventListener(\"click\", () => menu.classList.remove(VISIBLE_CLASS))\n menu.addEventListener(\"click\", e => e.stopPropagation())\n\n // toggle menu when the trigger is clicked\n menuTrigger.addEventListener(\"click\", e => {\n e.preventDefault()\n e.stopPropagation()\n const action = menu.classList.contains(VISIBLE_CLASS) ? \"remove\" : \"add\"\n menu.classList[action](VISIBLE_CLASS)\n })\n}\n\n// signin\n(function() {\n initSignin();\n})();\n\n\n(function() {\n\nvar pmatch = location.pathname;\n\n// if(pmatch == \"signin\") { pmatch = \"domains\"}\nvar elem = document.querySelector('nav a[href=\"' + pmatch + '\"]');\nif(elem && pmatch !== \"/cart\") {\n elem.classList.add(\"active\");\n}\n})();\n","export const startLoading = () => ({ type: \"START_LOADING\" });\nexport const stopLoading = () => ({ type: \"STOP_LOADING\" });\nexport const confirmNavigation = step => ({\n type: \"CONFIRM_NAVIGATION\",\n step\n});\nexport const cancelNavigation = () => ({ type: \"CANCEL_NAVIGATION\" });\nexport const goto = (step, errors) => ({ type: \"NAVIGATE\", step, errors });\nexport const notifyEnteredStep = step => ({\n type: \"NOTIFY_ENTERED_STEP\",\n step\n});\nexport const notifyUnsaved = isUnsaved => ({\n type: \"NOTIFY_UNSAVED\",\n isUnsaved\n});\nexport const redirectToNextStep = () => ({ type: \"REDIRECT_TO_NEXT_STEP\" });\nexport const submitRegistrationData = data => ({\n type: \"SUBMIT_REGISTRATION_DATA\",\n remote: true,\n payload: data\n});\nexport const submitTldData = data => ({\n type: \"SUBMIT_TLD_DATA\",\n remote: true,\n payload: data\n});\nexport const submitMailboxData = data => ({\n type: \"SUBMIT_MAILBOX_DATA\",\n remote: true,\n payload: data\n});\nexport const submitBillingData = data => ({\n type: \"SUBMIT_BILLING_DATA\",\n remote: true,\n payload: data\n});\nexport const submitOrder = data => ({\n type: \"SUBMIT_ORDER\",\n remote: true,\n payload: data\n});\nexport const selectAccountMode = formType => ({\n type: \"SELECT_ACCOUNT_MODE\",\n formType\n});\nexport const successfulSignin = data => ({\n type: \"SUCCESSFUL_SIGNIN\",\n remote: true,\n data\n});\nexport const optInNewsletter = data => ({\n type: \"OPT_IN_NEWSLETTER\",\n remote: true,\n payload: data\n});\nexport const refreshCheckoutState = data => ({\n type: \"REFRESH_CHECKOUT_STATE\",\n payload: data\n});\nexport const enteredStep = step => ({\n type: \"ENTERED_STEP\",\n payload: step\n});\nexport const createAccount = data => ({\n type: \"CREATE_ACCOUNT\",\n remote: true,\n payload: data\n});\nexport const agreeToTerms = () => ({\n type: \"AGREE_TO_TERMS\",\n remote: true\n});\nexport const startGlobalSignin = () => ({ type: \"GLOBAL_SIGNIN\" });\n","export function signinRequest(username, password, remember, token) {\n return {\n type: \"SIGNIN_REQUEST\",\n username,\n password,\n remember,\n token,\n remote: true\n };\n}\n\nexport function signinResponse(serverResponseJSON) {\n return {\n type: \"SIGNIN_RESPONSE\",\n payload: serverResponseJSON\n };\n}\n\nexport function forgotUsername() {\n return {\n type: \"FORGOT_USERNAME\"\n };\n}\n\nexport function forgotPassword() {\n return {\n type: \"FORGOT_PASSWORD\"\n };\n}\n\nexport function signinCancel() {\n return {\n type: \"SIGNIN_CANCEL\"\n };\n}\n\nexport function startResendSms() {\n return {\n type: \"RESEND_SMS\"\n };\n}\n\nexport function resendSmsRequest() {\n return {\n type: \"RESEND_SMS_REQUEST\",\n remote: true\n };\n}\n\nexport function resendSmsCancel() {\n return {\n type: \"RESEND_SMS_CANCEL\"\n };\n}\n\nexport function resendSmsResponse(data) {\n return {\n type: \"RESEND_SMS_RESPONSE\",\n data\n };\n}\n\nexport function sendTwoFactorCode(code) {\n return {\n type: \"AUTH_2FA_REQUEST\",\n code,\n remote: true\n };\n}\n\nexport function twoFactorResponse(data) {\n return {\n type: \"AUTH_2FA_RESPONSE\",\n data\n };\n}\n\nexport function twoFactorStartRecovery() {\n return {\n type: \"2FA_RECOVERY\"\n };\n}\n\nexport function twoFactorRecoveryRequest(recoveryCode) {\n return {\n type: \"2FA_RECOVERY_REQUEST\",\n remote: true,\n recoveryCode\n };\n}\n\nexport function twoFactorRecoveryResponse(data) {\n return {\n type: \"2FA_RECOVERY_RESPONSE\",\n data\n };\n}\n\nexport function twoFactorCancelRecovery() {\n return {\n type: \"2FA_RECOVERY_CANCEL\"\n };\n}\n\nexport function submitPasswordRecovery(username) {\n return {\n type: \"SUBMIT_PASSWORD_RECOVERY\",\n remote: true,\n username\n };\n}\n\nexport function passwordRecoveryResponse(response) {\n return {\n type: \"PASSWORD_RECOVERY_RESPONSE\",\n response\n };\n}\n\nexport function confirmSkipSignin() {\n return {\n type: \"CONFIRM_SKIP_SIGNIN\"\n };\n}\n\nexport function cancelSkipSignin() {\n return {\n type: \"CANCEL_SKIP_SIGNIN\"\n };\n}\n\nexport function skipSignin() {\n return {\n type: \"SKIP_SIGNIN\",\n remote: true\n };\n}\n\nexport function unSkipSignin() {\n return {\n type: \"UNSKIP_SIGNIN\",\n remote: true\n };\n}\n\nexport function signinRemoteError(error) {\n return {\n type: \"SIGNIN_REMOTE_ERROR\",\n error\n };\n}\n\nexport function mainSigninSuccess(data) {\n return {\n type: \"MAIN_SIGNIN_SUCCESS\",\n data,\n remote: true\n };\n}\n\nexport function toggleAccountForm() {\n return {\n type: \"TOGGLE_ACCOUNT_FORM\"\n }\n}\n\nexport function goToStep(step) {\n return {\n type: \"SIGNIN_GO_TO_STEP\",\n step\n }\n}\n\nexport function initTokenRequest(email, remember) {\n return {\n type: \"INIT_TOKEN_REQUEST\",\n email,\n remember,\n remote: true\n };\n}\n\nexport function initResendTokenRequest(email, remember) {\n return {\n type: \"INIT_RESEND_TOKEN_REQUEST\",\n email,\n remember,\n remote: true\n };\n}\n\nexport function initTokenResponse(data) {\n return {\n type: \"INIT_TOKEN_RESPONSE\",\n data\n };\n}\n\nexport function submitTokenRequest(token) {\n return {\n type: \"SUBMIT_TOKEN_REQUEST\",\n token,\n remote: true\n };\n}\n\nexport function submitTokenResponse(data) {\n return {\n type: \"SUBMIT_TOKEN_RESPONSE\",\n data\n };\n}\n\nexport function setTokenError(errors) {\n return {\n type: \"SET_TOKEN_ERROR\",\n errors\n };\n}\n\nexport function clearTokenError() {\n return {\n type: \"CLEAR_TOKEN_ERROR\"\n };\n}\n\nexport function initUserSelectRequest(username) {\n return {\n type: \"INIT_USER_SELECT_REQUEST\",\n username,\n remote: true\n }\n}\n\nexport function showEmailConfirmation(payload) {\n return {\n type: \"SIGNIN_EMAIL_CONFIRMATION\",\n payload\n }\n}\n\nexport function editEmailConfirmation() {\n return {\n type: \"SIGNIN_EDIT_EMAIL\"\n }\n}\n\nexport function submitEmailUpdate(payload) {\n return {\n type: \"SIGNIN_SUBMIT_EMAIL\",\n payload\n }\n}\n\nexport function showCodeVerification() {\n return {\n type: \"SIGNIN_CODE_VERIFICATION\"\n }\n}\n\nexport function submitVerificationCode(code) {\n return {\n type: \"SIGNIN_SUBMIT_VERIFICATON\",\n remote: true,\n payload: {\n code\n }\n }\n}\n\nexport function setVerificationError(error) {\n return {\n type: \"SIGNIN_SET_VERIFICATON_ERROR\",\n payload: {\n error\n }\n }\n}\n\nexport function goBack() {\n return {\n type: \"SIGNIN_GO_BACK\"\n }\n}\n","import Immutable from \"seamless-immutable\";\nimport curry from \"lodash/curry\";\n\nexport default function invalidStep(routerState, checkoutState) {\n const stepName = routerState.params.step;\n const steps = checkoutState.model.steps;\n return !isStepEditable(steps, stepName);\n}\n\nexport const isStepEditable = curry((steps, stepName) => {\n const stepNames = steps.map(s => s.name);\n\n if (stepNames.includes(undefined)) {\n throw new Error();\n }\n\n const validities = statesToValidities(stepNames, stepStates(steps));\n return validities[stepName];\n});\n\nexport function stepState(step) {\n return step.status;\n}\n\nexport function stepStates(steps) {\n let states = {};\n for (const step of steps) {\n const state = stepState(step);\n states[step.name] = state;\n }\n return Immutable(states);\n}\n\nexport function statesToValidities(stepNames, statuses) {\n let validities = {};\n let seenPending = false;\n\n for (const stepName of stepNames) {\n switch (statuses[stepName]) {\n case \"locked\":\n validities[stepName] = false;\n break;\n\n case \"pending\":\n if (seenPending) {\n validities[stepName] = false;\n } else {\n validities[stepName] = true;\n seenPending = true;\n }\n break;\n\n case \"completed\":\n validities[stepName] = true;\n break;\n }\n }\n\n return Immutable(validities);\n}\n","import React, { Component } from \"react\";\nimport { Provider } from \"react-redux\";\n\nclass App extends Component {\n render() {\n const { store, children } = this.props;\n return <Provider store={store}>{children}</Provider>;\n }\n}\n\nexport default App;\n","import { TransitionGroup, CSSTransition } from \"react-transition-group\";\nimport PropTypes from \"prop-types\";\nimport { h, fasIcon } from \"h\";\nimport { priceSpans } from \"checkout/lookup/price\";\n\nconst MiniCart = (header, itemList, summary) => {\n return h(\".minicart\", [\n h(\".header\", header),\n h(\".cart\", [h(\"ul\", itemList), h(\".summary\", summary)])\n ]);\n};\n\nexport const CheckoutMiniCart = ({ items, summaryItems, subtotal, total }) => {\n const renderCheckoutCartItem = item =>\n h(\"li.cart-item.minicart-item\", { key: item.name }, [\n renderItemName(item),\n renderSubItems(item)\n ]);\n\n const renderCheckoutSummary = (subtotal, summaryItems, total) =>\n h(\".summary\", [\n h(\".summary_items\", [\n renderCartSubtotal(subtotal),\n ...summaryItems.map(renderCartSummaryItem)\n ]),\n renderCartTotal(total)\n ]);\n\n const header = [\n h(\"h2\", \"Cart Summary\"),\n h(\"a.btn-link.btn-edit\", { href: \"/cart\" }, \"Edit\")\n ];\n\n const itemList = items.map(renderCheckoutCartItem);\n\n const summary = renderCheckoutSummary(subtotal, summaryItems, total);\n\n return MiniCart(header, itemList, summary);\n};\n\nCheckoutMiniCart.propTypes = {\n ...cartProps,\n total: PropTypes.string.isRequired,\n summaryItems: PropTypes.arrayOf(PropTypes.object).isRequired\n};\n\nexport const LookupMiniCart = ({ items, subtotal, onRemoveFromCart, onEmptyCart, note }) => {\n if (!items || items.length === 0) {\n return null;\n }\n\n const renderLookupSummary = subtotal =>\n h(\".summary\", [\n h(\".summary_items\", [\n h(\".cart_total\", [h(\".label\", \"Subtotal\"), h(\".amount\", \"USD \" + subtotal)]),\n h(\".buttons\", [h(\"a.btn.primary\", { href: \"/cart\" }, \"Proceed to Cart\")])\n ])\n ]);\n\n const renderLookupCartItem = onRemoveFromCart => item => {\n return h(\"li.cart-item\", { key: item.name }, [\n renderItemName(item),\n h(\n \"button.remove_cart\",\n {\n title: \"Remove from cart\",\n onClick: () => onRemoveFromCart(item.name)\n },\n fasIcon(\"times\")\n ),\n renderSubItems(item)\n ]);\n };\n\n function renderNote(note) {\n return fadeSlide(note ? h(\".note\", note) : []);\n }\n\n const header = [\n renderNote(note),\n h(\"h2\", \"Cart Summary\"),\n h(\"button.btn-link.btn-edit\", { onClick: onEmptyCart }, \"Clear Cart\")\n ];\n\n const itemList = fadeSlideList(items.map(renderLookupCartItem(onRemoveFromCart)));\n\n const summary = renderLookupSummary(subtotal);\n\n return MiniCart(header, itemList, summary);\n};\n\nLookupMiniCart.propTypes = {\n ...cartProps,\n note: PropTypes.string,\n onRemoveFromCart: PropTypes.func.isRequired\n};\n\nfunction renderItemName(item) {\n const star = item.type === \"premium\" && premiumStar(item.premium_type);\n const bundle = !!item.bundle && h(\"span.bundle_offer_label\", [\"Bundle offer\"]);\n\n return h(\"span.name\", [item.name, star, bundle]);\n}\n\nfunction premiumStar(premiumType) {\n return fasIcon(\"star\", {\n className: `premium-star premium-${premiumType}`\n });\n}\n\nfunction fadeSlide(items) {\n const transition = {\n transitionName: \"note\",\n timeout: {\n enter: 500,\n exit: 500\n }\n }\n return h(\n TransitionGroup,\n mapItems(items, transition)\n );\n}\n\nfunction fadeSlideList(items) {\n const transition = {\n classNames: \"cart-item\",\n timeout: {\n enter: 500,\n exit: 500\n }\n }\n return h(\n TransitionGroup,\n {\n component: \"ul\"\n },\n mapItems(items, transition)\n );\n}\n\nfunction mapItems(items, transition) {\n return items.map(item => h(CSSTransition, {\n ...transition\n }, item))\n}\n\nfunction renderSubItems(item) {\n if (item.components.length > 0) {\n return h(\n \".sub\",\n item\n .components\n .map((component, idx) => renderItem(component, idx, item))\n );\n }\n}\n\nconst renderItem = (componentData, componentIndex, item) => {\n let amount = priceSpans(componentData);\n\n if (item.bundle && componentData.amount) {\n amount = componentData.amount;\n }\n\n return h(\".row\", { key: componentIndex }, [\n h(\".label\", componentData.label),\n \"\\xa0\", // for cukes\n h(\".amount\", amount)\n ]);\n}\n\nfunction renderCartSubtotal(total) {\n return h(\".cart_summary_item\", { fontWeight: 400 }, [\n h(\".label\", \"Subtotal\"),\n h(\".amount\", total)\n ]);\n}\n\nfunction renderCartSummaryItem({ label, amount }) {\n return h(\".cart_summary_item\", [h(\".label\", label), h(\".amount\", amount)]);\n}\n\nfunction renderCartTotal(total) {\n return h(\".cart_total.is_last\", [\n h(\".label\", \"Total\"),\n \" \", // for cukes\n h(\".amount\", `USD ${total}`)\n ]);\n}\n\nconst cartProps = {\n items: PropTypes.arrayOf(PropTypes.object).isRequired,\n subtotal: PropTypes.string.isRequired\n};\n","import { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { CheckoutMiniCart } from \"../components/MiniCart\";\nimport h from \"h\";\nimport { div, h1 } from \"tags\";\nimport { AsideHelp } from \"elements/aside_help\";\nimport { isSignedIn } from \"../reducers\";\nimport updateSigninMenu from \"../util/updateSigninMenu\";\n\nclass CheckoutMain extends Component {\n componentDidUpdate(oldProps) {\n if (oldProps.signedIn !== this.props.signedIn) {\n updateSigninMenu();\n }\n }\n\n render() {\n const { checkout, dispatch } = this.props;\n const cart = this.props.cart;\n const supportOpen = checkout.supportOpen;\n\n return div(\".results\", [\n h1(\"Checkout\"),\n div(\".left\", this.props.children),\n div(\".right\", [\n h(CheckoutMiniCart, cart),\n h(AsideHelp, { supportOpen, dispatch })\n ])\n ]);\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n checkout: state.checkout.asMutable({ deep: true }),\n cart: state.cart.asMutable({ deep: true }),\n signedIn: isSignedIn(state)\n };\n}\n\nexport default connect(mapStateToProps)(CheckoutMain);\n","import { initSignin } from \"2020/header\";\n\nexport default function() {\n $.get(\"/user_nav\", function(data) {\n if (document.querySelector(\".has_new_styles\")) {\n $(\".nav__link.has-more,.signin__menu\").remove()\n const oldItems = document.querySelectorAll(\".nav__link.has-more,.signin__menu\");\n\n for(let i = 0; i < oldItems.length; i++) {\n oldItems[i].remove();\n }\n\n const secondaryNav = document.querySelector(\".nav__secondary\");\n secondaryNav.innerHTML = secondaryNav.innerHTML + data;\n initSignin();\n } else {\n const [a, b] = $(\".user_menu\");\n a.remove();\n $(b).replaceWith(data);\n }\n });\n}\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport { div, main } from \"tags\";\nimport \"../styles/xfade.css\"\n\nconst steps = [\n {\n tick: 0,\n leaveClass: \"xfade-leave\",\n enterClass: \"xfade-enter\",\n enterHeight: (_he, hl) => hl\n },\n {\n tick: 1,\n leaveClass: \"xfade-leave xfade-leave-active\",\n enterClass: \"xfade-enter xfade-enter-active\",\n enterHeight: he => he\n },\n {\n tick: 500,\n leaveClass: \"\",\n enterClass: \"\",\n enterHeight: () => null\n }\n];\n\nclass Crossfade extends Component {\n constructor(props) {\n super(props);\n this.state = {\n inTransition: false\n };\n }\n\n UNSAFE_componentWillReceiveProps(newProps) {\n if (newProps.child1 && !this.props.child1) {\n this.fadeInEditor();\n } else if (!newProps.child1 && this.props.child1) {\n this.fadeInViewer();\n }\n }\n\n fadeInEditor() {\n this.setState({ inTransition: true }, () => {\n this.waitForHeights().then(({ eheight, vheight }) =>\n this.crossFade(true, eheight, vheight)\n );\n });\n }\n\n fadeInViewer() {\n this.setState({ inTransition: true }, () => {\n this.waitForHeights().then(({ eheight, vheight }) =>\n this.crossFade(false, vheight, eheight)\n );\n });\n }\n\n waitForHeights() {\n return new Promise(resolve => {\n const loop = step => {\n const { eheight, vheight } = this.state;\n const editorHeightMissing = eheight === undefined;\n const viewerHeightMissing = vheight === undefined; // && stepIsCompleted;\n if (step < 10 && (editorHeightMissing || viewerHeightMissing)) {\n return setTimeout(() => loop(step + 1), 20);\n }\n\n resolve({ eheight, vheight });\n };\n loop(0);\n });\n }\n\n crossFade(editorActive, h1, h2) {\n this.setState({\n inTransition: true,\n editorActive: editorActive,\n ...this.stepState(0, h1, h2)\n });\n\n setTimeout(() => {\n this.setState(this.stepState(1, h1, h2));\n }, 1);\n\n setTimeout(() => {\n this.setState({\n inTransition: false,\n editorActive: editorActive,\n ...this.stepState(2, h1, h2)\n });\n }, 500);\n }\n\n stepState(n, h1, h2) {\n const step = steps[n];\n const data = {\n leaveClass: step.leaveClass,\n enterClass: step.enterClass,\n enterStyle: { height: step.enterHeight(h1, h2) },\n leaveStyle: {\n position: \"absolute\",\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n }\n };\n return data;\n }\n\n render() {\n const { inTransition } = this.state;\n const { leaveClass, enterClass, leaveStyle, enterStyle } = this.state;\n const { child1, child2, mainStyle = {} } = this.props;\n const editorActive = !!this.props.child1;\n const eref = e => {\n if (e && this.state.eheight !== e.offsetHeight) {\n this.setState({ eheight: e.offsetHeight });\n }\n };\n const vref = e => {\n if (e && this.state.vheight !== e.offsetHeight) {\n this.setState({ vheight: e.offsetHeight });\n }\n };\n\n if (inTransition) {\n if (editorActive) {\n if (child2) {\n return div(\n \".xfade-height\",\n {\n key: \"xfade\",\n style: { position: \"relative\", ...enterStyle }\n },\n [\n main(\n \".leaving\",\n { key: \"child2\", className: leaveClass, style: leaveStyle },\n child2\n ),\n main(\n \".entering\",\n { key: \"child1\", ref: eref, className: enterClass },\n child1\n )\n ]\n );\n } else {\n return div(\n \".xfade-height\",\n {\n key: \"xfade\",\n style: { position: \"relative\", ...enterStyle }\n },\n [\n div(\".leaving\", {\n key: \"child2\",\n className: leaveClass,\n style: leaveStyle\n }),\n main(\n \".entering\",\n { key: \"child1\", ref: eref, className: enterClass },\n child1\n )\n ]\n );\n }\n } else {\n if (!child2) {\n return div(\n \".xfade-height\",\n {\n key: \"xfade\",\n style: { position: \"relative\", ...enterStyle }\n },\n [\n main(\n \".leaving\",\n { key: \"child1\", className: leaveClass, style: leaveStyle },\n child1\n ),\n div(\".entering\", { key: \"child2\", className: enterClass })\n ]\n );\n } else {\n return div(\n \".xfade-height\",\n {\n key: \"xfade\",\n style: { position: \"relative\", ...enterStyle }\n },\n [\n main(\n \".leaving\",\n { key: \"child1\", className: leaveClass, style: leaveStyle },\n child1\n ),\n main(\n \".entering\",\n { key: \"child2\", ref: vref, className: enterClass },\n child2\n )\n ]\n );\n }\n }\n } else {\n if (editorActive) {\n if (child2) {\n return div({ key: \"xfade\" }, [\n main({ key: \"child1\", ref: eref, style: mainStyle }, child1),\n main({ key: \"child2\", style: { display: \"none\" } }, child2)\n ]);\n } else {\n return div({ key: \"xfade\" }, [\n main({ key: \"child1\", ref: eref, style: mainStyle }, child1),\n div({ key: \"child2\", style: { display: \"none\" } })\n ]);\n }\n } else {\n if (child2) {\n return div({ key: \"xfade\" }, [\n main({ key: \"child2\", ref: vref, style: mainStyle }, child2),\n main({ key: \"child1\", style: { display: \"none\" } }, child1)\n ]);\n } else {\n return div({ key: \"xfade\" }, [\n div({ key: \"child2\", ref: vref, style: { display: \"none\" } }),\n main({ key: \"child1\", style: { display: \"none\" } }, child1)\n ]);\n }\n }\n }\n }\n}\n\nCrossfade.propTypes = {\n child1: PropTypes.node,\n child2: PropTypes.node,\n mainStyle: PropTypes.object\n};\n\nexport default Crossfade;\n","import PropTypes from \"prop-types\";\nimport { h } from \"h\";\nimport Crossfade from \"./Crossfade\";\nimport { div } from \"tags\";\n\nfunction SectionContent({ stepIsActive, stepIsCompleted, viewer, editor, title }) {\n const v = stepIsCompleted && viewer ? div(\".viewer\", viewer()) : null;\n const e = stepIsActive && editor ? div(\".editor\", editor()) : null;\n\n return h(Crossfade, { child2: v, child1: e, title: title });\n}\n\nSectionContent.propTypes = {\n stepIsActive: PropTypes.bool.isRequired,\n stepIsCompleted: PropTypes.bool.isRequired,\n viewer: PropTypes.func.isRequired,\n editor: PropTypes.func.isRequired\n};\n\nexport default SectionContent;\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport h from \"h\";\nimport c from \"classnames\";\nimport { section, h2 } from \"tags\";\n\nimport SectionContent from \"./SectionContent\";\n\nclass Section extends Component {\n render() {\n const {\n title,\n stepData: { position, status, locked: stepIsLocked, type: name },\n stepIsActive,\n viewer,\n editor\n } = this.props;\n\n const stepIsCompleted = status === \"completed\";\n\n const sectionProps = {\n className: c(stepIsActive && \"active\"),\n \"data-name\": name\n };\n\n const editButton = makeEditButton(this.props);\n\n return section(\".checkout\", sectionProps, [\n editButton,\n h2(\".section-title\", `${position}. ${title}`),\n h(SectionContent, {\n title,\n stepIsActive,\n stepIsCompleted,\n stepIsLocked,\n viewer,\n editor\n })\n ]);\n }\n}\n\nSection.propTypes = {\n title: PropTypes.string.isRequired, // display name - e.g., \"Registration Records\"\n stepData: PropTypes.shape({\n type: PropTypes.string.isRequired, // short name - e.g., \"registration\"\n position: PropTypes.number.isRequired,\n status: PropTypes.oneOf([\"pending\", \"completed\"]),\n locked: PropTypes.bool\n }).isRequired,\n stepIsActive: PropTypes.bool.isRequired,\n viewer: PropTypes.func.isRequired,\n editor: PropTypes.func.isRequired,\n onEdit: PropTypes.func.isRequired\n};\n\nfunction makeEditButton({ stepIsEditable, stepIsActive, onEdit, editButton, forceEdit }) {\n const defaultButton =\n editButton ||\n h(\n \"button.btn-link.btn-edit\",\n {\n onClick: onEdit\n },\n \"Edit\"\n );\n const button = editButton || defaultButton;\n return ((stepIsEditable && !stepIsActive) || forceEdit) && button;\n}\n\nexport default Section;\n","import { div } from \"tags\";\n\nexport default function AccountInfo() {\n return div(\".skipped\", \"You've chosen to skip sign in for this transaction.\");\n}\n","// import { PropTypes } from \"react\";\nimport { dl, dt, dd } from \"tags\";\n\nfunction Summary({ items }) {\n let elts = [];\n items.forEach(([label, value, _key]) => {\n elts.push(dt({ key: `t${label}` }, label));\n elts.push(dd({ key: `d${label}` }, value));\n });\n return dl(elts);\n}\n// Summary.propTypes = {\n// // XXX - why not [{ label, value }]?\n// items: PropTypes.arrayOf(\n// PropTypes.arrayOf(PropTypes.string.isRequired).isRequired\n// ).isRequired\n// };\n\nexport default Summary;\n","import PropTypes from \"prop-types\";\nimport h from \"h\";\nimport Summary from \"./Summary\";\n\nfunction fullName(first, last) {\n return [first, last].join(\" \");\n}\n\nexport default function AccountInfo({ first_name, last_name, email, username }) {\n return h(Summary, {\n items: [\n [\"Name\", fullName(first_name, last_name)],\n\n [\"Email\", email],\n\n [\"Username\", username]\n ]\n });\n}\n\nAccountInfo.propTypes = {\n first_name: PropTypes.string.isRequired,\n last_name: PropTypes.string.isRequired,\n email: PropTypes.string.isRequired,\n username: PropTypes.string.isRequired\n};\n","import React, { Fragment } from \"react\";\nimport { fasIcon } from \"h\";\n\nfunction MagicSigninLink(props) {\n return (\n <div className=\"magic-signin-link\">\n <Button step={props.step} onClick={props.onClick} />\n </div>\n );\n}\n\nfunction Button({ onClick, step }) {\n switch (step) {\n case \"ask_username_password\":\n return (\n <button className=\"btn-link\" onClick={() => onClick(\"ask_email\")}>\n {fasIcon(\"sparkles\")}\n <span>or Sign in With Magic Token</span>\n </button>\n );\n\n case \"ask_email\":\n return (\n <button\n className=\"btn-link\"\n onClick={() => onClick(\"ask_username_password\")}\n >\n {fasIcon(\"key\")}\n <span>or Sign in With Username & Password</span>\n </button>\n );\n }\n}\n\nexport default MagicSigninLink;\n","import PropTypes from \"prop-types\";\nimport React, { Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { div, button } from \"tags\";\nimport c from \"classnames\";\nimport { h, link, fasIcon } from \"h\";\nimport validator from \"../util/validator\";\nimport {\n form,\n ManagedForm,\n FormError,\n SubmitButton,\n TextField,\n PasswordField,\n CheckboxField,\n fieldType,\n} from \"../form\";\nimport MagicSigninLink from \"./MagicSigninLink\";\n\nexport class SigninForm extends React.Component {\n static propTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.shape({\n username: fieldType.isRequired,\n password: fieldType.isRequired,\n showPassword: fieldType.isRequired,\n remember: fieldType.isRequired,\n }).isRequired,\n signin: PropTypes.shape({\n note: PropTypes.string,\n loading: PropTypes.bool,\n }),\n actions: PropTypes.shape({\n signinRequest: PropTypes.func.isRequired,\n forgotUsername: PropTypes.func.isRequired,\n forgotPassword: PropTypes.func.isRequired,\n }).isRequired,\n cancelButton: PropTypes.node, // not required\n };\n\n constructor(props) {\n super(props);\n }\n\n handleSubmit(values) {\n const { actions } = this.props;\n const { username, password, remember } = values;\n const submitForm = (token) =>\n actions.signinRequest(username, password, remember, token).then((data) => {\n if (data.succeeded) {\n actions.successfulSignin(data);\n return Promise.resolve();\n } else {\n throw \"not_successful\";\n }\n });\n\n submitForm(null).catch(() => {});\n }\n\n signinRequest(username, password, remember, token) {\n\n }\n\n render() {\n const {\n form,\n fields,\n signin,\n cancelButton,\n actions: { forgotUsername, forgotPassword, goToStep },\n } = this.props;\n const { username, password, showPassword, remember } = fields;\n\n const loading = signin.isLoading;\n const hasError = signin.error;\n const className = c(\"account_signin_form\", { loading, hasError });\n const note = signin.note;\n\n const forgotUsernameButton = button(\n \".btn-link.field-help\",\n {\n type: \"button\",\n onClick: forgotUsername,\n tabIndex: -1,\n },\n \"Forgot Username?\"\n );\n\n const forgotPasswordButton = button(\n \".btn-link.field-help\",\n {\n type: \"button\",\n onClick: forgotPassword,\n tabIndex: -1,\n },\n \"Forgot Password?\"\n );\n\n const onSubmit = (values) => this.handleSubmit(values);\n\n return h(Fragment, [\n h(ManagedForm, { form, className, onSubmit }, [\n div(\".fieldgroup\", [\n h(FormError, {\n text: signin.error,\n customizer: customError(forgotPassword),\n }),\n div(\".row\", [\n h(TextField, {\n width: 12,\n field: username,\n autoFocus: true,\n label: \"Username\",\n help: forgotUsernameButton,\n }),\n ]),\n div(\".row\", [\n h(PasswordField, {\n width: 12,\n field: password,\n show: showPassword,\n label: \"Password\",\n help: forgotPasswordButton,\n }),\n ]),\n note && div(\".row.signin-note\", note),\n div(\".signin-controls\", [\n h(CheckboxField, {\n field: remember,\n label: \"Keep me signed in\",\n style: { float: \"left\" },\n }),\n div(\".buttons\", [\n h(SubmitButton, { form, text: \"Sign in\" }),\n cancelButton,\n ]),\n ]),\n ]),\n\n ]),\n signin.magicSigninEnabled && h(MagicSigninLink, { step: signin.step, onClick: goToStep }),\n ]);\n }\n}\n\nconst fields = [\"username\", \"password\", \"showPassword\", \"remember\"];\n\nexport function validate(values) {\n return validator(values, {\n username: { presence: true },\n password: { presence: true },\n });\n}\n\nexport function mapStateToProps(state) {\n return {\n initialValues: {\n username: state.signin.username,\n },\n };\n}\n\nfunction customError(action) {\n return (text) => {\n if (text.includes(\"has been locked\")) {\n return h(\"div\", [\n \"Your account is locked because of too many failed sign in attempts. \",\n \"It can be unlocked by \",\n link(\"resetting the password\", { onClick: action }),\n \". If you are unable to reset your password, contact Hover Support.\",\n ]);\n }\n };\n}\n\nexport default connect(mapStateToProps)(form(fields, validate)(SigninForm));\n","import React, { Fragment } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { form, ManagedForm, TextField, SubmitButton, CheckboxField } from \"../form\";\nimport validator from \"../util/validator\";\nimport MagicSigninLink from \"./MagicSigninLink\";\n\nfunction SigninEmailForm(props) {\n const { fields, signin, actions, form } = props;\n const onSubmit = (values) => {\n actions.initTokenRequest(values.email, values.remember);\n };\n return (\n <Fragment>\n <ManagedForm form={form} onSubmit={onSubmit} className=\"email-verification-form\">\n <div className=\"row\">\n <TextField width={12} label={\"Email\"} field={fields.email} />\n </div>\n <div className={\"signin-controls\"}>\n <CheckboxField\n width={12}\n field={fields.remember}\n label={\"Keep me signed in\"}\n />\n <SubmitButton form={form} text={\"Send Token\"} />\n </div>\n </ManagedForm>\n <MagicSigninLink step={signin.step} onClick={actions.goToStep} />\n </Fragment>\n );\n}\n\nconst fields = [\"email\", \"remember\"];\n\nfunction validate(values) {\n return validator(values, {\n email: {\n presence: true,\n email: true,\n },\n });\n}\n\nSigninEmailForm.propTypes = {\n actions: PropTypes.shape({\n initTokenRequest: PropTypes.func.isRequired,\n }).isRequired,\n};\n\nexport default form(fields, validate)(SigninEmailForm);\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { fields, validate } from \"../../email_verification/VerificationCodeForm\";\nimport VerificationCodeInput from \"../../email_verification/VerificationCodeInput\";\nimport VerificationCodeControls from \"../../email_verification/VerificationCodeControls\";\nimport VerificationError from \"../../email_verification/VerificationError\";\nimport VerificationMessage from \"../../email_verification/VerificationMessage\";\nimport { form, ManagedForm } from \"checkout/form\";\n\n\nfunction SigninTokenForm(props) {\n const { actions, fields, form, signin } = props;\n const { email, tokenError } = signin;\n\n const onSubmit = (values) => {\n actions.submitTokenRequest(values.code).then((data) => {\n if (data.succeeded) {\n if (data.status === \"completed\") {\n actions.successfulSignin(data);\n }\n return Promise.resolve();\n } else {\n throw \"not_successful\";\n }\n });\n }\n\n const onBack = () => {\n actions.goToStep(\"ask_email\");\n }\n\n const onResend = () => {\n actions.initResendTokenRequest(email);\n }\n return (\n <ManagedForm form={form} onSubmit={onSubmit} className=\"email-verification\">\n <VerificationError formError={tokenError} />\n <VerificationMessage email={email} type={\"an authentication\"} />\n <VerificationCodeInput updateCode={fields.code.onChange} />\n <VerificationCodeControls form={form} onBack={onBack} onResend={onResend} />\n </ManagedForm>\n );\n}\n\nSigninTokenForm.propTypes = {\n signin: PropTypes.shape({\n email: PropTypes.string.isRequired,\n remember: PropTypes.bool\n })\n};\n\nexport default form(fields, validate)(SigninTokenForm);\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport c from \"classnames\";\nimport h from \"h\";\nimport validator from \"../util/validator\";\nimport { div, button, p } from \"tags\";\nimport {\n form,\n ManagedForm,\n SubmitButton,\n FormError,\n EmailField,\n fieldType\n} from \"../form\";\n\nexport class ForgotUsername extends Component {\n static propTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.shape({\n email: fieldType.isRequired\n }).isRequired,\n signin: PropTypes.shape({\n note: PropTypes.string,\n error: PropTypes.string\n }).isRequired,\n actions: PropTypes.shape({\n submitPasswordRecovery: PropTypes.func.isRequired,\n signinCancel: PropTypes.func.isRequired\n }).isRequired\n };\n\n handleSubmit(values) {\n const { actions } = this.props;\n actions.submitPasswordRecovery(values.email);\n }\n\n render() {\n const { form, fields, signin, actions } = this.props;\n const className = c(\"forgot_username\", {\n loading: signin.isLoading,\n hasError: signin.error\n });\n const onSubmit = values => this.handleSubmit(values);\n\n return h(ManagedForm, { form, className, onSubmit }, [\n div(\".fieldgroup\", [\n h(FormError, { text: signin.error }),\n div(\".row\", [\n p(\n \".note\",\n `If you don't know your Hover username,\n provide the email address associated with your account\n and we'll send you an email with your username.`\n )\n ]),\n div(\".row\", [\n h(EmailField, {\n width: 12,\n label: \"Email Address\",\n field: fields.email,\n autoFocus: true\n })\n ])\n ]),\n div(\".fieldgroup.buttons\", [\n button(\n \".btn-link .form_cancel\",\n { type: \"button\", onClick: actions.signinCancel },\n \"Cancel\"\n ),\n h(SubmitButton, { form, text: \"Send\" })\n ])\n ]);\n }\n}\n\nconst fields = [\"email\"];\n\nexport function validate(values) {\n return validator(values, {\n email: { presence: true, email: true }\n });\n}\n\nexport default form(fields, validate)(ForgotUsername);\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport c from \"classnames\";\nimport h from \"h\";\nimport validator from \"../util/validator\";\nimport { div, button, p } from \"tags\";\nimport {\n form,\n ManagedForm,\n SubmitButton,\n FormError,\n TextField,\n fieldType\n} from \"../form\";\n\nexport class ForgotPassword extends Component {\n static propTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.shape({\n username: fieldType.isRequired\n }).isRequired,\n signin: PropTypes.shape({\n note: PropTypes.string\n }).isRequired,\n actions: PropTypes.shape({\n submitPasswordRecovery: PropTypes.func.isRequired,\n signinCancel: PropTypes.func.isRequired\n }).isRequired\n };\n\n handleSubmit(values) {\n const { actions } = this.props;\n actions.submitPasswordRecovery(values.username);\n }\n\n render() {\n const { form, fields, signin, actions } = this.props;\n const className = c(\"forgot_password\", {\n loading: signin.isLoading,\n hasError: signin.error\n });\n const onSubmit = values => this.handleSubmit(values);\n\n return h(ManagedForm, { form, className, onSubmit }, [\n div(\".fieldgroup\", [\n h(FormError, { text: signin.error }),\n div(\".row\", [\n p(\n \".note\",\n \"Give us your Hover username and we'll send you a link to reset your password.\"\n )\n ]),\n div(\".row\", [\n h(TextField, {\n width: 12,\n label: \"Username\",\n field: fields.username,\n autoFocus: true\n })\n ])\n ]),\n div(\".fieldgroup.buttons\", [\n button(\n \".btn-link .form_cancel\",\n { type: \"button\", onClick: actions.signinCancel },\n \"Cancel\"\n ),\n h(SubmitButton, { form, text: \"Send\" })\n ])\n ]);\n }\n}\n\nconst fields = [\"username\"];\n\nexport function validate(values) {\n return validator(values, {\n username: { presence: true }\n });\n}\n\nexport default form(fields, validate)(ForgotPassword);\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport { div, button, span } from \"tags\";\nimport c from \"classnames\";\nimport h from \"h\";\nimport validator from \"../util/validator\";\nimport {\n form,\n ManagedForm,\n FormError,\n SubmitButton,\n TextField,\n fieldType\n} from \"../form\";\n\nexport class TwoFactorSms extends Component {\n static propTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.shape({\n twoFactorCode: fieldType\n }).isRequired,\n signin: PropTypes.shape({\n note: PropTypes.string,\n error: PropTypes.string,\n mobile: PropTypes.string.isRequired,\n loading: PropTypes.bool\n }),\n actions: PropTypes.shape({\n sendTwoFactorCode: PropTypes.func.isRequired,\n successfulSignin: PropTypes.func.isRequired,\n resendSmsRequest: PropTypes.func.isRequired,\n twoFactorStartRecovery: PropTypes.func.isRequired\n }).isRequired,\n cancelButton: PropTypes.node\n };\n\n constructor(props) {\n super(props);\n this.state = { resendConfirm: null };\n }\n\n handleSubmit(values) {\n const { actions } = this.props;\n actions\n .sendTwoFactorCode(values.twoFactorCode)\n .then(data => actions.successfulSignin(data));\n }\n\n resendState() {\n const { signin } = this.props;\n const divProps = {\n style: {\n float: \"right\"\n }\n };\n\n return div([\n this.resendActions(),\n signin.note && div(\".signin-note\", divProps, signin.note)\n ]);\n }\n\n askResend() {\n this.setState({ resendConfirm: \"asking\" });\n }\n\n cancelResend() {\n this.setState({ resendConfirm: null });\n }\n\n resendActions() {\n const { signin, actions } = this.props;\n const { mobile } = signin;\n\n if (this.state.resendConfirm === \"asking\") {\n return span([\n `Resend to phone ending in ${mobile}? `,\n btnLink(actions.resendSmsRequest, \"Yes\"),\n \" / \",\n btnLink(() => this.cancelResend(), \"No\")\n ]);\n } else {\n return btnLink(() => this.askResend(), \"I didn't get the code\");\n }\n }\n\n render() {\n const { form, fields, signin, cancelButton, actions } = this.props;\n const { mobile } = signin;\n const className = c(\"smsauth\", {\n loading: signin.isLoading,\n hasError: signin.error\n });\n const onSubmit = values => this.handleSubmit(values);\n\n const recoveryButton = button(\n \".btn-link.field-help\",\n {\n type: \"button\",\n onClick: () => actions.twoFactorStartRecovery(),\n tabIndex: -1\n },\n \"I've lost my phone\"\n );\n\n return h(ManagedForm, { form, className, onSubmit }, [\n h(FormError, { text: signin.error }),\n div(\n \".row.note\",\n `Enter the code sent to your mobile phone ending in ${mobile}`\n ),\n div(\".row\", [\n h(TextField, {\n width: 12,\n label: \"Code\",\n field: fields.twoFactorCode,\n help: recoveryButton,\n autoFocus: true,\n autoComplete: \"one-time-code\"\n })\n ]),\n div(\".row\", this.resendState()),\n div(\".signin-controls\", [\n div(\".buttons\", [\n h(SubmitButton, { form, text: \"Continue\" }),\n cancelButton,\n ]),\n ]),\n ]);\n }\n}\n\nfunction btnLink(onClick, text) {\n return button(\".btn-llink\", { type: \"button\", onClick }, text);\n}\n\nconst fields = [\"twoFactorCode\"];\n\nfunction validate(values) {\n return validator(values, {\n twoFactorCode: { presence: true }\n });\n}\n\nexport default form(fields, validate)(TwoFactorSms);\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport { div, button } from \"tags\";\nimport c from \"classnames\";\nimport h from \"h\";\nimport validator from \"../util/validator\";\nimport {\n form,\n ManagedForm,\n FormError,\n SubmitButton,\n TextField,\n fieldType\n} from \"../form\";\n\nexport class TwoFactorApp extends Component {\n static propTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.shape({\n twoFactorCode: fieldType\n }).isRequired,\n signin: PropTypes.shape({\n note: PropTypes.string,\n error: PropTypes.string,\n loading: PropTypes.bool\n }),\n actions: PropTypes.shape({\n sendTwoFactorCode: PropTypes.func.isRequired\n }).isRequired,\n cancelButton: PropTypes.node\n };\n\n handleSubmit(values) {\n const { actions } = this.props;\n actions\n .sendTwoFactorCode(values.twoFactorCode)\n .then(data => actions.successfulSignin(data));\n }\n\n render() {\n const { form, fields, signin, cancelButton, actions } = this.props;\n const className = c(\"appauth\", {\n loading: signin.isLoading,\n hasError: signin.error\n });\n const onSubmit = values => this.handleSubmit(values);\n\n const recoveryButton = button(\n \".btn-link.field-help\",\n {\n type: \"button\",\n onClick: actions.twoFactorStartRecovery,\n tabIndex: -1\n },\n \"I can't use my authenticator app\"\n );\n\n return h(ManagedForm, { form, className, onSubmit }, [\n h(FormError, { text: signin.error }),\n div(\".row.note\", \"Enter the code generated by your authenticator app.\"),\n div(\".row\", [\n h(TextField, {\n width: 12,\n label: \"Code\",\n field: fields.twoFactorCode,\n help: recoveryButton,\n autoFocus: true\n })\n ]),\n div(\".signin-controls\", [\n div(\".buttons\", [\n h(SubmitButton, { form, text: \"Continue\" }),\n cancelButton,\n ]),\n ]),\n ]);\n }\n}\n\nconst fields = [\"twoFactorCode\"];\n\nfunction validate(values) {\n return validator(values, {\n twoFactorCode: { presence: true }\n });\n}\n\nexport default form(fields, validate)(TwoFactorApp);\n","// extracted by mini-css-extract-plugin\nexport default {\"buttons\":\"_45qYsrIVXw+Wy9yFITRjTQ==\",\"recovery_code_button\":\"efWmAw1QJUx2Vf-totJg7w==\",\"resend_button\":\"_69v1yUblUrWSNKrAH9121w==\",\"verification_holder\":\"ZYlvhBzW0sB9Vz0GFDaMiA==\"};","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { button } from \"tags\";\nimport c from \"classnames\";\nimport validator from \"../util/validator\";\nimport { form, ManagedForm, SubmitButton, fieldType } from \"../form\";\nimport VerificationCodeInput from \"../../email_verification/VerificationCodeInput\";\nimport VerificationHolder from \"../../email_verification/VerificationHolder\";\nimport VerificationError from \"../../email_verification/VerificationError\";\nimport VerificationMessage from \"../../email_verification/VerificationMessage\";\nimport styles from \"./two_factor_email.module.sass\";\n\nfunction TwoFactorEmail(props) {\n const { form, fields, signin, cancelButton, actions } = props;\n const { email } = signin;\n const className = c(\"appemail\", {\n loading: signin.isLoading,\n hasError: signin.error,\n });\n const onSubmit = (values) => {\n actions\n .sendTwoFactorCode(values.twoFactorCode)\n .then(\n (data) => actions.successfulSignin(data),\n // handleTwoFactorRequest has already taken care of this error\n // but we still want to halt\n (_) => null\n );\n };\n\n const recoveryButton = button(\n \".btn-link.field-help\",\n {\n type: \"button\",\n onClick: actions.twoFactorStartRecovery,\n tabIndex: -1,\n },\n \"I can't use my authenticator app\"\n );\n\n const errors = signin.error ? [signin.error] : null;\n\n return (\n <ManagedForm\n form={form}\n className={styles.two_factor_email_form}\n onSubmit={onSubmit}\n >\n <VerificationError formError={errors} />\n <VerificationHolder className={styles.verification_holder}>\n <VerificationMessage email={email} />\n <VerificationCodeInput updateCode={fields.twoFactorCode.onChange} />\n </VerificationHolder>\n <div className={styles.buttons}>\n <button\n className={c(\"btn-link\", styles.recovery_code_button)}\n onClick={actions.twoFactorStartRecovery}\n type=\"button\"\n >\n Use Recovery Code\n </button>\n <button\n className={c(\"btn-link\", styles.resend_button)}\n onClick={actions.resendSmsRequest}\n type=\"button\"\n >\n Resend Code\n </button>\n <SubmitButton form={form} text=\"Confirm Code\" />\n </div>\n </ManagedForm>\n );\n}\n\nTwoFactorEmail.propTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.shape({\n twoFactorCode: fieldType,\n }).isRequired,\n signin: PropTypes.shape({\n note: PropTypes.string,\n error: PropTypes.string,\n loading: PropTypes.bool,\n }),\n actions: PropTypes.shape({\n sendTwoFactorCode: PropTypes.func.isRequired,\n }).isRequired,\n cancelButton: PropTypes.node,\n};\n\nconst fields = [\"twoFactorCode\"];\n\nfunction validate(values) {\n return validator(values, {\n twoFactorCode: { presence: true },\n });\n}\n\nexport default form(fields, validate)(TwoFactorEmail);\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport { div, a } from \"tags\";\nimport c from \"classnames\";\nimport h from \"h\";\nimport validator from \"../util/validator\";\nimport {\n form,\n ManagedForm,\n FormError,\n SubmitButton,\n TextField,\n fieldType\n} from \"../form\";\n\nexport class TwoFactorRecovery extends Component {\n static propTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.shape({\n recoveryCode: fieldType\n }).isRequired,\n signin: PropTypes.shape({\n error: PropTypes.string,\n loading: PropTypes.bool\n }),\n actions: PropTypes.shape({\n twoFactorRecoveryRequest: PropTypes.func.isRequired\n }).isRequired,\n cancelButton: PropTypes.node\n };\n\n handleSubmit(values) {\n const { actions } = this.props;\n actions.twoFactorRecoveryRequest(values.recoveryCode).then(data => {\n if (data.status === \"completed\") {\n return actions.successfulSignin(data);\n }\n });\n }\n\n render() {\n const { form, fields, signin, cancelButton } = this.props;\n const className = c(\"recovery\", {\n loading: signin.isLoading,\n hasError: signin.error\n });\n const onSubmit = values => this.handleSubmit(values);\n\n return h(ManagedForm, { form, className, onSubmit }, [\n div(\".fieldgroup\", [\n h(FormError, { text: signin.error }),\n div(\".row.note\", \"Provide your recovery code to access your account\"),\n div(\".row\", [\n h(TextField, {\n width: 12,\n label: \"Recovery Code\",\n field: fields.recoveryCode,\n autoFocus: true\n })\n ]),\n div(\".row.note\", [\n \"Don't have your recovery code? \",\n a(\n { href: \"https://help.hover.com/\", target: \"_blank\" },\n \"Contact Hover Support\"\n )\n ])\n ]),\n div(\".fieldgroup.buttons\", [\n h(SubmitButton, { form, text: \"Continue\" }),\n cancelButton\n ])\n ]);\n }\n}\n\nconst fields = [\"recoveryCode\"];\n\nfunction validate(values) {\n return validator(values, {\n recoveryCode: { presence: true }\n });\n}\n\nexport default form(fields, validate)(TwoFactorRecovery);\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport { form } from \"../form\";\nimport h from \"h\";\nimport { div, p, button } from \"tags\";\n\nimport SigninForm from \"./SigninForm\";\nimport SigninEmailForm from \"./SigninEmailForm\";\nimport SigninTokenForm from \"./SigninTokenForm\";\nimport ForgotUsername from \"./ForgotUsername\";\nimport ForgotPassword from \"./ForgotPassword\";\nimport CreateAccountWizard from \"signup/CreateAccountWizard\";\nimport TwoFactorSms from \"./TwoFactorSms\";\nimport TwoFactorApp from \"./TwoFactorApp\";\nimport TwoFactorEmail from \"./TwoFactorEmail\";\nimport TwoFactorRecovery from \"./TwoFactorRecovery\";\nimport Crossfade from \"./Crossfade\";\n\nexport class AccountForm extends Component {\n render() {\n const { accountForm, fields, canSkip } = this.props;\n\n if (accountForm.skipSignin == \"confirm\") {\n return this.confirmSkipSignin();\n }\n\n const mode = fields.mode;\n if (mode.value === \"signed_in\" || mode.value === \"tos\") {\n return this.confirmSignOut();\n }\n\n const childForms = this.renderForm();\n\n return div(\".account-form\", [\n div([\n h(Crossfade, {\n child1: childForms.signin,\n child2: childForms.createAccount\n })\n ])\n ]);\n }\n\n confirmSkipSignin() {\n const { skipSignin, cancelSkipSignin } = this.props.actions;\n return h(\"form\", [\n div(\".fieldgroup\", [\n p(\n \"Can't access your account? Need to renew a domain on behalf of someone else? In a big hurry? Hover lets you renew a domain without signing in.\"\n )\n ]),\n div(\".fieldgroup\", [\n button(\n \".btn.btn-primary\",\n { type: \"button\", onClick: skipSignin },\n \"Yes, skip sign in\"\n ),\n button(\n \".btn-link.form_cancel\",\n { type: \"button\", onClick: cancelSkipSignin },\n \"Cancel\"\n )\n ])\n ]);\n }\n\n confirmSignOut() {\n const onClick = () => {\n this.props.actions.redirectToNextStep();\n this.props.actions.toggleAccountForm();\n }\n\n return h(\"form\", { method: \"POST\", action: \"/checkout/signout\" }, [\n div(\".fieldgroup\", [\n p(\"Sign out to complete this purchase as a different user?\")\n ]),\n div(\".fieldgroup.buttons\", [\n button(\n \".btn-link.form_cancel\",\n { type: \"button\", onClick },\n \"Cancel\"\n ),\n button(\".btn.btn-primary.signout\", \"Sign out\")\n ])\n ]);\n }\n\n renderForm() {\n const {\n fields,\n canSkip,\n actions,\n accountForm: { formName },\n } = this.props;\n if (formName === \"signin\" || canSkip) {\n return { signin: this.signinForm() };\n } else {\n const { verificationRequired } = this.props;\n return {\n createAccount: h(CreateAccountWizard, {\n key: \"create\",\n actions,\n verificationRequired\n }),\n };\n }\n }\n\n signinForm() {\n const { signin, actions, magicSigninEnabled } = this.props;\n const cancelButton = this.skipSigninButton();\n const step = signin.step;\n\n switch (step) {\n case \"ask_username_password\":\n return h(SigninForm, {\n key: step,\n signin,\n actions,\n cancelButton,\n magicSigninEnabled,\n });\n\n case \"forgot_username\":\n return h(ForgotUsername, {\n key: step,\n signin,\n actions,\n cancelButton,\n });\n\n case \"forgot_password\":\n return h(ForgotPassword, {\n key: step,\n signin,\n actions,\n cancelButton,\n });\n\n case \"ask_2fa_sms\":\n return h(TwoFactorSms, {\n key: step,\n signin,\n actions,\n cancelButton,\n });\n\n case \"ask_2fa_app\":\n return h(TwoFactorApp, {\n key: step,\n signin,\n actions,\n cancelButton,\n });\n\n case \"ask_2fa_email\":\n return h(TwoFactorEmail, {\n key: step,\n signin,\n actions,\n cancelButton,\n });\n case \"recovery\":\n return h(TwoFactorRecovery, {\n key: step,\n signin,\n actions,\n cancelButton,\n });\n\n case \"ask_email\": {\n const initialValues = {\n email: signin.email\n }\n return h(SigninEmailForm, { actions, signin, step, initialValues });\n }\n\n case \"ask_token\":\n return h(SigninTokenForm, { actions, signin, step });\n\n default:\n throw new Error(\"No such step: \" + step);\n }\n }\n\n skipSigninButton() {\n const { canSkip, numSigninFailures, actions } = this.props;\n if (canSkip && numSigninFailures >= 2) {\n return button(\n \".btn-link.form_cancel\",\n {\n type: \"button\",\n onClick: () => actions.confirmSkipSignin()\n },\n \"Renew without signing in\"\n );\n } else {\n return null;\n }\n }\n}\n\nAccountForm.propTypes = {\n actions: PropTypes.object.isRequired,\n canSkip: PropTypes.bool,\n};\n\nconst fields = [\"mode\"];\n\nexport default form(fields)(AccountForm);\n","import PropTypes from \"prop-types\"\nimport h from \"h\";\nimport TosForm from \"./TosForm\";\n\nconst onSubmit = (handleSubmit) => () => handleSubmit();\n\nconst StandAloneTosForm = ({ handleSubmit }) => {\n return h(\".account-form\",\n h(TosForm, { onSubmit: onSubmit(handleSubmit) })\n );\n}\n\nStandAloneTosForm.propTypes = {\n handleSubmit: PropTypes.func.isRequired\n}\n\nexport default StandAloneTosForm;\n","import { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { bindActionCreators } from \"redux\";\nimport get from \"lodash/get\";\n\nimport h from \"h\";\nimport { button } from \"tags\";\nimport * as checkoutActions from \"../actions/checkout_actions\";\nimport * as signinActions from \"../actions/signinActions\";\n\nimport Section from \"../components/Section\";\nimport AccountSkipped from \"../components/AccountSkipped\";\nimport AccountInfo from \"../components/AccountInfo\";\nimport AccountForm from \"../components/AccountForm\";\nimport StandAloneTosForm from \"../components/StandAloneTosForm\";\nimport Crossfade from \"../components/Crossfade\";\nimport { numSigninFailures } from \"../reducers\";\n\nclass AccountStep extends Component {\n render() {\n const { account, stepIsActive, accountForm } = this.props;\n const viewer = () =>\n account.skipped ? h(AccountSkipped) : h(AccountInfo, account);\n const editor = () => {\n const { accountForm, tosForm } = renderForm(this.props);\n return h(Crossfade, {\n child1: accountForm,\n child2: tosForm\n });\n };\n const editButton = renderEditButton(this.props);\n\n return h(Section, {\n ...this.props,\n title: \"Your Account\",\n viewer,\n editor,\n editButton,\n forceEdit: stepIsActive\n });\n }\n}\n\nfunction renderForm(props) {\n const { handleSubmit, canSkip, accountForm } = props;\n if (\n get(props, \"account.mode\") === \"tos\" &&\n accountForm.formName !== \"signin\"\n ) {\n return {\n tosForm: h(StandAloneTosForm, { handleSubmit: props.actions.agreeToTerms })\n };\n } else {\n return {\n accountForm: h(AccountForm, {\n ...props,\n onSubmit: handleSubmit,\n canSkip\n })\n };\n }\n}\n\nfunction renderEditButton({\n actions,\n onEdit,\n account,\n accountForm: { formName },\n stepIsActive\n}) {\n const { unSkipSignin } = actions;\n if (stepIsActive) {\n const onClick = () => actions.toggleAccountForm();\n if (get(account, \"mode\") === \"tos\" && formName !== \"signin\") {\n return button(\".btn-link.btn-edit\", { onClick }, \"Use a different account\");\n } else {\n return button(\n \".btn-link.btn-edit\",\n { onClick },\n formName === \"create\" ? \"Use an existing account\" : \"Create an account\"\n );\n }\n } else if (account.skipped) {\n return button(\".btn-link.btn-edit\", { onClick: unSkipSignin }, \"Sign in\");\n } else {\n return button(\n \".btn-link.btn-edit\",\n { onClick: onEdit },\n \"Use a different account\"\n );\n }\n}\n\nfunction mapStateToProps(state) {\n const { checkout, signin, accountForm } = state;\n const initialValues = checkout.model.formData.account.asMutable();\n const canSkip = !!initialValues.can_skip;\n if (canSkip) {\n initialValues.mode = \"signin\";\n }\n\n return {\n account: initialValues,\n signin,\n accountForm,\n initialValues,\n canSkip,\n numSigninFailures: numSigninFailures(state),\n verificationRequired: checkout.verificationRequired,\n magicSigninEnabled: checkout.magicSigninEnabled\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n const actions = { ...signinActions, ...checkoutActions };\n return { actions: bindActionCreators(actions, dispatch) };\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(AccountStep);\n","import cardInfo from \"../util/cardInfo\";\n\nexport function fullName(first, last) {\n return [first, last].join(\" \");\n}\n\nexport function fmtAddress(values) {\n const { address1, address2, city, state, zip, country } = values;\n\n return [address1, address2, [city, state, zip, country].filter(notNull).join(\" \")]\n .filter(notNull)\n .join(\", \");\n}\n\nconst notNull = x => !!x;\n\nexport function fmtCreditCard(values) {\n if (!values.card_number) {\n return fmtMinimalCreditCard(values);\n }\n\n const card = cardInfo(values.card_number);\n const cardType = findCardType(values, card);\n\n const last4 = last(4, values.card_number);\n const expires = `${values.expiry_month}/${values.expiry_year}`;\n return `${cardType} card ending in ${last4}, expires ${expires}`;\n}\n\nfunction fmtMinimalCreditCard(values) {\n if (!values.lastTwo) {\n return \"\";\n }\n return `${values.cardType} card ending in ${values.lastTwo}`;\n}\n\nexport function fmtPhone(phone) {\n return phone;\n}\n\nconst cardTypes = {\n visa: \"VISA\",\n mastercard: \"MasterCard\",\n \"master-card\": \"MasterCard\",\n discover: \"Discover\",\n amex: \"American Express\",\n \"american-express\": \"American Express\"\n};\n\nfunction findCardType(values, card) {\n if (card && card.type) {\n return cardTypes[card.type];\n } else if (values && values.card_type) {\n return cardTypes[values.card_type];\n } else {\n return null;\n }\n}\n\nfunction last(n, str) {\n if (!str) return \"\";\n return str.slice(str.length - n);\n}\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport { dl, dt, dd } from \"tags\";\n\nimport { fullName, fmtAddress } from \"./format\";\n\nexport default class RegistrationInfo extends Component {\n render() {\n const { first_name, last_name, org_name, email, phone } = this.props;\n const { orgNameRequired } = this.props;\n return dl([\n dt(\"Name\"),\n dd(fullName(first_name, last_name)),\n orgNameRequired && dt(\"Organization\"),\n orgNameRequired && dd(org_name),\n dt(\"Address\"),\n dd(fmtAddress(this.props)),\n dt(\"Email\"),\n dd(email),\n dt(\"Phone Number\"),\n dd(phone)\n ]);\n }\n}\n\nRegistrationInfo.propTypes = {\n first_name: PropTypes.string,\n last_name: PropTypes.string,\n org_name: PropTypes.string,\n address1: PropTypes.string,\n address2: PropTypes.string,\n city: PropTypes.string,\n state: PropTypes.string,\n country: PropTypes.string,\n zip: PropTypes.string,\n phone: PropTypes.string,\n fax: PropTypes.string,\n showOrgName: PropTypes.bool\n};\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport h from \"h\";\nimport { div, button } from \"tags\";\nimport { SubmitButton } from \"../form\";\n\nexport default class FormButtons extends Component {\n static propTypes = {\n status: PropTypes.oneOf([\"pending\", \"completed\"]),\n onCancel: PropTypes.func.isRequired,\n form: PropTypes.shape({\n isReady: PropTypes.bool.isRequired\n }).isRequired\n };\n render() {\n const { status, onCancel, form } = this.props;\n const className = this.props.className || \"fieldgroup buttons\";\n return div({ className }, buttons(status, onCancel, form));\n }\n}\n\nfunction buttons(status, onCancel, form) {\n const editMode = status === \"completed\";\n\n if (editMode) {\n return [cancelButton(onCancel), h(SubmitButton, { form, text: \"Save Changes\" })];\n } else {\n return h(SubmitButton, { form, text: \"Continue\" });\n }\n}\n\nfunction cancelButton(onClick) {\n return button(\".btn-link.form_cancel\", { type: \"button\", onClick }, \"Cancel\");\n}\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport h from \"h\";\nimport { notifyUnsaved } from \"../actions/checkout_actions\";\n\nexport default function notifyChanges(Component) {\n class Notifier extends React.Component {\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.form.isChanged !== this.props.form.isChanged) {\n this.props.notifyUnsaved(nextProps.form.isChanged);\n }\n }\n\n render() {\n return h(Component, this.props);\n }\n }\n\n return connect(undefined, mapDispatchToProps)(Notifier);\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n notifyUnsaved: step => dispatch(notifyUnsaved(step))\n };\n}\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport h from \"h\";\nimport c from \"classnames\";\nimport { div } from \"tags\";\nimport validator from \"../util/validator\";\nimport {\n form,\n ManagedForm,\n FormError,\n TextField,\n EmailField,\n PhoneField,\n SelectField,\n ComboField\n} from \"../form\";\nimport FormButtons from \"./FormButtons\";\n\nimport { countries as allCountries } from \"common/countries\";\nimport { stateOptions } from \"../wrappers/withCountries\";\nimport notifyChanges from \"./notifyChanges\";\n\nexport class RegistrationForm extends Component {\n static propTypes = {\n fields: PropTypes.object.isRequired,\n form: PropTypes.object.isRequired,\n registration: PropTypes.object.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n isLoading: PropTypes.bool.isRequired,\n status: PropTypes.oneOf([\"completed\", \"pending\"]).isRequired,\n showOrgName: PropTypes.bool.isRequired,\n euRegType: PropTypes.string,\n onlyEuDomains: PropTypes.bool\n };\n\n handleCancel() {\n this.props.onCancel();\n }\n\n handleSubmit(values) {\n this.props.onSubmit(values).catch(errors => {\n this.props.form.notifySubmitErrors(errors);\n });\n }\n\n render() {\n const { fields, form, registration } = this.props;\n const { status, isLoading } = this.props;\n const { euRegType, onlyEuDomains } = this.props;\n\n const countries = countryOptions(\n allCountries,\n registration.owner_countries,\n euRegType,\n onlyEuDomains\n );\n const stateInfo = stateOptions(fields.country.value, registration.owner_states);\n const cityOptions =\n registration.owner_cities &&\n registration.owner_cities.map(city => ({ value: city, label: city }));\n\n const className = c({ loading: isLoading });\n const faxLabel = registration.fax_required ? \"Fax\" : \"Fax (optional)\";\n\n const onSubmit = values => this.handleSubmit(values);\n\n return h(ManagedForm, { form, className, onSubmit }, [\n div(\".fieldgroup\", [\n h(FormError, { text: form.formError }),\n div(\".row\", [\n h(TextField, {\n width: 6,\n label: \"First Name\",\n field: fields.first_name,\n autoComplete: \"shipping given-name\"\n }),\n h(TextField, {\n width: 6,\n label: \"Last Name\",\n field: fields.last_name,\n autoComplete: \"shipping family-name\"\n })\n ]),\n div(\".row\", [\n h(TextField, {\n width: 12,\n label: \"Organization\",\n field: fields.org_name,\n autoComplete: \"shipping organization\"\n })\n ]),\n div(\".row\", [\n h(TextField, {\n width: 12,\n label: \"Address 1\",\n field: fields.address1,\n autoComplete: \"shipping address-line1\"\n })\n ]),\n div(\".row\", [\n h(TextField, {\n width: 12,\n label: \"Address 2 (optional)\",\n field: fields.address2,\n autoComplete: \"shipping address-line2\"\n })\n ]),\n div(\".row\", [\n h(SelectField, {\n width: 6,\n label: \"Country\",\n field: fields.country,\n options: countries,\n autoComplete: \"shipping country\"\n }),\n h(ComboField, {\n width: 6,\n label: stateInfo.label,\n field: fields.state,\n options: stateInfo.options,\n autoComplete: \"shipping address-level1\"\n })\n ]),\n div(\".row\", [\n h(ComboField, {\n width: 6,\n label: \"City\",\n field: fields.city,\n options: cityOptions,\n autoComplete: \"shipping address-level2\"\n }),\n h(TextField, {\n width: 6,\n label: stateInfo.zip,\n field: fields.zip,\n autoComplete: \"shipping postal-code\"\n })\n ]),\n div(\".row\", [\n h(EmailField, {\n width: 12,\n label: \"Email Address\",\n field: fields.email,\n autoComplete: \"shipping email\"\n })\n ]),\n div(\".row\", [\n h(PhoneField, {\n width: 6,\n label: \"Phone Number\",\n field: fields.phone,\n autoComplete: \"shipping tel\"\n }),\n h(PhoneField, {\n width: 6,\n label: faxLabel,\n field: fields.fax,\n autoComplete: \"shipping fax tel\"\n })\n ])\n ]),\n\n h(FormButtons, { form, status, onCancel: () => this.handleCancel() })\n ]);\n }\n}\n\nRegistrationForm.propTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.object.isRequired\n};\n\nfunction countryOptions(countries, ownerCountries, euRegType, onlyEuDomains) {\n if (euRegType !== \"business\" && onlyEuDomains) {\n return countries;\n }\n\n if (!ownerCountries) {\n return countries;\n } else {\n return countries.filter(country => ownerCountries.includes(country.value));\n }\n}\n\nexport const fields = [\n \"first_name\",\n \"last_name\",\n \"org_name\",\n \"address1\",\n \"address2\",\n \"country\",\n \"state\",\n \"city\",\n \"zip\",\n \"email\",\n \"phone\",\n \"fax\"\n];\n\nfunction validate(values, props) {\n const asciiOnly = props.registration.ascii_only;\n const faxRequired = props.registration.fax_required;\n const stateRequired = [\"US\", \"CA\", \"AU\", \"IT\"].includes(values.country);\n\n const result = validator(values, {\n first_name: { presence: true, asciiOnly },\n last_name: { presence: true, asciiOnly },\n org_name: { presence: props.orgNameRequired, asciiOnly },\n address1: { presence: true, asciiOnly },\n address2: { asciiOnly },\n country: { presence: true },\n city: { presence: true, asciiOnly },\n state: { presence: stateRequired },\n zip: { presence: true, postalCode: true },\n email: { presence: true, email: true, asciiOnly },\n phone: { presence: true, length: { min: 7 } },\n fax: { presence: faxRequired }\n });\n\n return result;\n}\n\nexport default form(fields, validate)(notifyChanges(RegistrationForm));\n","import get from \"lodash/get\";\n\nconst getEuRegType = checkout => {\n const step = checkout.model.steps.filter(step => step.name === \"tld_eu\")[0];\n return get(step, \"meta.values.eu_registration_type\");\n}\n\nconst onlyEu = cart => numRegistrations(cart.items) === numEu(cart.items);\n\nconst numRegistrations = items => items\n .filter(i => i.type === \"domain\").length;\n\nconst numEu = items => items\n .filter(i => i.type === \"domain\" && i.name.split(\".\")[1] === \"eu\").length;\n\nconst disclaimer = `Individual type domains will be private in the EU WHOIS\ndatabase. Business type registrations will be public in the EU WHOIS database.\nNote that business type registrations require an organization.`;\n\nexport {\n getEuRegType,\n onlyEu,\n disclaimer\n}\n","import { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport h from \"h\";\n\nimport {\n submitRegistrationData,\n redirectToNextStep\n} from \"../actions/checkout_actions\";\nimport { isLoading } from \"../reducers/checkoutReducer\";\n\nimport Section from \"../components/Section\";\nimport RegistrationInfo from \"../components/RegistrationInfo\";\nimport RegistrationForm from \"../components/RegistrationForm\";\nimport { getEuRegType, onlyEu } from \"checkout/util/eu\";\n\nclass RegistrationStep extends Component {\n render() {\n const {\n initialValues,\n registration,\n stepData,\n isLoading,\n onSubmit,\n onCancel,\n euRegType,\n onlyEuDomains,\n orgNameRequired,\n formError\n } = this.props;\n\n return h(Section, {\n ...this.props,\n title: \"Registration Information\",\n viewer: () => h(RegistrationInfo, { orgNameRequired, ...this.props.initialValues }),\n editor: () =>\n h(RegistrationForm, {\n initialValues,\n registration,\n onSubmit,\n onCancel,\n isLoading,\n status: stepData.status,\n euRegType,\n onlyEuDomains,\n orgNameRequired,\n formError\n })\n });\n }\n}\n\nexport function mapStateToProps(state) {\n const initialValues = state.checkout.model.formData.registration;\n const euRegType = getEuRegType(state.checkout);\n const onlyEuDomains = onlyEu(state.cart);\n const orgNameRequired = !onlyEuDomains || euRegType === \"business\";\n\n\n return {\n initialValues,\n isLoading: isLoading(state.checkout),\n euRegType,\n onlyEuDomains,\n orgNameRequired\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n onSubmit: values => dispatch(submitRegistrationData(values)),\n onCancel: () => dispatch(redirectToNextStep())\n };\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(RegistrationStep);\n","import { Component } from \"react\";\nimport { h } from \"h\";\n\nimport { fmtCreditCard, fmtAddress, fmtPhone } from \"./format\";\nimport Summary from \"./Summary\";\n\nexport default class BillingInfo extends Component {\n render() {\n const { billing } = this.props;\n return h(Summary, { items: makeItems(billing) });\n }\n}\n\nfunction makeItems(billing) {\n const { phone, pay_method: payMethod } = billing;\n\n const existingPayment = billing.payment_on_file || {};\n\n if (payMethod === \"new\") {\n return [\n [\"Name\", billing.full_name],\n [\"Payment\", fmtCreditCard(billing)],\n [\"Billing Address\", fmtAddress(billing)],\n [\"Phone Number\", fmtPhone(phone)]\n ];\n } else if (payMethod === \"creditcard\") {\n return [\n [\"Name\", existingPayment.name_on_card],\n [\"Payment\", fmtCreditCard(existingPayment)],\n [\"Billing Address\", fmtAddress(billing)],\n [\"Phone Number\", fmtPhone(phone)]\n ];\n } else if (payMethod === \"paypal\") {\n return [[\"Paypal\", billing.ppe_email]];\n } else if (payMethod === \"paypal_on_file\") {\n return [[\"Paypal\", existingPayment.ppe_email]];\n } else if (payMethod === \"apple_pay\") {\n return [[\"Apple Pay\", billing.description]];\n } else if (payMethod === \"apple_pay_on_file\") {\n return [[\"Apple Pay\", existingPayment.description]];\n }\n}\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport h from \"h\";\nimport toFieldProps from \"../form/toFieldProps\";\nimport { div, input } from \"tags\";\n\nclass RadioGroup extends Component {\n render() {\n const { field, options } = this.props;\n\n const buttons = options.map(({ value, label }) => {\n const checked = value === field.value;\n return h(\"label\", { style: { display: \"block\" } }, [\n input({\n type: \"radio\",\n ...toFieldProps(field),\n value,\n checked\n }),\n label\n ]);\n });\n\n return div(\".radio-group\", buttons);\n }\n}\n\nRadioGroup.propTypes = {\n field: PropTypes.object.isRequired,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired\n }).isRequired\n ).isRequired\n};\n\nexport default RadioGroup;\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport h from \"h\";\nimport c from \"classnames\";\nimport { div, button } from \"tags\";\nimport {\n form,\n ManagedForm,\n FormError,\n TextField,\n PhoneField,\n SelectField,\n ComboField,\n CheckboxField,\n SubmitButton\n} from \"../form\";\nimport ErrorContainer from \"../form/ErrorContainer\";\nimport RadioGroup from \"./RadioGroup\";\nimport PaypalButton from \"./PaypalButton\";\nimport { BraintreeFields, isValid as braintreeIsValid } from \"../braintree\";\nimport { submit as submitToBraintree } from \"../braintree\";\nimport validator from \"../util/validator\";\nimport notifyChanges from \"./notifyChanges\";\nimport Summary from \"./Summary\";\nimport { fmtCreditCard } from \"./format\";\n\nimport { countries } from \"common/countries\";\nimport { stateOptions, fixState } from \"../wrappers/withCountries\";\nimport Crossfade from \"./Crossfade\";\nimport { CheckoutCardAgreement } from \"./CardAgreement\";\n\nimport \"../styles/apple_pay.css\";\n\nexport class BillingForm extends Component {\n static propTypes = {\n fields: PropTypes.object.isRequired,\n form: PropTypes.shape({\n isChanged: PropTypes.bool.isRequired\n }).isRequired,\n billing: PropTypes.shape({\n payment_on_file: PropTypes.object,\n paymentOptions: PropTypes.array.isRequired\n }).isRequired,\n braintree: PropTypes.shape({\n validity: PropTypes.shape({\n number: PropTypes.string.isRequired,\n expirationDate: PropTypes.string.isRequired,\n cvv: PropTypes.string.isRequired\n }) // not required\n }),\n onSubmit: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n isLoading: PropTypes.bool.isRequired,\n status: PropTypes.oneOf([\"completed\", \"pending\"]).isRequired,\n modal: PropTypes.bool\n };\n\n constructor(props) {\n super(props);\n this.state = {\n formValues: {},\n showTerms: false\n };\n }\n\n handleCancel() {\n this.props.onCancel();\n }\n\n handleSubmit(values) {\n this.props.onSubmit(values).catch(errors => {\n this.props.form.notifySubmitErrors(errors);\n });\n }\n\n updateFormValues(formValues) {\n this.setState({ formValues, showTerms: true });\n }\n\n brainTreeSuccessHandler(values) {\n const { braintree } = this.props;\n if (requiresCardAgreement(values.pay_method)) {\n return braintreeData =>\n this.updateFormValues({\n ...values,\n nonce: braintreeData.nonce,\n details: braintreeData.details,\n device_data: braintree.deviceData\n });\n } else {\n return braintreeData =>\n this.handleSubmit({\n ...values,\n nonce: braintreeData.nonce,\n details: braintreeData.details,\n device_data: braintree.deviceData\n });\n }\n }\n\n renderCardForm() {\n if (this.state.showTerms) {\n const onSubmit = values => {\n this.handleSubmit({\n ...this.state.formValues,\n card_agreement: true\n });\n };\n const onCancel = () => this.handleCancel();\n return {\n cardAgreement: h(CheckoutCardAgreement, { onCancel, onSubmit })\n };\n } else {\n const {\n fields,\n form,\n currentValues,\n billing,\n braintree,\n actions\n } = this.props;\n const { status, isLoading } = this.props;\n const { payment_on_file } = billing;\n\n const wantSaveAsDefault = form.isChanged && billing.payment_on_file;\n const payMethod = fields.pay_method.value;\n const collectingCreditCard = payMethod === \"new\";\n const className = c({ loading: isLoading });\n\n const onSubmit = values =>\n submitToBraintree().then(this.brainTreeSuccessHandler(values));\n\n const updatedForm = collectingCreditCard\n ? updateReadyState(form, braintree)\n : form;\n const braintreeIsActive =\n braintree.clientIsValid &&\n braintree.needHostedFields &&\n fields.pay_method.value === \"new\";\n\n const submitText = requiresCardAgreement(fields.pay_method.value)\n ? \"Continue\"\n : \"Save Changes\";\n\n const cardForm = h(\n BraintreeFields,\n { key: \"btf\", actions, active: braintreeIsActive },\n [\n h(\n ManagedForm,\n {\n form,\n currentValues,\n className,\n onSubmit,\n id: \"braintree-form\"\n },\n [\n div(\".fieldgroup\", [\n h(RadioGroup, {\n field: fields.pay_method,\n options: billing.paymentOptions\n })\n ]),\n div(\".fieldgroup\", [\n form.formError && h(FormError, { text: form.formError }),\n h(PaymentFields, {\n fields,\n payment_on_file,\n braintree,\n actions\n }),\n payMethod !== \"paypal\" && h(AddressFields, { fields })\n ]),\n !this.props.modal &&\n div(\"\", [\n div(\".fieldgroup.buttons\", [\n button(\n \".btn-link.form_cancel\",\n { type: \"button\", onClick: () => this.handleCancel() },\n \"Cancel\"\n ),\n h(SubmitButton, { form, text: submitText })\n ]),\n wantSaveAsDefault &&\n div(\".row\", [\n h(CheckboxField, {\n width: 12,\n label: \"Use this for future purchases\",\n field: fields.save_as_default\n })\n ])\n ])\n ]\n )\n ]\n );\n return {\n cardForm\n };\n }\n }\n\n render() {\n if (this.props.fields.pay_method.value === \"paypal\") {\n return h(PayPalBilling, this.props);\n }\n if (this.props.fields.pay_method.value === \"apple_pay\") {\n return h(ApplePayBilling, this.props);\n }\n\n const { cardAgreement, cardForm } = this.renderCardForm();\n\n const className = c({ agree: cardAgreement });\n\n return h(\n \".cc-form\",\n { className },\n h(Crossfade, {\n child1: cardForm,\n child2: cardAgreement,\n mainStyle: { padding: \"0\" }\n })\n );\n }\n}\n\nconst PaymentFields = ({ fields, payment_on_file, braintree, actions }) => {\n switch (fields.pay_method.value) {\n case \"new\":\n return h(NewCreditCardFields, { fields, braintree, actions });\n case \"creditcard\": {\n const existingPayment = payment_on_file;\n const changeCard = () => fields.pay_method.onChange(\"new\");\n return h(ExistingCreditCardFields, { existingPayment, changeCard });\n }\n case \"paypal\":\n case \"paypal_on_file\":\n case \"apple_pay\":\n case \"apple_pay_on_file\":\n return div();\n default:\n throw new Error(\"No such pay method: \" + fields.pay_method.value);\n }\n};\n\nconst NewCreditCardFields = ({ fields, braintree }) =>\n div(\".new_cc\", [\n h(\".new_credit_card\", [\n div(\".row\", [\n h(TextField, {\n width: 6,\n label: \"First Name\",\n field: fields.first_name,\n autoComplete: \"billing cc-given-name\"\n }),\n h(TextField, {\n width: 6,\n label: \"Last Name\",\n field: fields.last_name,\n autoComplete: \"billing cc-family-name\"\n })\n ]),\n div(\".row\", h(BraintreeCreditCardInput, { braintree, field: fields.number })),\n div(\".row\", [\n h(BraintreeExpireDateInput, {\n braintree,\n field: fields.expirationDate\n }),\n h(BraintreeCVVInput, { braintree, field: fields.cvv })\n ])\n ])\n ]);\n\nconst BraintreeCreditCardInput = ({ braintree, field }) => {\n const { cardType, validity } = braintree;\n const className = c(\n \"ccicons\",\n \"form-input\",\n cardType && `cc-type-${cardType}`,\n validity.number === \"valid\" && \"cc-valid\"\n );\n\n const conClass = c(\"field\", \"grid12\");\n\n const container = h(\"div#cc-number\", {\n style: { height: 40 },\n className\n });\n return h(ErrorContainer, { className: conClass, field, showReady: false }, [\n h(\"label\", [div(\".caption\", \"Card Number\"), container])\n ]);\n};\n\nconst Validity = ({ grade, children }) => {\n const style = { position: \"relative\" };\n const className = c(\n \"error-container\",\n \"form-input\",\n grade === \"valid\" && \"field-ready\"\n );\n\n return div({ style, className }, children);\n};\n\nconst BraintreeExpireDateInput = ({ braintree, field }) => {\n const { validity } = braintree;\n\n const container = h(Validity, { grade: validity.expirationDate }, [\n h(\"div#cc-expiry\", { style: { height: 40 } })\n ]);\n return div(\".field.grid6\", [\n h(ErrorContainer, { field, showReady: false }, [\n h(\"label\", [div(\".caption\", \"Expiry\"), container])\n ])\n ]);\n};\n\nconst BraintreeCVVInput = ({ braintree, field }) => {\n const { validity } = braintree;\n\n const container = h(Validity, { grade: validity.cvv }, [\n h(\"div#cc-cvv\", { style: { height: 40 } })\n ]);\n return div(\".field.grid6\", [\n h(ErrorContainer, { field, showReady: false }, [\n h(\"label\", [div(\".caption\", \"CVV\"), container])\n ])\n ]);\n};\n\nconst ExistingCreditCardFields = ({ existingPayment, changeCard }) => {\n if (!existingPayment) {\n existingPayment = { name_on_card: \"bob\" };\n }\n const changeCardButton = h(\n \"button.btn.btn-default\",\n {\n type: \"button\",\n onClick: changeCard\n },\n \"Change Card\"\n );\n return div(\".new_credit_card\", [\n h(Summary, {\n items: [\n [\"Name\", existingPayment.name_on_card],\n [\"Payment\", fmtCreditCard(existingPayment)],\n [changeCardButton, \"\\xa0\"] // The \\xa0 is a nonbreaking space for Cucumber.\n ]\n })\n ]);\n};\n\nconst AddressFields = ({ fields }) => {\n const countryVal = fields.country.value;\n const states = stateOptions(countryVal);\n const state = fixState(fields.state, states.options);\n\n return div(\".address_fields\", [\n div(\".row\", [\n h(TextField, {\n width: 12,\n label: \"Address 1\",\n field: fields.address1,\n autoComplete: \"billing address-line1\"\n })\n ]),\n div(\".row\", [\n h(TextField, {\n width: 12,\n label: \"Address 2 (optional)\",\n field: fields.address2,\n autoComplete: \"billing address-line2\"\n })\n ]),\n div(\".row\", [\n h(SelectField, {\n width: 6,\n label: \"Country\",\n field: fields.country,\n options: countries,\n autoComplete: \"billing country\"\n }),\n h(ComboField, {\n width: 6,\n label: states.label,\n field: state,\n options: states.options,\n autoComplete: \"billing address-level1\"\n })\n ]),\n div(\".row\", [\n h(TextField, {\n width: 6,\n label: \"City\",\n field: fields.city,\n autoComplete: \"billing address-level2\"\n }),\n h(TextField, {\n width: 6,\n label: states.zip,\n field: fields.zip,\n autoComplete: \"billing postal-code\"\n })\n ]),\n div(\".row\", [\n h(PhoneField, {\n width: 6,\n label: \"Phone Number\",\n field: fields.phone,\n autoComplete: \"billing tel\"\n }),\n div(\".grid6\", \"\")\n ])\n ]);\n};\n\nfunction updateReadyState(form, braintree) {\n // If braintree is valid, the form must have been changed.\n return { isReady: braintreeIsValid(braintree) && form.isValid };\n}\n\nconst requiresCardAgreement = payMethod => payMethod === \"new\";\n\nconst fields = [\n \"pay_method\",\n \"save_as_default\",\n \"number\",\n \"expirationDate\",\n \"cvv\",\n \"first_name\",\n \"last_name\",\n \"address1\",\n \"address2\",\n \"country\",\n \"state\",\n \"city\",\n \"zip\",\n \"phone\"\n];\n\nfunction validate(values) {\n if (values.pay_method === \"paypal\" || values.pay_method === \"paypal_on_file\") {\n return {};\n }\n const stateRequired = [\"US\", \"CA\", \"AU\", \"IT\"].includes(values.country);\n return validator(values, {\n ...paymentSourceRules(values),\n address1: { presence: true },\n country: { presence: true },\n city: { presence: true },\n state: { presence: stateRequired },\n zip: { presence: true, postalCode: true },\n phone: { presence: true, length: { min: 7 } }\n });\n}\n\nfunction paymentSourceRules(values) {\n switch (values.pay_method) {\n case \"new\":\n return {\n first_name: {\n presence: true,\n length: {\n minimum: 2\n }\n },\n last_name: {\n presence: true,\n length: {\n minimum: 2\n }\n },\n number: {\n presence: true,\n braintreeProxy: true\n },\n expirationDate: {\n presence: true,\n braintreeProxy: true\n },\n cvv: {\n presence: true,\n braintreeProxy: true\n }\n };\n\n default:\n return {};\n }\n}\n\nfunction PayPalBilling(props) {\n const { form, fields, braintree, actions } = props;\n const saveAsDefault = fields.save_as_default.value;\n const disabled = braintree.paypalIsOpen || !braintree.paypalIsReady;\n\n return BoringBilling(\n props,\n h(PaypalButton, {\n disabled,\n logo: braintree.paypalLogo,\n onClick: () => {\n actions\n .openPaypal({ saveAsDefault })\n .catch(errors => form.notifySubmitErrors(errors));\n }\n })\n );\n}\n\nfunction applePayAction({ fields, cartTotal, actions }) {\n const saveAsDefault = fields.save_as_default.value;\n\n if (cartTotal) {\n return () =>\n actions.openApplePay({\n amount: cartTotal.replace(\"$\", \"\"),\n label: \"Hover.com\",\n saveAsDefault\n });\n } else {\n return () =>\n actions.openApplePay({\n amount: \"0.01\",\n label: \"Hover.com (won't be charged)\",\n saveAsDefault\n });\n }\n}\n\nfunction ApplePayBilling(props) {\n const { fields, cartTotal, actions } = props;\n const saveAsDefault = fields.save_as_default.value;\n const openApplePay = applePayAction(props);\n\n return BoringBilling(\n props,\n button(\n \"#apple-pay-button.apple-pay-button.visible\",\n { type: \"button\", onClick: openApplePay },\n \"\"\n )\n );\n}\n\nfunction BoringBilling(props, paymentButton) {\n const { form, fields, currentValues, billing, onCancel, modal } = props;\n const wantSaveAsDefault = billing.payment_on_file;\n const onSubmit = () => {};\n\n return div(\n \".braintree\",\n h(ManagedForm, { form, currentValues, onSubmit, submit: \"Submit\" }, [\n div(\n \".fieldgroup\",\n h(RadioGroup, {\n field: fields.pay_method,\n options: billing.paymentOptions\n })\n ),\n div({ style: { marginTop: 20 } }, [\n form.formError && h(FormError, { text: form.formError }),\n div(\".buttons\", { style: { height: 50 } }, [\n paymentButton,\n !modal &&\n button(\n \".btn.btn-link.form_cancel\",\n {\n type: \"button\",\n onClick: onCancel\n },\n \"Cancel\"\n )\n ])\n ]),\n !modal &&\n wantSaveAsDefault &&\n div(\".row\", [\n h(CheckboxField, {\n width: 12,\n label: \"Use this for future purchases\",\n field: fields.save_as_default\n })\n ])\n ])\n );\n}\n\nexport default form(fields, validate)(notifyChanges(BillingForm));\n","import { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { bindActionCreators } from \"redux\";\nimport Immutable from \"seamless-immutable\";\nimport * as checkoutActions from \"../actions/checkout_actions\";\nimport * as braintreeActions from \"../braintree/actions\";\nimport { isLoading } from \"../reducers/checkoutReducer\";\nimport * as queries from \"../reducers\";\n\nimport { h } from \"h\";\n\nimport Section from \"../components/Section\";\nimport BillingInfo from \"../components/BillingInfo\";\nimport BillingForm from \"../components/BillingForm\";\n\nclass BillingStep extends Component {\n render() {\n const { cardData, stepData, actions } = this.props;\n const { onSubmit, onCancel } = actions;\n\n return h(Section, {\n ...this.props,\n title: \"Billing Info\",\n viewer: () =>\n h(BillingInfo, {\n key: \"billing_info\",\n billing: this.props.billing\n }),\n editor: () =>\n h(BillingForm, {\n ...this.props,\n key: \"billing_form\",\n currentValues: cardData,\n onSubmit,\n onCancel,\n status: stepData.status\n // initialValues,\n // braintree,\n // billing,\n // cardData,\n // cartTotal,\n // isLoading,\n // formError,\n // actions,\n })\n });\n }\n}\n\nfunction mapStateToProps(state) {\n const billingData = queries.billingData(state);\n const braintreeData = queries.braintreeProxyFields(state);\n return {\n initialValues: Immutable({\n pay_method: \"new\",\n ...billingData,\n ...braintreeData\n }),\n cardData: braintreeData,\n isLoading: isLoading(state.checkout),\n braintree: state.braintree,\n cartTotal: state.cart.total\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n const actions = bindActionCreators(\n {\n ...checkoutActions,\n ...braintreeActions,\n onSubmit: checkoutActions.submitBillingData,\n onCancel: checkoutActions.redirectToNextStep\n },\n dispatch\n );\n return {\n actions: actions\n };\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(BillingStep);\n","import PropTypes from \"prop-types\";\nimport ReactModal from \"react-modal\";\nimport { div, p } from \"tags\";\nimport { h } from \"h\";\n\nexport default function ConfirmSpinner({ isLoading }) {\n return h(ReactModal, { isOpen: isLoading, style, shouldCloseOnOverlayClick: false }, container(spinner()));\n}\n\nConfirmSpinner.propTypes = {\n isLoading: PropTypes.bool.isRequired\n};\n\nconst style = {\n overlay: {\n backgroundColor: \"rgba(0, 0, 0, 0.5)\"\n },\n content: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n margin: \"auto\",\n width: 202,\n height: 207,\n overflow: \"hidden\",\n lineHeight: 1,\n padding: 0,\n border: \"none\",\n background: \"#fff\",\n outline: \"none\"\n }\n};\n\nfunction container(content) {\n return div(\".spinner-container\", [content, p(\"Processing...\")]);\n}\n\nfunction spinner() {\n const svg =\n \"<svg width='200px' height='200px' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid' class='uil-balls'><rect x='0' y='0' width='100' height='100' fill='none' class='bk'></rect><g transform='rotate(0 50 50)'><circle r='5' cx='30' cy='50'><animateTransform attributeName='transform' type='translate' begin='0s' repeatCount='indefinite' dur='1s' values='0 0;20 -20' keyTimes='0;1'/><animate attributeName='fill' dur='1s' begin='0s' repeatCount='indefinite' keyTimes='0;1' values='#fff;#999'/></circle></g><g transform='rotate(90 50 50)'><circle r='5' cx='30' cy='50'><animateTransform attributeName='transform' type='translate' begin='0s' repeatCount='indefinite' dur='1s' values='0 0;20 -20' keyTimes='0;1'/><animate attributeName='fill' dur='1s' begin='0s' repeatCount='indefinite' keyTimes='0;1' values='#999;#000'/></circle></g><g transform='rotate(180 50 50)'><circle r='5' cx='30' cy='50'><animateTransform attributeName='transform' type='translate' begin='0s' repeatCount='indefinite' dur='1s' values='0 0;20 -20' keyTimes='0;1'/><animate attributeName='fill' dur='1s' begin='0s' repeatCount='indefinite' keyTimes='0;1' values='#000;#fff'/></circle></g><g transform='rotate(270 50 50)'><circle r='5' cx='30' cy='50'><animateTransform attributeName='transform' type='translate' begin='0s' repeatCount='indefinite' dur='1s' values='0 0;20 -20' keyTimes='0;1'/><animate attributeName='fill' dur='1s' begin='0s' repeatCount='indefinite' keyTimes='0;1' values='#fff;#999'/></circle></g></svg>\";\n return div({ dangerouslySetInnerHTML: { __html: svg } });\n}\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport c from \"classnames\";\nimport { h, linkToTargetBlank, numberToCurrency } from \"h\";\nimport { div, span } from \"tags\";\nimport {\n form,\n FormError,\n ManagedForm,\n CheckboxField,\n EmailField,\n SubmitButton\n} from \"../form\";\nimport validator from \"../util/validator\";\nimport ConfirmSpinner from \"./ConfirmSpinner\";\n\nclass ConfirmForm extends Component {\n static propTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.object.isRequired,\n isLoading: PropTypes.bool.isRequired,\n cartTotal: PropTypes.string.isRequired,\n accountSpend: PropTypes.shape({\n available: PropTypes.number.isRequired,\n spend: PropTypes.number.isRequired,\n payable: PropTypes.number.isRequired\n }),\n isZcr: PropTypes.bool.isRequired,\n onSubmit: PropTypes.func.isRequired\n };\n\n handleSubmit(values) {\n const { isLoading, onSubmit, deviceData } = this.props;\n if (!isLoading) {\n onSubmit({ ...values, device_data: deviceData }).catch(errors => {\n this.props.form.notifySubmitErrors(errors);\n });\n }\n }\n\n render() {\n const {\n form,\n fields,\n isLoading,\n cartTotal,\n accountSpend,\n isZcr,\n payMethod\n } = this.props;\n\n const className = c(isLoading && \"loading\");\n const wantEmail = isZcr && fields.zcrReceiptWanted.checked;\n const onSubmit = values => this.handleSubmit(values);\n\n return h(ManagedForm, { form, className, onSubmit }, [\n div(\".fieldgroup\", [\n h(FormError, { text: form.formError }),\n div(\".row\", [\n h(BillingSummary, {\n cartTotal,\n accountSpend,\n payMethod\n })\n ])\n ]),\n div(\".fieldgroup\", [\n isZcr &&\n div(\".row\", [\n h(CheckboxField, {\n width: 12,\n field: fields.zcrReceiptWanted,\n label: \"Email me a copy of the invoice\"\n })\n ]),\n wantEmail &&\n div(\".row\", [\n h(EmailField, {\n width: 12,\n label: \"Email Address\",\n field: fields.zcrBuyerEmail\n })\n ]),\n div(\".row\", [\n h(CheckboxField, {\n width: 12,\n field: fields.agreeTerms,\n label: span([\n \"I have read and agree to the \",\n linkToTargetBlank(\"Terms of Service\", \"https://www.hover.com/tos\")\n ])\n }),\n div(\".float-right\", h(SubmitButton, { form, text: \"Submit Order\" }))\n ])\n ]),\n h(ConfirmSpinner, { isLoading })\n ]);\n }\n}\n\nfunction BillingSummary({ cartTotal, accountSpend, payMethod }) {\n\n if(accountSpend) {\n var list= document.getElementsByClassName(\"cart-item minicart-item\");\n for (var i = 0; i < list.length; i++) {\n if ( list[i].innerHTML.includes(\"Account balance funding\")) {\n accountSpend = null;\n }\n }\n }\n\n if (accountSpend) {\n return h(AccountSpend, accountSpend);\n } else {\n return h(\".account-spend\", [\n h(\".billing-summary-line\", [\n `To be paid with ${methodName(payMethod)}: USD `,\n cartTotal\n ])\n ]);\n }\n}\n\nfunction methodName(payMethod) {\n switch (payMethod) {\n case \"new\":\n case \"creditcard\":\n return \"Credit Card\";\n\n case \"paypal\":\n case \"paypal_on_file\":\n return \"PayPal\";\n\n case \"apple_pay\":\n case \"apple_pay_on_file\":\n return \"Apple Pay\";\n\n default:\n // Safe guess, but shouldn't happen\n return \"Credit Card\";\n }\n}\n\nfunction AccountSpend(accountSpend) {\n let parts = [\n h(\".billing-summary-line.account-balance\", [\n \"Current Account Balance: USD \",\n numberToCurrency(accountSpend.available)\n ]),\n h(\"hr.faint\")\n ];\n if (accountSpend.spend > 0) {\n parts.push(\n h(\".billing-summary-line\", [\n \"To be paid with Account Balance: USD \",\n numberToCurrency(accountSpend.spend)\n ])\n );\n }\n if (accountSpend.payable > 0) {\n parts.push(\n h(\".billing-summary-line\", [\n \"To be paid with Credit Card: USD \",\n numberToCurrency(accountSpend.payable)\n ])\n );\n }\n return h(\".account-spend\", parts);\n}\n\nconst fields = [\"agreeTerms\", \"zcrReceiptWanted\", \"zcrBuyerEmail\"];\n\nfunction validate(values) {\n const { zcrReceiptWanted } = values;\n\n return validator(values, {\n agreeTerms: { checked: true },\n zcrBuyerEmail: { presence: zcrReceiptWanted, email: zcrReceiptWanted }\n });\n}\n\nexport default form(fields, validate)(ConfirmForm);\n","import { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { h } from \"h\";\nimport { submitOrder } from \"../actions/checkout_actions\";\nimport { braintreeDeviceDataCollected } from \"../reducers\";\nimport Section from \"../components/Section\";\nimport ConfirmForm from \"../components/ConfirmForm\";\nimport { isZcrOrder, isLoading } from \"../reducers/checkoutReducer\";\nimport get from \"lodash/get\";\n\nclass ConfirmStep extends Component {\n render() {\n const {\n isLoading,\n cartTotal,\n accountSpend,\n payMethod,\n isZcr,\n onSubmit,\n braintreeDeviceData,\n deviceData\n } = this.props;\n const form = () =>\n h(ConfirmForm, {\n isLoading,\n cartTotal,\n accountSpend,\n payMethod,\n isZcr,\n onSubmit,\n braintreeDeviceData,\n deviceData,\n initialValues: {\n zcrReceiptWanted: isZcr\n }\n });\n\n return h(Section, {\n ...this.props,\n title: \"Order Confirmation\",\n viewer: form,\n editor: form\n });\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n cartTotal: state.cart.total,\n accountSpend: state.cart.accountSpend,\n isZcr: isZcrOrder(state.checkout),\n isLoading: isLoading(state.checkout),\n deviceData: braintreeDeviceDataCollected(state),\n payMethod: get(state, \"checkout.model.formData.billing.pay_method\")\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n onSubmit: values => dispatch(submitOrder(values))\n };\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ConfirmStep);\n","import { h, titleize } from \"h\";\nimport Summary from \"./Summary\";\nimport { disclaimer } from \"checkout/util/eu\";\n\nconst businessItems = [\"Registration Type\", \"Organization\"];\nconst individualItems = [\"Registration Type\", \"Country of Citizenship\"]\n\nfunction TldEuSummary({ items }) {\n const regType = items.find((item) => item[0] === \"Registration Type\")[1];\n const displayLabels = regType === \"business\" ? businessItems : individualItems;\n const displayItems = items.filter((item) => {\n const [label, value, required] = item;\n if (!displayLabels.includes(label) || (!required && !value)) {\n return false;\n } else {\n return true;\n }\n\n });\n return h(\"div\", [\n h(Summary, { items: displayItems.map(item => item.map( val => titleize(val))) }),\n h(\"p.disclaimer\", disclaimer)\n ]);\n}\n\nexport default TldEuSummary;\n","// import { PropTypes } from \"react\";\nimport { h } from \"h\";\nimport get from \"lodash/get\";\nimport find from \"lodash/find\";\nimport Summary from \"./Summary\";\nimport TldEuSummary from \"./TldEuSummary\";\nimport { countries } from \"common/countries\";\n\nfunction TldInfo({ params, values }) {\n const items = params.map(param => {\n const value = get(values, param.key, \"\");\n return [param.label, displayValue(param, value), param.required];\n });\n if(values.ext === \"EU\") {\n return h(TldEuSummary, { items });\n } else {\n return h(Summary, { items });\n }\n}\n\nfunction displayValue(param, value) {\n if (param.type === \"country\") {\n return displayCountryName(value);\n } else if (param.type === \"ngo_agreeTerms\") {\n return displayTerms(value);\n } else if (param.type === \"app_agreeTerms\") {\n return displayTerms(value);\n } else if (param.type === \"page_agreeTerms\") {\n return displayTerms(value);\n } else if (param.type === \"dev_agreeTerms\") {\n return displayTerms(value);\n } else if (param.options) {\n return displayValueFromOptions(param.options, value);\n } else {\n return value;\n }\n}\n\nfunction displayValueFromOptions(options, value) {\n const labelAndVal = find(options, opt => opt[1] === value);\n\n if (labelAndVal) {\n return labelAndVal[0];\n } else {\n return value;\n }\n}\n\nfunction displayCountryName(shortCode) {\n const country = countries.find(opt => opt.value === shortCode);\n if (country) {\n return country.label;\n } else {\n return shortCode;\n }\n}\n\nfunction displayTerms(value) {\n return value ? \"Yes\" : \"No\";\n}\n\nexport default TldInfo;\n","import h from \"h\";\nimport { TextField, SelectField, CheckboxField } from \"../form\";\nimport { countries } from \"common/countries\";\n\nexport default function TldQuestion({ param, field }) {\n switch (param.type) {\n case \"ca_legal_type\":\n case \"select\": {\n const opts = param.options.map(([label, value]) => ({\n value,\n label\n }));\n if (!param.required) {\n opts.unshift({ value: null, label: \"Select one...\" });\n }\n return h(SelectField, {\n width: 12,\n label: param.label,\n field,\n options: opts\n });\n }\n\n case \"country\":\n return h(SelectField, {\n width: 12,\n label: param.label,\n field,\n options: countries\n });\n\n case \"eco_agreeTerms\":\n return ecoTLDQuestion(field, param);\n\n case \"ing_agreeTerms\":\n return ingTLDQuestion(field, param);\n\n case \"music_agreeTerms\":\n return musicTLDQuestion(field, param);\n\n case \"app_agreeTerms\":\n case \"page_agreeTerms\":\n case \"dev_agreeTerms\":\n case \"day_agreeTerms\":\n const tld = param.type.match(/(.*)_agreeTerms/)[1];\n return encryptedTLDQuestion(tld, field, param);\n\n case \"text\":\n case \"ca_registrant_name\":\n default:\n return h(TextField, {\n width: 12,\n label: param.label,\n field\n });\n }\n}\n\nfunction ecoTLDQuestion(field, param) {\n return h(`.eco-terms`, [\n h(\"p\", [\n \"After you register your .eco domain, you'll receive an email from the \",\n \".eco registry inviting you to create a .eco profile and to take a \",\n \"simple pledge to show your commitment to environmental action and affirm \",\n \"eligibility by sharing your eco actions and commitments. \",\n \"This is required before you can start using your .eco domain.\"\n ]),\n h(\"div\", { style: { marginTop: \"1rem\" } }, [\n h(CheckboxField, {\n width: 12,\n label: param.label,\n field\n })\n ])\n ]);\n}\n\nfunction ingTLDQuestion(field, param) {\n return h(`.eco-terms`, [\n h(\"p\", [\n \"Registration of .ing domains is open to anyone. You should be aware \",\n \"that .ing is an encrypted-by-default TLD by virtue of being inscribed \",\n \"in the HSTS Preload list found in all modern web browsers. \",\n \"Websites hosted on .ing will not load unless they are served over \",\n \"HTTPS (i.e. have a valid SSL certificate installed).\"\n ]),\n h(\"div\", { style: { marginTop: \"1rem\" } }, [\n h(CheckboxField, {\n width: 12,\n label: param.label,\n field\n })\n ])\n ]);\n}\n\nfunction musicTLDQuestion(field, param) {\n const idMusicLink = h(\n \"a\",\n { href: \"https://id.music\", target: \"_blank\" },\n \"https://id.music\"\n );\n\n return h(`.music-terms`, [\n h(\"p\", { style: { marginBottom: \"1rem\" } }, [\n \"By registering a .music domain, you attest that you are a member of \",\n \"the global music community which includes musicians, creators, bands, \",\n \"groups, industry professionals, companies, associations, and \",\n \"organizations and that your use of the .music domain will be consistent \",\n \"with the mission and purpose of the gTLD, applicable laws, or \",\n \"requirements as well as the policies of the Registry.\"\n ]),\n h(\"p\", [\n \"All registrants of .music domains must complete an identity \",\n \"verification through the Registry Operator's Identity Verification \",\n \"Solution Provider (IVSP) at \",\n idMusicLink,\". Until this is completed, \",\n \"your .music domain will not resolve. Instructions will be sent via \",\n \"email by the .music Registry to the email address in the Whois for \",\n \"your domain.\"\n ]),\n h(\"div\", { style: { marginTop: \"1rem\" } }, [\n h(CheckboxField, {\n width: 12,\n label: param.label,\n field\n })\n ])\n ]);\n}\n\nfunction encryptedTLDQuestion(tld, field, param) {\n return h(`.${tld}-terms`, [\n h(\"p\", [\n `Registration of .${tld} domains is open to anyone. `,\n `You should be aware that .${tld} is an encrypted-by-default TLD `,\n \"by virtue of being inscribed in the HSTS Preload list \",\n \"found in all modern web browsers. \",\n `Websites hosted on .${tld} will not load `,\n \"unless they are served over HTTPS \",\n \"(i.e. have a valid SSL certificate installed).\"\n ]),\n h(\"div\", { style: { marginTop: \"1rem\" } }, [\n h(CheckboxField, {\n width: 12,\n label: param.label,\n field\n })\n ])\n ]);\n}\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport c from \"classnames\";\nimport { div } from \"tags\";\n\nexport default class ScrollingAgreement extends Component {\n render() {\n const { content, className: cls } = this.props;\n const className = c(\"scrolling-agreement\", cls);\n return div({\n className,\n dangerouslySetInnerHTML: { __html: content }\n });\n }\n}\n\nScrollingAgreement.propTypes = {\n content: PropTypes.string.isRequired,\n className: PropTypes.string\n};\n","import PropTypes from \"prop-types\";\nimport { h } from \"h\";\nimport { div, p, a } from \"tags\";\nimport { CheckboxField } from \"../form\";\n\nimport ScrollingAgreement from \"./ScrollingAgreement\";\nimport \"../styles/cira.scss\";\n\nexport default function CiraAgreement({ content, field }) {\n return div(\".fieldgroup\", [\n p(\n \".row\",\n `\n The Canadian Internet Registration Authority (CIRA) is\n responsible for operating the .CA registry on behalf of all\n Canadians. They require that all .ca domain registrants view and\n agree to the CIRA Registrant Agreement.\n `\n ),\n p([\n a(\n {\n target: \"_blank\",\n href: \"https://rr-n1-tor.opensrs.net/cira_agreement.cgi\"\n },\n \"Printable version\"\n )\n ]),\n h(ScrollingAgreement, { content, className: \"row\" }),\n div(\".row\", [\n h(CheckboxField, {\n width: 12,\n label: \"I agree\",\n field\n })\n ]),\n p(\".row\", [\n `By checking \"I Agree\" you confirm that you have read\n and agree to the CIRA Registrant Agreement.`\n ])\n ]);\n}\n\nCiraAgreement.propTypes = {\n field: PropTypes.object.isRequired,\n content: PropTypes.string.isRequired\n};\n","import PropTypes from \"prop-types\";\nimport { h } from \"h\";\nimport {\n isIndividualType,\n isIndividualName,\n isOrganizationType,\n isOrganizationName\n} from \"../util/cira\";\n\nexport default function CiraLegalTypeWarning({ registrant_name, legal_type }) {\n if (isIndividualType(legal_type) && !isIndividualName(registrant_name)) {\n const markup = document.getElementById(\"ca_forbidden\").innerHTML;\n return h(\".legal-type-warning.individual\", {\n dangerouslySetInnerHTML: { __html: markup }\n });\n }\n\n if (isOrganizationType(legal_type) && !isOrganizationName(registrant_name)) {\n const markup = document.getElementById(\"ca_required\").innerHTML;\n return h(\".legal-type-warning.individual\", {\n dangerouslySetInnerHTML: { __html: markup }\n });\n }\n\n return h(\"div\");\n}\n\nCiraLegalTypeWarning.propTypes = {\n registrant_name: PropTypes.string,\n legal_type: PropTypes.string\n};\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport validator from \"../util/validator\";\nimport h from \"h\";\nimport c from \"classnames\";\nimport { div } from \"tags\";\nimport { form, ManagedForm } from \"../form\";\nimport FormButtons from \"./FormButtons\";\nimport TldQuestion from \"./TldQuestion\";\nimport CiraAgreement from \"./CiraAgreement\";\nimport notifyChanges from \"./notifyChanges\";\nimport CiraLegalTypeWarning from \"./CiraLegalTypeWarning\";\n\nexport class TldFormCira extends Component {\n static propTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.object.isRequired,\n isLoading: PropTypes.bool.isRequired,\n stepData: PropTypes.object.isRequired,\n cira: PropTypes.shape({\n terms: PropTypes.string\n }).isRequired\n };\n\n handleSubmit(values) {\n const r = this.props.onSubmit(values);\n r.catch(errors => {\n this.form.setErrors(errors);\n });\n }\n\n render() {\n const { form, fields, isLoading, stepData, cira } = this.props;\n const className = c({ loading: isLoading });\n\n const [regNameParam, legalTypeParam] = stepData.meta.params;\n // const questions = stepData.meta.params.reverse().map(param => {\n // const field = getIn(param.key, fields);\n // return div(\".row\", h(TldQuestion, { param, field }));\n // });\n const onSubmit = values => this.handleSubmit(values);\n\n return h(ManagedForm, { form, onSubmit, className }, [\n div(\".fieldgroup\", [\n div(\".row\", [\n h(TldQuestion, {\n param: legalTypeParam,\n field: fields.legal_type\n })\n ]),\n div(\".row\", [\n h(TldQuestion, {\n param: regNameParam,\n field: fields.registrant_name\n })\n ]),\n h(CiraLegalTypeWarning, {\n registrant_name: fields.registrant_name.value,\n legal_type: fields.legal_type.value\n })\n ]),\n h(CiraAgreement, {\n content: cira.terms,\n field: fields.agreeTerms\n }),\n h(FormButtons, this.props)\n ]);\n }\n}\n\nfunction validate(values) {\n return validator(values, {\n legal_type: { presence: true },\n registrant_name: {\n presence: true,\n validCiraName: { legalType: values.legal_type }\n },\n agreeTerms: { checked: true }\n });\n}\n\nexport default form([], validate)(notifyChanges(TldFormCira));\n","import { p, div, h3, ol, li } from \"tags\";\nimport { CheckboxField, fieldType } from \"../form\";\nimport h from \"h\";\nimport \"./NgoAgreement.scss\";\n\nexport default function NgoAgreement({ field }) {\n return div(\".fieldgroup\", [\n div(\".ngo-agreement\", [\n h3(\"ngo and .ong Eligibility Requirements\"),\n p(\n \"All organizations registering for .ngo|.ong domain names need to certify that they meet the NGO (non-governmental organization) Eligibility Requirements below. Please note: To activate the new domains, NGO organizations will also need to complete a post-registration validation process.\"\n ),\n ol([\n li(\n \"Focused on acting in the public interest: Whether in support of education or health, the environment or human rights, members of the .ngo|.ong community work for the good of humankind and/or the preservation of the planet and do not promote discriminate or bigotry.\"\n ),\n li(\n \"Non-profit making/Non-profit focused entities: While many NGOs and ONGs engage in commercial activities or generate revenue in support of their missions, members of the .ngo|.ong community do not recognize profits or retain earnings.\"\n ),\n li(\n \"Limited government influence: Recognizing that many NGOs and ONGs have important interactions with government, not least for reasons of funding (which may include receipt of some government funding in support of their programs), members of the .ngo|.ong community decide their own policies, direct their own activities, and are independent of direct government or political control.\"\n ),\n li(\n \"Independent actors: Members of the .ngo|.ong community should not be political parties nor should be a part of any government. Participation in the work of a NGO or ONG is voluntary.\"\n ),\n li(\n \"Active organizations: Members of the .ngo|.ong community are actively pursuing their missions on a regular basis.\"\n ),\n li(\n \"Structured: Members of the .ngo|.ong community, whether large or small, operate in a structured manner (e.g. under bylaws, codes of conduct, organizational standards, or other government structures.)\"\n ),\n li(\n \"Lawful: Members of the .ngo|.ong community act with integrity within the bounds of law.\"\n )\n ])\n ]),\n div(\".row\", [\n h(CheckboxField, {\n width: 12,\n label:\n \"I, the Registrant, understand and agree to the .ngo and .ong Registration Policy.\",\n field\n })\n ]),\n p(\n \".row\",\n 'By checking \"I Agree\" you confirm that you have read, and agree to the .ngo and .ong Registrant Policy.'\n )\n ]);\n}\n\nNgoAgreement.propTypes = {\n field: fieldType.isRequired\n};\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport validator from \"../util/validator\";\nimport h from \"h\";\nimport c from \"classnames\";\nimport { form, ManagedForm } from \"../form\";\nimport FormButtons from \"./FormButtons\";\nimport NgoAgreement from \"./NgoAgreement\";\nimport notifyChanges from \"./notifyChanges\";\n\nexport class TldFormNgo extends Component {\n static PropTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.object.isRequired,\n isLoading: PropTypes.bool.isRequired\n };\n\n handleSubmit(values) {\n const r = this.props.onSubmit(values);\n r.catch(errors => {\n this.form.setErrors(errors);\n });\n }\n\n render() {\n const { form, fields, isLoading } = this.props;\n const className = c({ loading: isLoading });\n\n const onSubmit = values => this.handleSubmit(values);\n\n return h(ManagedForm, { form, onSubmit, className }, [\n h(NgoAgreement, { field: fields.agreeTerms }),\n h(FormButtons, this.props)\n ]);\n }\n}\n\nfunction validate(values) {\n return validator(values, {\n agreeTerms: { checked: true }\n });\n}\n\nexport default form([], validate)(notifyChanges(TldFormNgo));\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport validator from \"../util/validator\";\nimport h from \"h\";\nimport c from \"classnames\";\nimport { div } from \"tags\";\nimport { form, ManagedForm, SelectField, TextField } from \"../form\";\nimport FormButtons from \"./FormButtons\";\nimport notifyChanges from \"./notifyChanges\";\nimport { disclaimer } from \"checkout/util/eu\";\nimport { countryNameDictionary } from \"common/countries\";\n\nfunction orgNameRequired(euRegistrationType) {\n return euRegistrationType === \"business\";\n}\n\nfunction citizenshipRequired(euRegistrationType, ownerCountry, ownerCountries) {\n return euRegistrationType === \"individual\" && !ownerCountries.includes(ownerCountry);\n}\n\nexport class TldFormEu extends Component {\n static propTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.object.isRequired,\n stepData: PropTypes.object.isRequired\n };\n\n handleSubmit(values) {\n /*\n We want to be able to hang on to information in case the user switches\n back and forth between business and individual in the checkout process,\n but we don't want to hang on to the country_of_citzenship if they switch \\\n to business.\n */\n const businessKeys = [\"eu_registration_type\", \"ext\", \"org_name\", \"owner_country\"];\n const individualKeys = [...businessKeys, \"country_of_citizenship\"];\n const keys = values.eu_registration_type === \"individual\" ? individualKeys : businessKeys;\n const fields = Object.entries(values).reduce((acc, [key, value]) => {\n if (keys.includes(key)) {\n return Object.assign({}, acc, { [key]: value })\n } else {\n return acc;\n }\n }, {});\n const r = this.props.onSubmit(fields);\n r.catch(errors => {\n this.form.setErrors(errors);\n });\n }\n\n showOrgName() {\n return orgNameRequired(this.props.fields.eu_registration_type.value);\n }\n\n showCountryOfCitizenship() {\n return citizenshipRequired(\n this.props.fields.eu_registration_type.value,\n this.props.initialValues.owner_country,\n this.props.stepData.meta.restrictions.owner_countries\n );\n }\n\n render() {\n const { form, fields, isLoading, stepData } = this.props;\n const className = c({ loading: isLoading });\n\n const ownerCountries = stepData.meta.restrictions.owner_countries;\n\n const onSubmit = values => this.handleSubmit(values);\n\n const opts = [\n {\n label: \"Individual\",\n value: \"individual\"\n },\n {\n label: \"Business\",\n value: \"business\"\n }\n ];\n\n const countryOptions = ownerCountries.map((country) => ({\n value: country,\n label: countryNameDictionary[country]\n }));\n\n return h(ManagedForm, { form, onSubmit, className }, [\n div(\".fieldgroup\", [\n div(\".row\", [\n h(SelectField, {\n width: 12,\n field: fields.eu_registration_type,\n options: opts,\n label: \"EU Registration Type\"\n })\n ]),\n this.showOrgName() && div(\".row\", [\n h(TextField, {\n width: 12,\n field: fields.org_name,\n label: \"Organization\"\n })\n ]),\n this.showCountryOfCitizenship() && div(\".row\", [\n h(SelectField, {\n width: 12,\n field: fields.country_of_citizenship,\n options: countryOptions,\n label: \"Country of Citizenship\"\n })\n ])\n ]),\n div(\".fieldgroup\", h(\"p\", disclaimer)),\n\n h(FormButtons, this.props)\n ]);\n }\n}\n\nfunction validate(values, ownProps) {\n const euRegistrationType = values.eu_registration_type;\n const ownerCountry = ownProps.initialValues.owner_country;\n const ownerCountries = ownProps.stepData.meta.restrictions.owner_countries;\n\n return validator(values, {\n eu_registration_type: { presence: true },\n org_name: { presence: orgNameRequired(euRegistrationType) },\n country_of_citizenship: { presence: citizenshipRequired(euRegistrationType, ownerCountry, ownerCountries) }\n });\n}\n\nconst fields = [\"eu_registration_type\", \"org_name\", \"country_of_citizenship\"];\n\nexport default form(fields, validate)(notifyChanges(TldFormEu));\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport validator from \"../util/validator\";\nimport getIn from \"lodash/fp/get\";\nimport h from \"h\";\nimport c from \"classnames\";\nimport FormButtons from \"./FormButtons\";\nimport TldQuestion from \"./TldQuestion\";\nimport { div } from \"tags\";\nimport { form, ManagedForm } from \"../form\";\nimport notifyChanges from \"./notifyChanges\";\n\nexport class TldFormGeneric extends Component {\n static propTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.object.isRequired,\n isLoading: PropTypes.bool,\n stepData: PropTypes.object.isRequired\n };\n\n handleSubmit(values) {\n const r = this.props.onSubmit(values);\n r.catch(errors => {\n this.form.setErrors(errors);\n });\n }\n\n render() {\n const { form, fields, isLoading, stepData } = this.props;\n const className = c({ loading: isLoading });\n\n const questions = stepData.meta.params.map(param => {\n const field = getIn(param.key, fields);\n return div(\".row\", h(TldQuestion, { param, field }));\n });\n const onSubmit = values => this.handleSubmit(values);\n\n return h(ManagedForm, { form, className, onSubmit }, [\n div(\".fieldgroup\", questions),\n h(FormButtons, this.props)\n ]);\n }\n}\n\nfunction validate(values, props) {\n const params = props.stepData.meta.params;\n const requiredFields = params\n .filter(param => param.required)\n .map(param => param.key)\n .map(key => key.replace(/.*\\./, \"\"));\n\n let rules = {};\n for (const name of requiredFields) {\n rules[name] = { presence: true };\n }\n\n return validator(values, rules);\n}\n\nexport default form([], validate)(notifyChanges(TldFormGeneric));\n","import { h } from \"h\";\n\nimport TldFormCira from \"./TldFormCira\";\nimport TldFormNgo from \"./TldFormNgo\";\nimport TldFormEu from \"./TldFormEu\";\nimport TldFormGeneric from \"./TldFormGeneric\";\n\nexport default function TldForm(props) {\n switch (props.stepName) {\n case \"tld_ca\":\n return h(TldFormCira, props);\n\n case \"tld_ngo\":\n return h(TldFormNgo, props);\n\n case \"tld_eu\":\n return h(TldFormEu, props);\n\n default:\n return h(TldFormGeneric, props);\n }\n}\n","import { connect } from \"react-redux\";\nimport { submitTldData, redirectToNextStep } from \"../actions/checkout_actions\";\n\nimport { h } from \"h\";\nimport Section from \"../components/Section\";\nimport TldInfo from \"../components/TldInfo\";\nimport TldForm from \"../components/TldForm\";\nimport { onlyEu } from \"checkout/util/eu\";\n\nfunction TldStep({ ext, ...props }) {\n return h(Section, {\n ...props,\n title: `TLD Info for .${ext}`,\n viewer: () =>\n h(TldInfo, {\n params: props.stepData.meta.params,\n values: props.initialValues,\n ext\n }),\n editor: () => h(TldForm, { ...props, status: props.stepData.status })\n });\n}\n\nfunction tldSubmit(values) {\n const { ext, ...data } = values;\n return submitTldData({\n tld: { name: ext, data }\n });\n}\n\nfunction dynamicForm(component) {\n return props => {\n const { stepName, stepData } = props;\n\n const ext = stepName.replace(\"tld_\", \"\").toUpperCase();\n const fieldNames = [\n \"ext\",\n ...stepData.meta.params.map(p => p.key),\n ...extraCiraFields(props.stepName)\n ];\n const initialValues = { ext, ...stepData.meta.values };\n\n return h(component, {\n ...props,\n fieldNames,\n initialValues,\n ext\n });\n };\n}\n\nfunction extraCiraFields(stepName) {\n if (stepName === \"tld_ca\") {\n return [\"agreeTerms\"];\n } else {\n return [];\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n cira: state.cira,\n onlyEu: onlyEu(state.cart)\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n onSubmit: data => dispatch(tldSubmit(data)),\n onCancel: () => dispatch(redirectToNextStep())\n };\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(dynamicForm(TldStep));\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport h from \"h\";\nimport c from \"classnames\";\nimport { div } from \"tags\";\nimport {\n form,\n ManagedForm,\n FormError,\n StaticField,\n TextField,\n EmailField\n} from \"../form\";\nimport FormButtons from \"./FormButtons\";\nimport validator from \"../util/validator\";\n\nexport class MailboxForm extends Component {\n static propTypes = {\n fields: PropTypes.object.isRequired,\n form: PropTypes.object.isRequired,\n primaryDomainName: PropTypes.string.isRequired,\n partner: PropTypes.string.isRequired\n };\n\n handleCancel() {\n this.props.onCancel();\n }\n\n handleSubmit(values) {\n this.props.onSubmit(values).catch(errors => {\n this.props.notifySubmitErrors(errors);\n });\n }\n\n render() {\n const { fields, form, primaryDomainName, partner } = this.props;\n const { status, isLoading } = this.props;\n const className = c({ loading: isLoading });\n\n const onSubmit = values => this.handleSubmit(values);\n\n return h(ManagedForm, { form, className, onSubmit }, [\n div(\".fieldgroup\", [\n h(FormError, { text: form.formError }),\n div(\".row\", [\n h(TextField, {\n width: 6,\n label: \"Address\",\n field: fields.username\n }),\n h(\n StaticField,\n { width: 6, label: \"\\xa0\" },\n h(\"strong.align-text-field\", `@${primaryDomainName}`)\n )\n ]),\n h(\n \".help-sub\",\n `This will be the new From address you can use with ${partner}.`\n ),\n div(\".row\", [\n h(EmailField, {\n width: 12,\n label: \"Forward to\",\n field: fields.forward_to\n })\n ]),\n h(\n \".help-sub\",\n `Enter your regular email address here. We’ll forward emails sent to your new ${primaryDomainName} inbox to this address.`\n )\n ]),\n\n h(FormButtons, { form, status, onCancel: () => this.handleCancel() })\n ]);\n }\n}\n\nconst fields = [\n \"mailbox_type\",\n \"username\",\n \"password\",\n \"showPassword\",\n \"forward_to\"\n];\n\nfunction validate(values) {\n return validator(values, {\n username: { presence: true },\n forward_to: { presence: true, email: true }\n });\n}\n\nexport default form(fields, validate)(MailboxForm);\n","import { h3, span } from \"tags\";\n\nconst MailboxInfo = ({ primaryDomainName, username, forwardTo }) =>\n h3([\n span(\"Email sent to \"),\n email(`${username}@${primaryDomainName}`),\n span(\" will be forwarded to \"),\n email(`${forwardTo}`),\n span(\".\")\n ]);\n\nfunction email(addr) {\n return span(\".highlight-email\", addr);\n}\n\nexport default MailboxInfo;\n","import { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { h } from \"h\";\nimport Section from \"../components/Section\";\nimport MailboxForm from \"../components/MailboxForm\";\nimport MailboxInfo from \"../components/MailboxInfo\";\nimport { submitMailboxData } from \"../actions/checkout_actions\";\nimport { formData } from \"../reducers/index\";\n\nclass MailboxStep extends Component {\n render() {\n const { initialValues, partner, primaryDomainName, onSubmit } = this.props;\n\n const viewer = () =>\n h(MailboxInfo, {\n primaryDomainName,\n username: initialValues.username,\n forwardTo: initialValues.forward_to\n });\n const editor = () =>\n h(MailboxForm, {\n primaryDomainName,\n initialValues,\n partner,\n onSubmit\n });\n\n return h(Section, {\n ...this.props,\n title: \"Email and forwarding setup\",\n viewer: viewer,\n editor: editor\n });\n }\n}\n\nfunction mapStateToProps(state) {\n const mailboxData = formData(state, \"mailbox\");\n return {\n initialValues: mailboxData,\n partner: state.cart.partnerName,\n primaryDomainName: state.cart.primaryDomainName\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n onSubmit: values => dispatch(submitMailboxData(values))\n };\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(MailboxStep);\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport ReactModal from \"react-modal\";\nimport { h, fasIcon } from \"h\";\n\nexport default class ConfirmNavigation extends Component {\n static propTypes = {\n isOpen: PropTypes.bool.isRequired,\n onConfirm: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired\n };\n\n render() {\n const { isOpen, onConfirm, onCancel } = this.props;\n return h(ReactModal, { isOpen, onRequestClose: onCancel, style: this.style, shouldCloseOnOverlayClick: false }, [\n h(\".modal-header\", [\n h(\"button.btn-link.closeButton\", { onClick: onCancel }, fasIcon(\"times\")),\n h(\"h4\", \"Confirm Navigation\")\n ]),\n h(\".modal-body\", [\n h(\"p\", \"You have unsaved changes, which will be lost if you continue.\")\n ]),\n h(\".modal-footer\", [\n h(\"button.btn-link.cancel\", { onClick: onCancel }, \"Cancel\"),\n h(\"button.btn.primary.continue\", { onClick: onConfirm }, \"Proceed\")\n ])\n ]);\n }\n\n style = {\n content: {\n width: \"750px\",\n left: 0,\n right: 0,\n top: \"40px\",\n bottom: \"auto\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n boxShadow: \"0px 0px 30px 5px black\",\n height: \"auto\"\n },\n overlay: {\n backgroundColor: \"rgba(0, 0, 0, 0.5)\"\n }\n };\n}\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\nimport h from \"h\";\nimport { div } from \"tags\";\nimport get from \"lodash/get\";\n\nimport { isStepEditable } from \"../store/invalidStep\";\n\nimport * as checkoutActions from \"../actions/checkout_actions\";\nimport AccountStep from \"./AccountStep\";\nimport RegistrationStep from \"./RegistrationStep\";\nimport BillingStep from \"./BillingStep\";\nimport ConfirmStep from \"./ConfirmStep\";\nimport TldStep from \"./TldStep\";\nimport MailboxStep from \"./MailboxStep\";\nimport ConfirmNavigation from \"../components/ConfirmNavigation\";\n\nclass CheckoutAccordion extends Component {\n componentDidMount() {\n this.props.enteredStep(this.props.params.step);\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.params.step !== this.props.params.step) {\n this.props.enteredStep(this.props.params.step);\n }\n }\n\n handleEdit(stepName) {\n if (this.props.checkout.unsaved) {\n return this.props.confirmNavigation(stepName);\n } else {\n return this.props.goto(stepName);\n }\n }\n\n render() {\n const { steps, formData, checkout, params: { step: currentStep } } = this.props;\n const confirmNavigation = checkout.confirmNavigation;\n\n const items = steps.map(step => {\n const stepIsActive = step.name === currentStep;\n const reactClass = getClassForStep(step.type);\n const onEdit = () => this.handleEdit(step.name);\n const formError = stepIsActive && get(this.props, \"location.state._error\");\n return h(reactClass, {\n key: step.name,\n stepName: step.name,\n stepData: step,\n [step.name]: formData[step.name] || {},\n stepIsActive,\n stepIsEditable: this.props.editable(step.name),\n formError,\n onEdit\n });\n });\n\n return div(\".accordion\", [\n ...items,\n h(ConfirmNavigation, {\n isOpen: !!confirmNavigation,\n onConfirm: () => this.props.goto(confirmNavigation),\n onCancel: () => this.props.cancelNavigation()\n })\n ]);\n }\n}\n\nCheckoutAccordion.propTypes = {\n steps: PropTypes.array.isRequired,\n formData: PropTypes.object.isRequired,\n enteredStep: PropTypes.func.isRequired,\n goto: PropTypes.func.isRequired\n};\n\nconst stepClasses = {\n account: AccountStep,\n registration: RegistrationStep,\n billing: BillingStep,\n tld: TldStep,\n mailbox: MailboxStep,\n confirm: ConfirmStep\n};\n\nfunction getClassForStep(type) {\n if (stepClasses[type]) {\n return stepClasses[type];\n } else {\n throw new Error(`No step handler class for ${type}`);\n }\n}\n\nfunction mapStateToProps(state) {\n const checkout = state.checkout.asMutable({ deep: true });\n const formData = checkout.model.formData;\n const steps = checkout.model.steps;\n const editable = isStepEditable(steps);\n return {\n checkout,\n steps,\n formData,\n editable\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return bindActionCreators(checkoutActions, dispatch);\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(CheckoutAccordion);\n","import React from \"react\";\nimport { fasIcon } from \"h\";\n\nfunction UserSelect(props) {\n return (\n <div className=\"user-select\">\n <h2>Select the account to sign in to</h2>\n <div className=\"user-rows\">\n {props.users.map((user) => (\n <UserRow actions={props.actions} user={user} key={user} />\n ))}\n </div>\n <p className=\"notice\">\n Not seeing your account here? Magic token sign in only works for accounts\n with a verified email address.\n </p>\n </div>\n );\n}\n\nfunction UserRow({ actions, user }) {\n const onClick = async () => {\n try {\n const data = await actions.initUserSelectRequest(user);\n actions.successfulSignin(data);\n return Promise.resolve();\n } catch (error) {\n throw \"not successful\";\n }\n }\n return (\n <div className=\"user-row\" onClick={onClick}>\n <p>{user}</p>\n {fasIcon(\"chevron-right\")}\n </div>\n );\n}\n\nexport default UserSelect;\n","import React from \"react\";\nimport styles from \"cp/account_checkup/styles.module.sass\";\n\nexport default function ShowEmailConfirmation(props) {\n const { email, url, actions } = props;\n const onSubmit = () => actions.showCodeVerification();\n const onClick = () => window.location.href = url;\n return (\n <div className={`email-confirmation ${styles.page}`}>\n <h1>Confirm your email address</h1>\n <p className={styles.prompt}>To ensure you receive important emails about your account and services, please confirm your email address.</p>\n <p className={styles.prompt}>We will send a verification code that will be required on the next step.</p>\n <ul className={styles.list}>\n <li className={styles.item}>\n <div className={styles.name}>Email</div>\n <div className={styles.value}>\n {email}\n <div className={styles.control}>\n <button\n className=\"btn-link\"\n onClick={() => actions.editEmailConfirmation()}\n >\n Edit\n </button>\n </div>\n </div>\n </li>\n </ul>\n <div className={`fieldgroup buttons ${styles.buttons}`}>\n <button onClick={onClick} className=\"btn-link skip-button\">I’ll Do This Later</button>\n <button onClick={onSubmit} className=\"btn\">Continue</button>\n </div>\n </div>\n )\n}\n","import React from \"react\";\nimport validator from \"../util/validator\";\nimport EmailForm from \"cp/settings/overview/EmailForm\";\n\nexport default function EditEmailConfirmation(props) {\n const { email, newsletters,actions, fields } = props;\n const onSubmit = (values) => {\n actions.submitEmailUpdate(values);\n };\n return (\n <div className=\"email-confirmation\">\n <h1>Confirm your email address</h1>\n <EmailForm\n initialValues={{\n email,\n newsletters\n }}\n onSubmit={onSubmit}\n onBack={() => actions.goBack()}\n emailVerificationEnabled={true}\n hideHeader={true}\n />\n </div>\n )\n}\n\nconst fields = [\"email\", \"newsletters\", \"newsletters_consent\"];\n\nfunction validate(values) {\n return validator(values, {\n email: {\n presence: true,\n email: true\n },\n newsletters_consent: {\n checked: values.newsletters\n }\n });\n}\n","import React, { useEffect } from \"react\";\nimport VerificationCodeForm from \"../../email_verification/VerificationCodeForm\";\nimport { sendVerificationEmailEdit } from \"../../email_verification/requests\";\n\nexport default function SigninVerification(props) {\n const { email, actions, error } = props;\n const onBack = () => {\n const { emailVerified, url } = props;\n actions.showEmailConfirmation({\n email,\n emailVerified,\n url\n });\n }\n const sendEmail = () => {\n sendVerificationEmailEdit({ email });\n }\n useEffect(() => {\n sendEmail()\n }, []);\n const onSubmit = async (values) => {\n actions.submitVerificationCode(values.code);\n };\n return <VerificationCodeForm\n className=\"email-verification\"\n onSubmit={onSubmit}\n onResend={() => sendEmail()}\n onBack={() => onBack()}\n email={email}\n formError={error}\n />;\n}\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { bindActionCreators } from \"redux\";\nimport c from \"classnames\";\nimport { h } from \"h\";\nimport { div } from \"tags\";\nimport * as signinActions from \"../actions/signinActions\";\n\nimport SigninForm from \"../components/SigninForm\";\nimport SigninEmailForm from \"../components/SigninEmailForm\";\nimport SigninTokenForm from \"../components/SigninTokenForm\";\nimport UserSelect from \"../components/UserSelect\";\nimport ForgotUsername from \"../components/ForgotUsername\";\nimport ForgotPassword from \"../components/ForgotPassword\";\nimport TwoFactorSms from \"../components/TwoFactorSms\";\nimport TwoFactorApp from \"../components/TwoFactorApp\";\nimport TwoFactorEmail from \"checkout/components/TwoFactorEmail\";\nimport TwoFactorRecovery from \"../components/TwoFactorRecovery\";\nimport ShowEmailConfirmation from \"../components/ShowEmailConfirmation\";\nimport EditEmailConfirmation from \"../components/EditEmailConfirmation\";\nimport SigninVerification from \"../components/SigninVerification\";\n\nimport \"../styles/signin.scss\";\n\nclass SigninMain extends Component {\n render() {\n const className = this.className();\n return div(\".signin\", { className: c(\"signin\", className)}, [this.header(), this.form(), this.footer()]);\n }\n\n className() {\n switch (this.props.signin.step) {\n case \"ask_verification_code\":\n return \"signin-verification\";\n case \"ask_2fa_email\":\n return \"two-factor-email\"\n default:\n return null;\n }\n }\n\n footer() {\n switch (this.props.signin.step) {\n case \"ask_user_select\":\n case \"ask_2fa_sms\":\n case \"ask_2fa_app\":\n case \"ask_2fa_email\":\n case \"ask_email_confirmation\":\n case \"edit_email\":\n case \"ask_verification_code\":\n return null;\n default:\n return h(\n \".footer\",\n h(\"p\", [\n h(\"span\", \"Don't have an account? \"),\n h(\"a\", { href: \"/signup\" }, \"Sign up.\"),\n ])\n );\n }\n }\n\n header() {\n switch (this.props.signin.step) {\n case \"ask_email_confirmation\":\n case \"edit_email\":\n return null;\n case \"ask_verification_code\":\n return h(\".header\", [h(\"h1\", \"Confirm your email address\")]);\n default:\n return h(\".header\", [h(\"h1\", \"Sign in\")]);\n }\n }\n\n form() {\n const { signin, actions } = this.props;\n const step = signin.step;\n switch (step) {\n case \"ask_username_password\": {\n return h(SigninForm, {\n signin,\n actions,\n magicSigninEnabled: signin.magicSigninEnabled,\n });\n }\n\n case \"ask_email_confirmation\": {\n const { email, url } = signin.verification;\n return h(ShowEmailConfirmation, { actions, email, url });\n }\n\n case \"edit_email\": {\n const { email, url } = signin.verification;\n return h(EditEmailConfirmation, { actions, email, url });\n }\n\n case \"ask_verification_code\": {\n return h(SigninVerification, { ...signin.verification, actions });\n }\n\n case \"ask_email\": {\n const initialValues = {\n email: signin.email,\n };\n return h(SigninEmailForm, { actions, signin, step, initialValues });\n }\n\n case \"ask_user_select\":\n return h(UserSelect, { actions, users: signin.users });\n\n case \"ask_token\":\n return h(SigninTokenForm, { actions, signin, step });\n\n case \"forgot_username\":\n return h(ForgotUsername, { signin, actions });\n\n case \"forgot_password\":\n return h(ForgotPassword, { signin, actions });\n\n case \"ask_2fa_sms\":\n return h(TwoFactorSms, { signin, actions });\n\n case \"ask_2fa_app\":\n return h(TwoFactorApp, { signin, actions });\n\n case \"ask_2fa_email\":\n return h(TwoFactorEmail, { signin, actions });\n\n case \"recovery\":\n return h(TwoFactorRecovery, { signin, actions });\n\n default:\n throw new Error(\"No such step: \" + step);\n }\n }\n}\n\nSigninMain.propTypes = {\n signin: PropTypes.object.isRequired,\n};\n\nfunction mapStateToProps(state) {\n return { signin: state.signin };\n}\n\nfunction mapDispatchToProps(dispatch) {\n const actions = {\n ...signinActions,\n successfulSignin: signinActions.mainSigninSuccess,\n };\n return { actions: bindActionCreators(actions, dispatch) };\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SigninMain);\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport h from \"h\";\nimport c from \"classnames\";\nimport { div } from \"tags\";\nimport validator from \"../../util/validator\";\nimport {\n form,\n ManagedForm,\n FormError,\n SubmitButton,\n CreatePasswordField,\n fieldType\n} from \"../../form\";\n\nclass NewPasswordForm extends Component {\n static propTypes = {\n form: PropTypes.object.isRequired,\n fields: PropTypes.shape({\n password: fieldType.isRequired,\n showPassword: fieldType.isRequired\n }).isRequired,\n token: PropTypes.string.isRequired,\n loading: PropTypes.bool.isRequired,\n error: PropTypes.bool,\n note: PropTypes.bool\n };\n\n constructor(props) {\n super(props);\n this.state = {\n loading: false,\n error: null\n };\n }\n\n render() {\n const { form, fields, actions } = this.props;\n const { password, showPassword } = fields;\n\n const className = c(this.state.loading && \"loading\");\n const onSubmit = values => actions.setNewPassword(values);\n\n return h(ManagedForm, { form, className, onSubmit }, [\n div(\".fieldgroup\", [\n h(FormError, { text: this.state.error }),\n div(\".row\", [\n h(CreatePasswordField, {\n width: 12,\n field: password,\n show: showPassword,\n autoFocus: true,\n label: \"New Password\"\n })\n ])\n ]),\n div(\".fieldgroup.buttons\", [h(SubmitButton, { form, text: \"Continue\" })])\n ]);\n }\n}\n\nexport function validate(values) {\n return validator(values, {\n password: { password: true }\n });\n}\n\nexport default form([\"password\", \"showPassword\"], validate)(NewPasswordForm);\n","import { Component } from \"react\";\nimport { h } from \"h\";\nimport TwoFactorApp from \"../TwoFactorApp\";\n\nexport default class TwoFactorAppForm extends Component {\n render() {\n const { loading, mobile, note, error, actions } = this.props;\n const signin = { note, error, mobile, loading };\n\n return h(TwoFactorApp, { signin, actions });\n }\n}\n","import { Component } from \"react\";\nimport { h } from \"h\";\nimport TwoFactorSms from \"../TwoFactorSms\";\n\nexport default class TwoFactorSmsForm extends Component {\n render() {\n const { loading, mobile, note, error, actions } = this.props;\n const signin = { note, error, mobile, loading };\n\n return h(TwoFactorSms, { signin, actions });\n }\n}\n","import { Component } from \"react\";\nimport { h } from \"h\";\nimport TwoFactorRecovery from \"../TwoFactorRecovery\";\n\nexport default class TwoFactorRecoveryForm extends Component {\n render() {\n const { loading, mobile, note, error, actions } = this.props;\n const signin = { note, error, mobile, loading };\n\n return h(TwoFactorRecovery, { signin, actions });\n }\n}\n","import { Component } from \"react\";\nimport h from \"h\";\nimport { p } from \"tags\";\nimport { Link } from \"react-router\";\n\nexport default class BadToken extends Component {\n render() {\n return h(\"form.bad\", [\n p(\".error\", \"This link has expired.\"),\n p([\n h(\n Link,\n { to: \"/signin\" },\n \"Click here to sign in or send a new confirmation email.\"\n )\n ])\n ]);\n }\n}\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport h from \"h\";\nimport { h1, div } from \"tags\";\nimport NewPasswordForm from \"../components/passwordReset/NewPasswordForm\";\nimport TwoFactorAppForm from \"../components/passwordReset/TwoFactorAppForm\";\nimport TwoFactorSmsForm from \"../components/passwordReset/TwoFactorSmsForm\";\nimport TwoFactorRecoveryForm from \"../components/passwordReset/TwoFactorRecoveryForm\";\nimport BadToken from \"../components/passwordReset/BadToken\";\nimport { xhrPost } from \"common/xhr\";\n\nclass PasswordReset extends Component {\n static propTypes = {\n token: PropTypes.string // optional\n };\n\n constructor(props) {\n super(props);\n this.state = {\n loading: false,\n page: props.token ? \"new_password\" : \"bad_token\",\n note: null,\n error: null\n };\n }\n\n handleNewPassword(values) {\n const { token } = this.props;\n const { password } = values;\n\n this.withLoading(() => {\n return xhrPost(`/password_reset/${token}/set_password`, { password }).then(\n response => {\n if (response.status === \"completed\") {\n document.location = response.url;\n } else if (response.status === \"need_2fa\" && response.type === \"sms\") {\n this.twoFactorSms(response.mobile);\n } else if (response.status === \"need_2fa\") {\n this.twoFactorApp();\n } else {\n this.setError(response.error);\n }\n }\n );\n });\n }\n\n handleTwoFactorCodeEntered(code) {\n const { token } = this.props;\n return this.withLoading(() => {\n return xhrPost(`/password_reset/${token}/auth2`, { code, }).then(response => {\n if (response.error) {\n this.setError(response.error);\n }\n\n return Promise.resolve(response);\n });\n });\n }\n\n handleSignedIn(response) {\n if (response && response.url) {\n document.location = response.url;\n }\n }\n\n handleResendSms() {\n const { token } = this.props;\n this.withLoading(() => {\n return xhrPost(`/password_reset/${token}/resend_code`).then(response => {\n if (response.succeeded) {\n this.setNote(response.note);\n } else {\n this.setError(response.error || \"Action failed\");\n }\n });\n });\n }\n\n handleRecoveryCodeEntered(code) {\n const { token } = this.props;\n return this.withLoading(() => {\n return xhrPost(`/password_reset/${token}/recovery`, { recovery_code: code }).then(response => {\n if (response.error) {\n this.setError(response.error);\n }\n\n return Promise.resolve(response);\n });\n });\n }\n\n handleRecovery() {\n this.setPage(\"2fa_recovery\");\n }\n\n setError(error) {\n this.setState({ note: null, error });\n }\n\n setNote(note) {\n this.setState({ note, error: null });\n }\n\n setPage(page) {\n this.setState({ page });\n }\n\n withLoading(action) {\n this.setState({ loading: true });\n return action().finally(() => this.setState({ loading: false }));\n }\n\n twoFactorSms(mobile) {\n this.setState({ page: \"2fa_sms\", mobile });\n }\n\n twoFactorApp() {\n this.setState({ page: \"2fa_app\" });\n }\n\n twoFactorRecovery() {\n this.setState({ page: \"2fa_recovery\" });\n }\n\n render() {\n return div(\".signin\", [h1(\"Reset your password.\"), this.form()]);\n }\n\n form() {\n const { token } = this.props;\n const { loading, mobile, note, error } = this.state;\n const actions = {\n setNewPassword: password => this.handleNewPassword(password),\n sendTwoFactorCode: code => this.handleTwoFactorCodeEntered(code),\n successfulSignin: data => this.handleSignedIn(data),\n resendSmsRequest: () => this.handleResendSms(),\n twoFactorStartRecovery: () => this.handleRecovery(),\n twoFactorRecoveryRequest: code => this.handleRecoveryCodeEntered(code)\n };\n const props = {\n token,\n loading,\n mobile,\n note,\n error,\n actions\n };\n\n switch (this.state.page) {\n case \"bad_token\":\n return h(BadToken, props);\n\n case \"new_password\":\n return h(NewPasswordForm, props);\n\n case \"2fa_app\":\n return h(TwoFactorAppForm, props);\n\n case \"2fa_sms\":\n return h(TwoFactorSmsForm, props);\n\n case \"2fa_recovery\":\n return h(TwoFactorRecoveryForm, props);\n\n default:\n throw new Error(`unknown page ${this.state.page}`);\n }\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n token: state.signin.token,\n };\n}\n\nexport default connect(mapStateToProps)(PasswordReset);\n","import React, { Component } from \"react\";\nimport { Router, Route, IndexRoute } from \"react-router\";\nimport { browserHistory } from \"react-router\";\nimport nextStep from \"../store/next_step\";\nimport enteringInvalidState from \"../store/invalidStep\";\nimport App from \"./App\";\n\nimport CheckoutMain from \"./checkout_main\";\nimport CheckoutAccordion from \"./checkout_accordion\";\nimport SigninMain from \"./SigninMain\";\nimport PasswordReset from \"./PasswordReset\";\n\nclass CheckoutApp extends Component {\n render() {\n const { store } = this.props;\n const history = this.props.history || browserHistory;\n\n return (\n <App store={store}>\n <Router history={history}>\n <Route path=\"/signin\" component={SigninMain} />\n <Route path=\"/signin/:section\" component={SigninMain} />\n <Route path=\"/password_reset/*\" component={PasswordReset} />\n\n <Route path=\"/checkout\" component={CheckoutMain}>\n <IndexRoute onEnter={gotoNextStep} />\n <Route\n path=\":step\"\n component={CheckoutAccordion}\n onEnter={enteredStep}\n />\n </Route>\n </Router>\n </App>\n );\n\n function gotoNextStep(nextState, replaceState) {\n const checkout = store.getState().checkout;\n const step = nextStep(checkout);\n\n return replaceState(`/checkout/${step}`);\n }\n\n function enteredStep(nextState, replaceState) {\n const checkout = store.getState().checkout;\n if (enteringInvalidState(nextState, checkout)) {\n gotoNextStep(nextState, replaceState);\n }\n }\n }\n}\n\nexport default CheckoutApp;\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport { Component } from \"react\";\nimport Immutable from \"immutable\";\n\nimport { h, farIcon } from \"h\";\n\nclass Filters extends Component {\n static propTypes = {\n categories: PropTypes.arrayOf(PropTypes.object).isRequired,\n filters: PropTypes.arrayOf(PropTypes.string).isRequired,\n integration: PropTypes.object,\n sendAction: PropTypes.func.isRequired\n };\n\n render() {\n const { categories, filters, integration, sendAction } = this.props;\n\n const filterSet = Immutable.Set(filters);\n\n return h(\".filters\", [\n h(\"h2\", \"Filters\"),\n h(\"form\", [\n filter(\"all\", \"Show All\"),\n ...categories.map(c => filter(c.id, c.title))\n ])\n ]);\n\n function filter(id, title) {\n const icon = filterSet.has(id) ? \"check-square\" : \"square\";\n return h(\"label\", { onClick: () => toggle(id) }, [farIcon(icon), h(\"span\", title)]);\n }\n\n function toggle(id) {\n sendAction({\n name: \"toggleCategory\",\n id: id,\n checked: !filterSet.has(id)\n });\n }\n\n function topHeading() {\n if (integration) {\n return \"Top Picks for \" + integration.title;\n } else {\n return \"Top Picks\";\n }\n }\n }\n}\n\nexport default Filters;\n","import PropTypes from \"prop-types\";\nimport { Component } from \"react\";\nimport React from \"react\";\nimport ReactModal from \"react-modal\";\nimport merge from \"lodash/merge\";\nimport SedoLogo from \"./images/sedo_logo.svg\";\nimport DALogo from \"application/images/home/lookup/domainagents.png\";\n\nimport { h, fasIcon, gaTrackEvent } from \"h\";\n\nclass OfferPopup extends Component {\n static propTypes = {\n model: PropTypes.shape({\n offerDialog: PropTypes.bool.isRequired,\n sedoDialog: PropTypes.bool.isRequired,\n sendAction: PropTypes.func.isRequired,\n offerDomain: PropTypes.string\n })\n };\n\n constructor(props) {\n super(props);\n this.state = {\n amLoading: false\n };\n }\n\n render() {\n const { offerDialog, sedoDialog } = this.props.model;\n const open = offerDialog || sedoDialog;\n const amLoading = this.state.amLoading;\n\n const { logo, text } = this.modalContent();\n\n return h(\n ReactModal,\n {\n isOpen: open,\n onRequestClose: () => this.onClose(),\n style: OfferPopup.style(),\n shouldCloseOnOverlayClick: false\n },\n loading([\n h(\n \"button.btn-link.closeButton\",\n { onClick: () => this.onClose() },\n fasIcon(\"times\")\n ),\n h(\".content\", [h(\"img.logo\", { src: logo }), h(\"p\", text)]),\n h(\".options\", [\n h(\n \"button.btn.primary.continue\",\n { onClick: () => this.learnMore() },\n \"LEARN MORE\"\n )\n ])\n ])\n );\n\n function loading(content) {\n if (amLoading) {\n return h(\".loading\", content);\n } else {\n return content;\n }\n }\n }\n\n modalContent() {\n if (this.props.model.offerDialog) {\n return {\n logo: DALogo,\n text: [\n \"Hover has partnered with DomainAgents to help you acquire domain names that are owned by others, but that might be for sale. With DomainAgents help, you can open a negotiation with the current owner of the domain. Your offer will be presented to the current owner, guaranteed.\"\n ]\n };\n } else {\n return {\n logo: SedoLogo,\n text: [\n \"Hover has partnered with Sedo, a leading domain name marketplace to help you find the perfect domain name. \",\n h(\"span.bold\", this.props.model.offerDomain),\n \" is listed for sale in the Sedo marketplace. Clicking below will take you there to start the negotiation process.\"\n ]\n };\n }\n }\n\n onClose() {\n this.props.model.sendAction({ name: \"closeOfferDialog\" });\n }\n\n learnMore() {\n const trackName = this.props.model.offerDialog\n ? \"click_domainagents_modal\"\n : \"click_sedo_modal\";\n const actionName = this.props.model.offerDialog ? \"offerLearnMore\" : \"offerSedo\";\n this.setState({ amLoading: true });\n if (this.props.model.offerDialog) {\n this.props.model.sendAction({\n name: \"offerLearnMore\",\n domainName: this.props.model.offerDomain\n });\n } else {\n this.props.model.sendAction({\n name: \"offerSedo\",\n domainName: this.props.model.offerDomain,\n sedoPartnerUrl: this.props.model.sedoPartnerUrl\n });\n }\n gaTrackEvent(\"DomainLookup\", trackName, this.props.model.offerDomain);\n this.props.model.sendAction({\n name: actionName,\n domainName: this.props.model.offerDomain\n });\n }\n\n static style() {\n const baseStyle = {\n content: {\n width: \"675px\",\n transform: \"translate(0, 50%)\",\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n height: \"380px\",\n borderRadius: 0,\n zIndex: 3,\n paddingBottom: \"50px\"\n },\n overlay: {\n backgroundColor: \"rgba(0, 0, 0, 0.5)\",\n zIndex: 2\n }\n };\n if (window.matchMedia(\"(max-width: 480px)\").matches) {\n return merge(baseStyle, {\n content: {\n position: \"fixed\",\n bottom: 0,\n left: 0,\n right: 0,\n top: 0,\n width: \"100%\",\n height: \"480px\",\n transform: \"translate(0, 30%)\",\n }\n });\n } else {\n return baseStyle;\n }\n }\n}\n\nexport default OfferPopup;\n","import PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { TransitionGroup, CSSTransition } from \"react-transition-group\";\nimport c from \"classnames\";\nimport get from \"lodash/get\";\n\nimport { h, fasIcon, pluralize } from \"h\";\nimport Filters from \"./filters\";\nimport OfferPopup from \"./offer_popup\";\nimport Category from \"./category\";\n\nclass DomainLookup extends Component {\n UNSAFE_componentWillMount() {\n this.modalDialogHtml = $(\".domainagents\").html();\n }\n\n render() {\n const model = this.props.model.toJS();\n const { integration } = model;\n const { categories, qparams, cart, filters } = model;\n const { sendAction } = model;\n const progress = progressInfo(this.props.model);\n const sectionClass = c({ integration: integration });\n return h(\"div\", [\n newSearch({ cart, qparams }),\n h(\"section.herop\", { className: sectionClass }, [\n integration && h(PartnerHeading, integration),\n h(ProgressBar, progress),\n renderExactMatch(model, model.groupedResults.exact || []),\n h(\".extra-results\", [\n h(\".results-left\", [h(Results, model)]),\n h(\".results-right\", [h(Filters, { categories, filters, sendAction })]),\n h(OfferPopup, {\n model\n })\n ])\n ])\n ]);\n\n function onRemoveFromCart(name) {\n sendAction({ name: \"removeFromCart\", item: name });\n }\n\n function onEmptyCart() {\n sendAction({ name: \"emptyCart\" });\n }\n }\n}\n\nconst miniCart = props => {\n const itemCount = props.items.length;\n const itemText = pluralize(itemCount, \"ITEM\", \"ITEMS\");\n return h(\n \"a.new-minicart-holder\",\n { href: \"/cart\" },\n h(\".new-minicart\", [\n h(\"p\", [fasIcon(\"shopping-cart\"), h(\"span.count\", itemText)]),\n h(\"p.amount\", \"USD \" + props.subtotal)\n ])\n );\n};\n\nconst newSearch = props => {\n return h(\n \".new-header\",\n h(\"section.herop\", [\n h(\".new-search\", [h(SearchForm, props.qparams)]),\n miniCart(props.cart)\n ])\n );\n};\n\nconst Heading = integration => {\n if (integration) {\n return [\n h(PartnerHeading, integration),\n integration.offer &&\n h(\".offer\", [fasIcon(\"ticket\"), h(\"p\", integration.offer)])\n ];\n } else {\n return [h(SearchHeading)];\n }\n};\n\nconst SearchHeading = () =>\n h(\".search_heading\", [\n h(\"h1\", \"Here are some great domains for your website or idea\"),\n h(\"p\", \"We make it easy to register and connect with just a few clicks.\")\n ]);\n\nconst PartnerHeading = ({ title, path, landing_page_variant, offer }) => {\n return h(\".search_heading.partner\", [\n h(PartnerLogo, { src: path, size: 60 }),\n ...partnerHeading(title, landing_page_variant, offer)\n ]);\n};\n\nfunction partnerHeading(title, landing_page_variant, offer) {\n if (offer && offer != \"\") {\n return [\n h(\"h1\", `Get a great domain courtesy of ${title}`),\n h(\"p\", \"We make it easy to register and connect it with just a few clicks.\")\n ];\n } else if (landing_page_variant === \"generic\") {\n return [\n h(\"h1\", \"Here are some great domains for your website or idea\"),\n h(\"p\", \"We make it easy to register and connect it with just a few clicks.\")\n ];\n } else if (landing_page_variant === \"plain\") {\n return [\n h(\"h1.variant-plain\", `Register a domain to use with ${title}`),\n h(\n \"p\",\n `We’ll automatically add an email forward ($5/year) to complete your package for use with ${title}.`\n )\n ];\n } else {\n return [\n h(\"h1\", `Get a great domain for your ${title} website.`),\n h(\"p\", \"We make it easy to register and connect it with just a few clicks.\")\n ];\n }\n}\n\nclass PartnerLogo extends Component {\n render() {\n const { src, size } = this.props;\n return h(\"img.logo\", { src, width: size, height: size });\n }\n}\n\nclass SearchForm extends Component {\n render() {\n const { q } = this.props;\n\n return h(\"form.search\", { action: \"/domains/results\" }, [\n h(\"input#searchText\", {\n name: \"q\",\n type: \"text\",\n defaultValue: q,\n autoCapitalize: \"none\"\n }),\n h(\"button.btn.search.primary\", [fasIcon(\"search\")]),\n hiddenInput(\"tld\", this.props.tld),\n hiddenInput(\"only\", this.props.only)\n ]);\n }\n}\n\nclass ProgressBar extends Component {\n static propTypes = {\n status: PropTypes.oneOf([\"in_progress\", \"completed\", \"hidden\"]).isRequired,\n count: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n percent: PropTypes.number.isRequired,\n registries: PropTypes.number.isRequired\n };\n\n render() {\n const { status, count, percent, registries } = this.props;\n\n if (status !== \"hidden\") {\n const message = progressMessage();\n const style = { width: percent.toFixed(1) + \"%\" };\n const progressBar = h(\".progress\", [\n h(\".status\", message),\n h(\".progress_bar\", [h(\"span\", { style })]),\n h(\".space\")\n ]);\n return fadeSlide([progressBar]);\n } else {\n return fadeSlide([]);\n }\n\n function progressMessage() {\n if (status === \"completed\") return \"Completed.\";\n\n const searching = pluralize(registries, \"registry\", \"registries\");\n const found = pluralize(count, \"recommendation\");\n return `Searching ${searching}, ${found} found.`;\n }\n\n function fadeSlide(items) {\n return h(\n TransitionGroup,\n items.map(item => h(\n CSSTransition,\n {\n classNames: \"progress\",\n enter: false,\n timeout: {leave: 500}\n },\n item\n ))\n );\n }\n }\n}\n\nfunction renderExactMatch(props, matches) {\n if (!matches || matches.length === 0) return;\n const top = get(props, [\"groupedResults\", \"top\"]);\n const highlight = matches.length > 0 && matches[0].status !== \"taken\";\n return h(\n \".results\",\n renderCategory(props, \"Exact Match\", matches, \"exact\", null, highlight)\n );\n}\n\nfunction renderCategory(props, heading, matches, categoryId, integration, hl) {\n if (!matches || matches.length === 0) return;\n return h(Category, {\n ...props,\n heading,\n matches,\n categoryId,\n integration,\n hl\n });\n}\n\nclass Results extends Component {\n render() {\n const props = this.props;\n const { integration, categories, groupedResults } = this.props;\n\n return h(\".results\", [\n errorMessage(),\n renderTopPicksCategory(integration, groupedResults.top || []),\n ...categories.map(cat =>\n renderCategory(props, cat.title, groupedResults[cat.id], cat.id)\n )\n ]);\n\n function errorMessage() {\n const error = props.error;\n if (error) {\n const rawMarkup = { __html: error };\n return h(\".message\", [h(\"h2\", { dangerouslySetInnerHTML: rawMarkup })]);\n }\n }\n\n function renderTopPicksCategory(integration, matches) {\n const heading = exactMatchHeading(matches.length);\n return renderCategory(props, heading, matches, \"top\", integration);\n }\n\n function exactMatchHeading(integration, count) {\n return count === 1 ? \"Top Pick\" : \"Top Picks\";\n }\n }\n}\n\nfunction hiddenInput(name, value) {\n return value ? h(\"input\", { type: \"hidden\", name: name, value: value }) : null;\n}\n\nfunction progressInfo(model) {\n const hideStatusBar = model.getIn([\"progress\", \"hidden\"]);\n const count = model.getIn([\"progress\", \"count\"], 0);\n const estMax = model.getIn([\"progress\", \"max\"], 300);\n const inProgress = model.get(\"lookupInProgress\");\n const registries = model.get(\"numRegistries\", 300);\n\n const max = inProgress ? progressMax(estMax, count) : count;\n const percent = 100 * count / max;\n const status = mkStatus(inProgress, hideStatusBar);\n\n return { status, count, max, percent, registries };\n\n function progressMax(max, count) {\n if (count <= max) return max;\n else return count + 10;\n }\n\n function mkStatus(inProgress, hideStatusBar) {\n if (hideStatusBar) return \"hidden\";\n else if (inProgress) return \"in_progress\";\n else return \"completed\";\n }\n}\n\nexport default DomainLookup;\n","import { TransitionGroup, CSSTransition } from \"react-transition-group\";\nimport PropTypes from \"prop-types\";\nimport { h, fasIcon, numberToCurrency, pluralize } from \"h\";\nimport { price } from \"checkout/lookup/price\";\n\nconst isEmpty = items => !items || items.length === 0;\n\nconst renderCartItem = onRemove => item =>\n h(\"li.cart-item\", { key: item.name }, [\n h(\"span.name\", item.name),\n h(\n \"button.remove_cart\",\n {\n title: \"Remove from cart\",\n onClick: e => onRemove(item.name)\n },\n fasIcon(\"times\")\n ),\n renderSubItems(item.components)\n ]);\n\nfunction renderSubItems(subItems) {\n if (subItems.length > 0) {\n return h(\n \".sub\",\n subItems.map((c, i) =>\n h(\".row\", { key: i }, [\n h(\".label\", c.label),\n \"\\xa0\", // for cukes\n h(\".amount\", price(c.amount, c.regular_amount))\n ])\n )\n );\n }\n}\n\nfunction renderNote(note) {\n return fadeSlide(note ? h(\".note\", note) : []);\n}\n\nfunction fadeSlide(items) {\n const transition = {\n classNames: \"note\",\n timeout: {\n enter: 500,\n exit: 500\n }\n };\n return h(\n TransitionGroup,\n mapItems(items, transition) \n );\n}\n\nfunction fadeSlideList(items) {\n const transition = {\n classNames: \"cart-item\",\n timeout: {\n enter: 500,\n exit: 500\n }\n }\n return h(\n TransitionGroup,\n {\n component: \"ul\"\n }, \n mapItems(items, transition)\n );\n}\n\nfunction mapItems(items, transition) {\n return items.map(item => h(CSSTransition, {\n ...transition\n }, item))\n}\n\nexport function initCartData(cart) {\n return {\n items: cart.cart.map(initCartItem),\n subtotal: cart.net_subtotal,\n note: cart.note,\n voucherEligible: cart.voucher_eligible\n };\n\n function initCartItem(item, k) {\n return {\n name: item.name,\n amount: item.net_price,\n components: initSubItems(item.components),\n position: k\n };\n }\n\n function initSubItems(components) {\n let subItems = [],\n subComponents = components;\n const c = components[0];\n\n if (c.id === \"domain\") {\n subItems.push({\n label: c.summary,\n amount: c.net_amount,\n regular_amount: c.regular_net_amount\n });\n subComponents = subComponents.slice(1);\n }\n\n let { count, amount } = getMailboxData(subComponents);\n if (count > 0) {\n subItems.push({\n label: pluralize(count, \"Mailbox\", \"Mailboxes\"),\n amount: numberToCurrency(amount)\n });\n }\n return subItems;\n }\n\n function getMailboxData(components) {\n let count = 0,\n amount = 0;\n components.forEach(c => {\n count += c.num_emails || 0;\n amount += parseFloat(c.amount.replace(/[^\\-,\\d]/, \"\"));\n });\n return { count, amount };\n }\n}\n\nexport function MiniCart({ items, subtotal, note, onRemoveFromCart }) {\n if (isEmpty(items)) {\n return null;\n }\n return h(\".minicart\", [\n renderNote(note),\n h(\"h2\", \"Cart Summary\"),\n h(\".cart\", [\n fadeSlideList(items.map(renderCartItem(onRemoveFromCart))),\n h(\".cart_total\", [h(\".label\", \"Subtotal\"), h(\".amount\", \"USD \" + subtotal)]),\n h(\".buttons\", [h(\"a.btn.primary\", { href: \"/cart\" }, \"Proceed to Cart\")])\n ])\n ]);\n}\n\nMiniCart.propTypes = {\n items: PropTypes.arrayOf(PropTypes.object).isRequired,\n subtotal: PropTypes.string.isRequired,\n note: PropTypes.string,\n onRemoveFromCart: PropTypes.func.isRequired\n};\n","import Immutable from \"seamless-immutable\";\n\nexport default function nextStep(checkoutState) {\n const model = checkoutState.model;\n const steps = model.steps || Immutable([]);\n\n const pendingStep = steps.find(s => s.status === \"pending\");\n\n if (pendingStep) {\n return pendingStep.name;\n } else {\n throw new Error(\"No pending steps found\");\n }\n}\n","import PropTypes from \"prop-types\";\nimport React, { Component } from \"react\";\nimport { h, fasIcon, farIcon } from \"h\";\nimport { Box, BoxItem } from \"../elements/box\";\n\nexport class AsideHelp extends Component {\n render() {\n const { supportOpen } = this.props;\n\n return h(\"aside.help\", [\n h(Box, { title: \"Need last minute help?\" }, [\n h(BoxItem, [label(fasIcon(\"phone\"), \"1-866-731-6556\")]),\n h(BoxItem, [label(farIcon(\"envelope\"), emailLink(\"help@hover.com\"))]),\n h(BoxItem, { className: \"hours\" }, [label(farIcon(\"clock\"), supportHours())])\n ])\n ]);\n\n function label(...children) {\n return h(\".label\", children);\n }\n\n function emailLink(addr) {\n return h(\"a\", { href: `mailto:${addr}` }, addr);\n }\n\n function supportHours() {\n return h(\".hours\", [\n ...hours(\"Mon - Fri\", \"8am - 8pm (Eastern)\"),\n ...hours(\"Sat - Sun\", \"8am - 8pm (Eastern)\")\n ]);\n }\n\n function hours(days, times) {\n return [h(\".days\", days), h(\".times\", times)];\n }\n }\n}\n\nAsideHelp.propTypes = {\n supportOpen: PropTypes.bool.isRequired\n};\n","import PropTypes from \"prop-types\";\nimport React from \"react\";\nimport c from \"classnames\";\nimport h, { fasIcon } from \"h\";\n\nexport function Box({ title, onClose, subHeading, className, props, children }) {\n const heading = h(\"h2\", title);\n const closeButton =\n onClose && h(\"button.close\", { onClick: onClose }, fasIcon(\"times\"));\n const boxProps = { className: c(\"box\", className), ...props };\n const ulClass = c(\"\", { \"push-right\": subHeading });\n // const className = c(\"\", );\n return h(\"div\", boxProps, [\n closeButton,\n heading,\n subHeading && subHeading,\n h(\"ul\", { className: ulClass }, children)\n ]);\n}\n\nBox.propTypes = {\n title: PropTypes.node.isRequired,\n onClose: PropTypes.func,\n subHeading: PropTypes.element\n};\n\nexport function BoxItem({ className, children }) {\n return h(\"li\", { className }, h(\".boxitem-ie\", h(\".boxitem\", children)));\n}\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var arrayMap = require('./_arrayMap');\n\n/**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\nfunction baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n}\n\nmodule.exports = baseValues;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var baseIteratee = require('./_baseIteratee'),\n isArrayLike = require('./isArrayLike'),\n keys = require('./keys');\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var createFind = require('./_createFind'),\n findIndex = require('./findIndex');\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","var convert = require('./convert'),\n func = convert('get', require('../get'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","var baseIndexOf = require('./_baseIndexOf'),\n isArrayLike = require('./isArrayLike'),\n isString = require('./isString'),\n toInteger = require('./toInteger'),\n values = require('./values');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\nfunction includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n}\n\nmodule.exports = includes;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var baseValues = require('./_baseValues'),\n keys = require('./keys');\n\n/**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\nfunction values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n}\n\nmodule.exports = values;\n"],"names":["root","factory","exports","module","define","amd","a","i","self","_handleTokenSigninRequest","_asyncToGenerator","_regeneratorRuntime","mark","_callee","email","dispatch","data","wrap","_context","prev","next","xhrPost","sent","SigninActions","t0","errors","stop","apply","arguments","_handleResendTokenSigninRequest","_callee2","_context2","_handleSubmitTokenRequest","_callee3","token","store","_store$getState$signi","remember","_context3","getState","signin","status","abrupt","Promise","resolve","_handleInitUserSelectRequest","_callee4","username","_store$getState$signi2","_context4","handleSkipSignin","skip","then","checkout","step_data","account","mode","CheckoutActions","document","location","href","formPost","url","response","redirect","succeeded","reject","resp","_error","_handleVerificationRequest","_callee5","payload","state","_state$signin$verific","verification","error","_context5","_objectSpread","_objectWithoutProperties","_excluded","verifyEmail","code","xhrPut","email_verified","tag","window","endsWith","Object","values","gaTrack","action","label","ga","hitType","eventCategory","eventAction","eventLabel","browserHistory","listen","pathname","history","type","step","tld","name","toLowerCase","applyMiddleware","result","remote","password","handleSigninRequest","xhrGet","get","optInPayload","email_notifications","newsletters","consent","newsletter","handleOptInNewsletter","accountData","tosValues","handleCreateAccount","handleAgreeToTerms","handlePasswordRecovery","registration","handleSubmitRegistrationData","handleSubmitTldData","mailbox","handleSubmitMailboxData","billing","handleSubmitBillingData","openPaypal","options","paypal","handleSubmitPaypalBilling","openApplePay","apple_pay","handleSubmitApplePayBilling","page","handleSubmitOrder","err","handleTwoFactorRequest","handleResendSms","recovery_code","handleTwoFactorRecovery","recoveryCode","verificationEnabled","emailVerified","handleMainSigninSuccess","_x9","_x10","handleVerificationRequest","_x","_x2","handleTokenSigninRequest","_x3","_x4","handleResendTokenSigninRequest","_x5","_x6","handleSubmitTokenRequest","_x7","_x8","handleInitUserSelectRequest","Error","JSON","stringify","nextStep","findNextStep","push","concat","element","getElementById","html","innerHTML","trackingMiddleware","END_OF_CHAIN","UPDATE","actionMap","Immutable","obj","foldp","update","initialModel","callback","on","currentModel","sendAction","callbacks","assignedCallbacks","defaultCallbacks","callbacksForAction","takeUntil","cb","isEmpty","forEach","endChain","actionName","newCallbacks","set","filterAll","model","buildLoadingObject","items","n","_ref","incomingDomainNames","Set","results","map","r","domain","currentHits","_toConsumableArray","toJS","toKeep","filter","has","mergedResults","count","mergeResults","groupedResults","groupResults","premiumKnown","getIn","has_premium","exactMatchTaken","keywords","complete","exact_known","exact","progress","max","estimated_max_results","exactMatchBlocked","exact_blocked","registryPresumedDown","isRegistryDown","domainAgents","domain_agents","makeOffers","make_offers","query","mergeIn","lookupInProgress","includes","undertermined","updateResults","cart","withMutations","m","initCart","updateCart","finalizeLookup","id","filterSet","add","setIn","isLoading","length","undefined","reduce","acc","_defineProperty2","loading","forRendering","signal","size","shouldAddMissingExact","exactMatchHit","addMissingExactMatch","priceLimit","cat","item","newPrice","parseDollarAmount","markPriceLimit","itemsInCart","toSet","markInCart","allHits","Array","isArray","split","handleKeyWords","hasExact","find","hit","is_exact","hasExactHit","hasComKey","replace","hasComKeyHit","bundleTlds","bundle_tlds","merge","recategorize","rank","search_category_rank","result_type","isComKey","join","isTldTail","categoryId","categoryRank","isSuitableTopType","some","sld","isSuitableDomain","canBundle","partner_promotion","partner_position","search_category_id","recategorizeHits","sort","byRank","byFree","groupBy","b","isFree","val","$","Signal","categories","initCategories","integration","numRegistries","qparams","filters","modalDialogHtml","offerDialog","sedoDialog","sedoPartnerUrl","sedo_partner_url","price_limit","attempts","list","toString","title","initLookupModel","track","value","gaTrackEvent","_addToCart","_iterator","_step","_loop","_createForOfIteratorHelper","el","categoryName","search_key","s","done","delegateYield","t1","e","f","finish","getJSON","fail","setTimeout","post","_action","domainName","updateHeaderCartItemCount","category","c","String","checked","newModel","DomainLookup","props","require","ReactDOM","h","isVoid","initComponents","R","amount","net_amount","components","pairs","_ref2","_slicedToArray","c1","c2","instant_savings","bundle","price","net_price","renew_amount","position","subtotal","net_subtotal","icannFee","icann_fee","discounts","partner","primaryItem","primary_item","canEnterPromoCode","can_enter_promo_code","total","exploded","Tooltip","onShow","tooltip","React","className","CPToolTip","afterShow","text","TieredPriceInfoToolTip","propTypes","PropTypes","isRequired","onChange","onBlur","placeholder","errorMessage","confirmed","children","autoComplete","autoCorrect","autoCapitalize","spellCheck","AuthCodeForm","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_defineProperty","_assertThisInitialized","authCode","dirty","setState","target","Input","strict","preventDefault","actions","changeAuthCode","key","nextProps","this","onSubmit","registrar","losing_registrar","auth_code","notice","BoxItem","defaultIncrement","defaultDecrement","decrementFromOptions","currOptPos","indexOf","incrementFromOptions","debounce","func","getNext","canChange","timeout","wait","num","clearTimeout","NumberSelector","_c","_c3","changeHandler","_ref$decrement","decrement","_ref$disabled","disabled","_ref$increment","increment","min","_ref$options","canIncrement","canDecrement","onIncrement","onDecrement","displayText","pluralize","styles","onClick","fasIcon","cartItemTitle","premiumType","cartItemTitleClass","premium_type","bundle_offer_label","RegistrationComponents","showPrimaryToggle","component","itemTypeLabel","afterMarketNote","icon","note","numberToCurrency","iconClass","star","registrationLabel","DomainBundleTermline","PremiumTermLine","PrimaryToggleLine","TermLine","AccountBalanceComponent","_ref5","proratedMessage","proratedComponent","prorated","transferInLabel","renewalPrice","MailboxComponent","_ref7","highlight","_ref8","instant_savings_label","instant_savings_amount","InstantSavingsComponent","numEmails","num_emails","minEmails","minimum","controls","changeMailboxes","control","mailbox_item","mailbox_type","heading","cost","unit_amount","tagline","quantity","blankIfZero","PersonalEmailComponent","_ref9","_ref9$disabled","changePersonalMailboxes","_ref10","term","term_options","minTerm","Math","maxTerm","term_line","term_label","term_right","changeTerm","_ref11","originalPrice","regular_amount","strike_out_price","text_orange","SubscriptionTermLine","_ref12","current_option","to","plan_id","subscription_term_line","display_option","_ref13","WhoisPrivacy","_this$props","whois_privacy_unsupported","tip","_ref16","isPrimary","htmlId","htmlFor","onOffSlide","changeIsPrimary","instantSavingsPromo","emailHighlight","itemType","description","regType","reg_type","componentType","items1","SurnameComponents","_ref3","renewalLabel","RenewalComponents","_ref6","AuthCode","TransferComponents","_ref4","MailboxUpgradeComponents","SubscriptionRealnamesComponent","headItems","console","items2","personalNameEmailComponents","toggleButton","mailboxes","cs","isEmailComponentId","eachComponent","idx","len","compare_link","mailboxComponents","emailItems","boxProps","onClose","removeCartItem","item3","Box","buildBox","CartItem","counts","emailShown","newProps","showEmailInitially","_this$props2","CartItemView","strictValidation","index","TotalLine","PromoCodeForm","serverError","_useState2","useState","isOpen","promoCode","inputProps","changeServerError","autoFocus","field","isReady","buttonClass","primary","applyPromoCode","ErrorContainer","showReady","innerClass","CartTotals","fee","feeFinder","discount","_className","discountLabel","method","removePromoCode","open","domains","onContinue","aDomainIs","ReactModal","style","content","width","border","borderRadius","padding","left","right","top","bottom","marginLeft","marginRight","height","overlay","backgroundColor","onRequestClose","shouldCloseOnOverlayClick","featuresHtml","maxWidth","background","outline","fromHTML","footerButtons","optInByDefault","onRemoveBundles","buttons","unshift","appElement","CartDebug","clear","fontFamily","fontSize","hasBundle","CartItems","AsideHelp","supportOpen","ClaimsPopup","claimsDomains","closeClaimsPopup","EmailOptionsPopup","emailComparisonIsOpen","closeEmailComparison","BundleNoticePopup","closeBundlePopup","removeDomainBundles","bundleModalIsOpen","bundleOptInByDefault","checkoutNotice","ViewCartApp","call","instant_savings_promo","checkout_notice","bundle_opt_in_by_default","buildActions","_this$state","propsToMerge","ViewCart","_this2","names","_this3","undefinedAction","bind","newItems","_this4","whois_privacy","params","full","optimisticUpdateItem","updateFirstComponent","setCart","_this5","is_primary","_this6","_this7","mailboxType","ps","origAddons","addons","_this8","_value$split2","regular","mailplus","_this9","_this10","cartDisplayToName","optimisticDeleteItem","_this11","_this12","_this13","invalidIndex","findIndex","need_auth_code","box","animate","scrollTop","offset","focus","cartTotal","showClaimDialog","_this14","prop","_set","node","addEventListener","closeButton","assign","_len","_key","hours","days","times","addr","farIcon","RenewResults","_Component","initCartData","terms","inCart","closeDomain","updateTerm","addToCart","removeFromCart","_createClass","parseInt","alert","RenewResultsPage","Component","SearchForm","ResultList","MiniCart","onRemoveFromCart","_Component2","_super2","overriddenTerm","termUpdate","Renewable","NotRenewable","reason","ext","parts","extension","toUpperCase","reasonForStatus","renderItem","_Component3","_super3","_this$props3","renderMailbox","RenewableInfo","termOptions","tieredPrice","paddingTop","paddingBottom","_Component4","_super4","initRenewals","refs","form","ref","SearchInput","tabIndex","PricingTable","filterText","tldType","startCategory","start_category","initial_discount","narrowCol","narrow","querySelector","handleResize","isNarrow","offsetWidth","discountOptions","event","rows","colSpan","tldTypeAction","eventTypeAction","hl","prices","pricesToRender","periodsToHypens","linkOrName","lander","currency","narrowTable","wideTable","keys","searchTerm","tLen","eLen","outer","j","nch","charCodeAt","naiveFuzzySearch","filterSubstring","splitNameA","splitNameB","row","tldData","new_price","renew","transfer","fromNetwork","titleToName","cls","fmt","parseFloat","toFixed","renderFilters","renderTable","checkoutProps","dataProps","getAttribute","parse","initLookup","initViewCart","initRenewResults","initPricing","CheckoutApp","initialState","initSignin","initCheckout","braintree","initBraintree","initCartCheckout","createStore","rootReducer","compose","middleware","createReduxEnhancer","attachReduxState","bindActionCreators","braintreeActions","initBraintreeClient","braintree_client_id","init","VISIBLE_CLASS","menu","menuTrigger","classList","remove","stopPropagation","contains","pmatch","elem","NodeList","prototype","MENU_VISIBLE_CLASS","menuTriggers","querySelectorAll","body","trigger","startLoading","stopLoading","confirmNavigation","cancelNavigation","goto","notifyEnteredStep","notifyUnsaved","isUnsaved","redirectToNextStep","submitRegistrationData","submitTldData","submitMailboxData","submitBillingData","submitOrder","selectAccountMode","formType","successfulSignin","optInNewsletter","refreshCheckoutState","enteredStep","createAccount","agreeToTerms","startGlobalSignin","signinRequest","signinResponse","serverResponseJSON","forgotUsername","forgotPassword","signinCancel","startResendSms","resendSmsRequest","resendSmsCancel","resendSmsResponse","sendTwoFactorCode","twoFactorResponse","twoFactorStartRecovery","twoFactorRecoveryRequest","twoFactorRecoveryResponse","twoFactorCancelRecovery","submitPasswordRecovery","passwordRecoveryResponse","confirmSkipSignin","cancelSkipSignin","skipSignin","unSkipSignin","signinRemoteError","mainSigninSuccess","toggleAccountForm","goToStep","initTokenRequest","initResendTokenRequest","initTokenResponse","submitTokenRequest","submitTokenResponse","setTokenError","clearTokenError","initUserSelectRequest","showEmailConfirmation","editEmailConfirmation","submitEmailUpdate","showCodeVerification","submitVerificationCode","setVerificationError","goBack","isStepEditable","curry","steps","stepName","stepNames","validities","statuses","_step2","seenPending","_iterator2","statesToValidities","states","stepState","stepStates","App","Provider","header","itemList","summary","CheckoutMiniCart","summaryItems","renderItemName","renderSubItems","renderCartSubtotal","renderCartSummaryItem","renderCartTotal","renderCheckoutSummary","cartProps","mapItems","transition","CSSTransition","onEmptyCart","transitionName","enter","exit","TransitionGroup","fadeSlide","renderNote","classNames","fadeSlideList","renderLookupCartItem","renderLookupSummary","componentData","componentIndex","priceSpans","fontWeight","CheckoutMain","oldProps","signedIn","oldItems","secondaryNav","_$2","replaceWith","div","h1","connect","asMutable","deep","isSignedIn","tick","leaveClass","enterClass","enterHeight","_he","he","Crossfade","inTransition","child1","fadeInEditor","fadeInViewer","waitForHeights","eheight","vheight","crossFade","loop","_this4$state","editorActive","h2","enterStyle","leaveStyle","child2","_this$props$mainStyle","mainStyle","eref","offsetHeight","vref","main","display","SectionContent","stepIsActive","stepIsCompleted","viewer","editor","v","Section","_this$props$stepData","stepData","stepIsLocked","locked","sectionProps","editButton","stepIsEditable","onEdit","forceEdit","defaultButton","button","makeEditButton","section","AccountInfo","elts","dt","dd","dl","fullName","first","last","first_name","last_name","Summary","Button","SigninForm","fields","cancelButton","_this$props$actions","showPassword","hasError","forgotUsernameButton","forgotPasswordButton","Fragment","ManagedForm","handleSubmit","FormError","customizer","link","TextField","help","PasswordField","show","CheckboxField","float","SubmitButton","magicSigninEnabled","MagicSigninLink","fieldType","initialValues","validator","presence","SigninEmailForm","SigninTokenForm","tokenError","VerificationError","formError","VerificationMessage","VerificationCodeInput","updateCode","VerificationCodeControls","onBack","onResend","validate","ForgotUsername","p","EmailField","ForgotPassword","TwoFactorSms","resendConfirm","twoFactorCode","resendActions","mobile","span","btnLink","cancelResend","askResend","recoveryButton","resendState","TwoFactorApp","TwoFactorEmail","two_factor_email_form","_","VerificationHolder","verification_holder","recovery_code_button","resend_button","TwoFactorRecovery","AccountForm","accountForm","canSkip","confirmSignOut","childForms","renderForm","formName","signinForm","verificationRequired","CreateAccountWizard","skipSigninButton","_this$props4","numSigninFailures","StandAloneTosForm","TosForm","AccountStep","skipped","renderEditButton","AccountSkipped","_renderForm","tosForm","formData","can_skip","signinActions","checkoutActions","fmtAddress","address1","address2","city","zip","country","notNull","x","fmtCreditCard","card_number","lastTwo","cardType","fmtMinimalCreditCard","str","card","cardTypes","card_type","findCardType","cardInfo","last4","slice","expires","expiry_month","expiry_year","visa","mastercard","discover","amex","RegistrationInfo","org_name","phone","orgNameRequired","fax","showOrgName","FormButtons","onCancel","editMode","notifyChanges","Notifier","isChanged","mapDispatchToProps","RegistrationForm","notifySubmitErrors","euRegType","onlyEuDomains","countries","ownerCountries","countryOptions","allCountries","owner_countries","stateInfo","stateOptions","owner_states","cityOptions","owner_cities","faxLabel","fax_required","SelectField","ComboField","PhoneField","handleCancel","asciiOnly","ascii_only","faxRequired","stateRequired","postalCode","onlyEu","numRegistrations","numEu","disclaimer","RegistrationStep","BillingInfo","makeItems","payMethod","pay_method","existingPayment","payment_on_file","full_name","name_on_card","ppe_email","RadioGroup","input","toFieldProps","BillingForm","formValues","showTerms","requiresCardAgreement","braintreeData","updateFormValues","nonce","details","device_data","deviceData","cardAgreement","CheckoutCardAgreement","card_agreement","currentValues","wantSaveAsDefault","collectingCreditCard","braintreeIsActive","braintreeIsValid","isValid","updateReadyState","clientIsValid","needHostedFields","submitText","cardForm","BraintreeFields","active","submitToBraintree","brainTreeSuccessHandler","paymentOptions","PaymentFields","AddressFields","modal","save_as_default","PayPalBilling","ApplePayBilling","_this$renderCardForm","renderCardForm","agree","validity","number","expirationDate","cvv","NewCreditCardFields","ExistingCreditCardFields","changeCard","BraintreeCreditCardInput","BraintreeExpireDateInput","BraintreeCVVInput","conClass","container","Validity","grade","changeCardButton","countryVal","fixState","saveAsDefault","paypalIsOpen","paypalIsReady","BoringBilling","PaypalButton","logo","paypalLogo","applePayAction","paymentButton","submit","marginTop","braintreeProxy","paymentSourceRules","BillingStep","cardData","billingData","queries","ConfirmSpinner","svg","dangerouslySetInnerHTML","__html","margin","overflow","lineHeight","ConfirmForm","accountSpend","isZcr","wantEmail","zcrReceiptWanted","BillingSummary","zcrBuyerEmail","agreeTerms","linkToTargetBlank","getElementsByClassName","AccountSpend","methodName","available","spend","payable","ConfirmStep","braintreeDeviceData","isZcrOrder","braintreeDeviceDataCollected","businessItems","individualItems","displayLabels","displayItems","_item","required","titleize","displayValue","param","shortCode","opt","displayTerms","labelAndVal","displayValueFromOptions","TldEuSummary","TldQuestion","opts","ecoTLDQuestion","ingTLDQuestion","idMusicLink","marginBottom","musicTLDQuestion","encryptedTLDQuestion","match","ScrollingAgreement","CiraAgreement","CiraLegalTypeWarning","registrant_name","legal_type","isIndividualType","isIndividualName","markup","isOrganizationType","isOrganizationName","TldFormCira","setErrors","cira","_stepData$meta$params","meta","regNameParam","legalTypeParam","validCiraName","legalType","NgoAgreement","h3","ol","li","TldFormNgo","euRegistrationType","citizenshipRequired","ownerCountry","TldFormEu","businessKeys","individualKeys","eu_registration_type","entries","owner_country","restrictions","countryNameDictionary","showCountryOfCitizenship","country_of_citizenship","ownProps","TldFormGeneric","questions","requiredFields","rules","TldForm","_excluded2","tldSubmit","TldInfo","fieldNames","extraCiraFields","MailboxForm","primaryDomainName","StaticField","forward_to","forwardTo","MailboxStep","MailboxInfo","partnerName","ConfirmNavigation","boxShadow","onConfirm","CheckoutAccordion","prevProps","unsaved","currentStep","_h","reactClass","stepClasses","getClassForStep","editable","handleEdit","TldStep","confirm","t","hasOwnProperty","o","defineProperty","Symbol","iterator","asyncIterator","u","toStringTag","enumerable","configurable","writable","Generator","create","Context","makeInvokeMethod","tryCatch","arg","l","y","GeneratorFunction","GeneratorFunctionPrototype","d","getPrototypeOf","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","TypeError","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","setPrototypeOf","__proto__","awrap","async","reverse","pop","charAt","rval","handle","asyncGeneratorStep","gen","_next","_throw","info","UserRow","user","fn","args","users","ShowEmailConfirmation","prompt","EditEmailConfirmation","EmailForm","emailVerificationEnabled","hideHeader","SigninVerification","sendEmail","sendVerificationEmailEdit","useEffect","VerificationCodeForm","SigninMain","footer","_signin$verification","_signin$verification2","UserSelect","NewPasswordForm","setNewPassword","CreatePasswordField","TwoFactorAppForm","TwoFactorSmsForm","TwoFactorRecoveryForm","BadToken","Link","PasswordReset","withLoading","twoFactorSms","twoFactorApp","setError","setNote","setPage","handleNewPassword","handleTwoFactorCodeEntered","handleSignedIn","handleRecovery","handleRecoveryCodeEntered","Router","Route","path","IndexRoute","onEnter","gotoNextStep","nextState","replaceState","routerState","checkoutState","enteringInvalidState","Filters","toggle","OfferPopup","amLoading","baseStyle","transform","zIndex","matchMedia","matches","_this$props$model","_this$modalContent","modalContent","src","learnMore","DALogo","SedoLogo","offerDomain","trackName","hideStatusBar","estMax","inProgress","registries","progressMax","percent","mkStatus","progressInfo","sectionClass","newSearch","PartnerHeading","ProgressBar","renderExactMatch","Results","miniCart","itemCount","itemText","landing_page_variant","offer","PartnerLogo","partnerHeading","q","defaultValue","hiddenInput","only","message","searching","found","progressMessage","leave","renderCategory","Category","_Component5","_super5","rawMarkup","renderTopPicksCategory","renderCartItem","onRemove","subItems","k","initSubItems","voucherEligible","voucher_eligible","subComponents","regular_net_amount","_getMailboxData","getMailboxData","pendingStep","subHeading","ulClass","baseAssignValue","eq","object","Stack","assignMergeValue","baseFor","baseMergeDeep","isObject","keysIn","safeGet","baseMerge","source","srcIndex","stack","srcValue","newValue","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","isArguments","isArrayLikeObject","isBuffer","isFunction","isPlainObject","isTypedArray","toPlainObject","mergeFunc","objValue","stacked","isCommon","isArr","isBuff","isTyped","arrayMap","baseRest","isIterateeCall","assigner","sources","guard","baseIteratee","isArrayLike","findIndexFunc","collection","predicate","fromIndex","iterable","iteratee","createFind","baseFindIndex","toInteger","nativeMax","array","convert","baseIndexOf","isString","isObjectLike","baseGetTag","createAssigner","copyObject","baseValues"],"sourceRoot":""}